mirror of
https://github.com/joaovitoriasilva/endurain.git
synced 2026-01-08 23:38:01 -05:00
Merge branch 'master' into backend-authlib-support
This commit is contained in:
@@ -292,6 +292,7 @@ class ExportService:
|
||||
# Sort by start_time descending (most recent first) for consistency
|
||||
sort_by="start_time",
|
||||
sort_order="desc",
|
||||
user_is_owner=True,
|
||||
)
|
||||
|
||||
return activities or []
|
||||
|
||||
574
backend/poetry.lock
generated
574
backend/poetry.lock
generated
@@ -2,14 +2,14 @@
|
||||
|
||||
[[package]]
|
||||
name = "alembic"
|
||||
version = "1.17.0"
|
||||
version = "1.17.1"
|
||||
description = "A database migration tool for SQLAlchemy."
|
||||
optional = false
|
||||
python-versions = ">=3.10"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "alembic-1.17.0-py3-none-any.whl", hash = "sha256:80523bc437d41b35c5db7e525ad9d908f79de65c27d6a5a5eab6df348a352d99"},
|
||||
{file = "alembic-1.17.0.tar.gz", hash = "sha256:4652a0b3e19616b57d652b82bfa5e38bf5dbea0813eed971612671cb9e90c0fe"},
|
||||
{file = "alembic-1.17.1-py3-none-any.whl", hash = "sha256:cbc2386e60f89608bb63f30d2d6cc66c7aaed1fe105bd862828600e5ad167023"},
|
||||
{file = "alembic-1.17.1.tar.gz", hash = "sha256:8a289f6778262df31571d29cca4c7fbacd2f0f582ea0816f4c399b6da7528486"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -38,7 +38,7 @@ version = "4.11.0"
|
||||
description = "High-level concurrency and networking framework on top of asyncio or Trio"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc"},
|
||||
{file = "anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4"},
|
||||
@@ -105,106 +105,6 @@ tornado = ["tornado (>=4.3)"]
|
||||
twisted = ["twisted"]
|
||||
zookeeper = ["kazoo"]
|
||||
|
||||
[[package]]
|
||||
name = "argon2-cffi"
|
||||
version = "23.1.0"
|
||||
description = "Argon2 for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"},
|
||||
{file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
argon2-cffi-bindings = "*"
|
||||
|
||||
[package.extras]
|
||||
dev = ["argon2-cffi[tests,typing]", "tox (>4)"]
|
||||
docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"]
|
||||
tests = ["hypothesis", "pytest"]
|
||||
typing = ["mypy"]
|
||||
|
||||
[[package]]
|
||||
name = "argon2-cffi-bindings"
|
||||
version = "21.2.0"
|
||||
description = "Low-level CFFI bindings for Argon2"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
groups = ["main"]
|
||||
markers = "python_version >= \"3.14\""
|
||||
files = [
|
||||
{file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"},
|
||||
{file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
cffi = ">=1.0.1"
|
||||
|
||||
[package.extras]
|
||||
dev = ["cogapp", "pre-commit", "pytest", "wheel"]
|
||||
tests = ["pytest"]
|
||||
|
||||
[[package]]
|
||||
name = "argon2-cffi-bindings"
|
||||
version = "25.1.0"
|
||||
description = "Low-level CFFI bindings for Argon2"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
markers = "python_version == \"3.13\""
|
||||
files = [
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3c6702abc36bf3ccba3f802b799505def420a1b7039862014a65db3205967f5a"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1c70058c6ab1e352304ac7e3b52554daadacd8d453c1752e547c76e9c99ac44"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2fd3bfbff3c5d74fef31a722f729bf93500910db650c925c2d6ef879a7e51cb"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c4f9665de60b1b0e99bcd6be4f17d90339698ce954cfd8d9cf4f91c995165a92"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ba92837e4a9aa6a508c8d2d7883ed5a8f6c308c89a4790e1e447a220deb79a85"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-win32.whl", hash = "sha256:84a461d4d84ae1295871329b346a97f68eade8c53b6ed9a7ca2d7467f3c8ff6f"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b55aec3565b65f56455eebc9b9f34130440404f27fe21c3b375bf1ea4d8fbae6"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:87c33a52407e4c41f3b70a9c2d3f6056d88b10dad7695be708c5021673f55623"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e924cfc503018a714f94a49a149fdc0b644eaead5d1f089330399134fa028a"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1db89609c06afa1a214a69a462ea741cf735b29a57530478c06eb81dd403de99"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-win32.whl", hash = "sha256:473bcb5f82924b1becbb637b63303ec8d10e84c8d241119419897a26116515d2"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-win_amd64.whl", hash = "sha256:a98cd7d17e9f7ce244c0803cad3c23a7d379c301ba618a5fa76a67d116618b98"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-cp39-abi3-win_arm64.whl", hash = "sha256:b0fdbcf513833809c882823f98dc2f931cf659d9a1429616ac3adebb49f5db94"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6dca33a9859abf613e22733131fc9194091c1fa7cb3e131c143056b4856aa47e"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:21378b40e1b8d1655dd5310c84a40fc19a9aa5e6366e835ceb8576bf0fea716d"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d588dec224e2a83edbdc785a5e6f3c6cd736f46bfd4b441bbb5aa1f5085e584"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5acb4e41090d53f17ca1110c3427f0a130f944b896fc8c83973219c97f57b690"},
|
||||
{file = "argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:da0c79c23a63723aa5d782250fbf51b768abca630285262fb5144ba5ae01e520"},
|
||||
{file = "argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
cffi = {version = ">=1.0.1", markers = "python_version < \"3.14\""}
|
||||
|
||||
[[package]]
|
||||
name = "arrow"
|
||||
version = "1.4.0"
|
||||
@@ -240,21 +140,6 @@ files = [
|
||||
[package.extras]
|
||||
tests = ["mypy (>=1.14.0)", "pytest", "pytest-asyncio"]
|
||||
|
||||
[[package]]
|
||||
name = "authlib"
|
||||
version = "1.6.5"
|
||||
description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients."
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "authlib-1.6.5-py2.py3-none-any.whl", hash = "sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a"},
|
||||
{file = "authlib-1.6.5.tar.gz", hash = "sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
cryptography = "*"
|
||||
|
||||
[[package]]
|
||||
name = "bcrypt"
|
||||
version = "4.3.0"
|
||||
@@ -369,7 +254,7 @@ version = "2025.10.5"
|
||||
description = "Python package for providing Mozilla's CA Bundle."
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de"},
|
||||
{file = "certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43"},
|
||||
@@ -615,117 +500,12 @@ version = "0.4.6"
|
||||
description = "Cross-platform colored terminal text."
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
markers = "platform_system == \"Windows\" or os_name == \"nt\" or sys_platform == \"win32\""
|
||||
files = [
|
||||
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
||||
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
||||
]
|
||||
markers = {main = "platform_system == \"Windows\" or os_name == \"nt\" or sys_platform == \"win32\"", dev = "sys_platform == \"win32\""}
|
||||
|
||||
[[package]]
|
||||
name = "coverage"
|
||||
version = "7.11.0"
|
||||
description = "Code coverage measurement for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.10"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "coverage-7.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eb53f1e8adeeb2e78962bade0c08bfdc461853c7969706ed901821e009b35e31"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d9a03ec6cb9f40a5c360f138b88266fd8f58408d71e89f536b4f91d85721d075"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0d7f0616c557cbc3d1c2090334eddcbb70e1ae3a40b07222d62b3aa47f608fab"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e44a86a47bbdf83b0a3ea4d7df5410d6b1a0de984fbd805fa5101f3624b9abe0"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:596763d2f9a0ee7eec6e643e29660def2eef297e1de0d334c78c08706f1cb785"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ef55537ff511b5e0a43edb4c50a7bf7ba1c3eea20b4f49b1490f1e8e0e42c591"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9cbabd8f4d0d3dc571d77ae5bdbfa6afe5061e679a9d74b6797c48d143307088"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e24045453384e0ae2a587d562df2a04d852672eb63051d16096d3f08aa4c7c2f"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:7161edd3426c8d19bdccde7d49e6f27f748f3c31cc350c5de7c633fea445d866"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d4ed4de17e692ba6415b0587bc7f12bc80915031fc9db46a23ce70fc88c9841"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-win32.whl", hash = "sha256:765c0bc8fe46f48e341ef737c91c715bd2a53a12792592296a095f0c237e09cf"},
|
||||
{file = "coverage-7.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:24d6f3128f1b2d20d84b24f4074475457faedc3d4613a7e66b5e769939c7d969"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d58ecaa865c5b9fa56e35efc51d1014d4c0d22838815b9fce57a27dd9576847"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b679e171f1c104a5668550ada700e3c4937110dbdd153b7ef9055c4f1a1ee3cc"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ca61691ba8c5b6797deb221a0d09d7470364733ea9c69425a640f1f01b7c5bf0"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:aef1747ede4bd8ca9cfc04cc3011516500c6891f1b33a94add3253f6f876b7b7"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1839d08406e4cba2953dcc0ffb312252f14d7c4c96919f70167611f4dee2623"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e0eb0a2dcc62478eb5b4cbb80b97bdee852d7e280b90e81f11b407d0b81c4287"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bc1fbea96343b53f65d5351d8fd3b34fd415a2670d7c300b06d3e14a5af4f552"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:214b622259dd0cf435f10241f1333d32caa64dbc27f8790ab693428a141723de"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:258d9967520cca899695d4eb7ea38be03f06951d6ca2f21fb48b1235f791e601"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cf9e6ff4ca908ca15c157c409d608da77a56a09877b97c889b98fb2c32b6465e"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-win32.whl", hash = "sha256:fcc15fc462707b0680cff6242c48625da7f9a16a28a41bb8fd7a4280920e676c"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:865965bf955d92790f1facd64fe7ff73551bd2c1e7e6b26443934e9701ba30b9"},
|
||||
{file = "coverage-7.11.0-cp311-cp311-win_arm64.whl", hash = "sha256:5693e57a065760dcbeb292d60cc4d0231a6d4b6b6f6a3191561e1d5e8820b745"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9c49e77811cf9d024b95faf86c3f059b11c0c9be0b0d61bc598f453703bd6fd1"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a61e37a403a778e2cda2a6a39abcc895f1d984071942a41074b5c7ee31642007"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c79cae102bb3b1801e2ef1511fb50e91ec83a1ce466b2c7c25010d884336de46"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:16ce17ceb5d211f320b62df002fa7016b7442ea0fd260c11cec8ce7730954893"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:80027673e9d0bd6aef86134b0771845e2da85755cf686e7c7c59566cf5a89115"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d3ffa07a08657306cd2215b0da53761c4d73cb54d9143b9303a6481ec0cd415"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a3b6a5f8b2524fd6c1066bc85bfd97e78709bb5e37b5b94911a6506b65f47186"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fcc0a4aa589de34bc56e1a80a740ee0f8c47611bdfb28cd1849de60660f3799d"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:dba82204769d78c3fd31b35c3d5f46e06511936c5019c39f98320e05b08f794d"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:81b335f03ba67309a95210caf3eb43bd6fe75a4e22ba653ef97b4696c56c7ec2"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-win32.whl", hash = "sha256:037b2d064c2f8cc8716fe4d39cb705779af3fbf1ba318dc96a1af858888c7bb5"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:d66c0104aec3b75e5fd897e7940188ea1892ca1d0235316bf89286d6a22568c0"},
|
||||
{file = "coverage-7.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:d91ebeac603812a09cf6a886ba6e464f3bbb367411904ae3790dfe28311b15ad"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cc3f49e65ea6e0d5d9bd60368684fe52a704d46f9e7fc413918f18d046ec40e1"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f39ae2f63f37472c17b4990f794035c9890418b1b8cca75c01193f3c8d3e01be"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7db53b5cdd2917b6eaadd0b1251cf4e7d96f4a8d24e174bdbdf2f65b5ea7994d"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10ad04ac3a122048688387828b4537bc9cf60c0bf4869c1e9989c46e45690b82"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4036cc9c7983a2b1f2556d574d2eb2154ac6ed55114761685657e38782b23f52"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7ab934dd13b1c5e94b692b1e01bd87e4488cb746e3a50f798cb9464fd128374b"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59a6e5a265f7cfc05f76e3bb53eca2e0dfe90f05e07e849930fecd6abb8f40b4"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:df01d6c4c81e15a7c88337b795bb7595a8596e92310266b5072c7e301168efbd"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8c934bd088eed6174210942761e38ee81d28c46de0132ebb1801dbe36a390dcc"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a03eaf7ec24078ad64a07f02e30060aaf22b91dedf31a6b24d0d98d2bba7f48"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-win32.whl", hash = "sha256:695340f698a5f56f795b2836abe6fb576e7c53d48cd155ad2f80fd24bc63a040"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:2727d47fce3ee2bac648528e41455d1b0c46395a087a229deac75e9f88ba5a05"},
|
||||
{file = "coverage-7.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:0efa742f431529699712b92ecdf22de8ff198df41e43aeaaadf69973eb93f17a"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:587c38849b853b157706407e9ebdca8fd12f45869edb56defbef2daa5fb0812b"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b971bdefdd75096163dd4261c74be813c4508477e39ff7b92191dea19f24cd37"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:269bfe913b7d5be12ab13a95f3a76da23cf147be7fa043933320ba5625f0a8de"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:dadbcce51a10c07b7c72b0ce4a25e4b6dcb0c0372846afb8e5b6307a121eb99f"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9ed43fa22c6436f7957df036331f8fe4efa7af132054e1844918866cd228af6c"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9516add7256b6713ec08359b7b05aeff8850c98d357784c7205b2e60aa2513fa"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb92e47c92fcbcdc692f428da67db33337fa213756f7adb6a011f7b5a7a20740"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d06f4fc7acf3cabd6d74941d53329e06bab00a8fe10e4df2714f0b134bfc64ef"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:6fbcee1a8f056af07ecd344482f711f563a9eb1c2cad192e87df00338ec3cdb0"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dbbf012be5f32533a490709ad597ad8a8ff80c582a95adc8d62af664e532f9ca"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-win32.whl", hash = "sha256:cee6291bb4fed184f1c2b663606a115c743df98a537c969c3c64b49989da96c2"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-win_amd64.whl", hash = "sha256:a386c1061bf98e7ea4758e4313c0ab5ecf57af341ef0f43a0bf26c2477b5c268"},
|
||||
{file = "coverage-7.11.0-cp313-cp313t-win_arm64.whl", hash = "sha256:f9ea02ef40bb83823b2b04964459d281688fe173e20643870bb5d2edf68bc836"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c770885b28fb399aaf2a65bbd1c12bf6f307ffd112d6a76c5231a94276f0c497"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a3d0e2087dba64c86a6b254f43e12d264b636a39e88c5cc0a01a7c71bcfdab7e"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:73feb83bb41c32811973b8565f3705caf01d928d972b72042b44e97c71fd70d1"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c6f31f281012235ad08f9a560976cc2fc9c95c17604ff3ab20120fe480169bca"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9570ad567f880ef675673992222746a124b9595506826b210fbe0ce3f0499cd"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8badf70446042553a773547a61fecaa734b55dc738cacf20c56ab04b77425e43"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a09c1211959903a479e389685b7feb8a17f59ec5a4ef9afde7650bd5eabc2777"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:5ef83b107f50db3f9ae40f69e34b3bd9337456c5a7fe3461c7abf8b75dd666a2"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f91f927a3215b8907e214af77200250bb6aae36eca3f760f89780d13e495388d"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cdbcd376716d6b7fbfeedd687a6c4be019c5a5671b35f804ba76a4c0a778cba4"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-win32.whl", hash = "sha256:bab7ec4bb501743edc63609320aaec8cd9188b396354f482f4de4d40a9d10721"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:3d4ba9a449e9364a936a27322b20d32d8b166553bfe63059bd21527e681e2fad"},
|
||||
{file = "coverage-7.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:ce37f215223af94ef0f75ac68ea096f9f8e8c8ec7d6e8c346ee45c0d363f0479"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:f413ce6e07e0d0dc9c433228727b619871532674b45165abafe201f200cc215f"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:05791e528a18f7072bf5998ba772fe29db4da1234c45c2087866b5ba4dea710e"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cacb29f420cfeb9283b803263c3b9a068924474ff19ca126ba9103e1278dfa44"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314c24e700d7027ae3ab0d95fbf8d53544fca1f20345fd30cd219b737c6e58d3"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:630d0bd7a293ad2fc8b4b94e5758c8b2536fdf36c05f1681270203e463cbfa9b"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e89641f5175d65e2dbb44db15fe4ea48fade5d5bbb9868fdc2b4fce22f4a469d"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c9f08ea03114a637dab06cedb2e914da9dc67fa52c6015c018ff43fdde25b9c2"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce9f3bde4e9b031eaf1eb61df95c1401427029ea1bfddb8621c1161dcb0fa02e"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:e4dc07e95495923d6fd4d6c27bf70769425b71c89053083843fd78f378558996"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:424538266794db2861db4922b05d729ade0940ee69dcf0591ce8f69784db0e11"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-win32.whl", hash = "sha256:4c1eeb3fb8eb9e0190bebafd0462936f75717687117339f708f395fe455acc73"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b56efee146c98dbf2cf5cffc61b9829d1e94442df4d7398b26892a53992d3547"},
|
||||
{file = "coverage-7.11.0-cp314-cp314t-win_arm64.whl", hash = "sha256:b5c2705afa83f49bd91962a4094b6b082f94aef7626365ab3f8f4bd159c5acf3"},
|
||||
{file = "coverage-7.11.0-py3-none-any.whl", hash = "sha256:4b7589765348d78fb4e5fb6ea35d07564e387da2fc5efff62e0222971f155f68"},
|
||||
{file = "coverage-7.11.0.tar.gz", hash = "sha256:167bd504ac1ca2af7ff3b81d245dfea0292c5032ebef9d66cc08a7d28c1b8050"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
toml = ["tomli ; python_full_version <= \"3.11.0a6\""]
|
||||
|
||||
[[package]]
|
||||
name = "crashtest"
|
||||
@@ -880,18 +660,18 @@ test-randomorder = ["pytest-randomly"]
|
||||
|
||||
[[package]]
|
||||
name = "deprecated"
|
||||
version = "1.2.18"
|
||||
version = "1.3.1"
|
||||
description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"},
|
||||
{file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"},
|
||||
{file = "deprecated-1.3.1-py2.py3-none-any.whl", hash = "sha256:597bfef186b6f60181535a29fbe44865ce137a5079f295b479886c82729d5f3f"},
|
||||
{file = "deprecated-1.3.1.tar.gz", hash = "sha256:b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
wrapt = ">=1.10,<2"
|
||||
wrapt = ">=1.10,<3"
|
||||
|
||||
[package.extras]
|
||||
dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools ; python_version >= \"3.12\"", "tox"]
|
||||
@@ -931,43 +711,43 @@ wmi = ["wmi (>=1.5.1) ; platform_system == \"Windows\""]
|
||||
|
||||
[[package]]
|
||||
name = "dulwich"
|
||||
version = "0.24.7"
|
||||
version = "0.24.8"
|
||||
description = "Python Git Library"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "dulwich-0.24.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55ccb9b89c00334a372bd1a8ac8203669251af0d1747dff36730eca617f941f"},
|
||||
{file = "dulwich-0.24.7-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:03baba91e4c143e8cacf1e55c91061a401a266de4ced5904909825a934b43cbb"},
|
||||
{file = "dulwich-0.24.7-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1476379539c60a689ccfefbde3ec3b5e584cd6fc8669de89e69c4ea6a404520f"},
|
||||
{file = "dulwich-0.24.7-cp310-cp310-win32.whl", hash = "sha256:e3675065022ec06a9ddc339e317900a1b4e6cc020516704e7c58eb3ba990458a"},
|
||||
{file = "dulwich-0.24.7-cp310-cp310-win_amd64.whl", hash = "sha256:7c9f59c4089667f64e9f6c3711a444067882f1ae3d27e6475acf2c12ec9aeadc"},
|
||||
{file = "dulwich-0.24.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:381baadd6b4af9264586b91fe09260ccf790b08dae5ef688645503c199094c7a"},
|
||||
{file = "dulwich-0.24.7-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f88c2e7f6c369f2d988e14b76d2228a48d3aea475e7ff13ceb156edb3a18b2f9"},
|
||||
{file = "dulwich-0.24.7-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:bb12ace558b3f4ba37bbd069d0f6bd4add7416693a3bc95e3286c5acff0c05a1"},
|
||||
{file = "dulwich-0.24.7-cp311-cp311-win32.whl", hash = "sha256:ae60eec025625e65f7caf37a69076b12cdb4b63ddb317990ff0cb817c8132988"},
|
||||
{file = "dulwich-0.24.7-cp311-cp311-win_amd64.whl", hash = "sha256:d328200d3caa20557e0568e8dd6c46714406b45abd4e0b333eeb5436614e4f3c"},
|
||||
{file = "dulwich-0.24.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5cb46d76558147529d8de295f8ca22bce0a4cb62163f708c54fc92f2a8d8728f"},
|
||||
{file = "dulwich-0.24.7-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:ba0a121b148dffa5cc3d5fdceb32a002cb6b75a6b79abd89750584baa5021c0b"},
|
||||
{file = "dulwich-0.24.7-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:23182ca6bd54b74109c2fb2bb70b6c34e7dc3bbcc08ecb5c6c31a3a4aa1b30c3"},
|
||||
{file = "dulwich-0.24.7-cp312-cp312-win32.whl", hash = "sha256:1c154a8f33acd815ad990e85d230497de892dde2476e35370f5762d34a1f70fa"},
|
||||
{file = "dulwich-0.24.7-cp312-cp312-win_amd64.whl", hash = "sha256:19f7a90377f5814716beaaeec34897d181c200a666baf477650e0cd4c699443f"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:461f2a894e1045fc6faad1ca0123aac87554f5dd40cbb5772e35933f1f6f1e32"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-android_21_x86_64.whl", hash = "sha256:c8f44cb89d85fe40fa91ec34190d70a016be917ee841591fdbe9fd7e0ff61fc2"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:06219dd38d553f18184dc885fbabe27d3d344ab0327d4ab3f1606617c09d8b32"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:3eb5af24dd2c760701f4b7780b1a9fb5a0da731053fe5d1d0a2f92daa4c62240"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:d8c42e45c217506759170b01b09e194acce1463aafd61f71fb7094b192ad09aa"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-win32.whl", hash = "sha256:32e7e18edfad5dfb978ccf8e575b5776234110b722ea677d4e843058a1df1dd0"},
|
||||
{file = "dulwich-0.24.7-cp313-cp313-win_amd64.whl", hash = "sha256:265549c96680be1f6322cfeabb41337714c1a128824ab7e06d8c9d8a2640f4fb"},
|
||||
{file = "dulwich-0.24.7-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:d29784211e7aeb84ddca1265fe7b8356556f8da531432b542084fb70e8341a00"},
|
||||
{file = "dulwich-0.24.7-cp314-cp314-android_24_x86_64.whl", hash = "sha256:4bb0673480005c7aa331b05af77795f2612e5155fbecaaa0c3fd9da665dad420"},
|
||||
{file = "dulwich-0.24.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ad2b37d65f1f97f9635febf43cf5ecc643900c18463e3dbe43538076c9778bf"},
|
||||
{file = "dulwich-0.24.7-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f48a06d635b061f1196e63e91046e9b8ba9c9865fa8ac1ec7b21580538c9ef0c"},
|
||||
{file = "dulwich-0.24.7-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:9fe8e6c075fe9de2532ee176145172fcb52529b9fbe63708392ddca9c185cf91"},
|
||||
{file = "dulwich-0.24.7-cp39-cp39-win32.whl", hash = "sha256:c7143322dbbeaf78a8a8a433a13f62b51def640b699426c64643f58bf80dfbee"},
|
||||
{file = "dulwich-0.24.7-cp39-cp39-win_amd64.whl", hash = "sha256:8f86d5da9dd29ee20f3b5e4aa18a088707e5a05413ae29cf67d7d7474b88de99"},
|
||||
{file = "dulwich-0.24.7-py3-none-any.whl", hash = "sha256:c1d6e35d7c41982d4ba375ce8ba9db783f4b4ca1a00c62f3121eb881f5c03c53"},
|
||||
{file = "dulwich-0.24.7.tar.gz", hash = "sha256:f10bffa1395a8dedc3d38ac05164f761ae838a6a18f9a09a966f27dd651850d4"},
|
||||
{file = "dulwich-0.24.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:661af1fa3852d970fef68b0ab431f0bd488c3f94306e89244c173c4e6abb978e"},
|
||||
{file = "dulwich-0.24.8-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:1bac020051cf228b33c787294e17ac80a284e028c3749437ee72577ee04e1cd9"},
|
||||
{file = "dulwich-0.24.8-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:97f7c64b02fbd366c36557aa2e8642fc686aaec7d6569bc1460d0b38a63169f9"},
|
||||
{file = "dulwich-0.24.8-cp310-cp310-win32.whl", hash = "sha256:f7519f3b8c66ba2e4ea66f47c2156a66cefedce2a121ac3227e030abe95698f3"},
|
||||
{file = "dulwich-0.24.8-cp310-cp310-win_amd64.whl", hash = "sha256:a60f8a5d718c7cc1f60bb931cc915311fd5198d85d68dde0ef3c569311c14a70"},
|
||||
{file = "dulwich-0.24.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07aa6e7d41358fcba2a8ac53731e1b8ab201cac7a192ec678ef0da34c7643cf1"},
|
||||
{file = "dulwich-0.24.8-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:0e9aacbbb0b0cf4b3fecac2c29ddd4d4e36f03ced30851889c193986e8bb327e"},
|
||||
{file = "dulwich-0.24.8-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8eca5242f8aed324394c95ecd13a0a66d2a0c31c2556f0a52e7bb8dd67edef20"},
|
||||
{file = "dulwich-0.24.8-cp311-cp311-win32.whl", hash = "sha256:108c74b329599931bfe66c4a34fb9312cd8136053cbfc04e7007e7c34081c6b7"},
|
||||
{file = "dulwich-0.24.8-cp311-cp311-win_amd64.whl", hash = "sha256:efbf0f29d8d3d56a098e2b4a9260bdfa5f313142180a882c7b28e648d9b5ca9e"},
|
||||
{file = "dulwich-0.24.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8ac85e3ea42878fa91b6a9282652327df54f5abea4aaf674036e1000608a15f0"},
|
||||
{file = "dulwich-0.24.8-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:b31e08bcd0a4eb29915987fa5273a827cccca7ee83eb27ef17bd5899f5668055"},
|
||||
{file = "dulwich-0.24.8-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:267e79367cd6f438091248c1e826c6cf7abd84d5b641b9fe46fbc4d9119e11ed"},
|
||||
{file = "dulwich-0.24.8-cp312-cp312-win32.whl", hash = "sha256:6a51a41e858e0427b14bb19df7ac1207275dd6b5cc1976f54710bf15cb4c5614"},
|
||||
{file = "dulwich-0.24.8-cp312-cp312-win_amd64.whl", hash = "sha256:6016e3f7a0f1dd5e19df14b772cb8f42bfde0cd55c504642c05e1e8328de21e3"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:19be46710a9d810a66d4a925754abf3818ba22d61134e7d7e1d7b1585c9445b6"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-android_21_x86_64.whl", hash = "sha256:17d8223cc69cf79ddd7a2f0893e223708f7efc2ea372f919ddcc0d852b3f5d06"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a0a780b512d4144336eac2f1f6b982eb78c313442e88ba0db853a224e2b918ef"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:2e3a9a713fda94f3216da4743db3cc8d670330f44c4d98580ac4600242dba2c4"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:b03474c16bcfa3524241b4ae89007931d79ac37c0b19e059133a6e63b7039845"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-win32.whl", hash = "sha256:ec0f62538b6fb26cdd1b2fb70788ccfdb17df26a4ba1ca70e623e196c4004f5c"},
|
||||
{file = "dulwich-0.24.8-cp313-cp313-win_amd64.whl", hash = "sha256:16e335bce0d5192d476db0ca81de1f90fb56863ad7d0b985b0333a8194c73c64"},
|
||||
{file = "dulwich-0.24.8-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:19855e8a0ce299cdcdafdc8bc4f6653bea9e02124a5022e13cda8103fb36912d"},
|
||||
{file = "dulwich-0.24.8-cp314-cp314-android_24_x86_64.whl", hash = "sha256:da03c7a6629b7ed37e7139739a175f2c9678080a45444418c54ab28d2ec6524b"},
|
||||
{file = "dulwich-0.24.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7a0d2cef91cf92a44071daa92639f648ab756d3db63a99e37d3a08ebacf69f3"},
|
||||
{file = "dulwich-0.24.8-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:5593a7216b27412333b99b2e1851bcc2485485d5c4694430aa86d34a36f08d63"},
|
||||
{file = "dulwich-0.24.8-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ea6c63d3e40fc321ec7c5673b92be036b57aba7802c7e94a18f61451af382de0"},
|
||||
{file = "dulwich-0.24.8-cp39-cp39-win32.whl", hash = "sha256:a6055b12cf2b90a0b4c21d38594f2681667d26bb0c135dfc36c2ea6de7458a37"},
|
||||
{file = "dulwich-0.24.8-cp39-cp39-win_amd64.whl", hash = "sha256:138fd2480c1db43f372d52e4e6ed050c15f92ffbeeab9a0877dceb9801c65d2a"},
|
||||
{file = "dulwich-0.24.8-py3-none-any.whl", hash = "sha256:6ffdd616135bcb31eb2edcccf82d4408720f1db69f596f687ffa2d26c2f5e6f4"},
|
||||
{file = "dulwich-0.24.8.tar.gz", hash = "sha256:c9f4748bbcca56fb57458c71c0d30e2351ac15e0583d428c739c09228be68f05"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -1000,22 +780,6 @@ files = [
|
||||
dnspython = ">=2.0.0"
|
||||
idna = ">=2.0.0"
|
||||
|
||||
[[package]]
|
||||
name = "faker"
|
||||
version = "33.3.1"
|
||||
description = "Faker is a Python package that generates fake data for you."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "Faker-33.3.1-py3-none-any.whl", hash = "sha256:ac4cf2f967ce02c898efa50651c43180bd658a7707cfd676fcc5410ad1482c03"},
|
||||
{file = "faker-33.3.1.tar.gz", hash = "sha256:49dde3b06a5602177bc2ad013149b6f60a290b7154539180d37b6f876ae79b20"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
python-dateutil = ">=2.4"
|
||||
typing-extensions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "fastapi"
|
||||
version = "0.115.14"
|
||||
@@ -1399,7 +1163,7 @@ version = "0.16.0"
|
||||
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"},
|
||||
{file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"},
|
||||
@@ -1474,7 +1238,7 @@ version = "1.0.9"
|
||||
description = "A minimal low-level HTTP client."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"},
|
||||
{file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"},
|
||||
@@ -1496,7 +1260,7 @@ version = "0.28.1"
|
||||
description = "The next generation HTTP client."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
|
||||
{file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
|
||||
@@ -1521,7 +1285,7 @@ version = "3.11"
|
||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"},
|
||||
{file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"},
|
||||
@@ -1554,18 +1318,6 @@ perf = ["ipython"]
|
||||
test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"]
|
||||
type = ["pytest-mypy"]
|
||||
|
||||
[[package]]
|
||||
name = "iniconfig"
|
||||
version = "2.3.0"
|
||||
description = "brain-dead simple config-ini parsing"
|
||||
optional = false
|
||||
python-versions = ">=3.10"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"},
|
||||
{file = "iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "installer"
|
||||
version = "0.7.0"
|
||||
@@ -1578,18 +1330,6 @@ files = [
|
||||
{file = "installer-0.7.0.tar.gz", hash = "sha256:a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itsdangerous"
|
||||
version = "2.2.0"
|
||||
description = "Safely pass data to untrusted environments and back."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"},
|
||||
{file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jaraco-classes"
|
||||
version = "3.4.0"
|
||||
@@ -1712,34 +1452,6 @@ enabler = ["pytest-enabler (>=2.2)"]
|
||||
test = ["pyfakefs", "pytest (>=6,!=8.1.*)"]
|
||||
type = ["pygobject-stubs", "pytest-mypy", "shtab", "types-pywin32"]
|
||||
|
||||
[[package]]
|
||||
name = "limits"
|
||||
version = "5.6.0"
|
||||
description = "Rate limiting utilities"
|
||||
optional = false
|
||||
python-versions = ">=3.10"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "limits-5.6.0-py3-none-any.whl", hash = "sha256:b585c2104274528536a5b68864ec3835602b3c4a802cd6aa0b07419798394021"},
|
||||
{file = "limits-5.6.0.tar.gz", hash = "sha256:807fac75755e73912e894fdd61e2838de574c5721876a19f7ab454ae1fffb4b5"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
deprecated = ">=1.2"
|
||||
packaging = ">=21"
|
||||
typing-extensions = "*"
|
||||
|
||||
[package.extras]
|
||||
async-memcached = ["memcachio (>=0.3)"]
|
||||
async-mongodb = ["motor (>=3,<4)"]
|
||||
async-redis = ["coredis (>=3.4.0,<6)"]
|
||||
async-valkey = ["valkey (>=6)"]
|
||||
memcached = ["pymemcache (>3,<5.0.0)"]
|
||||
mongodb = ["pymongo (>4.1,<5)"]
|
||||
redis = ["redis (>3,!=4.5.2,!=4.5.3,<7.0.0)"]
|
||||
rediscluster = ["redis (>=4.2.0,!=4.5.2,!=4.5.3)"]
|
||||
valkey = ["valkey (>=6)"]
|
||||
|
||||
[[package]]
|
||||
name = "mako"
|
||||
version = "1.3.10"
|
||||
@@ -1959,6 +1671,24 @@ files = [
|
||||
{file = "msgpack-1.1.2.tar.gz", hash = "sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mysqlclient"
|
||||
version = "2.2.7"
|
||||
description = "Python interface to MySQL"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "mysqlclient-2.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:2e3c11f7625029d7276ca506f8960a7fd3c5a0a0122c9e7404e6a8fe961b3d22"},
|
||||
{file = "mysqlclient-2.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:a22d99d26baf4af68ebef430e3131bb5a9b722b79a9fcfac6d9bbf8a88800687"},
|
||||
{file = "mysqlclient-2.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:4b4c0200890837fc64014cc938ef2273252ab544c1b12a6c1d674c23943f3f2e"},
|
||||
{file = "mysqlclient-2.2.7-cp313-cp313-win_amd64.whl", hash = "sha256:201a6faa301011dd07bca6b651fe5aaa546d7c9a5426835a06c3172e1056a3c5"},
|
||||
{file = "mysqlclient-2.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:199dab53a224357dd0cb4d78ca0e54018f9cee9bf9ec68d72db50e0a23569076"},
|
||||
{file = "mysqlclient-2.2.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:92af368ed9c9144737af569c86d3b6c74a012a6f6b792eb868384787b52bb585"},
|
||||
{file = "mysqlclient-2.2.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:977e35244fe6ef44124e9a1c2d1554728a7b76695598e4b92b37dc2130503069"},
|
||||
{file = "mysqlclient-2.2.7.tar.gz", hash = "sha256:24ae22b59416d5fcce7e99c9d37548350b4565baac82f95e149cac6ce4163845"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "numpy"
|
||||
version = "2.3.4"
|
||||
@@ -2277,7 +2007,7 @@ version = "25.0"
|
||||
description = "Core utilities for Python packages"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
|
||||
{file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
|
||||
@@ -2285,14 +2015,14 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "pbs-installer"
|
||||
version = "2025.10.14"
|
||||
version = "2025.10.28"
|
||||
description = "Installer for Python Build Standalone"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "pbs_installer-2025.10.14-py3-none-any.whl", hash = "sha256:6f14d7bf39e5ba9c628be2be76ebda2d2fb26e49d25c33c862fc4d6cca913a81"},
|
||||
{file = "pbs_installer-2025.10.14.tar.gz", hash = "sha256:1e6d5ca8bd2260bd3b68d4d1f91dc6b609a63f8fa99791c5685c9207cbcccfbe"},
|
||||
{file = "pbs_installer-2025.10.28-py3-none-any.whl", hash = "sha256:329b0800df9ff8d50c79bfead69b0e05fa5c81d31e7e77377d1c422f94407eda"},
|
||||
{file = "pbs_installer-2025.10.28.tar.gz", hash = "sha256:399f1788b17c650e69c42729ba9e74d240909f36cfe187b5f9b60488314ba154"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -2479,22 +2209,6 @@ docs = ["furo (>=2025.9.25)", "proselint (>=0.14)", "sphinx (>=8.2.3)", "sphinx-
|
||||
test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.4.2)", "pytest-cov (>=7)", "pytest-mock (>=3.15.1)"]
|
||||
type = ["mypy (>=1.18.2)"]
|
||||
|
||||
[[package]]
|
||||
name = "pluggy"
|
||||
version = "1.6.0"
|
||||
description = "plugin and hook calling mechanisms for python"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"},
|
||||
{file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
dev = ["pre-commit", "tox"]
|
||||
testing = ["coverage", "pytest", "pytest-benchmark"]
|
||||
|
||||
[[package]]
|
||||
name = "poetry"
|
||||
version = "2.2.1"
|
||||
@@ -2709,26 +2423,6 @@ files = [
|
||||
[package.dependencies]
|
||||
typing-extensions = ">=4.6"
|
||||
|
||||
[[package]]
|
||||
name = "pwdlib"
|
||||
version = "0.2.1"
|
||||
description = "Modern password hashing for Python"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "pwdlib-0.2.1-py3-none-any.whl", hash = "sha256:1823dc6f22eae472b540e889ecf57fd424051d6a4023ec0bcf7f0de2d9d7ef8c"},
|
||||
{file = "pwdlib-0.2.1.tar.gz", hash = "sha256:9a1d8a8fa09a2f7ebf208265e55d7d008103cbdc82b9e4902ffdd1ade91add5e"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
argon2-cffi = {version = ">=23.1.0,<24", optional = true, markers = "extra == \"argon2\""}
|
||||
bcrypt = {version = ">=4.1.2,<5", optional = true, markers = "extra == \"bcrypt\""}
|
||||
|
||||
[package.extras]
|
||||
argon2 = ["argon2-cffi (>=23.1.0,<24)"]
|
||||
bcrypt = ["bcrypt (>=4.1.2,<5)"]
|
||||
|
||||
[[package]]
|
||||
name = "pycparser"
|
||||
version = "2.23"
|
||||
@@ -2894,21 +2588,6 @@ files = [
|
||||
[package.dependencies]
|
||||
typing-extensions = ">=4.14.1"
|
||||
|
||||
[[package]]
|
||||
name = "pygments"
|
||||
version = "2.19.2"
|
||||
description = "Pygments is a syntax highlighting package written in Python."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"},
|
||||
{file = "pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
windows-terminal = ["colorama (>=0.4.6)"]
|
||||
|
||||
[[package]]
|
||||
name = "pyotp"
|
||||
version = "2.9.0"
|
||||
@@ -2936,74 +2615,13 @@ files = [
|
||||
{file = "pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pytest"
|
||||
version = "8.4.2"
|
||||
description = "pytest: simple powerful testing with Python"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79"},
|
||||
{file = "pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""}
|
||||
iniconfig = ">=1"
|
||||
packaging = ">=20"
|
||||
pluggy = ">=1.5,<2"
|
||||
pygments = ">=2.7.2"
|
||||
|
||||
[package.extras]
|
||||
dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"]
|
||||
|
||||
[[package]]
|
||||
name = "pytest-asyncio"
|
||||
version = "0.24.0"
|
||||
description = "Pytest support for asyncio"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pytest_asyncio-0.24.0-py3-none-any.whl", hash = "sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b"},
|
||||
{file = "pytest_asyncio-0.24.0.tar.gz", hash = "sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
pytest = ">=8.2,<9"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"]
|
||||
testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "pytest-cov"
|
||||
version = "6.3.0"
|
||||
description = "Pytest plugin for measuring coverage."
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pytest_cov-6.3.0-py3-none-any.whl", hash = "sha256:440db28156d2468cafc0415b4f8e50856a0d11faefa38f30906048fe490f1749"},
|
||||
{file = "pytest_cov-6.3.0.tar.gz", hash = "sha256:35c580e7800f87ce892e687461166e1ac2bcb8fb9e13aea79032518d6e503ff2"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
coverage = {version = ">=7.5", extras = ["toml"]}
|
||||
pluggy = ">=1.2"
|
||||
pytest = ">=6.2.5"
|
||||
|
||||
[package.extras]
|
||||
testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"]
|
||||
|
||||
[[package]]
|
||||
name = "python-dateutil"
|
||||
version = "2.9.0.post0"
|
||||
description = "Extensions to the standard Python datetime module"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
|
||||
{file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
|
||||
@@ -3341,26 +2959,6 @@ files = [
|
||||
[package.dependencies]
|
||||
requests = ">=2.0.1,<3.0.0"
|
||||
|
||||
[[package]]
|
||||
name = "safeuploads"
|
||||
version = "0.1.0"
|
||||
description = "A comprehensive file security system for validating uploads and preventing attacks"
|
||||
optional = false
|
||||
python-versions = ">=3.13"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "safeuploads-0.1.0-py3-none-any.whl", hash = "sha256:c1a64b1e3def7c5b84ba6f0ad38dc8d19969438d054d866ba636aa9d6e02441b"},
|
||||
{file = "safeuploads-0.1.0.tar.gz", hash = "sha256:84d56245af9c24ee1b9d380e56cf05d7f88c30b70bbcae2d893de8e3e87c8540"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
fastapi = {version = ">=0.110,<1.0", optional = true, markers = "extra == \"fastapi\""}
|
||||
python-magic = ">=0.4.27,<0.5.0"
|
||||
|
||||
[package.extras]
|
||||
dev = ["pytest (>=8.0,<9.0)", "pytest-asyncio (>=0.23,<1.0)", "pytest-cov (>=4.1,<5.0)"]
|
||||
fastapi = ["fastapi (>=0.110,<1.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "secretstorage"
|
||||
version = "3.4.0"
|
||||
@@ -3396,37 +2994,19 @@ version = "1.17.0"
|
||||
description = "Python 2 and 3 compatibility utilities"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
|
||||
{file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "slowapi"
|
||||
version = "0.1.9"
|
||||
description = "A rate limiting extension for Starlette and Fastapi"
|
||||
optional = false
|
||||
python-versions = ">=3.7,<4.0"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "slowapi-0.1.9-py3-none-any.whl", hash = "sha256:cfad116cfb84ad9d763ee155c1e5c5cbf00b0d47399a769b227865f5df576e36"},
|
||||
{file = "slowapi-0.1.9.tar.gz", hash = "sha256:639192d0f1ca01b1c6d95bf6c71d794c3a9ee189855337b4821f7f457dddad77"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
limits = ">=2.3"
|
||||
|
||||
[package.extras]
|
||||
redis = ["redis (>=3.4.1,<4.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "sniffio"
|
||||
version = "1.3.1"
|
||||
description = "Sniff out which async library your code is running under"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
|
||||
{file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
|
||||
@@ -3640,7 +3220,7 @@ version = "4.15.0"
|
||||
description = "Backported and Experimental Type Hints for Python 3.9+"
|
||||
optional = false
|
||||
python-versions = ">=3.9"
|
||||
groups = ["main", "dev"]
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"},
|
||||
{file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"},
|
||||
@@ -3776,14 +3356,14 @@ standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.6.3)
|
||||
|
||||
[[package]]
|
||||
name = "virtualenv"
|
||||
version = "20.35.3"
|
||||
version = "20.35.4"
|
||||
description = "Virtual Python Environment builder"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "virtualenv-20.35.3-py3-none-any.whl", hash = "sha256:63d106565078d8c8d0b206d48080f938a8b25361e19432d2c9db40d2899c810a"},
|
||||
{file = "virtualenv-20.35.3.tar.gz", hash = "sha256:4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44"},
|
||||
{file = "virtualenv-20.35.4-py3-none-any.whl", hash = "sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b"},
|
||||
{file = "virtualenv-20.35.4.tar.gz", hash = "sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@@ -4167,4 +3747,4 @@ cffi = ["cffi (>=1.17,<2.0) ; platform_python_implementation != \"PyPy\" and pyt
|
||||
[metadata]
|
||||
lock-version = "2.1"
|
||||
python-versions = "^3.13"
|
||||
content-hash = "7a3b048b9d49f791e7e7e6666f2b5d0ea79168fa0d731bf7eb8affbaafc58ac1"
|
||||
content-hash = "8f8b1235645ba5165102bddff066f582eb10dff7d12e2348ac3bdffec41c1643"
|
||||
|
||||
@@ -16,6 +16,7 @@ This guide uses Endurain's built-in export/import functionality to migrate your
|
||||
- You will need to use default credentials (admin/admin) on new setup
|
||||
- Keep your existing MariaDB database running for rollback if needed
|
||||
- The import process can take time for large databases with many activities
|
||||
- Server settings are not migrated
|
||||
|
||||
## Migration Steps
|
||||
|
||||
|
||||
168
frontend/app/package-lock.json
generated
168
frontend/app/package-lock.json
generated
@@ -43,9 +43,9 @@
|
||||
"jsdom": "^27.0.0",
|
||||
"npm-run-all2": "^8.0.4",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.1.9",
|
||||
"vite": "^7.1.12",
|
||||
"vite-plugin-pwa": "^1.0.0",
|
||||
"vitest": "^4.0.4",
|
||||
"vitest": "^4.0.5",
|
||||
"vue-eslint-parser": "^10.2.0",
|
||||
"vue-tsc": "^3.1.0"
|
||||
}
|
||||
@@ -100,13 +100,6 @@
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame/node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@babel/compat-data": {
|
||||
"version": "7.28.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
|
||||
@@ -2321,13 +2314,26 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-helpers": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz",
|
||||
"integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==",
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
|
||||
"integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/core": "^0.16.0"
|
||||
"@eslint/core": "^0.17.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-helpers/node_modules/@eslint/core": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
|
||||
"integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.15"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -2428,19 +2434,32 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz",
|
||||
"integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
|
||||
"integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/core": "^0.16.0",
|
||||
"@eslint/core": "^0.17.0",
|
||||
"levn": "^0.4.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
|
||||
"integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.15"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-common-types": {
|
||||
"version": "6.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz",
|
||||
@@ -3282,9 +3301,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "24.9.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz",
|
||||
"integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==",
|
||||
"version": "24.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz",
|
||||
"integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3565,16 +3584,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/expect": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.4.tgz",
|
||||
"integrity": "sha512-0ioMscWJtfpyH7+P82sGpAi3Si30OVV73jD+tEqXm5+rIx9LgnfdaOn45uaFkKOncABi/PHL00Yn0oW/wK4cXw==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.5.tgz",
|
||||
"integrity": "sha512-DJctLVlKoddvP/G389oGmKWNG6GD9frm2FPXARziU80Rjo7SIYxQzb2YFzmQ4fVD3Q5utUYY8nUmWrqsuIlIXQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@standard-schema/spec": "^1.0.0",
|
||||
"@types/chai": "^5.2.2",
|
||||
"@vitest/spy": "4.0.4",
|
||||
"@vitest/utils": "4.0.4",
|
||||
"@vitest/spy": "4.0.5",
|
||||
"@vitest/utils": "4.0.5",
|
||||
"chai": "^6.0.1",
|
||||
"tinyrainbow": "^3.0.3"
|
||||
},
|
||||
@@ -3583,13 +3602,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/mocker": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.4.tgz",
|
||||
"integrity": "sha512-UTtKgpjWj+pvn3lUM55nSg34098obGhSHH+KlJcXesky8b5wCUgg7s60epxrS6yAG8slZ9W8T9jGWg4PisMf5Q==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.5.tgz",
|
||||
"integrity": "sha512-iYHIy72LfbK+mL5W8zXROp6oOcJKXWeKcNjcPPsqoa18qIEDrhB6/Z08o0wRajTd6SSSDNw8NCSIHVNOMpz0mw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/spy": "4.0.4",
|
||||
"@vitest/spy": "4.0.5",
|
||||
"estree-walker": "^3.0.3",
|
||||
"magic-string": "^0.30.19"
|
||||
},
|
||||
@@ -3610,9 +3629,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/pretty-format": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.4.tgz",
|
||||
"integrity": "sha512-lHI2rbyrLVSd1TiHGJYyEtbOBo2SDndIsN3qY4o4xe2pBxoJLD6IICghNCvD7P+BFin6jeyHXiUICXqgl6vEaQ==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.5.tgz",
|
||||
"integrity": "sha512-t1T/sSdsYyNc5AZl0EMeD0jW9cpJe2cODP0R++ZQe1kTkpgrwEfxGFR/yCG4w8ZybizbXRTHU7lE8sTDD/QsGw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3623,13 +3642,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/runner": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.4.tgz",
|
||||
"integrity": "sha512-99EDqiCkncCmvIZj3qJXBZbyoQ35ghOwVWNnQ5nj0Hnsv4Qm40HmrMJrceewjLVvsxV/JSU4qyx2CGcfMBmXJw==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.5.tgz",
|
||||
"integrity": "sha512-CQVVe+YEeKSiFBD5gBAmRDQglm4PnMBYzeTmt06t5iWtsUN9StQeeKhYCea/oaqBYilf8sARG6fSctUcEL/UmQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/utils": "4.0.4",
|
||||
"@vitest/utils": "4.0.5",
|
||||
"pathe": "^2.0.3"
|
||||
},
|
||||
"funding": {
|
||||
@@ -3637,13 +3656,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/snapshot": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.4.tgz",
|
||||
"integrity": "sha512-XICqf5Gi4648FGoBIeRgnHWSNDp+7R5tpclGosFaUUFzY6SfcpsfHNMnC7oDu/iOLBxYfxVzaQpylEvpgii3zw==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.5.tgz",
|
||||
"integrity": "sha512-jfmSAeR6xYNEvcD+/RxFGA1bzpqHtkVhgxo2cxXia+Q3xX7m6GpZij07rz+WyQcA/xEGn4eIS1OItkMyWsGBmQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/pretty-format": "4.0.4",
|
||||
"@vitest/pretty-format": "4.0.5",
|
||||
"magic-string": "^0.30.19",
|
||||
"pathe": "^2.0.3"
|
||||
},
|
||||
@@ -3652,9 +3671,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/spy": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.4.tgz",
|
||||
"integrity": "sha512-G9L13AFyYECo40QG7E07EdYnZZYCKMTSp83p9W8Vwed0IyCG1GnpDLxObkx8uOGPXfDpdeVf24P1Yka8/q1s9g==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.5.tgz",
|
||||
"integrity": "sha512-TUmVQpAQign7r8+EnZsgTF3vY9BdGofTUge1rGNbnHn2IN3FChiQoT9lrPz7A7AVUZJU2LAZXl4v66HhsNMhoA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -3662,13 +3681,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vitest/utils": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.4.tgz",
|
||||
"integrity": "sha512-4bJLmSvZLyVbNsYFRpPYdJViG9jZyRvMZ35IF4ymXbRZoS+ycYghmwTGiscTXduUg2lgKK7POWIyXJNute1hjw==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.5.tgz",
|
||||
"integrity": "sha512-V5RndUgCB5/AfNvK9zxGCrRs99IrPYtMTIdUzJMMFs9nrmE5JXExIEfjVtUteyTRiLfCm+dCRMHf/Uu7Mm8/dg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/pretty-format": "4.0.4",
|
||||
"@vitest/pretty-format": "4.0.5",
|
||||
"tinyrainbow": "^3.0.3"
|
||||
},
|
||||
"funding": {
|
||||
@@ -4224,9 +4243,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.8.20",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz",
|
||||
"integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==",
|
||||
"version": "2.8.21",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.21.tgz",
|
||||
"integrity": "sha512-JU0h5APyQNsHOlAM7HnQnPToSDQoEBZqzu/YBlqDnEeymPnZDREeXJA3KBMQee+dKteAxZ2AtvQEvVYdZf241Q==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -4858,9 +4877,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.241",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.241.tgz",
|
||||
"integrity": "sha512-ILMvKX/ZV5WIJzzdtuHg8xquk2y0BOGlFOxBVwTpbiXqWIH0hamG45ddU4R3PQ0gYu+xgo0vdHXHli9sHIGb4w==",
|
||||
"version": "1.5.243",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.243.tgz",
|
||||
"integrity": "sha512-ZCphxFW3Q1TVhcgS9blfut1PX8lusVi2SvXQgmEEnK4TCmE1JhH2JkjJN+DNt0pJJwfBri5AROBnz2b/C+YU9g==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -6650,6 +6669,13 @@
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
@@ -7047,9 +7073,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.26",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz",
|
||||
"integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==",
|
||||
"version": "2.0.27",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
|
||||
"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -9228,19 +9254,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vitest": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.4.tgz",
|
||||
"integrity": "sha512-hV31h0/bGbtmDQc0KqaxsTO1v4ZQeF8ojDFuy4sZhFadwAqqvJA0LDw68QUocctI5EDpFMql/jVWKuPYHIf2Ew==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.5.tgz",
|
||||
"integrity": "sha512-4H+J28MI5oeYgGg3h5BFSkQ1g/2GKK1IR8oorH3a6EQQbb7CwjbnyBjH4PGxw9/6vpwAPNzaeUMp4Js4WJmdXQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vitest/expect": "4.0.4",
|
||||
"@vitest/mocker": "4.0.4",
|
||||
"@vitest/pretty-format": "4.0.4",
|
||||
"@vitest/runner": "4.0.4",
|
||||
"@vitest/snapshot": "4.0.4",
|
||||
"@vitest/spy": "4.0.4",
|
||||
"@vitest/utils": "4.0.4",
|
||||
"@vitest/expect": "4.0.5",
|
||||
"@vitest/mocker": "4.0.5",
|
||||
"@vitest/pretty-format": "4.0.5",
|
||||
"@vitest/runner": "4.0.5",
|
||||
"@vitest/snapshot": "4.0.5",
|
||||
"@vitest/spy": "4.0.5",
|
||||
"@vitest/utils": "4.0.5",
|
||||
"debug": "^4.4.3",
|
||||
"es-module-lexer": "^1.7.0",
|
||||
"expect-type": "^1.2.2",
|
||||
@@ -9268,10 +9294,10 @@
|
||||
"@edge-runtime/vm": "*",
|
||||
"@types/debug": "^4.1.12",
|
||||
"@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
|
||||
"@vitest/browser-playwright": "4.0.4",
|
||||
"@vitest/browser-preview": "4.0.4",
|
||||
"@vitest/browser-webdriverio": "4.0.4",
|
||||
"@vitest/ui": "4.0.4",
|
||||
"@vitest/browser-playwright": "4.0.5",
|
||||
"@vitest/browser-preview": "4.0.5",
|
||||
"@vitest/browser-webdriverio": "4.0.5",
|
||||
"@vitest/ui": "4.0.5",
|
||||
"happy-dom": "*",
|
||||
"jsdom": "*"
|
||||
},
|
||||
@@ -10222,4 +10248,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,10 +49,10 @@
|
||||
"jsdom": "^27.0.0",
|
||||
"npm-run-all2": "^8.0.4",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.1.9",
|
||||
"vite": "^7.1.12",
|
||||
"vite-plugin-pwa": "^1.0.0",
|
||||
"vitest": "^4.0.4",
|
||||
"vitest": "^4.0.5",
|
||||
"vue-eslint-parser": "^10.2.0",
|
||||
"vue-tsc": "^3.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Importació massiva",
|
||||
"bulkImportIntegrationBody": "Importació massiva d'activitats (des de fitxers desats a la carpeta activity_files/bulk_import)",
|
||||
"buttonBulkImport": "Importar activitats",
|
||||
"loadingMessageBulkImport": "Important activitats des de fitxers...",
|
||||
"errorMessageUnableToImportActivities": "Error important activitats",
|
||||
"stravaGearImportTitle": "Importació d'equipament d'Strava",
|
||||
"stravaGearImportBody": "Importar equipament des d'una exportació massiva d'Strava (a la carpeta data/activity_files/bulk_import)",
|
||||
"stravaGearImportbuttonBikes": "Importar bicis d'Strava",
|
||||
"loadingMessageStravaBikesImport": "Important bicis d'Strava desde fitxer...",
|
||||
"successMessageStravaBikesImport": "Bicis d'Strava importades correctament",
|
||||
"errorMessageUnableToImportBikes": "Error important bicis d'Strava"
|
||||
"bulkImportIntegrationTitle": "Importació massiva",
|
||||
"bulkImportIntegrationBody": "Importació massiva d'activitats (des de fitxers desats a la carpeta activity_files/bulk_import)",
|
||||
"buttonBulkImport": "Importar activitats",
|
||||
"loadingMessageBulkImport": "Important activitats des de fitxers...",
|
||||
"errorMessageUnableToImportActivities": "Error important activitats",
|
||||
"importTitle": "Importa",
|
||||
"stravaGearImportTitle": "Importació d'equipament d'Strava",
|
||||
"stravaGearImportBody": "Importar equipament des d'una exportació massiva d'Strava (a la carpeta data/activity_files/bulk_import)",
|
||||
"stravaGearImportbuttonBikes": "Importar bicis d'Strava",
|
||||
"loadingMessageStravaBikesImport": "Important bicis d'Strava desde fitxer...",
|
||||
"successMessageStravaBikesImport": "Bicis d'Strava importades correctament",
|
||||
"errorMessageUnableToImportBikes": "Error important bicis d'Strava",
|
||||
"stravaImportbuttonShoes": "Importar bambes d'Strava",
|
||||
"loadingMessageStravaShoesImport": "Important bambes d'Strava des de fitxer...",
|
||||
"successMessageStravaShoesImport": "Bambes d'Strava importades correctament",
|
||||
"errorMessageUnableToImportShoes": "Error important bambes d'Strava"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"title": "Activities",
|
||||
"filterLabelType": "Type",
|
||||
"filterOptionAllTypes": "All types",
|
||||
"filterLabelFromDate": "From date",
|
||||
"filterLabelToDate": "To date",
|
||||
"filterLabelNameLocation": "Name or location",
|
||||
"filterPlaceholderNameLocation": "e.g., Morning run",
|
||||
"buttonClear": "Clear",
|
||||
"buttonApply": "Apply",
|
||||
"errorFailedFetchActivityTypes": "Failed to fetch activity types",
|
||||
"errorUpdatingActivities": "Failed to updated activities",
|
||||
"errorFetchingActivities": "Failed to fetch user activities"
|
||||
"title": "活动",
|
||||
"filterLabelType": "类型",
|
||||
"filterOptionAllTypes": "所有类型",
|
||||
"filterLabelFromDate": "开始日期",
|
||||
"filterLabelToDate": "结束日期",
|
||||
"filterLabelNameLocation": "名称或位置",
|
||||
"filterPlaceholderNameLocation": "例如:「早晨跑步」",
|
||||
"buttonClear": "清除",
|
||||
"buttonApply": "应用",
|
||||
"errorFailedFetchActivityTypes": "获取活动类型失败",
|
||||
"errorUpdatingActivities": "更新活动失败",
|
||||
"errorFetchingActivities": "获取用户活动失败"
|
||||
}
|
||||
|
||||
@@ -1,42 +1,42 @@
|
||||
{
|
||||
"run": "Run",
|
||||
"trailRun": "Trail run",
|
||||
"virtualRun": "Virtual run",
|
||||
"ride": "Ride",
|
||||
"gravelRide": "Gravel ride",
|
||||
"mtbRide": "MTB ride",
|
||||
"virtualRide": "Virtual ride",
|
||||
"lapSwimming": "Lap swimming",
|
||||
"openWaterSwimming": "Open water swimming",
|
||||
"workout": "Workout",
|
||||
"walk": "Walk",
|
||||
"indoorWalk": "Indoor walk",
|
||||
"hike": "Hike",
|
||||
"rowing": "Rowing",
|
||||
"yoga": "Yoga",
|
||||
"alpineSki": "Alpine ski",
|
||||
"nordicSki": "Nordic ski",
|
||||
"snowboard": "Snowboard",
|
||||
"transition": "Transition",
|
||||
"strengthTraining": "Strength training",
|
||||
"crossfit": "CrossFit",
|
||||
"tennis": "Tennis",
|
||||
"tableTennis": "Table tennis",
|
||||
"badminton": "Badminton",
|
||||
"squash": "Squash",
|
||||
"racquetball": "Racquetball",
|
||||
"pickleball": "Pickleball",
|
||||
"commutingRide": "Commuting ride",
|
||||
"indoorRide": "Indoor ride",
|
||||
"mixedSurfaceRide": "Mixed surface ride",
|
||||
"windsurf": "Windsurf",
|
||||
"standUpPaddling": "Stand up paddling",
|
||||
"surf": "Surf",
|
||||
"trackRun": "Track run",
|
||||
"ebikeRide": "E-Bike ride",
|
||||
"ebikeMountainRide": "E-Bike mountain ride",
|
||||
"iceSkate": "Ice skate",
|
||||
"soccer": "Soccer",
|
||||
"padel": "Padel",
|
||||
"labelWorkout": " workout"
|
||||
"run": "跑步",
|
||||
"trailRun": "越野跑",
|
||||
"virtualRun": "虚拟跑",
|
||||
"ride": "骑行",
|
||||
"gravelRide": "砾石骑行",
|
||||
"mtbRide": "山地车骑行",
|
||||
"virtualRide": "虚拟骑行",
|
||||
"lapSwimming": "泳池往返游泳",
|
||||
"openWaterSwimming": "开放水域游泳",
|
||||
"workout": "运动",
|
||||
"walk": "步行",
|
||||
"indoorWalk": "室内步行",
|
||||
"hike": "徒步",
|
||||
"rowing": "室内划船",
|
||||
"yoga": "瑜伽",
|
||||
"alpineSki": "高山滑雪",
|
||||
"nordicSki": "越野滑雪",
|
||||
"snowboard": "单板滑雪",
|
||||
"transition": "换项",
|
||||
"strengthTraining": "力量训练",
|
||||
"crossfit": "克罗斯菲特",
|
||||
"tennis": "网球",
|
||||
"tableTennis": "乒乓球",
|
||||
"badminton": "羽毛球",
|
||||
"squash": "壁球",
|
||||
"racquetball": "室内壁球",
|
||||
"pickleball": "匹克球",
|
||||
"commutingRide": "通勤骑行",
|
||||
"indoorRide": "室内骑行",
|
||||
"mixedSurfaceRide": "混合路面骑行",
|
||||
"windsurf": "风帆冲浪",
|
||||
"standUpPaddling": "立式桨板",
|
||||
"surf": "冲浪",
|
||||
"trackRun": "越野跑",
|
||||
"ebikeRide": "电助力自行车骑行",
|
||||
"ebikeMountainRide": "电助力自行车山地骑行",
|
||||
"iceSkate": "滑冰",
|
||||
"soccer": "足球",
|
||||
"padel": "配斗球",
|
||||
"labelWorkout": " 运动"
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"headerType": "Type",
|
||||
"headerName": "Name",
|
||||
"headerLocation": "Location",
|
||||
"headerStartTime": "Start time",
|
||||
"headerDuration": "Duration",
|
||||
"headerDistance": "Distance",
|
||||
"headerPace": "Pace/Speed",
|
||||
"headerCalories": "Calories",
|
||||
"headerElevation": "Elevation",
|
||||
"headerAvgHr": "Avg HR"
|
||||
"headerType": "类型",
|
||||
"headerName": "名称",
|
||||
"headerLocation": "位置",
|
||||
"headerStartTime": "起始时间",
|
||||
"headerDuration": "经过时间",
|
||||
"headerDistance": "距离",
|
||||
"headerPace": "配速/速度",
|
||||
"headerCalories": "卡路里",
|
||||
"headerElevation": "海拔",
|
||||
"headerAvgHr": "平均心率"
|
||||
}
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"subTitlePace": "Pace",
|
||||
"labelAvgPace": "Avg pace",
|
||||
"labelMovingTime": "Moving time",
|
||||
"labelElapsedTime": "Elapsed time",
|
||||
"subTitleSpeed": "Speed",
|
||||
"labelAvgSpeed": "Avg speed",
|
||||
"labelMaxSpeed": "Max speed",
|
||||
"subTitleHeartRate": "Heart rate",
|
||||
"labelAvgHeartRate": "Avg heart rate",
|
||||
"labelMaxHeartRate": "Max heart rate",
|
||||
"subTitlePower": "Power",
|
||||
"labelAvgPower": "Avg power",
|
||||
"labelMaxPower": "Max power",
|
||||
"labelNormalizedPower": "Normalized power",
|
||||
"subTitleCadence": "Cadence",
|
||||
"labelAvgCadence": "Avg cadence",
|
||||
"labelMaxCadence": "Max cadence",
|
||||
"subTitleElevation": "Elevation",
|
||||
"labelElevationGain": "Elevation gain",
|
||||
"labelElevationLoss": "Elevation loss",
|
||||
"subTitleStrokeRate": "Stroke rate",
|
||||
"labelAvgStrokeRate": "Avg stroke rate",
|
||||
"labelMaxStrokeRate": "Max stroke rate"
|
||||
"subTitlePace": "配速",
|
||||
"labelAvgPace": "平均配速",
|
||||
"labelMovingTime": "运动时间",
|
||||
"labelElapsedTime": "总时间",
|
||||
"subTitleSpeed": "速度",
|
||||
"labelAvgSpeed": "平均速度",
|
||||
"labelMaxSpeed": "最大速度",
|
||||
"subTitleHeartRate": "心率",
|
||||
"labelAvgHeartRate": "平均心率",
|
||||
"labelMaxHeartRate": "最大心率",
|
||||
"subTitlePower": "功率",
|
||||
"labelAvgPower": "平均功率",
|
||||
"labelMaxPower": "最大功率",
|
||||
"labelNormalizedPower": "归一化功率",
|
||||
"subTitleCadence": "踏频",
|
||||
"labelAvgCadence": "平均踏频",
|
||||
"labelMaxCadence": "最大踏频",
|
||||
"subTitleElevation": "海拔",
|
||||
"labelElevationGain": "累计爬升",
|
||||
"labelElevationLoss": "累计下降",
|
||||
"subTitleStrokeRate": "划水频率",
|
||||
"labelAvgStrokeRate": "平均划水频率",
|
||||
"labelMaxStrokeRate": "最大划水频率"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"labelLapNumber": "Lap",
|
||||
"labelLapIntensity": "Intensity",
|
||||
"labelLapDistance": "Distance",
|
||||
"labelLapTime": "Time",
|
||||
"labelLapPace": "Pace",
|
||||
"labelLapSpeed": "Speed",
|
||||
"labelLapElevation": "Elevation",
|
||||
"labelLapElev": "Elev",
|
||||
"labelLapAvgHr": "Avg heart rate",
|
||||
"labelLapHR": "HR",
|
||||
"labelLapStrokeRate": "Stroke rate",
|
||||
"labelLapSR": "SR"
|
||||
"labelLapNumber": "圈数",
|
||||
"labelLapIntensity": "训练负荷水平",
|
||||
"labelLapDistance": "距离",
|
||||
"labelLapTime": "时间",
|
||||
"labelLapPace": "配速",
|
||||
"labelLapSpeed": "速度",
|
||||
"labelLapElevation": "海拔",
|
||||
"labelLapElev": "海拔",
|
||||
"labelLapAvgHr": "平均心率",
|
||||
"labelLapHR": "心率",
|
||||
"labelLapStrokeRate": "划水频率",
|
||||
"labelLapSR": "步频"
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"labelPillGraphs": "Graphs",
|
||||
"labelPillLaps": "Laps",
|
||||
"labelPillWorkoutSets": "Sets",
|
||||
"labelGraph": "Activity data graphs",
|
||||
"labelGraphHR": "Heart rate",
|
||||
"labelHRZones": "Heart rate zones",
|
||||
"labelGraphPower": "Power",
|
||||
"labelGraphCadence": "Cadence",
|
||||
"labelGraphElevation": "Elevation",
|
||||
"labelGraphVelocity": "Speed",
|
||||
"labelGraphPace": "Pace",
|
||||
"labelGraphHRZone": "Zone",
|
||||
"labelDownsampling": "Data downsampled to ~200 points",
|
||||
"errorMessageProcessingActivityStreams": "Error processing activity streams",
|
||||
"labelGraphStrokeRate": "Stroke rate"
|
||||
"labelPillGraphs": "图表视图",
|
||||
"labelPillLaps": "圈数",
|
||||
"labelPillWorkoutSets": "组数",
|
||||
"labelGraph": "活动数据图表",
|
||||
"labelGraphHR": "心率",
|
||||
"labelHRZones": "心率区间",
|
||||
"labelGraphPower": "功率",
|
||||
"labelGraphCadence": "踏频",
|
||||
"labelGraphElevation": "海拔",
|
||||
"labelGraphVelocity": "速度",
|
||||
"labelGraphPace": "配速",
|
||||
"labelGraphHRZone": "区间",
|
||||
"labelDownsampling": "数据被下采样到大约 200 个点",
|
||||
"errorMessageProcessingActivityStreams": "处理运动数据流时出错",
|
||||
"labelGraphStrokeRate": "划水频率"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"modalMediaDeleteTitle": "Delete media",
|
||||
"modalMediaDeleteBody1": "Are you sure you want to delete media with ID ",
|
||||
"modalMediaDeleteBody2": " and name ",
|
||||
"errorFetchingActivityStream": "Error fetching activity stream data",
|
||||
"mediaDeletedSuccessfully": "Media deleted successfully",
|
||||
"errorDeletingMedia": "Error deleting media"
|
||||
"modalMediaDeleteTitle": "删除媒体",
|
||||
"modalMediaDeleteBody1": "你确定要删除这个媒体文件吗",
|
||||
"modalMediaDeleteBody2": " 和名称 ",
|
||||
"errorFetchingActivityStream": "获取运动数据流时出错",
|
||||
"mediaDeletedSuccessfully": "媒体已成功删除",
|
||||
"errorDeletingMedia": "删除媒体时出错"
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"userNameHidden": "Hidden",
|
||||
"visibilityPublic": "Public",
|
||||
"visibilityFollowers": "Followers",
|
||||
"visibilityPrivate": "Private",
|
||||
"buttonDeleteActivity": "Delete activity",
|
||||
"buttonEditActivity": "Edit activity",
|
||||
"buttonAddActivityMedia": "Add media",
|
||||
"userNameHidden": "隐藏",
|
||||
"visibilityPublic": "公开",
|
||||
"visibilityFollowers": "粉丝",
|
||||
"visibilityPrivate": "私密",
|
||||
"buttonDeleteActivity": "删除活动",
|
||||
"buttonEditActivity": "编辑活动",
|
||||
"buttonAddActivityMedia": "添加媒体",
|
||||
"modalDeleteBody1": "Are you sure you want to delete activity ",
|
||||
"modalDeleteBody2": "This action cannot be undone.",
|
||||
"modalAddMediaTitle": "Add media",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"modalLabelAddGear": "Add gear to activity",
|
||||
"modalLabelSelectGear": "Select gear",
|
||||
"modalButtonAddGear": "Add gear",
|
||||
"errorEditingGear": "Error editing gear"
|
||||
"modalLabelAddGear": "添加装备到活动",
|
||||
"modalLabelSelectGear": "请选择装备",
|
||||
"modalButtonAddGear": "添加装备",
|
||||
"errorEditingGear": "编辑装备时出错"
|
||||
}
|
||||
|
||||
@@ -1,68 +1,68 @@
|
||||
{
|
||||
"modalEditActivityTitle": "Edit activity",
|
||||
"modalEditActivityDescriptionLabel": "Description",
|
||||
"modalEditActivityDescriptionPlaceholder": "Description (max 2500 characters)",
|
||||
"modalEditActivityPrivateNotesLabel": "Private notes",
|
||||
"modalEditActivityPrivateNotesPlaceholder": "Private notes (max 2500 characters)",
|
||||
"modalEditActivityNameLabel": "Name",
|
||||
"modalEditActivityNamePlaceholder": "Name (max 250 characters)",
|
||||
"modalEditActivityTypeLabel": "Type",
|
||||
"modalEditActivityTypeOption1": "Run",
|
||||
"modalEditActivityTypeOption2": "Trail run",
|
||||
"modalEditActivityTypeOption3": "Virtual run",
|
||||
"modalEditActivityTypeOption4": "Ride",
|
||||
"modalEditActivityTypeOption5": "Gravel ride",
|
||||
"modalEditActivityTypeOption6": "Mountain bike ride",
|
||||
"modalEditActivityTypeOption7": "Virtual ride",
|
||||
"modalEditActivityTypeOption8": "Swim",
|
||||
"modalEditActivityTypeOption9": "Open water swim",
|
||||
"modalEditActivityTypeOption10": "Workout",
|
||||
"modalEditActivityTypeOption11": "Walk",
|
||||
"modalEditActivityTypeOption12": "Hike",
|
||||
"modalEditActivityTypeOption13": "Rowing",
|
||||
"modalEditActivityTypeOption14": "Yoga",
|
||||
"modalEditActivityTypeOption15": "Alpine skiing",
|
||||
"modalEditActivityTypeOption16": "Nordic skiing",
|
||||
"modalEditActivityTypeOption17": "Snowboarding",
|
||||
"modalEditActivityTitle": "编辑活动",
|
||||
"modalEditActivityDescriptionLabel": "描述",
|
||||
"modalEditActivityDescriptionPlaceholder": "描述 (最大2500个字符)",
|
||||
"modalEditActivityPrivateNotesLabel": "私密笔记",
|
||||
"modalEditActivityPrivateNotesPlaceholder": "私密笔记 (最大 2500 个字符)",
|
||||
"modalEditActivityNameLabel": "名称",
|
||||
"modalEditActivityNamePlaceholder": "名称 (最多250个字符)",
|
||||
"modalEditActivityTypeLabel": "类型",
|
||||
"modalEditActivityTypeOption1": "跑步",
|
||||
"modalEditActivityTypeOption2": "越野跑",
|
||||
"modalEditActivityTypeOption3": "虚拟跑",
|
||||
"modalEditActivityTypeOption4": "骑行",
|
||||
"modalEditActivityTypeOption5": "砾石骑行",
|
||||
"modalEditActivityTypeOption6": "山地骑行",
|
||||
"modalEditActivityTypeOption7": "虚拟骑行",
|
||||
"modalEditActivityTypeOption8": "游泳",
|
||||
"modalEditActivityTypeOption9": "开放水域游泳",
|
||||
"modalEditActivityTypeOption10": "健身活动",
|
||||
"modalEditActivityTypeOption11": "步行",
|
||||
"modalEditActivityTypeOption12": "徒步",
|
||||
"modalEditActivityTypeOption13": "室内划船",
|
||||
"modalEditActivityTypeOption14": "瑜伽",
|
||||
"modalEditActivityTypeOption15": "高山滑雪",
|
||||
"modalEditActivityTypeOption16": "越野滑雪",
|
||||
"modalEditActivityTypeOption17": "单板滑雪",
|
||||
"modalEditActivityTypeOption18": "Transition",
|
||||
"modalEditActivityTypeOption19": "Weight training",
|
||||
"modalEditActivityTypeOption20": "Crossfit",
|
||||
"modalEditActivityTypeOption21": "Tennis",
|
||||
"modalEditActivityTypeOption22": "Table tennis",
|
||||
"modalEditActivityTypeOption23": "Badminton",
|
||||
"modalEditActivityTypeOption24": "Squash",
|
||||
"modalEditActivityTypeOption25": "Racquetball",
|
||||
"modalEditActivityTypeOption26": "Pickleball",
|
||||
"modalEditActivityTypeOption27": "Commuting ride",
|
||||
"modalEditActivityTypeOption28": "Indoor ride",
|
||||
"modalEditActivityTypeOption29": "Mixed surface ride",
|
||||
"modalEditActivityTypeOption30": "Windsurf",
|
||||
"modalEditActivityTypeOption31": "Indoor walk",
|
||||
"modalEditActivityTypeOption32": "Stand up paddling",
|
||||
"modalEditActivityTypeOption33": "Surf",
|
||||
"modalEditActivityTypeOption34": "Track run",
|
||||
"modalEditActivityTypeOption35": "E-Bike ride",
|
||||
"modalEditActivityTypeOption36": "E-Bike mountain ride",
|
||||
"modalEditActivityTypeOption37": "Ice skate",
|
||||
"modalEditActivityTypeOption38": "Soccer",
|
||||
"modalEditActivityTypeOption39": "Padel",
|
||||
"modalEditActivityVisibilityLabel": "Visibility",
|
||||
"modalEditActivityVisibilityOption0": "Public",
|
||||
"modalEditActivityVisibilityOption1": "Followers",
|
||||
"modalEditActivityVisibilityOption2": "Private",
|
||||
"modalEditActivityIsHiddenLabel": "Is hidden",
|
||||
"modalEditActivityHideStartTimeLabel": "Hide start time",
|
||||
"modalEditActivityHideLocationLabel": "Hide location",
|
||||
"modalEditActivityHideMapLabel": "Hide map",
|
||||
"modalEditActivityHideHrLabel": "Hide heart rate",
|
||||
"modalEditActivityHidePowerLabel": "Hide power",
|
||||
"modalEditActivityHideCadenceLabel": "Hide cadence",
|
||||
"modalEditActivityHideElevationLabel": "Hide elevation",
|
||||
"modalEditActivityHideSpeedLabel": "Hide speed",
|
||||
"modalEditActivityHidePaceLabel": "Hide pace",
|
||||
"modalEditActivityHideLapsLabel": "Hide laps",
|
||||
"modalEditActivityHideWorkoutSetsStepsLabel": "Hide workout sets/steps",
|
||||
"modalEditActivityHideGearLabel": "Hide gear",
|
||||
"successActivityEdit": "Activity edited successfully",
|
||||
"errorActivityEdit": "Error editing activity"
|
||||
"modalEditActivityTypeOption19": "传统力量训练",
|
||||
"modalEditActivityTypeOption20": "克罗斯菲特",
|
||||
"modalEditActivityTypeOption21": "网球",
|
||||
"modalEditActivityTypeOption22": "乒乓球",
|
||||
"modalEditActivityTypeOption23": "羽毛球",
|
||||
"modalEditActivityTypeOption24": "壁球",
|
||||
"modalEditActivityTypeOption25": "室内壁球",
|
||||
"modalEditActivityTypeOption26": "匹克球",
|
||||
"modalEditActivityTypeOption27": "通勤骑行",
|
||||
"modalEditActivityTypeOption28": "室内骑行",
|
||||
"modalEditActivityTypeOption29": "混合路面骑行",
|
||||
"modalEditActivityTypeOption30": "风帆冲浪",
|
||||
"modalEditActivityTypeOption31": "室内步行",
|
||||
"modalEditActivityTypeOption32": "立式桨板",
|
||||
"modalEditActivityTypeOption33": "冲浪",
|
||||
"modalEditActivityTypeOption34": "越野跑",
|
||||
"modalEditActivityTypeOption35": "电助力自行车骑行",
|
||||
"modalEditActivityTypeOption36": "电助力自行车山地骑行",
|
||||
"modalEditActivityTypeOption37": "滑冰",
|
||||
"modalEditActivityTypeOption38": "足球",
|
||||
"modalEditActivityTypeOption39": "配斗球",
|
||||
"modalEditActivityVisibilityLabel": "可见性",
|
||||
"modalEditActivityVisibilityOption0": "公开",
|
||||
"modalEditActivityVisibilityOption1": "粉丝",
|
||||
"modalEditActivityVisibilityOption2": "私密",
|
||||
"modalEditActivityIsHiddenLabel": "是否隐藏",
|
||||
"modalEditActivityHideStartTimeLabel": "隐藏起始时间",
|
||||
"modalEditActivityHideLocationLabel": "隐藏位置",
|
||||
"modalEditActivityHideMapLabel": "隐藏地图",
|
||||
"modalEditActivityHideHrLabel": "隐藏心率",
|
||||
"modalEditActivityHidePowerLabel": "隐藏功率",
|
||||
"modalEditActivityHideCadenceLabel": "隐藏踏频",
|
||||
"modalEditActivityHideElevationLabel": "隐藏海拔",
|
||||
"modalEditActivityHideSpeedLabel": "隐藏速度",
|
||||
"modalEditActivityHidePaceLabel": "隐藏配速",
|
||||
"modalEditActivityHideLapsLabel": "隐藏圈数",
|
||||
"modalEditActivityHideWorkoutSetsStepsLabel": "隐藏训练组/步数",
|
||||
"modalEditActivityHideGearLabel": "隐藏装备",
|
||||
"successActivityEdit": "活动编辑成功",
|
||||
"errorActivityEdit": "活动编辑失败"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"languageOption7": "Spanish (ES)",
|
||||
"languageOption8": "Chinese (Simplified)",
|
||||
"languageOption9": "Chinese (Traditional)",
|
||||
"languageOption10": "Galician (GL)",
|
||||
"firstDayOfWeekOption0": "Sunday",
|
||||
"firstDayOfWeekOption1": "Monday",
|
||||
"firstDayOfWeekOption2": "Tuesday",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"title": "Health",
|
||||
"errorFetchingHealthData": "Error fetching health data",
|
||||
"errorFetchingHealthTargets": "Error fetching health targets"
|
||||
"title": "健康",
|
||||
"errorFetchingHealthData": "获取健康数据出错",
|
||||
"errorFetchingHealthTargets": "获取健康目标出错"
|
||||
}
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
{
|
||||
"sessionExpired": "User session expired",
|
||||
"logoutSuccess": "You have been successfully logged out",
|
||||
"error401": "Invalid username or password",
|
||||
"error403": "You do not have permission to access this resource",
|
||||
"error500": "It was not possible to connect to the server. Please try again later",
|
||||
"errorUndefined": "It was not possible to connect to the server. Please try again later",
|
||||
"sessionExpired": "用户会话已过期",
|
||||
"logoutSuccess": "您已成功退出",
|
||||
"error401": "无效的用户名或密码",
|
||||
"error403": "你没有权限访问该资源",
|
||||
"error500": "无法连接到服务器。请稍后再试",
|
||||
"errorUndefined": "无法连接到服务器。请稍后再试",
|
||||
"subtitle": "Sign-in below",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"mfaCode": "MFA Code",
|
||||
"mfaRequired": "Multi-factor authentication required. Please enter your 6-digit code.",
|
||||
"verifyMFAButton": "Verify MFA",
|
||||
"invalidMFACode": "Invalid MFA code. Please try again.",
|
||||
"neverExpires": "Remember me (do not tick this box if you are using a shared computer)",
|
||||
"signInButton": "Sign in",
|
||||
"signUpText": "Looking for signing up?",
|
||||
"signUpButton": "Sign up",
|
||||
"errorPublicActivityNotFound": "Public activity not found",
|
||||
"errorPublic_shareable_links": "Public shareable links are not allowed. To view this activity, you must be signed in",
|
||||
"forgotPassword": "Forgot your password?",
|
||||
"passwordResetInvalidLink": "No password reset token provided",
|
||||
"passwordResetSuccess": "Your password has been reset successfully",
|
||||
"forgotPasswordModalTitle": "Forgot Password",
|
||||
"forgotPasswordModalEmailLabel": "Email address",
|
||||
"forgotPasswordModalEmailHelp": "Enter the email address associated with your account. An email with a link to reset your password will be sent.",
|
||||
"forgotPasswordModalSubmitButton": "Send Reset Link",
|
||||
"forgotPasswordModalEmailRequired": "Email address is required",
|
||||
"forgotPasswordModalRequestSuccess": "If the email exists in the system, a password reset link will be sent to the provided email address",
|
||||
"forgotPasswordModalRequestError": "Failed to process password reset request",
|
||||
"forgotPasswordModalEmailNotConfigured": "Email service is not configured. Please contact the administrator",
|
||||
"forgotPasswordModalUnableToSendEmail": "Unable to send email. Please try again later or contact the administrator",
|
||||
"signUpLink": "Don't have an account? Sign up",
|
||||
"emailVerificationSent": "Please check your email for verification instructions",
|
||||
"adminApprovalRequired": "Your account is pending admin approval",
|
||||
"verifyEmailInvalidLink": "Invalid email verification link"
|
||||
"username": "用户名",
|
||||
"password": "密码",
|
||||
"mfaCode": "两步验证代码",
|
||||
"mfaRequired": "需要两步验证。请输入您的 6 位数字代码。",
|
||||
"verifyMFAButton": "验证 MFA",
|
||||
"invalidMFACode": "无效的两步验证代码,请重试。",
|
||||
"neverExpires": "记住我(如果您正在使用共享计算机,请不要勾选此框)",
|
||||
"signInButton": "登录",
|
||||
"signUpText": "要注册吗?",
|
||||
"signUpButton": "注册",
|
||||
"errorPublicActivityNotFound": "找不到公共活动",
|
||||
"errorPublic_shareable_links": "不允许公开共享链接。要查看此活动,您必须登录。",
|
||||
"forgotPassword": "忘记了您的密码?",
|
||||
"passwordResetInvalidLink": "未提供密码重置令牌",
|
||||
"passwordResetSuccess": "您的密码已重置成功。",
|
||||
"forgotPasswordModalTitle": "忘记密码",
|
||||
"forgotPasswordModalEmailLabel": "电子邮件地址",
|
||||
"forgotPasswordModalEmailHelp": "输入与您的帐户关联的电子邮件地址。将发送一封含有重置密码链接的电子邮件。",
|
||||
"forgotPasswordModalSubmitButton": "发送重置链接",
|
||||
"forgotPasswordModalEmailRequired": "需要提供电子邮件地址",
|
||||
"forgotPasswordModalRequestSuccess": "如果电子邮箱地址存在于系统中,密码重置链接将发送到提供的电子邮件地址。",
|
||||
"forgotPasswordModalRequestError": "处理密码重置请求失败",
|
||||
"forgotPasswordModalEmailNotConfigured": "电子邮件服务未配置。请与管理员联系",
|
||||
"forgotPasswordModalUnableToSendEmail": "无法发送电子邮件。请稍后再试或联系管理员",
|
||||
"signUpLink": "还没有账户?请注册",
|
||||
"emailVerificationSent": "请检查您的电子邮箱以获取验证说明",
|
||||
"adminApprovalRequired": "您的帐户正在等待管理员批准",
|
||||
"verifyEmailInvalidLink": "无效的电子邮件验证链接"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"title": "Oops! Page not found",
|
||||
"subTitle": "The page you are looking for does not exist or it was changed.",
|
||||
"backToHomeButton": "Back to home"
|
||||
"title": "糟糕!找不到该页面",
|
||||
"subTitle": "您正在寻找的页面不存在或被更改。",
|
||||
"backToHomeButton": "返回主页"
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"title": "Reset Password",
|
||||
"newPasswordLabel": "New Password",
|
||||
"confirmPasswordLabel": "Confirm New Password",
|
||||
"submitButton": "Reset Password",
|
||||
"backToLogin": "Back to Login",
|
||||
"passwordComplexityError": "Password must be at least 8 characters long, include an uppercase letter, a number, and a special character",
|
||||
"passwordMismatchError": "Passwords do not match",
|
||||
"resetError": "Failed to reset password",
|
||||
"invalidOrExpiredToken": "Invalid or expired password reset token"
|
||||
"title": "重置密码",
|
||||
"newPasswordLabel": "新密码",
|
||||
"confirmPasswordLabel": "确认新密码",
|
||||
"submitButton": "重置密码",
|
||||
"backToLogin": "返回登录页面",
|
||||
"passwordComplexityError": "密码长度必须至少8个字符,包括大写字母、数字和特殊字符",
|
||||
"passwordMismatchError": "密码不一致",
|
||||
"resetError": "重置密码失败",
|
||||
"invalidOrExpiredToken": "无效或过期的密码重置令牌"
|
||||
}
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
{
|
||||
"searchSelectLabel": "Search",
|
||||
"searchSelectOptionActivity": "Activity",
|
||||
"searchSelectOptionUser": "User",
|
||||
"searchSelectOptionGear": "Gear",
|
||||
"searchSelectActivityType0": "All",
|
||||
"searchSelectActivityType1": "Run",
|
||||
"searchSelectActivityType2": "Ride",
|
||||
"searchSelectActivityType3": "Swim",
|
||||
"searchSelectActivityType4": "Workout",
|
||||
"searchSelectActivityType5": "Walk",
|
||||
"searchSelectActivityType6": "Hike",
|
||||
"searchSelectActivityType7": "Row",
|
||||
"searchSelectActivityType8": "Yoga",
|
||||
"searchSelectActivityType9": "Ski",
|
||||
"searchSelectActivityType10": "Snowboard",
|
||||
"searchSelectActivityType11": "Racquet sports",
|
||||
"searchSelectActivityType12": "Windsurf",
|
||||
"searchSelectActivityType13": "Stand up paddling",
|
||||
"searchSelectActivityType14": "Surf",
|
||||
"searchSelectActivityType15": "Ice skate",
|
||||
"searchSelectActivityType16": "Soccer",
|
||||
"searchSelectGearType0": "All",
|
||||
"searchSelectGearType1": "Bike",
|
||||
"searchSelectGearType2": "Shoes",
|
||||
"searchSelectGearType3": "Wetsuit",
|
||||
"searchSelectGearType4": "Racquet",
|
||||
"searchSelectGearType5": "Skis",
|
||||
"searchSelectGearType6": "Snowboard",
|
||||
"searchSelectGearType7": "Windsurf",
|
||||
"searchSelectGearType8": "Water sports board",
|
||||
"resultIsInactiveBadge": "Inactive",
|
||||
"searchInputPlaceholder": "Search text",
|
||||
"errorFetchingUserWithUsernameContains": "Error fetching user with username contains logic",
|
||||
"errorFetchingActivityWithNameContains": "Error fetching activity with name contains logic",
|
||||
"errorFetchingGearWithNicknameContains": "Error fetching gear with nickname contains logic"
|
||||
"searchSelectLabel": "搜索",
|
||||
"searchSelectOptionActivity": "活动",
|
||||
"searchSelectOptionUser": "用户",
|
||||
"searchSelectOptionGear": "装备",
|
||||
"searchSelectActivityType0": "全部",
|
||||
"searchSelectActivityType1": "跑步",
|
||||
"searchSelectActivityType2": "骑行",
|
||||
"searchSelectActivityType3": "游泳",
|
||||
"searchSelectActivityType4": "健身活动",
|
||||
"searchSelectActivityType5": "步行",
|
||||
"searchSelectActivityType6": "徒步",
|
||||
"searchSelectActivityType7": "划船",
|
||||
"searchSelectActivityType8": "瑜伽",
|
||||
"searchSelectActivityType9": "滑雪",
|
||||
"searchSelectActivityType10": "单板滑雪板",
|
||||
"searchSelectActivityType11": "球拍类运动",
|
||||
"searchSelectActivityType12": "帆板",
|
||||
"searchSelectActivityType13": "立式桨板",
|
||||
"searchSelectActivityType14": "冲浪",
|
||||
"searchSelectActivityType15": "滑冰",
|
||||
"searchSelectActivityType16": "足球",
|
||||
"searchSelectGearType0": "全部",
|
||||
"searchSelectGearType1": "自行车",
|
||||
"searchSelectGearType2": "鞋子",
|
||||
"searchSelectGearType3": "湿式潜水服",
|
||||
"searchSelectGearType4": "球拍",
|
||||
"searchSelectGearType5": "滑雪",
|
||||
"searchSelectGearType6": "单板滑雪板",
|
||||
"searchSelectGearType7": "帆板",
|
||||
"searchSelectGearType8": "水上运动板",
|
||||
"resultIsInactiveBadge": "未运动",
|
||||
"searchInputPlaceholder": "搜索文本",
|
||||
"errorFetchingUserWithUsernameContains": "获取用户名包含逻辑的用户时出错",
|
||||
"errorFetchingActivityWithNameContains": "获取名称中包含逻辑的活动时出错",
|
||||
"errorFetchingGearWithNicknameContains": "获取昵称中包含逻辑的装备时出错"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Massenimport von Aktivitäten aus Dateien (die im Ordner activity_files/bulk_import-Ordner gespeichert sind)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Importiere Ausrüstung aus einem Strava Bulk Export (in den Daten/activity_files/bulk_import Ordner)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Massenimport von Aktivitäten aus Dateien (die im Ordner activity_files/bulk_import-Ordner gespeichert sind)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Importiere Ausrüstung aus einem Strava Bulk Export (in den Daten/activity_files/bulk_import Ordner)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"title": "Activities",
|
||||
"filterLabelType": "Type",
|
||||
"filterOptionAllTypes": "All types",
|
||||
"filterLabelFromDate": "From date",
|
||||
"filterLabelToDate": "To date",
|
||||
"filterLabelNameLocation": "Name or location",
|
||||
"filterPlaceholderNameLocation": "e.g., Morning run",
|
||||
"buttonClear": "Clear",
|
||||
"buttonApply": "Apply",
|
||||
"errorFailedFetchActivityTypes": "Failed to fetch activity types",
|
||||
"errorUpdatingActivities": "Failed to updated activities",
|
||||
"errorFetchingActivities": "Failed to fetch user activities"
|
||||
"title": "Actividades",
|
||||
"filterLabelType": "Tipo",
|
||||
"filterOptionAllTypes": "Todos os tipos",
|
||||
"filterLabelFromDate": "Desde a data",
|
||||
"filterLabelToDate": "Ata a data",
|
||||
"filterLabelNameLocation": "Nome ou localización",
|
||||
"filterPlaceholderNameLocation": "Ex., Paseo pola mañán",
|
||||
"buttonClear": "Limpar",
|
||||
"buttonApply": "Aplicar",
|
||||
"errorFailedFetchActivityTypes": "Non se obtiveron os tipos de actividade",
|
||||
"errorUpdatingActivities": "Non se actualizaron as actividades",
|
||||
"errorFetchingActivities": "Non de obtiveron as actividades da usuaria"
|
||||
}
|
||||
|
||||
@@ -1,42 +1,42 @@
|
||||
{
|
||||
"run": "Run",
|
||||
"trailRun": "Trail run",
|
||||
"virtualRun": "Virtual run",
|
||||
"ride": "Ride",
|
||||
"gravelRide": "Gravel ride",
|
||||
"mtbRide": "MTB ride",
|
||||
"virtualRide": "Virtual ride",
|
||||
"lapSwimming": "Lap swimming",
|
||||
"openWaterSwimming": "Open water swimming",
|
||||
"workout": "Workout",
|
||||
"walk": "Walk",
|
||||
"indoorWalk": "Indoor walk",
|
||||
"hike": "Hike",
|
||||
"rowing": "Rowing",
|
||||
"yoga": "Yoga",
|
||||
"alpineSki": "Alpine ski",
|
||||
"nordicSki": "Nordic ski",
|
||||
"run": "Correr",
|
||||
"trailRun": "Correr por camiños",
|
||||
"virtualRun": "Carreira virtual",
|
||||
"ride": "Ciclismo",
|
||||
"gravelRide": "Ciclismo por camiños",
|
||||
"mtbRide": "Ciclismo de montaña",
|
||||
"virtualRide": "Ciclismo virtual",
|
||||
"lapSwimming": "Voltas nadando",
|
||||
"openWaterSwimming": "Nadar en auga aberta",
|
||||
"workout": "Adestramento",
|
||||
"walk": "Camiñada",
|
||||
"indoorWalk": "Camiñar en interiores",
|
||||
"hike": "Sendeirismo",
|
||||
"rowing": "Remar",
|
||||
"yoga": "Ioga",
|
||||
"alpineSki": "Esquí alpino",
|
||||
"nordicSki": "Esquí nórdico",
|
||||
"snowboard": "Snowboard",
|
||||
"transition": "Transition",
|
||||
"strengthTraining": "Strength training",
|
||||
"crossfit": "CrossFit",
|
||||
"tennis": "Tennis",
|
||||
"tableTennis": "Table tennis",
|
||||
"badminton": "Badminton",
|
||||
"transition": "Transición",
|
||||
"strengthTraining": "Adestramento de forza",
|
||||
"crossfit": "Crossfit",
|
||||
"tennis": "Tenis",
|
||||
"tableTennis": "Tenis de mesa",
|
||||
"badminton": "Bádminton",
|
||||
"squash": "Squash",
|
||||
"racquetball": "Racquetball",
|
||||
"pickleball": "Pickleball",
|
||||
"commutingRide": "Commuting ride",
|
||||
"indoorRide": "Indoor ride",
|
||||
"mixedSurfaceRide": "Mixed surface ride",
|
||||
"commutingRide": "Desprazamento",
|
||||
"indoorRide": "Ciclismo en interior",
|
||||
"mixedSurfaceRide": "Ciclismo en terreo variado",
|
||||
"windsurf": "Windsurf",
|
||||
"standUpPaddling": "Stand up paddling",
|
||||
"standUpPaddling": "Padexar de pé",
|
||||
"surf": "Surf",
|
||||
"trackRun": "Track run",
|
||||
"ebikeRide": "E-Bike ride",
|
||||
"ebikeMountainRide": "E-Bike mountain ride",
|
||||
"iceSkate": "Ice skate",
|
||||
"soccer": "Soccer",
|
||||
"padel": "Padel",
|
||||
"labelWorkout": " workout"
|
||||
"trackRun": "Correr na pista",
|
||||
"ebikeRide": "Bicicleta eléctrica",
|
||||
"ebikeMountainRide": "Bicicleta eléctrica por montaña",
|
||||
"iceSkate": "Patinaxe sobre xeo",
|
||||
"soccer": "Fútbol",
|
||||
"padel": "Pádel",
|
||||
"labelWorkout": " adestramento"
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"headerType": "Type",
|
||||
"headerName": "Name",
|
||||
"headerLocation": "Location",
|
||||
"headerStartTime": "Start time",
|
||||
"headerDuration": "Duration",
|
||||
"headerDistance": "Distance",
|
||||
"headerPace": "Pace/Speed",
|
||||
"headerCalories": "Calories",
|
||||
"headerElevation": "Elevation",
|
||||
"headerAvgHr": "Avg HR"
|
||||
"headerType": "Tipo",
|
||||
"headerName": "Nome",
|
||||
"headerLocation": "Localización",
|
||||
"headerStartTime": "Hora de inicio",
|
||||
"headerDuration": "Duración",
|
||||
"headerDistance": "Distancia",
|
||||
"headerPace": "Ritmo/Velocidade",
|
||||
"headerCalories": "Calorías",
|
||||
"headerElevation": "Desnivel",
|
||||
"headerAvgHr": "Pulso medio"
|
||||
}
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"subTitlePace": "Pace",
|
||||
"labelAvgPace": "Avg pace",
|
||||
"labelMovingTime": "Moving time",
|
||||
"labelElapsedTime": "Elapsed time",
|
||||
"subTitleSpeed": "Speed",
|
||||
"labelAvgSpeed": "Avg speed",
|
||||
"labelMaxSpeed": "Max speed",
|
||||
"subTitleHeartRate": "Heart rate",
|
||||
"labelAvgHeartRate": "Avg heart rate",
|
||||
"labelMaxHeartRate": "Max heart rate",
|
||||
"subTitlePower": "Power",
|
||||
"labelAvgPower": "Avg power",
|
||||
"labelMaxPower": "Max power",
|
||||
"labelNormalizedPower": "Normalized power",
|
||||
"subTitleCadence": "Cadence",
|
||||
"labelAvgCadence": "Avg cadence",
|
||||
"labelMaxCadence": "Max cadence",
|
||||
"subTitleElevation": "Elevation",
|
||||
"labelElevationGain": "Elevation gain",
|
||||
"labelElevationLoss": "Elevation loss",
|
||||
"subTitleStrokeRate": "Stroke rate",
|
||||
"labelAvgStrokeRate": "Avg stroke rate",
|
||||
"labelMaxStrokeRate": "Max stroke rate"
|
||||
"subTitlePace": "Ritmo",
|
||||
"labelAvgPace": "Ritmo medio",
|
||||
"labelMovingTime": "Tempo en movemento",
|
||||
"labelElapsedTime": "Tempo transcorrido",
|
||||
"subTitleSpeed": "Velocidade",
|
||||
"labelAvgSpeed": "Vel. media",
|
||||
"labelMaxSpeed": "Vel. máxima",
|
||||
"subTitleHeartRate": "Pulso cardíaco",
|
||||
"labelAvgHeartRate": "Valor medio do pulso",
|
||||
"labelMaxHeartRate": "Frecuencia cardíaca Máx",
|
||||
"subTitlePower": "Potencia",
|
||||
"labelAvgPower": "Potencia media",
|
||||
"labelMaxPower": "Potencia Máx",
|
||||
"labelNormalizedPower": "Potencia normalizada",
|
||||
"subTitleCadence": "Cadencia",
|
||||
"labelAvgCadence": "Cadencia media",
|
||||
"labelMaxCadence": "Cadencia máxima",
|
||||
"subTitleElevation": "Elevación",
|
||||
"labelElevationGain": "Ascenso",
|
||||
"labelElevationLoss": "Descenso",
|
||||
"subTitleStrokeRate": "Frec. brazada",
|
||||
"labelAvgStrokeRate": "Frec. media da brazada",
|
||||
"labelMaxStrokeRate": "Brazada máxima"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"labelLapNumber": "Lap",
|
||||
"labelLapIntensity": "Intensity",
|
||||
"labelLapDistance": "Distance",
|
||||
"labelLapTime": "Time",
|
||||
"labelLapPace": "Pace",
|
||||
"labelLapSpeed": "Speed",
|
||||
"labelLapElevation": "Elevation",
|
||||
"labelLapNumber": "Volta",
|
||||
"labelLapIntensity": "Intensidade",
|
||||
"labelLapDistance": "Distancia",
|
||||
"labelLapTime": "Tempo",
|
||||
"labelLapPace": "Ritmo",
|
||||
"labelLapSpeed": "Velocidade",
|
||||
"labelLapElevation": "Elevación",
|
||||
"labelLapElev": "Elev",
|
||||
"labelLapAvgHr": "Avg heart rate",
|
||||
"labelLapHR": "HR",
|
||||
"labelLapStrokeRate": "Stroke rate",
|
||||
"labelLapSR": "SR"
|
||||
"labelLapAvgHr": "Valor medio do pulso",
|
||||
"labelLapHR": "PC",
|
||||
"labelLapStrokeRate": "Frec. brazada",
|
||||
"labelLapSR": "FB"
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"labelPillGraphs": "Graphs",
|
||||
"labelPillLaps": "Laps",
|
||||
"labelPillWorkoutSets": "Sets",
|
||||
"labelGraph": "Activity data graphs",
|
||||
"labelGraphHR": "Heart rate",
|
||||
"labelHRZones": "Heart rate zones",
|
||||
"labelGraphPower": "Power",
|
||||
"labelGraphCadence": "Cadence",
|
||||
"labelGraphElevation": "Elevation",
|
||||
"labelGraphVelocity": "Speed",
|
||||
"labelGraphPace": "Pace",
|
||||
"labelGraphHRZone": "Zone",
|
||||
"labelDownsampling": "Data downsampled to ~200 points",
|
||||
"errorMessageProcessingActivityStreams": "Error processing activity streams",
|
||||
"labelGraphStrokeRate": "Stroke rate"
|
||||
"labelPillGraphs": "Gráficos",
|
||||
"labelPillLaps": "Voltas",
|
||||
"labelPillWorkoutSets": "Repeticións",
|
||||
"labelGraph": "Gráficos da actividade",
|
||||
"labelGraphHR": "Frecuencia cardíaca",
|
||||
"labelHRZones": "Zonas da frecuencia cardíaca",
|
||||
"labelGraphPower": "Potencia",
|
||||
"labelGraphCadence": "Cadencia",
|
||||
"labelGraphElevation": "Elevación",
|
||||
"labelGraphVelocity": "Velocidade",
|
||||
"labelGraphPace": "Ritmo",
|
||||
"labelGraphHRZone": "Zona",
|
||||
"labelDownsampling": "Datos reducidos a ~200 puntos",
|
||||
"errorMessageProcessingActivityStreams": "Erro ao procesar os fluxos da actividade",
|
||||
"labelGraphStrokeRate": "Frec. brazada"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"modalMediaDeleteTitle": "Delete media",
|
||||
"modalMediaDeleteBody1": "Are you sure you want to delete media with ID ",
|
||||
"modalMediaDeleteBody2": " and name ",
|
||||
"errorFetchingActivityStream": "Error fetching activity stream data",
|
||||
"mediaDeletedSuccessfully": "Media deleted successfully",
|
||||
"errorDeletingMedia": "Error deleting media"
|
||||
"modalMediaDeleteTitle": "Eliminar multimedia",
|
||||
"modalMediaDeleteBody1": "Tes certeza de querer eliminar o multimedia con ID ",
|
||||
"modalMediaDeleteBody2": " e nome ",
|
||||
"errorFetchingActivityStream": "Erro ao obter o fluxo de datos da actividade",
|
||||
"mediaDeletedSuccessfully": "Multimedia eliminado correctamente",
|
||||
"errorDeletingMedia": "Erro ao eliminar o multimedia"
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"labelWorkoutStepType": "Step type",
|
||||
"labelWorkoutStepTime": "Step time",
|
||||
"labelWorkoutStepReps": "Step reps",
|
||||
"labelWorkoutStepIntensity": "Intensity",
|
||||
"labelWorkoutStepNotes": "Notes",
|
||||
"labelWorkoutStepExerciseName": "Step name",
|
||||
"labelWorkoutStepExerciseWeight": "Weight",
|
||||
"labelWorkoutStepSwimStroke": "Step swim stroke",
|
||||
"labelWorkoutSetType": "Set type",
|
||||
"labelWorkoutSetTime": "Set time",
|
||||
"labelWorkoutSetReps": "Set reps",
|
||||
"labelWorkoutSetExerciseName": "Set name",
|
||||
"labelWorkoutSetExerciseWeight": "Set weight",
|
||||
"labelWorkoutSetTypeMobile": "Type",
|
||||
"labelWorkoutSetTimeMobile": "Time",
|
||||
"labelWorkoutSetRepsMobile": "Reps",
|
||||
"labelWorkoutSetExerciseNameMobile": "Name",
|
||||
"labelWorkoutSetExerciseWeightMobile": "Weight"
|
||||
"labelWorkoutStepType": "Tipo de etapa",
|
||||
"labelWorkoutStepTime": "Tempo na etapa",
|
||||
"labelWorkoutStepReps": "Repeticións da etapa",
|
||||
"labelWorkoutStepIntensity": "Intensidade",
|
||||
"labelWorkoutStepNotes": "Notas",
|
||||
"labelWorkoutStepExerciseName": "Nome da etapa",
|
||||
"labelWorkoutStepExerciseWeight": "Peso",
|
||||
"labelWorkoutStepSwimStroke": "Brazada na etapa de natación",
|
||||
"labelWorkoutSetType": "Tipo de exercicio",
|
||||
"labelWorkoutSetTime": "Tempo no exercicio",
|
||||
"labelWorkoutSetReps": "Número de repeticións",
|
||||
"labelWorkoutSetExerciseName": "Nome do exercicio",
|
||||
"labelWorkoutSetExerciseWeight": "Peso do exercicio",
|
||||
"labelWorkoutSetTypeMobile": "Tipo",
|
||||
"labelWorkoutSetTimeMobile": "Tempo",
|
||||
"labelWorkoutSetRepsMobile": "Repeticións",
|
||||
"labelWorkoutSetExerciseNameMobile": "Nome",
|
||||
"labelWorkoutSetExerciseWeightMobile": "Peso"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"modalLabelAddGear": "Add gear to activity",
|
||||
"modalLabelSelectGear": "Select gear",
|
||||
"modalButtonAddGear": "Add gear",
|
||||
"errorEditingGear": "Error editing gear"
|
||||
"modalLabelAddGear": "Engadir equipamento á actividade",
|
||||
"modalLabelSelectGear": "Seleccionar equipamento",
|
||||
"modalButtonAddGear": "Engadir equipamento",
|
||||
"errorEditingGear": "Erro ao editar o equipamento"
|
||||
}
|
||||
|
||||
@@ -21,48 +21,48 @@
|
||||
"modalEditActivityTypeOption12": "Sendeirismo",
|
||||
"modalEditActivityTypeOption13": "Remar",
|
||||
"modalEditActivityTypeOption14": "Ioga",
|
||||
"modalEditActivityTypeOption15": "Alpine skiing",
|
||||
"modalEditActivityTypeOption16": "Nordic skiing",
|
||||
"modalEditActivityTypeOption15": "Esquí alpino",
|
||||
"modalEditActivityTypeOption16": "Esquí nórdico",
|
||||
"modalEditActivityTypeOption17": "Snowboarding",
|
||||
"modalEditActivityTypeOption18": "Transition",
|
||||
"modalEditActivityTypeOption19": "Weight training",
|
||||
"modalEditActivityTypeOption18": "Transición",
|
||||
"modalEditActivityTypeOption19": "Adestramento con pesos",
|
||||
"modalEditActivityTypeOption20": "Crossfit",
|
||||
"modalEditActivityTypeOption21": "Tennis",
|
||||
"modalEditActivityTypeOption22": "Table tennis",
|
||||
"modalEditActivityTypeOption23": "Badminton",
|
||||
"modalEditActivityTypeOption21": "Tenis",
|
||||
"modalEditActivityTypeOption22": "Tenis de mesa",
|
||||
"modalEditActivityTypeOption23": "Bádminton",
|
||||
"modalEditActivityTypeOption24": "Squash",
|
||||
"modalEditActivityTypeOption25": "Racquetball",
|
||||
"modalEditActivityTypeOption26": "Pickleball",
|
||||
"modalEditActivityTypeOption27": "Commuting ride",
|
||||
"modalEditActivityTypeOption28": "Indoor ride",
|
||||
"modalEditActivityTypeOption29": "Mixed surface ride",
|
||||
"modalEditActivityTypeOption27": "Desprazamento",
|
||||
"modalEditActivityTypeOption28": "Bicicleta en interior",
|
||||
"modalEditActivityTypeOption29": "Bicicleta en terreo variado",
|
||||
"modalEditActivityTypeOption30": "Windsurf",
|
||||
"modalEditActivityTypeOption31": "Indoor walk",
|
||||
"modalEditActivityTypeOption32": "Stand up paddling",
|
||||
"modalEditActivityTypeOption31": "Camiñar en interiores",
|
||||
"modalEditActivityTypeOption32": "Padexar de pé",
|
||||
"modalEditActivityTypeOption33": "Surf",
|
||||
"modalEditActivityTypeOption34": "Track run",
|
||||
"modalEditActivityTypeOption35": "E-Bike ride",
|
||||
"modalEditActivityTypeOption36": "E-Bike mountain ride",
|
||||
"modalEditActivityTypeOption37": "Ice skate",
|
||||
"modalEditActivityTypeOption38": "Soccer",
|
||||
"modalEditActivityTypeOption39": "Padel",
|
||||
"modalEditActivityVisibilityLabel": "Visibility",
|
||||
"modalEditActivityVisibilityOption0": "Public",
|
||||
"modalEditActivityVisibilityOption1": "Followers",
|
||||
"modalEditActivityVisibilityOption2": "Private",
|
||||
"modalEditActivityIsHiddenLabel": "Is hidden",
|
||||
"modalEditActivityHideStartTimeLabel": "Hide start time",
|
||||
"modalEditActivityHideLocationLabel": "Hide location",
|
||||
"modalEditActivityHideMapLabel": "Hide map",
|
||||
"modalEditActivityHideHrLabel": "Hide heart rate",
|
||||
"modalEditActivityHidePowerLabel": "Hide power",
|
||||
"modalEditActivityHideCadenceLabel": "Hide cadence",
|
||||
"modalEditActivityHideElevationLabel": "Hide elevation",
|
||||
"modalEditActivityHideSpeedLabel": "Hide speed",
|
||||
"modalEditActivityHidePaceLabel": "Hide pace",
|
||||
"modalEditActivityHideLapsLabel": "Hide laps",
|
||||
"modalEditActivityHideWorkoutSetsStepsLabel": "Hide workout sets/steps",
|
||||
"modalEditActivityHideGearLabel": "Hide gear",
|
||||
"successActivityEdit": "Activity edited successfully",
|
||||
"errorActivityEdit": "Error editing activity"
|
||||
}
|
||||
"modalEditActivityTypeOption34": "Correr na pista",
|
||||
"modalEditActivityTypeOption35": "Bicicleta eléctrica",
|
||||
"modalEditActivityTypeOption36": "Bicicleta eléctrica por montaña",
|
||||
"modalEditActivityTypeOption37": "Patinar sobre xeo",
|
||||
"modalEditActivityTypeOption38": "Fútbol",
|
||||
"modalEditActivityTypeOption39": "Pádel",
|
||||
"modalEditActivityVisibilityLabel": "Visibilidade",
|
||||
"modalEditActivityVisibilityOption0": "Pública",
|
||||
"modalEditActivityVisibilityOption1": "Para seguidoras",
|
||||
"modalEditActivityVisibilityOption2": "Privada",
|
||||
"modalEditActivityIsHiddenLabel": "Está oculta",
|
||||
"modalEditActivityHideStartTimeLabel": "Ocultar hora de inicio",
|
||||
"modalEditActivityHideLocationLabel": "Ocultar localización",
|
||||
"modalEditActivityHideMapLabel": "Ocultar mapa",
|
||||
"modalEditActivityHideHrLabel": "Ocultar pulso cardíaco",
|
||||
"modalEditActivityHidePowerLabel": "Ocultar potencia",
|
||||
"modalEditActivityHideCadenceLabel": "Ocultar cadencia",
|
||||
"modalEditActivityHideElevationLabel": "Ocultar elevación",
|
||||
"modalEditActivityHideSpeedLabel": "Ocultar velocidade",
|
||||
"modalEditActivityHidePaceLabel": "Ocultar ritmo",
|
||||
"modalEditActivityHideLapsLabel": "Ocultar voltas",
|
||||
"modalEditActivityHideWorkoutSetsStepsLabel": "Ocultar pasos/etapas",
|
||||
"modalEditActivityHideGearLabel": "Ocultar equipamento",
|
||||
"successActivityEdit": "Actividade editada correctamente",
|
||||
"errorActivityEdit": "Erro ao editar a actividade"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"requestAccepted": "Accepted",
|
||||
"requestPending": "Request pending",
|
||||
"followingModalTitle": "Delete following",
|
||||
"followingModalBody": "Are you sure you want to delete following user ",
|
||||
"followerModalTitle": "Delete follower",
|
||||
"followerModalBody": "Are you sure you want to delete follower user ",
|
||||
"requestAccepted": "Aceptada",
|
||||
"requestPending": "Solicitude pendente",
|
||||
"followingModalTitle": "Eliminar seguimento",
|
||||
"followingModalBody": "Tes certeza de querer deixar de seguir ",
|
||||
"followerModalTitle": "Eliminar seguimento",
|
||||
"followerModalBody": "Tes certeza de querer eliminar a usuaria que te segue ",
|
||||
"followerAcceptModalTitle": "Aceptar solicitude da usuaria",
|
||||
"followerAcceptModalBody": "Tes certeza de querer aceptar a solicitude de seguimento da usuaria ",
|
||||
"followerDeclineModalTitle": "Rexeitar a solicitude ",
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"addEditGearComponentModalAddTitle": "Add gear component",
|
||||
"addEditGearComponentModalEditTitle": "Edit gear component",
|
||||
"addEditGearComponentModalAddEditTypeLabel": "Type",
|
||||
"addEditGearComponentModalAddEditBrandLabel": "Brand",
|
||||
"addEditGearComponentModalAddEditModelLabel": "Model",
|
||||
"addEditGearComponentModalAddEditPurchaseDateLabel": "Purchase date",
|
||||
"addEditGearComponentModalAddEditExpectedDistanceLabel": "Expected distance",
|
||||
"addEditGearComponentModalAddEditExpectedTimeLabel": "Expected time",
|
||||
"addEditGearComponentModalAddEditPurchaseValueLabel": "Purchase value",
|
||||
"addEditGearComponentModalAddEditRetiredDateLabel": "Retired date",
|
||||
"addEditGearComponentModalAddEditIsActiveLabel": "Is active",
|
||||
"addEditGearComponentModalAddTitle": "Engadir compoñente do equipamento",
|
||||
"addEditGearComponentModalEditTitle": "Editar compoñente do equipamento",
|
||||
"addEditGearComponentModalAddEditTypeLabel": "Tipo",
|
||||
"addEditGearComponentModalAddEditBrandLabel": "Marca",
|
||||
"addEditGearComponentModalAddEditModelLabel": "Modelo",
|
||||
"addEditGearComponentModalAddEditPurchaseDateLabel": "Data de compra",
|
||||
"addEditGearComponentModalAddEditExpectedDistanceLabel": "Distancia prevista",
|
||||
"addEditGearComponentModalAddEditExpectedTimeLabel": "Duración prevista",
|
||||
"addEditGearComponentModalAddEditPurchaseValueLabel": "Prezo de compra",
|
||||
"addEditGearComponentModalAddEditRetiredDateLabel": "Data de retirada",
|
||||
"addEditGearComponentModalAddEditIsActiveLabel": "Está activo",
|
||||
"successGearComponentAdded": "Gear component added successfully",
|
||||
"successGearComponentEdited": "Gear component edited successfully",
|
||||
"errorGearComponentAdd": "Error adding gear component",
|
||||
"gearComponentListGearEditSuccessMessage": "Gear component edited successfully",
|
||||
"gearComponentListGearEditErrorMessage": "Error editing gear component",
|
||||
"retiredDateAfterPurchaseDateError": "Retired date must be after purchase date"
|
||||
"retiredDateAfterPurchaseDateError": "A data de retirada ten que ser posterior á de adquisición"
|
||||
}
|
||||
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"gearComponentBackTire": "Back tire",
|
||||
"gearComponentFrontTire": "Front tire",
|
||||
"gearComponentBackTube": "Back tube",
|
||||
"gearComponentFrontTube": "Front tube",
|
||||
"gearComponentBackWheelValve": "Back wheel valve",
|
||||
"gearComponentFrontWheelValve": "Front wheel valve",
|
||||
"gearComponentBackTubelessSealant": "Back tubeless sealant",
|
||||
"gearComponentBackTubelessRimTape": "Back tubeless rim tape",
|
||||
"gearComponentFrontTubelessSealant": "Front tubeless sealant",
|
||||
"gearComponentFrontTubelessRimTape": "Front tubeless rim tape",
|
||||
"gearComponentBackWheel": "Back wheel",
|
||||
"gearComponentFrontWheel": "Front wheel",
|
||||
"gearComponentBackBreakRotor": "Back brake rotor",
|
||||
"gearComponentFrontBreakRotor": "Front brake rotor",
|
||||
"gearComponentBackBreakPads": "Back brake pads",
|
||||
"gearComponentFrontBreakPads": "Front brake pads",
|
||||
"gearComponentBackBreakOil": "Back brake oil",
|
||||
"gearComponentFrontBreakOil": "Front brake oil",
|
||||
"gearComponentCrankLeftPowerMeter": "Crank left power meter",
|
||||
"gearComponentCrankRightPowerMeter": "Crank right power meter",
|
||||
"gearComponentCranksetPowerMeter": "Crankset power meter",
|
||||
"gearComponentPedalsLeftPowerMeter": "Pedals left power meter",
|
||||
"gearComponentPedalsRightPowerMeter": "Pedals right power meter",
|
||||
"gearComponentPedalsPowerMeter": "Pedals power meter",
|
||||
"gearComponentPedals": "Pedals",
|
||||
"gearComponentCrankset": "Crankset",
|
||||
"gearComponentCassette": "Cassette",
|
||||
"gearComponentChain": "Chain",
|
||||
"gearComponentFrontShifter": "Front shifter",
|
||||
"gearComponentFrontDerailleur": "Front derailleur",
|
||||
"gearComponentRearShifter": "Rear shifter",
|
||||
"gearComponentRearDerailleur": "Rear derailleur",
|
||||
"gearComponentBottomBracket": "Bottom bracket",
|
||||
"gearComponentBottleCage": "Bottle cage",
|
||||
"gearComponentHandlebar": "Handlebar",
|
||||
"gearComponentHeadset": "Headset",
|
||||
"gearComponentComputerMount": "Computer mount",
|
||||
"gearComponentHandlebarTape": "Handlebar tape",
|
||||
"gearComponentGrips": "Grips",
|
||||
"gearComponentStem": "Stem",
|
||||
"gearComponentSeatpost": "Seatpost",
|
||||
"gearComponentSaddle": "Saddle",
|
||||
"gearComponentFork": "Fork",
|
||||
"gearComponentFrame": "Frame",
|
||||
"gearComponentBackTire": "Pneumático traseiro",
|
||||
"gearComponentFrontTire": "Pneumático dianteiro",
|
||||
"gearComponentBackTube": "Tubular traseiro",
|
||||
"gearComponentFrontTube": "Tubular dianteiro",
|
||||
"gearComponentBackWheelValve": "Válvula da roda traseira",
|
||||
"gearComponentFrontWheelValve": "Válvula da roda dianteira",
|
||||
"gearComponentBackTubelessSealant": "Selante tubeless traseiro",
|
||||
"gearComponentBackTubelessRimTape": "Cinta da lamia para tubeless traseira",
|
||||
"gearComponentFrontTubelessSealant": "Selante tubeless dianteiro",
|
||||
"gearComponentFrontTubelessRimTape": "Cinta da lamia para tubeless dianteira",
|
||||
"gearComponentBackWheel": "Roda traseira",
|
||||
"gearComponentFrontWheel": "Roda dianteira",
|
||||
"gearComponentBackBreakRotor": "Rotor do freo posterior",
|
||||
"gearComponentFrontBreakRotor": "Rotor do freo dianteiro",
|
||||
"gearComponentBackBreakPads": "Pastillas de freo traseiras",
|
||||
"gearComponentFrontBreakPads": "Pastillas de freo dianteiras",
|
||||
"gearComponentBackBreakOil": "Aceite do freo traseiro",
|
||||
"gearComponentFrontBreakOil": "Aceite do freo dianteiro",
|
||||
"gearComponentCrankLeftPowerMeter": "Medidor de potencia na biela esquerda",
|
||||
"gearComponentCrankRightPowerMeter": "Medidor de potencia na biela dereita",
|
||||
"gearComponentCranksetPowerMeter": "Medidor de potencia no eixo",
|
||||
"gearComponentPedalsLeftPowerMeter": "Medidor de potencia no pedal esquerdo",
|
||||
"gearComponentPedalsRightPowerMeter": "Medidor de potencia no pedal dereito",
|
||||
"gearComponentPedalsPowerMeter": "Medidor de potencia nos pedais",
|
||||
"gearComponentPedals": "Pedais",
|
||||
"gearComponentCrankset": "Grupo dianteiro",
|
||||
"gearComponentCassette": "Casete",
|
||||
"gearComponentChain": "Cadea",
|
||||
"gearComponentFrontShifter": "Cambiador dianteiro",
|
||||
"gearComponentFrontDerailleur": "Desviador traseiro",
|
||||
"gearComponentRearShifter": "Cambiador traseiro",
|
||||
"gearComponentRearDerailleur": "Desviador traseiro",
|
||||
"gearComponentBottomBracket": "Eixo pedaleiro",
|
||||
"gearComponentBottleCage": "Portabotella",
|
||||
"gearComponentHandlebar": "Guiador",
|
||||
"gearComponentHeadset": "Ciclocomputador",
|
||||
"gearComponentComputerMount": "Suxeción do ciclocomputador",
|
||||
"gearComponentHandlebarTape": "Cinta do guiador",
|
||||
"gearComponentGrips": "Puños",
|
||||
"gearComponentStem": "Potencia",
|
||||
"gearComponentSeatpost": "Vara",
|
||||
"gearComponentSaddle": "Sela",
|
||||
"gearComponentFork": "Forcada",
|
||||
"gearComponentFrame": "Cadro",
|
||||
"gearComponentCleats": "Cleats",
|
||||
"gearComponentInsoles": "Insoles",
|
||||
"gearComponentLaces": "Laces",
|
||||
"gearComponentInsoles": "Soleta interior",
|
||||
"gearComponentLaces": "Cordóns",
|
||||
"gearComponentBaseGrip": "Base grip",
|
||||
"gearComponentBumpers": "Bumpers",
|
||||
"gearComponentGrommets": "Grommets",
|
||||
"gearComponentOverGrip": "Over grip",
|
||||
"gearComponentStrings": "Strings",
|
||||
"gearComponentSail": "Sail",
|
||||
"gearComponentBoard": "Board",
|
||||
"gearComponentStrings": "Cordas",
|
||||
"gearComponentSail": "Vela",
|
||||
"gearComponentBoard": "Táboa",
|
||||
"gearComponentMast": "Mast",
|
||||
"gearComponentBoom": "Boom",
|
||||
"gearComponentMastExtension": "Mast extension",
|
||||
@@ -63,17 +63,17 @@
|
||||
"gearComponentHarnessLines": "Harness lines",
|
||||
"gearComponentRiggingLines": "Rigging lines",
|
||||
"gearComponentFootpad": "Footpad",
|
||||
"gearComponentImpactVest": "Impact vest",
|
||||
"gearComponentLifeguardVest": "Lifeguard vest",
|
||||
"gearComponentHelmet": "Helmet",
|
||||
"gearComponentWing": "Wing",
|
||||
"gearComponentImpactVest": "Colete para impactos",
|
||||
"gearComponentLifeguardVest": "Colete salvavidas",
|
||||
"gearComponentHelmet": "Casco",
|
||||
"gearComponentWing": "Á",
|
||||
"gearComponentFrontFoil": "Front foil",
|
||||
"gearComponentStabilizer": "Stabilizer",
|
||||
"gearComponentFuselage": "Fuselage",
|
||||
"gearComponentOf": " of ",
|
||||
"gearComponentListGearComponentIsInactiveBadge": "Inactive",
|
||||
"gearComponentListModalDeleteGearComponentTitle": "Delete gear component",
|
||||
"gearComponentListModalDeleteGearComponentBody": "Are you sure you want to delete gear component ",
|
||||
"gearComponentListGearDeleteSuccessMessage": "Gear component deleted successfully",
|
||||
"gearComponentListGearDeleteErrorMessage": "Error deleting gear component"
|
||||
"gearComponentOf": " de ",
|
||||
"gearComponentListGearComponentIsInactiveBadge": "Inactivo",
|
||||
"gearComponentListModalDeleteGearComponentTitle": "Eliminar compoñente do equipamento",
|
||||
"gearComponentListModalDeleteGearComponentBody": "Tes certeza de querer eliminar o compoñento do equipamento ",
|
||||
"gearComponentListGearDeleteSuccessMessage": "Eliminouse o compoñente do equipamento",
|
||||
"gearComponentListGearDeleteErrorMessage": "Erro ao eliminar o compoñente"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"weight": "Peso",
|
||||
"noWeightData": "No weight data",
|
||||
"noWeightTarget": "No weight target",
|
||||
"noHeightDefined": "No height defined for user",
|
||||
"bmi": "BMI",
|
||||
"bmiUnderweight": "Underweight",
|
||||
"bmiNormalWeight": "Normal weight",
|
||||
"bmiOverweight": "Overweight",
|
||||
"bmiObesityClass1": "Obesity (Class 1)",
|
||||
"bmiObesityClass2": "Obesity (Class 2)",
|
||||
"bmiObesityClass3": "Extreme Obesity (Class 3)"
|
||||
}
|
||||
"noWeightData": "Sen datos do peso",
|
||||
"noWeightTarget": "Sen obxectivo de peso",
|
||||
"noHeightDefined": "Altura da usuaria sen establecer",
|
||||
"bmi": "IMC",
|
||||
"bmiUnderweight": "Por embaixo do peso",
|
||||
"bmiNormalWeight": "Normativo",
|
||||
"bmiOverweight": "Sobrepeso",
|
||||
"bmiObesityClass1": "Obesidade (clase 1)",
|
||||
"bmiObesityClass2": "Obesidade (clase 2)",
|
||||
"bmiObesityClass3": "Obesidade extrema (clase 3)"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"dashboardSection": "Dashboard",
|
||||
"weightSection": "Weight"
|
||||
"dashboardSection": "Taboleiro",
|
||||
"weightSection": "Peso"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"addWeightModalTitle": "Add weight",
|
||||
"editWeightModalTitle": "Edit weight",
|
||||
"addWeightWeightLabel": "Weight",
|
||||
"addWeightDateLabel": "Date",
|
||||
"successAddWeight": "Weight added",
|
||||
"errorAddWeight": "Error adding weight"
|
||||
"addWeightModalTitle": "Engadir peso",
|
||||
"editWeightModalTitle": "Editar peso",
|
||||
"addWeightWeightLabel": "Peso",
|
||||
"addWeightDateLabel": "Data",
|
||||
"successAddWeight": "Peso engadido",
|
||||
"errorAddWeight": "Erro ao engadir o peso"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"labelGarminConnect": "Garmin Connect",
|
||||
"modalDeleteWeightTitle": "Delete weight",
|
||||
"modalDeleteWeightBody": "Are you sure you want to delete weight entry for ",
|
||||
"successDeleteWeight": "Weight deleted",
|
||||
"errorDeleteWeight": "It was not possible to delete weight entry",
|
||||
"successEditWeight": "Weight edited",
|
||||
"errorEditWeight": "It was not possible to edit weight entry"
|
||||
"modalDeleteWeightTitle": "Eliminar peso",
|
||||
"modalDeleteWeightBody": "Tes certeza de querer eliminar o peso de ",
|
||||
"successDeleteWeight": "Peso eliminado",
|
||||
"errorDeleteWeight": "Non foi posible eliminar o peso",
|
||||
"successEditWeight": "Peso editado",
|
||||
"errorEditWeight": "Non foi posible editar o peso"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"buttonAddWeight": "Add weight",
|
||||
"labelNumberOfHealthDataWeight1": "There is a total of ",
|
||||
"labelNumberOfHealthDataWeight2": " weight measure(s) inserted (",
|
||||
"labelNumberOfHealthDataWeight3": " loaded):"
|
||||
"buttonAddWeight": "Engadir peso",
|
||||
"labelNumberOfHealthDataWeight1": "Hai un total de ",
|
||||
"labelNumberOfHealthDataWeight2": " engadido o peso (",
|
||||
"labelNumberOfHealthDataWeight3": " cargado):"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"gear": "Gear",
|
||||
"health": "Health",
|
||||
"alerts": "Alerts",
|
||||
"menu": "Menu"
|
||||
"home": "Inicio",
|
||||
"gear": "Equipamento",
|
||||
"health": "Saúde",
|
||||
"alerts": "Alertas",
|
||||
"menu": "Menú"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"search": "Search",
|
||||
"activities": "Activities",
|
||||
"activitiesList": "List",
|
||||
"summary": "Summary",
|
||||
"gear": "Gear",
|
||||
"health": "Health",
|
||||
"profile": "Profile",
|
||||
"settings": "Settings",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"errorLogout": "Error logging out"
|
||||
"search": "Buscar",
|
||||
"activities": "Actividades",
|
||||
"activitiesList": "Lista",
|
||||
"summary": "Resumo",
|
||||
"gear": "Equipamento",
|
||||
"health": "Saúde",
|
||||
"profile": "Perfil",
|
||||
"settings": "Axustes",
|
||||
"login": "Acceder",
|
||||
"logout": "Fechar sesión",
|
||||
"errorLogout": "Erro ao fechar sesión"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"title": "New sign-up request",
|
||||
"subTitle": " has requested to sign-up"
|
||||
"title": "Nova solicitude de conta",
|
||||
"subTitle": " solicitou crear unha nova conta"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"errorFetchingNotificationsPagination": "Error fetching notifications with pagination",
|
||||
"errorFetchingNotificationsNumber": "Error fetching notifications number",
|
||||
"errorFetchingNotificationById": "Error fetching notification by ID",
|
||||
"errorFetchingMessageFromWebSocket": "Error fetching message from WebSocket"
|
||||
"errorFetchingNotificationsPagination": "Erro ao obter as notificacións con paxinación",
|
||||
"errorFetchingNotificationsNumber": "Erro ao obter o número de notificacións",
|
||||
"errorFetchingNotificationById": "Erro ao obter o ID da notificación",
|
||||
"errorFetchingMessageFromWebSocket": "Erro ao obter a mensaxe desde WebSocket"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"newAcceptedRequestTitle": "New accepted request",
|
||||
"newAcceptedRequestSubTitle": " has accepted your follow request"
|
||||
"newAcceptedRequestTitle": "Nova solicitude aceptada",
|
||||
"newAcceptedRequestSubTitle": " aceptou a túa petición de seguimento"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"newActivityDuplicateStartTimeTitle": "New activity with duplicated start time",
|
||||
"newActivityDuplicateStartTimeSubTitle": "A new activity has been added with a start time that overlaps with an existing activity. Please review it"
|
||||
"newActivityDuplicateStartTimeTitle": "Nova actividade con hora de inicio duplicada",
|
||||
"newActivityDuplicateStartTimeSubTitle": "Engadeuse unha nova actividade cunha hora de inicio que se superpón cunha xa existente. Comproba que sexa correcta"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"newActivityTitle": "New activity",
|
||||
"newActivitySubTitle": "Good job! A new activity has been added!"
|
||||
"newActivityTitle": "Nova actividade",
|
||||
"newActivitySubTitle": "Ben feito! Engadeuse unha nova actividade!"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"newFollowerRequestTitle": "New follower request",
|
||||
"newFollowerRequestSubTitle": "You have a new follower request from "
|
||||
"newFollowerRequestTitle": "Nova petición de seguimento",
|
||||
"newFollowerRequestSubTitle": "Tes unha solicitude de seguimento de "
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"formLabel": "Language"
|
||||
"formLabel": "Idioma"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"formLabel": "Theme",
|
||||
"themeLight": "Light",
|
||||
"themeDark": "Dark",
|
||||
"formLabel": "Decorado",
|
||||
"themeLight": "Claro",
|
||||
"themeDark": "Escuro",
|
||||
"themeAuto": "Auto"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Importación por lote",
|
||||
"bulkImportIntegrationBody": "Importación por lotes desde ficheiros (no cartafol data/activity_files/bulk_import)",
|
||||
"buttonBulkImport": "Importar actividades",
|
||||
"loadingMessageBulkImport": "Importando actividades desde os ficheiros…",
|
||||
"errorMessageUnableToImportActivities": "Houbo un erro ao importar as actividades",
|
||||
"importTitle": "Importar",
|
||||
"stravaGearImportTitle": "Importar equipamento desde Strava",
|
||||
"stravaGearImportBody": "Importar equipamento dunha exportación de Strava (no cartafol data/activity_files/bulk_import)",
|
||||
"stravaGearImportbuttonBikes": "Importar bicicletas desde Strava",
|
||||
"loadingMessageStravaBikesImport": "Importando as bicicletas Strava desde o ficheiro…",
|
||||
"successMessageStravaBikesImport": "Bicicletas Strava importadas correctamente",
|
||||
"errorMessageUnableToImportBikes": "Houbo un erro ao importar as bicicletas Strava",
|
||||
"stravaImportbuttonShoes": "Importar zapatillas desde Strava",
|
||||
"loadingMessageStravaShoesImport": "Importando as zapatillas Strava desde o ficheiro…",
|
||||
"successMessageStravaShoesImport": "Zapatillas Strava importadas correctamente",
|
||||
"errorMessageUnableToImportShoes": "Houbo un erro ao importar as zapatillas Strava"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"garminConnectAuthModalTitle": "Link Garmin Connect account",
|
||||
"garminConnectAuthModalUsernameLabel": "Garmin Connect email",
|
||||
"garminConnectAuthModalUsernamePlaceholder": "Garmin Connect email",
|
||||
"garminConnectAuthModalPasswordLabel": "Garmin Connect password",
|
||||
"garminConnectAuthModalPasswordPlaceholder": "Garmin Connect password",
|
||||
"garminConnectAuthModalMfaCodeLabel": "MFA code",
|
||||
"garminConnectAuthModalMfaCodePlaceholder": "MFA code",
|
||||
"buttonSubmitMfaCode": "Submit MFA code",
|
||||
"garminConnectAuthModalLoginButton": "Login",
|
||||
"processingMessageLinkGarminConnect": "Linking Garmin Connect account...",
|
||||
"successMessageLinkGarminConnect": "Garmin Connect account linked",
|
||||
"errorMessageUnableToLinkGarminConnect": "Unable to link Garmin Connect account"
|
||||
"garminConnectAuthModalTitle": "Ligar a conta Garmin Connect",
|
||||
"garminConnectAuthModalUsernameLabel": "Correo electrónico en Garmin Connect",
|
||||
"garminConnectAuthModalUsernamePlaceholder": "Correo electrónico en Garmin Connect",
|
||||
"garminConnectAuthModalPasswordLabel": "Contrasinal de Garmin Connect",
|
||||
"garminConnectAuthModalPasswordPlaceholder": "Contrasinal de Garmin Connect",
|
||||
"garminConnectAuthModalMfaCodeLabel": "Código AMF",
|
||||
"garminConnectAuthModalMfaCodePlaceholder": "Código AMF",
|
||||
"buttonSubmitMfaCode": "Enviar código AMF",
|
||||
"garminConnectAuthModalLoginButton": "Acceder",
|
||||
"processingMessageLinkGarminConnect": "Ligando a conta Garmin Connect…",
|
||||
"successMessageLinkGarminConnect": "Conta Garmin Connect ligada",
|
||||
"errorMessageUnableToLinkGarminConnect": "Non se puido ligar a conta Garmin Connect"
|
||||
}
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"stravaIntegrationTitle": "Strava",
|
||||
"stravaIntegrationBody": "Strava is an American internet service for tracking physical exercise which incorporates social network features.",
|
||||
"buttonConnect": "Connect",
|
||||
"buttonDropdownOptions": "Options",
|
||||
"modalRetrieveActivitiesByDaysTitle": "Retrieve activities by days",
|
||||
"modalRetrieveActivitiesByDateRangeTitle": "Retrieve activities by date range",
|
||||
"modalRetrieveActivitiesByDaysLabel": "Days",
|
||||
"modalRetrieveActivitiesByDaysPlaceholder": "Days",
|
||||
"modalRetrieveButton": "Retrieve",
|
||||
"buttonRetrieveGear": "Retrieve gear",
|
||||
"buttonRelink": "Relink",
|
||||
"buttonUnlink": "Unlink",
|
||||
"modalRetrieveClientIdTitle": "Connect Strava",
|
||||
"modalRetrieveClientIdLabel": "Client ID",
|
||||
"modalRetrieveClientSecretLabel": "Client secret",
|
||||
"errorMessageUnableToLinkStrava": "Unable to link Strava account",
|
||||
"errorMessageUnableToUnsetStravaClientSettings": "Unable to unset Strava client and state settings after linking error",
|
||||
"successMessageStravaAccountLinked": "Strava account linked",
|
||||
"errorMessageUnableToUnSetStravaState": "Unable to unset Strava state",
|
||||
"errorMessageUnableToGetStravaActivities": "Unable to get Strava activities",
|
||||
"errorMessageUnableToGetStravaGear": "Unable to get Strava gear",
|
||||
"stravaIntegrationBody": "Strava é un servizo de internet de Estados Unidos para facer seguimento da actividade física e que incorpora elementos do internet social.",
|
||||
"buttonConnect": "Conectar",
|
||||
"buttonDropdownOptions": "Opcións",
|
||||
"modalRetrieveActivitiesByDaysTitle": "Obter actividades diarias",
|
||||
"modalRetrieveActivitiesByDateRangeTitle": "Obter actividades do rango de datas",
|
||||
"modalRetrieveActivitiesByDaysLabel": "Días",
|
||||
"modalRetrieveActivitiesByDaysPlaceholder": "Días",
|
||||
"modalRetrieveButton": "Obter",
|
||||
"buttonRetrieveGear": "Obter equipamento",
|
||||
"buttonRelink": "Volver conectar",
|
||||
"buttonUnlink": "Desligar",
|
||||
"modalRetrieveClientIdTitle": "Conectar Strava",
|
||||
"modalRetrieveClientIdLabel": "ID do cliente",
|
||||
"modalRetrieveClientSecretLabel": "Clave secreta do cliente",
|
||||
"errorMessageUnableToLinkStrava": "Non se puido conectar coa conta Strava",
|
||||
"errorMessageUnableToUnsetStravaClientSettings": "Non se puido restablecer o cliente de Strava e os axustes do estado despois do erro de conexión",
|
||||
"successMessageStravaAccountLinked": "Conta de Strava conectada",
|
||||
"errorMessageUnableToUnSetStravaState": "Non se puido restablecer o estado de Strava",
|
||||
"errorMessageUnableToGetStravaActivities": "Non se obtiveron actividades desde Strava",
|
||||
"errorMessageUnableToGetStravaGear": "Non se obtivo equipamento desde Strava",
|
||||
"loadingMessageRetrievingStravaActivities": "Obtendo actividades desde Strava",
|
||||
"loadingMessageRetrievingStravaGear": "Obtendo equipamento desde Strava",
|
||||
"processingMessageUnlinkStrava": "Desligando a conta de Strava…",
|
||||
|
||||
@@ -3,29 +3,29 @@
|
||||
"changeUserPasswordBodyLabel": "Cambiar o contrasinal da usuaria ",
|
||||
"changeUserPasswordPasswordLabel": "Novo contrasinal",
|
||||
"changeUserPasswordPasswordConfirmationLabel": "Confirmar o novo contrasinal",
|
||||
"changeUserPasswordFeedbackLabel": "Password does not meet requirements",
|
||||
"changeUserPasswordPasswordsDoNotMatchFeedbackLabel": "Passwords do not match",
|
||||
"subtitleMFA": "Multi-Factor Authentication (MFA)",
|
||||
"mfaDisabledDescription": "MFA is currently disabled. Enable it to add an extra layer of security to your account.",
|
||||
"mfaEnabledDescription": "MFA is currently enabled. Your account is protected with two-factor authentication.",
|
||||
"enableMFAButton": "Enable MFA",
|
||||
"disableMFAButton": "Disable MFA",
|
||||
"mfaSetupModalTitle": "Setup Multi-Factor Authentication",
|
||||
"mfaSetupInstructions": "Scan the QR code below with your authenticator app (Google Authenticator, Authy, etc.) or manually enter the secret:",
|
||||
"mfaSecretLabel": "Secret Key",
|
||||
"mfaVerificationCodeLabel": "Verification Code",
|
||||
"mfaVerificationCodePlaceholder": "Enter 6-digit code",
|
||||
"mfaDisableModalTitle": "Disable Multi-Factor Authentication",
|
||||
"mfaDisableConfirmation": "Are you sure you want to disable MFA? This will reduce your account security.",
|
||||
"mfaEnabledSuccess": "MFA enabled successfully",
|
||||
"mfaDisabledSuccess": "MFA disabled successfully",
|
||||
"errorLoadMFAStatus": "Error loading MFA status",
|
||||
"errorSetupMFA": "Error setting up MFA",
|
||||
"errorEnableMFA": "Error enabling MFA",
|
||||
"errorDisableMFA": "Error disabling MFA",
|
||||
"subtitleMySessions": "My sessions",
|
||||
"userChangePasswordSuccessMessage": "Password changed successfully",
|
||||
"userChangePasswordErrorMessage": "Error changing password",
|
||||
"successDeleteSession": "Session deleted successfully",
|
||||
"errorDeleteSession": "Error deleting session"
|
||||
}
|
||||
"changeUserPasswordFeedbackLabel": "O contrasinal non cumpre cos requisitos",
|
||||
"changeUserPasswordPasswordsDoNotMatchFeedbackLabel": "Os contrasinais non coinciden",
|
||||
"subtitleMFA": "Autenticación Multi-Factor (AMF)",
|
||||
"mfaDisabledDescription": "O AMF está actualmente desactivado. Actívao para engadir unha capa extra de seguridade á túa conta.",
|
||||
"mfaEnabledDescription": "O AMF está activado. A túa conta está protexida cun segundo factor de autenticación.",
|
||||
"enableMFAButton": "Activar AMF",
|
||||
"disableMFAButton": "Desactivar AMF",
|
||||
"mfaSetupModalTitle": "Configurar a Autenticación con Múltiple Factor",
|
||||
"mfaSetupInstructions": "Escanea o código QR inferior coa túa app de autenticación (Google Authenticator, Authy, etc.) ou escribe á man o dato secreto:",
|
||||
"mfaSecretLabel": "Clave secreta",
|
||||
"mfaVerificationCodeLabel": "Código de verificación",
|
||||
"mfaVerificationCodePlaceholder": "Escribe o código de 6 díxitos",
|
||||
"mfaDisableModalTitle": "Desactiva a Autenticación con Múltiple Factor",
|
||||
"mfaDisableConfirmation": "Tes certeza de querer desactivar AMF? Isto reducirá a seguridade da túa conta.",
|
||||
"mfaEnabledSuccess": "AMF activada correctamente",
|
||||
"mfaDisabledSuccess": "AMF desactivada correctamente",
|
||||
"errorLoadMFAStatus": "Erro ao cargar o estado de AMF",
|
||||
"errorSetupMFA": "Erro ao configurar AMF",
|
||||
"errorEnableMFA": "Erro ao activar AMF",
|
||||
"errorDisableMFA": "Erro ao desactivar AMF",
|
||||
"subtitleMySessions": "As miñas sesións",
|
||||
"userChangePasswordSuccessMessage": "Contrasial cambiado correctamente",
|
||||
"userChangePasswordErrorMessage": "Erro ao cambiar o contrasinal",
|
||||
"successDeleteSession": "Sesión eliminada correctamente",
|
||||
"errorDeleteSession": "Erro ao eliminar a sesión"
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
{
|
||||
"defaultsTitle": "Defaults",
|
||||
"unitsLabel": "Default units",
|
||||
"unitsMetric": "Metric",
|
||||
"defaultsTitle": "Por defecto",
|
||||
"unitsLabel": "Unidades por defecto",
|
||||
"unitsMetric": "Métrico",
|
||||
"unitsImperial": "Imperial",
|
||||
"currencyLabel": "Default currency",
|
||||
"numRecordsLabel": "Number of records per page",
|
||||
"signupTitle": "Sign-up",
|
||||
"adminApprovalLabel": "Admin approval",
|
||||
"emailConfirmationLabel": "Email confirmation",
|
||||
"publicShareableLinksLabel": "Public shareable links",
|
||||
"enabledLabel": "Enabled",
|
||||
"serverSettingsPublicShareableLinksEnabledWarningAlert": "Enabling this will make all publicly posted activities viewable without authentication.",
|
||||
"publicShareableLinksShowUserInfoLabel": "Show user info",
|
||||
"serverSettingsPublicShareableLinksShowUserWarningAlert": "Enabling this will display user information on all public links",
|
||||
"photosLabel": "Photos",
|
||||
"loginPhotoLabel": "Login photo",
|
||||
"buttonAddPhoto": "Add photo",
|
||||
"logonPhotoAddLabel": "Login page photo (.png) with a size of 1000x1000 pixels.",
|
||||
"processingPhotoUpload": "Processing photo upload",
|
||||
"successPhotoUpload": "Photo uploaded successfully",
|
||||
"buttonDeleteLoginPhoto": "Delete login photo",
|
||||
"modalDeleteLoginPhotoBody": "Are you sure you want to delete the login photo?",
|
||||
"processingPhotoDelete": "Processing photo delete",
|
||||
"successPhotoDelete": "Photo deleted successfully",
|
||||
"successUpdateServerSettings": "Server settings updated successfully",
|
||||
"errorUpdateServerSettings": "Error updating server settings",
|
||||
"errorFetchingServerSettings": "Error fetching server settings"
|
||||
}
|
||||
"currencyLabel": "Moeda predefinida",
|
||||
"numRecordsLabel": "Número de rexistros por páxina",
|
||||
"signupTitle": "Crear conta",
|
||||
"adminApprovalLabel": "Aprobación por Admin",
|
||||
"emailConfirmationLabel": "Confirmación por correo",
|
||||
"publicShareableLinksLabel": "Ligazóns públicas compartibles",
|
||||
"enabledLabel": "Activado",
|
||||
"serverSettingsPublicShareableLinksEnabledWarningAlert": "Ao activar isto farás que todas as actividades públicas poidan verse sen precisar autenticación.",
|
||||
"publicShareableLinksShowUserInfoLabel": "Mostrar info da usuaria",
|
||||
"serverSettingsPublicShareableLinksShowUserWarningAlert": "Ao activar isto mostrarás a información da usuaria en todas as ligazóns públicas",
|
||||
"photosLabel": "Fotos",
|
||||
"loginPhotoLabel": "Foto do acceso",
|
||||
"buttonAddPhoto": "Engadir foto",
|
||||
"logonPhotoAddLabel": "Foto da páxina de acceso (.png) cun tamaño de 1000x1000 píxeles.",
|
||||
"processingPhotoUpload": "Subindo a foto",
|
||||
"successPhotoUpload": "Foto subida correctamente",
|
||||
"buttonDeleteLoginPhoto": "Eliminar foto do acceso",
|
||||
"modalDeleteLoginPhotoBody": "Tes certeza de querer eliminar a foto do acceso?",
|
||||
"processingPhotoDelete": "Eliminando a foto",
|
||||
"successPhotoDelete": "Foto eliminada correctamente",
|
||||
"successUpdateServerSettings": "Axustes do servidor actualizados correctamente",
|
||||
"errorUpdateServerSettings": "Erro ao actualizar os axustes do servidor",
|
||||
"errorFetchingServerSettings": "Erro ao obter os axustes do servidor"
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
{
|
||||
"usersSection": "Users",
|
||||
"serverSettingsSection": "Server Settings",
|
||||
"identityProvidersSection": "Identity Providers",
|
||||
"generalSection": "General",
|
||||
"myProfileSection": "My Profile",
|
||||
"myGoals": "My Goals",
|
||||
"securitySection": "Security",
|
||||
"integrationsSection": "Integrations",
|
||||
"importSection": "Import"
|
||||
}
|
||||
"usersSection": "Contas",
|
||||
"serverSettingsSection": "Axustes do servidor",
|
||||
"generalSection": "Xerais",
|
||||
"myProfileSection": "O meu perfil",
|
||||
"myGoals": "Obxectivos",
|
||||
"securitySection": "Seguridade",
|
||||
"integrationsSection": "Integracións",
|
||||
"importSection": "Importar"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"addNewGoal": "Add new goal",
|
||||
"labelNumberOfGoals1": "You have ",
|
||||
"labelNumberOfGoals2": " goal(s) set:",
|
||||
"successGoalDeleted": "Goal deleted successfully",
|
||||
"errorFetchingGoals": "Error fetching goals"
|
||||
"addNewGoal": "Engadir novo obxectivo",
|
||||
"labelNumberOfGoals1": "Tes ",
|
||||
"labelNumberOfGoals2": " obxectivo(s):",
|
||||
"successGoalDeleted": "Obxectivo eliminado correctamente",
|
||||
"errorFetchingGoals": "Erro ao obter os obxectivos"
|
||||
}
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
{
|
||||
"titleProfileInfo": "My profile",
|
||||
"buttonDeleteProfilePhoto": "Delete",
|
||||
"modalDeleteProfilePhotoBody": "Are you sure you want to delete your profile photo?",
|
||||
"buttonEditProfile": "Profile",
|
||||
"usernameLabel": "Username",
|
||||
"emailLabel": "Email",
|
||||
"cityLabel": "City",
|
||||
"birthdayLabel": "Birthday",
|
||||
"genderLabel": "Gender",
|
||||
"genderOption1": "Male",
|
||||
"genderOption2": "Female",
|
||||
"genderOption3": "Unspecified",
|
||||
"unitsLabel": "Units",
|
||||
"unitsOption1": "Metric",
|
||||
"titleProfileInfo": "O meu perfil",
|
||||
"buttonDeleteProfilePhoto": "Eliminar",
|
||||
"modalDeleteProfilePhotoBody": "Tes certeza de querer eliminar a túa foto de perfil?",
|
||||
"buttonEditProfile": "Perfil",
|
||||
"usernameLabel": "Indentificador",
|
||||
"emailLabel": "Correo electrónico",
|
||||
"cityLabel": "Cidade",
|
||||
"birthdayLabel": "Aniversario",
|
||||
"genderLabel": "Xénero",
|
||||
"genderOption1": "Masculino",
|
||||
"genderOption2": "Feminino",
|
||||
"genderOption3": "Sen especificar",
|
||||
"unitsLabel": "Unidades",
|
||||
"unitsOption1": "Métrico",
|
||||
"unitsOption2": "Imperial",
|
||||
"currencyLabel": "Currency",
|
||||
"heightLabel": "Height",
|
||||
"preferredLanguageLabel": "Preferred language",
|
||||
"firstDayOfWeekLabel": "First day of week",
|
||||
"accessTypeLabel": "Access type",
|
||||
"accessTypeOption1": "Regular user",
|
||||
"accessTypeOption2": "Administrator",
|
||||
"userPhotoDeleteSuccess": "Profile photo deleted successfully",
|
||||
"userPhotoDeleteError": "Error deleting profile photo",
|
||||
"titleDefaultGear": "Default gear",
|
||||
"subTitleShoeActivities": "Shoe activities",
|
||||
"subTitleRun": "Run",
|
||||
"subTitleTrailRun": "Trail run",
|
||||
"subTitleVirtualRun": "Virtual run",
|
||||
"subTitleWalk": "Walk",
|
||||
"subTitleHike": "Hike",
|
||||
"subTitleBikeActivities": "Bike activities",
|
||||
"subTitleBike": "Bike",
|
||||
"subTitleMTBBike": "MTB bike",
|
||||
"subTitleGravelBike": "Gravel bike",
|
||||
"subTitleVirtualBike": "Virtual bike",
|
||||
"subTitleWaterActivities": "Water activities",
|
||||
"subTitleSwim": "Open water swim",
|
||||
"currencyLabel": "Moeda",
|
||||
"heightLabel": "Altura",
|
||||
"preferredLanguageLabel": "Idioma preferido",
|
||||
"firstDayOfWeekLabel": "Primeiro día da semana",
|
||||
"accessTypeLabel": "Tipo de acceso",
|
||||
"accessTypeOption1": "Usuaria normal",
|
||||
"accessTypeOption2": "Administradora",
|
||||
"userPhotoDeleteSuccess": "Eliminouse correctamente a foto de perfil",
|
||||
"userPhotoDeleteError": "Erro ao eliminar a foto de perfil",
|
||||
"titleDefaultGear": "Equipamento por defecto",
|
||||
"subTitleShoeActivities": "Actividades das zapatillas",
|
||||
"subTitleRun": "Correr",
|
||||
"subTitleTrailRun": "Correr por camiños",
|
||||
"subTitleVirtualRun": "Carreira virtual",
|
||||
"subTitleWalk": "Camiñada",
|
||||
"subTitleHike": "Sendeirismo",
|
||||
"subTitleBikeActivities": "Actividades en bicicleta",
|
||||
"subTitleBike": "Bicicleta",
|
||||
"subTitleMTBBike": "Bicicleta de montaña",
|
||||
"subTitleGravelBike": "Bicicleta por camiños",
|
||||
"subTitleVirtualBike": "Bicicleta virtual",
|
||||
"subTitleWaterActivities": "Actividades acuáticas",
|
||||
"subTitleSwim": "Natación en auga aberta",
|
||||
"subTitleWindsurf": "Windsurf",
|
||||
"subTitleRacquetActivities": "Racquet activities",
|
||||
"subTitleTennis": "Tennis",
|
||||
"subTitleSnowActivities": "Snow activities",
|
||||
"subTitleAlpineSki": "Alpine ski",
|
||||
"subTitleNordicSki": "Nordic ski",
|
||||
"subTitleRacquetActivities": "Actividades con raqueta",
|
||||
"subTitleTennis": "Tenis",
|
||||
"subTitleSnowActivities": "Actividades na neve",
|
||||
"subTitleAlpineSki": "Esquí alpino",
|
||||
"subTitleNordicSki": "Esquí nórdico",
|
||||
"subTitleSnowboard": "Snowboard",
|
||||
"selectOptionNotDefined": "Not defined",
|
||||
"titlePrivacy": "Privacy",
|
||||
"defaultActivityVisibility": "Default activity visibility",
|
||||
"privacyOption1": "Public",
|
||||
"privacyOption2": "Followers",
|
||||
"privacyOption3": "Private",
|
||||
"defaultActivityStartTime": "Hide activity start time",
|
||||
"defaultActivityLocation": "Hide activity location",
|
||||
"defaultActivityMap": "Hide activity map",
|
||||
"defaultActivityHeartRate": "Hide activity heart rate",
|
||||
"defaultActivityPower": "Hide activity power",
|
||||
"defaultActivityCadence": "Hide activity cadence",
|
||||
"defaultActivityElevation": "Hide activity elevation",
|
||||
"defaultActivitySpeed": "Hide activity speed",
|
||||
"defaultActivityPace": "Hide activity pace",
|
||||
"defaultActivityLaps": "Hide activity laps",
|
||||
"defaultActivitySetsSteps": "Hide activity sets/steps",
|
||||
"defaultActivityGear": "Hide activity gear",
|
||||
"buttonChangeDefaultActivityVisibility": "Change default visibility",
|
||||
"buttonChangeUserActivitiesVisibility": "Change activities visibility",
|
||||
"changeUserActivitiesVisibilityModalVisibilityLabel": "Visibility",
|
||||
"changeUserActivitiesVisibilityModalButton": "Change",
|
||||
"successUpdateUserActivitiesVisibility": "Activities visibility updated successfully",
|
||||
"errorUpdateUserActivitiesVisibility": "Error updating activities visibility",
|
||||
"errorUnableToGetGear": "Unable to get gear",
|
||||
"errorUnableToGetDefaultGear": "Unable to get default gear",
|
||||
"successUpdateDefaultGear": "Default gear updated successfully",
|
||||
"errorUpdateDefaultGear": "Error updating default gear",
|
||||
"successUpdateUserPrivacySettings": "User privacy settings updated successfully",
|
||||
"errorUpdateUserPrivacySettings": "Error updating user privacy settings",
|
||||
"titleExportData": "Export and import data",
|
||||
"labelPasswordDisclaimer": "User password is not included in the import/export process. After import, update your password on security section.",
|
||||
"buttonExportData": "Export data",
|
||||
"buttonImportData": "Import data",
|
||||
"modalImportTitle": "Import backup file",
|
||||
"modalImportBody": "Select the .zip file you previously exported to restore your data.",
|
||||
"exportLoading": "Exporting data, this may take a few minutes...",
|
||||
"exportSuccess": "Export completed successfully",
|
||||
"exportError": "Error exporting data",
|
||||
"importLoading": "Importing data, this may take a few minutes...",
|
||||
"importSuccess": "Import completed",
|
||||
"importError": "Error importing data"
|
||||
"selectOptionNotDefined": "Sen definir",
|
||||
"titlePrivacy": "Privacidade",
|
||||
"defaultActivityVisibility": "Visibilidade por defecto para actividades",
|
||||
"privacyOption1": "Pública",
|
||||
"privacyOption2": "Para seguidoras",
|
||||
"privacyOption3": "Privada",
|
||||
"defaultActivityStartTime": "Ocultar hora de inicio da actividade",
|
||||
"defaultActivityLocation": "Ocultar localización da actividade",
|
||||
"defaultActivityMap": "Ocultar mapa da actividade",
|
||||
"defaultActivityHeartRate": "Ocultar pulso cardíaco na actividade",
|
||||
"defaultActivityPower": "Ocultar potencia na actividade",
|
||||
"defaultActivityCadence": "Ocultar cadencia da actividade",
|
||||
"defaultActivityElevation": "Ocultar elevación na actividade",
|
||||
"defaultActivitySpeed": "Ocultar velocidade da actividade",
|
||||
"defaultActivityPace": "Ocultar ritmo da actividade",
|
||||
"defaultActivityLaps": "Ocultar voltas na actividade",
|
||||
"defaultActivitySetsSteps": "Ocultar repeticións/pasos da actividade",
|
||||
"defaultActivityGear": "Ocultar equipamento na actividade",
|
||||
"buttonChangeDefaultActivityVisibility": "Cambiar visibilidade por defecto",
|
||||
"buttonChangeUserActivitiesVisibility": "Cambiar visibilidade das actividades",
|
||||
"changeUserActivitiesVisibilityModalVisibilityLabel": "Visibilidade",
|
||||
"changeUserActivitiesVisibilityModalButton": "Cambiar",
|
||||
"successUpdateUserActivitiesVisibility": "Cambiouse correctamente a visibilidade",
|
||||
"errorUpdateUserActivitiesVisibility": "Erro ao actualizar a visibilidade da actividade",
|
||||
"errorUnableToGetGear": "Non se obtivo o equipamento",
|
||||
"errorUnableToGetDefaultGear": "Non se obtivo o equipamento por defecto",
|
||||
"successUpdateDefaultGear": "Equipamento por defecto actualizado correctamente",
|
||||
"errorUpdateDefaultGear": "Erro actualizando o equipamento por defecto",
|
||||
"successUpdateUserPrivacySettings": "Axustes de privacidade da usuaria actualizados correctamente",
|
||||
"errorUpdateUserPrivacySettings": "Erro ao actualizar os axustes de privacidade da usuaria",
|
||||
"titleExportData": "Exportar e importar datos",
|
||||
"labelPasswordDisclaimer": "O contrasinal da usuaria non se inclúe no proceso de importar/exportar. Despois da importación, actualiza o contrasinal na sección de seguridade.",
|
||||
"buttonExportData": "Exportar datos",
|
||||
"buttonImportData": "Importar datos",
|
||||
"modalImportTitle": "Importar ficheiro da copia",
|
||||
"modalImportBody": "Elixe o ficheiro .zip que exportaches para restablecer os teus datos.",
|
||||
"exportLoading": "Exportando os datos, podería levarnos uns minutos…",
|
||||
"exportSuccess": "Completouse correctamente a exportación",
|
||||
"exportError": "Erro ao exportar os datos",
|
||||
"importLoading": "Importando os datos, podería levarnos uns minutos…",
|
||||
"importSuccess": "Importación completada",
|
||||
"importError": "Erro ao importar os datos"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"badgeCurrentSession": "Current Session",
|
||||
"modalDeleteSessionTitle": "Delete Session",
|
||||
"modalDeleteSessionBody": "Are you sure you want to delete session "
|
||||
"badgeCurrentSession": "Sesión actual",
|
||||
"modalDeleteSessionTitle": "Eliminar a sesión",
|
||||
"modalDeleteSessionBody": "Tes certeza de querer eliminar a sesión "
|
||||
}
|
||||
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"addEditUserModalAddTitle": "Add user",
|
||||
"addEditUserModalEditTitle": "Edit user",
|
||||
"addEditUserModalEditProfileTitle": "Edit profile",
|
||||
"addEditUserModalDeleteUserPhotoButton": "Delete photo",
|
||||
"addEditUserModalUserPhotoLabel": "User photo",
|
||||
"addEditUserModalUsernameLabel": "Username",
|
||||
"addEditUserModalUsernamePlaceholder": "Username (max 45 characters)",
|
||||
"addEditUserModalErrorUsernameExists": "Username already exists",
|
||||
"addEditUserModalNameLabel": "Name",
|
||||
"addEditUserModalNamePlaceholder": "Name (max 45 characters)",
|
||||
"addEditUserModalEmailLabel": "Email",
|
||||
"addEditUserModalEmailPlaceholder": "Email (max 45 characters)",
|
||||
"addEditUserModalErrorEmailInvalid": "Email is not valid",
|
||||
"addEditUserModalErrorEmailExists": "Email already exists",
|
||||
"addEditUserModalPasswordLabel": "Password",
|
||||
"addEditUserModalPasswordPlaceholder": "Password",
|
||||
"addEditUserModalErrorPasswordInvalid": "Password does not meet requirements",
|
||||
"addEditUserModalCityLabel": "City",
|
||||
"addEditUserModalCityPlaceholder": "City (max 45 characters)",
|
||||
"addEditUserModalBirthdayLabel": "Birthday",
|
||||
"addEditUserModalGenderLabel": "Gender",
|
||||
"addEditUserModalUnitsLabel": "Units",
|
||||
"addEditUserModalUnitsOption1": "Metric",
|
||||
"addEditUserModalAddTitle": "Engadir persoa usuaria",
|
||||
"addEditUserModalEditTitle": "Editar persoa usuaria",
|
||||
"addEditUserModalEditProfileTitle": "Editar perfil",
|
||||
"addEditUserModalDeleteUserPhotoButton": "Eliminar a foto",
|
||||
"addEditUserModalUserPhotoLabel": "Foto da usuaria",
|
||||
"addEditUserModalUsernameLabel": "Indentificador",
|
||||
"addEditUserModalUsernamePlaceholder": "Identificador (máx. 45 caracteres)",
|
||||
"addEditUserModalErrorUsernameExists": "Xa existe o identificador",
|
||||
"addEditUserModalNameLabel": "Nome",
|
||||
"addEditUserModalNamePlaceholder": "Nome (máx. 45 caracteres)",
|
||||
"addEditUserModalEmailLabel": "Correo electrónico",
|
||||
"addEditUserModalEmailPlaceholder": "Correo electrónico (máx. 45 caracteres)",
|
||||
"addEditUserModalErrorEmailInvalid": "O correo electrónico non é válido",
|
||||
"addEditUserModalErrorEmailExists": "O correo xa existe",
|
||||
"addEditUserModalPasswordLabel": "Contrasinal",
|
||||
"addEditUserModalPasswordPlaceholder": "Contrasinal",
|
||||
"addEditUserModalErrorPasswordInvalid": "O contrasinal non cumpre cos requisitos",
|
||||
"addEditUserModalCityLabel": "Cidade",
|
||||
"addEditUserModalCityPlaceholder": "Cidade (máx. 45 caracteres)",
|
||||
"addEditUserModalBirthdayLabel": "Aniversario",
|
||||
"addEditUserModalGenderLabel": "Xénero",
|
||||
"addEditUserModalUnitsLabel": "Unidades",
|
||||
"addEditUserModalUnitsOption1": "Métrico",
|
||||
"addEditUserModalUnitsOption2": "Imperial",
|
||||
"addEditUserModalCurrencyLabel": "Currency",
|
||||
"addEditUserModalHeightLabel": "Height",
|
||||
"addEditUserModalHeightPlaceholder": "Height",
|
||||
"addEditUserModalFeetValidationLabel": "Invalid height. Please enter a valid height in feet.",
|
||||
"addEditUserModalInchesValidationLabel": "Invalid height. Please enter a valid height in inches.",
|
||||
"addEditUserModalUserPreferredLanguageLabel": "Preferred language",
|
||||
"addEditUserModalUserFirstDayOfWeekLabel": "First day of week",
|
||||
"addEditUserModalUserTypeLabel": "Access type",
|
||||
"addEditUserModalUserTypeOption1": "Regular user",
|
||||
"addEditUserModalUserTypeOption2": "Administrator",
|
||||
"addEditUserModalIsActiveLabel": "Is active",
|
||||
"addEditUserModalIsActiveOption1": "Yes",
|
||||
"addEditUserModalIsActiveOption2": "No",
|
||||
"addEditUserModalDefaultActivityVisibilityLabel": "Default activity visibility",
|
||||
"addEditUserModalDefaultActivityVisibilityOption1": "Public",
|
||||
"addEditUserModalDefaultActivityVisibilityOption2": "Followers",
|
||||
"addEditUserModalDefaultActivityVisibilityOption3": "Private",
|
||||
"addEditUserModalErrorFetchingUserByUsername": "Error fetching user by username",
|
||||
"addEditUserModalErrorFetchingUserByEmail": "Error fetching user by email",
|
||||
"addEditUserModalSuccessDeleteUserPhoto": "User photo deleted successfully",
|
||||
"addEditUserModalErrorDeleteUserPhoto": "Error deleting user photo",
|
||||
"addEditUserModalErrorUploadingUserPhoto": "Error uploading user photo",
|
||||
"addEditUserModalSuccessAddUser": "User added successfully",
|
||||
"addEditUserModalErrorAddUser": "Error adding user",
|
||||
"addEditUserModalSuccessEditUser": "User edited successfully",
|
||||
"addEditUserModalErrorEditUser": "Error editing user"
|
||||
"addEditUserModalCurrencyLabel": "Moeda",
|
||||
"addEditUserModalHeightLabel": "Altura",
|
||||
"addEditUserModalHeightPlaceholder": "Altura",
|
||||
"addEditUserModalFeetValidationLabel": "Altura non válida. Escribe unha altura en pés.",
|
||||
"addEditUserModalInchesValidationLabel": "Altura non válida. Escribe unha altura en pulgadas.",
|
||||
"addEditUserModalUserPreferredLanguageLabel": "Idioma preferido",
|
||||
"addEditUserModalUserFirstDayOfWeekLabel": "Primeiro día da semana",
|
||||
"addEditUserModalUserTypeLabel": "Tipo de acceso",
|
||||
"addEditUserModalUserTypeOption1": "Usuaria normal",
|
||||
"addEditUserModalUserTypeOption2": "Administradora",
|
||||
"addEditUserModalIsActiveLabel": "Está activa",
|
||||
"addEditUserModalIsActiveOption1": "Si",
|
||||
"addEditUserModalIsActiveOption2": "Non",
|
||||
"addEditUserModalDefaultActivityVisibilityLabel": "Visibilidade por defecto para actividades",
|
||||
"addEditUserModalDefaultActivityVisibilityOption1": "Pública",
|
||||
"addEditUserModalDefaultActivityVisibilityOption2": "Para seguidoras",
|
||||
"addEditUserModalDefaultActivityVisibilityOption3": "Privada",
|
||||
"addEditUserModalErrorFetchingUserByUsername": "Erro ao obter usuara por identificador",
|
||||
"addEditUserModalErrorFetchingUserByEmail": "Erro ao obter usuaria polo correo",
|
||||
"addEditUserModalSuccessDeleteUserPhoto": "Eliminouse a foto correctamente",
|
||||
"addEditUserModalErrorDeleteUserPhoto": "Erro ao eliminar a foto da usuaria",
|
||||
"addEditUserModalErrorUploadingUserPhoto": "Erro ao subir a foto da usuaria",
|
||||
"addEditUserModalSuccessAddUser": "Usuaria engadida correctamente",
|
||||
"addEditUserModalErrorAddUser": "Erro ao engadir a usuaria",
|
||||
"addEditUserModalSuccessEditUser": "Usuaria editada correctamente",
|
||||
"addEditUserModalErrorEditUser": "Erro ao editar a usuaria"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"modalChangeUserPasswordTitle": "Change user password",
|
||||
"modalChangeUserPasswordBodyLabel": "Change password for user ",
|
||||
"modalChangeUserPasswordPasswordLabel": "New password",
|
||||
"modalChangeUserPasswordPasswordConfirmationLabel": "Confirm new password",
|
||||
"modalChangeUserPasswordFeedbackLabel": "Password does not meet requirements",
|
||||
"modalChangeUserPasswordPasswordsDoNotMatchFeedbackLabel": "Passwords do not match",
|
||||
"userChangePasswordSuccessMessage": "Password changed successfully",
|
||||
"userChangePasswordErrorMessage": "Error changing password"
|
||||
"modalChangeUserPasswordTitle": "Cambiar contrasinal da conta",
|
||||
"modalChangeUserPasswordBodyLabel": "Cambiar contrasinal da usuaria ",
|
||||
"modalChangeUserPasswordPasswordLabel": "Novo contrasinal",
|
||||
"modalChangeUserPasswordPasswordConfirmationLabel": "Confirmar o novo contrasinal",
|
||||
"modalChangeUserPasswordFeedbackLabel": "O contrasinal non cumpre cos requisitos",
|
||||
"modalChangeUserPasswordPasswordsDoNotMatchFeedbackLabel": "Os contrasinais non coinciden",
|
||||
"userChangePasswordSuccessMessage": "Contrasial cambiado correctamente",
|
||||
"userChangePasswordErrorMessage": "Erro ao cambiar o contrasinal"
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"userListAccessTypeOption1": "Regular user",
|
||||
"userListAccessTypeOption2": "Administrator",
|
||||
"userListUserIsMeBadge": "Me",
|
||||
"userListUserIsAdminBadge": "Admin",
|
||||
"userListUserIsInactiveBadge": "Inactive",
|
||||
"userListUserHasUnverifiedEmailBadge": "Unverified email",
|
||||
"modalApproveSignUpTitle": "Approve user sign up",
|
||||
"modalApproveSignUpBody": "Are you sure you want to approve user ",
|
||||
"processingApproval": "Processing approval...",
|
||||
"userApproveSuccessMessage": "User approved successfully.",
|
||||
"userApproveErrorMessage": "Error approving user",
|
||||
"modalRejectSignUpTitle": "Reject user sign up",
|
||||
"modalRejectSignUpBody1": "Are you sure you want to reject user ",
|
||||
"modalRejectSignUpBody2": "The user will be deleted, this cannot be undone.",
|
||||
"userEditErrorMessage": "Error editing user",
|
||||
"modalDeleteUserTitle": "Delete user",
|
||||
"modalDeleteUserBody": "Are you sure you want to delete user ",
|
||||
"userListUserSessionsTitle": "User sessions",
|
||||
"userSessionDeleteSuccessMessage": "Session deleted successfully",
|
||||
"userSessionDeleteErrorMessage": "Error deleting session"
|
||||
}
|
||||
"userListAccessTypeOption1": "Usuaria normal",
|
||||
"userListAccessTypeOption2": "Administradora",
|
||||
"userListUserIsMeBadge": "Eu",
|
||||
"userListUserIsAdminBadge": "Administradora",
|
||||
"userListUserIsInactiveBadge": "Inactiva",
|
||||
"userListUserHasUnverifiedEmailBadge": "Correo non verificado",
|
||||
"modalApproveSignUpTitle": "Aprobar conta da usuaria",
|
||||
"modalApproveSignUpBody": "Tes certeza de querer aprobar a conta da usuaria ",
|
||||
"processingApproval": "Procesando a aprobación…",
|
||||
"userApproveSuccessMessage": "Conta aprobada correctamente.",
|
||||
"userApproveErrorMessage": "Erro ao aprobar a conta",
|
||||
"modalRejectSignUpTitle": "Rexeitar a creación da conta",
|
||||
"modalRejectSignUpBody1": "Tes certeza de querer rexeitar a creación da conta ",
|
||||
"modalRejectSignUpBody2": "A conta vaise eliminar, non se pode desfacer esta acción.",
|
||||
"userEditErrorMessage": "Erro ao editar a usuaria",
|
||||
"modalDeleteUserTitle": "Eliminar usuaria",
|
||||
"modalDeleteUserBody": "Tes certeza de querer eliminar a usuaria ",
|
||||
"userListUserSessionsTitle": "Sesións abertas",
|
||||
"userSessionDeleteSuccessMessage": "Sesión eliminada correctamente",
|
||||
"userSessionDeleteErrorMessage": "Erro ao eliminar a sesión"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"passwordRequirementsTitle": "Password requirements includes:",
|
||||
"passwordCharacters": "- 8 characters;",
|
||||
"passwordCapitalLetters": "- 1 capital letter;",
|
||||
"passwordNumbers": "- 1 number;",
|
||||
"passwordSpecialCharacters": "- 1 special character;"
|
||||
"passwordRequirementsTitle": "Requerimentos para o contrasinal:",
|
||||
"passwordCharacters": "- 8 caracteres;",
|
||||
"passwordCapitalLetters": "- 1 letra maiúscula;",
|
||||
"passwordNumbers": "- 1 número;",
|
||||
"passwordSpecialCharacters": "- 1 caracter especial;"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"buttonAddUser": "Add user",
|
||||
"labelSearchUsersByUsername": "Search users by username",
|
||||
"labelNumberOfUsers1": "There is a total of ",
|
||||
"labelNumberOfUsers2": " user(s) (",
|
||||
"labelNumberOfUsers3": " loaded):",
|
||||
"successUserAdded": "User added successfully",
|
||||
"successUserDeleted": "User deleted successfully",
|
||||
"errorFetchingUsers": "Error fetching users"
|
||||
"buttonAddUser": "Engadir persoa usuaria",
|
||||
"labelSearchUsersByUsername": "Buscar usuarias polo identificador",
|
||||
"labelNumberOfUsers1": "Hai un total de ",
|
||||
"labelNumberOfUsers2": " usuaria(s) (",
|
||||
"labelNumberOfUsers3": " cargadas):",
|
||||
"successUserAdded": "Engadiuse a usuaria correctamente",
|
||||
"successUserDeleted": "Eliminouse a usuaria correctamente",
|
||||
"errorFetchingUsers": "Erro ao obter as usuarias"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"thisWeekDistancesTitle": "Week top 3",
|
||||
"thisMonthDistancesTitle": "Month top 3"
|
||||
"thisWeekDistancesTitle": "Top 3 semanal",
|
||||
"thisMonthDistancesTitle": "Top 3 mensual"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"title": "Goals",
|
||||
"activityTypeRun": "Run",
|
||||
"activityTypeBike": "Bike",
|
||||
"activityTypeSwim": "Swim",
|
||||
"activityTypeWalk": "Walk",
|
||||
"activityTypeStrength": "Strength",
|
||||
"intervalOption1": "Daily",
|
||||
"intervalOption2": "Weekly",
|
||||
"intervalOption3": "Monthly",
|
||||
"intervalOption4": "Yearly",
|
||||
"activities": "activities"
|
||||
"title": "Obxectivos",
|
||||
"activityTypeRun": "Correr",
|
||||
"activityTypeBike": "Ciclismo",
|
||||
"activityTypeSwim": "Natación",
|
||||
"activityTypeWalk": "Camiñar",
|
||||
"activityTypeStrength": "Forza",
|
||||
"intervalOption1": "Diario",
|
||||
"intervalOption2": "Semanal",
|
||||
"intervalOption3": "Mensual",
|
||||
"intervalOption4": "Anual",
|
||||
"activities": "actividades"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"title1": "Handling verify email",
|
||||
"title2": "Please wait while your email is being verified. Do not refresh this page.",
|
||||
"emailVerified": "Email verified successfully!",
|
||||
"tokenNotFound": "Token not found",
|
||||
"tokenExpired": "Token expired",
|
||||
"verificationFailed": "Email verification failed"
|
||||
"title1": "Xestión da verificación do correo",
|
||||
"title2": "Agarda mentras se verifica o teu correo. Non actualices esta páxina.",
|
||||
"emailVerified": "Enderezo de correo verficado!",
|
||||
"tokenNotFound": "Non se atopa o token",
|
||||
"tokenExpired": "Token caducado",
|
||||
"verificationFailed": "Fallou a verificación do correo"
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
"subtitle": "Accede abaixo",
|
||||
"username": "Indentificador",
|
||||
"password": "Contrasinal",
|
||||
"mfaCode": "Código MFA",
|
||||
"mfaRequired": "Requírese a Autenticación con Múltiple Factor. Escribe o código de 6 díxitos.",
|
||||
"verifyMFAButton": "Verificar MFA",
|
||||
"invalidMFACode": "Código MFA non válido. Inténtao outra vez.",
|
||||
"mfaCode": "Código AMF",
|
||||
"mfaRequired": "Requírese a Autenticación Multi-Factor. Escribe o código de 6 díxitos.",
|
||||
"verifyMFAButton": "Verificar AMF",
|
||||
"invalidMFACode": "Código AMF non válido. Inténtao outra vez.",
|
||||
"neverExpires": "Lémbrame (non marques isto se estás nunha computadora compartida)",
|
||||
"signInButton": "Acceder",
|
||||
"signUpText": "Queres crear unha conta?",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"title": "Reset Password",
|
||||
"newPasswordLabel": "New Password",
|
||||
"confirmPasswordLabel": "Confirm New Password",
|
||||
"submitButton": "Reset Password",
|
||||
"backToLogin": "Back to Login",
|
||||
"passwordComplexityError": "Password must be at least 8 characters long, include an uppercase letter, a number, and a special character",
|
||||
"passwordMismatchError": "Passwords do not match",
|
||||
"resetError": "Failed to reset password",
|
||||
"invalidOrExpiredToken": "Invalid or expired password reset token"
|
||||
"title": "Restablecer contrasinal",
|
||||
"newPasswordLabel": "Novo contrasinal",
|
||||
"confirmPasswordLabel": "Confirmar novo contrasinal",
|
||||
"submitButton": "Restablecer contrasinal",
|
||||
"backToLogin": "Volver a Inciar Sesión",
|
||||
"passwordComplexityError": "O contrasinal ten que ter 8 caracteres polo menos, ter algunha maiúscula, número e caracter especial",
|
||||
"passwordMismatchError": "Os contrasinais non coinciden",
|
||||
"resetError": "Non se restableceu o contrasinal",
|
||||
"invalidOrExpiredToken": "O token de restablecemento caducou ou non é válido"
|
||||
}
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"searchSelectLabel": "Search",
|
||||
"searchSelectOptionActivity": "Activity",
|
||||
"searchSelectOptionUser": "User",
|
||||
"searchSelectOptionGear": "Gear",
|
||||
"searchSelectActivityType0": "All",
|
||||
"searchSelectActivityType1": "Run",
|
||||
"searchSelectActivityType2": "Ride",
|
||||
"searchSelectActivityType3": "Swim",
|
||||
"searchSelectActivityType4": "Workout",
|
||||
"searchSelectActivityType5": "Walk",
|
||||
"searchSelectActivityType6": "Hike",
|
||||
"searchSelectActivityType7": "Row",
|
||||
"searchSelectActivityType8": "Yoga",
|
||||
"searchSelectActivityType9": "Ski",
|
||||
"searchSelectLabel": "Buscar",
|
||||
"searchSelectOptionActivity": "Actividade",
|
||||
"searchSelectOptionUser": "Usuaria",
|
||||
"searchSelectOptionGear": "Equipamento",
|
||||
"searchSelectActivityType0": "Todo",
|
||||
"searchSelectActivityType1": "Correr",
|
||||
"searchSelectActivityType2": "Ciclismo",
|
||||
"searchSelectActivityType3": "Natación",
|
||||
"searchSelectActivityType4": "Adestramento",
|
||||
"searchSelectActivityType5": "Camiñada",
|
||||
"searchSelectActivityType6": "Sendeirismo",
|
||||
"searchSelectActivityType7": "Remo",
|
||||
"searchSelectActivityType8": "Ioga",
|
||||
"searchSelectActivityType9": "Esquí",
|
||||
"searchSelectActivityType10": "Snowboard",
|
||||
"searchSelectActivityType11": "Racquet sports",
|
||||
"searchSelectActivityType11": "Deportes de raqueta",
|
||||
"searchSelectActivityType12": "Windsurf",
|
||||
"searchSelectActivityType13": "Stand up paddling",
|
||||
"searchSelectActivityType13": "Padexar de pé",
|
||||
"searchSelectActivityType14": "Surf",
|
||||
"searchSelectActivityType15": "Ice skate",
|
||||
"searchSelectActivityType16": "Soccer",
|
||||
"searchSelectGearType0": "All",
|
||||
"searchSelectGearType1": "Bike",
|
||||
"searchSelectGearType2": "Shoes",
|
||||
"searchSelectGearType3": "Wetsuit",
|
||||
"searchSelectGearType4": "Racquet",
|
||||
"searchSelectGearType5": "Skis",
|
||||
"searchSelectActivityType15": "Patinaxe sobre xeo",
|
||||
"searchSelectActivityType16": "Fútbol",
|
||||
"searchSelectGearType0": "Todo",
|
||||
"searchSelectGearType1": "Bicicleta",
|
||||
"searchSelectGearType2": "Zapatillas",
|
||||
"searchSelectGearType3": "Neopreno",
|
||||
"searchSelectGearType4": "Raqueta",
|
||||
"searchSelectGearType5": "Esquís",
|
||||
"searchSelectGearType6": "Snowboard",
|
||||
"searchSelectGearType7": "Windsurf",
|
||||
"searchSelectGearType8": "Water sports board",
|
||||
"resultIsInactiveBadge": "Inactive",
|
||||
"searchInputPlaceholder": "Search text",
|
||||
"searchSelectGearType8": "Táboa deportes na auga",
|
||||
"resultIsInactiveBadge": "Retirado",
|
||||
"searchInputPlaceholder": "Texto da busca",
|
||||
"errorFetchingUserWithUsernameContains": "Error fetching user with username contains logic",
|
||||
"errorFetchingActivityWithNameContains": "Error fetching activity with name contains logic",
|
||||
"errorFetchingGearWithNicknameContains": "Error fetching gear with nickname contains logic"
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
{
|
||||
"title": "Sign up",
|
||||
"subtitle": "Create your account below",
|
||||
"name": "Full name",
|
||||
"username": "Username",
|
||||
"email": "Email address",
|
||||
"password": "Password",
|
||||
"optionalFields": " Optional fields",
|
||||
"preferredLanguage": "Preferred language",
|
||||
"city": "City",
|
||||
"birthdate": "Birth date",
|
||||
"gender": "Gender",
|
||||
"units": "Units",
|
||||
"metric": "Metric",
|
||||
"title": "Crear conta",
|
||||
"subtitle": "Crea aquí a túa conta",
|
||||
"name": "Nome completo",
|
||||
"username": "Indentificador",
|
||||
"email": "Enderezo de correo electrónico",
|
||||
"password": "Contrasinal",
|
||||
"optionalFields": "Campos optativos",
|
||||
"preferredLanguage": "Idioma preferido",
|
||||
"city": "Cidade",
|
||||
"birthdate": "Data de aniversario",
|
||||
"gender": "Xénero",
|
||||
"units": "Unidades",
|
||||
"metric": "Métrico",
|
||||
"imperial": "Imperial",
|
||||
"height": "Height",
|
||||
"firstDayOfWeek": "First day of week",
|
||||
"currency": "Currency",
|
||||
"signUpButton": "Create account",
|
||||
"alreadyHaveAccount": "Already have an account? Sign in",
|
||||
"success": "Sign-up successful",
|
||||
"errorNameRequired": "Full name is required",
|
||||
"errorUsernameRequired": "Username is required",
|
||||
"errorEmailRequired": "Email address is required",
|
||||
"errorEmailInvalid": "Please enter a valid email address",
|
||||
"errorPasswordRequired": "Password is required",
|
||||
"errorPasswordTooShort": "Password must be at least 8 characters long",
|
||||
"errorUserExists": "A user with this email or username already exists",
|
||||
"errorSignupDisabled": "Sign-up is not enabled on this server",
|
||||
"errorValidation": "Please check your input and try again",
|
||||
"errorGeneral": "An error occurred during sign-up",
|
||||
"signupDisabled": "User sign-up is not enabled on this server"
|
||||
"height": "Altura",
|
||||
"firstDayOfWeek": "Primeiro día da semana",
|
||||
"currency": "Moeda",
|
||||
"signUpButton": "Crear conta",
|
||||
"alreadyHaveAccount": "Xa tes unha conta? Accede",
|
||||
"success": "Conta creada correctamente",
|
||||
"errorNameRequired": "Requírese o nome completo",
|
||||
"errorUsernameRequired": "Requírese un identificador",
|
||||
"errorEmailRequired": "Requírese un enderezo de correo",
|
||||
"errorEmailInvalid": "Escribe un enderezo de correo válido",
|
||||
"errorPasswordRequired": "Requírese contrasinal",
|
||||
"errorPasswordTooShort": "O contrasinal ten que ter polo menos 8 caracteres",
|
||||
"errorUserExists": "Xa existe unha conta con este correo ou identificador",
|
||||
"errorSignupDisabled": "Non se permiten novas contas neste servidor",
|
||||
"errorValidation": "Comproba o escrito e volve a intentalo",
|
||||
"errorGeneral": "Houbo un erro ao crear a conta",
|
||||
"signupDisabled": "Está desactivada a creación de novas contas"
|
||||
}
|
||||
|
||||
@@ -1,44 +1,44 @@
|
||||
{
|
||||
"title": "Activity summary",
|
||||
"filterLabelActivityType": "Type",
|
||||
"filterOptionAllTypes": "All types",
|
||||
"labelViewType": "View by",
|
||||
"optionDaily": "Daily",
|
||||
"optionWeekly": "Weekly",
|
||||
"optionMonthly": "Monthly",
|
||||
"optionYearly": "Yearly",
|
||||
"optionLifetime": "Lifetime",
|
||||
"labelSelectWeek": "Week",
|
||||
"labelSelectMonth": "Month",
|
||||
"labelSelectYear": "Year",
|
||||
"labelSelectPeriod": "Period",
|
||||
"buttonPreviousPeriod": "Previous",
|
||||
"buttonNextPeriod": "Next",
|
||||
"headerSummaryFor": "Summary for {period}",
|
||||
"headerBreakdown": "Breakdown",
|
||||
"headerActivitiesInPeriod": "Activities in period",
|
||||
"errorLoadingActivityTypes": "Error loading activity types",
|
||||
"errorLoadingSummary": "Error loading summary",
|
||||
"errorLoadingSummaryLoad": "Error loading summary on page load",
|
||||
"errorFetchingActivities": "Error fetching activities",
|
||||
"noDataForPeriod": "No data for this period.",
|
||||
"colDay": "Day",
|
||||
"colWeekNum": "Week #",
|
||||
"colMonth": "Month",
|
||||
"colDistance": "Distance",
|
||||
"colDuration": "Duration",
|
||||
"colElevation": "Elevation",
|
||||
"colCalories": "Calories",
|
||||
"colActivities": "Activities",
|
||||
"metricTotalDistance": "Total distance",
|
||||
"metricTotalDuration": "Total duration",
|
||||
"metricTotalElevation": "Total elevation",
|
||||
"metricTotalCalories": "Total calories",
|
||||
"metricTotalActivities": "Total activities",
|
||||
"invalidYearSelected": "Invalid year selected",
|
||||
"headerTypeBreakdown": "Breakdown by type",
|
||||
"colActivityType": "Type",
|
||||
"headerYear": "Year {year}",
|
||||
"headerWeekStarting": "Week of {date}",
|
||||
"colYear": "Year"
|
||||
"title": "Resumo da actividade",
|
||||
"filterLabelActivityType": "Tipo",
|
||||
"filterOptionAllTypes": "Todos os tipos",
|
||||
"labelViewType": "Ver por",
|
||||
"optionDaily": "Diario",
|
||||
"optionWeekly": "Semanal",
|
||||
"optionMonthly": "Mensual",
|
||||
"optionYearly": "Anual",
|
||||
"optionLifetime": "Desde inicio",
|
||||
"labelSelectWeek": "Semana",
|
||||
"labelSelectMonth": "Mes",
|
||||
"labelSelectYear": "Ano",
|
||||
"labelSelectPeriod": "Período",
|
||||
"buttonPreviousPeriod": "Anterior",
|
||||
"buttonNextPeriod": "Seguinte",
|
||||
"headerSummaryFor": "Resumo de {period}",
|
||||
"headerBreakdown": "En períodos",
|
||||
"headerActivitiesInPeriod": "Actividades no período",
|
||||
"errorLoadingActivityTypes": "Erro ao cargar os tipos de actividade",
|
||||
"errorLoadingSummary": "Erro ao cargar o resumo",
|
||||
"errorLoadingSummaryLoad": "Erro na carga da páxina ao cargar o resumo",
|
||||
"errorFetchingActivities": "Erro ao obter as actividades",
|
||||
"noDataForPeriod": "Sen datos para o período.",
|
||||
"colDay": "Día",
|
||||
"colWeekNum": "Semana #",
|
||||
"colMonth": "Mes",
|
||||
"colDistance": "Distancia",
|
||||
"colDuration": "Duración",
|
||||
"colElevation": "Elevación",
|
||||
"colCalories": "Calorías",
|
||||
"colActivities": "Actividades",
|
||||
"metricTotalDistance": "Distancia total",
|
||||
"metricTotalDuration": "Duración total",
|
||||
"metricTotalElevation": "Desnivel total",
|
||||
"metricTotalCalories": "Calorías totais",
|
||||
"metricTotalActivities": "Total de actividades",
|
||||
"invalidYearSelected": "Ano seleccionado non válido",
|
||||
"headerTypeBreakdown": "Separar por tipo",
|
||||
"colActivityType": "Tipo",
|
||||
"headerYear": "Ano {year}",
|
||||
"headerWeekStarting": "Semana do {date}",
|
||||
"colYear": "Ano"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Importação em massa",
|
||||
"bulkImportIntegrationBody": "Importação em massa de ficheiros (guardados na diretoria data/activity_files/bulk_import)",
|
||||
"buttonBulkImport": "Importar atividades",
|
||||
"loadingMessageBulkImport": "A importar atividades de ficheiros...",
|
||||
"errorMessageUnableToImportActivities": "Ocorreu um erro ao importar as atividades",
|
||||
"stravaGearImportTitle": "Importar equipamento do Strava",
|
||||
"stravaGearImportBody": "Importar equipamento de um Strava takeout (guardados na diretoria data/activity_files/bulk_import)",
|
||||
"stravaGearImportbuttonBikes": "Importar bicicletas do Strava",
|
||||
"loadingMessageStravaBikesImport": "A importar bicicletas do Strava...",
|
||||
"successMessageStravaBikesImport": "Bicicletas importadas do Strava com sucesso",
|
||||
"errorMessageUnableToImportBikes": "Ocorreu um erro ao importar as bicicletas do Strava"
|
||||
"bulkImportIntegrationTitle": "Importação em massa",
|
||||
"bulkImportIntegrationBody": "Importação em massa de ficheiros (guardados na diretoria data/activity_files/bulk_import)",
|
||||
"buttonBulkImport": "Importar atividades",
|
||||
"loadingMessageBulkImport": "A importar atividades de ficheiros...",
|
||||
"errorMessageUnableToImportActivities": "Ocorreu um erro ao importar as atividades",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Importar equipamento do Strava",
|
||||
"stravaGearImportBody": "Importar equipamento de um Strava takeout (guardados na diretoria data/activity_files/bulk_import)",
|
||||
"stravaGearImportbuttonBikes": "Importar bicicletas do Strava",
|
||||
"loadingMessageStravaBikesImport": "A importar bicicletas do Strava...",
|
||||
"successMessageStravaBikesImport": "Bicicletas importadas do Strava com sucesso",
|
||||
"errorMessageUnableToImportBikes": "Ocorreu um erro ao importar as bicicletas do Strava",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
{
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes"
|
||||
"bulkImportIntegrationTitle": "Bulk import",
|
||||
"bulkImportIntegrationBody": "Bulk import activities from files (in the data/activity_files/bulk_import folder)",
|
||||
"buttonBulkImport": "Import activities",
|
||||
"loadingMessageBulkImport": "Importing activities from files...",
|
||||
"errorMessageUnableToImportActivities": "An error occurred while importing activities",
|
||||
"importTitle": "Import",
|
||||
"stravaGearImportTitle": "Strava gear import",
|
||||
"stravaGearImportBody": "Import gear from a Strava bulk export (in the data/activity_files/bulk_import folder)",
|
||||
"stravaGearImportbuttonBikes": "Import Strava bikes",
|
||||
"loadingMessageStravaBikesImport": "Importing Strava bikes from file...",
|
||||
"successMessageStravaBikesImport": "Strava bikes imported successfully",
|
||||
"errorMessageUnableToImportBikes": "An error occurred while importing Strava bikes",
|
||||
"stravaImportbuttonShoes": "Import Strava shoes",
|
||||
"loadingMessageStravaShoesImport": "Importing Strava shoes from file...",
|
||||
"successMessageStravaShoesImport": "Strava shoes imported successfully",
|
||||
"errorMessageUnableToImportShoes": "An error occurred while importing Strava shoes"
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"languageOption7": "Spanish (ES)",
|
||||
"languageOption8": "Chinese (Simplified)",
|
||||
"languageOption9": "Chinese (Traditional)",
|
||||
"languageOption10": "Galician (GL)",
|
||||
"firstDayOfWeekOption0": "Sunday",
|
||||
"firstDayOfWeekOption1": "Monday",
|
||||
"firstDayOfWeekOption2": "Tuesday",
|
||||
|
||||
Reference in New Issue
Block a user