Merge branch 'main' into minor_faces
This commit is contained in:
@@ -302,6 +302,10 @@
|
||||
"title": "Rockstar Games",
|
||||
"slug": "rockstar_games"
|
||||
},
|
||||
{
|
||||
"title": "RuneMate",
|
||||
"hex": "2ECC71"
|
||||
},
|
||||
{
|
||||
"title": "Rust Language Forum",
|
||||
"slug": "rust_language_forum",
|
||||
@@ -412,6 +416,14 @@
|
||||
"Яндекс"
|
||||
],
|
||||
"slug": "Yandex"
|
||||
},
|
||||
{
|
||||
"title": "YNAB",
|
||||
"altNames": [
|
||||
"You Need A Budget"
|
||||
],
|
||||
"slug": "ynab",
|
||||
"hex": "3B5EDA"
|
||||
}
|
||||
]
|
||||
}
|
||||
8
auth/assets/custom-icons/icons/runemate.svg
Normal file
8
auth/assets/custom-icons/icons/runemate.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg height="512pt" viewBox="0 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg" fill="#2ecc71">
|
||||
<symbol id="a" viewBox="0 0 1000 1000" style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision">
|
||||
<path d="M456.557 954.142c-51.209-5.834-105.636-23.11-164.89-52.34-77.345-38.153-130.132-84.108-171.904-149.652-13.757-21.586-34.244-56.915-41.287-71.198-26.53-53.794-41.318-128.813-39.427-200 3.104-116.883 48.87-223.866 132.312-309.3C245.728 95.508 343.98 48.75 449.405 39.326c16.075-1.437 42.857-1.633 42.857-.314 0 .84-9.912 36.005-15.619 55.41-2.335 7.94-2.459 8.099-5.794 7.366-5.02-1.103-38.597 1.5-54.588 4.23-78.184 13.352-148.872 53.08-205.858 115.696-44.404 48.79-73.222 96.544-90.72 150.33-9.247 28.422-13.436 51.91-15.467 86.718-4.603 78.927 3.852 137.972 26.617 185.88 11.44 24.075 41.212 74.137 53.452 89.88 12.95 16.658 45.5 53.571 47.225 53.557 1.003-.008 6.645-1.359 12.538-3.002 33.243-9.268 71.782-16.19 110.119-19.778 23.046-2.158 81.589-1.805 105.952.637 80.53 8.074 152.793 28.04 218.763 60.442 14.585 7.164 22.502 10.436 24.057 9.942 4.456-1.414 34.073-21.892 46.466-32.127 36.789-30.385 55.405-51.859 83.62-96.456 12.304-19.447 33.186-60.968 40.115-79.762 11.156-30.26 17.905-59.183 20.418-87.5 1.58-17.803.844-74.678-1.255-97.024-5.875-62.539-19.14-96.584-65.864-169.047-18.12-28.102-30.924-44.798-47.526-61.974-33.977-35.15-76.434-63.926-121.175-82.126-7.53-3.063-13.868-5.732-14.086-5.932-.217-.2 2.595-13.79 6.25-30.202 3.655-16.412 6.646-30.065 6.646-30.34 0-.699 20.397 5.54 29.894 9.143 48.79 18.51 94.215 50.387 138.598 97.264 28.447 30.046 56.905 68.452 77.93 105.172 23.918 41.775 43.482 101.062 51.717 156.733 12.077 81.642 3.119 156.375-27.337 228.05-26.303 61.906-59.852 113.54-102.193 157.284-24.676 25.493-52.838 48.34-76.347 61.935-5.239 3.03-14.647 8.58-20.908 12.333-39.579 23.728-89.618 43.541-136.83 54.177-30.244 6.813-50.423 9.032-86.31 9.49-23.602.3-37.675-.07-48.205-1.27z"/>
|
||||
<path d="M500.595 722.575c-49.27-3.036-105.94-12.2-150.595-24.354-49.438-13.455-103.365-35.123-141.369-56.803-12.536-7.15-12.797-7.387-12.786-11.562.006-2.343 1.876-23.814 4.155-47.713 2.28-23.899 4.15-44.297 4.155-45.328.01-1.554-3.775-2.292-22.044-4.298-12.131-1.332-22.383-2.75-22.782-3.148-.891-.891 9.648-113.624 10.723-114.698.423-.423 11.314.114 24.203 1.193 12.89 1.08 23.606 1.79 23.816 1.581.27-.27 14.667-126.689 14.667-128.792 0-.604 20.651-7.884 29.762-10.492 34.467-9.866 97.903-19.388 152.496-22.89l12.614-.81 1.922-15.477c1.056-8.512 2.076-15.622 2.266-15.799.19-.177 12.08.182 26.425.797 14.344.616 26.479.695 26.966.176.487-.52 15.317-42.194 32.956-92.61 31.657-90.487 32.112-91.672 35.394-92.059 4.302-.507 31.608 2.981 39.318 5.023 3.274.867 5.892 2.055 5.818 2.64-.073.584-8.608 42.17-18.966 92.413-10.358 50.243-18.592 91.591-18.298 91.886.294.294 13.353 2.995 29.019 6.003 15.666 3.007 28.707 5.69 28.979 5.963.272.272-.376 8.106-1.44 17.409-1.065 9.303-1.681 17.168-1.37 17.479.31.31 6.685 1.808 14.166 3.328 27.185 5.523 59.165 15.788 92.694 29.752 18.402 7.665 72.77 34.438 74.732 36.802.998 1.202-.2 17.922-4.742 66.131-3.342 35.487-5.827 64.772-5.52 65.079.306.306 10.781 1.422 23.278 2.48 19.132 1.62 22.722 2.221 22.722 3.81 0 3.471-10.586 114.581-10.95 114.934-.198.192-11.208-.558-24.467-1.666-16.147-1.35-24.13-1.608-24.176-.783-.038.678-2.583 22.36-5.656 48.182l-5.587 46.95-15.475 3.924c-48.273 12.242-94.678 20.005-144.642 24.197-20.767 1.742-81.67 2.427-102.38 1.15zm83.334-73.78c32.215-2.204 65.058-6.745 96.16-13.295 10.325-2.175 12.312-2.962 12.758-5.05.29-1.36 5.928-54.426 12.529-117.924 11.371-109.385 11.891-115.53 9.9-116.986-4.135-3.024-25.054-13.273-39.086-19.15-47.244-19.786-97.576-32.17-158.928-39.105-26.75-3.023-100.774-3.013-129.096.019-24.927 2.667-45.3 5.631-67.127 9.764l-16.763 3.175-.677 4.938c-2.761 20.122-25.65 226.992-25.376 229.34.296 2.531 2.763 4.19 16.42 11.041C351.133 623.9 427.686 643.701 500 648.678c20.699 1.425 63.937 1.485 83.929.117z"/>
|
||||
<path d="M441.221 506.496c-2.209-.959-9.779-7.098-16.821-13.644-7.043-6.545-13.208-11.9-13.7-11.9-.494 0-7.17 4.746-14.838 10.547-9.216 6.972-15.442 10.829-18.369 11.378-12.159 2.28-25.707-8.772-25.707-20.972 0-10.383 3.31-14.929 22.964-31.532 20.158-17.029 29.05-20.901 41.876-18.239 9.676 2.01 17.414 8.276 33.054 26.77 15.838 18.73 19.347 24.737 19.36 33.152.007 5.098-.483 6.196-4.344 9.734-6.791 6.223-15.813 8.032-23.475 4.706zm171.214 16.261c-2.91-1.89-9.834-8.05-15.385-13.69-5.55-5.642-10.54-10.257-11.088-10.257-.547 0-6.88 4.576-14.073 10.17-14.107 10.97-16.86 12.449-23.195 12.449-6.057 0-11.222-2.58-16.19-8.084-7.604-8.428-8.187-17.083-1.791-26.58 4.035-5.992 31.416-29.148 38.829-32.838 12.562-6.252 26.061-4.757 37.253 4.125 3.083 2.446 11.776 11.884 19.318 20.973 14.946 18.01 19.353 26.332 17.938 33.874-2.207 11.769-20.08 17.341-31.616 9.858z"/>
|
||||
</symbol>
|
||||
<use xlink:href="#a" xmlns:xlink="http://www.w3.org/1999/xlink"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
20
auth/assets/custom-icons/icons/ynab.svg
Normal file
20
auth/assets/custom-icons/icons/ynab.svg
Normal file
@@ -0,0 +1,20 @@
|
||||
<svg width="576" height="569" viewBox="0 0 576 569" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M464.493 260.334H359.255C357.022 260.334 354.236 261.878 353.078 263.765L290.011 366.435C288.854 368.323 286.969 368.313 285.812 366.435L223.411 263.786C222.264 261.898 219.488 260.344 217.255 260.344H111.526C109.293 260.344 108.473 261.838 109.723 263.675L234.392 446.992C235.641 448.819 236.655 452.129 236.655 454.33V564.377C236.655 566.577 238.489 568.383 240.722 568.383H335.255C337.488 568.383 339.322 566.577 339.322 564.377V454.33C339.322 452.129 340.346 448.819 341.586 446.992L466.285 263.675C467.535 261.848 466.715 260.344 464.482 260.344L464.493 260.334Z" fill="#3B5EDA"/>
|
||||
<path d="M280.775 101.732C283.521 103.236 286.184 104.457 287.587 104.457C288.99 104.457 291.347 103.62 294.379 101.732C353.983 64.118 304.386 17.9556 287.587 0.566406C270.778 17.9556 221.181 64.118 280.775 101.732Z" fill="#3B5EDA"/>
|
||||
<path d="M218.089 238.947C221.48 238.675 224.624 238.201 225.884 237.363C227.154 236.525 228.763 234.386 230.34 230.884C261.09 161.69 188.241 149.479 162.49 143.756C157.952 169.381 141.44 240.35 218.089 238.937V238.947Z" fill="#3B5EDA"/>
|
||||
<path d="M120.44 223.836C123.308 222.029 125.858 220.172 126.585 218.85C127.313 217.528 127.722 214.884 127.456 211.069C121.812 135.739 51.6162 158.488 26.1416 165.3C34.2951 190.037 53.3678 260.39 120.44 223.836V223.836Z" fill="#3B5EDA"/>
|
||||
<path d="M132.607 350.144C133.826 347.016 134.747 344.018 134.532 342.535C134.317 341.041 133.047 338.69 130.538 335.773C80.5514 278.509 37.8274 337.912 21.4487 358.309C42.9285 373.428 100.71 418.823 132.596 350.144H132.607Z" fill="#3B5EDA"/>
|
||||
<path d="M287.578 120.822C274.426 135.446 235.615 174.241 282.242 205.86C284.393 207.122 286.472 208.151 287.578 208.151C288.684 208.151 290.518 207.445 292.895 205.86C339.532 174.241 300.73 135.436 287.578 120.822Z" fill="#3B5EDA"/>
|
||||
<path d="M159.196 382.333C158.448 381.818 156.861 381.445 154.495 381.425C107.786 381.233 115.561 425.518 117.487 441.525C133.384 437.71 178.218 429.404 161.706 386.36C160.846 384.513 159.934 382.848 159.186 382.333H159.196Z" fill="#3B5EDA"/>
|
||||
<path d="M282.242 306.502C284.393 307.763 286.472 308.793 287.578 308.793C288.684 308.793 290.518 308.086 292.894 306.502C339.531 274.882 300.73 236.077 287.578 221.463C274.426 236.087 235.615 274.882 282.242 306.502Z" fill="#3B5EDA"/>
|
||||
<path d="M85.4788 282.937C86.9436 280.939 88.1727 278.991 88.2751 277.911C88.3776 276.831 87.8244 274.964 86.4416 272.492C58.6623 223.887 15.9587 258.494 0 270.09C13.6028 284.31 49.3517 325.87 85.4893 282.937H85.4788Z" fill="#3B5EDA"/>
|
||||
<path d="M133.537 149.101C136.036 148.93 138.341 148.607 139.242 147.981C140.143 147.355 141.25 145.751 142.284 143.116C162.279 90.9288 107.939 80.8768 88.6822 76.2646C86.3468 95.6621 76.9434 149.353 133.547 149.101H133.537Z" fill="#3B5EDA"/>
|
||||
<path d="M210.076 132.318C212.831 132.792 215.433 133.054 216.591 132.621C217.748 132.187 219.387 130.733 221.23 128.14C257.286 76.719 200.949 51.3166 181.262 41.1737C173.395 61.6511 148.453 117.522 210.076 132.318V132.318Z" fill="#3B5EDA"/>
|
||||
<path d="M349.542 237.37C350.812 238.207 353.946 238.672 357.337 238.954C433.976 240.367 417.464 169.398 412.937 143.773C387.185 149.486 314.336 161.707 345.086 230.901C346.664 234.393 348.272 236.542 349.542 237.38V237.37Z" fill="#3B5EDA"/>
|
||||
<path d="M448 211.065C447.734 214.879 448.143 217.524 448.871 218.846C449.598 220.168 452.148 222.035 455.016 223.832C522.098 260.376 541.171 190.032 549.314 165.296C523.839 158.494 453.644 135.735 448 211.065V211.065Z" fill="#3B5EDA"/>
|
||||
<path d="M444.868 335.773C442.359 338.69 441.089 341.051 440.874 342.535C440.659 344.018 441.59 347.016 442.809 350.144C474.696 418.823 532.478 373.428 553.957 358.309C537.579 337.912 494.865 278.509 444.868 335.773V335.773Z" fill="#3B5EDA"/>
|
||||
<path d="M420.923 381.408C418.557 381.428 416.969 381.811 416.222 382.316C415.474 382.821 414.562 384.486 413.702 386.343C397.2 429.387 442.024 437.693 457.921 441.508C459.847 425.511 467.621 381.216 420.913 381.408H420.923Z" fill="#3B5EDA"/>
|
||||
<path d="M488.991 272.502C487.598 274.974 487.055 276.841 487.158 277.921C487.26 279.001 488.479 280.949 489.954 282.947C526.092 325.87 561.84 284.32 575.443 270.099C559.484 258.513 516.781 223.907 489.002 272.502H488.991Z" fill="#3B5EDA"/>
|
||||
<path d="M436.185 147.981C437.086 148.596 439.391 148.919 441.89 149.101C498.493 149.353 489.091 95.6621 486.755 76.2646C467.498 80.8768 413.148 90.9389 433.153 143.116C434.177 145.751 435.283 147.365 436.195 147.981H436.185Z" fill="#3B5EDA"/>
|
||||
<path d="M358.842 132.621C359.999 133.054 362.591 132.792 365.357 132.318C426.979 117.522 402.037 61.6411 394.171 41.1737C374.494 51.3166 318.156 76.719 354.202 128.14C356.046 130.733 357.684 132.187 358.842 132.621V132.621Z" fill="#3B5EDA"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Émetteur",
|
||||
"codeSecretKeyHint": "Clé secrète",
|
||||
"codeAccountHint": "Compte (vous@exemple.com)",
|
||||
"codeTagHint": "Tag",
|
||||
"accountKeyType": "Type de clé",
|
||||
"sessionExpired": "Session expirée",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -77,12 +79,14 @@
|
||||
"data": "Données",
|
||||
"importCodes": "Importer les codes",
|
||||
"importTypePlainText": "Texte brut",
|
||||
"importTypeEnteEncrypted": "Export chiffré Ente",
|
||||
"passwordForDecryptingExport": "Mot de passe pour déchiffrer l'exportation",
|
||||
"passwordEmptyError": "Le mot de passe ne peut pas être vide",
|
||||
"importFromApp": "Importer des codes depuis {appName}",
|
||||
"importGoogleAuthGuide": "Exportez vos comptes depuis Google Authenticator vers un code QR en utilisant l'option \"Transférer des comptes\". Ensuite, en utilisant un autre appareil, scannez le code QR.\n\nAstuce : Vous pouvez utiliser la webcam de votre ordinateur portable pour prendre une photo du code QR.",
|
||||
"importSelectJsonFile": "Sélectionnez un fichier JSON",
|
||||
"importSelectAppExport": "Sélectionnez le fichier d'exportation {appName}",
|
||||
"importEnteEncGuide": "Sélectionnez le fichier chiffré JSON exporté depuis Ente",
|
||||
"importRaivoGuide": "Utilisez l'option \"Exporter les OTPs vers l'archive Zip\" dans les paramètres de Raivo.\n\nExtrayez le fichier zip et importez le fichier JSON.",
|
||||
"importBitwardenGuide": "Utilisez l'option « Exporter le coffre » dans les outils Bitwarden et importez le fichier JSON non chiffré.",
|
||||
"importAegisGuide": "Utilisez l'option \"Exporter le coffre-fort\" dans les paramètres d'Aegis.\n\nSi votre coffre-fort est crypté, vous devrez saisir le mot de passe du coffre-fort pour déchiffrer le coffre-fort.",
|
||||
@@ -112,18 +116,22 @@
|
||||
"copied": "Copié",
|
||||
"pleaseTryAgain": "Veuillez réessayer",
|
||||
"existingUser": "Utilisateur existant",
|
||||
"newUser": "Nouveau dans Ente",
|
||||
"delete": "Supprimer",
|
||||
"enterYourPasswordHint": "Saisir votre mot de passe",
|
||||
"forgotPassword": "Mot de passe oublié",
|
||||
"oops": "Oups",
|
||||
"suggestFeatures": "Suggérer des fonctionnalités",
|
||||
"faq": "FAQ",
|
||||
"faq_q_1": "Quelle est la sécurité de Auth?",
|
||||
"faq_a_1": "Tous les codes que vous sauvegardez via ente sont chiffrés de bout en bout. Cela signifie que vous seul pouvez accéder à vos codes. Nos applications sont open source et notre cryptographie ont fait l'objet d'un audit externe.",
|
||||
"faq_q_2": "Puis-je accéder à mes codes sur mon ordinateur ?",
|
||||
"faq_a_2": "Vous pouvez accéder à vos codes sur le web via auth.ente.io.",
|
||||
"faq_q_3": "Comment puis-je supprimer des codes ?",
|
||||
"faq_a_3": "Vous pouvez supprimer un code en glissant vers la gauche.",
|
||||
"faq_q_4": "Comment puis-je soutenir le projet ?",
|
||||
"faq_a_4": "Vous pouvez soutenir le développement de ce projet en vous abonnant à notre application Photos, ente.io.",
|
||||
"faq_q_5": "Comment puis-je activer le verrouillage FaceID dans Auth",
|
||||
"faq_a_5": "Vous pouvez activer le verrouillage FaceID dans Paramètres → Sécurité → Écran de verrouillage.",
|
||||
"somethingWentWrongMessage": "Quelque chose s'est mal passé, veuillez recommencer",
|
||||
"leaveFamily": "Quitter le plan familial",
|
||||
@@ -150,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "QR code non valide",
|
||||
"noRecoveryKeyTitle": "Pas de clé de récupération ?",
|
||||
"enterEmailHint": "Entrez votre adresse e-mail",
|
||||
"invalidEmailTitle": "Adresse e-mail invalide",
|
||||
@@ -343,6 +352,7 @@
|
||||
"deleteCodeAuthMessage": "Authentification requise pour supprimer le code",
|
||||
"showQRAuthMessage": "Authentification requise pour afficher le code QR",
|
||||
"confirmAccountDeleteTitle": "Confirmer la suppression du compte",
|
||||
"confirmAccountDeleteMessage": "Ce compte est lié à d'autres applications ente, si vous en utilisez une.\n\nVos données téléchargées, dans toutes les applications ente, seront planifiées pour suppression, et votre compte sera définitivement supprimé.",
|
||||
"androidBiometricHint": "Vérifier l’identité",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -413,5 +423,18 @@
|
||||
"invalidEndpoint": "Point de terminaison non valide",
|
||||
"invalidEndpointMessage": "Désolé, le point de terminaison que vous avez entré n'est pas valide. Veuillez en entrer un valide puis réessayez.",
|
||||
"endpointUpdatedMessage": "Point de terminaison mis à jour avec succès",
|
||||
"customEndpoint": "Connecté à {endpoint}"
|
||||
"customEndpoint": "Connecté à {endpoint}",
|
||||
"pinText": "Épingler",
|
||||
"unpinText": "Désépingler",
|
||||
"pinnedCodeMessage": "{code} a été épinglé",
|
||||
"unpinnedCodeMessage": "{code} a été désépinglé",
|
||||
"tags": "Tags",
|
||||
"createNewTag": "Créer un nouveau tag",
|
||||
"tag": "Tag",
|
||||
"create": "Créer",
|
||||
"editTag": "Modifier le tag",
|
||||
"deleteTagTitle": "Supprimer le tag ?",
|
||||
"deleteTagMessage": "Êtes-vous sûr de vouloir supprimer ce tag ? Cette action est irréversible.",
|
||||
"somethingWentWrongParsingCode": "Impossible d'analyser les codes {x}.",
|
||||
"updateNotAvailable": "Mise à jour non disponible"
|
||||
}
|
||||
@@ -31,7 +31,7 @@
|
||||
"timeBasedKeyType": "Baseado no horário (TOTP)",
|
||||
"counterBasedKeyType": "Baseado em um contador (HOTP)",
|
||||
"saveAction": "Salvar",
|
||||
"nextTotpTitle": "próximo",
|
||||
"nextTotpTitle": "avançar",
|
||||
"deleteCodeTitle": "Excluir código?",
|
||||
"deleteCodeMessage": "Tem certeza de que deseja excluir este código? Esta ação é irreversível.",
|
||||
"viewLogsAction": "Ver logs",
|
||||
@@ -105,7 +105,7 @@
|
||||
"authToChangeYourPassword": "Por favor, autentique-se para alterar sua senha",
|
||||
"authToViewSecrets": "Por favor, autentique-se para ver as suas chaves secretas",
|
||||
"authToInitiateSignIn": "Por favor, autentique-se para iniciar o login para um backup.",
|
||||
"ok": "Ok",
|
||||
"ok": "OK",
|
||||
"cancel": "Cancelar",
|
||||
"yes": "Sim",
|
||||
"no": "Não",
|
||||
@@ -120,7 +120,7 @@
|
||||
"delete": "Excluir",
|
||||
"enterYourPasswordHint": "Insira sua senha",
|
||||
"forgotPassword": "Esqueci a senha",
|
||||
"oops": "Oops",
|
||||
"oops": "Opa",
|
||||
"suggestFeatures": "Sugerir funcionalidades",
|
||||
"faq": "Perguntas frequentes",
|
||||
"faq_q_1": "Quão seguro é o Auth?",
|
||||
@@ -239,8 +239,8 @@
|
||||
"howItWorks": "Como funciona",
|
||||
"ackPasswordLostWarning": "Eu entendo que se eu perder minha senha, posso perder meus dados, já que meus dados são <underline>criptografados de ponta a ponta</underline>.",
|
||||
"loginTerms": "Ao clicar em login, eu concordo com os <u-terms>termos de serviço</u-terms> e a <u-policy>política de privacidade</u-policy>",
|
||||
"logInLabel": "Login",
|
||||
"logout": "Encerrar sessão",
|
||||
"logInLabel": "Entrar",
|
||||
"logout": "Sair",
|
||||
"areYouSureYouWantToLogout": "Você tem certeza que deseja encerrar a sessão?",
|
||||
"yesLogout": "Sim, encerrar sessão",
|
||||
"exit": "Sair",
|
||||
@@ -282,7 +282,7 @@
|
||||
"description": "Text for the button to confirm the user understands the warning"
|
||||
},
|
||||
"authToExportCodes": "Por favor, autentique-se para exportar seus códigos",
|
||||
"importSuccessTitle": "Yay!",
|
||||
"importSuccessTitle": "Oba!",
|
||||
"importSuccessDesc": "Você importou {count} códigos!",
|
||||
"@importSuccessDesc": {
|
||||
"placeholders": {
|
||||
@@ -401,7 +401,7 @@
|
||||
"@iOSGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSOkButton": "Ok",
|
||||
"iOSOkButton": "OK",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
@@ -425,7 +425,9 @@
|
||||
"endpointUpdatedMessage": "Endpoint atualizado com sucesso",
|
||||
"customEndpoint": "Conectado a {endpoint}",
|
||||
"pinText": "Fixar",
|
||||
"unpinText": "Desafixar",
|
||||
"pinnedCodeMessage": "{code} foi fixado",
|
||||
"unpinnedCodeMessage": "{code} foi desafixado",
|
||||
"tags": "Etiquetas",
|
||||
"createNewTag": "Criar etiqueta",
|
||||
"tag": "Etiqueta",
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Эмитент",
|
||||
"codeSecretKeyHint": "Секретный ключ",
|
||||
"codeAccountHint": "Аккаунт (you@domain.com)",
|
||||
"codeTagHint": "Метка",
|
||||
"accountKeyType": "Тип ключа",
|
||||
"sessionExpired": "Сеанс истек",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -77,16 +79,19 @@
|
||||
"data": "Данные",
|
||||
"importCodes": "Импортировать коды",
|
||||
"importTypePlainText": "Обычный текст",
|
||||
"importTypeEnteEncrypted": "Ente Зашифрованный экспорт",
|
||||
"passwordForDecryptingExport": "Пароль для расшифровки экспорта",
|
||||
"passwordEmptyError": "Пароль не может быть пустым",
|
||||
"importFromApp": "Импорт кодов из {appName}",
|
||||
"importGoogleAuthGuide": "Экспортируйте учетные записи из Google Authenticator в QR-код, используя опцию «Перенести учетные записи». Затем с помощью другого устройства отсканируйте QR-код.\n\nСовет: Чтобы сфотографировать QR-код, можно воспользоваться веб-камерой ноутбука.",
|
||||
"importSelectJsonFile": "Выбрать JSON-файл",
|
||||
"importSelectAppExport": "Выбрать файл экспорта {appName}",
|
||||
"importEnteEncGuide": "Выберите зашифрованный JSON файл, экспортированный из Ente",
|
||||
"importRaivoGuide": "Используйте опцию «Export OTPs to Zip archive» в настройках Raivo.\n\nРаспакуйте zip-архив и импортируйте JSON-файл.",
|
||||
"importBitwardenGuide": "Используйте опцию \"Экспортировать хранилище\" в Bitwarden Tools и импортируйте незашифрованный JSON файл.",
|
||||
"importAegisGuide": "Используйте опцию «Экспортировать хранилище» в настройках Aegis.\n\nЕсли ваше хранилище зашифровано, то для его расшифровки потребуется ввести пароль хранилища.",
|
||||
"import2FasGuide": "Используйте опцию \"Settings->Backup -Export\" в 2FAS.\n\nЕсли ваша резервная копия зашифрована, то для расшифровки резервной копии необходимо ввести пароль",
|
||||
"importLastpassGuide": "Используйте опцию \"Перенести аккаунты\" в настройках Lastpass Authenticator и нажмите на \"Экспортировать учетные записи в файл\". Импортируйте загружённый JSON файл.",
|
||||
"exportCodes": "Экспортировать коды",
|
||||
"importLabel": "Импорт",
|
||||
"importInstruction": "Пожалуйста, выберите файл, содержащий список ваших кодов в следующем формате",
|
||||
@@ -99,6 +104,7 @@
|
||||
"authToChangeYourEmail": "Пожалуйста, авторизуйтесь, чтобы изменить адрес электронной почты",
|
||||
"authToChangeYourPassword": "Пожалуйста, авторизуйтесь, чтобы изменить пароль",
|
||||
"authToViewSecrets": "Пожалуйста, авторизуйтесь для просмотра ваших секретов",
|
||||
"authToInitiateSignIn": "Пожалуйста, авторизуйтесь, чтобы начать вход для резервного копирования.",
|
||||
"ok": "Ок",
|
||||
"cancel": "Отменить",
|
||||
"yes": "Да",
|
||||
@@ -110,18 +116,22 @@
|
||||
"copied": "Скопировано",
|
||||
"pleaseTryAgain": "Пожалуйста, попробуйте ещё раз",
|
||||
"existingUser": "Существующий пользователь",
|
||||
"newUser": "Впервые здесь, в Ente",
|
||||
"delete": "Удалить",
|
||||
"enterYourPasswordHint": "Введите пароль",
|
||||
"forgotPassword": "Забыл пароль",
|
||||
"oops": "Ой",
|
||||
"suggestFeatures": "Предложить идеи",
|
||||
"faq": "FAQ",
|
||||
"faq_q_1": "Насколько безопасен Auth?",
|
||||
"faq_a_1": "Все коды, которые вы резервируете с помощью Auth, хранятся в зашифрованном виде. Это означает, что только вы можете получить доступ к своим кодам. Наши приложения имеют открытый исходный код, а наша криптография прошла внешний аудит.",
|
||||
"faq_q_2": "Могу ли я получить доступ к моим кодам на компьютере?",
|
||||
"faq_a_2": "Вы можете получить доступ к своим кодам на сайте @ auth.ente.io.",
|
||||
"faq_q_3": "Как я могу удалить коды?",
|
||||
"faq_a_3": "Вы можете удалить код, проведя пальцем влево по этому элементу.",
|
||||
"faq_q_4": "Как я могу поддержать этот проект?",
|
||||
"faq_a_4": "Вы можете поддержать развитие этого проекта, подписавшись на наше приложение Photos @ ente.io.",
|
||||
"faq_q_5": "Как мне включить FaceID в Auth",
|
||||
"faq_a_5": "Вы можете включить блокировку FaceID в Настройки → Безопасность → Экран блокировки.",
|
||||
"somethingWentWrongMessage": "Что-то пошло не так. Попробуйте еще раз",
|
||||
"leaveFamily": "Покинуть семью",
|
||||
@@ -135,6 +145,8 @@
|
||||
"enterCodeHint": "Введите 6-значный код из\nвашего приложения-аутентификатора",
|
||||
"lostDeviceTitle": "Потеряно устройство?",
|
||||
"twoFactorAuthTitle": "Двухфакторная аутентификация",
|
||||
"passkeyAuthTitle": "Проверка с помощью пароля",
|
||||
"verifyPasskey": "Подтвердить пароль",
|
||||
"recoverAccount": "Восстановить аккаунт",
|
||||
"enterRecoveryKeyHint": "Введите свой ключ восстановления",
|
||||
"recover": "Восстановить",
|
||||
@@ -146,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Неверный QR-код",
|
||||
"noRecoveryKeyTitle": "Нет ключа восстановления?",
|
||||
"enterEmailHint": "Введите свою почту",
|
||||
"invalidEmailTitle": "Неверный адрес электронной почты",
|
||||
@@ -190,6 +203,8 @@
|
||||
"saveKey": "Сохранить ключ",
|
||||
"save": "Сохранить",
|
||||
"send": "Отправить",
|
||||
"saveOrSendDescription": "Вы хотите сохранить это в хранилище (папку загрузок по умолчанию) или отправить в другие приложения?",
|
||||
"saveOnlyDescription": "Вы хотите сохранить это в хранилище (по умолчанию папка загрузок)?",
|
||||
"back": "Вернуться",
|
||||
"createAccount": "Создать аккаунт",
|
||||
"passwordStrength": "Мощность пароля: {passwordStrengthValue}",
|
||||
@@ -337,6 +352,7 @@
|
||||
"deleteCodeAuthMessage": "Аутентификация для удаления кода",
|
||||
"showQRAuthMessage": "Аутентификация для отображения QR-кода",
|
||||
"confirmAccountDeleteTitle": "Подтвердить удаление аккаунта",
|
||||
"confirmAccountDeleteMessage": "Эта учетная запись связана с другими приложениями Ente, если вы ими пользуетесь.\n\nЗагруженные вами данные во всех приложениях ente будут запланированы к удалению, а ваша учетная запись будет удалена без возможности восстановления.",
|
||||
"androidBiometricHint": "Подтвердите личность",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -397,12 +413,28 @@
|
||||
"doNotSignOut": "Не выходить",
|
||||
"hearUsWhereTitle": "Как вы узнали о Ente? (необязательно)",
|
||||
"hearUsExplanation": "Будет полезно, если вы укажете, где нашли нас, так как мы не отслеживаем установки приложения",
|
||||
"recoveryKeySaved": "Ключ восстановления сохранён в папке Загрузки!",
|
||||
"waitingForBrowserRequest": "Ожидание запроса браузера...",
|
||||
"waitingForVerification": "Ожидание подтверждения...",
|
||||
"passkey": "Ключ",
|
||||
"developerSettingsWarning": "Вы уверены, что хотите изменить настройки разработчика?",
|
||||
"developerSettings": "Настройки разработчика",
|
||||
"serverEndpoint": "Конечная точка сервера",
|
||||
"invalidEndpoint": "Неверная конечная точка",
|
||||
"invalidEndpointMessage": "Извините, введенная вами конечная точка неверна. Пожалуйста, введите корректную конечную точку и повторите попытку.",
|
||||
"endpointUpdatedMessage": "Конечная точка успешно обновлена",
|
||||
"customEndpoint": "Подключено к {endpoint}"
|
||||
"customEndpoint": "Подключено к {endpoint}",
|
||||
"pinText": "Прикрепить",
|
||||
"unpinText": "Открепить",
|
||||
"pinnedCodeMessage": "{code} прикреплен",
|
||||
"unpinnedCodeMessage": "{code} откреплен",
|
||||
"tags": "Метки",
|
||||
"createNewTag": "Создать новую метку",
|
||||
"tag": "Метка",
|
||||
"create": "Создать",
|
||||
"editTag": "Изменить метку",
|
||||
"deleteTagTitle": "Удалить метку?",
|
||||
"deleteTagMessage": "Вы уверены, что хотите удалить эту метку? Это действие необратимо.",
|
||||
"somethingWentWrongParsingCode": "Мы не смогли разобрать коды {x}.",
|
||||
"updateNotAvailable": "Обновление недоступно"
|
||||
}
|
||||
@@ -61,6 +61,7 @@
|
||||
"welcomeBack": "Välkommen tillbaka!",
|
||||
"changePassword": "Ändra lösenord",
|
||||
"importCodes": "Importera koder",
|
||||
"exportCodes": "Exportera koder",
|
||||
"cancel": "Avbryt",
|
||||
"yes": "Ja",
|
||||
"no": "Nej",
|
||||
@@ -76,6 +77,7 @@
|
||||
"scan": "Skanna",
|
||||
"twoFactorAuthTitle": "Tvåfaktorsautentisering",
|
||||
"enterRecoveryKeyHint": "Ange din återställningsnyckel",
|
||||
"invalidQRCode": "Ogiltig QR-kod",
|
||||
"noRecoveryKeyTitle": "Ingen återställningsnyckel?",
|
||||
"enterEmailHint": "Ange din e-postadress",
|
||||
"invalidEmailTitle": "Ogiltig e-postadress",
|
||||
@@ -143,6 +145,8 @@
|
||||
},
|
||||
"pendingSyncs": "Varning",
|
||||
"activeSessions": "Aktiva sessioner",
|
||||
"incorrectCode": "Felaktig kod",
|
||||
"incorrectRecoveryKey": "Felaktig återställningsnyckel",
|
||||
"enterPassword": "Ange lösenord",
|
||||
"export": "Exportera",
|
||||
"singIn": "Logga in",
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
"codeIssuerHint": "Yayınlayan",
|
||||
"codeSecretKeyHint": "Gizli Anahtar",
|
||||
"codeAccountHint": "Hesap (ornek@domain.com)",
|
||||
"codeTagHint": "Etiket",
|
||||
"accountKeyType": "Anahtar türü",
|
||||
"sessionExpired": "Oturum süresi doldu",
|
||||
"@sessionExpired": {
|
||||
"description": "Title of the dialog when the users current session is invalid/expired"
|
||||
@@ -46,7 +48,7 @@
|
||||
},
|
||||
"copyEmailAction": "E-postayı Kopyala",
|
||||
"exportLogsAction": "Günlüğü dışa aktar",
|
||||
"reportABug": "Bir hata bildir",
|
||||
"reportABug": "Hata bildirin",
|
||||
"crashAndErrorReporting": "Çökme ve hata bildirimi",
|
||||
"reportBug": "Hata bildir",
|
||||
"emailUsMessage": "Lütfen bize {email} adresinden ulaşın",
|
||||
@@ -77,12 +79,14 @@
|
||||
"data": "Veri",
|
||||
"importCodes": "Kodu içe aktar",
|
||||
"importTypePlainText": "Salt metin",
|
||||
"importTypeEnteEncrypted": "Ente Şifreli dışa aktarma",
|
||||
"passwordForDecryptingExport": "Dışa aktarımın şifresini çözmek için parola",
|
||||
"passwordEmptyError": "Şifre boş olamaz",
|
||||
"importFromApp": "Kodları {appName} uygulamasından içe aktarın",
|
||||
"importGoogleAuthGuide": "\"Hesapları Aktar\" seçeneğini kullanarak hesaplarınızı Google Authenticator'dan bir QR koduna aktarın. Ardından başka bir cihaz kullanarak QR kodunu tarayın.\n\nİpucu: QR kodunun fotoğrafını çekmek için dizüstü bilgisayarınızın kamerasını kullanabilirsiniz.",
|
||||
"importSelectJsonFile": "JSON dosyasını seçin",
|
||||
"importSelectAppExport": "{appName} dışarı aktarma dosyasını seçin",
|
||||
"importEnteEncGuide": "Ente'den dışa aktarılan şifrelenmiş JSON dosyasını seçin",
|
||||
"importRaivoGuide": "Raivo'nun ayarlarında \"OTP'leri Zip arşivine aktar\" seçeneğini kullanın.\n\nZip dosyasını çıkarın ve JSON dosyasını içe aktarın.",
|
||||
"importBitwardenGuide": "Bitwarden Tools içindeki \"Kasayı dışa aktar\" seçeneğini kullanın ve şifrelenmemiş JSON dosyasını içe aktarın.",
|
||||
"importAegisGuide": "Aegis'in Ayarlarında \"Kasayı dışa aktar\" seçeneğini kullanın.\n\nKasanız şifrelenmişse, kasanın şifresini çözmek için kasa parolasını girmeniz gerekecektir.",
|
||||
@@ -112,18 +116,22 @@
|
||||
"copied": "Kopyalandı",
|
||||
"pleaseTryAgain": "Lütfen tekrar deneyin",
|
||||
"existingUser": "Mevcut kullanıcı",
|
||||
"newUser": "Ente'de Yeni",
|
||||
"delete": "Sil",
|
||||
"enterYourPasswordHint": "Parolanızı girin",
|
||||
"forgotPassword": "Şifremi unuttum",
|
||||
"oops": "Hay aksi",
|
||||
"suggestFeatures": "Özellik önerin",
|
||||
"faq": "SSS",
|
||||
"faq_q_1": "Kimlik doğrulayıcı ne kadar güvenli?",
|
||||
"faq_a_1": "Auth aracılığıyla yedeklediğiniz tüm kodlar uçtan uca şifrelenmiş olarak saklanır. Böylece kodlarınıza yalnızca siz erişebilirsiniz. Uygulamalarımız açık kaynaklıdır ve şifrelememiz dış denetimden geçmiştir.",
|
||||
"faq_q_2": "Kodlarıma masaüstünden erişebilir miyim?",
|
||||
"faq_a_2": "Kodlarınıza internet üzerinden @ auth.ente.io adresinden erişebilirsiniz.",
|
||||
"faq_q_3": "Kodları nasıl silebilirim?",
|
||||
"faq_a_3": "Bir kodu, o öğenin üzerinde sola kaydırarak silebilirsiniz.",
|
||||
"faq_q_4": "Bu projeye nasıl destek olabilirim?",
|
||||
"faq_a_4": "Fotoğraflar uygulamamıza @ ente.io abone olarak bu projenin geliştirilmesine destek olabilirsiniz.",
|
||||
"faq_q_5": "Auth'ta FaceID kilidini nasıl etkinleştirebilirim",
|
||||
"faq_a_5": "FaceID kilidini Ayarlar → Güvenlik → Kilit Ekranı altında etkinleştirebilirsiniz.",
|
||||
"somethingWentWrongMessage": "Bir şeyler ters gitti, lütfen tekrar deneyin",
|
||||
"leaveFamily": "Aile planından ayrıl",
|
||||
@@ -137,6 +145,8 @@
|
||||
"enterCodeHint": "Kimlik doğrulayıcı uygulamanızdaki 6 haneli doğrulama kodunu girin",
|
||||
"lostDeviceTitle": "Cihazınızı mı kaybettiniz?",
|
||||
"twoFactorAuthTitle": "İki faktörlü kimlik doğrulama",
|
||||
"passkeyAuthTitle": "Geçiş anahtarı doğrulaması",
|
||||
"verifyPasskey": "Geçiş anahtarını doğrula",
|
||||
"recoverAccount": "Hesap kurtarma",
|
||||
"enterRecoveryKeyHint": "Kurtarma anahtarınızı girin",
|
||||
"recover": "Kurtar",
|
||||
@@ -148,6 +158,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"invalidQRCode": "Geçersiz QR kodu",
|
||||
"noRecoveryKeyTitle": "Kurtarma anahtarınız yok mu?",
|
||||
"enterEmailHint": "E-posta adresinizi girin",
|
||||
"invalidEmailTitle": "Geçersiz e-posta adresi",
|
||||
@@ -190,6 +201,10 @@
|
||||
"recoveryKeySaveDescription": "Biz bu anahtarı saklamıyoruz, lütfen. bu 24 kelimelik anahtarı güvenli bir yerde saklayın.",
|
||||
"doThisLater": "Bunu daha sonra yap",
|
||||
"saveKey": "Anahtarı kaydet",
|
||||
"save": "Kaydet",
|
||||
"send": "Gönder",
|
||||
"saveOrSendDescription": "Bunu belleğinize mi kaydedeceksiniz (İndirilenler klasörü varsayılandır) yoksa diğer uygulamalara mı göndereceksiniz?",
|
||||
"saveOnlyDescription": "Bunu belleğinize kaydetmek ister misiniz? (İndirilenler klasörü varsayılandır)",
|
||||
"back": "Geri",
|
||||
"createAccount": "Hesap oluştur",
|
||||
"passwordStrength": "Şifre gücü: {passwordStrengthValue}",
|
||||
@@ -337,6 +352,7 @@
|
||||
"deleteCodeAuthMessage": "Kodu silmek için doğrulama yapın",
|
||||
"showQRAuthMessage": "QR kodunu göstermek için doğrulama yapın",
|
||||
"confirmAccountDeleteTitle": "Hesap silme işlemini onayla",
|
||||
"confirmAccountDeleteMessage": "Kullandığınız Ente uygulamaları varsa bu hesap diğer Ente uygulamalarıyla bağlantılıdır.\n\nTüm Ente uygulamalarına yüklediğiniz veriler ve hesabınız kalıcı olarak silinecektir.",
|
||||
"androidBiometricHint": "Kimliği doğrula",
|
||||
"@androidBiometricHint": {
|
||||
"description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters."
|
||||
@@ -396,5 +412,29 @@
|
||||
"signOutOtherDevices": "Diğer cihazlardan çıkış yap",
|
||||
"doNotSignOut": "Çıkış yapma",
|
||||
"hearUsWhereTitle": "Ente'yi nereden duydunuz? (opsiyonel)",
|
||||
"hearUsExplanation": "Biz uygulama kurulumlarını takip etmiyoruz. Bizi nereden duyduğunuzdan bahsetmeniz bize çok yardımcı olacak!"
|
||||
"hearUsExplanation": "Biz uygulama kurulumlarını takip etmiyoruz. Bizi nereden duyduğunuzdan bahsetmeniz bize çok yardımcı olacak!",
|
||||
"recoveryKeySaved": "Kurtarma anahtarı İndirilenler klasörüne kaydedildi!",
|
||||
"waitingForBrowserRequest": "Tarayıcı isteği bekleniyor...",
|
||||
"waitingForVerification": "Doğrulama bekleniyor...",
|
||||
"passkey": "Geçiş anahtarı",
|
||||
"developerSettingsWarning": "Geliştirici ayarlarını değiştirmekten emin misiniz?",
|
||||
"developerSettings": "Geliştirici ayarları",
|
||||
"serverEndpoint": "Sunucu uç noktası",
|
||||
"invalidEndpoint": "Geçersiz uç nokta",
|
||||
"invalidEndpointMessage": "Üzgünüz, girdiğiniz uç nokta geçersiz. Lütfen geçerli bir uç nokta girin ve tekrar deneyin.",
|
||||
"endpointUpdatedMessage": "Uç nokta başarıyla güncellendi",
|
||||
"customEndpoint": "Bağlandı: {endpoint}",
|
||||
"pinText": "Sabitle",
|
||||
"unpinText": "Sabitlemeyi kaldır",
|
||||
"pinnedCodeMessage": "{code} sabitlendi",
|
||||
"unpinnedCodeMessage": "{code} sabitlemesi kaldırıldı",
|
||||
"tags": "Etiketler",
|
||||
"createNewTag": "Yeni etiket oluştur",
|
||||
"tag": "Etiket",
|
||||
"create": "Oluştur",
|
||||
"editTag": "Etiketi düzenle",
|
||||
"deleteTagTitle": "Etiket silinsin mi?",
|
||||
"deleteTagMessage": "Bu etiketi silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
|
||||
"somethingWentWrongParsingCode": "{x} kodu ayrıştıramadık.",
|
||||
"updateNotAvailable": "Güncelleme mevcut değil"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
# CHANGELOG
|
||||
|
||||
## v1.7.0 (Unreleased)
|
||||
## v1.7.0
|
||||
|
||||
v1.7 is a major rewrite to improve the security of our app. In particular, the
|
||||
UI and the native parts of the app now run isolated from each other and
|
||||
|
||||
@@ -39,8 +39,8 @@ artifacts attached to the same draft.
|
||||
|
||||
## Workflow - Release
|
||||
|
||||
1. Update source repo to set version `1.x.x` in `package.json` and finialize
|
||||
the CHANGELOG.
|
||||
1. Update source repo to set version `1.x.x` in `package.json` and finalize the
|
||||
CHANGELOG.
|
||||
|
||||
2. Push code to the `desktop/rc` branch in the source repo.
|
||||
|
||||
@@ -53,7 +53,7 @@ artifacts attached to the same draft.
|
||||
4. If the build is successful, tag `desktop/rc` in the source repo.
|
||||
|
||||
```sh
|
||||
# Assuming we're on desktop/rc that just got build
|
||||
# Assuming we're on desktop/rc that just got built
|
||||
|
||||
git tag photosd-v1.x.x
|
||||
git push origin photosd-v1.x.x
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ente",
|
||||
"version": "1.7.0-rc",
|
||||
"version": "1.7.1-rc",
|
||||
"private": true,
|
||||
"description": "Desktop client for Ente Photos",
|
||||
"repository": "github:ente-io/photos-desktop",
|
||||
|
||||
@@ -322,6 +322,13 @@ const setupTrayItem = (mainWindow: BrowserWindow) => {
|
||||
* once most people have upgraded to newer versions.
|
||||
*/
|
||||
const deleteLegacyDiskCacheDirIfExists = async () => {
|
||||
const removeIfExists = async (dirPath: string) => {
|
||||
if (existsSync(dirPath)) {
|
||||
log.info(`Removing legacy disk cache from ${dirPath}`);
|
||||
await fs.rm(dirPath, { recursive: true });
|
||||
}
|
||||
};
|
||||
|
||||
// [Note: Getting the cache path]
|
||||
//
|
||||
// The existing code was passing "cache" as a parameter to getPath.
|
||||
@@ -338,9 +345,18 @@ const deleteLegacyDiskCacheDirIfExists = async () => {
|
||||
//
|
||||
// @ts-expect-error "cache" works but is not part of the public API.
|
||||
const cacheDir = path.join(app.getPath("cache"), "ente");
|
||||
if (existsSync(cacheDir)) {
|
||||
log.info(`Removing legacy disk cache from ${cacheDir}`);
|
||||
await fs.rm(cacheDir, { recursive: true });
|
||||
if (process.platform == "win32") {
|
||||
// On Windows the cache dir is the same as the app data (!). So deleting
|
||||
// the ente subfolder of the cache dir is equivalent to deleting the
|
||||
// user data dir.
|
||||
//
|
||||
// Obviously, that's not good. So instead of Windows we explicitly
|
||||
// delete the named cache directories.
|
||||
await removeIfExists(path.join(cacheDir, "thumbs"));
|
||||
await removeIfExists(path.join(cacheDir, "files"));
|
||||
await removeIfExists(path.join(cacheDir, "face-crops"));
|
||||
} else {
|
||||
await removeIfExists(cacheDir);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
Entre est une application simple qui sauvegarde et organisé vos photos et vidéos.
|
||||
Entre est une application simple qui sauvegarde et organise vos photos et vidéos.
|
||||
|
||||
Si vous recherchez une alternative respectueuse de la vie privée pour préserver vos souvenirs, vous êtes au bon endroit. Avec Ente, ils sont stockés chiffrés de bout-en-bout (e2ee). Cela signifie que vous-seul pouvez les voir.
|
||||
Si vous recherchez une alternative respectueuse de votre vie privée pour préserver vos souvenirs, vous êtes au bon endroit. Avec Ente, ils sont stockés chiffrés de bout-en-bout (e2ee). Cela signifie que vous-seul pouvez les voir.
|
||||
|
||||
Nous avons des applications sur Android, iOS, Web et Ordinateur, et vos photos seront synchronisées de manière transparente entre tous vos appareils chiffrée de bout en bout (e2ee).
|
||||
Nous avons des applications pour Android, iOS, Web et Ordinateur, et vos photos seront synchronisées de manière transparente entre tous vos appareils avec une méthode de chiffrement de bout en bout (e2ee).
|
||||
|
||||
Ente vous permet également de partager vos albums avec vos proches. Vous pouvez soit les partager directement avec d'autres utilisateurs Ente, chiffrés de bout en bout ou avec des liens visibles publiquement.
|
||||
|
||||
Vos données chiffrées sont stockées à travers de multiples endroits, dont un abri antiatomique à Paris. Nous prenons la postérité au sérieux et facilitons la conservation de vos souvenirs.
|
||||
Vos données chiffrées sont stockées dans de multiples endroits, dont un abri antiatomique à Paris. Nous prenons la postérité au sérieux et facilitons la conservation de vos souvenirs.
|
||||
|
||||
Nous sommes là pour faire l'application photo la plus sûre de tous les temps, rejoignez-nous !
|
||||
|
||||
✨ CARACTÉRISTIQUES
|
||||
- Sauvegardes de qualité originales, car chaque pixel est important
|
||||
- Sauvegardes en qualité originale, car chaque pixel est important
|
||||
- Abonnement familiaux, pour que vous puissiez partager l'espace de stockage avec votre famille
|
||||
- Dossiers partagés, si vous voulez que votre partenaire profite de vos clichés
|
||||
- Liens ves les albums qui peuvent être protégés par un mot de passe et être configurés pour expirer
|
||||
- Liens vers les albums, qui peuvent être protégés par un mot de passe et être configurés pour expirer
|
||||
- Possibilité de libérer de l'espace en supprimant les fichiers qui ont été sauvegardés en toute sécurité
|
||||
- Éditeur d'images, pour ajouter des touches de finition
|
||||
- Favoriser, cacher et revivre vos souvenirs, car ils sont précieux
|
||||
- Favoris, cacher et revivre vos souvenirs, car ils sont précieux
|
||||
- Importation en un clic depuis Google, Apple, votre disque dur et plus encore
|
||||
- Thème sombre, parce que vos photos y sont jolies
|
||||
- 2FA, 3FA, authentification biométrique
|
||||
- et beaucoup de choses encore !
|
||||
|
||||
💲 PRIX
|
||||
Nous ne proposons pas d'abonnement gratuits pour toujours, car il est important pour nous de rester durables et de résister à l'épreuve du temps. Au lieu de cela, nous vous proposons des abonnements abordables que vous pouvez partager librement avec votre famille. Vous pouvez trouver plus d'informations sur ente.io.
|
||||
Nous ne proposons pas d'abonnements gratuits à vie, car il est important pour nous de rester pérenne et de résister à l'épreuve du temps. Au lieu de cela, nous vous proposons des abonnements abordables que vous pouvez partager librement avec votre famille. Vous pouvez trouver plus d'informations sur ente.io.
|
||||
|
||||
🙋 ASSISTANCE
|
||||
Nous sommes fiers d'offrir un support humain. Si vous êtes un abonné, vous pouvez contacter team@ente.io et vous recevrez une réponse de notre équipe dans les 24 heures.
|
||||
@@ -161,43 +161,45 @@ class _ClusterPageState extends State<ClusterPage> {
|
||||
),
|
||||
),
|
||||
showNamingBanner
|
||||
? Dismissible(
|
||||
key: const Key("namingBanner"),
|
||||
direction: DismissDirection.horizontal,
|
||||
onDismissed: (direction) {
|
||||
setState(() {
|
||||
userDismissedNamingBanner = true;
|
||||
});
|
||||
},
|
||||
child: PeopleBanner(
|
||||
type: PeopleBannerType.addName,
|
||||
faceWidget: PersonFaceWidget(
|
||||
files.first,
|
||||
clusterID: widget.clusterID,
|
||||
),
|
||||
actionIcon: Icons.add_outlined,
|
||||
text: S.of(context).addAName,
|
||||
subText: S.of(context).findPeopleByName,
|
||||
onTap: () async {
|
||||
if (widget.personID == null) {
|
||||
final result = await showAssignPersonAction(
|
||||
context,
|
||||
clusterID: widget.clusterID,
|
||||
);
|
||||
if (result != null &&
|
||||
result is (PersonEntity, EnteFile)) {
|
||||
Navigator.pop(context);
|
||||
// ignore: unawaited_futures
|
||||
routeToPage(context, PeoplePage(person: result.$1));
|
||||
} else if (result != null && result is PersonEntity) {
|
||||
Navigator.pop(context);
|
||||
// ignore: unawaited_futures
|
||||
routeToPage(context, PeoplePage(person: result));
|
||||
}
|
||||
} else {
|
||||
showShortToast(context, "No personID or clusterID");
|
||||
}
|
||||
? SafeArea(
|
||||
child: Dismissible(
|
||||
key: const Key("namingBanner"),
|
||||
direction: DismissDirection.horizontal,
|
||||
onDismissed: (direction) {
|
||||
setState(() {
|
||||
userDismissedNamingBanner = true;
|
||||
});
|
||||
},
|
||||
child: PeopleBanner(
|
||||
type: PeopleBannerType.addName,
|
||||
faceWidget: PersonFaceWidget(
|
||||
files.first,
|
||||
clusterID: widget.clusterID,
|
||||
),
|
||||
actionIcon: Icons.add_outlined,
|
||||
text: S.of(context).addAName,
|
||||
subText: S.of(context).findPeopleByName,
|
||||
onTap: () async {
|
||||
if (widget.personID == null) {
|
||||
final result = await showAssignPersonAction(
|
||||
context,
|
||||
clusterID: widget.clusterID,
|
||||
);
|
||||
if (result != null &&
|
||||
result is (PersonEntity, EnteFile)) {
|
||||
Navigator.pop(context);
|
||||
// ignore: unawaited_futures
|
||||
routeToPage(context, PeoplePage(person: result.$1));
|
||||
} else if (result != null && result is PersonEntity) {
|
||||
Navigator.pop(context);
|
||||
// ignore: unawaited_futures
|
||||
routeToPage(context, PeoplePage(person: result));
|
||||
}
|
||||
} else {
|
||||
showShortToast(context, "No personID or clusterID");
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
"TRASH": "Lixeira",
|
||||
"MOVE_TO_TRASH": "Mover para a lixeira",
|
||||
"TRASH_FILES_MESSAGE": "Os itens selecionados serão excluídos de todos os álbuns e movidos para a lixeira.",
|
||||
"TRASH_FILE_MESSAGE": "Os itens selecionados serão excluídos de todos os álbuns e movidos para o lixo.",
|
||||
"TRASH_FILE_MESSAGE": "O item será removido de todos os álbuns e movido para a lixeira.",
|
||||
"DELETE_PERMANENTLY": "Excluir permanentemente",
|
||||
"RESTORE": "Restaurar",
|
||||
"RESTORE_TO_COLLECTION": "Restaurar para álbum",
|
||||
|
||||
@@ -1,65 +1,65 @@
|
||||
{
|
||||
"HERO_SLIDE_1_TITLE": "",
|
||||
"HERO_SLIDE_1": "",
|
||||
"HERO_SLIDE_1_TITLE": "<div>Privata säkerhetskopior</div><div>för dina minnen</div>",
|
||||
"HERO_SLIDE_1": "Totalsträckskryptering som standard",
|
||||
"HERO_SLIDE_2_TITLE": "",
|
||||
"HERO_SLIDE_2": "",
|
||||
"HERO_SLIDE_3_TITLE": "",
|
||||
"HERO_SLIDE_3": "",
|
||||
"LOGIN": "",
|
||||
"SIGN_UP": "",
|
||||
"HERO_SLIDE_2": "Utformad för att överleva",
|
||||
"HERO_SLIDE_3_TITLE": "<div>Tillgänglig</div><div> överallt</div>",
|
||||
"HERO_SLIDE_3": "Android, iOS, webb, skrivbord",
|
||||
"LOGIN": "Logga in",
|
||||
"SIGN_UP": "Registrera",
|
||||
"NEW_USER": "",
|
||||
"EXISTING_USER": "",
|
||||
"EXISTING_USER": "Befintlig användare",
|
||||
"ENTER_NAME": "Ange namn",
|
||||
"PUBLIC_UPLOADER_NAME_MESSAGE": "",
|
||||
"PUBLIC_UPLOADER_NAME_MESSAGE": "Lägg till ett namn så att dina vänner vet vem de ska tacka för dessa fantastiska bilder!",
|
||||
"ENTER_EMAIL": "Ange e-postadress",
|
||||
"EMAIL_ERROR": "Ange en giltig e-postadress",
|
||||
"REQUIRED": "",
|
||||
"EMAIL_SENT": "",
|
||||
"CHECK_INBOX": "",
|
||||
"ENTER_OTT": "",
|
||||
"RESEND_MAIL": "",
|
||||
"VERIFY": "",
|
||||
"UNKNOWN_ERROR": "",
|
||||
"INVALID_CODE": "",
|
||||
"EXPIRED_CODE": "",
|
||||
"SENDING": "",
|
||||
"SENT": "",
|
||||
"REQUIRED": "Obligatoriskt",
|
||||
"EMAIL_SENT": "Verifikationskoden skickad till <a>{{email}}</a>",
|
||||
"CHECK_INBOX": "Kontrollera din inkorg (och skräppost) för att slutföra verifieringen",
|
||||
"ENTER_OTT": "Verifieringskod",
|
||||
"RESEND_MAIL": "Skicka kod igen",
|
||||
"VERIFY": "Bekräfta",
|
||||
"UNKNOWN_ERROR": "Något gick fel, vänligen försök igen",
|
||||
"INVALID_CODE": "Ogiltig verifieringskod",
|
||||
"EXPIRED_CODE": "Din verifieringskod har löpt ut",
|
||||
"SENDING": "Skickar...",
|
||||
"SENT": "Skickat!",
|
||||
"PASSWORD": "Lösenord",
|
||||
"LINK_PASSWORD": "",
|
||||
"LINK_PASSWORD": "Ange lösenord för att låsa upp albumet",
|
||||
"RETURN_PASSPHRASE_HINT": "Lösenord",
|
||||
"SET_PASSPHRASE": "",
|
||||
"SET_PASSPHRASE": "Välj lösenord",
|
||||
"VERIFY_PASSPHRASE": "Logga in",
|
||||
"INCORRECT_PASSPHRASE": "",
|
||||
"ENTER_ENC_PASSPHRASE": "",
|
||||
"PASSPHRASE_DISCLAIMER": "",
|
||||
"INCORRECT_PASSPHRASE": "Felaktigt lösenord",
|
||||
"ENTER_ENC_PASSPHRASE": "Ange ett lösenord som vi kan använda för att kryptera din data",
|
||||
"PASSPHRASE_DISCLAIMER": "Vi lagrar inte ditt lösenord, så om du glömmer det, <strong>vi kommer inte att kunna hjälpa dig </strong>återställa dina data utan en återställningsnyckel.",
|
||||
"WELCOME_TO_ENTE_HEADING": "Välkommen till <a/>",
|
||||
"WELCOME_TO_ENTE_SUBHEADING": "",
|
||||
"WHERE_YOUR_BEST_PHOTOS_LIVE": "",
|
||||
"KEY_GENERATION_IN_PROGRESS_MESSAGE": "",
|
||||
"WELCOME_TO_ENTE_SUBHEADING": "Totalsträckskrypterad lagring och delning av foton",
|
||||
"WHERE_YOUR_BEST_PHOTOS_LIVE": "Där dina bästa bilder bor",
|
||||
"KEY_GENERATION_IN_PROGRESS_MESSAGE": "Skapar krypteringsnycklar...",
|
||||
"PASSPHRASE_HINT": "Lösenord",
|
||||
"CONFIRM_PASSPHRASE": "Bekräfta lösenord",
|
||||
"REFERRAL_CODE_HINT": "",
|
||||
"REFERRAL_INFO": "",
|
||||
"REFERRAL_CODE_HINT": "Hur hörde du talas om Ente? (valfritt)",
|
||||
"REFERRAL_INFO": "Vi spårar inte appinstallationer, Det skulle hjälpa oss om du berättade var du hittade oss!",
|
||||
"PASSPHRASE_MATCH_ERROR": "Lösenorden matchar inte",
|
||||
"CREATE_COLLECTION": "",
|
||||
"ENTER_ALBUM_NAME": "",
|
||||
"CLOSE_OPTION": "",
|
||||
"CREATE_COLLECTION": "Nytt album",
|
||||
"ENTER_ALBUM_NAME": "Albumnamn",
|
||||
"CLOSE_OPTION": "Stäng (Esc)",
|
||||
"ENTER_FILE_NAME": "Filnamn",
|
||||
"CLOSE": "Stäng",
|
||||
"NO": "Nej",
|
||||
"NOTHING_HERE": "",
|
||||
"UPLOAD": "",
|
||||
"IMPORT": "",
|
||||
"ADD_PHOTOS": "",
|
||||
"ADD_MORE_PHOTOS": "",
|
||||
"add_photos_one": "",
|
||||
"add_photos_other": "",
|
||||
"SELECT_PHOTOS": "",
|
||||
"FILE_UPLOAD": "",
|
||||
"NOTHING_HERE": "Inget att se här ännu 👀",
|
||||
"UPLOAD": "Ladda upp",
|
||||
"IMPORT": "Importera",
|
||||
"ADD_PHOTOS": "Lägg till bilder",
|
||||
"ADD_MORE_PHOTOS": "Lägg till fler bilder",
|
||||
"add_photos_one": "Lägg till ett (1) objekt",
|
||||
"add_photos_other": "Lägg till {{count, number}} objekt",
|
||||
"SELECT_PHOTOS": "Välj bilder",
|
||||
"FILE_UPLOAD": "Ladda upp",
|
||||
"UPLOAD_STAGE_MESSAGE": {
|
||||
"0": "",
|
||||
"1": "",
|
||||
"2": "",
|
||||
"0": "Förbereder att ladda upp",
|
||||
"1": "Läser Google metadatafiler",
|
||||
"2": "Metadata för {{uploadCounter.finished, number}} / {{uploadCounter.total, number}} filer extraherat",
|
||||
"3": "",
|
||||
"4": "",
|
||||
"5": ""
|
||||
@@ -114,11 +114,11 @@
|
||||
"RECOVER_KEY_GENERATION_FAILED": "",
|
||||
"KEY_NOT_STORED_DISCLAIMER": "",
|
||||
"FORGOT_PASSWORD": "Glömt lösenord",
|
||||
"RECOVER_ACCOUNT": "",
|
||||
"RECOVERY_KEY_HINT": "",
|
||||
"RECOVER": "",
|
||||
"RECOVER_ACCOUNT": "Återställ konto",
|
||||
"RECOVERY_KEY_HINT": "Återställningsnyckel",
|
||||
"RECOVER": "Återställ",
|
||||
"NO_RECOVERY_KEY": "Ingen återställningsnyckel?",
|
||||
"INCORRECT_RECOVERY_KEY": "",
|
||||
"INCORRECT_RECOVERY_KEY": "Felaktig återställningsnyckel",
|
||||
"SORRY": "",
|
||||
"NO_RECOVERY_KEY_MESSAGE": "",
|
||||
"NO_TWO_FACTOR_RECOVERY_KEY_MESSAGE": "",
|
||||
@@ -140,12 +140,12 @@
|
||||
"DOWNLOAD_APP_MESSAGE": "",
|
||||
"DOWNLOAD_APP": "",
|
||||
"EXPORT": "",
|
||||
"SUBSCRIPTION": "",
|
||||
"SUBSCRIPTION": "Prenumeration",
|
||||
"SUBSCRIBE": "Prenumerera",
|
||||
"MANAGEMENT_PORTAL": "Hantera betalningsmetod",
|
||||
"MANAGE_FAMILY_PORTAL": "",
|
||||
"LEAVE_FAMILY_PLAN": "",
|
||||
"LEAVE": "",
|
||||
"LEAVE": "Lämna",
|
||||
"LEAVE_FAMILY_CONFIRM": "",
|
||||
"CHOOSE_PLAN": "",
|
||||
"MANAGE_PLAN": "Hantera din prenumeration",
|
||||
@@ -179,7 +179,7 @@
|
||||
"REACTIVATE_SUBSCRIPTION_MESSAGE": "",
|
||||
"SUBSCRIPTION_ACTIVATE_SUCCESS": "",
|
||||
"SUBSCRIPTION_ACTIVATE_FAILED": "",
|
||||
"SUBSCRIPTION_PURCHASE_SUCCESS_TITLE": "",
|
||||
"SUBSCRIPTION_PURCHASE_SUCCESS_TITLE": "Tack",
|
||||
"CANCEL_SUBSCRIPTION_ON_MOBILE": "",
|
||||
"CANCEL_SUBSCRIPTION_ON_MOBILE_MESSAGE": "",
|
||||
"MAIL_TO_MANAGE_SUBSCRIPTION": "",
|
||||
@@ -191,7 +191,7 @@
|
||||
"DELETE_COLLECTION_MESSAGE": "",
|
||||
"DELETE_PHOTOS": "",
|
||||
"KEEP_PHOTOS": "",
|
||||
"SHARE_COLLECTION": "",
|
||||
"SHARE_COLLECTION": "Dela album",
|
||||
"SHARE_WITH_SELF": "",
|
||||
"ALREADY_SHARED": "",
|
||||
"SHARING_BAD_REQUEST_ERROR": "",
|
||||
@@ -230,10 +230,10 @@
|
||||
"INFO": "",
|
||||
"INFO_OPTION": "",
|
||||
"FILE_NAME": "",
|
||||
"CAPTION_PLACEHOLDER": "",
|
||||
"CAPTION_PLACEHOLDER": "Lägg till en beskrivning",
|
||||
"LOCATION": "",
|
||||
"SHOW_ON_MAP": "",
|
||||
"MAP": "",
|
||||
"MAP": "Karta",
|
||||
"MAP_SETTINGS": "",
|
||||
"ENABLE_MAPS": "",
|
||||
"ENABLE_MAP": "",
|
||||
@@ -247,23 +247,23 @@
|
||||
"EXIF": "",
|
||||
"ISO": "",
|
||||
"TWO_FACTOR": "",
|
||||
"TWO_FACTOR_AUTHENTICATION": "",
|
||||
"TWO_FACTOR_AUTHENTICATION": "Tvåfaktorsautentisering",
|
||||
"TWO_FACTOR_QR_INSTRUCTION": "",
|
||||
"ENTER_CODE_MANUALLY": "",
|
||||
"TWO_FACTOR_MANUAL_CODE_INSTRUCTION": "",
|
||||
"SCAN_QR_CODE": "",
|
||||
"ENABLE_TWO_FACTOR": "",
|
||||
"ENABLE": "",
|
||||
"ENABLE": "Aktivera",
|
||||
"LOST_DEVICE": "",
|
||||
"INCORRECT_CODE": "",
|
||||
"INCORRECT_CODE": "Felaktig kod",
|
||||
"TWO_FACTOR_INFO": "",
|
||||
"DISABLE_TWO_FACTOR_LABEL": "",
|
||||
"DISABLE_TWO_FACTOR_LABEL": "Inaktivera tvåfaktorsautentisering",
|
||||
"UPDATE_TWO_FACTOR_LABEL": "",
|
||||
"DISABLE": "",
|
||||
"DISABLE": "Inaktivera",
|
||||
"RECONFIGURE": "",
|
||||
"UPDATE_TWO_FACTOR": "",
|
||||
"UPDATE_TWO_FACTOR_MESSAGE": "",
|
||||
"UPDATE": "",
|
||||
"UPDATE": "Uppdatera",
|
||||
"DISABLE_TWO_FACTOR": "",
|
||||
"DISABLE_TWO_FACTOR_MESSAGE": "",
|
||||
"TWO_FACTOR_DISABLE_FAILED": "",
|
||||
@@ -298,7 +298,7 @@
|
||||
"UPLOAD_TO_COLLECTION": "",
|
||||
"UNCATEGORIZED": "",
|
||||
"ARCHIVE": "",
|
||||
"FAVORITES": "",
|
||||
"FAVORITES": "Favoriter",
|
||||
"ARCHIVE_COLLECTION": "",
|
||||
"ARCHIVE_SECTION_NAME": "",
|
||||
"ALL_SECTION_NAME": "",
|
||||
@@ -308,16 +308,16 @@
|
||||
"HIDE_COLLECTION": "",
|
||||
"UNHIDE_COLLECTION": "",
|
||||
"MOVE": "",
|
||||
"ADD": "",
|
||||
"ADD": "Lägg till",
|
||||
"REMOVE": "",
|
||||
"YES_REMOVE": "",
|
||||
"REMOVE_FROM_COLLECTION": "",
|
||||
"TRASH": "",
|
||||
"MOVE_TO_TRASH": "",
|
||||
"TRASH": "Papperskorg",
|
||||
"MOVE_TO_TRASH": "Flytta till papperskorg",
|
||||
"TRASH_FILES_MESSAGE": "",
|
||||
"TRASH_FILE_MESSAGE": "",
|
||||
"DELETE_PERMANENTLY": "",
|
||||
"RESTORE": "",
|
||||
"RESTORE": "Återställ",
|
||||
"RESTORE_TO_COLLECTION": "",
|
||||
"EMPTY_TRASH": "",
|
||||
"EMPTY_TRASH_TITLE": "",
|
||||
@@ -331,7 +331,7 @@
|
||||
"CONFIRM_SELF_AND_OTHER_REMOVE_MESSAGE": "",
|
||||
"SORT_BY_CREATION_TIME_ASCENDING": "",
|
||||
"SORT_BY_UPDATION_TIME_DESCENDING": "",
|
||||
"SORT_BY_NAME": "",
|
||||
"SORT_BY_NAME": "Namn",
|
||||
"FIX_CREATION_TIME": "",
|
||||
"FIX_CREATION_TIME_IN_PROGRESS": "",
|
||||
"CREATION_TIME_UPDATED": "",
|
||||
@@ -355,7 +355,7 @@
|
||||
"shared_with_people_other": "",
|
||||
"participants_zero": "Inga deltagare",
|
||||
"participants_one": "1 deltagare",
|
||||
"participants_other": "",
|
||||
"participants_other": "{{count, number}} deltagare",
|
||||
"ADD_VIEWERS": "",
|
||||
"CHANGE_PERMISSIONS_TO_VIEWER": "",
|
||||
"CHANGE_PERMISSIONS_TO_COLLABORATOR": "",
|
||||
@@ -377,7 +377,7 @@
|
||||
"NOT_FOUND": "",
|
||||
"LINK_EXPIRED": "",
|
||||
"LINK_EXPIRED_MESSAGE": "",
|
||||
"MANAGE_LINK": "",
|
||||
"MANAGE_LINK": "Hantera länk",
|
||||
"LINK_TOO_MANY_REQUESTS": "",
|
||||
"FILE_DOWNLOAD": "",
|
||||
"LINK_PASSWORD_LOCK": "",
|
||||
@@ -385,7 +385,7 @@
|
||||
"LINK_DEVICE_LIMIT": "",
|
||||
"NO_DEVICE_LIMIT": "",
|
||||
"LINK_EXPIRY": "",
|
||||
"NEVER": "",
|
||||
"NEVER": "Aldrig",
|
||||
"DISABLE_FILE_DOWNLOAD": "",
|
||||
"DISABLE_FILE_DOWNLOAD_MESSAGE": "",
|
||||
"SHARED_USING": "",
|
||||
@@ -418,17 +418,17 @@
|
||||
"HIDDEN_ALBUMS": "",
|
||||
"HIDDEN_ITEMS": "",
|
||||
"ENTER_TWO_FACTOR_OTP": "",
|
||||
"CREATE_ACCOUNT": "",
|
||||
"CREATE_ACCOUNT": "Skapa konto",
|
||||
"COPIED": "",
|
||||
"WATCH_FOLDERS": "",
|
||||
"UPGRADE_NOW": "",
|
||||
"RENEW_NOW": "",
|
||||
"STORAGE": "",
|
||||
"USED": "",
|
||||
"YOU": "",
|
||||
"YOU": "Du",
|
||||
"FAMILY": "",
|
||||
"FREE": "",
|
||||
"OF": "",
|
||||
"FREE": "gratis",
|
||||
"OF": "av",
|
||||
"WATCHED_FOLDERS": "",
|
||||
"NO_FOLDERS_ADDED": "",
|
||||
"FOLDERS_AUTOMATICALLY_MONITORED": "",
|
||||
@@ -495,9 +495,9 @@
|
||||
"storage_unit": {
|
||||
"b": "",
|
||||
"kb": "",
|
||||
"mb": "",
|
||||
"gb": "",
|
||||
"tb": ""
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"AFTER_TIME": {
|
||||
"HOUR": "",
|
||||
@@ -570,8 +570,8 @@
|
||||
"CONVERT": "",
|
||||
"CONFIRM_EDITOR_CLOSE_MESSAGE": "",
|
||||
"CONFIRM_EDITOR_CLOSE_DESCRIPTION": "",
|
||||
"BRIGHTNESS": "",
|
||||
"CONTRAST": "",
|
||||
"BRIGHTNESS": "Ljusstyrka",
|
||||
"CONTRAST": "Kontrast",
|
||||
"SATURATION": "",
|
||||
"BLUR": "",
|
||||
"INVERT_COLORS": "",
|
||||
@@ -619,7 +619,7 @@
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"TRY_AGAIN": "Försök igen",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": "",
|
||||
"autogenerated_first_album_name": "",
|
||||
|
||||
Reference in New Issue
Block a user