* feat: add x-tinyauth-location to nginx response
Solves #773. Normally you let Nginx handle the login URL creation but with this "hack"
we can set an arbitary header with where Tinyauth wants the user to go to. Later the
Nginx error page can get this header and redirect accordingly.
* tests: fix assert.Equal order
* feat: add pkce support to oidc server
* tests: add test cases for pkce
* fix: review comments
* chore: remove debug line
* chore: remove simple logger from testing
* tests: add test for invalid challenge method
* chore: fix typo
* feat: add oidc client create command
* refactor: use own utility for creating random strings (more flexible
than stdlib)
* feat: validate client name to avoid config errors
* refactor: limit to only alphanumeric characters and hyphens
* refactor: remove the need of the logger in the create oidc client cmd
* feat: auto generate example env file
* refactor: simplify build paths func and better slice handling
* chore: forgot to stage everything
* chore: review comments
* refactor: remove square brackets because they mess up the syntax
highlighting
* refactor: use lowercase name to mark dynamic values
* refactor(continue-page): simplify useEffect to avoid unnecessary dependencies
* fix: use the href of the url object instead of the object iself as the
dep in the callback
---------
Co-authored-by: Stavros <steveiliop56@gmail.com>
* Refactor logging to use centralized logger utility
- Removed direct usage of zerolog in multiple files and replaced it with a centralized logging utility in the `utils` package.
- Introduced `Loggers` struct to manage different loggers (Audit, HTTP, App) with configurable levels and outputs.
- Updated all relevant files to utilize the new logging structure, ensuring consistent logging practices across the application.
- Enhanced error handling and logging messages for better traceability and debugging.
* refactor: update logging implementation to use new logger structure
* Refactor logging to use tlog package
- Replaced instances of utils logging with tlog in various controllers, services, and middleware.
- Introduced audit logging for login success, login failure, and logout events.
- Created tlog package with structured logging capabilities using zerolog.
- Added tests for the new tlog logger functionality.
* refactor: update logging configuration in environment files
* fix: adding coderabbit suggestions
* fix: ensure correct audit caller
* fix: include reason in audit login failure logs
* feat: allow any HTTP method for /api/auth/envoy and restrict methods for non-envoy proxies
* feat: add Allow header for invalid methods in proxyHandler
* feat: add session max lifetime and fix refresh logic
* fix: set default value for created_at column and improve session expiration logic
* fix: correct ldapService reference in authService initialization
---------
Co-authored-by: Stavros <steveiliop56@gmail.com>
* feat: allow any HTTP method for /api/auth/envoy and restrict methods for non-envoy proxies
* feat: add Allow header for invalid methods in proxyHandler
* feat: add session max lifetime and fix refresh logic
* fix: set default value for created_at column and improve session expiration logic
---------
Co-authored-by: Stavros <steveiliop56@gmail.com>
* ldap: Add mTLS authentication support to LDAP backend
* ldap: Reuse BindService() for initial bind attempt
* ldap: Make LdapService.config private
Now that we have ldap.BindService(), we don't need to access any
members of LdapService.config externally.
* ldap: Add TODO note about STARTTLS/SASL authentication
* ldap: Add TODO note about mTLS and extra CA certificates
* chore: fix typo
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: Stavros <steveiliop56@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat: allow any HTTP method for /api/auth/envoy and restrict methods for non-envoy proxies
* feat: add Allow header for invalid methods in proxyHandler
* wip
* feat: add paerser as submodule and apply patch for nested maps
* refactor: update release workflows to include submodule and patches
* chore: update contributing instructions
* chore: add yaml config ref
* feat: add initial implementation of a traefik like cli
* refactor: remove dependency on traefik
* chore: update example env
* refactor: update build
* chore: remove unused code
* fix: fix translations not loading
* feat: add experimental config file support
* chore: mod tidy
* fix: review comments
* refactor: move tinyauth to separate package
* chore: add quotes to all env variables
* chore: resolve go mod and sum conflicts
* chore: go mod tidy
* fix: review comments
Contributing is relatively easy, you just need to follow the steps below and you will be up and running with a development server in less than five minutes.
Contributing to Tinyauth is straightforward. Follow the steps below to set up a development server.
Although you will not need the requirements in your machine since the development will happen in docker, I still recommend to install them because this way you will not have import errors. To install the go requirements run:
While development occurs within Docker, installing the dependencies locally is recommended to avoid import errors. Install the Go dependencies:
```sh
go mod tidy
```
You also need to download the frontend dependencies, this can be done like so:
Frontend dependencies can be installed as follows:
```sh
cd frontend/
bun install
```
## Create your `.env` file
## Create the `.env` file
In order to configure the app you need to create an environment file, this can be done by copying the `.env.example` file to `.env` and modifying the environment variables to suit your needs.
Configuration requires an environment file. Copy the `.env.example` file to `.env` and adjust the environment variables as needed.
## Developing
## Development Workflow
I have designed the development workflow to be entirely in docker, this is because it will directly work with traefik and you will not need to do any building in your host machine. The recommended development setup is to have a subdomain pointing to your machine like this:
The development workflow is designed to run entirely within Docker, ensuring compatibility with Traefik and eliminating the need for local builds. A recommended setup involves pointing a subdomain to the local machine:
```
*.dev.example.com -> 127.0.0.1
dev.example.com -> 127.0.0.1
```
> [!TIP]
> You can use [sslip.io](https://sslip.io) as a domain if you don't have one to develop with.
> [!NOTE]
> A domain from [sslip.io](https://sslip.io) can be used if a custom domain is
unavailable. For example, set the Tinyauth domain to `tinyauth.127.0.0.1.sslip.io` and the whoami domain to `whoami.127.0.0.1.sslip.io`.
Then you can just make sure the domains are correct in the development docker compose file and run:
Ensure the domains are correctly configured in the development Docker Compose file, then start the development environment:
```sh
docker compose -f docker-compose.dev.yml up --build
make dev
```
In case you need to build the binary locally, you can run:
```sh
make binary
```
> [!NOTE]
> I recommend copying the example `docker-compose.dev.yml` into a `docker-compose.test.yml` file, so as you don't accidentally commit any sensitive information.
> Copying the example `docker-compose.dev.yml` file to `docker-compose.test.yml`
is recommended to prevent accidental commits of sensitive information. The make recipe will automatically use `docker-compose.test.yml` as well as `docker-compose.test.prod.yml` (for the `make prod` recipe) if it exists.
Tinyauth is a simple authentication middleware that adds a simple login screen or OAuth with Google, Github or any other provider to all of your apps. It supports all the popular proxies like Traefik, Nginx and Caddy.
Tinyauth is the simplest and tiniest authentication and authorization server you have ever seen. It is designed to both work as an authentication middleware for your apps, offering support for OAuth, LDAP and access-controls, and as a standalone authentication server. It supports all the popular proxies like Traefik, Nginx and Caddy.

> [!WARNING]
> Tinyauth is in active development and configuration may change often. Please make sure to carefully read the release notes before updating.
> [!NOTE]
> This is the main development branch. For the latest stable release, see the [documentation](https://tinyauth.app) or the latest stable tag.
> [!NOTE]
> Tinyauth is in the process of migrating to the new [tinyauthapp](https://github.com/tinyauthapp) organization. The organization **is official** and it will host all of the Tinyauth related repositories in the future.
## Getting Started
You can easily get started with Tinyauth by following the guide in the [documentation](https://tinyauth.app/docs/getting-started). There is also an available [docker compose](./docker-compose.example.yml) file that has Traefik, Whoami and Tinyauth to demonstrate its capabilities.
You can get started with Tinyauth by following the guide in the [documentation](https://tinyauth.app/docs/getting-started). There is also an available [docker-compose](./docker-compose.example.yml) file that has Traefik, Whoami and Tinyauth to demonstrate its capabilities (keep in mind that this file lives in the development branch so it may have updates that are not yet released).
## Demo
@@ -33,17 +42,19 @@ If you are still not sure if Tinyauth suits your needs you can try out the [demo
You can find documentation and guides on all of the available configuration of Tinyauth in the [website](https://tinyauth.app).
If you wish to contribute to the documentation head over to the [repository](https://github.com/steveiliop56/tinyauth-docs).
## Discord
Tinyauth has a [discord](https://discord.gg/eHzVaCzRRd) server. Feel free to hop in to chat about self-hosting, homelabs and of course Tinyauth. See you there!
Tinyauth has a [Discord](https://discord.gg/eHzVaCzRRd) server. Feel free to hop in to chat about self-hosting, homelabs and of course Tinyauth. See you there!
## Contributing
All contributions to the codebase are welcome! If you have any free time feel free to pick up an [issue](https://github.com/steveiliop56/tinyauth/issues) or add your own missing features. Make sure to check out the [contributing guide](./CONTRIBUTING.md) for instructions on how to get the development server up and running.
All contributions to the codebase are welcome! If you have any free time, feel free to pick up an [issue](https://github.com/steveiliop56/tinyauth/issues) or add your own missing features. Make sure to check out the [contributing guide](./CONTRIBUTING.md) for instructions on how to get the development server up and running.
## Localization
If you would like to help translate Tinyauth into more languages, visit the [Crowdin](https://crowdin.com/project/tinyauth) page.
If you like, you can help translate Tinyauth into more languages by visiting the [Crowdin](https://crowdin.com/project/tinyauth) page.
## License
@@ -53,7 +64,7 @@ Tinyauth is licensed under the GNU General Public License v3.0. TL;DR — You ma
A big thank you to the following people for providing me with more coffee:
log.Info().Str("user",fmt.Sprintf("%s:%s:%s",user.Username,user.Password,user.TotpSecret)).Msg("Add the totp secret to your authenticator app then use the verify command to ensure everything is working correctly.")
Short:"The simplest way to protect your apps with a login screen",
Long:`Tinyauth is a simple authentication middleware that adds a simple login screen or OAuth with Google, Github or any other provider to all of your docker apps.`,
Run:c.run,
}
// Ignore unknown flags to allow --providers-*
c.cmd.FParseErrWhitelist.UnknownFlags=true
c.viper.AutomaticEnv()
configOptions:=[]struct{
namestring
defaultValany
descriptionstring
}{
{"port",3000,"Port to run the server on."},
{"address","0.0.0.0","Address to bind the server to."},
{"app-url","","The Tinyauth URL."},
{"users","","Comma separated list of users in the format username:hash."},
{"users-file","","Path to a file containing users in the format username:hash."},
{"secure-cookie",false,"Send cookie over secure connection only."},
{"oauth-whitelist","","Comma separated list of email addresses to whitelist when using OAuth."},
{"oauth-auto-redirect","none","Auto redirect to the specified OAuth provider if configured. (available providers: github, google, generic)"},
{"session-expiry",86400,"Session (cookie) expiration time in seconds."},
{"login-timeout",300,"Login timeout in seconds after max retries reached (0 to disable)."},
{"login-max-retries",5,"Maximum login attempts before timeout (0 to disable)."},
{"log-level","info","Log level."},
{"app-title","Tinyauth","Title of the app."},
{"forgot-password-message","","Message to show on the forgot password page."},
{"background-image","/background.jpg","Background image URL for the login page."},
{"ldap-address","","LDAP server address (e.g. ldap://localhost:389)."},
fmt.Fprintln(&builder,"You can use either option to configure your OIDC client. Make sure to save these credentials as there is no way to regenerate them.")
tlog.App.Info().Str("user",fmt.Sprintf("%s:%s:%s",user.Username,user.Password,user.TotpSecret)).Msg("Add the totp secret to your authenticator app then use the verify command to ensure everything is working correctly.")
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"حدث خطأ",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Kunne ikke indlæse godkendelsesudbydere. Tjek venligst din konfiguration.",
"errorTitle":"Der opstod en fejl",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"Der opstod en fejl underforsøget på at udføre denne handling. Tjek venligst konsollen for mere information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Fehler beim Laden der Authentifizierungsanbieter. Bitte überprüfen Sie Ihre Konfiguration.",
"errorTitle":"Ein Fehler ist aufgetreten",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"Beim Versuch, diese Aktion auszuführen, ist ein Fehler aufgetreten. Bitte überprüfen Sie die Konsole für weitere Informationen.",
"forgotPasswordMessage":"Das Passwort kann durch Änderung der 'USERS' Variable zurückgesetzt werden.",
"fieldRequired":"Dieses Feld ist notwendig",
"invalidInput":"Ungültige Eingabe",
"domainWarningTitle":"Ungültige Domain",
"domainWarningSubtitle":"Diese Instanz ist so konfiguriert, dass sie von <code>{{appUrl}}</code> aufgerufen werden kann, aber <code>{{currentUrl}}</code> wird verwendet. Wenn Sie fortfahren, können Probleme bei der Authentifizierung auftreten.",
"domainWarningSubtitle":"Sie greifen von einer falschen Domäne aus auf diese Instanz zu. Wenn Sie fortfahren, können Probleme mit der Authentifizierung auftreten.",
"continueInsecureRedirectSubtitle":"Προσπαθείτε να ανακατευθύνετε από <code>https</code> σε <code>http</code> το οποίο δεν είναι ασφαλές. Είστε σίγουροι ότι θέλετε να συνεχίσετε;",
@@ -41,7 +41,7 @@
"totpSuccessSubtitle":"Ανακατεύθυνση στην εφαρμογή σας",
"totpTitle":"Εισάγετε τον κωδικό TOTP",
"totpSubtitle":"Παρακαλώ εισάγετε τον κωδικό από την εφαρμογή ελέγχου ταυτότητας.",
"unauthorizedTitle":"Μη εξουσιοδοτημένο",
"unauthorizedTitle":"Σφάλμα μη εξουσιοδότησης",
"unauthorizedResourceSubtitle":"Ο χρήστης με όνομα χρήστη <code>{{username}}</code> δεν έχει άδεια πρόσβασης στον πόρο <code>{{resource}}</code>.",
"unauthorizedLoginSubtitle":"Ο χρήστης με όνομα χρήστη <code>{{username}}</code> δεν είναι εξουσιοδοτημένος να συνδεθεί.",
"unauthorizedGroupsSubtitle":"Ο χρήστης με όνομα χρήστη <code>{{username}}</code> δεν είναι στις ομάδες που απαιτούνται από τον πόρο <code>{{resource}}</code>.",
@@ -51,31 +51,33 @@
"forgotPasswordTitle":"Ξεχάσατε το συνθηματικό σας;",
"failedToFetchProvidersTitle":"Αποτυχία φόρτωσης παρόχων πιστοποίησης. Παρακαλώ ελέγξτε τις ρυθμίσεις σας.",
"errorTitle":"Παρουσιάστηκε ένα σφάλμα",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitleInfo":"Το ακόλουθο σφάλμα προέκυψε κατά την επεξεργασία του αιτήματός σας:",
"errorSubtitle":"Παρουσιάστηκε σφάλμα κατά την προσπάθεια εκτέλεσης αυτής της ενέργειας. Ελέγξτε την κονσόλα για περισσότερες πληροφορίες.",
"forgotPasswordMessage":"Μπορείτε να επαναφέρετε τον κωδικό πρόσβασής σας αλλάζοντας τη μεταβλητή περιβάλλοντος `USERS`.",
"fieldRequired":"Αυτό το πεδίο είναι υποχρεωτικό",
"invalidInput":"Μη έγκυρη καταχώρηση",
"domainWarningTitle":"Μη έγκυρο domain",
"domainWarningSubtitle":"Αυτή η εφαρμογή έχει ρυθμιστεί για πρόσβαση από <code>{{appUrl}}</code>, αλλά <code>{{currentUrl}}</code> χρησιμοποιείται. Αν συνεχίσετε, μπορεί να αντιμετωπίσετε προβλήματα με τηνταυτοποίηση.",
"domainWarningSubtitle":"Έχετε επισκεφθεί αυτή την εφαρμογή από λανθασμένο domain. Αν προχωρήσετε, ενδέχεται να αντιμετωπίσετε προβλήματα με τονέλεγχο ταυτότητας.",
"domainWarningCurrent":"Τρέχον:",
"domainWarningExpected":"Αναμένεται:",
"ignoreTitle":"Παράβλεψη",
"goToCorrectDomainTitle":"Μεταβείτε στο σωστό domain",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"authorizeTitle":"Εξουσιοδότηση",
"authorizeCardTitle":"Συνέχεια στην εφαρμογή {{app}};",
"authorizeSubtitle":"Θα θέλατε να συνεχίσετε σε αυτή την εφαρμογή; Παρακαλώ ελέγξτε προσεκτικά τα δικαιώματα που ζητούνται από την εφαρμογή.",
"authorizeSubtitleOAuth":"Θα θέλατε να συνεχίσετε σε αυτή την εφαρμογή;",
"authorizeLoadingTitle":"Φόρτωση...",
"authorizeLoadingSubtitle":"Παρακαλώ περιμένετε όσο φορτώνουμε τις απαραίτητες πληροφορίες.",
"authorizeSuccessTitle":"Εξουσιοδοτημένος",
"authorizeSuccessSubtitle":"Θα μεταφερθείτε στην εφαρμογή σε λίγα δευτερόλεπτα.",
"authorizeErrorClientInfo":"Παρουσιάστηκε σφάλμα κατά τη φόρτωση των πληροφοριών. Παρακαλώ προσπαθήστε ξανά αργότερα.",
"authorizeErrorMissingParams":"Οι παρακάτω απαραίτητες πληροφορίες λείπουν από το αίτημά σας: {{missingParams}}",
"openidScopeName":"Σύνδεση OpenID",
"openidScopeDescription":"Επιτρέπει στην εφαρμογή την πρόσβαση στις πληροφορίες σύνδεσης OpenID.",
"emailScopeName":"Ηλεκτρονικό ταχυδρομείο",
"emailScopeDescription":"Επιτρέπει στην εφαρμογή να έχει πρόσβαση στη διεύθυνση ηλεκτρονικού ταχυδρομείου σας.",
"profileScopeName":"Προφίλ",
"profileScopeDescription":"Επιτρέπει στην εφαρμογή να έχει πρόσβαση στις πληροφορίες του προφίλ σας.",
"groupsScopeName":"Ομάδες",
"groupsScopeDescription":"Επιτρέπει στην εφαρμογή την πρόσβαση στις πληροφορίες ομάδας σας."
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"domainWarningCurrent":"Current:",
"domainWarningExpected":"Expected:",
"ignoreTitle":"Ignore",
"goToCorrectDomainTitle":"Go to correct domain"
}
"goToCorrectDomainTitle":"Go to correct domain",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"failedToFetchProvidersTitle":"Error al cargar los proveedores de autenticación. Por favor revise su configuración.",
"errorTitle":"Ha ocurrido un error",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"Ocurrió un error mientras se trataba de realizar esta acción. Por favor, revise la consola para más información.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"Estás accediendo a esta instancia desde un dominio incorrecto. Si sigues, puedes encontrar problemas con la autenticación.",
"domainWarningSubtitle":"Tämä instanssi on määritelty käyttämään osoitetta <code>{{appUrl}}</code>, mutta nykyinen osoite on <code>{{currentUrl}}</code>. Jos jatkat, saatat törmätä ongelmiin autentikoinnissa.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"domainWarningCurrent":"Current:",
"domainWarningExpected":"Expected:",
"ignoreTitle":"Jätä huomiotta",
"goToCorrectDomainTitle":"Siirry oikeaan verkkotunnukseen",
"failedToFetchProvidersTitle":"Échec du chargement des fournisseurs d'authentification. Veuillez vérifier votre configuration.",
"errorTitle":"Une erreur est survenue",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitleInfo":"L'erreur suivante s'est produite lors du traitement de votre requête :",
"errorSubtitle":"Une erreur est survenue lors de l'exécution de cette action. Veuillez consulter la console pour plus d'informations.",
"forgotPasswordMessage":"Vous pouvez réinitialiser votre mot de passe en modifiant la variable d'environnement `USERS`.",
"fieldRequired":"Ce champ est obligatoire",
"invalidInput":"Saisie non valide",
"domainWarningTitle":"Domaine invalide",
"domainWarningSubtitle":"Cette instance est configurée pour être accédée depuis <code>{{appUrl}}</code>, mais <code>{{currentUrl}}</code> est utilisé. Si vous continuez, vous pourriez rencontrer des problèmes d'authentification.",
"domainWarningCurrent":"Actuellement :",
"domainWarningExpected":"Attendu :",
"ignoreTitle":"Ignorer",
"goToCorrectDomainTitle":"Aller au bon domaine",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"authorizeTitle":"Autoriser",
"authorizeCardTitle":"Continuer vers {{app}}?",
"authorizeSubtitle":"Voulez-vous continuer vers cette application ? Veuillez examiner attentivement les autorisations demandées par l'application.",
"authorizeSubtitleOAuth":"Voulez-vous continuer vers cette application ?",
"authorizeLoadingTitle":"Chargement...",
"authorizeLoadingSubtitle":"Veuillez patienter pendant que nous chargeons les informations du client.",
"authorizeSuccessTitle":"Autorisé",
"authorizeSuccessSubtitle":"Vous allez être redirigé vers l'application dans quelques secondes.",
"authorizeErrorClientInfo":"Une erreur est survenue lors du chargement des informations du client. Veuillez réessayer plus tard.",
"authorizeErrorMissingParams":"Les paramètres suivants sont manquants : {{missingParams}}",
"openidScopeName":"Connexion OpenID",
"openidScopeDescription":"Autorise l'application à accéder à vos informations \"OpenID Connect\".",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"emailScopeDescription":"Autorise l'application à accéder à votre adresse e-mail.",
"profileScopeName":"Profil",
"profileScopeDescription":"Autorise l'application à accéder aux informations de votre profil.",
"groupsScopeName":"Groupes",
"groupsScopeDescription":"Autorise une application à accéder aux informations de votre groupe."
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"Hiba történt",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"Ez egy kötelező mező",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"continueInsecureRedirectSubtitle":"You are trying to redirect from <code>https</code> to <code>http</code> which is not secure. Are you sure you want to continue?",
"continueUntrustedRedirectSubtitle":"You are trying to redirect to a domain that does not match your configured domain (<code>{{cookieDomain}}</code>). Are you sure you want to continue?",
"logoutFailTitle":"Failed to log out",
"logoutFailSubtitle":"Please try again",
"logoutSuccessTitle":"Logged out",
"logoutSuccessSubtitle":"You have been logged out",
"logoutTitle":"Logout",
"logoutUsernameSubtitle":"You are currently logged in as <code>{{username}}</code>. Click the button below to logout.",
"logoutOauthSubtitle":"You are currently logged in as <code>{{username}}</code> using the {{provider}} OAuth provider. Click the button below to logout.",
"notFoundTitle":"Page not found",
"notFoundSubtitle":"The page you are looking for does not exist.",
"continueRedirectingTitle":"Reindirizzamento...",
"continueRedirectingSubtitle":"Dovresti essere reindirizzato all'app a breve",
"continueInsecureRedirectTitle":"Destinazione non sicura",
"continueInsecureRedirectSubtitle":"Stai tentando un reindirizzamento da <code>https</code> a <code>http</code>, il che non è sicuro. Vuoi continuare davvero?",
"continueUntrustedRedirectTitle":"Destinazione non attendibile",
"continueUntrustedRedirectSubtitle":"Stai tentando un reindirizzamento a un dominio che non corrisponde al dominio configurato (<code>{{cookieDomain}}</code>). Vuoi continuare davvero?",
"logoutFailTitle":"Disconnessione fallita",
"logoutFailSubtitle":"Riprova",
"logoutSuccessTitle":"Disconnessione effettuata",
"logoutSuccessSubtitle":"Sei stato disconnesso",
"logoutTitle":"Disconnessione",
"logoutUsernameSubtitle":"Hai effettuato l'accesso come <code>{{username}}</code>. Clicca sul pulsante qui sotto per disconnetterti.",
"logoutOauthSubtitle":"Hai effettuato l'accesso come <code>{{username}}</code> attraverso il provider OAuth {{provider}}. Clicca sul pulsante qui sotto per uscire.",
"notFoundTitle":"Pagina non trovata",
"notFoundSubtitle":"La pagina che stai cercando non esiste.",
"notFoundButton":"Vai alla home",
"totpFailTitle":"Errore nella verifica del codice",
"totpFailSubtitle":"Si prega di controllare il codice e riprovare",
@@ -41,41 +41,43 @@
"totpSuccessSubtitle":"Reindirizzamento alla tua app",
"totpTitle":"Inserisci il tuo codice TOTP",
"totpSubtitle":"Inserisci il codice dalla tua app di autenticazione.",
"unauthorizedTitle":"Non Autorizzato",
"unauthorizedResourceSubtitle":"L'utente con username <code>{{username}}</code> non è autorizzato ad accedere alla risorsa <code>{{resource}}</code>.",
"unauthorizedLoginSubtitle":"L'utente con username <code>{{username}}</code> non è autorizzato a effettuare l'accesso.",
"unauthorizedGroupsSubtitle":"L'utente con nome utente <code>{{username}}</code> non fa parte dei gruppi richiesti dalla risorsa <code>{{resource}}</code>.",
"unauthorizedTitle":"Non autorizzato",
"unauthorizedResourceSubtitle":"L'utente <code>{{username}}</code> non è autorizzato ad accedere alla risorsa <code>{{resource}}</code>.",
"unauthorizedLoginSubtitle":"L'utente <code>{{username}}</code> non è autorizzato a effettuare l'accesso.",
"unauthorizedGroupsSubtitle":"L'utente <code>{{username}}</code> non fa parte dei gruppi richiesti dalla risorsa <code>{{resource}}</code>.",
"unauthorizedIpSubtitle":"Il tuo indirizzo IP <code>{{ip}}</code> non è autorizzato ad accedere alla risorsa <code>{{resource}}</code>.",
"unauthorizedButton":"Riprova",
"cancelTitle":"Annulla",
"forgotPasswordTitle":"Password dimenticata?",
"failedToFetchProvidersTitle":"Impossibile caricare i provider di autenticazione. Si prega di controllare la configurazione.",
"errorTitle":"Si è verificato un errore",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitleInfo":"Si è verificato il seguente errore durante l'elaborazione della richiesta:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"Puoi reimpostare la tua password modificando la variabile d'ambiente `USERS`.",
"fieldRequired":"Questo campo è obbligatorio",
"invalidInput":"Input non valido",
"domainWarningTitle":"Dominio non valido",
"domainWarningSubtitle":"Questa istanza è configurata per essere accessibile da <code>{{appUrl}}</code>, ma <code>{{currentUrl}}</code> è in uso. Se procedi, potresti incorrere in problemi di autenticazione.",
"domainWarningSubtitle":"Stai accedendo a questa istanza da un dominio errato. Scegliendo di procedere, potresti incontrare problemi con l'autenticazione.",
"domainWarningCurrent":"Current:",
"domainWarningExpected":"Expected:",
"ignoreTitle":"Ignora",
"goToCorrectDomainTitle":"Vai al dominio corretto",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"authorizeTitle":"Autorizza",
"authorizeCardTitle":"Continuare su {{app}}?",
"authorizeSubtitle":"Vuoi continuare su quest'app? Verifica attentamente i permessi richiesti dall'app.",
"authorizeSubtitleOAuth":"Vuoi continuare su quest'app?",
"authorizeLoadingTitle":"Caricamento...",
"authorizeLoadingSubtitle":"Attendi il caricamento delle informazioni del client.",
"authorizeSuccessTitle":"Autorizzato",
"authorizeSuccessSubtitle":"Verrai reindirizzato all'app in pochi secondi.",
"authorizeErrorClientInfo":"Si è verificato un errore durante il caricamento delle informazioni del client. Riprova.",
"authorizeErrorMissingParams":"I seguenti parametri sono mancanti: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"openidScopeDescription":"Permetti all'app di accedere alle tue informazioni OpenID Connect.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"emailScopeDescription":"Consenti all'app di accedere al tuo indirizzo email.",
"profileScopeName":"Profilo",
"profileScopeDescription":"Consenti all'app di accedere alle informazioni del tuo profilo.",
"groupsScopeName":"Gruppi",
"groupsScopeDescription":"Consenti all'app di accedere alle informazioni sui tuoi gruppi."
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"continueInsecureRedirectSubtitle":"You are trying to redirect from <code>https</code> to <code>http</code> which is not secure. Are you sure you want to continue?",
"continueUntrustedRedirectSubtitle":"You are trying to redirect to a domain that does not match your configured domain (<code>{{cookieDomain}}</code>). Are you sure you want to continue?",
"logoutFailTitle":"Failed to log out",
"logoutFailSubtitle":"Please try again",
"logoutSuccessTitle":"Logged out",
"logoutSuccessSubtitle":"You have been logged out",
"logoutTitle":"Logout",
"logoutUsernameSubtitle":"You are currently logged in as <code>{{username}}</code>. Click the button below to logout.",
"logoutOauthSubtitle":"You are currently logged in as <code>{{username}}</code> using the {{provider}} OAuth provider. Click the button below to logout.",
"notFoundTitle":"Page not found",
"notFoundSubtitle":"The page you are looking for does not exist.",
"notFoundButton":"Go home",
"totpFailTitle":"Failed to verify code",
"totpFailSubtitle":"Please check your code and try again",
"totpSuccessTitle":"Verified",
"totpSuccessSubtitle":"Redirecting to your app",
"totpTitle":"Enter your TOTP code",
"totpSubtitle":"Please enter the code from your authenticator app.",
"unauthorizedTitle":"Unauthorized",
"unauthorizedResourceSubtitle":"The user with username <code>{{username}}</code> is not authorized to access the resource <code>{{resource}}</code>.",
"unauthorizedLoginSubtitle":"The user with username <code>{{username}}</code> is not authorized to login.",
"unauthorizedGroupsSubtitle":"The user with username <code>{{username}}</code> is not in the groups required by the resource <code>{{resource}}</code>.",
"unauthorizedIpSubtitle":"Your IP address <code>{{ip}}</code> is not authorized to access the resource <code>{{resource}}</code>.",
"unauthorizedButton":"Try again",
"cancelTitle":"Cancel",
"forgotPasswordTitle":"Forgot your password?",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"ignoreTitle":"Ignore",
"goToCorrectDomainTitle":"Go to correct domain",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"loginTitle":"다시 오신 것을 환영합니다. 아래 방법으로 로그인하세요",
"loginTitleSimple":"다시 오신 것을 환영합니다. 로그인해 주세요",
"loginDivider":"또는",
"loginUsername":"사용자 이름",
"loginPassword":"비밀번호",
"loginSubmit":"로그인",
"loginFailTitle":"로그인 실패",
"loginFailSubtitle":"사용자 이름과 비밀번호를 확인해 주세요",
"loginFailRateLimit":"로그인을 너무 많이 시도했습니다. 나중에 다시 시도해 주세요",
"loginSuccessTitle":"로그인 성공",
"loginSuccessSubtitle":"다시 오신 것을 환영합니다!",
"loginOauthFailTitle":"오류가 발생했습니다",
"loginOauthFailSubtitle":"OAuth URL을 가져오는 데 실패했습니다",
"loginFailSubtitle":"Controleer je gebruikersnaam en wachtwoord",
"loginFailRateLimit":"Inloggen is te vaak mislukt. Probeer het later opnieuw",
"loginSuccessTitle":"Ingelogd",
@@ -25,11 +25,11 @@
"continueInsecureRedirectSubtitle":"Je probeert door te verwijzen van <code>https</code> naar <code>http</code> die niet veilig is. Weet je zeker dat je wilt doorgaan?",
"continueUntrustedRedirectSubtitle":"Je probeert door te sturen naar een domein dat niet overeenkomt met je geconfigureerde domein (<code>{{cookieDomain}}</code>). Weet je zeker dat je wilt doorgaan?",
"logoutFailTitle":"Uitloggen is mislukt",
"logoutFailTitle":"Afmelden mislukt",
"logoutFailSubtitle":"Probeer het opnieuw",
"logoutSuccessTitle":"Uitgelogd",
"logoutSuccessSubtitle":"Je bent uitgelogd",
"logoutTitle":"Uitloggen",
"logoutSuccessTitle":"Afgemeld",
"logoutSuccessSubtitle":"Je bent afgemeld",
"logoutTitle":"Afmelden",
"logoutUsernameSubtitle":"Je bent momenteel ingelogd als <code>{{username}}</code>. Klik op de onderstaande knop om uit te loggen.",
"logoutOauthSubtitle":"Je bent momenteel ingelogd als <code>{{username}}</code> met behulp van de {{provider}} OAuth provider. Klik op de onderstaande knop om uit te loggen.",
"notFoundTitle":"Pagina niet gevonden",
@@ -51,31 +51,33 @@
"forgotPasswordTitle":"Wachtwoord vergeten?",
"failedToFetchProvidersTitle":"Fout bij het laden van de authenticatie-providers. Controleer je configuratie.",
"errorTitle":"Er is een fout opgetreden",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitleInfo":"De volgende fout is opgetreden bij het verwerken van het verzoek:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"Je kunt je wachtwoord opnieuw instellen door de `USERS` omgevingsvariabele te wijzigen.",
"fieldRequired":"Dit veld is verplicht",
"invalidInput":"Ongeldige invoer",
"domainWarningTitle":"Ongeldig domein",
"domainWarningSubtitle":"Deze instantie is geconfigureerd voor toegang tot <code>{{appUrl}}</code>, maar <code>{{currentUrl}}</code> wordt gebruikt. Als je doorgaat, kun je problemen ondervinden met authenticatie.",
"domainWarningSubtitle":"U benadert deze instantie vanuit een onjuist domein. Als u doorgaat, kunt u problemen ondervinden met authenticatie.",
"domainWarningCurrent":"Huidig:",
"domainWarningExpected":"Verwacht:",
"ignoreTitle":"Negeren",
"goToCorrectDomainTitle":"Ga naar het juiste domein",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the clientinformation.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the clientinformation. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"authorizeTitle":"Autoriseren",
"authorizeCardTitle":"Doorgaan naar {{app}}?",
"authorizeSubtitle":"Doorgaan naar deze app? Controleer de machtigingen die door de app worden gevraagd.",
"authorizeSubtitleOAuth":"Doorgaan naar deze app?",
"authorizeLoadingTitle":"Laden...",
"authorizeLoadingSubtitle":"Even geduld bij het laden van de cliëntinformatie.",
"authorizeSuccessTitle":"Geautoriseerd",
"authorizeSuccessSubtitle":"Je wordt binnen enkele seconden doorgestuurd naar de app.",
"authorizeErrorClientInfo":"Er is een fout opgetreden tijdens het laden van de cliëntinformatie. Probeer het later opnieuw.",
"authorizeErrorMissingParams":"De volgende parameters ontbreken: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connectinformation.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"openidScopeDescription":"Hiermee kan de app toegang krijgen tot jouw OpenID Connect-informatie.",
"emailScopeName":"E-mail",
"emailScopeDescription":"Hiermee kan de app toegang krijgen tot jouw e-mailadres.",
"profileScopeName":"Profiel",
"profileScopeDescription":"Hiermee kan de app toegang krijgen tot je profielinformatie.",
"groupsScopeName":"Groepen",
"groupsScopeDescription":"Hiermee kan de app toegang krijgen tot jouw groepsinformatie."
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"Du bruker denne forekomsten fra et feil domene. Dersom du fortsetter kan du få problemer med autentiseringen.",
"domainWarningSubtitle":"Ta instancja jest skonfigurowana do uzyskania dostępu z <code>{{appUrl}}</code>, ale <code>{{currentUrl}}</code> jest w użyciu. Jeśli będziesz kontynuować, mogą wystąpić problemy z uwierzytelnianiem.",
"domainWarningSubtitle":"Masz dostęp do tej instancji z nieprawidłowej domeny. Jeśli kontynuujesz, możesz napotkać problemy z uwierzytelnianiem.",
"domainWarningCurrent":"Bieżąca:",
"domainWarningExpected":"Oczekiwana:",
"ignoreTitle":"Zignoruj",
"goToCorrectDomainTitle":"Przejdź do prawidłowej domeny",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"authorizeTitle":"Autoryzuj",
"authorizeCardTitle":"Kontynuować do {{app}}?",
"authorizeSubtitle":"Czy chcesz kontynuować do tej aplikacji? Uważnie zapoznaj się zuprawnieniami żądanymi przez aplikację.",
"authorizeSubtitleOAuth":"Czy chcesz kontynuować do tej aplikacji?",
"authorizeLoadingTitle":"Wczytywanie...",
"authorizeLoadingSubtitle":"Proszę czekać, aż załadujemy informacje okliencie.",
"authorizeSuccessTitle":"Autoryzowano",
"authorizeSuccessSubtitle":"Za kilka sekund nastąpi przekierowanie do aplikacji.",
"authorizeErrorClientInfo":"Wystąpił błąd podczas ładowania informacji okliencie. Spróbuj ponownie później.",
"failedToFetchProvidersTitle":"Falha ao carregar provedores de autenticação. Verifique sua configuração.",
"errorTitle":"Ocorreu um erro",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"Ocorreu um erro ao tentar executar esta ação. Por favor, verifique o console para mais informações.",
"forgotPasswordMessage":"Você pode redefinir sua senha alterando a variável de ambiente `USERS`.",
"fieldRequired":"Este campo é obrigatório",
"invalidInput":"Entrada Inválida",
"domainWarningTitle":"Domínio inválido",
"domainWarningSubtitle":"Esta instância está configurada para ser acessada de <code>{{appUrl}}</code>, mas <code>{{currentUrl}}</code> está sendo usado. Se você continuar, você pode encontrar problemas com a autenticação.",
"domainWarningSubtitle":"Você está acessando essa instância de um domínio incorreto. Se você continuar, você pode encontrar problemas com a autenticação.",
"domainWarningCurrent":"Current:",
"domainWarningExpected":"Expected:",
"ignoreTitle":"Ignorar",
"goToCorrectDomainTitle":"Ir para o domínio correto",
"failedToFetchProvidersTitle":"Falha ao carregar os fornecedores de autenticação. Verifica a configuração.",
"errorTitle":"Ocorreu um erro",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"Ocorreu um erro ao tentar executar esta ação. Consulta a consola para mais informações.",
"forgotPasswordMessage":"Podes redefinir a tua palavra-passe alterando a variável de ambiente `USERS`.",
"fieldRequired":"Este campo é obrigatório",
"invalidInput":"Entrada inválida",
"domainWarningTitle":"Domínio inválido",
"domainWarningSubtitle":"Esta instância está configurada para ser acedida a partir de <code>{{appUrl}}</code>, mas está a ser usado <code>{{currentUrl}}</code>. Se continuares, poderás ter problemas de autenticação.",
"domainWarningSubtitle":"Acessa essa instância de um domínio incorreto. Se você continuar, você pode encontrar problemas com a autenticação.",
"domainWarningCurrent":"Current:",
"domainWarningExpected":"Expected:",
"ignoreTitle":"Ignorar",
"goToCorrectDomainTitle":"Ir para o domínio correto",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Не удалось загрузить поставщика авторизации. Пожалуйста, проверьте конфигурацию.",
"errorTitle":"Произошла ошибка",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitleInfo":"При обработке вашего запроса произошла следующая ошибка:",
"errorSubtitle":"Произошла ошибка при попытке выполнить это действие. Проверьте консоль для дополнительной информации.",
"forgotPasswordMessage":"Вы можете сбросить свой пароль, изменив переменную окружения `USERS`.",
"fieldRequired":"Это поле является обязательным",
"invalidInput":"Недопустимый ввод",
"domainWarningTitle":"Неверный домен",
"domainWarningSubtitle":"Этот экземпляр настроен на доступ к нему из <code>{{appUrl}}</code>, но <code>{{currentUrl}}</code> в настоящее время используется. Если вы продолжите, то могут возникнуть проблемы с авторизацией.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"domainWarningCurrent":"Текущий:",
"domainWarningExpected":"Ожидается:",
"ignoreTitle":"Игнорировать",
"goToCorrectDomainTitle":"Перейти к правильному домену",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"authorizeTitle":"Разрешить",
"authorizeCardTitle":"Продолжить с {{app}}?",
"authorizeSubtitle":"Вы хотите продолжить работу с этим приложением? Внимательно проверьте запрашиваемые приложением разрешения.",
"authorizeSubtitleOAuth":"Вы хотите продолжить работу с этим приложением?",
"authorizeLoadingTitle":"Загрузка...",
"authorizeLoadingSubtitle":"Пожалуйста, подождите, пока мы загрузим информацию о клиенте.",
"authorizeSuccessTitle":"Разрешено",
"authorizeSuccessSubtitle":"Вы будете перенаправлены в приложение через несколько секунд.",
"authorizeErrorClientInfo":"Произошла ошибка при загрузке информации о клиенте. Пожалуйста, повторите попытку позже.",
"authorizeErrorMissingParams":"Отсутствуют следующие параметры: {{missingParams}}",
"openidScopeName":"Подключение OpenID",
"openidScopeDescription":"Приложение сможет получить доступ к информации подключённого OpenID.",
"emailScopeName":"Эл. Почта",
"emailScopeDescription":"Приложение сможет получить доступ к вашему электронному адресу.",
"profileScopeName":"Профиль",
"profileScopeDescription":"Приложение сможет получить доступ к информации вашего профиля.",
"groupsScopeName":"Группы",
"groupsScopeDescription":"Приложение сможет получать доступ к информации о вашей группе."
"continueInsecureRedirectSubtitle":"Покушавате да преусмерите са <code>https</code> на <code>http</code> што није безбедно. Да ли желите да наставите?",
"continueUntrustedRedirectSubtitle":"You are trying to redirect to a domain that does not match your configured domain (<code>{{cookieDomain}}</code>). Are you sure you want to continue?",
"continueUntrustedRedirectSubtitle":"Покушавате да преусмерите на домен који се не поклапа са вашим подешеним доменом (<code>{{cookieDomain}}</code>). Да ли заиста желите да наставите?",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"ignoreTitle":"Ignore",
"goToCorrectDomainTitle":"Go to correct domain",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"fieldRequired":"Ово поље је неопходно",
"invalidInput":"Неисправан унос",
"domainWarningTitle":"Неисправан домен",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"domainWarningCurrent":"Тренутни:",
"domainWarningExpected":"Очекивани:",
"ignoreTitle":"Игнориши",
"goToCorrectDomainTitle":"Иди на исправан домен",
"authorizeTitle":"Ауторизуј",
"authorizeCardTitle":"Наставити на {{app}}?",
"authorizeSubtitle":"Да ли желите да наставите на ову апликацију? Пажљиво проверите дозволе које вам тражи апликација.",
"authorizeSubtitleOAuth":"Да ли желите да наставите на ову апликацију?",
"authorizeLoadingTitle":"Учитавање...",
"authorizeLoadingSubtitle":"Молим вас сачекајте док ми учитамо информације о клијенту.",
"authorizeSuccessTitle":"Ауторизован",
"authorizeSuccessSubtitle":"Бићете преусмерени на апликацију за неколико секунди.",
"authorizeErrorClientInfo":"Појавила се грешка током учитавања информација о клијенту. Молим вас покушајте поново касније.",
"failedToFetchProvidersTitle":"Failed to load authentication providers. Please check your configuration.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"Du kommer åt den här instansen från en felaktig domän. Om du fortsätter kan du stöta på problem med autentisering.",
"domainWarningSubtitle":"Bu örnek, <code>{{appUrl}}</code> adresinden erişilecek şekilde yapılandırılmıştır, ancak <code>{{currentUrl}}</code> kullanılmaktadır. Devam ederseniz, kimlik doğrulama ile ilgili sorunlarla karşılaşabilirsiniz.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
"failedToFetchProvidersTitle":"Не вдалося завантажити провайдерів автентифікації. Будь ласка, перевірте вашу конфігурацію.",
"errorTitle":"Виникла помилка",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitleInfo":"Під час обробки запиту сталась помилка:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check the console for more information.",
"forgotPasswordMessage":"Ви можете скинути пароль, змінивши змінну середовища \"USERS\".",
"fieldRequired":"Це поле обов'язкове для заповнення",
"invalidInput":"Невірне введення",
"domainWarningTitle":"Невірний домен",
"domainWarningSubtitle":"Даний ресурс налаштований для доступу з <code>{{appUrl}}</code>, але використовується <code>{{currentUrl}}</code>. Якщо ви продовжите, можуть виникнути проблеми з автентифікацією.",
"domainWarningSubtitle":"Ви отримуєте доступ до даного екземпляра з неправильного домену. Якщо ви продовжите,у вас можуть виникнути проблеми з автентифікацією.",
"domainWarningCurrent":"Поточний:",
"domainWarningExpected":"Очікувалося:",
"ignoreTitle":"Ігнорувати",
"goToCorrectDomainTitle":"Перейти за коректним доменом",
"authorizeTitle":"Authorize",
"authorizeCardTitle":"Continue to {{app}}?",
"authorizeSubtitle":"Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth":"Would you like to continue to this app?",
"authorizeLoadingTitle":"Loading...",
"authorizeLoadingSubtitle":"Please wait while we load the client information.",
"authorizeSuccessTitle":"Authorized",
"authorizeSuccessSubtitle":"You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo":"An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams":"The following parameters are missing: {{missingParams}}",
"authorizeTitle":"Авторизуватись",
"authorizeCardTitle":"Перейти до {{app}}?",
"authorizeSubtitle":"Чи хочете ви продовжити роботу з цим додатком? Будь ласка, уважно перегляньте дозволи, які вимагає додаток.",
"authorizeSubtitleOAuth":"Бажаєте продовжити роботу з цим додатком?",
"authorizeLoadingTitle":"Завантаження...",
"authorizeLoadingSubtitle":"Будь ласка, зачекайте, поки ми завантажуємо клієнтську інформацію.",
"authorizeSuccessTitle":"Авторизовано",
"authorizeSuccessSubtitle":"Вас буде перенаправлено до програми за декілька секунд.",
"authorizeErrorClientInfo":"Під час завантаження даних клієнта сталася помилка. Будь ласка, спробуйте ще раз пізніше.",
"authorizeErrorMissingParams":"Відсутні наступні параметри: {{missingParams}}",
"openidScopeName":"OpenID Connect",
"openidScopeDescription":"Allows the app to access your OpenID Connect information.",
"emailScopeName":"Email",
"emailScopeDescription":"Allows the app to access your email address.",
"profileScopeName":"Profile",
"profileScopeDescription":"Allows the app to access your profile information.",
"groupsScopeName":"Groups",
"groupsScopeDescription":"Allows the app to access your group information."
"openidScopeDescription":"Дозволяє програмі отримувати доступ до вашої інформації OpenID Connect.",
"emailScopeName":"Електронна пошта",
"emailScopeDescription":"Дозволяє програмі отримувати доступ до вашої адреси електронної пошти.",
"profileScopeName":"Профіль",
"profileScopeDescription":"Дозволяє програмі отримувати доступ до інформації вашого профілю.",
"groupsScopeName":"Групи",
"groupsScopeDescription":"Дозволяє програмі отримувати доступ до інформації про групу."
"failedToFetchProvidersTitle":"Không tải được nhà cung cấp xác thực. Vui lòng kiểm tra cấu hình của bạn.",
"errorTitle":"An error occurred",
"errorSubtitleInfo":"The following error occurred while processing your request:",
"errorSubtitle":"An error occurred while trying to perform this action. Please check your browser console or the app logs for more information.",
"errorSubtitle":"Đã xảy ra lỗi khi thực hiện thao tác này. Vui lòng kiểm tra bảng điều khiển để biết thêm thông tin.",
"forgotPasswordMessage":"You can reset your password by changing the `USERS` environment variable.",
"fieldRequired":"This field is required",
"invalidInput":"Invalid input",
"domainWarningTitle":"Invalid Domain",
"domainWarningSubtitle":"This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"domainWarningSubtitle":"You are accessing this instance from an incorrect domain. If you proceed, you may encounter issues with authentication.",
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.