Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -3,3 +3,4 @@
|
|||||||
# SPDX-License-Identifier: MPL-2.0
|
# SPDX-License-Identifier: MPL-2.0
|
||||||
ko_fi: mawoka
|
ko_fi: mawoka
|
||||||
liberapay: Mawoka
|
liberapay: Mawoka
|
||||||
|
github: mawoka-myblock
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ repos:
|
|||||||
# - id: check-added-large-files
|
# - id: check-added-large-files
|
||||||
|
|
||||||
- repo: https://github.com/psf/black
|
- repo: https://github.com/psf/black
|
||||||
rev: 23.7.0
|
rev: 23.9.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
rev: 'v3.0.1' # Use the sha / tag you want to point at
|
rev: 'v3.0.3' # Use the sha / tag you want to point at
|
||||||
hooks:
|
hooks:
|
||||||
- id: prettier
|
- id: prettier
|
||||||
files: "^frontend/"
|
files: "^frontend/"
|
||||||
|
|||||||
Generated
+254
-182
@@ -135,11 +135,11 @@
|
|||||||
},
|
},
|
||||||
"anyio": {
|
"anyio": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780",
|
"sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f",
|
||||||
"sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5"
|
"sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==3.7.1"
|
"version": "==4.0.0"
|
||||||
},
|
},
|
||||||
"argon2-cffi": {
|
"argon2-cffi": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -193,11 +193,11 @@
|
|||||||
},
|
},
|
||||||
"async-timeout": {
|
"async-timeout": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15",
|
"sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f",
|
||||||
"sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
"sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==4.0.2"
|
"version": "==4.0.3"
|
||||||
},
|
},
|
||||||
"asyncpg": {
|
"asyncpg": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -280,7 +280,7 @@
|
|||||||
"sha256:3b3d076e824ae979b271b4d497c90514c2b218811f76b0c368fb69da2556fe07",
|
"sha256:3b3d076e824ae979b271b4d497c90514c2b218811f76b0c368fb69da2556fe07",
|
||||||
"sha256:88e5d91be5b2dff9c0748ba515774c3421088922d9e77c39f8742eb41cb7db88"
|
"sha256:88e5d91be5b2dff9c0748ba515774c3421088922d9e77c39f8742eb41cb7db88"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.8' and python_version < '4'",
|
"markers": "python_version >= '3.8' and python_version < '4.0'",
|
||||||
"version": "==3.0.2"
|
"version": "==3.0.2"
|
||||||
},
|
},
|
||||||
"cbor2": {
|
"cbor2": {
|
||||||
@@ -485,11 +485,11 @@
|
|||||||
},
|
},
|
||||||
"click": {
|
"click": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd",
|
"sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
|
||||||
"sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"
|
"sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==8.1.6"
|
"version": "==8.1.7"
|
||||||
},
|
},
|
||||||
"colorama": {
|
"colorama": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -507,32 +507,32 @@
|
|||||||
},
|
},
|
||||||
"cryptography": {
|
"cryptography": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306",
|
"sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67",
|
||||||
"sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84",
|
"sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311",
|
||||||
"sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47",
|
"sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8",
|
||||||
"sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d",
|
"sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13",
|
||||||
"sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116",
|
"sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143",
|
||||||
"sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207",
|
"sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f",
|
||||||
"sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81",
|
"sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829",
|
||||||
"sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087",
|
"sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd",
|
||||||
"sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd",
|
"sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397",
|
||||||
"sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507",
|
"sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac",
|
||||||
"sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858",
|
"sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d",
|
||||||
"sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae",
|
"sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a",
|
||||||
"sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34",
|
"sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839",
|
||||||
"sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906",
|
"sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e",
|
||||||
"sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd",
|
"sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6",
|
||||||
"sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922",
|
"sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9",
|
||||||
"sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7",
|
"sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860",
|
||||||
"sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4",
|
"sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca",
|
||||||
"sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574",
|
"sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91",
|
||||||
"sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1",
|
"sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d",
|
||||||
"sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c",
|
"sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714",
|
||||||
"sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e",
|
"sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb",
|
||||||
"sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"
|
"sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==41.0.3"
|
"version": "==41.0.4"
|
||||||
},
|
},
|
||||||
"databases": {
|
"databases": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -544,11 +544,11 @@
|
|||||||
},
|
},
|
||||||
"dnspython": {
|
"dnspython": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:5b7488477388b8c0b70a8ce93b227c5603bc7b77f1565afe8e729c36c51447d7",
|
"sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8",
|
||||||
"sha256:c33971c79af5be968bb897e95c2448e11a645ee84d93b265ce0b7aabe5dfdca8"
|
"sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.8' and python_version < '4'",
|
"markers": "python_version >= '3.8' and python_version < '4.0'",
|
||||||
"version": "==2.4.1"
|
"version": "==2.4.2"
|
||||||
},
|
},
|
||||||
"ecdsa": {
|
"ecdsa": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -653,6 +653,7 @@
|
|||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a",
|
"sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a",
|
||||||
"sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a",
|
"sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a",
|
||||||
|
"sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1",
|
||||||
"sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43",
|
"sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43",
|
||||||
"sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33",
|
"sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33",
|
||||||
"sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8",
|
"sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8",
|
||||||
@@ -678,6 +679,7 @@
|
|||||||
"sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91",
|
"sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91",
|
||||||
"sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5",
|
"sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5",
|
||||||
"sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9",
|
"sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9",
|
||||||
|
"sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417",
|
||||||
"sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8",
|
"sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8",
|
||||||
"sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b",
|
"sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b",
|
||||||
"sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6",
|
"sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6",
|
||||||
@@ -701,8 +703,10 @@
|
|||||||
"sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7",
|
"sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7",
|
||||||
"sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75",
|
"sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75",
|
||||||
"sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae",
|
"sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae",
|
||||||
|
"sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47",
|
||||||
"sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b",
|
"sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b",
|
||||||
"sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470",
|
"sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470",
|
||||||
|
"sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c",
|
||||||
"sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564",
|
"sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564",
|
||||||
"sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9",
|
"sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9",
|
||||||
"sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099",
|
"sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099",
|
||||||
@@ -919,8 +923,11 @@
|
|||||||
"sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e",
|
"sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e",
|
||||||
"sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431",
|
"sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431",
|
||||||
"sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686",
|
"sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686",
|
||||||
|
"sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c",
|
||||||
"sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559",
|
"sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559",
|
||||||
"sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc",
|
"sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc",
|
||||||
|
"sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb",
|
||||||
|
"sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939",
|
||||||
"sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c",
|
"sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c",
|
||||||
"sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0",
|
"sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0",
|
||||||
"sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4",
|
"sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4",
|
||||||
@@ -928,6 +935,7 @@
|
|||||||
"sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575",
|
"sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575",
|
||||||
"sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba",
|
"sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba",
|
||||||
"sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d",
|
"sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d",
|
||||||
|
"sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd",
|
||||||
"sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3",
|
"sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3",
|
||||||
"sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00",
|
"sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00",
|
||||||
"sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155",
|
"sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155",
|
||||||
@@ -936,6 +944,7 @@
|
|||||||
"sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f",
|
"sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f",
|
||||||
"sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8",
|
"sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8",
|
||||||
"sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b",
|
"sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b",
|
||||||
|
"sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007",
|
||||||
"sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24",
|
"sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24",
|
||||||
"sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea",
|
"sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea",
|
||||||
"sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198",
|
"sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198",
|
||||||
@@ -943,9 +952,12 @@
|
|||||||
"sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee",
|
"sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee",
|
||||||
"sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be",
|
"sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be",
|
||||||
"sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2",
|
"sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2",
|
||||||
|
"sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1",
|
||||||
"sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707",
|
"sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707",
|
||||||
"sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6",
|
"sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6",
|
||||||
|
"sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c",
|
||||||
"sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58",
|
"sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58",
|
||||||
|
"sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823",
|
||||||
"sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779",
|
"sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779",
|
||||||
"sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636",
|
"sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636",
|
||||||
"sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c",
|
"sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c",
|
||||||
@@ -964,7 +976,9 @@
|
|||||||
"sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9",
|
"sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9",
|
||||||
"sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57",
|
"sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57",
|
||||||
"sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc",
|
"sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc",
|
||||||
"sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"
|
"sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc",
|
||||||
|
"sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2",
|
||||||
|
"sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==2.1.3"
|
"version": "==2.1.3"
|
||||||
@@ -1166,70 +1180,68 @@
|
|||||||
},
|
},
|
||||||
"psycopg2-binary": {
|
"psycopg2-binary": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:02c0f3757a4300cf379eb49f543fb7ac527fb00144d39246ee40e1df684ab514",
|
"sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4",
|
||||||
"sha256:02c6e3cf3439e213e4ee930308dc122d6fb4d4bea9aef4a12535fbd605d1a2fe",
|
"sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08",
|
||||||
"sha256:0645376d399bfd64da57148694d78e1f431b1e1ee1054872a5713125681cf1be",
|
"sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b",
|
||||||
"sha256:0892ef645c2fabb0c75ec32d79f4252542d0caec1d5d949630e7d242ca4681a3",
|
"sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd",
|
||||||
"sha256:0d236c2825fa656a2d98bbb0e52370a2e852e5a0ec45fc4f402977313329174d",
|
"sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb",
|
||||||
"sha256:0e0f754d27fddcfd74006455b6e04e6705d6c31a612ec69ddc040a5468e44b4e",
|
"sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63",
|
||||||
"sha256:15e2ee79e7cf29582ef770de7dab3d286431b01c3bb598f8e05e09601b890081",
|
"sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63",
|
||||||
"sha256:1876843d8e31c89c399e31b97d4b9725a3575bb9c2af92038464231ec40f9edb",
|
"sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379",
|
||||||
"sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c",
|
"sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c",
|
||||||
"sha256:2ab652e729ff4ad76d400df2624d223d6e265ef81bb8aa17fbd63607878ecbee",
|
"sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4",
|
||||||
"sha256:30637a20623e2a2eacc420059be11527f4458ef54352d870b8181a4c3020ae6b",
|
"sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5",
|
||||||
"sha256:34b9ccdf210cbbb1303c7c4db2905fa0319391bd5904d32689e6dd5c963d2ea8",
|
"sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff",
|
||||||
"sha256:38601cbbfe600362c43714482f43b7c110b20cb0f8172422c616b09b85a750c5",
|
"sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e",
|
||||||
"sha256:441cc2f8869a4f0f4bb408475e5ae0ee1f3b55b33f350406150277f7f35384fc",
|
"sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1",
|
||||||
"sha256:498807b927ca2510baea1b05cc91d7da4718a0f53cb766c154c417a39f1820a0",
|
"sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d",
|
||||||
"sha256:4ac30da8b4f57187dbf449294d23b808f8f53cad6b1fc3623fa8a6c11d176dd0",
|
"sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89",
|
||||||
"sha256:4c727b597c6444a16e9119386b59388f8a424223302d0c06c676ec8b4bc1f963",
|
"sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522",
|
||||||
"sha256:4d67fbdaf177da06374473ef6f7ed8cc0a9dc640b01abfe9e8a2ccb1b1402c1f",
|
"sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151",
|
||||||
"sha256:4dfb4be774c4436a4526d0c554af0cc2e02082c38303852a36f6456ece7b3503",
|
"sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44",
|
||||||
"sha256:4ea29fc3ad9d91162c52b578f211ff1c931d8a38e1f58e684c45aa470adf19e2",
|
"sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372",
|
||||||
"sha256:51537e3d299be0db9137b321dfb6a5022caaab275775680e0c3d281feefaca6b",
|
"sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad",
|
||||||
"sha256:61b047a0537bbc3afae10f134dc6393823882eb263088c271331602b672e52e9",
|
"sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22",
|
||||||
"sha256:6460c7a99fc939b849431f1e73e013d54aa54293f30f1109019c56a0b2b2ec2f",
|
"sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16",
|
||||||
"sha256:65bee1e49fa6f9cf327ce0e01c4c10f39165ee76d35c846ade7cb0ec6683e303",
|
"sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70",
|
||||||
"sha256:65c07febd1936d63bfde78948b76cd4c2a411572a44ac50719ead41947d0f26b",
|
"sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852",
|
||||||
"sha256:71f14375d6f73b62800530b581aed3ada394039877818b2d5f7fc77e3bb6894d",
|
"sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584",
|
||||||
"sha256:7a40c00dbe17c0af5bdd55aafd6ff6679f94a9be9513a4c7e071baf3d7d22a70",
|
"sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b",
|
||||||
"sha256:7e13a5a2c01151f1208d5207e42f33ba86d561b7a89fca67c700b9486a06d0e2",
|
"sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8",
|
||||||
"sha256:7f0438fa20fb6c7e202863e0d5ab02c246d35efb1d164e052f2f3bfe2b152bd0",
|
"sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42",
|
||||||
"sha256:8122cfc7cae0da9a3077216528b8bb3629c43b25053284cc868744bfe71eb141",
|
"sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec",
|
||||||
"sha256:8338a271cb71d8da40b023a35d9c1e919eba6cbd8fa20a54b748a332c355d896",
|
"sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3",
|
||||||
"sha256:84d2222e61f313c4848ff05353653bf5f5cf6ce34df540e4274516880d9c3763",
|
"sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df",
|
||||||
"sha256:8a6979cf527e2603d349a91060f428bcb135aea2be3201dff794813256c274f1",
|
"sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343",
|
||||||
"sha256:8a76e027f87753f9bd1ab5f7c9cb8c7628d1077ef927f5e2446477153a602f2c",
|
"sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9",
|
||||||
"sha256:964b4dfb7c1c1965ac4c1978b0f755cc4bd698e8aa2b7667c575fb5f04ebe06b",
|
"sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15",
|
||||||
"sha256:9972aad21f965599ed0106f65334230ce826e5ae69fda7cbd688d24fa922415e",
|
"sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a",
|
||||||
"sha256:a8c28fd40a4226b4a84bdf2d2b5b37d2c7bd49486b5adcc200e8c7ec991dfa7e",
|
"sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac",
|
||||||
"sha256:ae102a98c547ee2288637af07393dd33f440c25e5cd79556b04e3fca13325e5f",
|
"sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e",
|
||||||
"sha256:af335bac6b666cc6aea16f11d486c3b794029d9df029967f9938a4bed59b6a19",
|
"sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1",
|
||||||
"sha256:afe64e9b8ea66866a771996f6ff14447e8082ea26e675a295ad3bdbffdd72afb",
|
"sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1",
|
||||||
"sha256:b4b24f75d16a89cc6b4cdff0eb6a910a966ecd476d1e73f7ce5985ff1328e9a6",
|
"sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8",
|
||||||
"sha256:b6c8288bb8a84b47e07013bb4850f50538aa913d487579e1921724631d02ea1b",
|
"sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265",
|
||||||
"sha256:b83456c2d4979e08ff56180a76429263ea254c3f6552cd14ada95cff1dec9bb8",
|
"sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329",
|
||||||
"sha256:bfb13af3c5dd3a9588000910178de17010ebcccd37b4f9794b00595e3a8ddad3",
|
"sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4",
|
||||||
"sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848",
|
"sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8",
|
||||||
"sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365",
|
"sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7",
|
||||||
"sha256:c7e62ab8b332147a7593a385d4f368874d5fe4ad4e341770d4983442d89603e3",
|
"sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a",
|
||||||
"sha256:c83a74b68270028dc8ee74d38ecfaf9c90eed23c8959fca95bd703d25b82c88e",
|
"sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd",
|
||||||
"sha256:cacbdc5839bdff804dfebc058fe25684cae322987f7a38b0168bc1b2df703fb1",
|
"sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea",
|
||||||
"sha256:cf4499e0a83b7b7edcb8dabecbd8501d0d3a5ef66457200f77bde3d210d5debb",
|
"sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9",
|
||||||
"sha256:cfec476887aa231b8548ece2e06d28edc87c1397ebd83922299af2e051cf2827",
|
"sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab",
|
||||||
"sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7",
|
"sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86",
|
||||||
"sha256:d4e6036decf4b72d6425d5b29bbd3e8f0ff1059cda7ac7b96d6ac5ed34ffbacd",
|
"sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f",
|
||||||
"sha256:d57c3fd55d9058645d26ae37d76e61156a27722097229d32a9e73ed54819982a",
|
"sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5",
|
||||||
"sha256:dfa74c903a3c1f0d9b1c7e7b53ed2d929a4910e272add6700c38f365a6002820",
|
"sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06",
|
||||||
"sha256:e3ed340d2b858d6e6fb5083f87c09996506af483227735de6964a6100b4e6a54",
|
"sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3",
|
||||||
"sha256:e78e6e2a00c223e164c417628572a90093c031ed724492c763721c2e0bc2a8df",
|
"sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58",
|
||||||
"sha256:e9182eb20f41417ea1dd8e8f7888c4d7c6e805f8a7c98c1081778a3da2bee3e4",
|
"sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb",
|
||||||
"sha256:e99e34c82309dd78959ba3c1590975b5d3c862d6f279f843d47d26ff89d7d7e1",
|
"sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8",
|
||||||
"sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249",
|
"sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"
|
||||||
"sha256:f81e65376e52f03422e1fb475c9514185669943798ed019ac50410fb4c4df232",
|
|
||||||
"sha256:ffe9dc0a884a8848075e576c1de0290d85a533a9f6e9c4e564f19adf8f6e54a7"
|
|
||||||
],
|
],
|
||||||
"version": "==2.9.6"
|
"version": "==2.9.7"
|
||||||
},
|
},
|
||||||
"py-avataaars-no-png": {
|
"py-avataaars-no-png": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -1298,11 +1310,11 @@
|
|||||||
},
|
},
|
||||||
"pygments": {
|
"pygments": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c",
|
"sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692",
|
||||||
"sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"
|
"sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==2.15.1"
|
"version": "==2.16.1"
|
||||||
},
|
},
|
||||||
"pyopenssl": {
|
"pyopenssl": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -1336,11 +1348,11 @@
|
|||||||
},
|
},
|
||||||
"python-engineio": {
|
"python-engineio": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:67a675569f3e9bb274a8077f3c2068a8fe79cbfcb111cf31ca27b968484fe6c7",
|
"sha256:52499e8ab94fea1a6525ffe872fe7028d04b575799c5fa8e2cf7880e032de42e",
|
||||||
"sha256:b167a1b208fcdce5dbe96a61a6ca22391cfa6715d796c22de93e3adf9c07ae0c"
|
"sha256:a8422e345cd9a21451303380b160742ff02197975b1c3a02cef115febe2b1b20"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.6'",
|
||||||
"version": "==4.5.1"
|
"version": "==4.7.1"
|
||||||
},
|
},
|
||||||
"python-jose": {
|
"python-jose": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -1376,7 +1388,9 @@
|
|||||||
},
|
},
|
||||||
"pyyaml": {
|
"pyyaml": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
"sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5",
|
||||||
"sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
|
"sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
|
||||||
|
"sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df",
|
||||||
"sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
|
"sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
|
||||||
"sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
|
"sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
|
||||||
"sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
|
"sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
|
||||||
@@ -1384,7 +1398,10 @@
|
|||||||
"sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
|
"sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
|
||||||
"sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
|
"sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
|
||||||
"sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
|
"sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
|
||||||
|
"sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290",
|
||||||
|
"sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9",
|
||||||
"sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
|
"sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
|
||||||
|
"sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6",
|
||||||
"sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
|
"sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
|
||||||
"sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
|
"sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
|
||||||
"sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
|
"sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
|
||||||
@@ -1392,9 +1409,12 @@
|
|||||||
"sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
|
"sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
|
||||||
"sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
|
"sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
|
||||||
"sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
|
"sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
|
||||||
|
"sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0",
|
||||||
"sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
|
"sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
|
||||||
"sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
|
"sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
|
||||||
"sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
|
"sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
|
||||||
|
"sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28",
|
||||||
|
"sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4",
|
||||||
"sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
|
"sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
|
||||||
"sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
|
"sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
|
||||||
"sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
|
"sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
|
||||||
@@ -1409,7 +1429,9 @@
|
|||||||
"sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
|
"sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
|
||||||
"sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
|
"sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
|
||||||
"sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
|
"sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
|
||||||
|
"sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54",
|
||||||
"sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
|
"sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
|
||||||
|
"sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b",
|
||||||
"sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
|
"sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
|
||||||
"sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
|
"sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
|
||||||
"sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
|
"sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
|
||||||
@@ -1455,7 +1477,7 @@
|
|||||||
"sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7",
|
"sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7",
|
||||||
"sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"
|
"sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6' and python_version < '4'",
|
"markers": "python_version >= '3.6' and python_version < '4.0'",
|
||||||
"version": "==4.9"
|
"version": "==4.9"
|
||||||
},
|
},
|
||||||
"sentry-sdk": {
|
"sentry-sdk": {
|
||||||
@@ -1468,18 +1490,26 @@
|
|||||||
},
|
},
|
||||||
"setuptools": {
|
"setuptools": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f",
|
"sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87",
|
||||||
"sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"
|
"sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==68.0.0"
|
"version": "==68.2.2"
|
||||||
},
|
},
|
||||||
"shellingham": {
|
"shellingham": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:368bf8c00754fd4f55afb7bbb86e272df77e4dc76ac29dbcbb81a59e9fc15744",
|
"sha256:419c6a164770c9c7cfcaeddfacb3d31ac7a8db0b0f3e9c1287679359734107e9",
|
||||||
"sha256:823bc5fb5c34d60f285b624e7264f4dda254bc803a3774a147bf99c0e3004a28"
|
"sha256:cb4a6fec583535bc6da17b647dd2330cf7ef30239e05d547d99ae3705fd0f7f8"
|
||||||
],
|
],
|
||||||
"version": "==1.5.0.post1"
|
"version": "==1.5.3"
|
||||||
|
},
|
||||||
|
"simple-websocket": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:0ab46c8ffa51a46dc95eed94608b3b722841c0bf849def71d465c5c356679c82",
|
||||||
|
"sha256:62c36bacfd75cc867927bb39d91951342a7234bdfe20f41dd969a3b8bb1413b7"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.6'",
|
||||||
|
"version": "==0.10.1"
|
||||||
},
|
},
|
||||||
"six": {
|
"six": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -1573,19 +1603,19 @@
|
|||||||
},
|
},
|
||||||
"typing-extensions": {
|
"typing-extensions": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36",
|
"sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0",
|
||||||
"sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"
|
"sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==4.7.1"
|
"version": "==4.8.0"
|
||||||
},
|
},
|
||||||
"urllib3": {
|
"urllib3": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11",
|
"sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594",
|
||||||
"sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"
|
"sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==2.0.4"
|
"version": "==2.0.5"
|
||||||
},
|
},
|
||||||
"uvicorn": {
|
"uvicorn": {
|
||||||
"extras": [
|
"extras": [
|
||||||
@@ -1635,30 +1665,30 @@
|
|||||||
},
|
},
|
||||||
"watchfiles": {
|
"watchfiles": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0089c6dc24d436b373c3c57657bf4f9a453b13767150d17284fc6162b2791911",
|
"sha256:007dcc4a401093010b389c044e81172c8a2520dba257c88f8828b3d460c6bb38",
|
||||||
"sha256:09ea3397aecbc81c19ed7f025e051a7387feefdb789cf768ff994c1228182fda",
|
"sha256:08dc702529bb06a2b23859110c214db245455532da5eaea602921687cfcd23db",
|
||||||
"sha256:176a9a7641ec2c97b24455135d58012a5be5c6217fc4d5fef0b2b9f75dbf5154",
|
"sha256:0d82dbc1832da83e441d112069833eedd4cf583d983fb8dd666fbefbea9d99c0",
|
||||||
"sha256:18b28f6ad871b82df9542ff958d0c86bb0d8310bb09eb8e87d97318a3b5273af",
|
"sha256:13f995d5152a8ba4ed7c2bbbaeee4e11a5944defc7cacd0ccb4dcbdcfd78029a",
|
||||||
"sha256:20b44221764955b1e703f012c74015306fb7e79a00c15370785f309b1ed9aa8d",
|
"sha256:3796312bd3587e14926013612b23066912cf45a14af71cf2b20db1c12dadf4e9",
|
||||||
"sha256:3d7d267d27aceeeaa3de0dd161a0d64f0a282264d592e335fff7958cc0cbae7c",
|
"sha256:5392dd327a05f538c56edb1c6ebba6af91afc81b40822452342f6da54907bbdf",
|
||||||
"sha256:5471582658ea56fca122c0f0d0116a36807c63fefd6fdc92c71ca9a4491b6b48",
|
"sha256:570848706440373b4cd8017f3e850ae17f76dbdf1e9045fc79023b11e1afe490",
|
||||||
"sha256:5569fc7f967429d4bc87e355cdfdcee6aabe4b620801e2cf5805ea245c06097c",
|
"sha256:608cd94a8767f49521901aff9ae0c92cc8f5a24d528db7d6b0295290f9d41193",
|
||||||
"sha256:68dce92b29575dda0f8d30c11742a8e2b9b8ec768ae414b54f7453f27bdf9545",
|
"sha256:728575b6b94c90dd531514677201e8851708e6e4b5fe7028ac506a200b622019",
|
||||||
"sha256:79c533ff593db861ae23436541f481ec896ee3da4e5db8962429b441bbaae16e",
|
"sha256:7d4e66a857621584869cfbad87039e65dadd7119f0d9bb9dbc957e089e32c164",
|
||||||
"sha256:7f3920b1285a7d3ce898e303d84791b7bf40d57b7695ad549dc04e6a44c9f120",
|
"sha256:835df2da7a5df5464c4a23b2d963e1a9d35afa422c83bf4ff4380b3114603644",
|
||||||
"sha256:91633e64712df3051ca454ca7d1b976baf842d7a3640b87622b323c55f3345e7",
|
"sha256:87d9e1f75c4f86c93d73b5bd1ebe667558357548f11b4f8af4e0e272f79413ce",
|
||||||
"sha256:945be0baa3e2440151eb3718fd8846751e8b51d8de7b884c90b17d271d34cae8",
|
"sha256:89d1de8218874925bce7bb2ae9657efc504411528930d7a83f98b1749864f2ef",
|
||||||
"sha256:9afd0d69429172c796164fd7fe8e821ade9be983f51c659a38da3faaaaac44dc",
|
"sha256:99f4c65fd2fce61a571b2a6fcf747d6868db0bef8a934e8ca235cc8533944d95",
|
||||||
"sha256:9c75eff897786ee262c9f17a48886f4e98e6cfd335e011c591c305e5d083c056",
|
"sha256:9a0351d20d03c6f7ad6b2e8a226a5efafb924c7755ee1e34f04c77c3682417fa",
|
||||||
"sha256:b538014a87f94d92f98f34d3e6d2635478e6be6423a9ea53e4dd96210065e193",
|
"sha256:9b5c8d3be7b502f8c43a33c63166ada8828dbb0c6d49c8f9ce990a96de2f5a49",
|
||||||
"sha256:b6577b8c6c8701ba8642ea9335a129836347894b666dd1ec2226830e263909d3",
|
"sha256:a03d1e6feb7966b417f43c3e3783188167fd69c2063e86bad31e62c4ea794cc5",
|
||||||
"sha256:c0376deac92377817e4fb8f347bf559b7d44ff556d9bc6f6208dd3f79f104aaf",
|
"sha256:b17d4176c49d207865630da5b59a91779468dd3e08692fe943064da260de2c7c",
|
||||||
"sha256:cae3dde0b4b2078f31527acff6f486e23abed307ba4d3932466ba7cdd5ecec79",
|
"sha256:d0002d81c89a662b595645fb684a371b98ff90a9c7d8f8630c82f0fde8310458",
|
||||||
"sha256:cb5d45c4143c1dd60f98a16187fd123eda7248f84ef22244818c18d531a249d1",
|
"sha256:d97db179f7566dcf145c5179ddb2ae2a4450e3a634eb864b09ea04e68c252e8e",
|
||||||
"sha256:d9b073073e048081e502b6c6b0b88714c026a1a4c890569238d04aca5f9ca74b",
|
"sha256:e43af4464daa08723c04b43cf978ab86cc55c684c16172622bdac64b34e36af0",
|
||||||
"sha256:fac19dc9cbc34052394dbe81e149411a62e71999c0a19e1e09ce537867f95ae0"
|
"sha256:eccc8942bcdc7d638a01435d915b913255bbd66f018f1af051cd8afddb339ea3"
|
||||||
],
|
],
|
||||||
"version": "==0.19.0"
|
"version": "==0.20.0"
|
||||||
},
|
},
|
||||||
"webauthn": {
|
"webauthn": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -1750,6 +1780,14 @@
|
|||||||
],
|
],
|
||||||
"version": "==11.0.3"
|
"version": "==11.0.3"
|
||||||
},
|
},
|
||||||
|
"wsproto": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065",
|
||||||
|
"sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.7'",
|
||||||
|
"version": "==1.2.0"
|
||||||
|
},
|
||||||
"xlsxwriter": {
|
"xlsxwriter": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:331508ff39d610ecdaf979e458840bc1eab6e6a02cfd5d08f044f0f73636236f",
|
"sha256:331508ff39d610ecdaf979e458840bc1eab6e6a02cfd5d08f044f0f73636236f",
|
||||||
@@ -1993,11 +2031,11 @@
|
|||||||
},
|
},
|
||||||
"cfgv": {
|
"cfgv": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426",
|
"sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9",
|
||||||
"sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"
|
"sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"
|
||||||
],
|
],
|
||||||
"markers": "python_full_version >= '3.6.1'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==3.3.1"
|
"version": "==3.4.0"
|
||||||
},
|
},
|
||||||
"charset-normalizer": {
|
"charset-normalizer": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -2082,11 +2120,11 @@
|
|||||||
},
|
},
|
||||||
"click": {
|
"click": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd",
|
"sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
|
||||||
"sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"
|
"sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==8.1.6"
|
"version": "==8.1.7"
|
||||||
},
|
},
|
||||||
"coverage": {
|
"coverage": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -2163,11 +2201,11 @@
|
|||||||
},
|
},
|
||||||
"filelock": {
|
"filelock": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81",
|
"sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4",
|
||||||
"sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec"
|
"sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==3.12.2"
|
"version": "==3.12.4"
|
||||||
},
|
},
|
||||||
"flake8": {
|
"flake8": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -2177,13 +2215,21 @@
|
|||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==6.0.0"
|
"version": "==6.0.0"
|
||||||
},
|
},
|
||||||
|
"h11": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d",
|
||||||
|
"sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.7'",
|
||||||
|
"version": "==0.14.0"
|
||||||
|
},
|
||||||
"identify": {
|
"identify": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:7243800bce2f58404ed41b7c002e53d4d22bcf3ae1b7900c2d7aefd95394bf7f",
|
"sha256:24437fbf6f4d3fe6efd0eb9d67e24dd9106db99af5ceb27996a5f7895f24bf1b",
|
||||||
"sha256:c22a8ead0d4ca11f1edd6c9418c3220669b3b7533ada0a0ffa6cc0ef85cf9b54"
|
"sha256:d43d52b86b15918c137e3a74fff5224f60385cd0e9c38e99d07c257f02f151a5"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.8'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==2.5.26"
|
"version": "==2.5.29"
|
||||||
},
|
},
|
||||||
"idna": {
|
"idna": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -2251,11 +2297,11 @@
|
|||||||
},
|
},
|
||||||
"pluggy": {
|
"pluggy": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849",
|
"sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12",
|
||||||
"sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"
|
"sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==1.2.0"
|
"version": "==1.3.0"
|
||||||
},
|
},
|
||||||
"pre-commit": {
|
"pre-commit": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -2314,11 +2360,11 @@
|
|||||||
},
|
},
|
||||||
"python-engineio": {
|
"python-engineio": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:67a675569f3e9bb274a8077f3c2068a8fe79cbfcb111cf31ca27b968484fe6c7",
|
"sha256:52499e8ab94fea1a6525ffe872fe7028d04b575799c5fa8e2cf7880e032de42e",
|
||||||
"sha256:b167a1b208fcdce5dbe96a61a6ca22391cfa6715d796c22de93e3adf9c07ae0c"
|
"sha256:a8422e345cd9a21451303380b160742ff02197975b1c3a02cef115febe2b1b20"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.6'",
|
||||||
"version": "==4.5.1"
|
"version": "==4.7.1"
|
||||||
},
|
},
|
||||||
"python-socketio": {
|
"python-socketio": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@@ -2330,7 +2376,9 @@
|
|||||||
},
|
},
|
||||||
"pyyaml": {
|
"pyyaml": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
"sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5",
|
||||||
"sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
|
"sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
|
||||||
|
"sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df",
|
||||||
"sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
|
"sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
|
||||||
"sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
|
"sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
|
||||||
"sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
|
"sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
|
||||||
@@ -2338,7 +2386,10 @@
|
|||||||
"sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
|
"sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
|
||||||
"sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
|
"sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
|
||||||
"sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
|
"sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
|
||||||
|
"sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290",
|
||||||
|
"sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9",
|
||||||
"sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
|
"sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
|
||||||
|
"sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6",
|
||||||
"sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
|
"sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
|
||||||
"sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
|
"sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
|
||||||
"sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
|
"sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
|
||||||
@@ -2346,9 +2397,12 @@
|
|||||||
"sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
|
"sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
|
||||||
"sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
|
"sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
|
||||||
"sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
|
"sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
|
||||||
|
"sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0",
|
||||||
"sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
|
"sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
|
||||||
"sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
|
"sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
|
||||||
"sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
|
"sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
|
||||||
|
"sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28",
|
||||||
|
"sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4",
|
||||||
"sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
|
"sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
|
||||||
"sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
|
"sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
|
||||||
"sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
|
"sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
|
||||||
@@ -2363,7 +2417,9 @@
|
|||||||
"sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
|
"sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
|
||||||
"sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
|
"sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
|
||||||
"sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
|
"sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
|
||||||
|
"sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54",
|
||||||
"sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
|
"sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
|
||||||
|
"sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b",
|
||||||
"sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
|
"sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
|
||||||
"sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
|
"sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
|
||||||
"sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
|
"sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
|
||||||
@@ -2383,34 +2439,50 @@
|
|||||||
},
|
},
|
||||||
"setuptools": {
|
"setuptools": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f",
|
"sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87",
|
||||||
"sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"
|
"sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.8'",
|
||||||
"version": "==68.0.0"
|
"version": "==68.2.2"
|
||||||
|
},
|
||||||
|
"simple-websocket": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:0ab46c8ffa51a46dc95eed94608b3b722841c0bf849def71d465c5c356679c82",
|
||||||
|
"sha256:62c36bacfd75cc867927bb39d91951342a7234bdfe20f41dd969a3b8bb1413b7"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.6'",
|
||||||
|
"version": "==0.10.1"
|
||||||
},
|
},
|
||||||
"urllib3": {
|
"urllib3": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11",
|
"sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594",
|
||||||
"sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"
|
"sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==2.0.4"
|
"version": "==2.0.5"
|
||||||
},
|
},
|
||||||
"virtualenv": {
|
"virtualenv": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:43a3052be36080548bdee0b42919c88072037d50d56c28bd3f853cbe92b953ff",
|
"sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b",
|
||||||
"sha256:fd8a78f46f6b99a67b7ec5cf73f92357891a7b3a40fd97637c27f854aae3b9e0"
|
"sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==20.24.2"
|
"version": "==20.24.5"
|
||||||
},
|
},
|
||||||
"websocket-client": {
|
"websocket-client": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd",
|
"sha256:3aad25d31284266bcfcfd1fd8a743f63282305a364b8d0948a43bd606acc652f",
|
||||||
"sha256:f1f9f2ad5291f0225a49efad77abf9e700b6fef553900623060dad6e26503b9d"
|
"sha256:6cfc30d051ebabb73a5fa246efdcc14c8fbebbd0330f8984ac3bb6d9edd2ad03"
|
||||||
],
|
],
|
||||||
"version": "==1.6.1"
|
"version": "==1.6.3"
|
||||||
|
},
|
||||||
|
"wsproto": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065",
|
||||||
|
"sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '3.7'",
|
||||||
|
"version": "==1.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ class Settings(BaseSettings):
|
|||||||
free_storage_limit: int = 1074000000
|
free_storage_limit: int = 1074000000
|
||||||
pixabay_api_key: str | None = None
|
pixabay_api_key: str | None = None
|
||||||
mods: list[str] = []
|
mods: list[str] = []
|
||||||
|
registration_disabled: bool = False
|
||||||
|
|
||||||
# storage_backend
|
# storage_backend
|
||||||
storage_backend: str | None = "local"
|
storage_backend: str | None = "local"
|
||||||
|
|||||||
@@ -139,19 +139,19 @@ class QuizQuestion(BaseModel):
|
|||||||
|
|
||||||
@validator("answers")
|
@validator("answers")
|
||||||
def answers_not_none_if_abcd_type(cls, v, values):
|
def answers_not_none_if_abcd_type(cls, v, values):
|
||||||
if values["type"] == QuizQuestionType.ABCD and type(v[0]) != ABCDQuizAnswer:
|
if values["type"] == QuizQuestionType.ABCD and not isinstance(v[0], ABCDQuizAnswer):
|
||||||
raise ValueError("Answers can't be none if type is ABCD")
|
raise ValueError("Answers can't be none if type is ABCD")
|
||||||
if values["type"] == QuizQuestionType.RANGE and type(v) != RangeQuizAnswer:
|
if values["type"] == QuizQuestionType.RANGE and not isinstance(v, RangeQuizAnswer):
|
||||||
raise ValueError("Answer must be from type RangeQuizAnswer if type is RANGE")
|
raise ValueError("Answer must be from type RangeQuizAnswer if type is RANGE")
|
||||||
if values["type"] == QuizQuestionType.VOTING and type(v[0]) != VotingQuizAnswer:
|
if values["type"] == QuizQuestionType.VOTING and not isinstance(v[0], VotingQuizAnswer):
|
||||||
raise ValueError("Answer must be from type VotingQuizAnswer if type is VOTING")
|
raise ValueError("Answer must be from type VotingQuizAnswer if type is VOTING")
|
||||||
if values["type"] == QuizQuestionType.TEXT and type(v[0]) != TextQuizAnswer:
|
if values["type"] == QuizQuestionType.TEXT and not isinstance(v[0], TextQuizAnswer):
|
||||||
raise ValueError("Answer must be from type TextQuizAnswer if type is TEXT")
|
raise ValueError("Answer must be from type TextQuizAnswer if type is TEXT")
|
||||||
if values["type"] == QuizQuestionType.ORDER and type(v[0]) != VotingQuizAnswer:
|
if values["type"] == QuizQuestionType.ORDER and not isinstance(v[0], VotingQuizAnswer):
|
||||||
raise ValueError("Answer must be from type VotingQuizAnswer if type is ORDER")
|
raise ValueError("Answer must be from type VotingQuizAnswer if type is ORDER")
|
||||||
if values["type"] == QuizQuestionType.SLIDE and type(v[0]) != str:
|
if values["type"] == QuizQuestionType.SLIDE and not isinstance(v, str):
|
||||||
raise ValueError("Answer must be from type SlideElement if type is SLIDE")
|
raise ValueError("Answer must be from type SlideElement if type is SLIDE")
|
||||||
if values["type"] == QuizQuestionType.CHECK and type(v[0]) != ABCDQuizAnswer:
|
if values["type"] == QuizQuestionType.CHECK and not isinstance(v[0], ABCDQuizAnswer):
|
||||||
raise ValueError("Answers can't be none if type is CHECK")
|
raise ValueError("Answers can't be none if type is CHECK")
|
||||||
return v
|
return v
|
||||||
|
|
||||||
|
|||||||
@@ -28,11 +28,14 @@ async def submit_answer_fn(data_answer: int, game_pin: str, player_id: str, now:
|
|||||||
game = PlayGame.parse_raw(redis_res_game)
|
game = PlayGame.parse_raw(redis_res_game)
|
||||||
if not game.question_show:
|
if not game.question_show:
|
||||||
return
|
return
|
||||||
|
|
||||||
question = game.questions[game.current_question]
|
question = game.questions[game.current_question]
|
||||||
question_time = datetime.fromisoformat(await redis.get(f"game:{game_pin}:current_time"))
|
question_time = datetime.fromisoformat(await redis.get(f"game:{game_pin}:current_time"))
|
||||||
try:
|
try:
|
||||||
selected_answer = question.answers[data_answer].answer
|
selected_answer = question.answers[data_answer].answer
|
||||||
except KeyError:
|
except (KeyError, IndexError):
|
||||||
|
return
|
||||||
|
if await redis.get(f"answer_given:{player_id}:{game.current_question}") is not None:
|
||||||
return
|
return
|
||||||
answer_right = False
|
answer_right = False
|
||||||
if question.type == QuizQuestionType.ABCD:
|
if question.type == QuizQuestionType.ABCD:
|
||||||
@@ -48,6 +51,7 @@ async def submit_answer_fn(data_answer: int, game_pin: str, player_id: str, now:
|
|||||||
score = 0
|
score = 0
|
||||||
if answer_right:
|
if answer_right:
|
||||||
score = calculate_score(abs(diff), int(float(question.time)))
|
score = calculate_score(abs(diff), int(float(question.time)))
|
||||||
|
await redis.set(f"answer_given:{player_id}:{game.current_question}", "True", ex=600)
|
||||||
await redis.hincrby(f"game_session:{game_pin}:player_scores", username, score)
|
await redis.hincrby(f"game_session:{game_pin}:player_scores", username, score)
|
||||||
answer_data = AnswerData(
|
answer_data = AnswerData(
|
||||||
username=username,
|
username=username,
|
||||||
@@ -121,7 +125,6 @@ async def websocket_endpoint(ws: WebSocket, game_id: str):
|
|||||||
await ws.send_text(WebSocketRequest(type=WebSocketTypes.Error, data="InvalidButton").json())
|
await ws.send_text(WebSocketRequest(type=WebSocketTypes.Error, data="InvalidButton").json())
|
||||||
continue
|
continue
|
||||||
await submit_answer_fn(answer_index, game_pin, player_id, now)
|
await submit_answer_fn(answer_index, game_pin, player_id, now)
|
||||||
print(f"Data from client {game_id}: {data}")
|
|
||||||
|
|
||||||
except WebSocketDisconnect as ex:
|
except WebSocketDisconnect as ex:
|
||||||
print(f"Client {game_id} is disconnected: {ex}")
|
print(f"Client {game_id} is disconnected: {ex}")
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ router.include_router(oauth.router, tags=["users", "oauth"], prefix="/oauth")
|
|||||||
response_model_include={"id": ..., "verified": ..., "email": ...},
|
response_model_include={"id": ..., "verified": ..., "email": ...},
|
||||||
)
|
)
|
||||||
async def create_user(user: RouteUser, background_task: BackgroundTasks) -> User | JSONResponse:
|
async def create_user(user: RouteUser, background_task: BackgroundTasks) -> User | JSONResponse:
|
||||||
|
if settings.registration_disabled:
|
||||||
|
raise HTTPException(status_code=423)
|
||||||
user = User(**user.dict(), id=uuid.uuid4(), avatar=gzipped_user_avatar(), created_at=datetime.now())
|
user = User(**user.dict(), id=uuid.uuid4(), avatar=gzipped_user_avatar(), created_at=datetime.now())
|
||||||
try:
|
try:
|
||||||
validate_email(user.email)
|
validate_email(user.email)
|
||||||
|
|||||||
@@ -80,6 +80,53 @@ class _JoinGameData(BaseModel):
|
|||||||
custom_field: str | None
|
custom_field: str | None
|
||||||
|
|
||||||
|
|
||||||
|
class _RejoinGameData(BaseModel):
|
||||||
|
old_sid: str
|
||||||
|
game_pin: str
|
||||||
|
username: str
|
||||||
|
|
||||||
|
|
||||||
|
@sio.event
|
||||||
|
async def rejoin_game(sid: str, data: dict):
|
||||||
|
redis_res = await redis.get(f"game:{data['game_pin']}")
|
||||||
|
if redis_res is None:
|
||||||
|
await sio.emit("game_not_found", room=sid)
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
data = _RejoinGameData(**data)
|
||||||
|
except ValidationError as e:
|
||||||
|
await sio.emit("error", room=sid)
|
||||||
|
print(e)
|
||||||
|
redis_sid_key = f"game_session:{data.game_pin}:players:{data.username}"
|
||||||
|
old_sid = await redis.get(redis_sid_key)
|
||||||
|
if old_sid != data.old_sid:
|
||||||
|
return
|
||||||
|
encrypted_datetime = fernet.encrypt(datetime.now().isoformat().encode("utf-8")).decode("utf-8")
|
||||||
|
await sio.emit("time_sync", encrypted_datetime, room=sid)
|
||||||
|
await redis.set(redis_sid_key, sid)
|
||||||
|
await redis.srem(
|
||||||
|
f"game_session:{data.game_pin}:players", GamePlayer(username=data.username, sid=data.old_sid).json()
|
||||||
|
)
|
||||||
|
await redis.sadd(f"game_session:{data.game_pin}:players", GamePlayer(username=data.username, sid=sid).json())
|
||||||
|
game_data = PlayGame.parse_raw(redis_res)
|
||||||
|
session = {
|
||||||
|
"game_pin": data.game_pin,
|
||||||
|
"username": data.username,
|
||||||
|
"sid_custom": sid,
|
||||||
|
"admin": False,
|
||||||
|
}
|
||||||
|
await sio.save_session(sid, session)
|
||||||
|
sio.enter_room(sid, data.game_pin)
|
||||||
|
await sio.emit(
|
||||||
|
"rejoined_game",
|
||||||
|
{
|
||||||
|
**json.loads(game_data.json(exclude={"quiz_id", "questions", "user_id"})),
|
||||||
|
"question_count": len(game_data.questions),
|
||||||
|
},
|
||||||
|
room=sid,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@sio.event
|
@sio.event
|
||||||
async def join_game(sid: str, data: dict):
|
async def join_game(sid: str, data: dict):
|
||||||
redis_res = await redis.get(f"game:{data['game_pin']}")
|
redis_res = await redis.get(f"game:{data['game_pin']}")
|
||||||
@@ -177,12 +224,13 @@ async def join_game(sid: str, data: dict):
|
|||||||
@sio.event
|
@sio.event
|
||||||
async def start_game(sid: str, _data: dict):
|
async def start_game(sid: str, _data: dict):
|
||||||
session = await sio.get_session(sid)
|
session = await sio.get_session(sid)
|
||||||
if session["admin"]:
|
if not session["admin"]:
|
||||||
game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}"))
|
return
|
||||||
game_data.started = True
|
game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}"))
|
||||||
await redis.set(f"game:{session['game_pin']}", game_data.json(), ex=7200)
|
game_data.started = True
|
||||||
await redis.delete(f"game_in_lobby:{game_data.user_id.hex}")
|
await redis.set(f"game:{session['game_pin']}", game_data.json(), ex=7200)
|
||||||
await sio.emit("start_game", room=session["game_pin"])
|
await redis.delete(f"game_in_lobby:{game_data.user_id.hex}")
|
||||||
|
await sio.emit("start_game", room=session["game_pin"])
|
||||||
|
|
||||||
|
|
||||||
class _RegisterAsAdminData(BaseModel):
|
class _RegisterAsAdminData(BaseModel):
|
||||||
@@ -225,15 +273,20 @@ async def register_as_admin(sid: str, data: dict):
|
|||||||
@sio.event
|
@sio.event
|
||||||
async def get_question_results(sid: str, data: dict):
|
async def get_question_results(sid: str, data: dict):
|
||||||
session = await sio.get_session(sid)
|
session = await sio.get_session(sid)
|
||||||
if session["admin"]:
|
if not session["admin"]:
|
||||||
redis_res = AnswerDataList.parse_raw(
|
return
|
||||||
await redis.get(f"game_session:{session['game_pin']}:{data['question_number']}")
|
|
||||||
)
|
redis_res = await redis.get(f"game_session:{session['game_pin']}:{data['question_number']}")
|
||||||
game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}"))
|
if redis_res is None:
|
||||||
game_data.question_show = False
|
redis_res = []
|
||||||
await redis.set(f"game:{session['game_pin']}", game_data.json())
|
else:
|
||||||
game_pin = session["game_pin"]
|
redis_res = AnswerDataList.parse_raw(redis_res).dict()["__root__"]
|
||||||
await sio.emit("question_results", redis_res.dict()["__root__"], room=game_pin)
|
game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}"))
|
||||||
|
game_data.question_show = False
|
||||||
|
await redis.set(f"game:{session['game_pin']}", game_data.json())
|
||||||
|
game_pin = session["game_pin"]
|
||||||
|
|
||||||
|
await sio.emit("question_results", redis_res, room=game_pin)
|
||||||
|
|
||||||
|
|
||||||
class ABCDQuizAnswerWithoutSolution(BaseModel):
|
class ABCDQuizAnswerWithoutSolution(BaseModel):
|
||||||
@@ -252,12 +305,12 @@ class ReturnQuestion(QuizQuestion):
|
|||||||
|
|
||||||
@validator("answers")
|
@validator("answers")
|
||||||
def answers_not_none_if_abcd_type(cls, v, values):
|
def answers_not_none_if_abcd_type(cls, v, values):
|
||||||
if values["type"] == QuizQuestionType.ABCD and type(v[0]) != ABCDQuizAnswerWithoutSolution:
|
if values["type"] == QuizQuestionType.ABCD and type(v[0]) is not ABCDQuizAnswerWithoutSolution:
|
||||||
raise ValueError("Answers can't be none if type is ABCD")
|
raise ValueError("Answers can't be none if type is ABCD")
|
||||||
if values["type"] == QuizQuestionType.RANGE and type(v) != RangeQuizAnswerWithoutSolution:
|
if values["type"] == QuizQuestionType.RANGE and type(v) is not RangeQuizAnswerWithoutSolution:
|
||||||
raise ValueError("Answer must be from type RangeQuizAnswer if type is RANGE")
|
raise ValueError("Answer must be from type RangeQuizAnswer if type is RANGE")
|
||||||
# skipcq: PTC-W0047
|
# skipcq: PTC-W0047
|
||||||
if values["type"] == QuizQuestionType.VOTING and type(v[0]) != VotingQuizAnswer:
|
if values["type"] == QuizQuestionType.VOTING and type(v[0]) is not VotingQuizAnswer:
|
||||||
pass
|
pass
|
||||||
return v
|
return v
|
||||||
|
|
||||||
@@ -266,37 +319,38 @@ class ReturnQuestion(QuizQuestion):
|
|||||||
async def set_question_number(sid, data: str):
|
async def set_question_number(sid, data: str):
|
||||||
# data is just a number (as a str) of the question
|
# data is just a number (as a str) of the question
|
||||||
session = await sio.get_session(sid)
|
session = await sio.get_session(sid)
|
||||||
if session["admin"]:
|
if not session["admin"]:
|
||||||
game_pin = session["game_pin"]
|
return
|
||||||
game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}"))
|
game_pin = session["game_pin"]
|
||||||
game_data.current_question = int(float(data))
|
game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}"))
|
||||||
game_data.question_show = True
|
game_data.current_question = int(float(data))
|
||||||
await redis.set(f"game:{session['game_pin']}", game_data.json(), ex=7200)
|
game_data.question_show = True
|
||||||
await redis.set(f"game:{session['game_pin']}:current_time", datetime.now().isoformat(), ex=7200)
|
await redis.set(f"game:{session['game_pin']}", game_data.json(), ex=7200)
|
||||||
temp_return = game_data.dict(include={"questions"})["questions"][int(float(data))]
|
await redis.set(f"game:{session['game_pin']}:current_time", datetime.now().isoformat(), ex=7200)
|
||||||
if game_data.questions[int(float(data))].type == QuizQuestionType.SLIDE:
|
temp_return = game_data.dict(include={"questions"})["questions"][int(float(data))]
|
||||||
await sio.emit(
|
if game_data.questions[int(float(data))].type == QuizQuestionType.SLIDE:
|
||||||
"set_question_number",
|
|
||||||
{
|
|
||||||
"question_index": int(float(data)),
|
|
||||||
},
|
|
||||||
room=sid,
|
|
||||||
)
|
|
||||||
return
|
|
||||||
if game_data.questions[int(float(data))].type == QuizQuestionType.VOTING:
|
|
||||||
for i in range(len(temp_return["answers"])):
|
|
||||||
temp_return["answers"][i] = VotingQuizAnswer(**temp_return["answers"][i])
|
|
||||||
temp_return["type"] = game_data.questions[int(float(data))].type
|
|
||||||
if temp_return["type"] == QuizQuestionType.ORDER:
|
|
||||||
random.shuffle(temp_return["answers"])
|
|
||||||
await sio.emit(
|
await sio.emit(
|
||||||
"set_question_number",
|
"set_question_number",
|
||||||
{
|
{
|
||||||
"question_index": int(float(data)),
|
"question_index": int(float(data)),
|
||||||
"question": ReturnQuestion(**temp_return).dict(),
|
|
||||||
},
|
},
|
||||||
room=game_pin,
|
room=sid,
|
||||||
)
|
)
|
||||||
|
return
|
||||||
|
if game_data.questions[int(float(data))].type == QuizQuestionType.VOTING:
|
||||||
|
for i in range(len(temp_return["answers"])):
|
||||||
|
temp_return["answers"][i] = VotingQuizAnswer(**temp_return["answers"][i])
|
||||||
|
temp_return["type"] = game_data.questions[int(float(data))].type
|
||||||
|
if temp_return["type"] == QuizQuestionType.ORDER:
|
||||||
|
random.shuffle(temp_return["answers"])
|
||||||
|
await sio.emit(
|
||||||
|
"set_question_number",
|
||||||
|
{
|
||||||
|
"question_index": int(float(data)),
|
||||||
|
"question": ReturnQuestion(**temp_return).dict(),
|
||||||
|
},
|
||||||
|
room=game_pin,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class _SubmitAnswerDataOrderType(BaseModel):
|
class _SubmitAnswerDataOrderType(BaseModel):
|
||||||
@@ -379,6 +433,8 @@ async def submit_answer(sid: str, data: dict):
|
|||||||
score = calculate_score(
|
score = calculate_score(
|
||||||
abs(diff) - latency, int(float(game_data.questions[int(float(data.question_index))].time))
|
abs(diff) - latency, int(float(game_data.questions[int(float(data.question_index))].time))
|
||||||
)
|
)
|
||||||
|
if score > 1000:
|
||||||
|
score = 1000
|
||||||
await redis.hincrby(f"game_session:{session['game_pin']}:player_scores", session["username"], score)
|
await redis.hincrby(f"game_session:{session['game_pin']}:player_scores", session["username"], score)
|
||||||
answer_data = AnswerData(
|
answer_data = AnswerData(
|
||||||
username=session["username"],
|
username=session["username"],
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ ENV VITE_HCAPTCHA=ee81b2a1-acf3-4d20-b2a4-a7ea94c7eba5
|
|||||||
ENV VITE_GOOGLE_AUTH_ENABLED=true
|
ENV VITE_GOOGLE_AUTH_ENABLED=true
|
||||||
ENV VITE_GITHUB_AUTH_ENABLED=true
|
ENV VITE_GITHUB_AUTH_ENABLED=true
|
||||||
ENV VITE_CAPTCHA_ENABLED=true
|
ENV VITE_CAPTCHA_ENABLED=true
|
||||||
|
ENV VITE_REGISTRATION_DISABLED=True
|
||||||
#ENV VITE_PLAUSIBLE_DATA_URL=
|
#ENV VITE_PLAUSIBLE_DATA_URL=
|
||||||
# change working directory
|
# change working directory
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|||||||
Vendored
+14
@@ -0,0 +1,14 @@
|
|||||||
|
// SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
|
||||||
|
/// <reference types="vite/client" />
|
||||||
|
|
||||||
|
interface ImportMetaEnv {
|
||||||
|
readonly VITE_APP_TITLE: string;
|
||||||
|
// more env variables...
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ImportMeta {
|
||||||
|
readonly env: ImportMetaEnv;
|
||||||
|
}
|
||||||
+19
-177
@@ -11,16 +11,14 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import type { PlayerAnswer } from '$lib/admin.ts';
|
import type { PlayerAnswer } from '$lib/admin.ts';
|
||||||
import { socket } from './socket';
|
import { socket } from './socket';
|
||||||
import { QuizQuestionType } from '$lib/quiz_types';
|
import { QuizQuestionType } from '$lib/quiz_types';
|
||||||
import { kahoot_icons } from './play/kahoot_mode_assets/kahoot_icons';
|
|
||||||
import CircularTimer from '$lib/play/circular_progress.svelte';
|
|
||||||
import Spinner from '$lib/Spinner.svelte';
|
import Spinner from '$lib/Spinner.svelte';
|
||||||
import { get_foreground_color } from '$lib/helpers';
|
import Controls from '$lib/play/admin/controls.svelte';
|
||||||
import MediaComponent from '$lib/editor/MediaComponent.svelte';
|
import Question from '$lib/play/admin/question.svelte';
|
||||||
|
|
||||||
export let game_token: string;
|
export let game_token: string;
|
||||||
export let quiz_data: QuizData;
|
export let quiz_data: QuizData;
|
||||||
export let game_mode;
|
export let game_mode: string;
|
||||||
export let bg_color;
|
export let bg_color: string;
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
const default_colors = ['#D6EDC9', '#B07156', '#7F7057', '#4E6E58'];
|
const default_colors = ['#D6EDC9', '#B07156', '#7F7057', '#4E6E58'];
|
||||||
@@ -37,10 +35,6 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
|
|
||||||
export let player_scores;
|
export let player_scores;
|
||||||
|
|
||||||
const set_question_number = (q_number: number) => {
|
|
||||||
socket.emit('set_question_number', q_number.toString());
|
|
||||||
};
|
|
||||||
|
|
||||||
socket.on('get_question_results', () => {
|
socket.on('get_question_results', () => {
|
||||||
console.log('get_question_results');
|
console.log('get_question_results');
|
||||||
});
|
});
|
||||||
@@ -54,20 +48,6 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
answer_count = 0;
|
answer_count = 0;
|
||||||
timer(timer_res);
|
timer(timer_res);
|
||||||
});
|
});
|
||||||
const get_question_results = () => {
|
|
||||||
socket.emit('get_question_results', {
|
|
||||||
game_id: game_token,
|
|
||||||
question_number: shown_question_now
|
|
||||||
});
|
|
||||||
};
|
|
||||||
const show_solutions = () => {
|
|
||||||
socket.emit('show_solutions', {});
|
|
||||||
timer_res = '0';
|
|
||||||
};
|
|
||||||
|
|
||||||
const get_final_results = () => {
|
|
||||||
socket.emit('get_final_results', {});
|
|
||||||
};
|
|
||||||
|
|
||||||
socket.on('solutions', (_) => {
|
socket.on('solutions', (_) => {
|
||||||
timer_res = '0';
|
timer_res = '0';
|
||||||
@@ -109,97 +89,33 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
timer_res = seconds.toString();
|
timer_res = seconds.toString();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
};
|
};
|
||||||
let circular_progress = 0;
|
|
||||||
$: {
|
|
||||||
try {
|
|
||||||
circular_progress =
|
|
||||||
1 -
|
|
||||||
((100 / quiz_data.questions[selected_question].time) * parseInt(timer_res)) / 100;
|
|
||||||
} catch {
|
|
||||||
circular_progress = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if control_visible}
|
{#if control_visible}
|
||||||
<div
|
<Controls
|
||||||
class="fixed top-0 w-full h-10 z-20 grid grid-cols-2"
|
{bg_color}
|
||||||
style="background: {bg_color ? bg_color : 'transparent'}"
|
{selected_question}
|
||||||
class:text-black={bg_color}
|
{quiz_data}
|
||||||
>
|
bind:timer_res
|
||||||
<p class="mr-auto ml-0 col-start-1 col-end-1">
|
{final_results}
|
||||||
{selected_question === -1 ? '0' : selected_question + 1}
|
{socket}
|
||||||
/{quiz_data.questions.length}
|
{question_results}
|
||||||
</p>
|
{game_token}
|
||||||
<div class="justify-self-end ml-auto mr-0 col-start-3 col-end-3">
|
{shown_question_now}
|
||||||
{#if selected_question + 1 === quiz_data.questions.length && ((timer_res === '0' && question_results !== null) || quiz_data?.questions?.[selected_question]?.type === QuizQuestionType.SLIDE)}
|
/>
|
||||||
{#if JSON.stringify(final_results) === JSON.stringify([null])}
|
|
||||||
<button on:click={get_final_results} class="admin-button"
|
|
||||||
>{$t('admin_page.get_final_results')}
|
|
||||||
</button>
|
|
||||||
{/if}
|
|
||||||
{:else if timer_res === '0' || selected_question === -1}
|
|
||||||
{#if (selected_question + 1 !== quiz_data.questions.length && question_results !== null) || selected_question === -1}
|
|
||||||
<button
|
|
||||||
on:click={() => {
|
|
||||||
set_question_number(selected_question + 1);
|
|
||||||
}}
|
|
||||||
class="admin-button"
|
|
||||||
>{$t('admin_page.next_question', { question: selected_question + 2 })}
|
|
||||||
</button>
|
|
||||||
{/if}
|
|
||||||
{#if question_results === null && selected_question !== -1}
|
|
||||||
{#if quiz_data.questions[selected_question].type === QuizQuestionType.SLIDE}
|
|
||||||
<button
|
|
||||||
on:click={() => {
|
|
||||||
set_question_number(selected_question + 1);
|
|
||||||
}}
|
|
||||||
class="admin-button"
|
|
||||||
>{$t('admin_page.next_question', { question: selected_question + 2 })}
|
|
||||||
</button>
|
|
||||||
{:else}
|
|
||||||
<button on:click={get_question_results} class="admin-button"
|
|
||||||
>{$t('admin_page.show_results')}
|
|
||||||
</button>
|
|
||||||
{/if}
|
|
||||||
{/if}
|
|
||||||
{:else if selected_question !== -1}
|
|
||||||
{#if quiz_data.questions[selected_question].type === QuizQuestionType.SLIDE}
|
|
||||||
<button
|
|
||||||
on:click={() => {
|
|
||||||
set_question_number(selected_question + 1);
|
|
||||||
}}
|
|
||||||
class="admin-button"
|
|
||||||
>{$t('admin_page.next_question', { question: selected_question + 2 })}
|
|
||||||
</button>
|
|
||||||
{:else}
|
|
||||||
<button on:click={show_solutions} class="admin-button"
|
|
||||||
>{$t('admin_page.stop_time_and_solutions')}
|
|
||||||
</button>
|
|
||||||
{/if}
|
|
||||||
{:else}
|
|
||||||
<!-- <button
|
|
||||||
on:click={() => {
|
|
||||||
set_question_number(selected_question + 1);
|
|
||||||
}}
|
|
||||||
class='admin-button'
|
|
||||||
>Next Question ({selected_question + 2}
|
|
||||||
)
|
|
||||||
</button>-->
|
|
||||||
{/if}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/if}
|
{/if}
|
||||||
{#if timer_res !== '0' && selected_question >= 0}
|
{#if timer_res !== '0' && selected_question >= 0}
|
||||||
<span
|
<span
|
||||||
class="fixed top-0 bg-red-500 h-8 transition-all"
|
class="fixed top-0 bg-red-500 h-8 transition-all"
|
||||||
class:mt-10={control_visible}
|
class:mt-10={control_visible}
|
||||||
style="width: {(100 / quiz_data.questions[selected_question].time) * parseInt(timer_res)}vw"
|
style="width: {(100 / parseInt(quiz_data.questions[selected_question].time)) *
|
||||||
|
parseInt(timer_res)}vw"
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<div class="w-full h-full" class:pt-28={control_visible} class:pt-12={!control_visible}>
|
<div class="w-full h-full" class:pt-28={control_visible} class:pt-12={!control_visible}>
|
||||||
{#if timer_res !== undefined && !final_results_clicked && !question_results}
|
{#if timer_res !== undefined && !final_results_clicked && !question_results}
|
||||||
|
<!-- Question is shown -->
|
||||||
{#if quiz_data.questions[selected_question].type === QuizQuestionType.SLIDE}
|
{#if quiz_data.questions[selected_question].type === QuizQuestionType.SLIDE}
|
||||||
{#await import('$lib/play/admin/slide.svelte')}
|
{#await import('$lib/play/admin/slide.svelte')}
|
||||||
<Spinner my_20={false} />
|
<Spinner my_20={false} />
|
||||||
@@ -210,81 +126,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
/>
|
/>
|
||||||
{/await}
|
{/await}
|
||||||
{:else}
|
{:else}
|
||||||
<div class="flex flex-col justify-center w-screen h-1/6">
|
<Question {quiz_data} {selected_question} {timer_res} {answer_count} {default_colors} />
|
||||||
<h1 class="text-6xl text-center">
|
|
||||||
{@html quiz_data.questions[selected_question].question}
|
|
||||||
</h1>
|
|
||||||
<!-- <span class='text-center py-2 text-lg'>{$t('admin_page.time_left')}: {timer_res}</span>-->
|
|
||||||
<div class="grid grid-cols-3 my-2">
|
|
||||||
<span />
|
|
||||||
<div class="m-auto">
|
|
||||||
<CircularTimer
|
|
||||||
bind:text={timer_res}
|
|
||||||
bind:progress={circular_progress}
|
|
||||||
color="#ef4444"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<p class="m-auto text-3xl">
|
|
||||||
{$t('admin_page.answers_submitted', { answer_count: answer_count })}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{#if quiz_data.questions[selected_question].image !== null}
|
|
||||||
<div class="flex w-full">
|
|
||||||
<MediaComponent
|
|
||||||
src={quiz_data.questions[selected_question].image}
|
|
||||||
muted={false}
|
|
||||||
css_classes="max-h-[20vh] object-cover mx-auto mb-8 w-auto"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
{#if quiz_data.questions[selected_question].type === QuizQuestionType.ABCD || quiz_data.questions[selected_question].type === QuizQuestionType.VOTING || quiz_data.questions[selected_question].type === QuizQuestionType.CHECK}
|
|
||||||
<div class="grid grid-rows-2 grid-flow-col auto-cols-auto gap-2 w-full p-4">
|
|
||||||
{#each quiz_data.questions[selected_question].answers as answer, i}
|
|
||||||
<div
|
|
||||||
class="rounded-lg h-fit flex border-2 border-black"
|
|
||||||
style="background-color: {answer.color ?? default_colors[i]};"
|
|
||||||
class:opacity-50={!answer.right &&
|
|
||||||
timer_res === '0' &&
|
|
||||||
quiz_data.questions[selected_question].type ===
|
|
||||||
QuizQuestionType.ABCD}
|
|
||||||
>
|
|
||||||
<img
|
|
||||||
class="w-14 inline-block pl-4"
|
|
||||||
alt="icon"
|
|
||||||
style="color: {get_foreground_color(
|
|
||||||
answer.color ?? default_colors[i]
|
|
||||||
)}"
|
|
||||||
src={kahoot_icons[i]}
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
class="text-center text-2xl px-2 py-4 w-full"
|
|
||||||
style="color: {get_foreground_color(
|
|
||||||
answer.color ?? default_colors[i]
|
|
||||||
)}">{answer.answer}</span
|
|
||||||
>
|
|
||||||
<span class="pl-4 w-10" />
|
|
||||||
</div>
|
|
||||||
{/each}
|
|
||||||
</div>
|
|
||||||
{:else if quiz_data.questions[selected_question].type === QuizQuestionType.TEXT}
|
|
||||||
{#if timer_res === '0'}
|
|
||||||
<div class="grid grid-cols-2 gap-2 w-full p-4">
|
|
||||||
{#each quiz_data.questions[selected_question].answers as answer, i}
|
|
||||||
<div class="rounded-lg h-fit flex bg-[#B07156]">
|
|
||||||
<span class="text-center text-2xl px-2 py-4 w-full text-black"
|
|
||||||
>{answer.answer}</span
|
|
||||||
>
|
|
||||||
<span class="pl-4 w-10" />
|
|
||||||
</div>
|
|
||||||
{/each}
|
|
||||||
</div>
|
|
||||||
{:else}
|
|
||||||
<div class="flex justify-center">
|
|
||||||
<p class="text-2xl">{$t('admin_page.enter_answer_into_field')}</p>
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
{/if}
|
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MPL-2.0
|
||||||
|
-->
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Smalltop from './smalltop.svelte';
|
||||||
|
import { PopoverTypes } from '$lib/components/popover/smalltop';
|
||||||
|
import Cookies from 'js-cookie';
|
||||||
|
import { onMount } from 'svelte';
|
||||||
|
import { getLocalization } from '$lib/i18n';
|
||||||
|
|
||||||
|
const { t } = getLocalization();
|
||||||
|
|
||||||
|
let open = false;
|
||||||
|
onMount(() => {
|
||||||
|
if (Cookies.get('commandpalette_notice')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
open = true;
|
||||||
|
Cookies.set('commandpalette_notice', 'shown', {
|
||||||
|
expires: new Date().setDate(new Date().getDate() + 30)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Smalltop bind:open type={PopoverTypes.Generic} data={$t('dashboard.commandpalette_notice')} />
|
||||||
@@ -7,13 +7,19 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fly } from 'svelte/transition';
|
import { fly } from 'svelte/transition';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
|
import { createEventDispatcher } from 'svelte';
|
||||||
import { PopoverTypes } from './smalltop';
|
import { PopoverTypes } from './smalltop';
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
|
|
||||||
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
export let open = false;
|
export let open = false;
|
||||||
export let type: PopoverTypes;
|
export let type: PopoverTypes;
|
||||||
export let data: undefined | { game_pin: number | string; game_id: string } = undefined;
|
export let data: undefined | { game_pin: number | string; game_id: string } | string =
|
||||||
|
undefined;
|
||||||
|
|
||||||
|
$: dispatch('open', open);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if open}
|
{#if open}
|
||||||
@@ -29,6 +35,8 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
class="underline"
|
class="underline"
|
||||||
href="/remote?game_pin={data.game_pin}&game_id={data.game_id}">here</a
|
href="/remote?game_pin={data.game_pin}&game_id={data.game_id}">here</a
|
||||||
> to join as a remote.
|
> to join as a remote.
|
||||||
|
{:else if type === PopoverTypes.Generic}
|
||||||
|
{@html data}
|
||||||
{:else}
|
{:else}
|
||||||
<p>Error!!!</p>
|
<p>Error!!!</p>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -5,5 +5,6 @@
|
|||||||
/* eslint-disable no-unused-vars */
|
/* eslint-disable no-unused-vars */
|
||||||
export enum PopoverTypes {
|
export enum PopoverTypes {
|
||||||
Copy,
|
Copy,
|
||||||
GameInLobby
|
GameInLobby,
|
||||||
|
Generic
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,11 +76,27 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const on_parent_click = (e: Event) => {
|
||||||
|
if (e.target !== e.currentTarget) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
quiz_id = null;
|
||||||
|
};
|
||||||
|
const close_start_game_if_esc_is_pressed = (key: KeyboardEvent) => {
|
||||||
|
if (key.code === 'Escape') {
|
||||||
|
quiz_id = null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
onMount(() => {
|
||||||
|
document.body.addEventListener('keydown', close_start_game_if_esc_is_pressed);
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="fixed top-0 left-0 flex justify-center w-screen h-screen bg-black bg-opacity-60 z-50 text-black"
|
class="fixed top-0 left-0 flex justify-center w-screen h-screen bg-black bg-opacity-60 z-50 text-black"
|
||||||
transition:fade={{ duration: 100 }}
|
transition:fade={{ duration: 100 }}
|
||||||
|
on:click={on_parent_click}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="w-5/6 h-5/6 bg-black m-auto rounded-lg shadow-lg p-4 flex flex-col"
|
class="w-5/6 h-5/6 bg-black m-auto rounded-lg shadow-lg p-4 flex flex-col"
|
||||||
|
|||||||
@@ -97,11 +97,11 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<input
|
<input
|
||||||
bind:value={answer.answer}
|
bind:value={answer.answer}
|
||||||
type="text"
|
type="text"
|
||||||
class="border-b-2 border-dotted w-5/6 text-center rounded-lg bg-transparent"
|
class="border-b-2 border-dotted w-5/6 text-center rounded-lg bg-transparent outline-none focus:shadow-2xl transition-all"
|
||||||
style="background-color: {answer.color}; color: {get_foreground_color(
|
style="background-color: {answer.color}; color: {get_foreground_color(
|
||||||
answer.color
|
answer.color
|
||||||
)}"
|
)}"
|
||||||
placeholder={$t('editor.empty')}
|
placeholder={$t('editor.enter_answer')}
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
on:click={on_parent_click}
|
on:click={on_parent_click}
|
||||||
transition:fade|local={{ duration: 100 }}
|
transition:fade|local={{ duration: 100 }}
|
||||||
>
|
>
|
||||||
<div class="m-auto w-2/3 h-5/6 rounded shadow-2xl bg-white dark:bg-gray-600 p-6">
|
<div class="m-auto w-2/3 h-5/6 rounded shadow-2xl bg-white dark:bg-gray-600 p-6 flex flex-col">
|
||||||
<h1 class="text-center text-3xl mb-6">{$t('quiztivity.editor.select_page_type')}</h1>
|
<h1 class="text-center text-3xl mb-6">{$t('quiztivity.editor.select_page_type')}</h1>
|
||||||
<div class="grid grid-cols-4 gap-4 overflow-y-scroll">
|
<div class="grid grid-cols-4 gap-4 overflow-y-scroll">
|
||||||
{#each question_types as qt, i}
|
{#each question_types as qt, i}
|
||||||
@@ -111,5 +111,17 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</div>
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="mt-auto flex justify-center">
|
||||||
|
<p>
|
||||||
|
{$t('editor.need_more_help')}
|
||||||
|
<a
|
||||||
|
href="/docs/quiz/question-types"
|
||||||
|
target="_blank"
|
||||||
|
class="text-sm font-bold underline text-blue-500 dark:text-blue-400"
|
||||||
|
>{$t('editor.visit_docs')}</a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,14 +7,17 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { browser } from '$app/environment';
|
import { browser } from '$app/environment';
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
|
import { thumbHashToDataURL } from 'thumbhash';
|
||||||
|
|
||||||
export let src: string;
|
export let src: string;
|
||||||
export let css_classes = 'max-h-64 h-auto w-auto';
|
export let css_classes = 'max-h-64 h-auto w-auto';
|
||||||
|
export let added_thumbhash_classes = 'h-full';
|
||||||
export let muted = true;
|
export let muted = true;
|
||||||
export let allow_fullscreen = true;
|
export let allow_fullscreen = true;
|
||||||
let type: 'img' | 'video' | undefined = undefined;
|
let type: 'img' | 'video' | undefined = undefined;
|
||||||
|
|
||||||
let img_data;
|
let img_data;
|
||||||
|
let thumbhash_data: string;
|
||||||
|
|
||||||
function base64ToBytes(base64: string): Uint8Array {
|
function base64ToBytes(base64: string): Uint8Array {
|
||||||
const binString = atob(base64);
|
const binString = atob(base64);
|
||||||
@@ -31,11 +34,13 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
type = 'video';
|
type = 'video';
|
||||||
} else {
|
} else {
|
||||||
type = 'img';
|
type = 'img';
|
||||||
|
thumbhash_data = thumbHashToDataURL(base64ToBytes(res.headers.get('x-thumbhash')));
|
||||||
const data = await fetch(`/api/v1/storage/download/${src}`);
|
const data = await fetch(`/api/v1/storage/download/${src}`);
|
||||||
img_data = {
|
img_data = {
|
||||||
data: URL.createObjectURL(await data.blob()),
|
data: URL.createObjectURL(await data.blob()),
|
||||||
alt_text: new TextDecoder().decode(base64ToBytes(res.headers.get('X-Alt-Text')))
|
alt_text: new TextDecoder().decode(base64ToBytes(res.headers.get('X-Alt-Text')))
|
||||||
};
|
};
|
||||||
|
thumbhash_data = undefined;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const update_url = () => {
|
const update_url = () => {
|
||||||
@@ -58,10 +63,11 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#await media}
|
{#await media}
|
||||||
<p>Placeholder</p>
|
<img src={thumbhash_data} class={`${css_classes} ${added_thumbhash_classes}`} />
|
||||||
{:then data}
|
{:then data}
|
||||||
{#if type === 'img'}
|
{#if type === 'img'}
|
||||||
<img
|
<img
|
||||||
|
in:fade={{ duration: 300 }}
|
||||||
src={img_data.data}
|
src={img_data.data}
|
||||||
alt={img_data.alt_text ?? 'Not available'}
|
alt={img_data.alt_text ?? 'Not available'}
|
||||||
class={css_classes}
|
class={css_classes}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import type { EditorData, OrderQuizAnswer } from '$lib/quiz_types';
|
import type { EditorData, OrderQuizAnswer } from '$lib/quiz_types';
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import { flip } from 'svelte/animate';
|
import { flip } from 'svelte/animate';
|
||||||
|
import { get_foreground_color } from '$lib/helpers.ts';
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
|
|
||||||
@@ -51,6 +52,19 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
id: [i]
|
id: [i]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
const default_colors = ['#D6EDC9', '#B07156', '#7F7057', '#4E6E58'];
|
||||||
|
const set_colors_if_unset = () => {
|
||||||
|
for (let i = 0; i < data.questions[selected_question].answers.length; i++) {
|
||||||
|
if (!data.questions[selected_question].answers[i].color) {
|
||||||
|
data.questions[selected_question].answers[i].color = default_colors[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$: {
|
||||||
|
set_colors_if_unset();
|
||||||
|
data;
|
||||||
|
selected_question;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
@@ -140,8 +154,10 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<input
|
<input
|
||||||
bind:value={answer.answer}
|
bind:value={answer.answer}
|
||||||
type="text"
|
type="text"
|
||||||
class="border-b-2 border-dotted w-5/6 text-center rounded-lg bg-transparent"
|
class="border-b-2 border-dotted w-5/6 text-center rounded-lg bg-transparent outline-none"
|
||||||
style="background-color: {answer.color ?? 'transparent'}"
|
style="background-color: {answer.color}; color: {get_foreground_color(
|
||||||
|
answer.color
|
||||||
|
)}"
|
||||||
placeholder={$t('editor.empty')}
|
placeholder={$t('editor.empty')}
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
import { reach } from 'yup';
|
import { reach } from 'yup';
|
||||||
import { TextQuestionSchema } from '$lib/yupSchemas';
|
import { TextQuestionSchema } from '$lib/yupSchemas';
|
||||||
|
import { createTippy } from 'svelte-tippy';
|
||||||
|
|
||||||
export let selected_question: number;
|
export let selected_question: number;
|
||||||
export let data: EditorData;
|
export let data: EditorData;
|
||||||
@@ -27,6 +28,11 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tippy = createTippy({
|
||||||
|
arrow: true,
|
||||||
|
animation: 'perspective-subtle'
|
||||||
|
});
|
||||||
|
|
||||||
const get_empty_answer = (): TextQuizAnswer => {
|
const get_empty_answer = (): TextQuizAnswer => {
|
||||||
return {
|
return {
|
||||||
answer: '',
|
answer: '',
|
||||||
@@ -74,14 +80,15 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<input
|
<input
|
||||||
bind:value={answer.answer}
|
bind:value={answer.answer}
|
||||||
type="text"
|
type="text"
|
||||||
class="border-b-2 border-dotted w-5/6 text-center rounded-lg bg-transparent"
|
class="border-b-2 border-dotted w-5/6 text-center rounded-lg bg-transparent outline-none"
|
||||||
placeholder={$t('editor.empty')}
|
placeholder={$t('editor.enter_answer')}
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
answer.case_sensitive = !answer.case_sensitive;
|
answer.case_sensitive = !answer.case_sensitive;
|
||||||
}}
|
}}
|
||||||
|
use:tippy={{ content: 'Case sensitive?', placement: 'top' }}
|
||||||
>
|
>
|
||||||
{#if answer.case_sensitive}
|
{#if answer.case_sensitive}
|
||||||
<svg
|
<svg
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import Spinner from '../Spinner.svelte';
|
import Spinner from '../Spinner.svelte';
|
||||||
// import { createTippy } from 'svelte-tippy';
|
// import { createTippy } from 'svelte-tippy';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
|
import MediaComponent from '$lib/editor/MediaComponent.svelte';
|
||||||
// import MediaComponent from "$lib/editor/MediaComponent.svelte";
|
// import MediaComponent from "$lib/editor/MediaComponent.svelte";
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
@@ -79,7 +80,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
*/
|
*/
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="w-full max-h-full pb-20 px-20 h-full">
|
<div class="w-full max-h-full pb-10 px-10 h-full">
|
||||||
<div class="rounded-lg bg-white w-full h-full border-gray-500 dark:bg-gray-700 shadow-2xl">
|
<div class="rounded-lg bg-white w-full h-full border-gray-500 dark:bg-gray-700 shadow-2xl">
|
||||||
<div class="h-12 bg-gray-300 rounded-t-lg dark:bg-gray-500">
|
<div class="h-12 bg-gray-300 rounded-t-lg dark:bg-gray-500">
|
||||||
<div class="flex align-middle p-4 gap-3">
|
<div class="flex align-middle p-4 gap-3">
|
||||||
@@ -123,9 +124,9 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
{/await}
|
{/await}
|
||||||
{/key}
|
{/key}
|
||||||
</div>
|
</div>
|
||||||
{#if data.questions[selected_question].image != undefined && data.questions[selected_question].image !== ''}
|
{#if data.questions[selected_question].image}
|
||||||
<div class="flex justify-center pt-10 w-full max-h-72">
|
<div class="flex justify-center pt-10 w-full h-72">
|
||||||
<div class="max-h-72 h-auto relative">
|
<div class="h-72 relative">
|
||||||
<button
|
<button
|
||||||
class="rounded-full absolute -top-2 -right-2 opacity-70 hover:opacity-100 transition"
|
class="rounded-full absolute -top-2 -right-2 opacity-70 hover:opacity-100 transition"
|
||||||
type="button"
|
type="button"
|
||||||
@@ -148,9 +149,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
{#await import('$lib/editor/MediaComponent.svelte') then c}
|
<MediaComponent bind:src={image_url} />
|
||||||
<svelte:component this={c.default} bind:src={image_url} />
|
|
||||||
{/await}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
@@ -187,15 +186,16 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
type="number"
|
type="number"
|
||||||
max="999"
|
max="999"
|
||||||
min="1"
|
min="1"
|
||||||
class="w-20 bg-transparent rounded-lg text-lg border-2 border-gray-500 p-1"
|
class="w-20 bg-transparent rounded-lg text-lg border-2 border-gray-500 p-1 outline-none focus:shadow-2xl"
|
||||||
bind:value={data.questions[selected_question].time}
|
bind:value={data.questions[selected_question].time}
|
||||||
/>
|
/>
|
||||||
|
<p class="inline-block">s</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center pt-10">
|
<div class="flex justify-center py-5">
|
||||||
<p>{type_to_name[String(data.questions[selected_question].type)]}</p>
|
<p>{type_to_name[String(data.questions[selected_question].type)]}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-center py-10 w-full">
|
<div class="flex justify-center w-full">
|
||||||
{#if type === QuizQuestionType.ABCD || type === QuizQuestionType.CHECK}
|
{#if type === QuizQuestionType.ABCD || type === QuizQuestionType.CHECK}
|
||||||
{#await import('$lib/editor/ABCDEditorPart.svelte')}
|
{#await import('$lib/editor/ABCDEditorPart.svelte')}
|
||||||
<Spinner my_20={false} />
|
<Spinner my_20={false} />
|
||||||
@@ -208,7 +208,6 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
/>
|
/>
|
||||||
{/await}
|
{/await}
|
||||||
{:else if type === QuizQuestionType.RANGE}
|
{:else if type === QuizQuestionType.RANGE}
|
||||||
<p>Range</p>
|
|
||||||
<RangeEditor bind:selected_question bind:data />
|
<RangeEditor bind:selected_question bind:data />
|
||||||
{:else if type === QuizQuestionType.VOTING}
|
{:else if type === QuizQuestionType.VOTING}
|
||||||
{#await import('$lib/editor/VotingEditorPart.svelte')}
|
{#await import('$lib/editor/VotingEditorPart.svelte')}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import type { EditorData } from '$lib/quiz_types';
|
import type { EditorData } from '$lib/quiz_types';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
import Spinner from '$lib/Spinner.svelte';
|
import Spinner from '$lib/Spinner.svelte';
|
||||||
|
import { createTippy } from 'svelte-tippy';
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
|
|
||||||
@@ -18,6 +19,10 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
export let data: EditorData;
|
export let data: EditorData;
|
||||||
|
|
||||||
let custom_bg_color = Boolean(data.background_color);
|
let custom_bg_color = Boolean(data.background_color);
|
||||||
|
const tippy = createTippy({
|
||||||
|
arrow: true,
|
||||||
|
animation: 'perspective-subtle'
|
||||||
|
});
|
||||||
|
|
||||||
$: data.background_color = custom_bg_color ? data.background_color : undefined;
|
$: data.background_color = custom_bg_color ? data.background_color : undefined;
|
||||||
</script>
|
</script>
|
||||||
@@ -45,10 +50,10 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
>
|
>
|
||||||
<div class="flex justify-center pt-10 w-full">
|
<div class="flex justify-center pt-10 w-full">
|
||||||
<!--<input
|
<!--<input
|
||||||
type="text"
|
type="text"
|
||||||
bind:value={data.title}
|
bind:value={data.title}
|
||||||
class="p-3 rounded-lg border-gray-500 border text-center w-1/3 text-lg font-semibold dark:bg-gray-500"
|
class="p-3 rounded-lg border-gray-500 border text-center w-1/3 text-lg font-semibold dark:bg-gray-500"
|
||||||
/>-->
|
/>-->
|
||||||
{#await import('$lib/inline-editor.svelte')}
|
{#await import('$lib/inline-editor.svelte')}
|
||||||
<Spinner my_20={false} />
|
<Spinner my_20={false} />
|
||||||
{:then c}
|
{:then c}
|
||||||
@@ -58,8 +63,9 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<div class="flex justify-center pt-10 w-full max-h-32">
|
<div class="flex justify-center pt-10 w-full max-h-32">
|
||||||
<textarea
|
<textarea
|
||||||
type="text"
|
type="text"
|
||||||
|
placeholder="Description"
|
||||||
bind:value={data.description}
|
bind:value={data.description}
|
||||||
class="p-3 rounded-lg border-gray-500 border text-center w-1/3 h-20 resize-none dark:bg-gray-500"
|
class="p-3 rounded-lg border-gray-500 border text-center w-1/3 h-20 resize-none dark:bg-gray-500 outline-none focus:shadow-2xl transition-all"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -134,12 +140,15 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<div class="grid grid-cols-3 w-fit h-fit gap-4">
|
<div class="grid grid-cols-3 w-fit h-fit gap-4">
|
||||||
<div
|
<div
|
||||||
class="max-w-full transition-all"
|
class="max-w-full transition-all"
|
||||||
class:pointer-events-none={custom_bg_color}
|
|
||||||
class:opacity-50={custom_bg_color}
|
class:opacity-50={custom_bg_color}
|
||||||
|
use:tippy={{ content: 'use the standard background', placement: 'left' }}
|
||||||
>
|
>
|
||||||
<div class="bg-gray-200 rounded-lg w-full h-full p-1">
|
<div
|
||||||
|
class="bg-gray-200 rounded-lg w-full h-full p-1"
|
||||||
|
class:pointer-events-none={custom_bg_color}
|
||||||
|
>
|
||||||
<span
|
<span
|
||||||
class="inline-block w-full h-full bg-gradient-to-r from-[#009444] via-[#39b54a] to-[#8dc63f] dark:bg-[#0f2702] dark:from-[#0f2702] dark:via-[#0f2702] dark:to[#0f2702]"
|
class="inline-block w-full h-full bg-[#d6edc9] dark:bg-[#4e6e58]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -160,11 +169,12 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class:pointer-events-none={!custom_bg_color}
|
|
||||||
class:opacity-50={!custom_bg_color}
|
class:opacity-50={!custom_bg_color}
|
||||||
class="transition-all"
|
class="transition-all"
|
||||||
|
use:tippy={{ content: 'Use your own background color', placement: 'right' }}
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
class:pointer-events-none={!custom_bg_color}
|
||||||
type="color"
|
type="color"
|
||||||
class="rounded-lg p-1 min-h-full hover:cursor-pointer border-black border"
|
class="rounded-lg p-1 min-h-full hover:cursor-pointer border-black border"
|
||||||
bind:value={data.background_color}
|
bind:value={data.background_color}
|
||||||
@@ -182,8 +192,8 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
data.background_image = undefined;
|
data.background_image = undefined;
|
||||||
}}
|
}}
|
||||||
class="mt-10 bg-red-500 p-2 rounded-lg border-2 border-black transition hover:bg-red-400"
|
class="mt-10 bg-red-500 p-2 rounded-lg border-2 border-black transition hover:bg-red-400"
|
||||||
>Remove Background-Image</button
|
>Remove Background-Image
|
||||||
>
|
</button>
|
||||||
{:else}
|
{:else}
|
||||||
{#await import('$lib/editor/uploader.svelte')}
|
{#await import('$lib/editor/uploader.svelte')}
|
||||||
<div class="pt-10">
|
<div class="pt-10">
|
||||||
|
|||||||
@@ -0,0 +1,466 @@
|
|||||||
|
{
|
||||||
|
"index_page": {
|
||||||
|
"select_answer": "اختر الإجابة",
|
||||||
|
"no_tracking": "لا تَتَبُّع",
|
||||||
|
"multilingual": "متعدد اللغات",
|
||||||
|
"view_results": "اعرض النتائج",
|
||||||
|
"choose_answer_wisely": "اختر إجابتك بحكمة",
|
||||||
|
"list_winners": "قائمة الفائزون",
|
||||||
|
"students_site": "موقع الطالِب",
|
||||||
|
"self_hostable": "مُستضاف ذاتيا",
|
||||||
|
"see_what_true_and_false": "رؤية ما هو صحيح أو خطأ",
|
||||||
|
"german_server": "خادم ألماني",
|
||||||
|
"teachers_site": "موقع المُعَلِّم",
|
||||||
|
"create_or_import": "إنشاء أو استيراد",
|
||||||
|
"dark_mode": "الوضع المظلم",
|
||||||
|
"why_classquiz": "لماذا ClassQuiz؟",
|
||||||
|
"quiz_results_downloadable": "",
|
||||||
|
"slogan": "",
|
||||||
|
"completely_free": "",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"user_friendly": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"stats": "",
|
||||||
|
"see_how_many_true_and_false": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"get_a_quiz": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"meta": {
|
||||||
|
"description": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"create_a_quiz_from_scratch": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"see_all_quizzes": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"register_page": {
|
||||||
|
"create_account": "",
|
||||||
|
"greeting": "",
|
||||||
|
"forgot_password?": "",
|
||||||
|
"already_have_account?": ""
|
||||||
|
},
|
||||||
|
"words": {
|
||||||
|
"delete": "",
|
||||||
|
"import": "",
|
||||||
|
"public": "",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"play": "",
|
||||||
|
"email": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"question": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"start": "",
|
||||||
|
"voting": "",
|
||||||
|
"pin": "",
|
||||||
|
"point": "",
|
||||||
|
"docs": "",
|
||||||
|
"description": "",
|
||||||
|
"settings": "",
|
||||||
|
"features": "",
|
||||||
|
"other": "",
|
||||||
|
"title": "",
|
||||||
|
"text": "",
|
||||||
|
"register": "",
|
||||||
|
"username": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"kick": "",
|
||||||
|
"url": "",
|
||||||
|
"explore": "",
|
||||||
|
"close": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"browser": "",
|
||||||
|
"stats": "",
|
||||||
|
"password": "",
|
||||||
|
"donating": "",
|
||||||
|
"save": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"search": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"name": "",
|
||||||
|
"answer": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"login": "",
|
||||||
|
"create": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"edit": "",
|
||||||
|
"overview": "",
|
||||||
|
"image": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"logout": ""
|
||||||
|
},
|
||||||
|
"edit_page": {
|
||||||
|
"success_update_body": "",
|
||||||
|
"success_update_title": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"overview_page": {
|
||||||
|
"question_count": "",
|
||||||
|
"created_at": "",
|
||||||
|
"no_quizzes": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"add_new_answer": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"right_or_true?": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": "",
|
||||||
|
"add_new_question": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": "",
|
||||||
|
"already_have_account": "",
|
||||||
|
"modal": {
|
||||||
|
"error": {
|
||||||
|
"description": {
|
||||||
|
"unexpected": "",
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"wrong_creds": "",
|
||||||
|
"unexpected": ""
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"success": "",
|
||||||
|
"description": {
|
||||||
|
"success": "",
|
||||||
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_or_create_account": "",
|
||||||
|
"welcome_back": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"create_page": {
|
||||||
|
"success": {
|
||||||
|
"title": "",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MPL-2.0
|
||||||
@@ -37,7 +37,69 @@
|
|||||||
"view": "Visualització",
|
"view": "Visualització",
|
||||||
"overview": "Resum",
|
"overview": "Resum",
|
||||||
"play": "Joc",
|
"play": "Joc",
|
||||||
"repeat_password": "Repetiu la contrasenya"
|
"repeat_password": "Repetiu la contrasenya",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"voting": "",
|
||||||
|
"point": "",
|
||||||
|
"other": "",
|
||||||
|
"text": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"donating": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"name": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"never": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"game_pin": ""
|
||||||
},
|
},
|
||||||
"login_page": {
|
"login_page": {
|
||||||
"already_have_account": "No teniu cap compte?",
|
"already_have_account": "No teniu cap compte?",
|
||||||
@@ -60,7 +122,9 @@
|
|||||||
"unexpected": "Error no esperat!"
|
"unexpected": "Error no esperat!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"login_or_create_account": "Inicia sessió o crea un compte"
|
"login_or_create_account": "Inicia sessió o crea un compte",
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": ""
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"get_results_and_stop_time": "Obtén els resultats i atura el temps",
|
"get_results_and_stop_time": "Obtén els resultats i atura el temps",
|
||||||
@@ -69,7 +133,19 @@
|
|||||||
"export_results": "Exporta els resultats",
|
"export_results": "Exporta els resultats",
|
||||||
"already_registered_as_admin": "Ja hi ha un administrador registrat per a aquest joc.",
|
"already_registered_as_admin": "Ja hi ha un administrador registrat per a aquest joc.",
|
||||||
"get_results": "Obtén els resultats",
|
"get_results": "Obtén els resultats",
|
||||||
"get_final_results": "Obtén els resultats finals"
|
"get_final_results": "Obtén els resultats finals",
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"start_by_showing_first_question": ""
|
||||||
},
|
},
|
||||||
"index_page": {
|
"index_page": {
|
||||||
"meta": {
|
"meta": {
|
||||||
@@ -81,11 +157,50 @@
|
|||||||
"2": "La principal característica és una funció d'importació de KAHOOT! que us permet d'importar qüestionaris de KAHOOT!"
|
"2": "La principal característica és una funció d'importació de KAHOOT! que us permet d'importar qüestionaris de KAHOOT!"
|
||||||
},
|
},
|
||||||
"stats": "Ja hi ha {{user_count}} usuaris i {{quiz_count}} qüestionaris a ClassQuiz.",
|
"stats": "Ja hi ha {{user_count}} usuaris i {{quiz_count}} qüestionaris a ClassQuiz.",
|
||||||
"slogan": "La plataforma de preguntes i respostes de codi obert!"
|
"slogan": "La plataforma de preguntes i respostes de codi obert!",
|
||||||
|
"quiz_results_downloadable": "",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"select_answer": "",
|
||||||
|
"user_friendly": "",
|
||||||
|
"no_tracking": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"see_how_many_true_and_false": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"multilingual": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"get_a_quiz": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"view_results": "",
|
||||||
|
"choose_answer_wisely": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"list_winners": "",
|
||||||
|
"students_site": "",
|
||||||
|
"self_hostable": "",
|
||||||
|
"see_what_true_and_false": "",
|
||||||
|
"german_server": "",
|
||||||
|
"create_a_quiz_from_scratch": "",
|
||||||
|
"teachers_site": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"create_or_import": "",
|
||||||
|
"dark_mode": "",
|
||||||
|
"why_classquiz": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"see_all_quizzes": "",
|
||||||
|
"completely_free": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"question_count": "Nombre de preguntes",
|
"question_count": "Nombre de preguntes",
|
||||||
"created_at": "Creat el"
|
"created_at": "Creat el",
|
||||||
|
"no_quizzes": ""
|
||||||
},
|
},
|
||||||
"register_page": {
|
"register_page": {
|
||||||
"create_account": "Crea un compte",
|
"create_account": "Crea un compte",
|
||||||
@@ -100,11 +215,36 @@
|
|||||||
"delete_question": "Esborra la qüestió",
|
"delete_question": "Esborra la qüestió",
|
||||||
"right_or_true?": "Correcte?",
|
"right_or_true?": "Correcte?",
|
||||||
"not_all_links_imgur_links": "No tots els enllaços són enllaços a Imgur!",
|
"not_all_links_imgur_links": "No tots els enllaços són enllaços a Imgur!",
|
||||||
"delete_answer": "Esborra la resposta"
|
"delete_answer": "Esborra la resposta",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"need_help": "Us cal ajuda?",
|
"need_help": "Us cal ajuda?",
|
||||||
"visit_docs": "Visiteu la documentació"
|
"visit_docs": "Visiteu la documentació",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "El qüestionari s'ha actualitzat correctament!",
|
"success_update_title": "El qüestionari s'ha actualitzat correctament!",
|
||||||
@@ -127,12 +267,205 @@
|
|||||||
"delete_this_session": "Esborra aquesta sessió",
|
"delete_this_session": "Esborra aquesta sessió",
|
||||||
"this_session?": "Aquesta sessió?",
|
"this_session?": "Aquesta sessió?",
|
||||||
"check_location": "Verifica la ubicació",
|
"check_location": "Verifica la ubicació",
|
||||||
"last_seen": "Última consulta"
|
"last_seen": "Última consulta",
|
||||||
|
"change_avatar": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"add_api_key": ""
|
||||||
},
|
},
|
||||||
"explore_page": {
|
"explore_page": {
|
||||||
"made_by": "Fet per"
|
"made_by": "Fet per",
|
||||||
|
"imported_by": ""
|
||||||
},
|
},
|
||||||
"search_page": {
|
"search_page": {
|
||||||
"at_least_3_characters": "Introduïu almenys 3 caràcters..."
|
"at_least_3_characters": "Introduïu almenys 3 caràcters...",
|
||||||
|
"nothing_here": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"self_ads": "",
|
||||||
|
"more_details_here": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,466 @@
|
|||||||
{}
|
{
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"register_page": {
|
||||||
|
"create_account": "",
|
||||||
|
"greeting": "",
|
||||||
|
"forgot_password?": "",
|
||||||
|
"already_have_account?": ""
|
||||||
|
},
|
||||||
|
"words": {
|
||||||
|
"delete": "",
|
||||||
|
"import": "",
|
||||||
|
"public": "",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"play": "",
|
||||||
|
"email": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"question": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"start": "",
|
||||||
|
"voting": "",
|
||||||
|
"pin": "",
|
||||||
|
"point": "",
|
||||||
|
"docs": "",
|
||||||
|
"description": "",
|
||||||
|
"settings": "",
|
||||||
|
"features": "",
|
||||||
|
"other": "",
|
||||||
|
"title": "",
|
||||||
|
"text": "",
|
||||||
|
"register": "",
|
||||||
|
"username": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"kick": "",
|
||||||
|
"url": "",
|
||||||
|
"explore": "",
|
||||||
|
"close": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"browser": "",
|
||||||
|
"stats": "",
|
||||||
|
"password": "",
|
||||||
|
"donating": "",
|
||||||
|
"save": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"search": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"name": "",
|
||||||
|
"answer": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"login": "",
|
||||||
|
"create": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"edit": "",
|
||||||
|
"overview": "",
|
||||||
|
"image": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"logout": ""
|
||||||
|
},
|
||||||
|
"edit_page": {
|
||||||
|
"success_update_body": "",
|
||||||
|
"success_update_title": ""
|
||||||
|
},
|
||||||
|
"index_page": {
|
||||||
|
"quiz_results_downloadable": "",
|
||||||
|
"slogan": "",
|
||||||
|
"completely_free": "",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"select_answer": "",
|
||||||
|
"user_friendly": "",
|
||||||
|
"no_tracking": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"stats": "",
|
||||||
|
"see_how_many_true_and_false": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"multilingual": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"get_a_quiz": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"view_results": "",
|
||||||
|
"choose_answer_wisely": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"meta": {
|
||||||
|
"description": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"list_winners": "",
|
||||||
|
"students_site": "",
|
||||||
|
"self_hostable": "",
|
||||||
|
"see_what_true_and_false": "",
|
||||||
|
"german_server": "",
|
||||||
|
"create_a_quiz_from_scratch": "",
|
||||||
|
"teachers_site": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"create_or_import": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"dark_mode": "",
|
||||||
|
"why_classquiz": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"see_all_quizzes": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"overview_page": {
|
||||||
|
"question_count": "",
|
||||||
|
"created_at": "",
|
||||||
|
"no_quizzes": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"add_new_answer": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"right_or_true?": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": "",
|
||||||
|
"add_new_question": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": "",
|
||||||
|
"already_have_account": "",
|
||||||
|
"modal": {
|
||||||
|
"error": {
|
||||||
|
"description": {
|
||||||
|
"unexpected": "",
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"wrong_creds": "",
|
||||||
|
"unexpected": ""
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"success": "",
|
||||||
|
"description": {
|
||||||
|
"success": "",
|
||||||
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_or_create_account": "",
|
||||||
|
"welcome_back": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"create_page": {
|
||||||
|
"success": {
|
||||||
|
"title": "",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -308,7 +308,8 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Suche nach eigenen Quiz",
|
"search_for_own_quizzes": "Suche nach eigenen Quiz",
|
||||||
"views_n_plays": "Aufrufe und Startversuche",
|
"views_n_plays": "Aufrufe und Startversuche",
|
||||||
"info_analytics": "Die \"Startversuche\" zeigen nur wie oft das Quiz gestartet wurde (auch von dir), wobei die \"Aufrufe\" zählen, wie oft das Quiz aufgerufen wurde (Bots werden auch gezählt)."
|
"info_analytics": "Die \"Startversuche\" zeigen nur wie oft das Quiz gestartet wurde (auch von dir), wobei die \"Aufrufe\" zählen, wie oft das Quiz aufgerufen wurde (Bots werden auch gezählt).",
|
||||||
|
"commandpalette_notice": "Drücke <kbd>Ctr</kbd>+<kbd>k</kbd> oder <kbd>Meta</kbd>+<kbd>k</kbd> um die Befehlspalette zu öffnen"
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"more_details_here": "Mehr Details hier",
|
"more_details_here": "Mehr Details hier",
|
||||||
|
|||||||
@@ -43,7 +43,9 @@
|
|||||||
"download_quizzes_content": "Quizzes can be downloaded as one file and imported at any time. This also lets you move your quizzes to other ClassQuiz instances.",
|
"download_quizzes_content": "Quizzes can be downloaded as one file and imported at any time. This also lets you move your quizzes to other ClassQuiz instances.",
|
||||||
"community_driven": "Community-driven",
|
"community_driven": "Community-driven",
|
||||||
"community_driven_content": "ClassQuiz depends on its community for funding, testing ideas, feature requests, translations and more! You can also be a part of the ClassQuiz-community!",
|
"community_driven_content": "ClassQuiz depends on its community for funding, testing ideas, feature requests, translations and more! You can also be a part of the ClassQuiz-community!",
|
||||||
"how_does_classquiz_work": "How does ClassQuiz even work?"
|
"how_does_classquiz_work": "How does ClassQuiz even work?",
|
||||||
|
"no_player_limit": "No player limit",
|
||||||
|
"no_player_limit_content": "ClassQuiz doesn't have an artificial player limit. In theory, 1000+ players could play the same quiz, but it's tested with up to 300 players per quiz."
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Created at",
|
"created_at": "Created at",
|
||||||
@@ -217,7 +219,10 @@
|
|||||||
"check_choice_description": "All correct answers have to be chosen to score points",
|
"check_choice_description": "All correct answers have to be chosen to score points",
|
||||||
"order_description": "Answers can be brought into the correct order",
|
"order_description": "Answers can be brought into the correct order",
|
||||||
"text_description": "Players can enter text",
|
"text_description": "Players can enter text",
|
||||||
"range_description": "A number-range can be selected with a slider"
|
"range_description": "A number-range can be selected with a slider",
|
||||||
|
"need_more_help": "Need more help?",
|
||||||
|
"visit_docs": "Visit the docs.",
|
||||||
|
"enter_answer": "Enter an answer"
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"need_help": "Need help?",
|
"need_help": "Need help?",
|
||||||
@@ -294,7 +299,8 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Search for your own quizzes",
|
"search_for_own_quizzes": "Search for your own quizzes",
|
||||||
"views_n_plays": "Views & Plays",
|
"views_n_plays": "Views & Plays",
|
||||||
"info_analytics": "The \"Plays\" only show how often the quiz was started (you included), whereas the \"Views\" count how often the \"View\"-page was visited, so it also counts bots (sorry for that)."
|
"info_analytics": "The \"Plays\" only show how often the quiz was started (you included), whereas the \"Views\" count how often the \"View\"-page was visited, so it also counts bots (sorry for that).",
|
||||||
|
"commandpalette_notice": "Press <kbd>Ctr</kbd>+<kbd>k</kbd> or <kbd>Meta</kbd>+<kbd>k</kbd> to open the command palette"
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"self_ads": "Made with ❤️ by {{mawoka_link}} and with the help of {{others_link}}.",
|
"self_ads": "Made with ❤️ by {{mawoka_link}} and with the help of {{others_link}}.",
|
||||||
|
|||||||
@@ -310,7 +310,8 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Busca tus propios quizzes",
|
"search_for_own_quizzes": "Busca tus propios quizzes",
|
||||||
"views_n_plays": "Vistas y reproducciones",
|
"views_n_plays": "Vistas y reproducciones",
|
||||||
"info_analytics": "Las \"Reproducciones\" sólo muestran la frecuencia con la que se ha iniciado el cuestionario (tú incluido), mientras que las \"Vistas\" cuentan la frecuencia con la que se ha visitado la página \"Vista\", por lo que también cuenta los bots (lo siento)."
|
"info_analytics": "Las \"Reproducciones\" sólo muestran la frecuencia con la que se ha iniciado el cuestionario (tú incluido), mientras que las \"Vistas\" cuentan la frecuencia con la que se ha visitado la página \"Vista\", por lo que también cuenta los bots (lo siento).",
|
||||||
|
"commandpalette_notice": "Pulsa <kbd>Ctr</kbd>+<kbd>k</kbd> o <kbd>Meta</kbd>+<kbd>k</kbd> para abrir la paleta de los comandos"
|
||||||
},
|
},
|
||||||
"uploader": {
|
"uploader": {
|
||||||
"add_image": "Añadir medios",
|
"add_image": "Añadir medios",
|
||||||
|
|||||||
@@ -111,12 +111,25 @@
|
|||||||
"library": "Bibliothèque",
|
"library": "Bibliothèque",
|
||||||
"speed": "Vitesse",
|
"speed": "Vitesse",
|
||||||
"upload": "Charger",
|
"upload": "Charger",
|
||||||
"files_library": "Bibliothèque de fichiers"
|
"files_library": "Bibliothèque de fichiers",
|
||||||
|
"unknown": " ",
|
||||||
|
"view_plural": "Vues",
|
||||||
|
"version": "Version",
|
||||||
|
"update": "Mettre à jour",
|
||||||
|
"never": "Jamais",
|
||||||
|
"analytics": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"info": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"like_plural": ""
|
||||||
},
|
},
|
||||||
"index_page": {
|
"index_page": {
|
||||||
"slogan": "La plateforme de quiz open-source !",
|
"slogan": "La plateforme de quiz open-source !",
|
||||||
"meta": {
|
"meta": {
|
||||||
"description": "ClassQuiz est une application de quiz comme Kahoot! pour les étudiants, libre et open-source",
|
"description": "ClassQuiz est une application de quiz permettant d'apprendre de manière interactive pour les étudiants, libre et open-source",
|
||||||
"title": "Accueil"
|
"title": "Accueil"
|
||||||
},
|
},
|
||||||
"features_description": {
|
"features_description": {
|
||||||
@@ -149,7 +162,7 @@
|
|||||||
"list_winners": "Lister les gagnants",
|
"list_winners": "Lister les gagnants",
|
||||||
"get_ranking_and_winners": "Avoir le classement et voir les gagnants",
|
"get_ranking_and_winners": "Avoir le classement et voir les gagnants",
|
||||||
"why_classquiz": "Pourquoi ClassQuiz ?",
|
"why_classquiz": "Pourquoi ClassQuiz ?",
|
||||||
"no_tracking_content": "Kahoot! vous trace et envoie vos données à des services tiers, mais pas Classquiz.",
|
"no_tracking_content": "Kahoot! vous suit et envoie ces informations à des tiers, mais pas ClassQuiz.",
|
||||||
"self_hostable_content": "ClassQuiz est facilement auto-hébergeable, vos données sont sous contrôle !",
|
"self_hostable_content": "ClassQuiz est facilement auto-hébergeable, vos données sont sous contrôle !",
|
||||||
"user_friendly_content": "ClassQuiz se veut simple d'utilisation, de manière à être utilisable par le plus grand nombre.",
|
"user_friendly_content": "ClassQuiz se veut simple d'utilisation, de manière à être utilisable par le plus grand nombre.",
|
||||||
"import_quiz_from_kahoot_and_edit": "Importer un quiz depuis Kahoot! et l'éditer sur ClassQuiz",
|
"import_quiz_from_kahoot_and_edit": "Importer un quiz depuis Kahoot! et l'éditer sur ClassQuiz",
|
||||||
@@ -168,7 +181,7 @@
|
|||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Crée le",
|
"created_at": "Crée le",
|
||||||
"question_count": "Nombre de question",
|
"question_count": "Nombre de question",
|
||||||
"no_quizzes": "Cliquez sur le bouton \"Créer\", ou importer un quiz depuis Kahoot! pour commencer."
|
"no_quizzes": "Cliquez sur le bouton \"Créer\" ou importez un quiz pour commencer."
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "Quiz mis à jour.",
|
"success_update_title": "Quiz mis à jour.",
|
||||||
@@ -220,7 +233,9 @@
|
|||||||
"classquiz_quiz": "Un quiz ClassQuiz",
|
"classquiz_quiz": "Un quiz ClassQuiz",
|
||||||
"upload_file_ending": "Téléchargez le fichier se terminant par .cqa",
|
"upload_file_ending": "Téléchargez le fichier se terminant par .cqa",
|
||||||
"url_should_look_like_this": "L'URL devrait ressembler à ceci : https://create.kahoot.it/details/...",
|
"url_should_look_like_this": "L'URL devrait ressembler à ceci : https://create.kahoot.it/details/...",
|
||||||
"this_side_classquiz": "De ce côté, vous pouvez importer des quiz, qui ont été exportés de ClassQuiz."
|
"this_side_classquiz": "De ce côté, vous pouvez importer des quiz, qui ont été exportés de ClassQuiz.",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": ""
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"already_registered_as_admin": "Il y a déjà un administrateur enregistré pour ce jeu.",
|
"already_registered_as_admin": "Il y a déjà un administrateur enregistré pour ce jeu.",
|
||||||
@@ -277,14 +292,17 @@
|
|||||||
"join_by_entering_code": "Participez en entrant le code suivant",
|
"join_by_entering_code": "Participez en entrant le code suivant",
|
||||||
"points_added": "Points ajoutés",
|
"points_added": "Points ajoutés",
|
||||||
"your_score": "Votre score : {{score}}",
|
"your_score": "Votre score : {{score}}",
|
||||||
"final_result_rank": "{{place}} : {{nom d'utilisateur}} avec {{points}} points"
|
"final_result_rank": "{{place}} : {{username}} avec {{points}} points"
|
||||||
},
|
},
|
||||||
"editor_page": {
|
"editor_page": {
|
||||||
"add_an_answer": "Ajouter une réponse",
|
"add_an_answer": "Ajouter une réponse",
|
||||||
"right_click_to_delete": "Faites un clic droit sur une réponse pour la supprimer !"
|
"right_click_to_delete": "Faites un clic droit sur une réponse pour la supprimer !"
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Cherchez dans vos quiz"
|
"search_for_own_quizzes": "Cherchez dans vos quiz",
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"info_analytics": ""
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"more_details_here": "Plus de détails ici",
|
"more_details_here": "Plus de détails ici",
|
||||||
@@ -300,7 +318,12 @@
|
|||||||
"select_upload_type": "Sélectionnez le type de téléchargement",
|
"select_upload_type": "Sélectionnez le type de téléchargement",
|
||||||
"upload_a_video": "Télécharger une vidéo",
|
"upload_a_video": "Télécharger une vidéo",
|
||||||
"upload_video": "Télécharger la vidéo",
|
"upload_video": "Télécharger la vidéo",
|
||||||
"upload_video_popup_notice": "La fenêtre contextuelle est ouverte ; jetez-y un coup d'œil pour obtenir de plus amples informations."
|
"upload_video_popup_notice": "La fenêtre contextuelle est ouverte ; jetez-y un coup d'œil pour obtenir de plus amples informations.",
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": ""
|
||||||
},
|
},
|
||||||
"quiztivity": {
|
"quiztivity": {
|
||||||
"editor": {
|
"editor": {
|
||||||
@@ -435,5 +458,16 @@
|
|||||||
},
|
},
|
||||||
"navbar": {
|
"navbar": {
|
||||||
"donate": "Faire un don"
|
"donate": "Faire un don"
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -294,7 +294,8 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Keresés a saját kvízek között",
|
"search_for_own_quizzes": "Keresés a saját kvízek között",
|
||||||
"views_n_plays": "Megtekintések és játékok",
|
"views_n_plays": "Megtekintések és játékok",
|
||||||
"info_analytics": "A \"Játékok\" csak azt mutatja, hogy milyen gyakran indult el a kvíz (beleértve), míg a \"Megtekintések\" azt számolja, hogy milyen gyakran látogatták meg a \"megtekintések\"-oldalt, tehát a botokat is számolja (elnézést érte)."
|
"info_analytics": "A \"Játékok\" csak azt mutatja, hogy milyen gyakran indult el a kvíz (beleértve), míg a \"Megtekintések\" azt számolja, hogy milyen gyakran látogatták meg a \"megtekintések\"-oldalt, tehát a botokat is számolja (elnézést érte).",
|
||||||
|
"commandpalette_notice": ""
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"self_ads": "Készítette: ❤️, {{mawoka_link}} segítői {{others_link}}.",
|
"self_ads": "Készítette: ❤️, {{mawoka_link}} segítői {{others_link}}.",
|
||||||
|
|||||||
@@ -26,10 +26,34 @@
|
|||||||
"quiz_results_downloadable": "Hasil kuis dapat diunduh",
|
"quiz_results_downloadable": "Hasil kuis dapat diunduh",
|
||||||
"multilingual": "Multibahasa",
|
"multilingual": "Multibahasa",
|
||||||
"dark_mode": "Mode gelap",
|
"dark_mode": "Mode gelap",
|
||||||
"get_a_quiz": "1. Dapatkan kuis"
|
"get_a_quiz": "1. Dapatkan kuis",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"select_answer": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"view_results": "",
|
||||||
|
"choose_answer_wisely": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"list_winners": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"why_classquiz": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"question_count": "Jumlah pertanyaan"
|
"question_count": "Jumlah pertanyaan",
|
||||||
|
"created_at": "",
|
||||||
|
"no_quizzes": ""
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "Berhasil memperbarui kuis!",
|
"success_update_title": "Berhasil memperbarui kuis!",
|
||||||
@@ -54,18 +78,23 @@
|
|||||||
"success": {
|
"success": {
|
||||||
"success": "Berhasil Masuk!",
|
"success": "Berhasil Masuk!",
|
||||||
"description": {
|
"description": {
|
||||||
"success": "Berhasil masuk!"
|
"success": "Berhasil masuk!",
|
||||||
}
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"wrong_creds": "Surel atau kata sandi tidak tepat!",
|
"wrong_creds": "Surel atau kata sandi tidak tepat!",
|
||||||
"unexpected": "Kesalahan tak terduga!",
|
"unexpected": "Kesalahan tak terduga!",
|
||||||
"description": {
|
"description": {
|
||||||
"wrong_creds": "Harap pastikan kata sandimu dan surelmu benar!"
|
"wrong_creds": "Harap pastikan kata sandimu dan surelmu benar!",
|
||||||
|
"unexpected": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"login_or_create_account": "Masuk atau buat akun"
|
"login_or_create_account": "Masuk atau buat akun",
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": ""
|
||||||
},
|
},
|
||||||
"words": {
|
"words": {
|
||||||
"question": "Pertanyaan",
|
"question": "Pertanyaan",
|
||||||
@@ -96,7 +125,78 @@
|
|||||||
"save": "Simpan",
|
"save": "Simpan",
|
||||||
"docs": "Dokumentasi",
|
"docs": "Dokumentasi",
|
||||||
"close": "Tutup",
|
"close": "Tutup",
|
||||||
"description": "Keterangan"
|
"description": "Keterangan",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"play": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"voting": "",
|
||||||
|
"point": "",
|
||||||
|
"features": "",
|
||||||
|
"other": "",
|
||||||
|
"text": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"stats": "",
|
||||||
|
"donating": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"name": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"overview": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"game_pin": ""
|
||||||
},
|
},
|
||||||
"editor": {
|
"editor": {
|
||||||
"right_or_true?": "Benar?",
|
"right_or_true?": "Benar?",
|
||||||
@@ -104,11 +204,37 @@
|
|||||||
"add_new_question": "Tambahkan pertanyaan",
|
"add_new_question": "Tambahkan pertanyaan",
|
||||||
"delete_question": "Hapus pertanyaan",
|
"delete_question": "Hapus pertanyaan",
|
||||||
"delete_answer": "Hapus jawaban",
|
"delete_answer": "Hapus jawaban",
|
||||||
"time_in_seconds": "Waktu dalam detik"
|
"time_in_seconds": "Waktu dalam detik",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"need_help": "Butuh bantuan?",
|
"need_help": "Butuh bantuan?",
|
||||||
"visit_docs": "Lihat dokumentasi"
|
"visit_docs": "Lihat dokumentasi",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"start_game": "Mulai permainan",
|
"start_game": "Mulai permainan",
|
||||||
@@ -116,13 +242,231 @@
|
|||||||
"get_results_and_stop_time": "Terima hasil dan hentikan waktu",
|
"get_results_and_stop_time": "Terima hasil dan hentikan waktu",
|
||||||
"get_final_results": "Terima hasil akhir",
|
"get_final_results": "Terima hasil akhir",
|
||||||
"export_results": "Ekspor hasil",
|
"export_results": "Ekspor hasil",
|
||||||
"time_left": "Waktu tersisa"
|
"time_left": "Waktu tersisa",
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"start_by_showing_first_question": ""
|
||||||
},
|
},
|
||||||
"settings_page": {
|
"settings_page": {
|
||||||
"old_password": "Kata sandi lama",
|
"old_password": "Kata sandi lama",
|
||||||
"new_password": "Kata sandi baru",
|
"new_password": "Kata sandi baru",
|
||||||
"change_password_submit": "Ubah kata sandi!",
|
"change_password_submit": "Ubah kata sandi!",
|
||||||
"last_seen": "Terakhir terlihat",
|
"last_seen": "Terakhir terlihat",
|
||||||
"repeat_password": "Ulangi kata sandi"
|
"repeat_password": "Ulangi kata sandi",
|
||||||
|
"change_avatar": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"check_location": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"self_ads": "",
|
||||||
|
"more_details_here": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"index_page": {
|
"index_page": {
|
||||||
"meta": {
|
"meta": {
|
||||||
"title": "Home",
|
"title": "Home",
|
||||||
"description": "ClassQuiz è un'app di quiz per gli studenti come Kahoot!, open source e gratuita"
|
"description": "ClassQuiz è un'app di quiz per imparare in modo interattivi per gli studenti, open source e gratuita"
|
||||||
},
|
},
|
||||||
"features_description": {
|
"features_description": {
|
||||||
"1": "ClassQuiz è una webapp per creare e gestire quiz.",
|
"1": "ClassQuiz è una webapp per creare e gestire quiz.",
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
"dark_mode": "Modalità Notte",
|
"dark_mode": "Modalità Notte",
|
||||||
"quiz_results_downloadable_content": "I risultati dei quiz possono essere facilmente esportati in un foglio Excel. (Non sapevo che altri non potessero farlo)",
|
"quiz_results_downloadable_content": "I risultati dei quiz possono essere facilmente esportati in un foglio Excel. (Non sapevo che altri non potessero farlo)",
|
||||||
"multilingual_content": "ClassQuiz è già disponibile in inglese, francese, tedesco, italiano, norvegese, turco, e parzialmente in indonesiano e in catalano.",
|
"multilingual_content": "ClassQuiz è già disponibile in inglese, francese, tedesco, italiano, norvegese, turco, e parzialmente in indonesiano e in catalano.",
|
||||||
"no_tracking_content": "Kahoot! ti traccia e invia le tue informazioni a terza parti, ma ClassQuiz, no.",
|
"no_tracking_content": "Altri ti tracciano e inviano le tue informazioni a terze parti, ma ClassQuiz non lo fa.",
|
||||||
"no_tracking": "Senza tracking",
|
"no_tracking": "Senza tracciamento",
|
||||||
"self_hostable": "È possibile fare hosting autonomo",
|
"self_hostable": "È possibile fare hosting autonomo",
|
||||||
"german_server": "Server tedesco",
|
"german_server": "Server tedesco",
|
||||||
"user_friendly": "Facile da usare",
|
"user_friendly": "Facile da usare",
|
||||||
@@ -38,9 +38,9 @@
|
|||||||
"view_results": "Visualizza i risultati",
|
"view_results": "Visualizza i risultati",
|
||||||
"check_if_chosen_wisely": "Controlla se hai scelto correttamente",
|
"check_if_chosen_wisely": "Controlla se hai scelto correttamente",
|
||||||
"list_winners": "Elenco vincitori",
|
"list_winners": "Elenco vincitori",
|
||||||
"get_ranking_and_winners": "Vedi la classifica e chi ha vinto",
|
"get_ranking_and_winners": "Vedi la classifica e guarda chi ha vinto",
|
||||||
"why_classquiz": "Perché ClassQuiz?",
|
"why_classquiz": "Perché ClassQuiz?",
|
||||||
"self_hostable_content": "Con ClassQuiz si può fare facilmente hosting autonomo, così i dati sono in tuo controllo!",
|
"self_hostable_content": "Con ClassQuiz si può fare facilmente un hosting autonomo, così i dati sono in tuo controllo!",
|
||||||
"user_friendly_content": "ClassQuiz cerca di essere semplice, così può essere usato da tutti.",
|
"user_friendly_content": "ClassQuiz cerca di essere semplice, così può essere usato da tutti.",
|
||||||
"dark_mode_content": "Una delle caratteristiche più importanti che un sito web possa avere!",
|
"dark_mode_content": "Una delle caratteristiche più importanti che un sito web possa avere!",
|
||||||
"german_server_content": "I server di ClassQuiz si trovano in Germania e sono ospitati da netcup.",
|
"german_server_content": "I server di ClassQuiz si trovano in Germania e sono ospitati da netcup.",
|
||||||
@@ -48,12 +48,13 @@
|
|||||||
"download_quizzes": "Scarica i quiz",
|
"download_quizzes": "Scarica i quiz",
|
||||||
"community_driven": "Guidati dalla comunità",
|
"community_driven": "Guidati dalla comunità",
|
||||||
"community_driven_content": "ClassQuiz dipende dalla sua comunità per finanziamenti, idee di test, richieste di funzionalità, traduzioni e altro! Anche tu puoi far parte della comunità di ClassQuiz!",
|
"community_driven_content": "ClassQuiz dipende dalla sua comunità per finanziamenti, idee di test, richieste di funzionalità, traduzioni e altro! Anche tu puoi far parte della comunità di ClassQuiz!",
|
||||||
"completely_free_content": "ClassQuiz è completamente gratuito (per l'utente), senza piani a pagamento o fastidiose richieste di aggiornamento. Le donazioni sono molto apprezzate."
|
"completely_free_content": "ClassQuiz è completamente gratuito (per l'utente), senza piani a pagamento o fastidiose richieste di aggiornamento. Le donazioni sono molto apprezzate.",
|
||||||
|
"how_does_classquiz_work": "Come funziona ClassQuiz?"
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Creato il",
|
"created_at": "Creato il",
|
||||||
"question_count": "Numero domande",
|
"question_count": "Numero domande",
|
||||||
"no_quizzes": "Clicca sul pulsante \"Crea\", o importa un quiz da Kahoot! per iniziare."
|
"no_quizzes": "Clicca sul pulsante \"Crea\", o importa un quiz per iniziare."
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "Quiz aggiornato.",
|
"success_update_title": "Quiz aggiornato.",
|
||||||
@@ -76,7 +77,7 @@
|
|||||||
"already_have_account": "Non hai un account?",
|
"already_have_account": "Non hai un account?",
|
||||||
"modal": {
|
"modal": {
|
||||||
"success": {
|
"success": {
|
||||||
"success_check_mail": "Accesso effettuato. Controlla la mail.",
|
"success_check_mail": "Accesso effettuato. Controlla la tua mail.",
|
||||||
"success": "Accesso effettuato.",
|
"success": "Accesso effettuato.",
|
||||||
"description": {
|
"description": {
|
||||||
"success": "Accesso effettuato.",
|
"success": "Accesso effettuato.",
|
||||||
@@ -87,7 +88,7 @@
|
|||||||
"wrong_creds": "Indirizzo e-mail o password errati.",
|
"wrong_creds": "Indirizzo e-mail o password errati.",
|
||||||
"unexpected": "Errore imprevisto!",
|
"unexpected": "Errore imprevisto!",
|
||||||
"description": {
|
"description": {
|
||||||
"unexpected": "È accaduto il buon vecco errore inatteso!",
|
"unexpected": "È accaduto il buon vecchio errore inatteso!",
|
||||||
"wrong_creds": "Per favore, assicurati che la tua password e l'indirizzo e-mail siano corretti."
|
"wrong_creds": "Per favore, assicurati che la tua password e l'indirizzo e-mail siano corretti."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -105,10 +106,10 @@
|
|||||||
"email": "Indirizzo e-mail",
|
"email": "Indirizzo e-mail",
|
||||||
"username": "Nome utente",
|
"username": "Nome utente",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"play": "Avvia",
|
"play": "Gioca",
|
||||||
"delete": "Elimina",
|
"delete": "Elimina",
|
||||||
"public": "Pubblica",
|
"public": "Pubblica",
|
||||||
"start": "Avvia",
|
"start": "Inizia",
|
||||||
"create": "Crea",
|
"create": "Crea",
|
||||||
"import": "Importa",
|
"import": "Importa",
|
||||||
"logout": "Esci dall'account",
|
"logout": "Esci dall'account",
|
||||||
@@ -117,7 +118,7 @@
|
|||||||
"submit": "Invia",
|
"submit": "Invia",
|
||||||
"connect": "Connetti",
|
"connect": "Connetti",
|
||||||
"pin": "PIN",
|
"pin": "PIN",
|
||||||
"kick": "Avvia",
|
"kick": "Espelli",
|
||||||
"docs": "Documentazione",
|
"docs": "Documentazione",
|
||||||
"close": "Chiudi",
|
"close": "Chiudi",
|
||||||
"save": "Salva",
|
"save": "Salva",
|
||||||
@@ -153,7 +154,7 @@
|
|||||||
"voting": "Votazione",
|
"voting": "Votazione",
|
||||||
"download": "Scarica",
|
"download": "Scarica",
|
||||||
"text": "Testo",
|
"text": "Testo",
|
||||||
"order": "ordine",
|
"order": "Ordine",
|
||||||
"totp": "Password momentanea",
|
"totp": "Password momentanea",
|
||||||
"continue": "Continua",
|
"continue": "Continua",
|
||||||
"backup_code": "Codice di backup",
|
"backup_code": "Codice di backup",
|
||||||
@@ -161,7 +162,42 @@
|
|||||||
"note": "Nota",
|
"note": "Nota",
|
||||||
"player_plural": "Giocatori",
|
"player_plural": "Giocatori",
|
||||||
"score": "Punteggio",
|
"score": "Punteggio",
|
||||||
"find": "Trova"
|
"find": "Trova",
|
||||||
|
"next": "Successivo",
|
||||||
|
"point": "Punto",
|
||||||
|
"version": "Versione",
|
||||||
|
"update": "Aggiorna",
|
||||||
|
"slide": "Diapositiva",
|
||||||
|
"view_plural": "Viste",
|
||||||
|
"point_plural": "Punti",
|
||||||
|
"select": "Seleziona",
|
||||||
|
"name": "Nome",
|
||||||
|
"quiztivity": "Quiztivity",
|
||||||
|
"finish": "Termina",
|
||||||
|
"normal": "Normale",
|
||||||
|
"selected": "Selezionato",
|
||||||
|
"unknown": "Sconosciuto",
|
||||||
|
"back": "Indietro",
|
||||||
|
"never": "Mai",
|
||||||
|
"quiz": "Quiz",
|
||||||
|
"upload": "Carica",
|
||||||
|
"no": "no",
|
||||||
|
"speed": "Velocità",
|
||||||
|
"files_library": "Biblioteca dei file",
|
||||||
|
"answer_plural": "Risposte",
|
||||||
|
"rating": "Valutazione",
|
||||||
|
"video": "Video",
|
||||||
|
"info": "Info",
|
||||||
|
"yes": "Sì",
|
||||||
|
"like": "Mi piace",
|
||||||
|
"progress": "Progressi",
|
||||||
|
"library": "Biblioteca",
|
||||||
|
"analytics": "Statistiche",
|
||||||
|
"play_plural": "Giochi",
|
||||||
|
"dislike_plural": "Non mi piace",
|
||||||
|
"dislike": "Non mi piace",
|
||||||
|
"like_plural": "Mi piace",
|
||||||
|
"check_choice": ""
|
||||||
},
|
},
|
||||||
"editor": {
|
"editor": {
|
||||||
"right_or_true?": "Corretto?",
|
"right_or_true?": "Corretto?",
|
||||||
@@ -170,7 +206,24 @@
|
|||||||
"delete_question": "Elimina domanda",
|
"delete_question": "Elimina domanda",
|
||||||
"delete_answer": "Elimina risposta",
|
"delete_answer": "Elimina risposta",
|
||||||
"time_in_seconds": "Tempo in secondi",
|
"time_in_seconds": "Tempo in secondi",
|
||||||
"not_all_links_imgur_links": "Non tutti i link sono Imgur-links!"
|
"not_all_links_imgur_links": "Non tutti i link sono Imgur-links!",
|
||||||
|
"check_choice_description": "Per assegnare i punti bisogna selezionare tutte le risposte corrette",
|
||||||
|
"text_description": "I giocatori possono inserire il testo",
|
||||||
|
"order_description": "Le risposte devono essere inserite nell'ordine corretto",
|
||||||
|
"slide": {
|
||||||
|
"headline": "Intestazione",
|
||||||
|
"headline_description": "Un testo in grassetto per le intestazioni",
|
||||||
|
"rectangle": "Rettangolo",
|
||||||
|
"rectangle_description": "Solo un rettangolo",
|
||||||
|
"text": "Testo",
|
||||||
|
"text_description": "Testo più piccolo e più lungo"
|
||||||
|
},
|
||||||
|
"voting_description": "Le risposte non aggiungono nessun punto",
|
||||||
|
"range_description": "Un intervallo di numeri può essere selezionato con il cursore",
|
||||||
|
"empty": "Vuoto...",
|
||||||
|
"abcd_description": "Si può scegliere solo una risposta",
|
||||||
|
"bg_image": "Immagine di sfondo",
|
||||||
|
"no_title": "Nessun titolo..."
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"need_help": "Hai bisogno di aiuto?",
|
"need_help": "Hai bisogno di aiuto?",
|
||||||
@@ -180,13 +233,15 @@
|
|||||||
"side_import_kahoot": "Da questa parte è possibile importare i quiz di Kahoot!.",
|
"side_import_kahoot": "Da questa parte è possibile importare i quiz di Kahoot!.",
|
||||||
"a_kahoot_quiz": "Un quiz di Kahoot",
|
"a_kahoot_quiz": "Un quiz di Kahoot",
|
||||||
"classquiz_quiz": "Un quiz di ClassQuiz",
|
"classquiz_quiz": "Un quiz di ClassQuiz",
|
||||||
"upload_file_ending": "Carica il file che termina con .cqa"
|
"upload_file_ending": "Carica il file che termina con .cqa o .xlsx",
|
||||||
|
"this_side_classquiz_excel": "Puoi anche caricare un file excel se hai compilato il seguente modello.",
|
||||||
|
"download_template_here": "Scarica il modello"
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"already_registered_as_admin": "C'è già un amministratore registrato per questo quiz.",
|
"already_registered_as_admin": "C'è già un amministratore registrato per questo quiz.",
|
||||||
"start_game": "Avvia quiz",
|
"start_game": "Avvia quiz",
|
||||||
"time_left": "Tempo rimasto",
|
"time_left": "Tempo rimasto",
|
||||||
"get_results": "Risultati",
|
"get_results": "Ottieni i risultati",
|
||||||
"export_results": "Esporta i risultati",
|
"export_results": "Esporta i risultati",
|
||||||
"show_next_question": "Mostra la prossima domanda",
|
"show_next_question": "Mostra la prossima domanda",
|
||||||
"no_answers": "Nessuna risposta!",
|
"no_answers": "Nessuna risposta!",
|
||||||
@@ -194,7 +249,14 @@
|
|||||||
"start_by_showing_first_question": "Avvia mostrando la prima domanda.",
|
"start_by_showing_first_question": "Avvia mostrando la prima domanda.",
|
||||||
"get_results_and_stop_time": "Raccogli i risultati e ferma il tempo",
|
"get_results_and_stop_time": "Raccogli i risultati e ferma il tempo",
|
||||||
"stop_time": "Ferma il cronometro",
|
"stop_time": "Ferma il cronometro",
|
||||||
"save_results": "Salva i risultati"
|
"save_results": "Salva i risultati",
|
||||||
|
"stop_time_and_solutions": "Ferma il tempo e mostra le soluzioni",
|
||||||
|
"request_export_results": "Richiedi il download del risultato",
|
||||||
|
"show_results": "Mostra i risultati",
|
||||||
|
"enter_answer_into_field": "Inserisci la tua risposta nel campo inserimento!",
|
||||||
|
"answers_submitted": "{{answer_count}} Risposte inviate",
|
||||||
|
"download_export_results": "Scarica i risultati",
|
||||||
|
"next_question": "Prossima domanda ({{question}})"
|
||||||
},
|
},
|
||||||
"password_reset_page": {
|
"password_reset_page": {
|
||||||
"reset_password": "Resetta la password"
|
"reset_password": "Resetta la password"
|
||||||
@@ -207,7 +269,10 @@
|
|||||||
"check_location": "Verifica il luogo",
|
"check_location": "Verifica il luogo",
|
||||||
"this_session?": "Questa sessione?",
|
"this_session?": "Questa sessione?",
|
||||||
"last_seen": "Visto l'ultima volta",
|
"last_seen": "Visto l'ultima volta",
|
||||||
"delete_this_session": "Elimina questa sessione"
|
"delete_this_session": "Elimina questa sessione",
|
||||||
|
"change_avatar": "Cambia l'avatar",
|
||||||
|
"security_settings": "Impostazioni della sicurezza",
|
||||||
|
"add_api_key": "Aggiungi una chiave API"
|
||||||
},
|
},
|
||||||
"explore_page": {
|
"explore_page": {
|
||||||
"made_by": "Creato da",
|
"made_by": "Creato da",
|
||||||
@@ -218,7 +283,12 @@
|
|||||||
"1st_place": "1° posto",
|
"1st_place": "1° posto",
|
||||||
"2nd_place": "2° posto",
|
"2nd_place": "2° posto",
|
||||||
"3rd place": "3° posto",
|
"3rd place": "3° posto",
|
||||||
"with_out_of": "con {{correct_questions}} su {{total_question_count}}"
|
"with_out_of": "con {{correct_questions}} su {{total_question_count}}",
|
||||||
|
"join_description": "Vai a {{url}} e inserisci {{pin}}.",
|
||||||
|
"points_added": "Punti aggiunti",
|
||||||
|
"final_result_rank": "{{place}}: {{username}} con {{points}} punti",
|
||||||
|
"your_score": "Il tuo punteggio: {{score}}",
|
||||||
|
"join_by_entering_code": "Entra inserendo il seguente codice"
|
||||||
},
|
},
|
||||||
"editor_page": {
|
"editor_page": {
|
||||||
"add_an_answer": "Aggiungi una risposta",
|
"add_an_answer": "Aggiungi una risposta",
|
||||||
@@ -229,7 +299,10 @@
|
|||||||
"nothing_here": "Non c'è nulla qua..."
|
"nothing_here": "Non c'è nulla qua..."
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Cerca fra i tuoi quiz"
|
"search_for_own_quizzes": "Cerca fra i tuoi quiz",
|
||||||
|
"commandpalette_notice": "Premi <kbd>Ctrl</kbd>+<kbd>k</kbd> o <kbd>Meta</kbd>+<kbd>k</kbd> per aprire la scheda dei comandi",
|
||||||
|
"views_n_plays": "Visti e Giocati",
|
||||||
|
"info_analytics": "I \"Giocati\" mostrano solo la frequenza con cui il quiz è stato avviato (voi compresi), mentre le \"Visti\" contano la frequenza con cui la pagina \"Vista\" è stata visitata, quindi contano anche i bot (scusate)."
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"self_ads": "Realizzato con ❤️ da {{mawoka_link}} e con l'aiuto di {{others_link}}.",
|
"self_ads": "Realizzato con ❤️ da {{mawoka_link}} e con l'aiuto di {{others_link}}.",
|
||||||
@@ -250,16 +323,29 @@
|
|||||||
"facial_hair_color": "Colore dei peli del viso",
|
"facial_hair_color": "Colore dei peli del viso",
|
||||||
"mouth_type": "Bocca",
|
"mouth_type": "Bocca",
|
||||||
"clothe_color": "Colore dei vestiti",
|
"clothe_color": "Colore dei vestiti",
|
||||||
"start_over": "Ricomincia da capo"
|
"start_over": "Ricomincia da capo",
|
||||||
|
"go_back": "Torna indietro"
|
||||||
},
|
},
|
||||||
"uploader": {
|
"uploader": {
|
||||||
"add_image": "Aggiungi immagine"
|
"add_image": "Aggiungi media",
|
||||||
|
"images_by_pixabay": "Immagini fornite da Pixabay",
|
||||||
|
"upload_video_popup_notice": "La finestra popup è aperta; dalle un'occhiata per altre informazioni",
|
||||||
|
"select_upload_type": "Seleziona il tipo di caricamento (upload)",
|
||||||
|
"upload_a_video": "Carica un video",
|
||||||
|
"next_page": "Pagina successiva",
|
||||||
|
"visit_pixabay": "Visita Pixabay",
|
||||||
|
"previous_page": "Pagina precedente",
|
||||||
|
"search_english_only": "La ricerca funziona solo in inglese",
|
||||||
|
"upload_video": "Carica video"
|
||||||
},
|
},
|
||||||
"results_page": {
|
"results_page": {
|
||||||
"no_results_so_far": "Nessun risultato salvato finora...",
|
"no_results_so_far": "Nessun risultato salvato finora...",
|
||||||
"quiz_title": "Titolo del quiz",
|
"quiz_title": "Titolo del quiz",
|
||||||
"date_played": "Data della partita",
|
"date_played": "Data della partita",
|
||||||
"player_count": "Numero dei giocatori"
|
"player_count": "Numero dei giocatori",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": "Il quiz \"{{title}}\", che è stato eseguito il {{date}} aveva {{player_count}} giocatori con un punteggio medio di {{average_score}}."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"result_page": {
|
"result_page": {
|
||||||
"player_name": "Nome del giocatore",
|
"player_name": "Nome del giocatore",
|
||||||
@@ -267,10 +353,121 @@
|
|||||||
"average_score": "Punteggio medio: {{average_score}}",
|
"average_score": "Punteggio medio: {{average_score}}",
|
||||||
"correct_answer": "{{count}} risposta corretta",
|
"correct_answer": "{{count}} risposta corretta",
|
||||||
"correct_answer_plural": "{{count}} risposte corrette",
|
"correct_answer_plural": "{{count}} risposte corrette",
|
||||||
"time_taken": "Tempo impiegato"
|
"time_taken": "Tempo impiegato",
|
||||||
|
"player_score": "Punteggio del giocatore"
|
||||||
},
|
},
|
||||||
"error_page": {
|
"error_page": {
|
||||||
"404_text": "La pagina che stavi cercando è sparita o non è mai esistita. Chi lo sa?",
|
"404_text": "La pagina che stavi cercando è sparita o non è mai esistita. Chi lo sa?",
|
||||||
"unknown_error_text": "Questo non dovrebbe succedere. Probabilmente è colpa mia, non tua, oppure forse tu hai il potere magico di rompere le cose..."
|
"unknown_error_text": "Questo non dovrebbe succedere. Probabilmente è colpa mia, non tua, oppure forse tu hai il potere magico di rompere le cose..."
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "Ottieni codice backup",
|
||||||
|
"enable_totp": "Abilita Totp",
|
||||||
|
"disable_totp": "Disabilita Totp",
|
||||||
|
"backup_code": "Codice backp",
|
||||||
|
"2fa_deactivated": "L'autenticazione a due fattori è disattivata",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "Codice di download",
|
||||||
|
"your_backup_code": "Il tuo codice di backup",
|
||||||
|
"save_somewhere_save": "Salvalo in un posto sicuro!"
|
||||||
|
},
|
||||||
|
"totp_unavailable": "Totp non è disponibile",
|
||||||
|
"2fa_activated": "L'autenticazione a due fattori è attivata",
|
||||||
|
"add_security_key": "Aggiungi una chiave di sicurezza",
|
||||||
|
"activate_2fa": "Attiva autenticazione a due fattori",
|
||||||
|
"webauthn_unavailable": "Webauthn non è disponibile",
|
||||||
|
"totp_available": "Totp è disponibile",
|
||||||
|
"webauthn_available": "Webauthn è disponibile",
|
||||||
|
"totp_setup": {
|
||||||
|
"do_not_forget_backup_code": "Non dimenticare di salvare il tuo codice di recupero!",
|
||||||
|
"enter_as_secret_if_no_see_code": "Inserisci questo come segreto se non puoi scansionare il codice QR",
|
||||||
|
"scan_to_set_up": "Scansiona questo codice QR per impostare il codice",
|
||||||
|
"totp_setup": "Impostazione Topt"
|
||||||
|
},
|
||||||
|
"webauthn": "Webauthn",
|
||||||
|
"totp": "Password momentanea"
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "Creato da",
|
||||||
|
"view_on_kahoot": "Vedi nell'originale"
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"cancel_update": "Cancella aggiornamento!",
|
||||||
|
"player_name": "Nome del giocatore",
|
||||||
|
"already_latest_version": "Stai già usando l'ultima versione",
|
||||||
|
"update_from_to": "Aggiorna da {{current_version}} a {{newest_version}}",
|
||||||
|
"version_overview": "La versione più recente disponibile è {{newest_version}} e la versione {{current_version}} è installata.",
|
||||||
|
"last_seen": "Visto l'ultima volta",
|
||||||
|
"add_new_controller": "Aggiungi un nuovo controllore",
|
||||||
|
"controller_name": "Nome del controllore",
|
||||||
|
"first_seen": "Visto per la prima volta"
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode": "Vecchia scuola",
|
||||||
|
"old_school_mode_description": "Domande e immagini verranno mostrate sia sulla schermo degli admin che su quello dei giocatori",
|
||||||
|
"start_game": "Avvio del gioco",
|
||||||
|
"captcha_message": "Se abilitato, il ReCaptcha Google verrà caricato nel browser dei giocatori. Abilitalo solo se è veramente necessario, dato che è necessario il consenso di OGNI giocatore per caricare il captcha.",
|
||||||
|
"normal_mode_description": "La domanda e la risposta verranno visualizzate solo sullo schermo dell'amministratore. I giocatori avranno solo i pulsanti colorati con i simboli corrispondenti sullo schermo dell'amministratore."
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": "Dona"
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "Aggiungi nuovo",
|
||||||
|
"move_left": "Sposta a sinistra",
|
||||||
|
"title_placeholder": "Inserisci il titolo qui",
|
||||||
|
"delete": "Elimina",
|
||||||
|
"select_page_type": "Seleziona il tipo di pagina",
|
||||||
|
"move_right": "Sposta a destra",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "Non scade mai",
|
||||||
|
"expires_on": "Scade il {{date}}",
|
||||||
|
"add_new_share": "Aggiungi nuova Condivisione"
|
||||||
|
},
|
||||||
|
"open_shares_menu": "Apri il menu Condividi"
|
||||||
|
},
|
||||||
|
"share_expired": "Condivisione scaduta",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": "Tentativi: {{try_count}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "Aggiungi scheda",
|
||||||
|
"add_pair": "Aggiungi coppia",
|
||||||
|
"upload_image": "Carica immagine"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "Non impostato",
|
||||||
|
"missing": "MANCANTE!",
|
||||||
|
"size": "Dimensione: {{size}} Mb",
|
||||||
|
"not_available": "Non disponibile",
|
||||||
|
"caption": "Didascalia: {{caption}}",
|
||||||
|
"imported": "Importato: {{yes_or_no}}",
|
||||||
|
"filename": "Nome del file: {{filename}}",
|
||||||
|
"uploaded": "Caricato il: {{date}}",
|
||||||
|
"edit_details": "Modifica i dettagli",
|
||||||
|
"filename_word": "Nome del file",
|
||||||
|
"delete_image": "Elimina immagine",
|
||||||
|
"edit_the_image": "Modifica immagine",
|
||||||
|
"alt_text": "Testo alternativo/Didascalia",
|
||||||
|
"storage_usage": "Hai utilizzato {{used}} Mb su {{total}} Mb di spazio disponibile. Corrisponde a {{percent}}% dello spazio."
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "Questo utente non ha nessun quiz originale",
|
||||||
|
"joined_on": "Iscritto il {{date}}"
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": "Copiato negli appunti!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "Tempo rimanente",
|
||||||
|
"time_elapsed": "Tempo trascorso"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,8 @@
|
|||||||
"import_quiz_from_kahoot_and_edit": "Importer en spørrekonkurranse fra Kahoot! og rediger den i CrassQuiz",
|
"import_quiz_from_kahoot_and_edit": "Importer en spørrekonkurranse fra Kahoot! og rediger den i CrassQuiz",
|
||||||
"completely_free_content": "ClassQuiz er helt kostnadsfritt (for brukeren), uten betalte planer eller irriterende videresending til en oppgraderingsside. Donasjoner verdsettes høyt.",
|
"completely_free_content": "ClassQuiz er helt kostnadsfritt (for brukeren), uten betalte planer eller irriterende videresending til en oppgraderingsside. Donasjoner verdsettes høyt.",
|
||||||
"multilingual_content": "ClassQuiz er tilgjengelig på bokmål, engelsk, fransk, italiensk, tysk, tyrkisk, og delvis indonesisk og katalansk.",
|
"multilingual_content": "ClassQuiz er tilgjengelig på bokmål, engelsk, fransk, italiensk, tysk, tyrkisk, og delvis indonesisk og katalansk.",
|
||||||
"download_quizzes_content": "Spørrekonkuranser kan lastes ned som én fil og importeres når som helst, slik at du også kan flytte spørrekonkurransene dine til andre ClassQuiz-instanser."
|
"download_quizzes_content": "Spørrekonkuranser kan lastes ned som én fil og importeres når som helst, slik at du også kan flytte spørrekonkurransene dine til andre ClassQuiz-instanser.",
|
||||||
|
"how_does_classquiz_work": ""
|
||||||
},
|
},
|
||||||
"words": {
|
"words": {
|
||||||
"logout": "Logg ut",
|
"logout": "Logg ut",
|
||||||
@@ -106,7 +107,51 @@
|
|||||||
"question": "Spørsmål",
|
"question": "Spørsmål",
|
||||||
"submit": "Send inn",
|
"submit": "Send inn",
|
||||||
"other_plural": "andre",
|
"other_plural": "andre",
|
||||||
"email": "E-postadresse"
|
"email": "E-postadresse",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"point": "",
|
||||||
|
"text": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"slide": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"info": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"name": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"unknown": "",
|
||||||
|
"back": "",
|
||||||
|
"never": "",
|
||||||
|
"quiz": ""
|
||||||
},
|
},
|
||||||
"settings_page": {
|
"settings_page": {
|
||||||
"repeat_password": "Gjenta passordet",
|
"repeat_password": "Gjenta passordet",
|
||||||
@@ -116,7 +161,10 @@
|
|||||||
"last_seen": "Sist sett",
|
"last_seen": "Sist sett",
|
||||||
"this_session?": "Denne økten?",
|
"this_session?": "Denne økten?",
|
||||||
"check_location": "Sjekk posisjon",
|
"check_location": "Sjekk posisjon",
|
||||||
"delete_this_session": "Slett denne økten"
|
"delete_this_session": "Slett denne økten",
|
||||||
|
"change_avatar": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"add_api_key": ""
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"time_left": "Gjenværende tid",
|
"time_left": "Gjenværende tid",
|
||||||
@@ -129,7 +177,15 @@
|
|||||||
"start_game": "Start spillet",
|
"start_game": "Start spillet",
|
||||||
"start_by_showing_first_question": "Start ved å vise det første spørsmålet.",
|
"start_by_showing_first_question": "Start ved å vise det første spørsmålet.",
|
||||||
"get_results_and_stop_time": "Hent resultater og stopp tiden",
|
"get_results_and_stop_time": "Hent resultater og stopp tiden",
|
||||||
"stop_time": "Stopp tiden"
|
"stop_time": "Stopp tiden",
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": ""
|
||||||
},
|
},
|
||||||
"register_page": {
|
"register_page": {
|
||||||
"already_have_account?": "Har du allerede en konto?",
|
"already_have_account?": "Har du allerede en konto?",
|
||||||
@@ -167,7 +223,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"welcome_back": "Velkommen tilbake."
|
"welcome_back": "Velkommen tilbake.",
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": ""
|
||||||
},
|
},
|
||||||
"create_page": {
|
"create_page": {
|
||||||
"success": {
|
"success": {
|
||||||
@@ -182,7 +240,24 @@
|
|||||||
"delete_answer": "Slett svaret",
|
"delete_answer": "Slett svaret",
|
||||||
"right_or_true?": "Rett?",
|
"right_or_true?": "Rett?",
|
||||||
"not_all_links_imgur_links": "Ikke alle lenkene er Imgur-lenker.",
|
"not_all_links_imgur_links": "Ikke alle lenkene er Imgur-lenker.",
|
||||||
"time_in_seconds": "Antall sekunder"
|
"time_in_seconds": "Antall sekunder",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"visit_docs": "Besøk dokumentasjonen",
|
"visit_docs": "Besøk dokumentasjonen",
|
||||||
@@ -192,7 +267,9 @@
|
|||||||
"upload_file_ending": "Last opp filen som slutter med «.cqa»",
|
"upload_file_ending": "Last opp filen som slutter med «.cqa»",
|
||||||
"classquiz_quiz": "En ClassQuiz-spørrekonkurranse",
|
"classquiz_quiz": "En ClassQuiz-spørrekonkurranse",
|
||||||
"this_side_classquiz": "På denne siden kan du importere spørrekonkurranser som ble eksportert fra ClassQuiz.",
|
"this_side_classquiz": "På denne siden kan du importere spørrekonkurranser som ble eksportert fra ClassQuiz.",
|
||||||
"url_should_look_like_this": "Nettadressen skal være utformet slik: https://create.kahoot.it/details/…"
|
"url_should_look_like_this": "Nettadressen skal være utformet slik: https://create.kahoot.it/details/…",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": ""
|
||||||
},
|
},
|
||||||
"password_reset_page": {
|
"password_reset_page": {
|
||||||
"reset_password": "Tilbakestill passordet"
|
"reset_password": "Tilbakestill passordet"
|
||||||
@@ -210,10 +287,22 @@
|
|||||||
"right_click_to_delete": "Høyreklikk på et svar for å slette det."
|
"right_click_to_delete": "Høyreklikk på et svar for å slette det."
|
||||||
},
|
},
|
||||||
"uploader": {
|
"uploader": {
|
||||||
"add_image": "Legg til bilde"
|
"add_image": "Legg til bilde",
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Søk etter dine egne spørrekonkurranser"
|
"search_for_own_quizzes": "Søk etter dine egne spørrekonkurranser",
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"info_analytics": ""
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"self_ads": "Med ❤️ av {{mawoka_link}} og hjelp fra {{others_link}}.",
|
"self_ads": "Med ❤️ av {{mawoka_link}} og hjelp fra {{others_link}}.",
|
||||||
@@ -229,6 +318,156 @@
|
|||||||
"2nd_place": "Andreplass",
|
"2nd_place": "Andreplass",
|
||||||
"end_sentence": "Det var det. Som man svarer får man nye spørsmål.",
|
"end_sentence": "Det var det. Som man svarer får man nye spørsmål.",
|
||||||
"with_out_of": "med {{correct_questions}} riktige av {{total_question_count}}",
|
"with_out_of": "med {{correct_questions}} riktige av {{total_question_count}}",
|
||||||
"3rd place": "Tredjeplass"
|
"3rd place": "Tredjeplass",
|
||||||
|
"join_description": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Gemaakt op",
|
"created_at": "Gemaakt op",
|
||||||
"question_count": "Vragenaantal",
|
"question_count": "Vragenaantal",
|
||||||
"no_quizzes": "Klik op de \"Creëer\"-knop of importeer een quiz van Kahoot! om aan de slag te gaan."
|
"no_quizzes": "Klik op de \"Creëer\"-knop of importeer een quiz om aan de slag te gaan."
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "Quiz bijgewerkt.",
|
"success_update_title": "Quiz bijgewerkt.",
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
"backup_code": "Backup-code",
|
"backup_code": "Backup-code",
|
||||||
"totp": "TOTP",
|
"totp": "TOTP",
|
||||||
"text": "Tekst",
|
"text": "Tekst",
|
||||||
"order": "volgorde",
|
"order": "Volgorde",
|
||||||
"results": "Resultaten",
|
"results": "Resultaten",
|
||||||
"note": "Opmerking",
|
"note": "Opmerking",
|
||||||
"multiple_choice": "Meerkeuze",
|
"multiple_choice": "Meerkeuze",
|
||||||
@@ -186,7 +186,18 @@
|
|||||||
"quiz": "Quiz",
|
"quiz": "Quiz",
|
||||||
"next": "Volgende",
|
"next": "Volgende",
|
||||||
"select": "Selecteren",
|
"select": "Selecteren",
|
||||||
"update": "Update"
|
"update": "Update",
|
||||||
|
"rating": "Beoordeling",
|
||||||
|
"quiztivity": "Quiztivity",
|
||||||
|
"analytics": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"info": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"like_plural": ""
|
||||||
},
|
},
|
||||||
"editor": {
|
"editor": {
|
||||||
"not_all_links_imgur_links": "Niet alle links zijn Imgur-links!",
|
"not_all_links_imgur_links": "Niet alle links zijn Imgur-links!",
|
||||||
@@ -222,7 +233,9 @@
|
|||||||
"visit_docs": "Bekijk de documentatie",
|
"visit_docs": "Bekijk de documentatie",
|
||||||
"a_kahoot_quiz": "Een Kahoot!-Quiz",
|
"a_kahoot_quiz": "Een Kahoot!-Quiz",
|
||||||
"need_help": "Hulp nodig?",
|
"need_help": "Hulp nodig?",
|
||||||
"classquiz_quiz": "Een ClassQuiz-Quiz"
|
"classquiz_quiz": "Een ClassQuiz-Quiz",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": ""
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"start_game": "Start spel",
|
"start_game": "Start spel",
|
||||||
@@ -242,7 +255,8 @@
|
|||||||
"enter_answer_into_field": "Typ je antwoord in het invoerveld!",
|
"enter_answer_into_field": "Typ je antwoord in het invoerveld!",
|
||||||
"stop_time_and_solutions": "Stop de tijd en toon oplossingen",
|
"stop_time_and_solutions": "Stop de tijd en toon oplossingen",
|
||||||
"download_export_results": "Resultaten downloaden",
|
"download_export_results": "Resultaten downloaden",
|
||||||
"answers_submitted": "{{answer_count}} Antwoorden ingediend"
|
"answers_submitted": "{{answer_count}} Antwoorden ingediend",
|
||||||
|
"request_export_results": ""
|
||||||
},
|
},
|
||||||
"password_reset_page": {
|
"password_reset_page": {
|
||||||
"reset_password": "Wachtwoord resetten"
|
"reset_password": "Wachtwoord resetten"
|
||||||
@@ -341,7 +355,10 @@
|
|||||||
"player_score": "Speler Score"
|
"player_score": "Speler Score"
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Zoek voor je eigen quizzen"
|
"search_for_own_quizzes": "Zoek voor je eigen quizzen",
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"info_analytics": ""
|
||||||
},
|
},
|
||||||
"security_settings": {
|
"security_settings": {
|
||||||
"webauthn": "Webauthn",
|
"webauthn": "Webauthn",
|
||||||
@@ -386,9 +403,11 @@
|
|||||||
"add_new": "Nieuwe toevoegen",
|
"add_new": "Nieuwe toevoegen",
|
||||||
"shares": {
|
"shares": {
|
||||||
"never_expires": "Verloopt nooit",
|
"never_expires": "Verloopt nooit",
|
||||||
"expires_on": "Verloopt op {{date}}"
|
"expires_on": "Verloopt op {{date}}",
|
||||||
|
"add_new_share": ""
|
||||||
},
|
},
|
||||||
"select_page_type": "Selecteer Pagina Type"
|
"select_page_type": "Selecteer Pagina Type",
|
||||||
|
"open_shares_menu": ""
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"editor": {
|
"editor": {
|
||||||
@@ -401,7 +420,8 @@
|
|||||||
"memory": {
|
"memory": {
|
||||||
"try_count": "Pogingen: {{try_count}}"
|
"try_count": "Pogingen: {{try_count}}"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"share_expired": ""
|
||||||
},
|
},
|
||||||
"controllers": {
|
"controllers": {
|
||||||
"update_from_to": "Bijwerken van {{current_version}} naar {{newest_version}}",
|
"update_from_to": "Bijwerken van {{current_version}} naar {{newest_version}}",
|
||||||
|
|||||||
@@ -1,18 +1,39 @@
|
|||||||
{
|
{
|
||||||
"register_page": {
|
"register_page": {
|
||||||
"already_have_account?": "Har du allereie ein konto?",
|
"already_have_account?": "Har du allereie ein konto?",
|
||||||
"create_account": "Opprett konto"
|
"create_account": "Opprett konto",
|
||||||
|
"greeting": "",
|
||||||
|
"forgot_password?": ""
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Oppretta"
|
"created_at": "Oppretta",
|
||||||
|
"question_count": "",
|
||||||
|
"no_quizzes": ""
|
||||||
},
|
},
|
||||||
"login_page": {
|
"login_page": {
|
||||||
"welcome_back": "Velkomen attende.",
|
"welcome_back": "Velkomen attende.",
|
||||||
"modal": {
|
"modal": {
|
||||||
"error": {
|
"error": {
|
||||||
"unexpected": "Uventa feil!"
|
"unexpected": "Uventa feil!",
|
||||||
|
"description": {
|
||||||
|
"unexpected": "",
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"success": "",
|
||||||
|
"description": {
|
||||||
|
"success": "",
|
||||||
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": "",
|
||||||
|
"already_have_account": "",
|
||||||
|
"login_or_create_account": ""
|
||||||
},
|
},
|
||||||
"words": {
|
"words": {
|
||||||
"features": "Funksjonar",
|
"features": "Funksjonar",
|
||||||
@@ -24,7 +45,97 @@
|
|||||||
"start": "Start",
|
"start": "Start",
|
||||||
"email": "E-postadresse",
|
"email": "E-postadresse",
|
||||||
"edit": "Rediger",
|
"edit": "Rediger",
|
||||||
"delete": "Slett"
|
"delete": "Slett",
|
||||||
|
"import": "",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"voting": "",
|
||||||
|
"pin": "",
|
||||||
|
"point": "",
|
||||||
|
"docs": "",
|
||||||
|
"description": "",
|
||||||
|
"settings": "",
|
||||||
|
"other": "",
|
||||||
|
"title": "",
|
||||||
|
"text": "",
|
||||||
|
"register": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"kick": "",
|
||||||
|
"url": "",
|
||||||
|
"explore": "",
|
||||||
|
"close": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"browser": "",
|
||||||
|
"stats": "",
|
||||||
|
"donating": "",
|
||||||
|
"save": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"search": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"name": "",
|
||||||
|
"answer": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"login": "",
|
||||||
|
"create": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"overview": "",
|
||||||
|
"image": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"logout": ""
|
||||||
},
|
},
|
||||||
"index_page": {
|
"index_page": {
|
||||||
"features_description": {
|
"features_description": {
|
||||||
@@ -63,6 +174,299 @@
|
|||||||
},
|
},
|
||||||
"see_what_true_and_false": "Sjå kva som er rett og gale",
|
"see_what_true_and_false": "Sjå kva som er rett og gale",
|
||||||
"create_or_import": "Lag eller importer",
|
"create_or_import": "Lag eller importer",
|
||||||
"create_a_quiz_from_scratch": "Lag ein ny kviss frå botnen av og ta med bilete og meir"
|
"create_a_quiz_from_scratch": "Lag ein ny kviss frå botnen av og ta med bilete og meir",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"edit_page": {
|
||||||
|
"success_update_body": "",
|
||||||
|
"success_update_title": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"add_new_answer": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"right_or_true?": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": "",
|
||||||
|
"add_new_question": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"create_page": {
|
||||||
|
"success": {
|
||||||
|
"title": "",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,7 +196,8 @@
|
|||||||
"info": "Informacje",
|
"info": "Informacje",
|
||||||
"analytics": "Analityka",
|
"analytics": "Analityka",
|
||||||
"dislike_plural": "Nie lubię",
|
"dislike_plural": "Nie lubię",
|
||||||
"rating": "Ocena"
|
"rating": "Ocena",
|
||||||
|
"like": ""
|
||||||
},
|
},
|
||||||
"settings_page": {
|
"settings_page": {
|
||||||
"last_seen": "Ostatnio widziany",
|
"last_seen": "Ostatnio widziany",
|
||||||
@@ -356,7 +357,8 @@
|
|||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Wyszukaj własne quizy",
|
"search_for_own_quizzes": "Wyszukaj własne quizy",
|
||||||
"views_n_plays": "Widoki i gry",
|
"views_n_plays": "Widoki i gry",
|
||||||
"info_analytics": "\"Odtworzenia\" pokazują tylko, jak często quiz był uruchamiany (w tym ty), podczas gdy \"Wyświetlenia\" liczą, jak często strona \"Wyświetlenia\" była odwiedzana, więc liczy również boty (przepraszam za to)."
|
"info_analytics": "\"Odtworzenia\" pokazują tylko, jak często quiz był uruchamiany (w tym ty), podczas gdy \"Wyświetlenia\" liczą, jak często strona \"Wyświetlenia\" była odwiedzana, więc liczy również boty (przepraszam za to).",
|
||||||
|
"commandpalette_notice": ""
|
||||||
},
|
},
|
||||||
"navbar": {
|
"navbar": {
|
||||||
"donate": "Darowizna"
|
"donate": "Darowizna"
|
||||||
@@ -375,12 +377,18 @@
|
|||||||
"totp_setup": {
|
"totp_setup": {
|
||||||
"do_not_forget_backup_code": "Nie zapomnij zapisać swojego kodu odzyskiwania!",
|
"do_not_forget_backup_code": "Nie zapomnij zapisać swojego kodu odzyskiwania!",
|
||||||
"scan_to_set_up": "Zeskanuj ten kod QR, aby ustawić kod",
|
"scan_to_set_up": "Zeskanuj ten kod QR, aby ustawić kod",
|
||||||
"enter_as_secret_if_no_see_code": "Wpisz kod, jeśli nie możesz zeskanować kodu QR"
|
"enter_as_secret_if_no_see_code": "Wpisz kod, jeśli nie możesz zeskanować kodu QR",
|
||||||
|
"totp_setup": ""
|
||||||
},
|
},
|
||||||
"webauthn_unavailable": "Webauthn nie jest dostępny",
|
"webauthn_unavailable": "Webauthn nie jest dostępny",
|
||||||
"add_security_key": "Dodaj Security-Key",
|
"add_security_key": "Dodaj Security-Key",
|
||||||
"webauthn_available": "Webauthn jest dostępny",
|
"webauthn_available": "Webauthn jest dostępny",
|
||||||
"webauthn": "Webauthn"
|
"webauthn": "Webauthn",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"totp_available": ""
|
||||||
},
|
},
|
||||||
"view_quiz_page": {
|
"view_quiz_page": {
|
||||||
"made_by": "Wykonane przez",
|
"made_by": "Wykonane przez",
|
||||||
@@ -390,7 +398,8 @@
|
|||||||
"captcha_message": "Jeśli ta opcja jest włączona, Google ReCaptcha będzie ładować się w przeglądarce graczy. Włącz tylko jeśli naprawdę tego potrzebujesz, ponieważ będziesz potrzebował zgody KAŻDEGO gracza na załadowanie captcha.",
|
"captcha_message": "Jeśli ta opcja jest włączona, Google ReCaptcha będzie ładować się w przeglądarce graczy. Włącz tylko jeśli naprawdę tego potrzebujesz, ponieważ będziesz potrzebował zgody KAŻDEGO gracza na załadowanie captcha.",
|
||||||
"normal_mode_description": "Pytanie i odpowiedź będą wyświetlane tylko na ekranie administratora, jak w Kahoot! Gracze będą mieli do dyspozycji jedynie kolorowe przyciski z symbolami odpowiadającymi tym na ekranie administratora.",
|
"normal_mode_description": "Pytanie i odpowiedź będą wyświetlane tylko na ekranie administratora, jak w Kahoot! Gracze będą mieli do dyspozycji jedynie kolorowe przyciski z symbolami odpowiadającymi tym na ekranie administratora.",
|
||||||
"old_school_mode_description": "Pytania i obrazy będą wyświetlane zarówno na ekranie administratora, jak i na ekranie graczy",
|
"old_school_mode_description": "Pytania i obrazy będą wyświetlane zarówno na ekranie administratora, jak i na ekranie graczy",
|
||||||
"start_game": "Rozpocznij grę"
|
"start_game": "Rozpocznij grę",
|
||||||
|
"old_school_mode": ""
|
||||||
},
|
},
|
||||||
"quiztivity": {
|
"quiztivity": {
|
||||||
"editor": {
|
"editor": {
|
||||||
|
|||||||
@@ -59,7 +59,47 @@
|
|||||||
"username": "Username",
|
"username": "Username",
|
||||||
"play": "Jogar",
|
"play": "Jogar",
|
||||||
"save": "Guardar",
|
"save": "Guardar",
|
||||||
"description": "Descrição"
|
"description": "Descrição",
|
||||||
|
"upload": "",
|
||||||
|
"next": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"point": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"slide": "",
|
||||||
|
"kick": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"info": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"name": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"unknown": "",
|
||||||
|
"back": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"never": "",
|
||||||
|
"quiz": ""
|
||||||
},
|
},
|
||||||
"index_page": {
|
"index_page": {
|
||||||
"meta": {
|
"meta": {
|
||||||
@@ -110,7 +150,8 @@
|
|||||||
"no_tracking_content": "Kahoot! grava e partilha o seu perfil com terceiros, mas ClassQuiz não o faz.",
|
"no_tracking_content": "Kahoot! grava e partilha o seu perfil com terceiros, mas ClassQuiz não o faz.",
|
||||||
"completely_free_content": "ClassQuiz é gratuito para o utilizador, sem planos pagos nem redirecionamentos irritantes para versões paga.\nPortanto os donativos são bem-vindos.",
|
"completely_free_content": "ClassQuiz é gratuito para o utilizador, sem planos pagos nem redirecionamentos irritantes para versões paga.\nPortanto os donativos são bem-vindos.",
|
||||||
"german_server_content": "Os servidores de ClassQuiz encontram-se na Alemanha e estão alojados com netcup.",
|
"german_server_content": "Os servidores de ClassQuiz encontram-se na Alemanha e estão alojados com netcup.",
|
||||||
"download_quizzes_content": "Os questionários podem em qualquer altura, ser descarregados como um ficheiro único. Isto permite fácil migração para outras instâncias ClassQuiz."
|
"download_quizzes_content": "Os questionários podem em qualquer altura, ser descarregados como um ficheiro único. Isto permite fácil migração para outras instâncias ClassQuiz.",
|
||||||
|
"how_does_classquiz_work": ""
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Criado em",
|
"created_at": "Criado em",
|
||||||
@@ -155,12 +196,277 @@
|
|||||||
"unexpected": "Ocorreu o típico erro inesperado!"
|
"unexpected": "Ocorreu o típico erro inesperado!"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"use_backup_code": ""
|
||||||
},
|
},
|
||||||
"editor": {
|
"editor": {
|
||||||
"time_in_seconds": "Tempo em segundos",
|
"time_in_seconds": "Tempo em segundos",
|
||||||
"right_or_true?": "Certo?",
|
"right_or_true?": "Certo?",
|
||||||
"add_new_answer": "Juntar nova resposta",
|
"add_new_answer": "Juntar nova resposta",
|
||||||
"add_new_question": "Juntar nova questão"
|
"add_new_question": "Juntar nova questão",
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,7 +163,20 @@
|
|||||||
"upload": "Yükle",
|
"upload": "Yükle",
|
||||||
"video": "Video",
|
"video": "Video",
|
||||||
"files_library": "Dosya Kütüphanesi",
|
"files_library": "Dosya Kütüphanesi",
|
||||||
"progress": "İlerleme"
|
"progress": "İlerleme",
|
||||||
|
"analytics": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"info": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"unknown": "",
|
||||||
|
"never": ""
|
||||||
},
|
},
|
||||||
"register_page": {
|
"register_page": {
|
||||||
"create_account": "Hesap oluştur",
|
"create_account": "Hesap oluştur",
|
||||||
@@ -241,7 +254,9 @@
|
|||||||
"side_import_kahoot": "Bu tarafta, Kahoot! üzerinde bulunan quizleri içe aktarabilirsiniz.",
|
"side_import_kahoot": "Bu tarafta, Kahoot! üzerinde bulunan quizleri içe aktarabilirsiniz.",
|
||||||
"classquiz_quiz": "Bir ClassQuiz Quizi",
|
"classquiz_quiz": "Bir ClassQuiz Quizi",
|
||||||
"upload_file_ending": "Sonu .cpa ile biten dosyayı yükleyin",
|
"upload_file_ending": "Sonu .cpa ile biten dosyayı yükleyin",
|
||||||
"this_side_classquiz": "Bu tarafta, ClassQuiz'den dışa aktarılan sınavları içe aktarabilirsiniz."
|
"this_side_classquiz": "Bu tarafta, ClassQuiz'den dışa aktarılan sınavları içe aktarabilirsiniz.",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": ""
|
||||||
},
|
},
|
||||||
"password_reset_page": {
|
"password_reset_page": {
|
||||||
"reset_password": "Şifreyi sıfırla"
|
"reset_password": "Şifreyi sıfırla"
|
||||||
@@ -284,7 +299,10 @@
|
|||||||
"right_click_to_delete": "Bir cevabı silmek için sağ tıkla!"
|
"right_click_to_delete": "Bir cevabı silmek için sağ tıkla!"
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "Kendi quizleriniz için arama"
|
"search_for_own_quizzes": "Kendi quizleriniz için arama",
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"info_analytics": ""
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"self_ads": "{{mawoka_link}} tarafından ve {{others_link}}nin de yardımıyla ❤️ ile yapıldı.",
|
"self_ads": "{{mawoka_link}} tarafından ve {{others_link}}nin de yardımıyla ❤️ ile yapıldı.",
|
||||||
@@ -300,7 +318,12 @@
|
|||||||
"upload_a_video": "Bir Video Yükleyin",
|
"upload_a_video": "Bir Video Yükleyin",
|
||||||
"upload_video_popup_notice": "Açılır pencere açık; daha fazla bilgi için göz atın",
|
"upload_video_popup_notice": "Açılır pencere açık; daha fazla bilgi için göz atın",
|
||||||
"select_upload_type": "Yükleme Türünü Seçin",
|
"select_upload_type": "Yükleme Türünü Seçin",
|
||||||
"upload_video": "Video Yükle"
|
"upload_video": "Video Yükle",
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": ""
|
||||||
},
|
},
|
||||||
"avatar_settings": {
|
"avatar_settings": {
|
||||||
"start_over": "Baştan başla",
|
"start_over": "Baştan başla",
|
||||||
@@ -435,5 +458,16 @@
|
|||||||
"popover": {
|
"popover": {
|
||||||
"copied_to_clipboard": "Panoya kopyalandı!"
|
"copied_to_clipboard": "Panoya kopyalandı!"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,450 @@
|
|||||||
"slogan": "Платформа для вікторин з відкритим кодом!",
|
"slogan": "Платформа для вікторин з відкритим кодом!",
|
||||||
"stats": "На ClassQuiz вже є {{user_count}} користувачів та {{quiz_count}} вікторин.",
|
"stats": "На ClassQuiz вже є {{user_count}} користувачів та {{quiz_count}} вікторин.",
|
||||||
"create_or_import": "Створюйте або імпортуйте",
|
"create_or_import": "Створюйте або імпортуйте",
|
||||||
"see_how_many_true_and_false": "Переглядайте, скільки було правильних або неправильних відповідей"
|
"see_how_many_true_and_false": "Переглядайте, скільки було правильних або неправильних відповідей",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"select_answer": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"multilingual": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"get_a_quiz": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"view_results": "",
|
||||||
|
"choose_answer_wisely": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"list_winners": "",
|
||||||
|
"create_a_quiz_from_scratch": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"dark_mode": "",
|
||||||
|
"why_classquiz": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"register_page": {
|
||||||
|
"create_account": "",
|
||||||
|
"greeting": "",
|
||||||
|
"forgot_password?": "",
|
||||||
|
"already_have_account?": ""
|
||||||
|
},
|
||||||
|
"words": {
|
||||||
|
"delete": "",
|
||||||
|
"import": "",
|
||||||
|
"public": "",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"play": "",
|
||||||
|
"email": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"question": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"start": "",
|
||||||
|
"voting": "",
|
||||||
|
"pin": "",
|
||||||
|
"point": "",
|
||||||
|
"docs": "",
|
||||||
|
"description": "",
|
||||||
|
"settings": "",
|
||||||
|
"features": "",
|
||||||
|
"other": "",
|
||||||
|
"title": "",
|
||||||
|
"text": "",
|
||||||
|
"register": "",
|
||||||
|
"username": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"kick": "",
|
||||||
|
"url": "",
|
||||||
|
"explore": "",
|
||||||
|
"close": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"browser": "",
|
||||||
|
"stats": "",
|
||||||
|
"password": "",
|
||||||
|
"donating": "",
|
||||||
|
"save": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"search": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"name": "",
|
||||||
|
"answer": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"login": "",
|
||||||
|
"create": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"edit": "",
|
||||||
|
"overview": "",
|
||||||
|
"image": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"logout": ""
|
||||||
|
},
|
||||||
|
"edit_page": {
|
||||||
|
"success_update_body": "",
|
||||||
|
"success_update_title": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"overview_page": {
|
||||||
|
"question_count": "",
|
||||||
|
"created_at": "",
|
||||||
|
"no_quizzes": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"add_new_answer": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"right_or_true?": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": "",
|
||||||
|
"add_new_question": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": "",
|
||||||
|
"already_have_account": "",
|
||||||
|
"modal": {
|
||||||
|
"error": {
|
||||||
|
"description": {
|
||||||
|
"unexpected": "",
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"wrong_creds": "",
|
||||||
|
"unexpected": ""
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"success": "",
|
||||||
|
"description": {
|
||||||
|
"success": "",
|
||||||
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_or_create_account": "",
|
||||||
|
"welcome_back": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"create_page": {
|
||||||
|
"success": {
|
||||||
|
"title": "",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,466 @@
|
|||||||
{}
|
{
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"register_page": {
|
||||||
|
"create_account": "",
|
||||||
|
"greeting": "",
|
||||||
|
"forgot_password?": "",
|
||||||
|
"already_have_account?": ""
|
||||||
|
},
|
||||||
|
"words": {
|
||||||
|
"delete": "",
|
||||||
|
"import": "",
|
||||||
|
"public": "",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"play": "",
|
||||||
|
"email": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"question": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"start": "",
|
||||||
|
"voting": "",
|
||||||
|
"pin": "",
|
||||||
|
"point": "",
|
||||||
|
"docs": "",
|
||||||
|
"description": "",
|
||||||
|
"settings": "",
|
||||||
|
"features": "",
|
||||||
|
"other": "",
|
||||||
|
"title": "",
|
||||||
|
"text": "",
|
||||||
|
"register": "",
|
||||||
|
"username": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"kick": "",
|
||||||
|
"url": "",
|
||||||
|
"explore": "",
|
||||||
|
"close": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"browser": "",
|
||||||
|
"stats": "",
|
||||||
|
"password": "",
|
||||||
|
"donating": "",
|
||||||
|
"save": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"search": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"name": "",
|
||||||
|
"answer": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"login": "",
|
||||||
|
"create": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"edit": "",
|
||||||
|
"overview": "",
|
||||||
|
"image": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"logout": ""
|
||||||
|
},
|
||||||
|
"edit_page": {
|
||||||
|
"success_update_body": "",
|
||||||
|
"success_update_title": ""
|
||||||
|
},
|
||||||
|
"index_page": {
|
||||||
|
"quiz_results_downloadable": "",
|
||||||
|
"slogan": "",
|
||||||
|
"completely_free": "",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"select_answer": "",
|
||||||
|
"user_friendly": "",
|
||||||
|
"no_tracking": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"stats": "",
|
||||||
|
"see_how_many_true_and_false": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"multilingual": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"get_a_quiz": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"view_results": "",
|
||||||
|
"choose_answer_wisely": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"meta": {
|
||||||
|
"description": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"list_winners": "",
|
||||||
|
"students_site": "",
|
||||||
|
"self_hostable": "",
|
||||||
|
"see_what_true_and_false": "",
|
||||||
|
"german_server": "",
|
||||||
|
"create_a_quiz_from_scratch": "",
|
||||||
|
"teachers_site": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"create_or_import": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"dark_mode": "",
|
||||||
|
"why_classquiz": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"see_all_quizzes": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"overview_page": {
|
||||||
|
"question_count": "",
|
||||||
|
"created_at": "",
|
||||||
|
"no_quizzes": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"add_new_answer": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"right_or_true?": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": "",
|
||||||
|
"add_new_question": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": "",
|
||||||
|
"already_have_account": "",
|
||||||
|
"modal": {
|
||||||
|
"error": {
|
||||||
|
"description": {
|
||||||
|
"unexpected": "",
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"wrong_creds": "",
|
||||||
|
"unexpected": ""
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"success": "",
|
||||||
|
"description": {
|
||||||
|
"success": "",
|
||||||
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_or_create_account": "",
|
||||||
|
"welcome_back": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"create_page": {
|
||||||
|
"success": {
|
||||||
|
"title": "",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,6 +4,463 @@
|
|||||||
"title": "首页",
|
"title": "首页",
|
||||||
"description": "ClassQuiz是提供给学生的一个类似Kahoot!的测试应用,其开源且可免费使用"
|
"description": "ClassQuiz是提供给学生的一个类似Kahoot!的测试应用,其开源且可免费使用"
|
||||||
},
|
},
|
||||||
"slogan": "提供测试的开源平台!"
|
"slogan": "提供测试的开源平台!",
|
||||||
|
"quiz_results_downloadable": "",
|
||||||
|
"completely_free": "",
|
||||||
|
"how_does_classquiz_work": "",
|
||||||
|
"select_answer": "",
|
||||||
|
"user_friendly": "",
|
||||||
|
"no_tracking": "",
|
||||||
|
"find_or_explore": "",
|
||||||
|
"completely_free_content": "",
|
||||||
|
"stats": "",
|
||||||
|
"see_how_many_true_and_false": "",
|
||||||
|
"download_quizzes": "",
|
||||||
|
"dark_mode_content": "",
|
||||||
|
"multilingual": "",
|
||||||
|
"community_driven_content": "",
|
||||||
|
"get_a_quiz": "",
|
||||||
|
"quiz_results_downloadable_content": "",
|
||||||
|
"view_results": "",
|
||||||
|
"choose_answer_wisely": "",
|
||||||
|
"self_hostable_content": "",
|
||||||
|
"german_server_content": "",
|
||||||
|
"get_ranking_and_winners": "",
|
||||||
|
"list_winners": "",
|
||||||
|
"students_site": "",
|
||||||
|
"self_hostable": "",
|
||||||
|
"see_what_true_and_false": "",
|
||||||
|
"german_server": "",
|
||||||
|
"create_a_quiz_from_scratch": "",
|
||||||
|
"teachers_site": "",
|
||||||
|
"check_if_chosen_wisely": "",
|
||||||
|
"user_friendly_content": "",
|
||||||
|
"create_or_import": "",
|
||||||
|
"no_tracking_content": "",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"dark_mode": "",
|
||||||
|
"why_classquiz": "",
|
||||||
|
"community_driven": "",
|
||||||
|
"play_quiz": "",
|
||||||
|
"see_all_quizzes": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
|
},
|
||||||
|
"result_page": {
|
||||||
|
"correct_answer_plural": "",
|
||||||
|
"player_score": "",
|
||||||
|
"correct_answer": "",
|
||||||
|
"time_taken": "",
|
||||||
|
"player_name": "",
|
||||||
|
"average_score": "",
|
||||||
|
"custom_field": ""
|
||||||
|
},
|
||||||
|
"register_page": {
|
||||||
|
"create_account": "",
|
||||||
|
"greeting": "",
|
||||||
|
"forgot_password?": "",
|
||||||
|
"already_have_account?": ""
|
||||||
|
},
|
||||||
|
"words": {
|
||||||
|
"delete": "",
|
||||||
|
"import": "",
|
||||||
|
"public": "",
|
||||||
|
"upload": "",
|
||||||
|
"player_plural": "",
|
||||||
|
"next": "",
|
||||||
|
"totp": "",
|
||||||
|
"score": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"play": "",
|
||||||
|
"email": "",
|
||||||
|
"backup_code": "",
|
||||||
|
"question": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"start": "",
|
||||||
|
"voting": "",
|
||||||
|
"pin": "",
|
||||||
|
"point": "",
|
||||||
|
"docs": "",
|
||||||
|
"description": "",
|
||||||
|
"settings": "",
|
||||||
|
"features": "",
|
||||||
|
"other": "",
|
||||||
|
"title": "",
|
||||||
|
"text": "",
|
||||||
|
"register": "",
|
||||||
|
"username": "",
|
||||||
|
"practice": "",
|
||||||
|
"find": "",
|
||||||
|
"private": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"download": "",
|
||||||
|
"slide": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"kick": "",
|
||||||
|
"url": "",
|
||||||
|
"explore": "",
|
||||||
|
"close": "",
|
||||||
|
"error": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"browser": "",
|
||||||
|
"stats": "",
|
||||||
|
"password": "",
|
||||||
|
"donating": "",
|
||||||
|
"save": "",
|
||||||
|
"note": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"multiple_choice": "",
|
||||||
|
"info": "",
|
||||||
|
"question_plural": "",
|
||||||
|
"results": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"point_plural": "",
|
||||||
|
"continue": "",
|
||||||
|
"game_pin": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"search": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"screenshot": "",
|
||||||
|
"correct": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"screenshot_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"name": "",
|
||||||
|
"answer": "",
|
||||||
|
"other_plural": "",
|
||||||
|
"count": "",
|
||||||
|
"login": "",
|
||||||
|
"create": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"finish": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"result": "",
|
||||||
|
"unknown": "",
|
||||||
|
"dashboard": "",
|
||||||
|
"back": "",
|
||||||
|
"edit": "",
|
||||||
|
"overview": "",
|
||||||
|
"image": "",
|
||||||
|
"result_plural": "",
|
||||||
|
"submit": "",
|
||||||
|
"never": "",
|
||||||
|
"connect": "",
|
||||||
|
"quiz": "",
|
||||||
|
"range": "",
|
||||||
|
"logout": ""
|
||||||
|
},
|
||||||
|
"edit_page": {
|
||||||
|
"success_update_body": "",
|
||||||
|
"success_update_title": ""
|
||||||
|
},
|
||||||
|
"admin_page": {
|
||||||
|
"stop_time_and_solutions": "",
|
||||||
|
"already_registered_as_admin": "",
|
||||||
|
"no_answers": "",
|
||||||
|
"start_by_showing_first_question": "",
|
||||||
|
"request_export_results": "",
|
||||||
|
"time_left": "",
|
||||||
|
"show_next_question": "",
|
||||||
|
"stop_time": "",
|
||||||
|
"show_results": "",
|
||||||
|
"save_results": "",
|
||||||
|
"enter_answer_into_field": "",
|
||||||
|
"get_results_and_stop_time": "",
|
||||||
|
"start_game": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": "",
|
||||||
|
"next_question": "",
|
||||||
|
"get_results": "",
|
||||||
|
"get_final_results": ""
|
||||||
|
},
|
||||||
|
"play_page": {
|
||||||
|
"2nd_place": "",
|
||||||
|
"join_description": "",
|
||||||
|
"1st_place": "",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"your_score": "",
|
||||||
|
"end_sentence": "",
|
||||||
|
"with_out_of": "",
|
||||||
|
"3rd place": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"avatar_settings": {
|
||||||
|
"accessories_type": "",
|
||||||
|
"go_back": "",
|
||||||
|
"hair_color": "",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"facial_hair_type": "",
|
||||||
|
"facial_hair_color": "",
|
||||||
|
"skin_color": "",
|
||||||
|
"clothe_color": "",
|
||||||
|
"thats_you": "",
|
||||||
|
"start_over": "",
|
||||||
|
"clothe_type": "",
|
||||||
|
"mouth_type": "",
|
||||||
|
"top_type": "",
|
||||||
|
"eyebrow_type": "",
|
||||||
|
"hat_color": ""
|
||||||
|
},
|
||||||
|
"overview_page": {
|
||||||
|
"question_count": "",
|
||||||
|
"created_at": "",
|
||||||
|
"no_quizzes": ""
|
||||||
|
},
|
||||||
|
"settings_page": {
|
||||||
|
"change_avatar": "",
|
||||||
|
"change_password_submit": "",
|
||||||
|
"security_settings": "",
|
||||||
|
"delete_this_session": "",
|
||||||
|
"old_password": "",
|
||||||
|
"check_location": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"this_session?": "",
|
||||||
|
"repeat_password": "",
|
||||||
|
"new_password": "",
|
||||||
|
"add_api_key": ""
|
||||||
|
},
|
||||||
|
"footer": {
|
||||||
|
"donate": "",
|
||||||
|
"more_details_here": "",
|
||||||
|
"self_ads": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"results_page": {
|
||||||
|
"no_results_so_far": "",
|
||||||
|
"quiz_title": "",
|
||||||
|
"player_count": "",
|
||||||
|
"date_played": "",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security_settings": {
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"2fa_deactivated": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"2fa_activated": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"activate_2fa": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"delete_answer": "",
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"add_new_answer": "",
|
||||||
|
"slide": {
|
||||||
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"voting_description": "",
|
||||||
|
"not_all_links_imgur_links": "",
|
||||||
|
"delete_question": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"right_or_true?": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": "",
|
||||||
|
"add_new_question": "",
|
||||||
|
"bg_image": "",
|
||||||
|
"no_title": ""
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"import_page": {
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"visit_docs": "",
|
||||||
|
"download_template_here": "",
|
||||||
|
"classquiz_quiz": "",
|
||||||
|
"this_side_classquiz": "",
|
||||||
|
"a_kahoot_quiz": "",
|
||||||
|
"side_import_kahoot": "",
|
||||||
|
"url_should_look_like_this": "",
|
||||||
|
"need_help": "",
|
||||||
|
"upload_file_ending": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"login_page": {
|
||||||
|
"use_backup_code": "",
|
||||||
|
"email_or_username": "",
|
||||||
|
"already_have_account": "",
|
||||||
|
"modal": {
|
||||||
|
"error": {
|
||||||
|
"description": {
|
||||||
|
"unexpected": "",
|
||||||
|
"wrong_creds": ""
|
||||||
|
},
|
||||||
|
"wrong_creds": "",
|
||||||
|
"unexpected": ""
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"success": "",
|
||||||
|
"description": {
|
||||||
|
"success": "",
|
||||||
|
"success_check_mail": ""
|
||||||
|
},
|
||||||
|
"success_check_mail": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"login_or_create_account": "",
|
||||||
|
"welcome_back": ""
|
||||||
|
},
|
||||||
|
"password_reset_page": {
|
||||||
|
"reset_password": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"explore_page": {
|
||||||
|
"imported_by": "",
|
||||||
|
"made_by": ""
|
||||||
|
},
|
||||||
|
"create_page": {
|
||||||
|
"success": {
|
||||||
|
"title": "",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error_page": {
|
||||||
|
"unknown_error_text": "",
|
||||||
|
"404_text": ""
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"add_image": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
|
},
|
||||||
|
"search_page": {
|
||||||
|
"nothing_here": "",
|
||||||
|
"at_least_3_characters": ""
|
||||||
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"search_for_own_quizzes": "",
|
||||||
|
"info_analytics": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"editor_page": {
|
||||||
|
"add_an_answer": "",
|
||||||
|
"right_click_to_delete": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,10 +47,13 @@
|
|||||||
"self_hostable_content": "輕鬆地自行架設 ClassQuiz ,資料只由你掌控!",
|
"self_hostable_content": "輕鬆地自行架設 ClassQuiz ,資料只由你掌控!",
|
||||||
"quiz_results_downloadable_content": "測驗結果可以簡單地被匯出為 Excel 試算表。(不知道其他類似的服務沒有提供此功能)",
|
"quiz_results_downloadable_content": "測驗結果可以簡單地被匯出為 Excel 試算表。(不知道其他類似的服務沒有提供此功能)",
|
||||||
"community_driven": "社群驅動",
|
"community_driven": "社群驅動",
|
||||||
"community_driven_content": "ClassQuiz 依靠它的社群提供金援、測試想法、功能請求、翻譯...等!你也可以成為 ClassQuiz 的社群成員之一!"
|
"community_driven_content": "ClassQuiz 依靠它的社群提供金援、測試想法、功能請求、翻譯...等!你也可以成為 ClassQuiz 的社群成員之一!",
|
||||||
|
"multilingual_content": "",
|
||||||
|
"download_quizzes_content": ""
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "測驗已更新。"
|
"success_update_title": "測驗已更新。",
|
||||||
|
"success_update_body": ""
|
||||||
},
|
},
|
||||||
"create_page": {
|
"create_page": {
|
||||||
"success": {
|
"success": {
|
||||||
@@ -80,7 +83,8 @@
|
|||||||
"success": "已登入。",
|
"success": "已登入。",
|
||||||
"success_check_mail": "已登入。請檢查你的電子信箱收件匣。",
|
"success_check_mail": "已登入。請檢查你的電子信箱收件匣。",
|
||||||
"description": {
|
"description": {
|
||||||
"success": "已登入。"
|
"success": "已登入。",
|
||||||
|
"success_check_mail": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -98,8 +102,21 @@
|
|||||||
"no_title": "沒有標題...",
|
"no_title": "沒有標題...",
|
||||||
"bg_image": "背景圖片",
|
"bg_image": "背景圖片",
|
||||||
"slide": {
|
"slide": {
|
||||||
"rectangle": "長方形"
|
"rectangle": "長方形",
|
||||||
}
|
"headline": "",
|
||||||
|
"headline_description": "",
|
||||||
|
"rectangle_description": "",
|
||||||
|
"text": "",
|
||||||
|
"text_description": ""
|
||||||
|
},
|
||||||
|
"check_choice_description": "",
|
||||||
|
"text_description": "",
|
||||||
|
"order_description": "",
|
||||||
|
"voting_description": "",
|
||||||
|
"range_description": "",
|
||||||
|
"empty": "",
|
||||||
|
"abcd_description": "",
|
||||||
|
"time_in_seconds": ""
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"need_help": "需要幫助?",
|
"need_help": "需要幫助?",
|
||||||
@@ -109,7 +126,9 @@
|
|||||||
"this_side_classquiz": "你可以在這邊匯入 ClassQuiz 測驗。",
|
"this_side_classquiz": "你可以在這邊匯入 ClassQuiz 測驗。",
|
||||||
"side_import_kahoot": "你可以在這邊匯入 Kahoot! 測驗。",
|
"side_import_kahoot": "你可以在這邊匯入 Kahoot! 測驗。",
|
||||||
"upload_file_ending": "上傳副檔名為 cqa 的檔案",
|
"upload_file_ending": "上傳副檔名為 cqa 的檔案",
|
||||||
"classquiz_quiz": "一個 ClassQui 測驗"
|
"classquiz_quiz": "一個 ClassQui 測驗",
|
||||||
|
"this_side_classquiz_excel": "",
|
||||||
|
"download_template_here": ""
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"start_game": "開始遊戲",
|
"start_game": "開始遊戲",
|
||||||
@@ -127,7 +146,10 @@
|
|||||||
"stop_time_and_solutions": "停止計時並顯示解答",
|
"stop_time_and_solutions": "停止計時並顯示解答",
|
||||||
"enter_answer_into_field": "在輸入欄內輸入你的答案!",
|
"enter_answer_into_field": "在輸入欄內輸入你的答案!",
|
||||||
"show_results": "顯示結果",
|
"show_results": "顯示結果",
|
||||||
"next_question": "下個問題 ({{question}})"
|
"next_question": "下個問題 ({{question}})",
|
||||||
|
"request_export_results": "",
|
||||||
|
"answers_submitted": "",
|
||||||
|
"download_export_results": ""
|
||||||
},
|
},
|
||||||
"password_reset_page": {
|
"password_reset_page": {
|
||||||
"reset_password": "重設密碼"
|
"reset_password": "重設密碼"
|
||||||
@@ -140,7 +162,10 @@
|
|||||||
"check_location": "檢查位置",
|
"check_location": "檢查位置",
|
||||||
"delete_this_session": "刪除此工作階段",
|
"delete_this_session": "刪除此工作階段",
|
||||||
"this_session?": "這個工作階段?",
|
"this_session?": "這個工作階段?",
|
||||||
"security_settings": "安全性設定"
|
"security_settings": "安全性設定",
|
||||||
|
"change_avatar": "",
|
||||||
|
"last_seen": "",
|
||||||
|
"add_api_key": ""
|
||||||
},
|
},
|
||||||
"explore_page": {
|
"explore_page": {
|
||||||
"made_by": "作者為",
|
"made_by": "作者為",
|
||||||
@@ -153,7 +178,10 @@
|
|||||||
"1st_place": "第一名",
|
"1st_place": "第一名",
|
||||||
"end_sentence": "完成!本次測驗結束。",
|
"end_sentence": "完成!本次測驗結束。",
|
||||||
"your_score": "",
|
"your_score": "",
|
||||||
"join_description": "在 {{url}} 加入並輸入 {{pin}}。"
|
"join_description": "在 {{url}} 加入並輸入 {{pin}}。",
|
||||||
|
"points_added": "",
|
||||||
|
"final_result_rank": "",
|
||||||
|
"join_by_entering_code": ""
|
||||||
},
|
},
|
||||||
"editor_page": {
|
"editor_page": {
|
||||||
"add_an_answer": "新增一個答案",
|
"add_an_answer": "新增一個答案",
|
||||||
@@ -165,7 +193,16 @@
|
|||||||
"donate": "若你覺得這很實用,請考慮 {{donate_link}}。"
|
"donate": "若你覺得這很實用,請考慮 {{donate_link}}。"
|
||||||
},
|
},
|
||||||
"uploader": {
|
"uploader": {
|
||||||
"add_image": "新增圖片"
|
"add_image": "新增圖片",
|
||||||
|
"images_by_pixabay": "",
|
||||||
|
"upload_video_popup_notice": "",
|
||||||
|
"select_upload_type": "",
|
||||||
|
"upload_a_video": "",
|
||||||
|
"next_page": "",
|
||||||
|
"visit_pixabay": "",
|
||||||
|
"previous_page": "",
|
||||||
|
"search_english_only": "",
|
||||||
|
"upload_video": ""
|
||||||
},
|
},
|
||||||
"words": {
|
"words": {
|
||||||
"find": "尋找",
|
"find": "尋找",
|
||||||
@@ -233,14 +270,51 @@
|
|||||||
"slide": "投影片",
|
"slide": "投影片",
|
||||||
"note": "筆記",
|
"note": "筆記",
|
||||||
"back": "返回",
|
"back": "返回",
|
||||||
"point_plural": ""
|
"point_plural": "",
|
||||||
|
"upload": "",
|
||||||
|
"next": "",
|
||||||
|
"analytics": "",
|
||||||
|
"no": "",
|
||||||
|
"speed": "",
|
||||||
|
"files_library": "",
|
||||||
|
"check_choice": "",
|
||||||
|
"answer_plural": "",
|
||||||
|
"version": "",
|
||||||
|
"update": "",
|
||||||
|
"play_plural": "",
|
||||||
|
"rating": "",
|
||||||
|
"video": "",
|
||||||
|
"order": "",
|
||||||
|
"dislike_plural": "",
|
||||||
|
"info": "",
|
||||||
|
"view_plural": "",
|
||||||
|
"yes": "",
|
||||||
|
"like": "",
|
||||||
|
"dislike": "",
|
||||||
|
"progress": "",
|
||||||
|
"select": "",
|
||||||
|
"like_plural": "",
|
||||||
|
"view": "",
|
||||||
|
"count": "",
|
||||||
|
"report": "",
|
||||||
|
"quiztivity": "",
|
||||||
|
"library": "",
|
||||||
|
"normal": "",
|
||||||
|
"selected": "",
|
||||||
|
"unknown": "",
|
||||||
|
"overview": "",
|
||||||
|
"never": "",
|
||||||
|
"quiz": ""
|
||||||
},
|
},
|
||||||
"search_page": {
|
"search_page": {
|
||||||
"at_least_3_characters": "輸入至少 3 個字元...",
|
"at_least_3_characters": "輸入至少 3 個字元...",
|
||||||
"nothing_here": "這裡空無一物..."
|
"nothing_here": "這裡空無一物..."
|
||||||
},
|
},
|
||||||
"dashboard": {
|
"dashboard": {
|
||||||
"search_for_own_quizzes": "搜尋你的測驗"
|
"search_for_own_quizzes": "搜尋你的測驗",
|
||||||
|
"commandpalette_notice": "",
|
||||||
|
"views_n_plays": "",
|
||||||
|
"info_analytics": ""
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "建立於",
|
"created_at": "建立於",
|
||||||
@@ -264,13 +338,18 @@
|
|||||||
"hat_color": "帽子顏色",
|
"hat_color": "帽子顏色",
|
||||||
"clothe_type": "服裝",
|
"clothe_type": "服裝",
|
||||||
"clothe_color": "服裝顏色",
|
"clothe_color": "服裝顏色",
|
||||||
"go_back": "返回"
|
"go_back": "返回",
|
||||||
|
"clothe_graphic_type": "",
|
||||||
|
"top_type": ""
|
||||||
},
|
},
|
||||||
"results_page": {
|
"results_page": {
|
||||||
"quiz_title": "測驗標題",
|
"quiz_title": "測驗標題",
|
||||||
"player_count": "玩家人數",
|
"player_count": "玩家人數",
|
||||||
"date_played": "測驗日期",
|
"date_played": "測驗日期",
|
||||||
"no_results_so_far": "尚未儲存任何結果..."
|
"no_results_so_far": "尚未儲存任何結果...",
|
||||||
|
"general_overview": {
|
||||||
|
"sentence": ""
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"result_page": {
|
"result_page": {
|
||||||
"player_name": "玩家名稱",
|
"player_name": "玩家名稱",
|
||||||
@@ -278,11 +357,117 @@
|
|||||||
"average_score": "平均分數:{{average_score}}",
|
"average_score": "平均分數:{{average_score}}",
|
||||||
"time_taken": "花費時間",
|
"time_taken": "花費時間",
|
||||||
"correct_answer": "{{count}} 個正確答案",
|
"correct_answer": "{{count}} 個正確答案",
|
||||||
"correct_answer_plural": "{{count}} 個正確答案"
|
"correct_answer_plural": "{{count}} 個正確答案",
|
||||||
|
"player_score": ""
|
||||||
},
|
},
|
||||||
"security_settings": {
|
"security_settings": {
|
||||||
"activate_2fa": "啟用兩步驟驗證",
|
"activate_2fa": "啟用兩步驟驗證",
|
||||||
"2fa_deactivated": "兩步驟驗證未啟用",
|
"2fa_deactivated": "兩步驟驗證未啟用",
|
||||||
"2fa_activated": "兩步驟驗證已啟用"
|
"2fa_activated": "兩步驟驗證已啟用",
|
||||||
|
"get_backup_code": "",
|
||||||
|
"enable_totp": "",
|
||||||
|
"disable_totp": "",
|
||||||
|
"totp_setup": {
|
||||||
|
"enter_as_secret_if_no_see_code": "",
|
||||||
|
"scan_to_set_up": "",
|
||||||
|
"totp_setup": "",
|
||||||
|
"do_not_forget_backup_code": ""
|
||||||
|
},
|
||||||
|
"backup_code": "",
|
||||||
|
"backup_codes": {
|
||||||
|
"download_code": "",
|
||||||
|
"your_backup_code": "",
|
||||||
|
"save_somewhere_save": ""
|
||||||
|
},
|
||||||
|
"totp": "",
|
||||||
|
"totp_unavailable": "",
|
||||||
|
"webauthn": "",
|
||||||
|
"add_security_key": "",
|
||||||
|
"webauthn_unavailable": "",
|
||||||
|
"totp_available": "",
|
||||||
|
"webauthn_available": ""
|
||||||
|
},
|
||||||
|
"file_dashboard": {
|
||||||
|
"unset": "",
|
||||||
|
"filename_word": "",
|
||||||
|
"imported": "",
|
||||||
|
"filename": "",
|
||||||
|
"missing": "",
|
||||||
|
"delete_image": "",
|
||||||
|
"size": "",
|
||||||
|
"storage_usage": "",
|
||||||
|
"alt_text": "",
|
||||||
|
"edit_details": "",
|
||||||
|
"uploaded": "",
|
||||||
|
"not_available": "",
|
||||||
|
"caption": "",
|
||||||
|
"edit_the_image": ""
|
||||||
|
},
|
||||||
|
"quiztivity": {
|
||||||
|
"editor": {
|
||||||
|
"add_new": "",
|
||||||
|
"move_left": "",
|
||||||
|
"shares": {
|
||||||
|
"never_expires": "",
|
||||||
|
"expires_on": "",
|
||||||
|
"add_new_share": ""
|
||||||
|
},
|
||||||
|
"title_placeholder": "",
|
||||||
|
"delete": "",
|
||||||
|
"open_shares_menu": "",
|
||||||
|
"select_page_type": "",
|
||||||
|
"move_right": ""
|
||||||
|
},
|
||||||
|
"share_expired": "",
|
||||||
|
"play": {
|
||||||
|
"memory": {
|
||||||
|
"try_count": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"editor": {
|
||||||
|
"add_card": "",
|
||||||
|
"add_pair": "",
|
||||||
|
"upload_image": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"controllers": {
|
||||||
|
"last_seen": "",
|
||||||
|
"cancel_update": "",
|
||||||
|
"add_new_controller": "",
|
||||||
|
"player_name": "",
|
||||||
|
"controller_name": "",
|
||||||
|
"already_latest_version": "",
|
||||||
|
"update_from_to": "",
|
||||||
|
"first_seen": "",
|
||||||
|
"version_overview": ""
|
||||||
|
},
|
||||||
|
"view_quiz_page": {
|
||||||
|
"made_by": "",
|
||||||
|
"view_on_kahoot": ""
|
||||||
|
},
|
||||||
|
"start_game": {
|
||||||
|
"old_school_mode_description": "",
|
||||||
|
"old_school_mode": "",
|
||||||
|
"start_game": "",
|
||||||
|
"captcha_message": "",
|
||||||
|
"normal_mode_description": ""
|
||||||
|
},
|
||||||
|
"video_uploader": {
|
||||||
|
"time_remaining": "",
|
||||||
|
"time_elapsed": ""
|
||||||
|
},
|
||||||
|
"navbar": {
|
||||||
|
"donate": ""
|
||||||
|
},
|
||||||
|
"public_user_page": {
|
||||||
|
"no_original_quizzes": "",
|
||||||
|
"joined_on": ""
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"popover": {
|
||||||
|
"copied_to_clipboard": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,12 +139,14 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
{:else}
|
{:else}
|
||||||
<li class="py-2">
|
{#if !import.meta.env.VITE_REGISTRATION_DISABLED}
|
||||||
<a
|
<li class="py-2">
|
||||||
class="text-lg font-medium lg:px-4 text-gray-600 hover:text-green-600 link-hover"
|
<a
|
||||||
href="/account/register">{$t('words.register')}</a
|
class="text-lg font-medium lg:px-4 text-gray-600 hover:text-green-600 link-hover"
|
||||||
>
|
href="/account/register">{$t('words.register')}</a
|
||||||
</li>
|
>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<li class="py-2">
|
<li class="py-2">
|
||||||
<a
|
<a
|
||||||
|
|||||||
@@ -0,0 +1,104 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MPL-2.0
|
||||||
|
-->
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { QuizQuestionType } from '$lib/quiz_types';
|
||||||
|
import type { QuizData } from '$lib/quiz_types';
|
||||||
|
import type { Socket } from 'socket.io-client';
|
||||||
|
import { getLocalization } from '$lib/i18n';
|
||||||
|
|
||||||
|
export let bg_color: string;
|
||||||
|
export let selected_question: number;
|
||||||
|
export let quiz_data: QuizData;
|
||||||
|
export let timer_res: string;
|
||||||
|
export let final_results;
|
||||||
|
export let socket: Socket;
|
||||||
|
|
||||||
|
export let game_token: string;
|
||||||
|
|
||||||
|
export let question_results;
|
||||||
|
|
||||||
|
export let shown_question_now: number;
|
||||||
|
|
||||||
|
const { t } = getLocalization();
|
||||||
|
const set_question_number = (q_number: number) => {
|
||||||
|
socket.emit('set_question_number', q_number.toString());
|
||||||
|
};
|
||||||
|
|
||||||
|
const get_question_results = () => {
|
||||||
|
socket.emit('get_question_results', {
|
||||||
|
game_id: game_token,
|
||||||
|
question_number: shown_question_now
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const show_solutions = () => {
|
||||||
|
socket.emit('show_solutions', {});
|
||||||
|
timer_res = '0';
|
||||||
|
};
|
||||||
|
|
||||||
|
const get_final_results = () => {
|
||||||
|
socket.emit('get_final_results', {});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="fixed top-0 w-full h-10 z-20 grid grid-cols-2"
|
||||||
|
style="background: {bg_color ? bg_color : 'transparent'}"
|
||||||
|
class:text-black={bg_color}
|
||||||
|
>
|
||||||
|
<p class="mr-auto ml-0 col-start-1 col-end-1">
|
||||||
|
{selected_question === -1 ? '0' : selected_question + 1}
|
||||||
|
/{quiz_data.questions.length}
|
||||||
|
</p>
|
||||||
|
<div class="justify-self-end ml-auto mr-0 col-start-3 col-end-3">
|
||||||
|
{#if selected_question + 1 === quiz_data.questions.length && ((timer_res === '0' && question_results !== null) || quiz_data?.questions?.[selected_question]?.type === QuizQuestionType.SLIDE)}
|
||||||
|
{#if JSON.stringify(final_results) === JSON.stringify([null])}
|
||||||
|
<button on:click={get_final_results} class="admin-button"
|
||||||
|
>{$t('admin_page.get_final_results')}
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
{:else if timer_res === '0' || selected_question === -1}
|
||||||
|
{#if (selected_question + 1 !== quiz_data.questions.length && question_results !== null) || selected_question === -1}
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
set_question_number(selected_question + 1);
|
||||||
|
}}
|
||||||
|
class="admin-button"
|
||||||
|
>{$t('admin_page.next_question', { question: selected_question + 2 })}
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
{#if question_results === null && selected_question !== -1}
|
||||||
|
{#if quiz_data.questions[selected_question].type === QuizQuestionType.SLIDE}
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
set_question_number(selected_question + 1);
|
||||||
|
}}
|
||||||
|
class="admin-button"
|
||||||
|
>{$t('admin_page.next_question', { question: selected_question + 2 })}
|
||||||
|
</button>
|
||||||
|
{:else}
|
||||||
|
<button on:click={get_question_results} class="admin-button"
|
||||||
|
>{$t('admin_page.show_results')}
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
{:else if selected_question !== -1}
|
||||||
|
{#if quiz_data.questions[selected_question].type === QuizQuestionType.SLIDE}
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
set_question_number(selected_question + 1);
|
||||||
|
}}
|
||||||
|
class="admin-button"
|
||||||
|
>{$t('admin_page.next_question', { question: selected_question + 2 })}
|
||||||
|
</button>
|
||||||
|
{:else}
|
||||||
|
<button on:click={show_solutions} class="admin-button"
|
||||||
|
>{$t('admin_page.stop_time_and_solutions')}
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -8,6 +8,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import AudioPlayer from '$lib/play/audio_player.svelte';
|
import AudioPlayer from '$lib/play/audio_player.svelte';
|
||||||
import ControllerCodeDisplay from '$lib/components/controller/code.svelte';
|
import ControllerCodeDisplay from '$lib/components/controller/code.svelte';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
|
import GrayButton from '$lib/components/buttons/gray.svelte';
|
||||||
|
|
||||||
export let game_pin: string;
|
export let game_pin: string;
|
||||||
export let players;
|
export let players;
|
||||||
@@ -51,7 +52,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<img
|
<img
|
||||||
alt="QR code to join the game"
|
alt="QR code to join the game"
|
||||||
src="/api/v1/utils/qr/{game_pin}"
|
src="/api/v1/utils/qr/{game_pin}"
|
||||||
class="block mx-auto w-1/2 dark:bg-white"
|
class="block mx-auto w-1/2 dark:bg-white shadow-2xl rounded"
|
||||||
/>
|
/>
|
||||||
{#if cqc_code}
|
{#if cqc_code}
|
||||||
<div class="m-auto">
|
<div class="m-auto">
|
||||||
@@ -62,34 +63,33 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<p class="text-3xl text-center">{$t('words.pin')}: {game_pin}</p>
|
<p class="text-3xl text-center">
|
||||||
|
{$t('words.pin')}: <span class="select-all">{game_pin}</span>
|
||||||
|
</p>
|
||||||
<div class="flex justify-center w-full mt-4">
|
<div class="flex justify-center w-full mt-4">
|
||||||
<ul class="list-disc pl-8">
|
<div>
|
||||||
{#if players.length > 0}
|
<GrayButton
|
||||||
{#each players as player}
|
disabled={players.length < 1}
|
||||||
<li>
|
|
||||||
<span
|
|
||||||
class="hover:line-through"
|
|
||||||
on:click={() => {
|
|
||||||
kick_player(player.username);
|
|
||||||
}}>{player.username}</span
|
|
||||||
>
|
|
||||||
<!-- <button>{$t('words.kick')}</button>-->
|
|
||||||
</li>
|
|
||||||
{/each}
|
|
||||||
{/if}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{#if players.length > 0}
|
|
||||||
<div class="flex justify-center w-full mt-4">
|
|
||||||
<button
|
|
||||||
class="ml-4 admin-button"
|
|
||||||
id="startGame"
|
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
socket.emit('start_game', '');
|
socket.emit('start_game', '');
|
||||||
}}
|
}}
|
||||||
>{$t('admin_page.start_game')}
|
>{$t('admin_page.start_game')}
|
||||||
</button>
|
</GrayButton>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
</div>
|
||||||
|
<div class="flex flex-row w-full mt-4 px-10 flex-wrap">
|
||||||
|
{#if players.length > 0}
|
||||||
|
{#each players as player}
|
||||||
|
<div class="p-2 m-2 border-2 border-[#B07156] rounded hover:cursor-pointer">
|
||||||
|
<span
|
||||||
|
class="hover:line-through text-lg"
|
||||||
|
on:click={() => {
|
||||||
|
kick_player(player.username);
|
||||||
|
}}>{player.username}</span
|
||||||
|
>
|
||||||
|
<!-- <button>{$t('words.kick')}</button>-->
|
||||||
|
</div>
|
||||||
|
{/each}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,109 @@
|
|||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MPL-2.0
|
||||||
|
-->
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { QuizQuestionType } from '$lib/quiz_types';
|
||||||
|
import type { QuizData } from '$lib/quiz_types';
|
||||||
|
import { get_foreground_color } from '$lib/helpers.js';
|
||||||
|
import { kahoot_icons } from '$lib/play/kahoot_mode_assets/kahoot_icons.js';
|
||||||
|
import CircularTimer from '$lib/play/circular_progress.svelte';
|
||||||
|
import MediaComponent from '$lib/editor/MediaComponent.svelte';
|
||||||
|
import { getLocalization } from '$lib/i18n';
|
||||||
|
|
||||||
|
export let quiz_data: QuizData;
|
||||||
|
export let selected_question: number;
|
||||||
|
export let timer_res: string;
|
||||||
|
|
||||||
|
export let answer_count: number;
|
||||||
|
export let default_colors: string[];
|
||||||
|
|
||||||
|
const { t } = getLocalization();
|
||||||
|
|
||||||
|
let circular_progress = 0;
|
||||||
|
$: {
|
||||||
|
try {
|
||||||
|
circular_progress =
|
||||||
|
1 -
|
||||||
|
((100 / parseInt(quiz_data.questions[selected_question].time)) *
|
||||||
|
parseInt(timer_res)) /
|
||||||
|
100;
|
||||||
|
} catch {
|
||||||
|
circular_progress = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="flex flex-col justify-center w-screen h-1/6">
|
||||||
|
<h1 class="text-6xl text-center">
|
||||||
|
{@html quiz_data.questions[selected_question].question}
|
||||||
|
</h1>
|
||||||
|
<!-- <span class='text-center py-2 text-lg'>{$t('admin_page.time_left')}: {timer_res}</span>-->
|
||||||
|
<div class="grid grid-cols-3 my-2">
|
||||||
|
<span />
|
||||||
|
<div class="m-auto">
|
||||||
|
<CircularTimer
|
||||||
|
bind:text={timer_res}
|
||||||
|
bind:progress={circular_progress}
|
||||||
|
color="#ef4444"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<p class="m-auto text-3xl">
|
||||||
|
{$t('admin_page.answers_submitted', { answer_count: answer_count })}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{#if quiz_data.questions[selected_question].image !== null}
|
||||||
|
<div class="flex w-full">
|
||||||
|
<MediaComponent
|
||||||
|
src={quiz_data.questions[selected_question].image}
|
||||||
|
muted={false}
|
||||||
|
css_classes="max-h-[20vh] object-cover mx-auto mb-8 w-auto"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{#if quiz_data.questions[selected_question].type === QuizQuestionType.ABCD || quiz_data.questions[selected_question].type === QuizQuestionType.VOTING || quiz_data.questions[selected_question].type === QuizQuestionType.CHECK}
|
||||||
|
<div class="grid grid-rows-2 grid-flow-col auto-cols-auto gap-2 w-full p-4">
|
||||||
|
{#each quiz_data.questions[selected_question].answers as answer, i}
|
||||||
|
<div
|
||||||
|
class="rounded-lg h-fit flex border-2 border-black"
|
||||||
|
style="background-color: {answer.color ?? default_colors[i]};"
|
||||||
|
class:opacity-50={!answer.right &&
|
||||||
|
timer_res === '0' &&
|
||||||
|
quiz_data.questions[selected_question].type === QuizQuestionType.ABCD}
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="w-14 inline-block pl-4"
|
||||||
|
alt="icon"
|
||||||
|
style="color: {get_foreground_color(answer.color ?? default_colors[i])}"
|
||||||
|
src={kahoot_icons[i]}
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
class="text-center text-2xl px-2 py-4 w-full"
|
||||||
|
style="color: {get_foreground_color(answer.color ?? default_colors[i])}"
|
||||||
|
>{answer.answer}</span
|
||||||
|
>
|
||||||
|
<span class="pl-4 w-10" />
|
||||||
|
</div>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
{:else if quiz_data.questions[selected_question].type === QuizQuestionType.TEXT}
|
||||||
|
{#if timer_res === '0'}
|
||||||
|
<div class="grid grid-cols-2 gap-2 w-full p-4">
|
||||||
|
{#each quiz_data.questions[selected_question].answers as answer, i}
|
||||||
|
<div class="rounded-lg h-fit flex bg-[#B07156]">
|
||||||
|
<span class="text-center text-2xl px-2 py-4 w-full text-black"
|
||||||
|
>{answer.answer}</span
|
||||||
|
>
|
||||||
|
<span class="pl-4 w-10" />
|
||||||
|
</div>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
{:else}
|
||||||
|
<div class="flex justify-center">
|
||||||
|
<p class="text-2xl">{$t('admin_page.enter_answer_into_field')}</p>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
@@ -11,6 +11,8 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
import type { Question } from '$lib/quiz_types';
|
import type { Question } from '$lib/quiz_types';
|
||||||
|
import { QuizQuestionType } from '$lib/quiz_types';
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
@@ -127,7 +129,9 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-12">
|
{#if [QuizQuestionType.ABCD, QuizQuestionType.VOTING, QuizQuestionType.TEXT].includes(question.type)}
|
||||||
<VotingResults data={new_data} {question} />
|
<div class="mt-12">
|
||||||
</div>
|
<VotingResults data={new_data} {question} />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import { flip } from 'svelte/animate';
|
import { flip } from 'svelte/animate';
|
||||||
import BrownButton from '$lib/components/buttons/brown.svelte';
|
import BrownButton from '$lib/components/buttons/brown.svelte';
|
||||||
import { get_foreground_color } from '../helpers';
|
import { get_foreground_color } from '../helpers';
|
||||||
|
import MediaComponent from '$lib/editor/MediaComponent.svelte';
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
|
|
||||||
@@ -154,10 +155,9 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</h1>
|
</h1>
|
||||||
{#if question.image !== null && game_mode !== 'kahoot'}
|
{#if question.image !== null && game_mode !== 'kahoot'}
|
||||||
<div class="max-h-full">
|
<div class="max-h-full">
|
||||||
<img
|
<MediaComponent
|
||||||
src="/api/v1/storage/download/{question.image}"
|
src={question.image}
|
||||||
class="object-cover mx-auto mb-8 max-h-[90%]"
|
css_classes="object-cover mx-auto mb-8 max-h-[90%]"
|
||||||
alt="Content for Question"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
@@ -167,7 +167,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
{#if question.type === QuizQuestionType.ABCD || question.type === QuizQuestionType.VOTING}
|
{#if question.type === QuizQuestionType.ABCD || question.type === QuizQuestionType.VOTING}
|
||||||
<div class="w-full relative" style="height: {get_div_height()}%">
|
<div class="w-full relative" style="height: {get_div_height()}%">
|
||||||
<div
|
<div
|
||||||
class="absolute top-0 bottom-0 left-0 right-0 m-auto rounded-full h-fit w-fit border-2 border-black shadow-2xl z-50"
|
class="absolute top-0 bottom-0 left-0 right-0 m-auto rounded-full h-fit w-fit border-2 border-black shadow-2xl z-40"
|
||||||
>
|
>
|
||||||
<CircularTimer
|
<CircularTimer
|
||||||
bind:text={timer_res}
|
bind:text={timer_res}
|
||||||
|
|||||||
@@ -78,6 +78,10 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
downloadable < /li>;*/
|
downloadable < /li>;*/
|
||||||
|
|
||||||
const classquiz_reasons = [
|
const classquiz_reasons = [
|
||||||
|
{
|
||||||
|
headline: $t('index_page.no_player_limit'),
|
||||||
|
content: $t('index_page.no_player_limit_content'),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
headline: $t('index_page.no_tracking'),
|
headline: $t('index_page.no_tracking'),
|
||||||
content: $t('index_page.no_tracking_content')
|
content: $t('index_page.no_tracking_content')
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
import Footer from '$lib/footer.svelte';
|
import Footer from '$lib/footer.svelte';
|
||||||
import { navbarVisible, signedIn } from '$lib/stores';
|
import { navbarVisible, signedIn } from '$lib/stores';
|
||||||
|
import CommandpaletteNotice from '$lib/components/popover/commandpalettenotice.svelte';
|
||||||
// import Spinner from "$lib/Spinner.svelte";
|
// import Spinner from "$lib/Spinner.svelte";
|
||||||
import Fuse from 'fuse.js';
|
import Fuse from 'fuse.js';
|
||||||
import BrownButton from '$lib/components/buttons/brown.svelte';
|
import BrownButton from '$lib/components/buttons/brown.svelte';
|
||||||
@@ -16,6 +17,8 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import { fly } from 'svelte/transition';
|
import { fly } from 'svelte/transition';
|
||||||
import StartGamePopup from '$lib/dashboard/start_game.svelte';
|
import StartGamePopup from '$lib/dashboard/start_game.svelte';
|
||||||
import Analytics from './Analytics.svelte';
|
import Analytics from './Analytics.svelte';
|
||||||
|
import MediaComponent from '$lib/editor/MediaComponent.svelte';
|
||||||
|
import { createTippy } from 'svelte-tippy';
|
||||||
|
|
||||||
// import GrayButton from "$lib/components/buttons/gray.svelte";
|
// import GrayButton from "$lib/components/buttons/gray.svelte";
|
||||||
|
|
||||||
@@ -29,6 +32,11 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
let items_to_show = [];
|
let items_to_show = [];
|
||||||
let all_items: Array<any>;
|
let all_items: Array<any>;
|
||||||
let fuse;
|
let fuse;
|
||||||
|
const tippy = createTippy({
|
||||||
|
arrow: true,
|
||||||
|
animation: 'perspective-subtle',
|
||||||
|
placement: 'bottom'
|
||||||
|
});
|
||||||
|
|
||||||
let id_to_position_map = {};
|
let id_to_position_map = {};
|
||||||
|
|
||||||
@@ -94,6 +102,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
<title>ClassQuiz - Dashboard</title>
|
<title>ClassQuiz - Dashboard</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
<Analytics bind:quiz={analytics_quiz_selected} />
|
<Analytics bind:quiz={analytics_quiz_selected} />
|
||||||
|
<CommandpaletteNotice />
|
||||||
<div class="min-h-screen flex flex-col">
|
<div class="min-h-screen flex flex-col">
|
||||||
{#await getData()}
|
{#await getData()}
|
||||||
<svg class="h-8 w-8 animate-spin mx-auto my-20" viewBox="3 3 18 18">
|
<svg class="h-8 w-8 animate-spin mx-auto my-20" viewBox="3 3 18 18">
|
||||||
@@ -114,7 +123,11 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
</button>-->
|
</button>-->
|
||||||
<div class="w-full grid lg:grid-cols-4 gap-2 grid-cols-2 px-4">
|
<div class="w-full grid lg:grid-cols-4 gap-2 grid-cols-2 px-4">
|
||||||
{#if create_button_clicked}
|
{#if create_button_clicked}
|
||||||
<div class="flex gap-2" transition:fly={{ y: 10 }}>
|
<div
|
||||||
|
class="flex gap-2"
|
||||||
|
transition:fly={{ y: 10 }}
|
||||||
|
use:tippy={{ content: 'Unsure? Choose "Quiz".' }}
|
||||||
|
>
|
||||||
<BrownButton href="/create">{$t('words.quiz')}</BrownButton>
|
<BrownButton href="/create">{$t('words.quiz')}</BrownButton>
|
||||||
<BrownButton href="/quiztivity/create">{$t('words.quiztivity')}</BrownButton
|
<BrownButton href="/quiztivity/create">{$t('words.quiztivity')}</BrownButton
|
||||||
>
|
>
|
||||||
@@ -175,11 +188,15 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
>
|
>
|
||||||
<div class="hidden lg:flex w-auto h-full items-center relative">
|
<div class="hidden lg:flex w-auto h-full items-center relative">
|
||||||
{#if quiz.cover_image}
|
{#if quiz.cover_image}
|
||||||
<img
|
<!-- <img
|
||||||
src="/api/v1/storage/download/{quiz.cover_image}"
|
src="/api/v1/storage/download/{quiz.cover_image}"
|
||||||
alt="user provided"
|
alt="user provided"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
class="shrink-0 max-w-full max-h-full absolute rounded"
|
class="shrink-0 max-w-full max-h-full absolute rounded"
|
||||||
|
/>-->
|
||||||
|
<MediaComponent
|
||||||
|
src={quiz.cover_image}
|
||||||
|
css_classes="shrink-0 max-w-full max-h-full absolute rounded"
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
import KahootResults from '$lib/play/results_kahoot.svelte';
|
import KahootResults from '$lib/play/results_kahoot.svelte';
|
||||||
import { getLocalization } from '$lib/i18n';
|
import { getLocalization } from '$lib/i18n';
|
||||||
import Cookies from 'js-cookie';
|
import Cookies from 'js-cookie';
|
||||||
|
|
||||||
const { t } = getLocalization();
|
const { t } = getLocalization();
|
||||||
|
|
||||||
// Exports
|
// Exports
|
||||||
@@ -74,14 +73,46 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
socket.emit('echo_time_sync', data);
|
socket.emit('echo_time_sync', data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
socket.on('connect', async () => {
|
||||||
|
console.log('Connected!');
|
||||||
|
const cookie_data = Cookies.get('joined_game');
|
||||||
|
if (!cookie_data) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const data = JSON.parse(cookie_data);
|
||||||
|
socket.emit('rejoin_game', {
|
||||||
|
old_sid: data.sid,
|
||||||
|
username: data.username,
|
||||||
|
game_pin: data.game_pin
|
||||||
|
});
|
||||||
|
const res = await fetch(`/api/v1/quiz/play/check_captcha/${game_pin}`);
|
||||||
|
const json = await res.json();
|
||||||
|
game_mode = json.game_mode;
|
||||||
|
});
|
||||||
|
|
||||||
// Socket-events
|
// Socket-events
|
||||||
socket.on('joined_game', (data) => {
|
socket.on('joined_game', (data) => {
|
||||||
gameData = data;
|
gameData = data;
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
plausible('Joined Game', { props: { game_id: gameData.game_id } });
|
plausible('Joined Game', { props: { game_id: gameData.game_id } });
|
||||||
|
Cookies.set('joined_game', JSON.stringify({ sid: socket.id, username, game_pin }), {
|
||||||
|
expires: 3600
|
||||||
|
});
|
||||||
|
});
|
||||||
|
socket.on('rejoined_game', (data) => {
|
||||||
|
gameData = data;
|
||||||
|
if (data.started) {
|
||||||
|
gameMeta.started = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('game_not_found', () => {
|
socket.on('game_not_found', () => {
|
||||||
|
const cookie_data = Cookies.get('joined_game');
|
||||||
|
if (cookie_data) {
|
||||||
|
Cookies.remove('joined_game');
|
||||||
|
window.location.reload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
game_pin_valid = false;
|
game_pin_valid = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -99,11 +130,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
|
|
||||||
socket.on('question_results', (data) => {
|
socket.on('question_results', (data) => {
|
||||||
restart();
|
restart();
|
||||||
try {
|
answer_results = data;
|
||||||
answer_results = JSON.parse(data);
|
|
||||||
} catch {
|
|
||||||
answer_results = null;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('username_already_exists', () => {
|
socket.on('username_already_exists', () => {
|
||||||
@@ -120,6 +147,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
});
|
});
|
||||||
socket.on('final_results', (data) => {
|
socket.on('final_results', (data) => {
|
||||||
final_results = data;
|
final_results = data;
|
||||||
|
Cookies.remove('joined_game');
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('solutions', (data) => {
|
socket.on('solutions', (data) => {
|
||||||
@@ -149,7 +177,7 @@ SPDX-License-Identifier: MPL-2.0
|
|||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
{#if !gameMeta.started && gameData === undefined}
|
{#if !gameMeta.started && gameData === undefined}
|
||||||
<JoinGame {game_pin} bind:game_mode bind:username />
|
<JoinGame bind:game_pin bind:game_mode bind:username />
|
||||||
{:else if JSON.stringify(final_results) !== JSON.stringify([null])}
|
{:else if JSON.stringify(final_results) !== JSON.stringify([null])}
|
||||||
<ShowEndScreen bind:data={scores} show_final_results={true} bind:username />
|
<ShowEndScreen bind:data={scores} show_final_results={true} bind:username />
|
||||||
{:else if gameData !== undefined && question_index === ''}
|
{:else if gameData !== undefined && question_index === ''}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
{
|
{
|
||||||
"extends": "./.svelte-kit/tsconfig.json",
|
"extends": "./.svelte-kit/tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"resolveJsonModule": true
|
"resolveJsonModule": true,
|
||||||
|
"allowImportingTsExtensions": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ import sys
|
|||||||
import socketio
|
import socketio
|
||||||
|
|
||||||
NUMBER_OF_PLAYERS = 200
|
NUMBER_OF_PLAYERS = 200
|
||||||
GAME_PIN = 563037
|
GAME_PIN = sys.argv[1]
|
||||||
q_index = 0
|
q_index = 0
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user