Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4bfe69bc47 | ||
|
|
322eb273cd | ||
|
|
6bb7db7d54 | ||
|
|
d077109bc8 | ||
|
|
ed8aef8f80 | ||
|
|
bb1f730e32 | ||
|
|
afaf26a2f2 | ||
|
|
d7a2597406 | ||
|
|
226aeafe76 | ||
|
|
d4a6363793 | ||
|
|
249a8016a1 | ||
|
|
f914256510 | ||
|
|
a9bc28ad02 | ||
|
|
4d89a0ed4a | ||
|
|
3475e3a988 | ||
|
|
4b246174b6 | ||
|
|
aad130fdcb | ||
|
|
cf4ff27e9a | ||
|
|
a25925aa6d | ||
|
|
7c77c03487 | ||
|
|
f549e2e268 | ||
|
|
4b1b27a243 | ||
|
|
ea915489b8 | ||
|
|
e211239ed6 | ||
|
|
a09a4e5c9b | ||
|
|
7c552a1e8c | ||
|
|
518eb1d942 | ||
|
|
ec895546f6 | ||
|
|
f5b7894cb1 | ||
|
|
3f5ef23e1b | ||
|
|
d496adaed2 | ||
|
|
016e85f350 |
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
community@ente.io.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
@@ -52,7 +52,8 @@
|
||||
"hex": "858585"
|
||||
},
|
||||
{
|
||||
"title": "Firefox"
|
||||
"title": "Firefox",
|
||||
"slug": "mozilla"
|
||||
},
|
||||
{
|
||||
"title": "GitHub",
|
||||
@@ -97,6 +98,9 @@
|
||||
{
|
||||
"title": "Microsoft"
|
||||
},
|
||||
{
|
||||
"title": "Mozilla"
|
||||
},
|
||||
{
|
||||
"title": "ngrok",
|
||||
"hex": "858585"
|
||||
@@ -224,6 +228,8 @@
|
||||
"title": "Skiff",
|
||||
"hex": "EF5A3C"
|
||||
}
|
||||
|
||||
{
|
||||
"title": "zzz_dev_test_icon"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 822 B |
|
Before Width: | Height: | Size: 10 MiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
5
assets/custom-icons/icons/zzz_dev_test_icon.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="500" height="500" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g style="mix-blend-mode:difference">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M250.207 5C111.849 5 0 117.52 0 256.723C0 367.996 71.6655 462.186 171.084 495.522C183.514 498.028 188.067 490.106 188.067 483.442C188.067 477.606 187.658 457.603 187.658 436.761C118.056 451.767 103.562 406.754 103.562 406.754C92.3769 377.581 75.8036 370.083 75.8036 370.083C53.0231 354.662 77.463 354.662 77.463 354.662C102.733 356.329 115.992 380.501 115.992 380.501C138.358 418.84 174.398 408.007 188.897 401.338C190.966 385.084 197.599 373.832 204.641 367.582C149.128 361.746 90.7226 340.075 90.7226 243.385C90.7226 215.879 100.658 193.374 116.402 175.872C113.918 169.622 105.217 143.779 118.891 109.189C118.891 109.189 140.017 102.519 187.653 135.028C208.047 129.517 229.079 126.714 250.207 126.691C271.333 126.691 292.869 129.611 312.756 135.028C360.396 102.519 381.523 109.189 381.523 109.189C395.197 143.779 386.491 169.622 384.007 175.872C400.165 193.374 409.691 215.879 409.691 243.385C409.691 340.075 351.285 361.326 295.358 367.582C304.474 375.499 312.341 390.5 312.341 414.257C312.341 448.013 311.931 475.105 311.931 483.437C311.931 490.106 316.49 498.028 328.914 495.527C428.333 462.18 499.999 367.996 499.999 256.723C500.409 117.52 388.15 5 250.207 5Z" fill="white"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -38,6 +38,8 @@ PODS:
|
||||
- file_picker (0.0.1):
|
||||
- DKImagePickerController/PhotoGallery
|
||||
- Flutter
|
||||
- file_saver (0.0.1):
|
||||
- Flutter
|
||||
- fk_user_agent (2.0.0):
|
||||
- Flutter
|
||||
- Flutter (1.0.0)
|
||||
@@ -110,6 +112,7 @@ DEPENDENCIES:
|
||||
- connectivity (from `.symlinks/plugins/connectivity/ios`)
|
||||
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||
- file_saver (from `.symlinks/plugins/file_saver/ios`)
|
||||
- fk_user_agent (from `.symlinks/plugins/fk_user_agent/ios`)
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_email_sender (from `.symlinks/plugins/flutter_email_sender/ios`)
|
||||
@@ -153,6 +156,8 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/device_info_plus/ios"
|
||||
file_picker:
|
||||
:path: ".symlinks/plugins/file_picker/ios"
|
||||
file_saver:
|
||||
:path: ".symlinks/plugins/file_saver/ios"
|
||||
fk_user_agent:
|
||||
:path: ".symlinks/plugins/fk_user_agent/ios"
|
||||
Flutter:
|
||||
@@ -202,6 +207,7 @@ SPEC CHECKSUMS:
|
||||
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
|
||||
file_saver: 503e386464dbe118f630e17b4c2e1190fa0cf808
|
||||
fk_user_agent: 1f47ec39291e8372b1d692b50084b0d54103c545
|
||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||
flutter_email_sender: 02d7443217d8c41483223627972bfdc09f74276b
|
||||
@@ -225,7 +231,7 @@ SPEC CHECKSUMS:
|
||||
Sentry: e3203780941722a1fcfee99e351de14244c7f806
|
||||
sentry_flutter: 8f0ffd53088e6a4d50c095852c5cad9e4405025c
|
||||
SentryPrivate: 5e3683390f66611fc7c6215e27645873adb55d13
|
||||
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
||||
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
|
||||
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
|
||||
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
|
||||
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
||||
|
||||
@@ -151,8 +151,6 @@
|
||||
"yesSendFeedbackAction": "Ja, Feedback senden",
|
||||
"noDeleteAccountAction": "Nein, Konto löschen",
|
||||
"initiateAccountDeleteTitle": "Bitte authentifizieren Sie sich, um die Kontolöschung einzuleiten",
|
||||
"confirmAccountDeleteTitle": "Sind Sie sicher, dass Sie Ihr ente Konto löschen wollen?",
|
||||
"confirmAccountDeleteMessage": "Ihre hochgeladenen Daten werden in allen Anwendungen (sowohl Fotos als auch Authenticator) zur Löschung vorgesehen und Ihr Konto wird dauerhaft gelöscht.",
|
||||
"sendEmail": "E-Mail senden",
|
||||
"createNewAccount": "Neues Konto erstellen",
|
||||
"weakStrength": "Schwach",
|
||||
|
||||
@@ -157,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "Yes, send feedback",
|
||||
"noDeleteAccountAction": "No, delete account",
|
||||
"initiateAccountDeleteTitle": "Please authenticate to initiate account deletion",
|
||||
"confirmAccountDeleteTitle": "Are you sure you want to delete your ente account?",
|
||||
"confirmAccountDeleteMessage": "Your uploaded data, across all apps (Photos and Authenticator both), will be scheduled for deletion, and your account will be permanently deleted.",
|
||||
"sendEmail": "Send email",
|
||||
"createNewAccount": "Create new account",
|
||||
"weakStrength": "Weak",
|
||||
@@ -336,5 +334,7 @@
|
||||
"minimizeAppOnCopy": "Minimize app on copy",
|
||||
"editCodeAuthMessage": "Authenticate to edit code",
|
||||
"deleteCodeAuthMessage": "Authenticate to delete code",
|
||||
"showQRAuthMessage": "Authenticate to show QR code"
|
||||
"showQRAuthMessage": "Authenticate to show QR code",
|
||||
"confirmAccountDeleteTitle": "Confirm account deletion",
|
||||
"confirmAccountDeleteMessage": "This account is linked to other ente apps, if you use any.\n\nYour uploaded data, across all ente apps, will be scheduled for deletion, and your account will be permanently deleted."
|
||||
}
|
||||
|
||||
@@ -9,8 +9,13 @@
|
||||
"onBoardingGetStarted": "Primeros pasos",
|
||||
"setupFirstAccount": "Configura tu primera cuenta",
|
||||
"importScanQrCode": "Escanear un código QR",
|
||||
"qrCode": "Código QR",
|
||||
"importEnterSetupKey": "Ingrese una llave de configuración",
|
||||
"importAccountPageTitle": "Ingrese los detalles de la cuenta",
|
||||
"secretCanNotBeEmpty": "El secreto no puede estar vacío",
|
||||
"bothIssuerAndAccountCanNotBeEmpty": "El emisor y la cuenta no pueden estar vacíos",
|
||||
"incorrectDetails": "Detalles incorrectos",
|
||||
"pleaseVerifyDetails": "Por favor, confirma los detalles e intentar otra vez",
|
||||
"codeIssuerHint": "Emisor",
|
||||
"codeSecretKeyHint": "Llave Secreta",
|
||||
"codeAccountHint": "Cuenta (tu@dominio.com)",
|
||||
@@ -53,6 +58,9 @@
|
||||
}
|
||||
},
|
||||
"contactSupport": "Ponerse en contacto con el equipo de soporte",
|
||||
"rateUsOnStore": "Califícanos en {storeName}",
|
||||
"blog": "Blog",
|
||||
"merchandise": "Mercancías",
|
||||
"verifyPassword": "Verificar contraseña",
|
||||
"pleaseWait": "Por favor, espere...",
|
||||
"generatingEncryptionKeysTitle": "Generando claves de encriptación...",
|
||||
@@ -68,10 +76,24 @@
|
||||
"changePassword": "Cambiar contraseña",
|
||||
"data": "Datos",
|
||||
"importCodes": "Importar códigos",
|
||||
"importTypePlainText": "Texto sin formato",
|
||||
"importTypeEnteEncrypted": "Exportación cifrada ente",
|
||||
"passwordForDecryptingExport": "Contraseña para descifrar exportación",
|
||||
"passwordEmptyError": "La contraseña no puede estar vacía",
|
||||
"importFromApp": "Importar códigos de {appName}",
|
||||
"importGoogleAuthGuide": "Exportar tus cuentas desde Google Authenticator a un código QR usando la opción \"Transferir Cuentas\". A continuación, usando otro dispositivo, escanee el código QR.\n\nConsejo: Puede usar la webcam de su portátil para tomar una foto del código QR.",
|
||||
"importSelectJsonFile": "Seleccione el archivo JSON",
|
||||
"importEnteEncGuide": "Seleccione el archivo JSON cifrado exportado desde ente",
|
||||
"importRaivoGuide": "Utilice la opción \"Exportar códigos a un archivo de Zip\" en la configuración de Raivo.\n\nExtraiga el archivo zip e importe el archivo JSON.",
|
||||
"importAegisGuide": "Utilice la opción \"Exportar la bóveda\" en ajustes de Aegis.\n\nSi tu bóveda es cifrada, necesitara entrar contraseña de bóveda para descifrar la bóveda.",
|
||||
"exportCodes": "Exportar códigos",
|
||||
"importLabel": "Importar",
|
||||
"importInstruction": "Por favor, seleccione un archivo que contenga una lista de sus códigos en el siguiente formato",
|
||||
"importCodeDelimiterInfo": "Los códigos pueden separarse por una coma o una nueva línea",
|
||||
"selectFile": "Seleccionar archivo",
|
||||
"emailVerificationToggle": "Verificación de correo electrónico",
|
||||
"emailVerificationEnableWarning": "Si estás guardando la autenticación de dos factores en tu correo electrónico con nosotros, activar la verificación de correo electrónico podría resultar en un punto muerto. Si está bloqueado fuera de un servicio, puede que no pueda iniciar sesión en el otro.",
|
||||
"authToChangeEmailVerificationSetting": "Por favor, autentifíquese para cambiar su correo electrónico",
|
||||
"authToViewYourRecoveryKey": "Por favor, autentifíquese para ver su clave de recuperación",
|
||||
"authToChangeYourEmail": "Por favor, autentifíquese para cambiar su correo electrónico",
|
||||
"authToChangeYourPassword": "Por favor, autentifíquese para cambiar su contraseña",
|
||||
@@ -81,6 +103,7 @@
|
||||
"no": "No",
|
||||
"email": "Correo electrónico",
|
||||
"support": "Soporte",
|
||||
"general": "General",
|
||||
"settings": "Configuración",
|
||||
"copied": "Copiado",
|
||||
"pleaseTryAgain": "Por favor, inténtalo nuevamente",
|
||||
@@ -90,6 +113,18 @@
|
||||
"enterYourPasswordHint": "Ingrese su contraseña",
|
||||
"forgotPassword": "Olvidé mi contraseña",
|
||||
"oops": "Ups",
|
||||
"suggestFeatures": "Sugerir funcionalidades",
|
||||
"faq": "Preguntas Frecuentes",
|
||||
"faq_q_1": "¿Cuán seguro es ente Auth?",
|
||||
"faq_a_1": "Todos los códigos que copia de seguridad vía ente se almacenan cifrados de extremo a extremo. Esto significa que solo usted puede acceder a sus códigos. Nuestras aplicaciones son de código abierto y nuestra criptografía ha sido auditada externamente.",
|
||||
"faq_q_2": "¿Puedo acceder a mis códigos en el escritorio?",
|
||||
"faq_a_2": "Puede acceder a tus códigos en la web en auth.ente.io.",
|
||||
"faq_q_3": "¿Cómo puedo borrar códigos?",
|
||||
"faq_a_3": "Puede eliminar un código deslizando a la izquierda en ese elemento.",
|
||||
"faq_q_4": "¿Cómo puedo apoyar este proyecto?",
|
||||
"faq_a_4": "Puedes apoyar el desarrollo de este proyecto suscribiéndote a nuestra app de Fotos en ente.io.",
|
||||
"faq_q_5": "¿Cómo puedo habilitar bloqueo FaceID en ente Auth",
|
||||
"faq_a_5": "Puede activar el bloqueo FaceID en Ajustes → Seguridad → Pantalla de bloqueo.",
|
||||
"somethingWentWrongMessage": "Algo ha ido mal, por favor, prueba otra vez",
|
||||
"leaveFamily": "Dejar plan familiar",
|
||||
"leaveFamilyMessage": "¿Está seguro de que desea abandonar el plan familiar?",
|
||||
@@ -122,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "Sí, enviar comentarios",
|
||||
"noDeleteAccountAction": "No, eliminar cuenta",
|
||||
"initiateAccountDeleteTitle": "Por favor, autentifíquese para iniciar la eliminación de la cuenta",
|
||||
"confirmAccountDeleteTitle": "¿Estás seguro de que quieres eliminar tu cuenta de ente?",
|
||||
"confirmAccountDeleteMessage": "Sus datos subidos a través de todas las aplicaciones (fotos y autenticador), se programarán para su eliminación y su cuenta se eliminará permanentemente.",
|
||||
"sendEmail": "Enviar correo electrónico",
|
||||
"createNewAccount": "Crear nueva cuenta",
|
||||
"weakStrength": "Poco segura",
|
||||
@@ -140,6 +173,7 @@
|
||||
"authToChangeLockscreenSetting": "Por favor autentifíquese para cambiar la configuración de bloqueo de pantalla",
|
||||
"lockScreenEnablePreSteps": "Para activar la pantalla de bloqueo, por favor configure la contraseña del dispositivo o el bloqueo de pantalla en los ajustes de sistema.",
|
||||
"viewActiveSessions": "Ver sesiones activas",
|
||||
"authToViewYourActiveSessions": "Por favor, autentifíquese para ver sus sesiones activas",
|
||||
"searchHint": "Buscar...",
|
||||
"search": "Buscar",
|
||||
"sorryUnableToGenCode": "Lo sentimos, no se puede generar un código para {issuerName}",
|
||||
@@ -149,12 +183,14 @@
|
||||
"enterDetailsManually": "Ingrese los detalles manualmente",
|
||||
"edit": "Editar",
|
||||
"copiedToClipboard": "Copiado al portapapeles",
|
||||
"copiedNextToClipboard": "Copiado el siguiente código al portapapeles",
|
||||
"error": "Error",
|
||||
"recoveryKeyCopiedToClipboard": "Llave de recuperación copiada al portapapeles",
|
||||
"recoveryKeyOnForgotPassword": "Si olvida su contraseña, la única forma de recuperar sus datos es con esta clave.",
|
||||
"recoveryKeySaveDescription": "Nosotros no almacenamos esta clave, por favor guarde dicha clave de 24 palabras en un lugar seguro.",
|
||||
"doThisLater": "Hacer esto más tarde",
|
||||
"saveKey": "Guardar Clave",
|
||||
"back": "Atrás",
|
||||
"createAccount": "Crear cuenta",
|
||||
"passwordStrength": "Fortaleza de la contraseña: {passwordStrengthValue}",
|
||||
"@passwordStrength": {
|
||||
@@ -177,6 +213,9 @@
|
||||
"changePasswordTitle": "Cambiar contraseña",
|
||||
"resetPasswordTitle": "Restablecer contraseña",
|
||||
"encryptionKeys": "Claves de cifrado",
|
||||
"passwordWarning": "No almacenamos esta contraseña, así que si la olvidas, <underline>no podemos descifrar tus datos</underline>",
|
||||
"enterPasswordToEncrypt": "Introduzca una contraseña que podamos usar para cifrar sus datos",
|
||||
"enterNewPasswordToEncrypt": "Introduzca una nueva contraseña que podamos usar para cifrar sus datos",
|
||||
"passwordChangedSuccessfully": "Contraseña cambiada correctamente",
|
||||
"generatingEncryptionKeys": "Generando claves de encriptación...",
|
||||
"continueLabel": "Continuar",
|
||||
@@ -215,6 +254,10 @@
|
||||
"privacy": "Privacidad",
|
||||
"terms": "Términos",
|
||||
"checkForUpdates": "Comprobar actualizaciones",
|
||||
"downloadUpdate": "Descargar",
|
||||
"criticalUpdateAvailable": "Actualización crítica disponible",
|
||||
"updateAvailable": "Actualizacion disponible",
|
||||
"update": "Actualizar",
|
||||
"checking": "Comprobando...",
|
||||
"youAreOnTheLatestVersion": "Está usando la versión más reciente",
|
||||
"warning": "Atención",
|
||||
@@ -224,9 +267,71 @@
|
||||
"description": "Text for the button to confirm the user understands the warning"
|
||||
},
|
||||
"authToExportCodes": "Por favor, autentifíquese para exportar sus códigos",
|
||||
"importSuccessTitle": "¡Hurra!",
|
||||
"importSuccessDesc": "¡Has importado {count} códigos!",
|
||||
"@importSuccessDesc": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"description": "The number of codes imported",
|
||||
"type": "int",
|
||||
"example": "1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sorry": "Lo sentimos",
|
||||
"importFailureDesc": "No se pudo analizar el archivo seleccionado.\n¡Por favor escriba a support@ente.io si necesita ayuda!",
|
||||
"pendingSyncs": "Atención",
|
||||
"pendingSyncsWarningBody": "Algunos de sus códigos no han sido respaldados.\n\nPor favor, asegúrese de tener una copia de seguridad de estos códigos antes de cerrar la sesión.",
|
||||
"checkInboxAndSpamFolder": "Por favor revisa tu bandeja de entrada (y spam) para completar la verificación",
|
||||
"tapToEnterCode": "Toca para introducir el código",
|
||||
"resendEmail": "Reenviar correo electrónico",
|
||||
"weHaveSendEmailTo": "Hemos enviado un correo a <green>{email}</green>",
|
||||
"@weHaveSendEmailTo": {
|
||||
"description": "Text to indicate that we have sent a mail to the user",
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"description": "The email address of the user",
|
||||
"type": "String",
|
||||
"example": "example@ente.io"
|
||||
}
|
||||
}
|
||||
},
|
||||
"activeSessions": "Sesiones activas",
|
||||
"somethingWentWrongPleaseTryAgain": "Algo ha ido mal, por favor, prueba otra vez",
|
||||
"thisWillLogYouOutOfThisDevice": "¡Esto cerrará la sesión de este dispositivo!",
|
||||
"thisWillLogYouOutOfTheFollowingDevice": "Esto cerrará la sesión del siguiente dispositivo:",
|
||||
"terminateSession": "¿Terminar sesión?",
|
||||
"terminate": "Terminar",
|
||||
"thisDevice": "Este dispositivo",
|
||||
"toResetVerifyEmail": "Para restablecer su contraseña, por favor verifique su correo electrónico primero.",
|
||||
"thisEmailIsAlreadyInUse": "Este correo electrónico ya está en uso",
|
||||
"verificationFailedPleaseTryAgain": "Verificación fallida, por favor inténtalo de nuevo",
|
||||
"yourVerificationCodeHasExpired": "Tu código de verificación ha expirado",
|
||||
"incorrectCode": "Código incorrecto",
|
||||
"sorryTheCodeYouveEnteredIsIncorrect": "Lo sentimos, el código que ha introducido es incorrecto",
|
||||
"emailChangedTo": "Correo electrónico cambiado a {newEmail}",
|
||||
"authenticationFailedPleaseTryAgain": "Error de autenticación, por favor inténtalo de nuevo",
|
||||
"authenticationSuccessful": "¡Autenticación exitosa!",
|
||||
"twofactorAuthenticationSuccessfullyReset": "Autenticación de doble factor restablecida con éxito",
|
||||
"incorrectRecoveryKey": "Clave de recuperación incorrecta",
|
||||
"theRecoveryKeyYouEnteredIsIncorrect": "La clave de recuperación introducida es incorrecta",
|
||||
"enterPassword": "Introduzca la contraseña",
|
||||
"selectExportFormat": "Seleccionar formato para exportar",
|
||||
"exportDialogDesc": "Las exportaciones cifradas estarán protegidas por una contraseña de su elección.",
|
||||
"encrypted": "Cifrado",
|
||||
"plainText": "Texto sin formato",
|
||||
"passwordToEncryptExport": "Contraseña para cifrar la exportación",
|
||||
"export": "Exportar",
|
||||
"useOffline": "Usar sin copias de seguridad",
|
||||
"signInToBackup": "Inicia sesión para hacer copia de tus códigos",
|
||||
"singIn": "Iniciar sesión",
|
||||
"sigInBackupReminder": "Por favor, exporte sus códigos para asegurarse de que tiene una copia de seguridad de la que puede restaurar.",
|
||||
"offlineModeWarning": "Ha elegido proceder sin copia de seguridad. Por favor, tome copias de seguridad manuales para asegurarse de que sus códigos están seguros.",
|
||||
"showLargeIcons": "Mostrar iconos grandes",
|
||||
"shouldHideCode": "Ocultar códigos",
|
||||
"focusOnSearchBar": "Enfocar búsqueda al iniciar la aplicación",
|
||||
"confirmUpdatingkey": "¿Estás seguro de que deseas actualizar la clave secreto?",
|
||||
"minimizeAppOnCopy": "Minimizar aplicación al copiar",
|
||||
"editCodeAuthMessage": "Autenticar para editar código",
|
||||
"deleteCodeAuthMessage": "Autenticar para borrar código",
|
||||
"showQRAuthMessage": "Autenticar para mostrar código QR"
|
||||
|
||||
@@ -121,8 +121,6 @@
|
||||
"yesSendFeedbackAction": "بله، ارسال بازخورد",
|
||||
"noDeleteAccountAction": "خیر، حساب کاربری را حذف کن",
|
||||
"initiateAccountDeleteTitle": "لطفا جهت شروع فرآیند حذف حساب کاربری، اعتبارسنجی کنید",
|
||||
"confirmAccountDeleteTitle": "آیا از حذف حساب کاربری خود اطمینان دارید؟",
|
||||
"confirmAccountDeleteMessage": "دادههای آپلود شده شما، در همه برنامهها(هر دو برنامه عکسها و احراز هویت)، طبق زمانبندی و حساب کاربری شما برای همیشه حذف خواهد شد.",
|
||||
"sendEmail": "ارسال ایمیل",
|
||||
"createNewAccount": "ایجاد حساب کاربری جدید",
|
||||
"weakStrength": "ضعیف",
|
||||
|
||||
@@ -110,8 +110,6 @@
|
||||
"yesSendFeedbackAction": "Kyllä, lähetä palautetta",
|
||||
"noDeleteAccountAction": "En, poista tili",
|
||||
"initiateAccountDeleteTitle": "Ole hyvä ja tee todennus käynnistääksesi tilisi poistoprosessin",
|
||||
"confirmAccountDeleteTitle": "Haluatko varmasti poistaa Ente-tilisi?",
|
||||
"confirmAccountDeleteMessage": "Lataamasi tiedot kaikkien sovellusten kesken (molemmat, sekä kuvat ja todenteet) ajastetaan poistettavaksi ja tilisi poistetaan pysyvästi.",
|
||||
"sendEmail": "Lähetä sähköpostia",
|
||||
"createNewAccount": "Luo uusi tili",
|
||||
"weakStrength": "Heikko salasana",
|
||||
|
||||
@@ -157,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "Oui, envoyer un commentaire",
|
||||
"noDeleteAccountAction": "Non, supprimer le compte",
|
||||
"initiateAccountDeleteTitle": "Veuillez vous authentifier pour débuter la suppression du compte",
|
||||
"confirmAccountDeleteTitle": "Êtes-vous sûr de vouloir supprimer votre compte ente ?",
|
||||
"confirmAccountDeleteMessage": "Vos données, à travers toutes les applications (Photos et Authenticator), seront programmées pour être supprimées et votre compte sera définitivement supprimé.",
|
||||
"sendEmail": "Envoyer un e-mail",
|
||||
"createNewAccount": "Créer un nouveau compte",
|
||||
"weakStrength": "Faible",
|
||||
|
||||
@@ -157,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "כן, שלח משוב",
|
||||
"noDeleteAccountAction": "לא, מחק את החשבון",
|
||||
"initiateAccountDeleteTitle": "אנא אמת על מנת להתחיל את מחיקת החשבון שלך",
|
||||
"confirmAccountDeleteTitle": "האם אתה בטוח שברצונך למחוק את חשבונך?",
|
||||
"confirmAccountDeleteMessage": "המידע שלך שהועלה, ברחבי כל האפליקציות (גם ב-Photos וב-Authenticator), יהיה מועמד למחיקה, וגם המחשבון שלך ימחק לצמיתות.",
|
||||
"sendEmail": "שלח אימייל",
|
||||
"createNewAccount": "צור חשבון חדש",
|
||||
"weakStrength": "חלש",
|
||||
|
||||
@@ -157,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "Sì, invia un feedback",
|
||||
"noDeleteAccountAction": "No, elimina l'account",
|
||||
"initiateAccountDeleteTitle": "Si prega di autenticarsi per avviare l'eliminazione dell'account",
|
||||
"confirmAccountDeleteTitle": "Sei sicuro di voler eliminare il tuo account?",
|
||||
"confirmAccountDeleteMessage": "I tuoi dati caricati, in tutte le app (sia foto che autenticatore), verranno pianificati per la cancellazione, e il tuo account sarà eliminato in modo permanente.",
|
||||
"sendEmail": "Invia email",
|
||||
"createNewAccount": "Crea un nuovo account",
|
||||
"weakStrength": "Debole",
|
||||
@@ -336,5 +334,7 @@
|
||||
"minimizeAppOnCopy": "Riduci a icona l'app dopo la copia",
|
||||
"editCodeAuthMessage": "Autenticarsi per modificare il codice",
|
||||
"deleteCodeAuthMessage": "Autenticarsi per cancellare il codice",
|
||||
"showQRAuthMessage": "Autenticarsi per mostrare il codice QR"
|
||||
"showQRAuthMessage": "Autenticarsi per mostrare il codice QR",
|
||||
"confirmAccountDeleteTitle": "Conferma l'eliminazione dell'account",
|
||||
"confirmAccountDeleteMessage": "Questo account è collegato ad altre app di ente, se ne utilizzi.\n\nI tuoi dati caricati, su tutte le app di ente, saranno pianificati per la cancellazione e il tuo account verrà eliminato definitivamente."
|
||||
}
|
||||
@@ -122,8 +122,6 @@
|
||||
"yesSendFeedbackAction": "はい、フィードバックを送信します",
|
||||
"noDeleteAccountAction": "いいえ、アカウントを削除します",
|
||||
"initiateAccountDeleteTitle": "アカウント削除を開始するには認証してください",
|
||||
"confirmAccountDeleteTitle": "本当に ente アカウントを削除してよろしいですか?",
|
||||
"confirmAccountDeleteMessage": "アップロードされたデータは、すべてのアプリ(写真と認証アプリの両方) で削除がスケジュールされます。アカウントは完全に削除されます。",
|
||||
"sendEmail": "メール送信",
|
||||
"createNewAccount": "新規アカウント作成",
|
||||
"weakStrength": "脆弱",
|
||||
|
||||
@@ -156,8 +156,6 @@
|
||||
"yesSendFeedbackAction": "Ja, geef feedback",
|
||||
"noDeleteAccountAction": "Nee, verwijder account",
|
||||
"initiateAccountDeleteTitle": "Gelieve te verifiëren om het account te verwijderen",
|
||||
"confirmAccountDeleteTitle": "Weet je zeker dat je je ente account wil verwijderen?",
|
||||
"confirmAccountDeleteMessage": "Uw geüploade gegevens, in alle apps (Photos en Authenticator), worden ingepland voor verwijdering en uw account zal permanent worden verwijderd.",
|
||||
"sendEmail": "E-mail versturen",
|
||||
"createNewAccount": "Nieuw account aanmaken",
|
||||
"weakStrength": "Zwak",
|
||||
|
||||
@@ -9,8 +9,13 @@
|
||||
"onBoardingGetStarted": "Wprowadzenie",
|
||||
"setupFirstAccount": "Skonfiguruj pierwsze konto",
|
||||
"importScanQrCode": "Zeskanuj kod QR",
|
||||
"qrCode": "Kod QR",
|
||||
"importEnterSetupKey": "Wprowadź klucz",
|
||||
"importAccountPageTitle": "Wprowadź dane konta",
|
||||
"secretCanNotBeEmpty": "Sekret nie może być pusty",
|
||||
"bothIssuerAndAccountCanNotBeEmpty": "Pola wydawca i konto nie mogą być puste",
|
||||
"incorrectDetails": "Nieprawidłowe szczegóły",
|
||||
"pleaseVerifyDetails": "Proszę zweryfikować szczegóły i spróbuj ponownie",
|
||||
"codeIssuerHint": "Wydawca",
|
||||
"codeSecretKeyHint": "Tajny klucz",
|
||||
"codeAccountHint": "Konto (ty@domena.com)",
|
||||
@@ -53,6 +58,9 @@
|
||||
}
|
||||
},
|
||||
"contactSupport": "Skontaktuj się z pomocą techniczną",
|
||||
"rateUsOnStore": "Oceń nas na {storeName}",
|
||||
"blog": "Blog",
|
||||
"merchandise": "Sklep",
|
||||
"verifyPassword": "Zweryfikuj hasło",
|
||||
"pleaseWait": "Proszę czekać...",
|
||||
"generatingEncryptionKeysTitle": "Generowanie kluczy szyfrujących...",
|
||||
@@ -68,10 +76,24 @@
|
||||
"changePassword": "Zmień hasło",
|
||||
"data": "Dane",
|
||||
"importCodes": "Importuj kody",
|
||||
"importTypePlainText": "Zwykły tekst",
|
||||
"importTypeEnteEncrypted": "Zaszyfrowany eksport ente",
|
||||
"passwordForDecryptingExport": "Hasło do odszyfrowania eksportu",
|
||||
"passwordEmptyError": "Pole hasło nie może być puste",
|
||||
"importFromApp": "Importuj kody z {appName}",
|
||||
"importGoogleAuthGuide": "Wyeksportuj twoje konta z Google Authenticator do kodu QR używając opcji \"Przenieś konta\". Potem używając innego urządzenia, zeskanuj kod QR.",
|
||||
"importSelectJsonFile": "Wybierz plik JSON",
|
||||
"importEnteEncGuide": "Wybierz zaszyfrowany plik JSON wyeksportowany z ente",
|
||||
"importRaivoGuide": "Użyj opcji \"Eksportuj OTP do archiwum ZIP\" w Ustawieniach Raivo.\n\nWyodrębnij plik zip i zaimportuj plik JSON.",
|
||||
"importAegisGuide": "Użyj opcji \"Eksportuj sejf\" w ustawieniach Aegis.\n\nJeśli twój sejf jest zaszyfrowany, musisz wprowadzić hasło sejfu, aby odszyfrować sejf.",
|
||||
"exportCodes": "Eksportuj kody",
|
||||
"importLabel": "Importuj",
|
||||
"importInstruction": "Wybierz plik, który zawiera listę twoich kodów w następującym formacie",
|
||||
"importCodeDelimiterInfo": "Kody mogą być oddzielone przecinkiem lub nową linią",
|
||||
"selectFile": "Wybierz plik",
|
||||
"emailVerificationToggle": "Weryfikacja e-mail",
|
||||
"emailVerificationEnableWarning": "Jeśli przechowujesz uwierzytelnianie dwuskładnikowe do twojego e-mailu z nami, włączenie weryfikacji adresu e-mail może spowodować impas. Jeśli jesteś zablokowany z jednej usługi, możesz nie być w stanie zalogować się do drugiej.",
|
||||
"authToChangeEmailVerificationSetting": "Proszę uwierzytelnić, aby zmienić weryfikację e-mail",
|
||||
"authToViewYourRecoveryKey": "Proszę uwierzytelnić, aby wyświetlić swój klucz odzyskiwania",
|
||||
"authToChangeYourEmail": "Proszę uwierzytelnić, aby zmienić swój adres e-mail",
|
||||
"authToChangeYourPassword": "Proszę uwierzytelnić, aby zmienić hasło",
|
||||
@@ -81,6 +103,7 @@
|
||||
"no": "Nie",
|
||||
"email": "Email",
|
||||
"support": "Wsparcie techniczne",
|
||||
"general": "Ogólne",
|
||||
"settings": "Ustawienia",
|
||||
"copied": "Skopiowano",
|
||||
"pleaseTryAgain": "Proszę spróbować ponownie",
|
||||
@@ -90,6 +113,18 @@
|
||||
"enterYourPasswordHint": "Wprowadź swoje hasło",
|
||||
"forgotPassword": "Nie pamiętam hasła",
|
||||
"oops": "Ups",
|
||||
"suggestFeatures": "Zaproponuj funkcje",
|
||||
"faq": "Najczęściej zadawane pytania (FAQ)",
|
||||
"faq_q_1": "Jak bezpieczny jest ente Auth?",
|
||||
"faq_a_1": "Wszystkie kody, których tworzysz kopię zapasową za pomocą ente są przechowywane zaszyfrowane end-to-end. Oznacza to, że tylko Ty możesz uzyskać dostęp do swoich kodów. Nasze aplikacje są otwarto-źródłowe, a nasza kryptografia została poddana sprawdzeniu z zewnątrz.",
|
||||
"faq_q_2": "Czy mogę uzyskać dostęp do moich kodów na komputerze?",
|
||||
"faq_a_2": "Możesz uzyskać dostęp do swoich kodów na stronie auth.ente.io.",
|
||||
"faq_q_3": "Jak mogę usunąć kody?",
|
||||
"faq_a_3": "Możesz usunąć kod, przesuwając go w lewo.",
|
||||
"faq_q_4": "Jak mogę wesprzeć ten projekt?",
|
||||
"faq_a_4": "Możesz wspierać rozwój tego projektu, subskrybując do naszej aplikacji Zdjęcia na ente.io.",
|
||||
"faq_q_5": "Jak mogę włączyć blokadę FaceID w ente Auth?",
|
||||
"faq_a_5": "Możesz włączyć blokadę FaceID w Ustawienia → Bezpieczeństwo→ Ekran blokady.",
|
||||
"somethingWentWrongMessage": "Coś poszło nie tak. Proszę, spróbuj ponownie",
|
||||
"leaveFamily": "Opuść rodzinę",
|
||||
"leaveFamilyMessage": "Czy jesteś pewien/pewna, że chcesz opuścić plan rodzinny?",
|
||||
@@ -122,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "Tak, wyślij opinię",
|
||||
"noDeleteAccountAction": "Nie, usuń moje konto",
|
||||
"initiateAccountDeleteTitle": "Proszę uwierzytelnić, aby zainicjować usuwanie konta",
|
||||
"confirmAccountDeleteTitle": "Na pewno chcesz usunąć swoje konto ente?",
|
||||
"confirmAccountDeleteMessage": "Twoje przesłane dane, we wszystkich aplikacjach (zarówno Zdjęcia, jak i Authenticator), zostaną zaplanowane do usunięcia, a Twoje konto zostanie trwale usunięte.",
|
||||
"sendEmail": "Wyślij e-mail",
|
||||
"createNewAccount": "Utwórz nowe konto",
|
||||
"weakStrength": "Słabe",
|
||||
@@ -150,12 +183,14 @@
|
||||
"enterDetailsManually": "Wprowadź dane ręcznie",
|
||||
"edit": "Edytuj",
|
||||
"copiedToClipboard": "Skopiowano do schowka",
|
||||
"copiedNextToClipboard": "Skopiowano następny kod do schowka",
|
||||
"error": "Błąd",
|
||||
"recoveryKeyCopiedToClipboard": "Klucz odzyskiwania został skopiowany do schowka",
|
||||
"recoveryKeyOnForgotPassword": "Jeśli zapomnisz hasła, jedynym sposobem na odzyskanie danych jest ten klucz.",
|
||||
"recoveryKeySaveDescription": "Nie przechowujemy tego klucza, proszę zachować ten 24 wyrazowy klucz w bezpiecznym miejscu.",
|
||||
"doThisLater": "Zrób To Później",
|
||||
"saveKey": "Zapisz klucz",
|
||||
"back": "Wstecz",
|
||||
"createAccount": "Utwórz konto",
|
||||
"passwordStrength": "Siła hasła: {passwordStrengthValue}",
|
||||
"@passwordStrength": {
|
||||
@@ -219,6 +254,10 @@
|
||||
"privacy": "Prywatność",
|
||||
"terms": "Warunki",
|
||||
"checkForUpdates": "Sprawdź czy są dostępne nowe aktualizacje",
|
||||
"downloadUpdate": "Pobierz",
|
||||
"criticalUpdateAvailable": "Dostępna jest krytyczna aktualizacja",
|
||||
"updateAvailable": "Dostępna jest aktualizacja",
|
||||
"update": "Aktualizuj",
|
||||
"checking": "Sprawdzanie...",
|
||||
"youAreOnTheLatestVersion": "Używasz najnowszej wersji",
|
||||
"warning": "Ostrzeżenie",
|
||||
@@ -264,6 +303,35 @@
|
||||
"terminateSession": "Zakończyć sesję?",
|
||||
"terminate": "Zakończ",
|
||||
"thisDevice": "To urządzenie",
|
||||
"toResetVerifyEmail": "Aby zresetować hasło, najpierw zweryfikuj swój e-mail.",
|
||||
"thisEmailIsAlreadyInUse": "Ten adres e-mail już jest zajęty",
|
||||
"verificationFailedPleaseTryAgain": "Weryfikacja nie powiodła się, spróbuj ponownie",
|
||||
"yourVerificationCodeHasExpired": "Twój kod weryfikacyjny wygasł",
|
||||
"incorrectCode": "Nieprawidłowy kod",
|
||||
"sorryTheCodeYouveEnteredIsIncorrect": "Niestety, wprowadzony kod jest nieprawidłowy",
|
||||
"emailChangedTo": "Adres e-mail został zmieniony na {newEmail}",
|
||||
"authenticationFailedPleaseTryAgain": "Uwierzytelnianie nie powiodło się, proszę spróbować ponownie",
|
||||
"authenticationSuccessful": "Uwierzytelnianie powiodło się!",
|
||||
"twofactorAuthenticationSuccessfullyReset": "Pomyślnie zresetowano uwierzytelnianie dwuskładnikowe",
|
||||
"incorrectRecoveryKey": "Nieprawidłowy klucz odzyskiwania",
|
||||
"theRecoveryKeyYouEnteredIsIncorrect": "Wprowadzony klucz odzyskiwania jest nieprawidłowy",
|
||||
"enterPassword": "Wprowadź hasło",
|
||||
"selectExportFormat": "Wybierz format eksportu",
|
||||
"exportDialogDesc": "Zaszyfrowane eksporty będą chronione przez wybrane przez Ciebie hasło.",
|
||||
"encrypted": "Zaszyfrowane",
|
||||
"plainText": "Zwykły tekst",
|
||||
"passwordToEncryptExport": "Hasło do odszyfrowania eksportu",
|
||||
"export": "Eksportuj",
|
||||
"useOffline": "Używaj bez kopii zapasowych",
|
||||
"signInToBackup": "Zaloguj się, aby wykonać kopię zapasową swoich kodów",
|
||||
"singIn": "Zaloguj się",
|
||||
"sigInBackupReminder": "Proszę wyeksportować swoje kody, aby upewnić się, że masz kopię zapasową, z której możesz przywrócić swoje kody.",
|
||||
"offlineModeWarning": "Wybrałeś kontynuację bez kopii zapasowych. Proszę wykonywać ręczne kopie zapasowe, aby upewnić się, że Twoje kody są bezpieczne.",
|
||||
"showLargeIcons": "Pokaż duże ikony",
|
||||
"shouldHideCode": "Ukryj kody",
|
||||
"focusOnSearchBar": "Uaktywnij wyszukiwanie przy uruchamianiu aplikacji",
|
||||
"confirmUpdatingkey": "Czy na pewno chcesz zaktualizować tajny klucz?",
|
||||
"minimizeAppOnCopy": "Minimalizuj aplikację przy kopiowaniu",
|
||||
"editCodeAuthMessage": "Uwierzytelnij, aby edytować kod",
|
||||
"deleteCodeAuthMessage": "Uwierzytelnij, aby usunąć kod",
|
||||
"showQRAuthMessage": "Uwierzytelnij, aby pokazać kod QR"
|
||||
|
||||
@@ -120,8 +120,6 @@
|
||||
"yesSendFeedbackAction": "Sim, enviar feedback",
|
||||
"noDeleteAccountAction": "Não, excluir conta",
|
||||
"initiateAccountDeleteTitle": "Por favor, autentique-se para iniciar a exclusão de conta",
|
||||
"confirmAccountDeleteTitle": "Tem certeza que deseja excluir sua conta ente?",
|
||||
"confirmAccountDeleteMessage": "Seus dados enviados, através de todos os aplicativos (Photos e Authenticator), serão agendados para exclusão, e sua conta será permanentemente deletada.",
|
||||
"sendEmail": "Enviar e-mail",
|
||||
"createNewAccount": "Criar nova conta",
|
||||
"weakStrength": "Fraca",
|
||||
|
||||
@@ -155,8 +155,6 @@
|
||||
"yesSendFeedbackAction": "Да, отправить отзыв",
|
||||
"noDeleteAccountAction": "Нет, удалить аккаунт",
|
||||
"initiateAccountDeleteTitle": "Пожалуйста, авторизуйтесь, чтобы начать удаление аккаунта",
|
||||
"confirmAccountDeleteTitle": "Вы уверены, что хотите удалить ваш аккаунт ente?",
|
||||
"confirmAccountDeleteMessage": "Ваши загруженные данные во всех приложениях (как фотографии, так и средство аутентификации) будут запланированы к удалению, а ваш аккаунт будет удален безвозвратно.",
|
||||
"sendEmail": "Отправить электронное письмо",
|
||||
"createNewAccount": "Создать новый аккаунт",
|
||||
"weakStrength": "Слабый",
|
||||
|
||||
@@ -153,8 +153,6 @@
|
||||
"yesSendFeedbackAction": "Evet, geri bildirimi gönder",
|
||||
"noDeleteAccountAction": "Hayır, hesabı sil",
|
||||
"initiateAccountDeleteTitle": "Hesap silme işlemini yapabilmek için lütfen kimliğinizi doğrulayın",
|
||||
"confirmAccountDeleteTitle": "ente hesabınızı silmek istediğinizden emin misiniz?",
|
||||
"confirmAccountDeleteMessage": "Tüm uygulamalarda (Fotoğraflar ve Kimlik doğrulayıcı) kaydedilen verileriniz zamanlı silinmeye ayarlanacak ve hesabınız kalıcı olarak silinecektir.",
|
||||
"sendEmail": "E-posta gönder",
|
||||
"createNewAccount": "Yeni hesap oluşturun",
|
||||
"weakStrength": "Zayıf",
|
||||
|
||||
@@ -126,8 +126,6 @@
|
||||
"yesSendFeedbackAction": "Có, gửi phản hồi",
|
||||
"noDeleteAccountAction": "Không, xóa tài khoản",
|
||||
"initiateAccountDeleteTitle": "Vui lòng xác thực để bắt đầu xóa tài khoản",
|
||||
"confirmAccountDeleteTitle": "Bạn có chắc rằng bạn muốn xóa tài khoản ente của bạn không?",
|
||||
"confirmAccountDeleteMessage": "Dữ liệu đã tải lên của bạn, trên tất cả các ứng dụng (cả Ảnh và Authenticator), sẽ được lên lịch xóa và tài khoản của bạn sẽ bị xóa vĩnh viễn.",
|
||||
"sendEmail": "Gửi email",
|
||||
"createNewAccount": "Tạo tài khoản mới",
|
||||
"weakStrength": "Yếu",
|
||||
|
||||
@@ -157,8 +157,6 @@
|
||||
"yesSendFeedbackAction": "是,发送反馈",
|
||||
"noDeleteAccountAction": "不,删除账户",
|
||||
"initiateAccountDeleteTitle": "请进行身份验证以启动账户删除",
|
||||
"confirmAccountDeleteTitle": "确定要删除您的ente账户吗?",
|
||||
"confirmAccountDeleteMessage": "您上传的数据,跨越所有应用程序(Photos 和 Authenticator 两者),将被排定删除,您的账户将被永久删除。",
|
||||
"sendEmail": "发送电子邮件",
|
||||
"createNewAccount": "创建新账号",
|
||||
"weakStrength": "弱",
|
||||
@@ -336,5 +334,7 @@
|
||||
"minimizeAppOnCopy": "复制时最小化应用",
|
||||
"editCodeAuthMessage": "编辑代码需要身份验证",
|
||||
"deleteCodeAuthMessage": "删除代码需要身份验证",
|
||||
"showQRAuthMessage": "显示QR码需要身份验证"
|
||||
"showQRAuthMessage": "显示QR码需要身份验证",
|
||||
"confirmAccountDeleteTitle": "确认删除账户",
|
||||
"confirmAccountDeleteMessage": "该账户已链接到其他ente旗下的应用程序(如果您使用任何相关的应用程序)。\n\n您在所有ente旗下应用程序中上传的数据都将被安排删除,并且您的账户将被永久删除。"
|
||||
}
|
||||
@@ -47,7 +47,7 @@ class EnteColorScheme {
|
||||
final Color warning800;
|
||||
|
||||
final Color caution500;
|
||||
|
||||
final List<Color> avatarColors;
|
||||
const EnteColorScheme(
|
||||
this.backgroundBase,
|
||||
this.backgroundElevated,
|
||||
@@ -69,7 +69,8 @@ class EnteColorScheme {
|
||||
this.strokeFainter,
|
||||
this.blurStrokeBase,
|
||||
this.blurStrokeFaint,
|
||||
this.blurStrokePressed, {
|
||||
this.blurStrokePressed,
|
||||
this.avatarColors, {
|
||||
this.primaryGreen = _primaryGreen,
|
||||
this.primary700 = _primary700,
|
||||
this.primary500 = _primary500,
|
||||
@@ -105,6 +106,7 @@ const EnteColorScheme lightScheme = EnteColorScheme(
|
||||
blurStrokeBaseLight,
|
||||
blurStrokeFaintLight,
|
||||
blurStrokePressedLight,
|
||||
avatarLight,
|
||||
);
|
||||
|
||||
const EnteColorScheme darkScheme = EnteColorScheme(
|
||||
@@ -129,6 +131,7 @@ const EnteColorScheme darkScheme = EnteColorScheme(
|
||||
blurStrokeBaseDark,
|
||||
blurStrokeFaintDark,
|
||||
blurStrokePressedDark,
|
||||
avatarDark,
|
||||
);
|
||||
|
||||
// Background Colors
|
||||
@@ -204,3 +207,55 @@ const Color warning500 = Color.fromRGBO(255, 101, 101, 1);
|
||||
const Color _warning400 = Color.fromRGBO(255, 111, 111, 1);
|
||||
|
||||
const Color _caution500 = Color.fromRGBO(255, 194, 71, 1);
|
||||
|
||||
const List<Color> avatarLight = [
|
||||
Color.fromRGBO(118, 84, 154, 1),
|
||||
Color.fromRGBO(223, 120, 97, 1),
|
||||
Color.fromRGBO(148, 180, 159, 1),
|
||||
Color.fromRGBO(135, 162, 251, 1),
|
||||
Color.fromRGBO(198, 137, 198, 1),
|
||||
Color.fromRGBO(198, 137, 198, 1),
|
||||
Color.fromRGBO(50, 82, 136, 1),
|
||||
Color.fromRGBO(133, 180, 224, 1),
|
||||
Color.fromRGBO(193, 163, 163, 1),
|
||||
Color.fromRGBO(193, 163, 163, 1),
|
||||
Color.fromRGBO(66, 97, 101, 1),
|
||||
Color.fromRGBO(66, 97, 101, 1),
|
||||
Color.fromRGBO(66, 97, 101, 1),
|
||||
Color.fromRGBO(221, 157, 226, 1),
|
||||
Color.fromRGBO(130, 171, 139, 1),
|
||||
Color.fromRGBO(155, 187, 232, 1),
|
||||
Color.fromRGBO(143, 190, 190, 1),
|
||||
Color.fromRGBO(138, 195, 161, 1),
|
||||
Color.fromRGBO(168, 176, 242, 1),
|
||||
Color.fromRGBO(176, 198, 149, 1),
|
||||
Color.fromRGBO(233, 154, 173, 1),
|
||||
Color.fromRGBO(209, 132, 132, 1),
|
||||
Color.fromRGBO(120, 181, 167, 1),
|
||||
];
|
||||
|
||||
const List<Color> avatarDark = [
|
||||
Color.fromRGBO(118, 84, 154, 1),
|
||||
Color.fromRGBO(223, 120, 97, 1),
|
||||
Color.fromRGBO(148, 180, 159, 1),
|
||||
Color.fromRGBO(135, 162, 251, 1),
|
||||
Color.fromRGBO(198, 137, 198, 1),
|
||||
Color.fromRGBO(147, 125, 194, 1),
|
||||
Color.fromRGBO(50, 82, 136, 1),
|
||||
Color.fromRGBO(133, 180, 224, 1),
|
||||
Color.fromRGBO(193, 163, 163, 1),
|
||||
Color.fromRGBO(225, 160, 89, 1),
|
||||
Color.fromRGBO(66, 97, 101, 1),
|
||||
Color.fromRGBO(107, 119, 178, 1),
|
||||
Color.fromRGBO(149, 127, 239, 1),
|
||||
Color.fromRGBO(221, 157, 226, 1),
|
||||
Color.fromRGBO(130, 171, 139, 1),
|
||||
Color.fromRGBO(155, 187, 232, 1),
|
||||
Color.fromRGBO(143, 190, 190, 1),
|
||||
Color.fromRGBO(138, 195, 161, 1),
|
||||
Color.fromRGBO(168, 176, 242, 1),
|
||||
Color.fromRGBO(176, 198, 149, 1),
|
||||
Color.fromRGBO(233, 154, 173, 1),
|
||||
Color.fromRGBO(209, 132, 132, 1),
|
||||
Color.fromRGBO(120, 181, 167, 1),
|
||||
];
|
||||
|
||||
@@ -325,6 +325,7 @@ class _CodeWidgetState extends State<CodeWidget> {
|
||||
? const EdgeInsets.only(left: 16)
|
||||
: const EdgeInsets.all(0),
|
||||
child: IconUtils.instance.getIcon(
|
||||
context,
|
||||
safeDecode(widget.code.issuer).trim(),
|
||||
width: _shouldShowLargeIcon ? 42 : 24,
|
||||
),
|
||||
|
||||
@@ -107,21 +107,6 @@ class _AdvancedSectionWidgetState extends State<AdvancedSectionWidget> {
|
||||
),
|
||||
),
|
||||
sectionOptionSpacing,
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: l10n.crashAndErrorReporting,
|
||||
),
|
||||
trailingWidget: ToggleSwitchWidget(
|
||||
value: () => SuperLogging.shouldReportErrors(),
|
||||
onChanged: () async {
|
||||
await SuperLogging.setShouldReportErrors(
|
||||
!SuperLogging.shouldReportErrors(),
|
||||
);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
),
|
||||
sectionOptionSpacing,
|
||||
if (Platform.isAndroid) ...[
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
@@ -139,6 +124,21 @@ class _AdvancedSectionWidgetState extends State<AdvancedSectionWidget> {
|
||||
),
|
||||
sectionOptionSpacing,
|
||||
],
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: l10n.crashAndErrorReporting,
|
||||
),
|
||||
trailingWidget: ToggleSwitchWidget(
|
||||
value: () => SuperLogging.shouldReportErrors(),
|
||||
onChanged: () async {
|
||||
await SuperLogging.setShouldReportErrors(
|
||||
!SuperLogging.shouldReportErrors(),
|
||||
);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
),
|
||||
sectionOptionSpacing,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:ente_auth/ui/settings/common_settings.dart';
|
||||
import 'package:ente_auth/ui/settings/faq.dart';
|
||||
import 'package:ente_auth/utils/email_util.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
class SupportSectionWidget extends StatefulWidget {
|
||||
@@ -90,8 +91,12 @@ class _SupportSectionWidgetState extends State<SupportSectionWidget> {
|
||||
await sendLogs(context, l10n.reportBug, "auth@ente.io");
|
||||
},
|
||||
onDoubleTap: () async {
|
||||
final zipFilePath = await getZippedLogsFile(context);
|
||||
await shareLogs(context, "auth@ente.io", zipFilePath);
|
||||
try {
|
||||
final zipFilePath = await getZippedLogsFile(context);
|
||||
await shareLogs(context, "auth@ente.io", zipFilePath);
|
||||
} catch (e) {
|
||||
Logger("SupportSectionWidget").severe("failed to export logs", e);
|
||||
}
|
||||
},
|
||||
),
|
||||
sectionOptionSpacing,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:ente_auth/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
|
||||
class IconUtils {
|
||||
@@ -19,6 +19,7 @@ class IconUtils {
|
||||
}
|
||||
|
||||
Widget getIcon(
|
||||
BuildContext context,
|
||||
String provider, {
|
||||
double width = 24,
|
||||
}) {
|
||||
@@ -37,6 +38,20 @@ class IconUtils {
|
||||
_simpleIcons[title],
|
||||
width,
|
||||
);
|
||||
} else if (title.isNotEmpty) {
|
||||
bool showLargeIcon = width > 24;
|
||||
return CircleAvatar(
|
||||
radius: width / 2,
|
||||
backgroundColor: getEnteColorScheme(context).avatarColors[
|
||||
title.hashCode % getEnteColorScheme(context).avatarColors.length],
|
||||
child: Text(
|
||||
title.toUpperCase()[0],
|
||||
// fixed color
|
||||
style: showLargeIcon
|
||||
? getEnteTextTheme(context).h3Bold.copyWith(color: Colors.white)
|
||||
: getEnteTextTheme(context).body.copyWith(color: Colors.white),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
@@ -13,9 +13,11 @@ import 'package:ente_auth/ui/tools/debug/log_file_viewer.dart';
|
||||
// import 'package:ente_auth/ui/tools/debug/log_file_viewer.dart';
|
||||
import 'package:ente_auth/utils/dialog_util.dart';
|
||||
import 'package:ente_auth/utils/toast_util.dart';
|
||||
import 'package:file_saver/file_saver.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_email_sender/flutter_email_sender.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
// import 'package:open_mail_app/open_mail_app.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
@@ -198,9 +200,26 @@ Future<void> shareLogs(
|
||||
],
|
||||
);
|
||||
if (result?.action != null && result!.action == ButtonAction.second) {
|
||||
final Size size = MediaQuery.of(context).size;
|
||||
await Share.shareFiles(
|
||||
[zipFilePath],
|
||||
await exportLogs(context, zipFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> exportLogs(BuildContext context, String zipFilePath) async {
|
||||
final Size size = MediaQuery.of(context).size;
|
||||
if (Platform.isAndroid) {
|
||||
DateTime now = DateTime.now().toUtc();
|
||||
String shortMonthName = DateFormat('MMM').format(now); // Short month name
|
||||
String logFileName =
|
||||
'ente-logs-${now.year}-$shortMonthName-${now.day}-${now.hour}-${now.minute}';
|
||||
await FileSaver.instance.saveAs(
|
||||
name: logFileName,
|
||||
filePath: zipFilePath,
|
||||
mimeType: MimeType.zip,
|
||||
ext: 'zip',
|
||||
);
|
||||
} else {
|
||||
await Share.shareXFiles(
|
||||
[XFile(zipFilePath, mimeType: 'application/zip')],
|
||||
sharePositionOrigin: Rect.fromLTWH(0, 0, size.width, size.height / 2),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,11 +6,15 @@
|
||||
|
||||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <file_saver/file_saver_plugin.h>
|
||||
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
|
||||
#include <sentry_flutter/sentry_flutter_plugin.h>
|
||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||
|
||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||
g_autoptr(FlPluginRegistrar) file_saver_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSaverPlugin");
|
||||
file_saver_plugin_register_with_registrar(file_saver_registrar);
|
||||
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
|
||||
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
file_saver
|
||||
flutter_secure_storage_linux
|
||||
sentry_flutter
|
||||
url_launcher_linux
|
||||
|
||||
@@ -7,12 +7,13 @@ import Foundation
|
||||
|
||||
import connectivity_macos
|
||||
import device_info_plus
|
||||
import file_saver
|
||||
import flutter_local_notifications
|
||||
import flutter_secure_storage_macos
|
||||
import package_info_plus
|
||||
import path_provider_foundation
|
||||
import sentry_flutter
|
||||
import share_plus_macos
|
||||
import share_plus
|
||||
import shared_preferences_foundation
|
||||
import sqflite
|
||||
import url_launcher_macos
|
||||
@@ -20,6 +21,7 @@ import url_launcher_macos
|
||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||
ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin"))
|
||||
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
|
||||
FileSaverPlugin.register(with: registry.registrar(forPlugin: "FileSaverPlugin"))
|
||||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
|
||||
FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin"))
|
||||
|
||||
52
pubspec.lock
@@ -418,6 +418,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.3.1"
|
||||
file_saver:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: file_saver
|
||||
sha256: "591d25e750e3a4b654f7b0293abc2ed857242f82ca7334051b2a8ceeb369dac8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.8"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -675,10 +683,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: http
|
||||
sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
|
||||
sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.13.6"
|
||||
version: "1.1.0"
|
||||
http_multi_server:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1123,50 +1131,18 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: share_plus
|
||||
sha256: f582d5741930f3ad1bf0211d358eddc0508cc346e5b4b248bd1e569c995ebb7a
|
||||
sha256: f74fc3f1cbd99f39760182e176802f693fa0ec9625c045561cfad54681ea93dd
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.5.3"
|
||||
share_plus_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_linux
|
||||
sha256: dc32bf9f1151b9864bb86a997c61a487967a08f2e0b4feaa9a10538712224da4
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
share_plus_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_macos
|
||||
sha256: "44daa946f2845045ecd7abb3569b61cd9a55ae9cc4cbec9895b2067b270697ae"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "7.2.1"
|
||||
share_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_platform_interface
|
||||
sha256: "0c6e61471bd71b04a138b8b588fa388e66d8b005e6f2deda63371c5c505a0981"
|
||||
sha256: df08bc3a07d01f5ea47b45d03ffcba1fa9cd5370fb44b3f38c70e42cced0f956
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.1"
|
||||
share_plus_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_web
|
||||
sha256: eaef05fa8548b372253e772837dd1fbe4ce3aca30ea330765c945d7d4f7c9935
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
share_plus_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_windows
|
||||
sha256: "3a21515ae7d46988d42130cd53294849e280a5de6ace24bae6912a1bffd757d4"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.3.1"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: ente_auth
|
||||
description: ente two-factor authenticator
|
||||
version: 2.0.10+210
|
||||
version: 2.0.14+214
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
@@ -27,6 +27,8 @@ dependencies:
|
||||
expandable: ^5.0.1
|
||||
expansion_tile_card: ^3.0.0
|
||||
file_picker: ^5.2.4
|
||||
# https://github.com/incrediblezayed/file_saver/issues/86
|
||||
file_saver: 0.2.8
|
||||
fk_user_agent: ^2.1.0
|
||||
flutter:
|
||||
sdk: flutter
|
||||
@@ -48,7 +50,7 @@ dependencies:
|
||||
flutter_svg: ^2.0.5
|
||||
fluttertoast: ^8.1.1
|
||||
google_nav_bar: ^5.0.5 #supported
|
||||
http: ^0.13.4
|
||||
http: ^1.1.0
|
||||
intl: ^0.18.0
|
||||
json_annotation: ^4.5.0
|
||||
local_auth: ^2.1.7
|
||||
@@ -67,7 +69,7 @@ dependencies:
|
||||
qr_flutter: 4.0.0
|
||||
sentry: ^7.9.0
|
||||
sentry_flutter: ^7.9.0
|
||||
share_plus: ^4.4.0
|
||||
share_plus: ^7.2.1
|
||||
shared_preferences: ^2.0.5
|
||||
sqflite: ^2.1.0
|
||||
step_progress_indicator: ^1.0.2
|
||||
|
||||
@@ -6,18 +6,24 @@
|
||||
|
||||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <file_saver/file_saver_plugin.h>
|
||||
#include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h>
|
||||
#include <local_auth_windows/local_auth_plugin.h>
|
||||
#include <sentry_flutter/sentry_flutter_plugin.h>
|
||||
#include <share_plus/share_plus_windows_plugin_c_api.h>
|
||||
#include <url_launcher_windows/url_launcher_windows.h>
|
||||
|
||||
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||
FileSaverPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("FileSaverPlugin"));
|
||||
FlutterSecureStorageWindowsPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin"));
|
||||
LocalAuthPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("LocalAuthPlugin"));
|
||||
SentryFlutterPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("SentryFlutterPlugin"));
|
||||
SharePlusWindowsPluginCApiRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi"));
|
||||
UrlLauncherWindowsRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
#
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
file_saver
|
||||
flutter_secure_storage_windows
|
||||
local_auth_windows
|
||||
sentry_flutter
|
||||
share_plus
|
||||
url_launcher_windows
|
||||
)
|
||||
|
||||
|
||||