You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1544 lines
74 KiB

8 years ago
7 years ago
New Crowdin updates (#14197) * New translations devise.en.yml (Uyghur) [ci skip] * New translations doorkeeper.en.yml (Uyghur) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * New translations en.yml (Sorani (Kurdish)) [ci skip] * New translations simple_form.en.yml (Sorani (Kurdish)) [ci skip] * New translations activerecord.en.yml (Sorani (Kurdish)) [ci skip] * New translations devise.en.yml (Sorani (Kurdish)) [ci skip] * New translations doorkeeper.en.yml (Sorani (Kurdish)) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations en.json (Marathi) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.json (Hindi) [ci skip] * New translations en.json (Latvian) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.json (Kazakh) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Tamil) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Ido) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.json (Uyghur) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * New translations en.json (Taigi) [ci skip] * New translations en.json (Silesian) [ci skip] * New translations en.json (Malay) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.json (Telugu) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.json (Kannada) [ci skip] * New translations en.json (Breton) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.json (Danish) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations simple_form.en.yml (Dutch) [ci skip] * New translations simple_form.en.yml (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (French) [ci skip] * New translations en.yml (French) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.yml (Kabyle) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Tamil) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.json (Marathi) [ci skip] * New translations en.json (Albanian) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.json (Chinese Traditional) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.json (Telugu) [ci skip] * New translations en.json (Breton) [ci skip] * New translations en.json (Kannada) [ci skip] * New translations en.json (Uyghur) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations en.json (Kazakh) [ci skip] * New translations en.json (Estonian) [ci skip] * New translations en.json (Latvian) [ci skip] * New translations en.json (Hindi) [ci skip] * New translations en.json (Malay) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Arabic) [ci skip] * New translations en.json (Bulgarian) [ci skip] * New translations en.json (Catalan) [ci skip] * New translations en.json (Czech) [ci skip] * New translations en.json (Danish) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (Greek) [ci skip] * New translations en.json (Romanian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Chinese Simplified) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.json (Basque) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Armenian) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Ido) [ci skip] * New translations en.json (Taigi) [ci skip] * New translations en.json (Silesian) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.json (Kabyle) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Russian) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (German) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Japanese) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Italian) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Corsican) [ci skip] * New translations en.json (Persian) [ci skip] * New translations en.json (Hungarian) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Spanish, Argentina) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Galician) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Portuguese) [ci skip] * New translations en.json (Albanian) [ci skip] * i18n-tasks normalize * yarn manage:translations
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
Add WebAuthn as an alternative 2FA method (#14466) * feat: add possibility of adding WebAuthn security keys to use as 2FA This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor to the Settings page for editing the 2FA methods – now it will list the methods that are available to the user (TOTP and WebAuthn) and from there they'll be able to add or remove any of them. Also, it's worth mentioning that for enabling WebAuthn it's required to have TOTP enabled, so the first time that you go to the 2FA Settings page, you'll be asked to set it up. This work was inspired by the one donde by Github in their platform, and despite it could be approached in different ways, we decided to go with this one given that we feel that this gives a great UX. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add request for WebAuthn as second factor at login if enabled This commits adds the feature for using WebAuthn as a second factor for login when enabled. If users have WebAuthn enabled, now a page requesting for the use of a WebAuthn credential for log in will appear, although a link redirecting to the old page for logging in using a two-factor code will also be present. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: add possibility of deleting WebAuthn Credentials Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: disable WebAuthn when an Admin disables 2FA for a user Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA Following examples form other platforms like Github, we decided to make Webauthn 2FA secondary to 2FA with TOTP, so that we removed the possibility of removing TOTP authentication only, leaving users with just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA' in order to remove second factor auth. The reason for WebAuthn being secondary to TOPT is that in that way, users will still be able to log in using their code from their phone's application if they don't have their security keys with them – or maybe even lost them. * We had to change a little the flow for setting up TOTP, given that now it's possible to setting up again if you already had TOTP, in order to let users modify their authenticator app – given that now it's not possible for them to disable TOTP and set it up again with another authenticator app. So, basically, now instead of storing the new `otp_secret` in the user, we store it in the session until the process of set up is finished. This was because, as it was before, when users clicked on 'Edit' in the new two-factor methods lists page, but then went back without finishing the flow, their `otp_secret` had been changed therefore invalidating their previous authenticator app, making them unable to log in again using TOTP. Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com> * refactor: fix eslint errors The PR build was failing given that linting returning some errors. This commit attempts to fix them. * refactor: normalize i18n translations The build was failing given that i18n translations files were not normalized. This commits fixes that. * refactor: avoid having the webauthn gem locked to a specific version * refactor: use symbols for routes without '/' * refactor: avoid sending webauthn disabled email when 2FA is disabled When an admins disable 2FA for users, we were sending two mails to them, one notifying that 2FA was disabled and the other to notify that WebAuthn was disabled. As the second one is redundant since the first email includes it, we can remove it and send just one email to users. * refactor: avoid creating new env variable for webauthn_origin config * refactor: improve flash error messages for webauthn pages Co-authored-by: Facundo Padula <facundo.padula@cedarcode.com>
4 years ago
  1. ---
  2. en:
  3. about:
  4. about_hashtag_html: These are public posts tagged with <strong>#%{hashtag}</strong>. You can interact with them if you have an account anywhere in the fediverse.
  5. about_mastodon_html: 'The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!'
  6. about_this: About
  7. active_count_after: active
  8. active_footnote: Monthly Active Users (MAU)
  9. administered_by: 'Administered by:'
  10. api: API
  11. apps: Mobile apps
  12. apps_platforms: Use Mastodon from iOS, Android and other platforms
  13. browse_directory: Browse a profile directory and filter by interests
  14. browse_local_posts: Browse a live stream of public posts from this server
  15. browse_public_posts: Browse a live stream of public posts on Mastodon
  16. contact: Contact
  17. contact_missing: Not set
  18. contact_unavailable: N/A
  19. discover_users: Discover users
  20. documentation: Documentation
  21. federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond.
  22. get_apps: Try a mobile app
  23. hosted_on: Mastodon hosted on %{domain}
  24. instance_actor_flash: |
  25. This account is a virtual actor used to represent the server itself and not any individual user.
  26. It is used for federation purposes and should not be blocked unless you want to block the whole instance, in which case you should use a domain block.
  27. learn_more: Learn more
  28. privacy_policy: Privacy policy
  29. rules: Server rules
  30. rules_html: 'Below is a summary of rules you need to follow if you want to have an account on this server of Mastodon:'
  31. see_whats_happening: See what's happening
  32. server_stats: 'Server stats:'
  33. source_code: Source code
  34. status_count_after:
  35. one: post
  36. other: posts
  37. status_count_before: Who published
  38. tagline: Follow friends and discover new ones
  39. terms: Terms of service
  40. unavailable_content: Moderated servers
  41. unavailable_content_description:
  42. domain: Server
  43. reason: Reason
  44. rejecting_media: 'Media files from these servers will not be processed or stored, and no thumbnails will be displayed, requiring manual click-through to the original file:'
  45. rejecting_media_title: Filtered media
  46. silenced: 'Posts from these servers will be hidden in public timelines and conversations, and no notifications will be generated from their users interactions, unless you are following them:'
  47. silenced_title: Limited servers
  48. suspended: 'No data from these servers will be processed, stored or exchanged, making any interaction or communication with users from these servers impossible:'
  49. suspended_title: Suspended servers
  50. unavailable_content_html: Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.
  51. user_count_after:
  52. one: user
  53. other: users
  54. user_count_before: Home to
  55. what_is_mastodon: What is Mastodon?
  56. accounts:
  57. choices_html: "%{name}'s choices:"
  58. endorsements_hint: You can endorse people you follow from the web interface, and they will show up here.
  59. featured_tags_hint: You can feature specific hashtags that will be displayed here.
  60. follow: Follow
  61. followers:
  62. one: Follower
  63. other: Followers
  64. following: Following
  65. instance_actor_flash: This account is a virtual actor used to represent the server itself and not any individual user. It is used for federation purposes and should not be suspended.
  66. joined: Joined %{date}
  67. last_active: last active
  68. link_verified_on: Ownership of this link was checked on %{date}
  69. media: Media
  70. moved_html: "%{name} has moved to %{new_profile_link}:"
  71. network_hidden: This information is not available
  72. never_active: Never
  73. nothing_here: There is nothing here!
  74. people_followed_by: People whom %{name} follows
  75. people_who_follow: People who follow %{name}
  76. pin_errors:
  77. following: You must be already following the person you want to endorse
  78. posts:
  79. one: Post
  80. other: Posts
  81. posts_tab_heading: Posts
  82. posts_with_replies: Posts and replies
  83. roles:
  84. admin: Admin
  85. bot: Bot
  86. group: Group
  87. moderator: Mod
  88. unavailable: Profile unavailable
  89. unfollow: Unfollow
  90. admin:
  91. account_actions:
  92. action: Perform action
  93. title: Perform moderation action on %{acct}
  94. account_moderation_notes:
  95. create: Leave note
  96. created_msg: Moderation note successfully created!
  97. delete: Delete
  98. destroyed_msg: Moderation note successfully destroyed!
  99. accounts:
  100. add_email_domain_block: Block e-mail domain
  101. approve: Approve
  102. approve_all: Approve all
  103. approved_msg: Successfully approved %{username}'s sign-up application
  104. are_you_sure: Are you sure?
  105. avatar: Avatar
  106. by_domain: Domain
  107. change_email:
  108. changed_msg: Account email successfully changed!
  109. current_email: Current email
  110. label: Change email
  111. new_email: New email
  112. submit: Change email
  113. title: Change email for %{username}
  114. confirm: Confirm
  115. confirmed: Confirmed
  116. confirming: Confirming
  117. delete: Delete data
  118. deleted: Deleted
  119. demote: Demote
  120. destroyed_msg: "%{username}'s data is now queued to be deleted imminently"
  121. disable: Freeze
  122. disable_sign_in_token_auth: Disable e-mail token authentication
  123. disable_two_factor_authentication: Disable 2FA
  124. disabled: Frozen
  125. display_name: Display name
  126. domain: Domain
  127. edit: Edit
  128. email: Email
  129. email_status: Email status
  130. enable: Unfreeze
  131. enable_sign_in_token_auth: Enable e-mail token authentication
  132. enabled: Enabled
  133. enabled_msg: Successfully unfroze %{username}'s account
  134. followers: Followers
  135. follows: Follows
  136. header: Header
  137. inbox_url: Inbox URL
  138. invite_request_text: Reasons for joining
  139. invited_by: Invited by
  140. ip: IP
  141. joined: Joined
  142. location:
  143. all: All
  144. local: Local
  145. remote: Remote
  146. title: Location
  147. login_status: Login status
  148. media_attachments: Media attachments
  149. memorialize: Turn into memoriam
  150. memorialized: Memorialized
  151. memorialized_msg: Successfully turned %{username} into a memorial account
  152. moderation:
  153. active: Active
  154. all: All
  155. pending: Pending
  156. silenced: Limited
  157. suspended: Suspended
  158. title: Moderation
  159. moderation_notes: Moderation notes
  160. most_recent_activity: Most recent activity
  161. most_recent_ip: Most recent IP
  162. no_account_selected: No accounts were changed as none were selected
  163. no_limits_imposed: No limits imposed
  164. not_subscribed: Not subscribed
  165. pending: Pending review
  166. perform_full_suspension: Suspend
  167. promote: Promote
  168. protocol: Protocol
  169. public: Public
  170. push_subscription_expires: PuSH subscription expires
  171. redownload: Refresh profile
  172. redownloaded_msg: Successfully refreshed %{username}'s profile from origin
  173. reject: Reject
  174. reject_all: Reject all
  175. rejected_msg: Successfully rejected %{username}'s sign-up application
  176. remove_avatar: Remove avatar
  177. remove_header: Remove header
  178. removed_avatar_msg: Successfully removed %{username}'s avatar image
  179. removed_header_msg: Successfully removed %{username}'s header image
  180. resend_confirmation:
  181. already_confirmed: This user is already confirmed
  182. send: Resend confirmation email
  183. success: Confirmation email successfully sent!
  184. reset: Reset
  185. reset_password: Reset password
  186. resubscribe: Resubscribe
  187. role: Permissions
  188. roles:
  189. admin: Administrator
  190. moderator: Moderator
  191. staff: Staff
  192. user: User
  193. search: Search
  194. search_same_email_domain: Other users with the same e-mail domain
  195. search_same_ip: Other users with the same IP
  196. security_measures:
  197. only_password: Only password
  198. password_and_2fa: Password and 2FA
  199. password_and_sign_in_token: Password and e-mail token
  200. sensitive: Force-sensitive
  201. sensitized: Marked as sensitive
  202. shared_inbox_url: Shared inbox URL
  203. show:
  204. created_reports: Made reports
  205. targeted_reports: Reported by others
  206. silence: Limit
  207. silenced: Limited
  208. statuses: Posts
  209. subscribe: Subscribe
  210. suspended: Suspended
  211. suspension_irreversible: The data of this account has been irreversibly deleted. You can unsuspend the account to make it usable but it will not recover any data it previously had.
  212. suspension_reversible_hint_html: The account has been suspended, and the data will be fully removed on %{date}. Until then, the account can be restored without any ill effects. If you wish to remove all of the account's data immediately, you can do so below.
  213. time_in_queue: Waiting in queue %{time}
  214. title: Accounts
  215. unconfirmed_email: Unconfirmed email
  216. undo_sensitized: Undo force-sensitive
  217. undo_silenced: Undo limit
  218. undo_suspension: Undo suspension
  219. unsilenced_msg: Successfully undid limit of %{username}'s account
  220. unsubscribe: Unsubscribe
  221. unsuspended_msg: Successfully unsuspended %{username}'s account
  222. username: Username
  223. view_domain: View summary for domain
  224. warn: Warn
  225. web: Web
  226. whitelisted: Allowed for federation
  227. action_logs:
  228. action_types:
  229. assigned_to_self_report: Assign Report
  230. change_email_user: Change E-mail for User
  231. confirm_user: Confirm User
  232. create_account_warning: Create Warning
  233. create_announcement: Create Announcement
  234. create_custom_emoji: Create Custom Emoji
  235. create_domain_allow: Create Domain Allow
  236. create_domain_block: Create Domain Block
  237. create_email_domain_block: Create E-mail Domain Block
  238. create_ip_block: Create IP rule
  239. create_unavailable_domain: Create Unavailable Domain
  240. demote_user: Demote User
  241. destroy_announcement: Delete Announcement
  242. destroy_custom_emoji: Delete Custom Emoji
  243. destroy_domain_allow: Delete Domain Allow
  244. destroy_domain_block: Delete Domain Block
  245. destroy_email_domain_block: Delete E-mail Domain Block
  246. destroy_ip_block: Delete IP rule
  247. destroy_status: Delete Post
  248. destroy_unavailable_domain: Delete Unavailable Domain
  249. disable_2fa_user: Disable 2FA
  250. disable_custom_emoji: Disable Custom Emoji
  251. disable_sign_in_token_auth_user: Disable E-mail Token Authentication for User
  252. disable_user: Disable User
  253. enable_custom_emoji: Enable Custom Emoji
  254. enable_sign_in_token_auth_user: Enable E-mail Token Authentication for User
  255. enable_user: Enable User
  256. memorialize_account: Memorialize Account
  257. promote_user: Promote User
  258. remove_avatar_user: Remove Avatar
  259. reopen_report: Reopen Report
  260. reset_password_user: Reset Password
  261. resolve_report: Resolve Report
  262. sensitive_account: Force-Sensitive Account
  263. silence_account: Limit Account
  264. suspend_account: Suspend Account
  265. unassigned_report: Unassign Report
  266. unsensitive_account: Undo Force-Sensitive Account
  267. unsilence_account: Undo Limit Account
  268. unsuspend_account: Unsuspend Account
  269. update_announcement: Update Announcement
  270. update_custom_emoji: Update Custom Emoji
  271. update_domain_block: Update Domain Block
  272. update_status: Update Post
  273. actions:
  274. assigned_to_self_report_html: "%{name} assigned report %{target} to themselves"
  275. change_email_user_html: "%{name} changed the e-mail address of user %{target}"
  276. confirm_user_html: "%{name} confirmed e-mail address of user %{target}"
  277. create_account_warning_html: "%{name} sent a warning to %{target}"
  278. create_announcement_html: "%{name} created new announcement %{target}"
  279. create_custom_emoji_html: "%{name} uploaded new emoji %{target}"
  280. create_domain_allow_html: "%{name} allowed federation with domain %{target}"
  281. create_domain_block_html: "%{name} blocked domain %{target}"
  282. create_email_domain_block_html: "%{name} blocked e-mail domain %{target}"
  283. create_ip_block_html: "%{name} created rule for IP %{target}"
  284. create_unavailable_domain_html: "%{name} stopped delivery to domain %{target}"
  285. demote_user_html: "%{name} demoted user %{target}"
  286. destroy_announcement_html: "%{name} deleted announcement %{target}"
  287. destroy_custom_emoji_html: "%{name} destroyed emoji %{target}"
  288. destroy_domain_allow_html: "%{name} disallowed federation with domain %{target}"
  289. destroy_domain_block_html: "%{name} unblocked domain %{target}"
  290. destroy_email_domain_block_html: "%{name} unblocked e-mail domain %{target}"
  291. destroy_ip_block_html: "%{name} deleted rule for IP %{target}"
  292. destroy_status_html: "%{name} removed post by %{target}"
  293. destroy_unavailable_domain_html: "%{name} resumed delivery to domain %{target}"
  294. disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}"
  295. disable_custom_emoji_html: "%{name} disabled emoji %{target}"
  296. disable_sign_in_token_auth_user_html: "%{name} disabled e-mail token authentication for %{target}"
  297. disable_user_html: "%{name} disabled login for user %{target}"
  298. enable_custom_emoji_html: "%{name} enabled emoji %{target}"
  299. enable_sign_in_token_auth_user_html: "%{name} enabled e-mail token authentication for %{target}"
  300. enable_user_html: "%{name} enabled login for user %{target}"
  301. memorialize_account_html: "%{name} turned %{target}'s account into a memoriam page"
  302. promote_user_html: "%{name} promoted user %{target}"
  303. remove_avatar_user_html: "%{name} removed %{target}'s avatar"
  304. reopen_report_html: "%{name} reopened report %{target}"
  305. reset_password_user_html: "%{name} reset password of user %{target}"
  306. resolve_report_html: "%{name} resolved report %{target}"
  307. sensitive_account_html: "%{name} marked %{target}'s media as sensitive"
  308. silence_account_html: "%{name} limited %{target}'s account"
  309. suspend_account_html: "%{name} suspended %{target}'s account"
  310. unassigned_report_html: "%{name} unassigned report %{target}"
  311. unsensitive_account_html: "%{name} unmarked %{target}'s media as sensitive"
  312. unsilence_account_html: "%{name} undid limit of %{target}'s account"
  313. unsuspend_account_html: "%{name} unsuspended %{target}'s account"
  314. update_announcement_html: "%{name} updated announcement %{target}"
  315. update_custom_emoji_html: "%{name} updated emoji %{target}"
  316. update_domain_block_html: "%{name} updated domain block for %{target}"
  317. update_status_html: "%{name} updated post by %{target}"
  318. deleted_status: "(deleted post)"
  319. empty: No logs found.
  320. filter_by_action: Filter by action
  321. filter_by_user: Filter by user
  322. title: Audit log
  323. announcements:
  324. destroyed_msg: Announcement successfully deleted!
  325. edit:
  326. title: Edit announcement
  327. empty: No announcements found.
  328. live: Live
  329. new:
  330. create: Create announcement
  331. title: New announcement
  332. publish: Publish
  333. published_msg: Announcement successfully published!
  334. scheduled_for: Scheduled for %{time}
  335. scheduled_msg: Announcement scheduled for publication!
  336. title: Announcements
  337. unpublish: Unpublish
  338. unpublished_msg: Announcement successfully unpublished!
  339. updated_msg: Announcement successfully updated!
  340. custom_emojis:
  341. assign_category: Assign category
  342. by_domain: Domain
  343. copied_msg: Successfully created local copy of the emoji
  344. copy: Copy
  345. copy_failed_msg: Could not make a local copy of that emoji
  346. create_new_category: Create new category
  347. created_msg: Emoji successfully created!
  348. delete: Delete
  349. destroyed_msg: Emojo successfully destroyed!
  350. disable: Disable
  351. disabled: Disabled
  352. disabled_msg: Successfully disabled that emoji
  353. emoji: Emoji
  354. enable: Enable
  355. enabled: Enabled
  356. enabled_msg: Successfully enabled that emoji
  357. image_hint: PNG up to 50KB
  358. list: List
  359. listed: Listed
  360. new:
  361. title: Add new custom emoji
  362. not_permitted: You are not permitted to perform this action
  363. overwrite: Overwrite
  364. shortcode: Shortcode
  365. shortcode_hint: At least 2 characters, only alphanumeric characters and underscores
  366. title: Custom emojis
  367. uncategorized: Uncategorized
  368. unlist: Unlist
  369. unlisted: Unlisted
  370. update_failed_msg: Could not update that emoji
  371. updated_msg: Emoji successfully updated!
  372. upload: Upload
  373. dashboard:
  374. active_users: active users
  375. interactions: interactions
  376. media_storage: Media storage
  377. new_users: new users
  378. opened_reports: reports opened
  379. pending_reports_html:
  380. one: "<strong>1</strong> pending reports"
  381. other: "<strong>%{count}</strong> pending reports"
  382. pending_tags_html:
  383. one: "<strong>1</strong> pending hashtags"
  384. other: "<strong>%{count}</strong> pending hashtags"
  385. pending_users_html:
  386. one: "<strong>1</strong> pending users"
  387. other: "<strong>%{count}</strong> pending users"
  388. resolved_reports: reports resolved
  389. software: Software
  390. sources: Sign-up sources
  391. space: Space usage
  392. title: Dashboard
  393. top_languages: Top active languages
  394. top_servers: Top active servers
  395. website: Website
  396. domain_allows:
  397. add_new: Allow federation with domain
  398. created_msg: Domain has been successfully allowed for federation
  399. destroyed_msg: Domain has been disallowed from federation
  400. undo: Disallow federation with domain
  401. domain_blocks:
  402. add_new: Add new domain block
  403. created_msg: Domain block is now being processed
  404. destroyed_msg: Domain block has been undone
  405. domain: Domain
  406. edit: Edit domain block
  407. existing_domain_block_html: You have already imposed stricter limits on %{name}, you need to <a href="%{unblock_url}">unblock it</a> first.
  408. new:
  409. create: Create block
  410. hint: The domain block will not prevent creation of account entries in the database, but will retroactively and automatically apply specific moderation methods on those accounts.
  411. severity:
  412. desc_html: "<strong>Silence</strong> will make the account's posts invisible to anyone who isn't following them. <strong>Suspend</strong> will remove all of the account's content, media, and profile data. Use <strong>None</strong> if you just want to reject media files."
  413. noop: None
  414. silence: Silence
  415. suspend: Suspend
  416. title: New domain block
  417. obfuscate: Obfuscate domain name
  418. obfuscate_hint: Partially obfuscate the domain name in the list if advertising the list of domain limitations is enabled
  419. private_comment: Private comment
  420. private_comment_hint: Comment about this domain limitation for internal use by the moderators.
  421. public_comment: Public comment
  422. public_comment_hint: Comment about this domain limitation for the general public, if advertising the list of domain limitations is enabled.
  423. reject_media: Reject media files
  424. reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
  425. reject_reports: Reject reports
  426. reject_reports_hint: Ignore all reports coming from this domain. Irrelevant for suspensions
  427. rejecting_media: rejecting media files
  428. rejecting_reports: rejecting reports
  429. severity:
  430. silence: limited
  431. suspend: suspended
  432. show:
  433. affected_accounts:
  434. one: One account in the database affected
  435. other: "%{count} accounts in the database affected"
  436. retroactive:
  437. silence: Undo limit of existing affected accounts from this domain
  438. suspend: Unsuspend existing affected accounts from this domain
  439. title: Undo domain block for %{domain}
  440. undo: Undo
  441. undo: Undo domain block
  442. view: View domain block
  443. email_domain_blocks:
  444. add_new: Add new
  445. created_msg: Successfully blocked e-mail domain
  446. delete: Delete
  447. destroyed_msg: Successfully unblocked e-mail domain
  448. domain: Domain
  449. empty: No e-mail domains currently blocked.
  450. from_html: from %{domain}
  451. new:
  452. create: Add domain
  453. title: Block new e-mail domain
  454. title: Blocked e-mail domains
  455. follow_recommendations:
  456. description_html: "<strong>Follow recommendations help new users quickly find interesting content</strong>. When a user has not interacted with others enough to form personalized follow recommendations, these accounts are recommended instead. They are re-calculated on a daily basis from a mix of accounts with the highest recent engagements and highest local follower counts for a given language."
  457. language: For language
  458. status: Status
  459. suppress: Suppress follow recommendation
  460. suppressed: Suppressed
  461. title: Follow recommendations
  462. unsuppress: Restore follow recommendation
  463. instances:
  464. back_to_all: All
  465. back_to_limited: Limited
  466. back_to_warning: Warning
  467. by_domain: Domain
  468. delivery:
  469. all: All
  470. clear: Clear delivery errors
  471. restart: Restart delivery
  472. stop: Stop delivery
  473. title: Delivery
  474. unavailable: Unavailable
  475. unavailable_message: Delivery unavailable
  476. warning: Warning
  477. warning_message:
  478. one: Delivery failure %{count} day
  479. other: Delivery failure %{count} days
  480. delivery_available: Delivery is available
  481. delivery_error_days: Delivery error days
  482. delivery_error_hint: If delivery is not possible for %{count} days, it will be automatically marked as undeliverable.
  483. empty: No domains found.
  484. known_accounts:
  485. one: "%{count} known account"
  486. other: "%{count} known accounts"
  487. moderation:
  488. all: All
  489. limited: Limited
  490. title: Moderation
  491. private_comment: Private comment
  492. public_comment: Public comment
  493. title: Federation
  494. total_blocked_by_us: Blocked by us
  495. total_followed_by_them: Followed by them
  496. total_followed_by_us: Followed by us
  497. total_reported: Reports about them
  498. total_storage: Media attachments
  499. invites:
  500. deactivate_all: Deactivate all
  501. filter:
  502. all: All
  503. available: Available
  504. expired: Expired
  505. title: Filter
  506. title: Invites
  507. ip_blocks:
  508. add_new: Create rule
  509. created_msg: Successfully added new IP rule
  510. delete: Delete
  511. expires_in:
  512. '1209600': 2 weeks
  513. '15778476': 6 months
  514. '2629746': 1 month
  515. '31556952': 1 year
  516. '86400': 1 day
  517. '94670856': 3 years
  518. new:
  519. title: Create new IP rule
  520. no_ip_block_selected: No IP rules were changed as none were selected
  521. title: IP rules
  522. pending_accounts:
  523. title: Pending accounts (%{count})
  524. relationships:
  525. title: "%{acct}'s relationships"
  526. relays:
  527. add_new: Add new relay
  528. delete: Delete
  529. description_html: A <strong>federation relay</strong> is an intermediary server that exchanges large volumes of public posts between servers that subscribe and publish to it. <strong>It can help small and medium servers discover content from the fediverse</strong>, which would otherwise require local users manually following other people on remote servers.
  530. disable: Disable
  531. disabled: Disabled
  532. enable: Enable
  533. enable_hint: Once enabled, your server will subscribe to all public posts from this relay, and will begin sending this server's public posts to it.
  534. enabled: Enabled
  535. inbox_url: Relay URL
  536. pending: Waiting for relay's approval
  537. save_and_enable: Save and enable
  538. setup: Setup a relay connection
  539. signatures_not_enabled: Relays will not work correctly while secure mode or limited federation mode is enabled
  540. status: Status
  541. title: Relays
  542. report_notes:
  543. created_msg: Report note successfully created!
  544. destroyed_msg: Report note successfully deleted!
  545. reports:
  546. account:
  547. notes:
  548. one: "%{count} note"
  549. other: "%{count} notes"
  550. reports:
  551. one: "%{count} report"
  552. other: "%{count} reports"
  553. action_taken_by: Action taken by
  554. are_you_sure: Are you sure?
  555. assign_to_self: Assign to me
  556. assigned: Assigned moderator
  557. by_target_domain: Domain of reported account
  558. comment:
  559. none: None
  560. created_at: Reported
  561. forwarded: Forwarded
  562. forwarded_to: Forwarded to %{domain}
  563. mark_as_resolved: Mark as resolved
  564. mark_as_unresolved: Mark as unresolved
  565. notes:
  566. create: Add note
  567. create_and_resolve: Resolve with note
  568. create_and_unresolve: Reopen with note
  569. delete: Delete
  570. placeholder: Describe what actions have been taken, or any other related updates...
  571. reopen: Reopen report
  572. report: 'Report #%{id}'
  573. reported_account: Reported account
  574. reported_by: Reported by
  575. resolved: Resolved
  576. resolved_msg: Report successfully resolved!
  577. status: Status
  578. target_origin: Origin of reported account
  579. title: Reports
  580. unassign: Unassign
  581. unresolved: Unresolved
  582. updated_at: Updated
  583. rules:
  584. add_new: Add rule
  585. delete: Delete
  586. description_html: While most claim to have read and agree to the terms of service, usually people do not read through until after a problem arises. <strong>Make it easier to see your server's rules at a glance by providing them in a flat bullet point list.</strong> Try to keep individual rules short and simple, but try not to split them up into many separate items either.
  587. edit: Edit rule
  588. empty: No server rules have been defined yet.
  589. title: Server rules
  590. settings:
  591. activity_api_enabled:
  592. desc_html: Counts of locally published posts, active users, and new registrations in weekly buckets
  593. title: Publish aggregate statistics about user activity in the API
  594. bootstrap_timeline_accounts:
  595. desc_html: Separate multiple usernames by comma. These accounts will be guaranteed to be shown in follow recommendations
  596. title: Recommend these accounts to new users
  597. contact_information:
  598. email: Business e-mail
  599. username: Contact username
  600. custom_css:
  601. desc_html: Modify the look with CSS loaded on every page
  602. title: Custom CSS
  603. default_noindex:
  604. desc_html: Affects all users who have not changed this setting themselves
  605. title: Opt users out of search engine indexing by default
  606. domain_blocks:
  607. all: To everyone
  608. disabled: To no one
  609. title: Show domain blocks
  610. users: To logged-in local users
  611. domain_blocks_rationale:
  612. title: Show rationale
  613. hero:
  614. desc_html: Displayed on the frontpage. At least 600x100px recommended. When not set, falls back to server thumbnail
  615. title: Hero image
  616. mascot:
  617. desc_html: Displayed on multiple pages. At least 293×205px recommended. When not set, falls back to default mascot
  618. title: Mascot image
  619. peers_api_enabled:
  620. desc_html: Domain names this server has encountered in the fediverse
  621. title: Publish list of discovered servers in the API
  622. preview_sensitive_media:
  623. desc_html: Link previews on other websites will display a thumbnail even if the media is marked as sensitive
  624. title: Show sensitive media in OpenGraph previews
  625. profile_directory:
  626. desc_html: Allow users to be discoverable
  627. title: Enable profile directory
  628. registrations:
  629. closed_message:
  630. desc_html: Displayed on frontpage when registrations are closed. You can use HTML tags
  631. title: Closed registration message
  632. deletion:
  633. desc_html: Allow anyone to delete their account
  634. title: Open account deletion
  635. min_invite_role:
  636. disabled: No one
  637. title: Allow invitations by
  638. require_invite_text:
  639. desc_html: When registrations require manual approval, make the “Why do you want to join?” text input mandatory rather than optional
  640. title: Require new users to enter a reason to join
  641. registrations_mode:
  642. modes:
  643. approved: Approval required for sign up
  644. none: Nobody can sign up
  645. open: Anyone can sign up
  646. title: Registrations mode
  647. show_known_fediverse_at_about_page:
  648. desc_html: When disabled, restricts the public timeline linked from the landing page to showing only local content
  649. title: Include federated content on unauthenticated public timeline page
  650. show_staff_badge:
  651. desc_html: Show a staff badge on a user page
  652. title: Show staff badge
  653. site_description:
  654. desc_html: Introductory paragraph on the API. Describe what makes this Mastodon server special and anything else important. You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>.
  655. title: Server description
  656. site_description_extended:
  657. desc_html: A good place for your code of conduct, rules, guidelines and other things that set your server apart. You can use HTML tags
  658. title: Custom extended information
  659. site_short_description:
  660. desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph.
  661. title: Short server description
  662. site_terms:
  663. desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
  664. title: Custom terms of service
  665. site_title: Server name
  666. thumbnail:
  667. desc_html: Used for previews via OpenGraph and API. 1200x630px recommended
  668. title: Server thumbnail
  669. timeline_preview:
  670. desc_html: Display link to public timeline on landing page and allow API access to the public timeline without authentication
  671. title: Allow unauthenticated access to public timeline
  672. title: Site settings
  673. trendable_by_default:
  674. desc_html: Affects hashtags that have not been previously disallowed
  675. title: Allow hashtags to trend without prior review
  676. trends:
  677. desc_html: Publicly display previously reviewed content that is currently trending
  678. title: Trends
  679. site_uploads:
  680. delete: Delete uploaded file
  681. destroyed_msg: Site upload successfully deleted!
  682. statuses:
  683. back_to_account: Back to account page
  684. batch:
  685. delete: Delete
  686. nsfw_off: Mark as not sensitive
  687. nsfw_on: Mark as sensitive
  688. deleted: Deleted
  689. failed_to_execute: Failed to execute
  690. media:
  691. title: Media
  692. no_media: No media
  693. no_status_selected: No posts were changed as none were selected
  694. title: Account posts
  695. with_media: With media
  696. system_checks:
  697. database_schema_check:
  698. message_html: There are pending database migrations. Please run them to ensure the application behaves as expected
  699. rules_check:
  700. action: Manage server rules
  701. message_html: You haven't defined any server rules.
  702. sidekiq_process_check:
  703. message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration
  704. tags:
  705. review: Review status
  706. updated_msg: Hashtag settings updated successfully
  707. title: Administration
  708. trends:
  709. allow: Allow
  710. approved: Approved
  711. disallow: Disallow
  712. links:
  713. allow: Allow link
  714. allow_provider: Allow publisher
  715. disallow: Disallow link
  716. disallow_provider: Disallow publisher
  717. shared_by_over_week:
  718. one: Shared by one person over the last week
  719. other: Shared by %{count} people over the last week
  720. title: Trending links
  721. usage_comparison: Shared %{today} times today, compared to %{yesterday} yesterday
  722. pending_review: Pending review
  723. preview_card_providers:
  724. allowed: Links from this publisher can trend
  725. rejected: Links from this publisher won't trend
  726. title: Publishers
  727. rejected: Rejected
  728. tags:
  729. current_score: Current score %{score}
  730. dashboard:
  731. tag_accounts_measure: unique uses
  732. tag_languages_dimension: Top languages
  733. tag_servers_dimension: Top servers
  734. tag_servers_measure: different servers
  735. tag_uses_measure: total uses
  736. listable: Can be suggested
  737. not_listable: Won't be suggested
  738. not_trendable: Won't appear under trends
  739. not_usable: Cannot be used
  740. peaked_on_and_decaying: Peaked on %{date}, now decaying
  741. title: Trending hashtags
  742. trendable: Can appear under trends
  743. trending_rank: 'Trending #%{rank}'
  744. usable: Can be used
  745. usage_comparison: Used %{today} times today, compared to %{yesterday} yesterday
  746. used_by_over_week:
  747. one: Used by one person over the last week
  748. other: Used by %{count} people over the last week
  749. title: Trends
  750. warning_presets:
  751. add_new: Add new
  752. delete: Delete
  753. edit_preset: Edit warning preset
  754. empty: You haven't defined any warning presets yet.
  755. title: Manage warning presets
  756. admin_mailer:
  757. new_pending_account:
  758. body: The details of the new account are below. You can approve or reject this application.
  759. subject: New account up for review on %{instance} (%{username})
  760. new_report:
  761. body: "%{reporter} has reported %{target}"
  762. body_remote: Someone from %{domain} has reported %{target}
  763. subject: New report for %{instance} (#%{id})
  764. new_trending_links:
  765. body: The following links are trending today, but their publishers have not been previously reviewed. They will not be displayed publicly unless you approve them. Further notifications from the same publishers will not be generated.
  766. no_approved_links: There are currently no approved trending links.
  767. requirements: The lowest approved trending link is currently "%{lowest_link_title}" with a score of %{lowest_link_score}.
  768. subject: New trending links up for review on %{instance}
  769. new_trending_tags:
  770. body: 'The following hashtags are trending today, but they have not been previously reviewed. They will not be displayed publicly unless you approve them:'
  771. no_approved_tags: There are currently no approved trending hashtags.
  772. requirements: 'The lowest approved trending hashtag is currently #%{lowest_tag_name} with a score of %{lowest_tag_score}.'
  773. subject: New trending hashtags up for review on %{instance}
  774. aliases:
  775. add_new: Create alias
  776. created_msg: Successfully created a new alias. You can now initiate the move from the old account.
  777. deleted_msg: Successfully removed the alias. Moving from that account to this one will no longer be possible.
  778. empty: You have no aliases.
  779. hint_html: If you want to move from another account to this one, here you can create an alias, which is required before you can proceed with moving followers from the old account to this one. This action by itself is <strong>harmless and reversible</strong>. <strong>The account migration is initiated from the old account</strong>.
  780. remove: Unlink alias
  781. appearance:
  782. advanced_web_interface: Advanced web interface
  783. advanced_web_interface_hint: 'If you want to make use of your entire screen width, the advanced web interface allows you to configure many different columns to see as much information at the same time as you want: Home, notifications, federated timeline, any number of lists and hashtags.'
  784. animations_and_accessibility: Animations and accessibility
  785. confirmation_dialogs: Confirmation dialogs
  786. discovery: Discovery
  787. localization:
  788. body: Mastodon is translated by volunteers.
  789. guide_link: https://crowdin.com/project/mastodon
  790. guide_link_text: Everyone can contribute.
  791. sensitive_content: Sensitive content
  792. toot_layout: Post layout
  793. application_mailer:
  794. notification_preferences: Change e-mail preferences
  795. salutation: "%{name},"
  796. settings: 'Change e-mail preferences: %{link}'
  797. view: 'View:'
  798. view_profile: View profile
  799. view_status: View post
  800. applications:
  801. created: Application successfully created
  802. destroyed: Application successfully deleted
  803. invalid_url: The provided URL is invalid
  804. regenerate_token: Regenerate access token
  805. token_regenerated: Access token successfully regenerated
  806. warning: Be very careful with this data. Never share it with anyone!
  807. your_token: Your access token
  808. auth:
  809. apply_for_account: Request an invite
  810. change_password: Password
  811. checkbox_agreement_html: I agree to the <a href="%{rules_path}" target="_blank">server rules</a> and <a href="%{terms_path}" target="_blank">terms of service</a>
  812. checkbox_agreement_without_rules_html: I agree to the <a href="%{terms_path}" target="_blank">terms of service</a>
  813. delete_account: Delete account
  814. delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation.
  815. description:
  816. prefix_invited_by_user: "@%{name} invites you to join this server of Mastodon!"
  817. prefix_sign_up: Sign up on Mastodon today!
  818. suffix: With an account, you will be able to follow people, post updates and exchange messages with users from any Mastodon server and more!
  819. didnt_get_confirmation: Didn't receive confirmation instructions?
  820. dont_have_your_security_key: Don't have your security key?
  821. forgot_password: Forgot your password?
  822. invalid_reset_password_token: Password reset token is invalid or expired. Please request a new one.
  823. link_to_otp: Enter a two-factor code from your phone or a recovery code
  824. link_to_webauth: Use your security key device
  825. login: Log in
  826. logout: Logout
  827. migrate_account: Move to a different account
  828. migrate_account_html: If you wish to redirect this account to a different one, you can <a href="%{path}">configure it here</a>.
  829. or_log_in_with: Or log in with
  830. providers:
  831. cas: CAS
  832. saml: SAML
  833. register: Sign up
  834. registration_closed: "%{instance} is not accepting new members"
  835. resend_confirmation: Resend confirmation instructions
  836. reset_password: Reset password
  837. security: Security
  838. set_new_password: Set new password
  839. setup:
  840. email_below_hint_html: If the below e-mail address is incorrect, you can change it here and receive a new confirmation e-mail.
  841. email_settings_hint_html: The confirmation e-mail was sent to %{email}. If that e-mail address is not correct, you can change it in account settings.
  842. title: Setup
  843. status:
  844. account_status: Account status
  845. confirming: Waiting for e-mail confirmation to be completed.
  846. functional: Your account is fully operational.
  847. pending: Your application is pending review by our staff. This may take some time. You will receive an e-mail if your application is approved.
  848. redirecting_to: Your account is inactive because it is currently redirecting to %{acct}.
  849. too_fast: Form submitted too fast, try again.
  850. trouble_logging_in: Trouble logging in?
  851. use_security_key: Use security key
  852. authorize_follow:
  853. already_following: You are already following this account
  854. already_requested: You have already sent a follow request to that account
  855. error: Unfortunately, there was an error looking up the remote account
  856. follow: Follow
  857. follow_request: 'You have sent a follow request to:'
  858. following: 'Success! You are now following:'
  859. post_follow:
  860. close: Or, you can just close this window.
  861. return: Show the user's profile
  862. web: Go to web
  863. title: Follow %{acct}
  864. challenge:
  865. confirm: Continue
  866. hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour."
  867. invalid_password: Invalid password
  868. prompt: Confirm password to continue
  869. crypto:
  870. errors:
  871. invalid_key: is not a valid Ed25519 or Curve25519 key
  872. invalid_signature: is not a valid Ed25519 signature
  873. date:
  874. formats:
  875. default: "%b %d, %Y"
  876. with_month_name: "%B %d, %Y"
  877. datetime:
  878. distance_in_words:
  879. about_x_hours: "%{count}h"
  880. about_x_months: "%{count}mo"
  881. about_x_years: "%{count}y"
  882. almost_x_years: "%{count}y"
  883. half_a_minute: Just now
  884. less_than_x_minutes: "%{count}m"
  885. less_than_x_seconds: Just now
  886. over_x_years: "%{count}y"
  887. x_days: "%{count}d"
  888. x_minutes: "%{count}m"
  889. x_months: "%{count}mo"
  890. x_seconds: "%{count}s"
  891. deletes:
  892. challenge_not_passed: The information you entered was not correct
  893. confirm_password: Enter your current password to verify your identity
  894. confirm_username: Enter your username to confirm the procedure
  895. proceed: Delete account
  896. success_msg: Your account was successfully deleted
  897. warning:
  898. before: 'Before proceeding, please read these notes carefully:'
  899. caches: Content that has been cached by other servers may persist
  900. data_removal: Your posts and other data will be permanently removed
  901. email_change_html: You can <a href="%{path}">change your e-mail address</a> without deleting your account
  902. email_contact_html: If it still doesn't arrive, you can e-mail <a href="mailto:%{email}">%{email}</a> for help
  903. email_reconfirmation_html: If you are not receiving the confirmation e-mail, you can <a href="%{path}">request it again</a>
  904. irreversible: You will not be able to restore or reactivate your account
  905. more_details_html: For more details, see the <a href="%{terms_path}">privacy policy</a>.
  906. username_available: Your username will become available again
  907. username_unavailable: Your username will remain unavailable
  908. directories:
  909. directory: Profile directory
  910. explanation: Discover users based on their interests
  911. explore_mastodon: Explore %{title}
  912. domain_validator:
  913. invalid_domain: is not a valid domain name
  914. errors:
  915. '400': The request you submitted was invalid or malformed.
  916. '403': You don't have permission to view this page.
  917. '404': The page you are looking for isn't here.
  918. '406': This page is not available in the requested format.
  919. '410': The page you were looking for doesn't exist here anymore.
  920. '422':
  921. content: Security verification failed. Are you blocking cookies?
  922. title: Security verification failed
  923. '429': Too many requests
  924. '500':
  925. content: We're sorry, but something went wrong on our end.
  926. title: This page is not correct
  927. '503': The page could not be served due to a temporary server failure.
  928. noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="%{apps_path}">native apps</a> for Mastodon for your platform.
  929. existing_username_validator:
  930. not_found: could not find a local user with that username
  931. not_found_multiple: could not find %{usernames}
  932. exports:
  933. archive_takeout:
  934. date: Date
  935. download: Download your archive
  936. hint_html: You can request an archive of your <strong>posts and uploaded media</strong>. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days.
  937. in_progress: Compiling your archive...
  938. request: Request your archive
  939. size: Size
  940. blocks: You block
  941. bookmarks: Bookmarks
  942. csv: CSV
  943. domain_blocks: Domain blocks
  944. lists: Lists
  945. mutes: You mute
  946. storage: Media storage
  947. featured_tags:
  948. add_new: Add new
  949. errors:
  950. limit: You have already featured the maximum amount of hashtags
  951. hint_html: "<strong>What are featured hashtags?</strong> They are displayed prominently on your public profile and allow people to browse your public posts specifically under those hashtags. They are a great tool for keeping track of creative works or long-term projects."
  952. filters:
  953. contexts:
  954. account: Profiles
  955. home: Home and lists
  956. notifications: Notifications
  957. public: Public timelines
  958. thread: Conversations
  959. edit:
  960. title: Edit filter
  961. errors:
  962. invalid_context: None or invalid context supplied
  963. invalid_irreversible: Irreversible filtering only works with home or notifications context
  964. index:
  965. delete: Delete
  966. empty: You have no filters.
  967. title: Filters
  968. new:
  969. title: Add new filter
  970. footer:
  971. developers: Developers
  972. more: More…
  973. resources: Resources
  974. trending_now: Trending now
  975. generic:
  976. all: All
  977. changes_saved_msg: Changes successfully saved!
  978. copy: Copy
  979. delete: Delete
  980. none: None
  981. order_by: Order by
  982. save_changes: Save changes
  983. validation_errors:
  984. one: Something isn't quite right yet! Please review the error below
  985. other: Something isn't quite right yet! Please review %{count} errors below
  986. html_validator:
  987. invalid_markup: 'contains invalid HTML markup: %{error}'
  988. imports:
  989. errors:
  990. over_rows_processing_limit: contains more than %{count} rows
  991. modes:
  992. merge: Merge
  993. merge_long: Keep existing records and add new ones
  994. overwrite: Overwrite
  995. overwrite_long: Replace current records with the new ones
  996. preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking.
  997. success: Your data was successfully uploaded and will be processed in due time
  998. types:
  999. blocking: Blocking list
  1000. bookmarks: Bookmarks
  1001. domain_blocking: Domain blocking list
  1002. following: Following list
  1003. muting: Muting list
  1004. upload: Upload
  1005. in_memoriam_html: In Memoriam.
  1006. invites:
  1007. delete: Deactivate
  1008. expired: Expired
  1009. expires_in:
  1010. '1800': 30 minutes
  1011. '21600': 6 hours
  1012. '3600': 1 hour
  1013. '43200': 12 hours
  1014. '604800': 1 week
  1015. '86400': 1 day
  1016. expires_in_prompt: Never
  1017. generate: Generate invite link
  1018. invited_by: 'You were invited by:'
  1019. max_uses:
  1020. one: 1 use
  1021. other: "%{count} uses"
  1022. max_uses_prompt: No limit
  1023. prompt: Generate and share links with others to grant access to this server
  1024. table:
  1025. expires_at: Expires
  1026. uses: Uses
  1027. title: Invite people
  1028. lists:
  1029. errors:
  1030. limit: You have reached the maximum amount of lists
  1031. login_activities:
  1032. authentication_methods:
  1033. otp: two-factor authentication app
  1034. password: password
  1035. sign_in_token: e-mail security code
  1036. webauthn: security keys
  1037. description_html: If you see activity that you don't recognize, consider changing your password and enabling two-factor authentication.
  1038. empty: No authentication history available
  1039. failed_sign_in_html: Failed sign-in attempt with %{method} from %{ip} (%{browser})
  1040. successful_sign_in_html: Successful sign-in with %{method} from %{ip} (%{browser})
  1041. title: Authentication history
  1042. media_attachments:
  1043. validations:
  1044. images_and_video: Cannot attach a video to a post that already contains images
  1045. not_ready: Cannot attach files that have not finished processing. Try again in a moment!
  1046. too_many: Cannot attach more than 4 files
  1047. migrations:
  1048. acct: Moved to
  1049. cancel: Cancel redirect
  1050. cancel_explanation: Cancelling the redirect will re-activate your current account, but will not bring back followers that have been moved to that account.
  1051. cancelled_msg: Successfully cancelled the redirect.
  1052. errors:
  1053. already_moved: is the same account you have already moved to
  1054. missing_also_known_as: is not an alias of this account
  1055. move_to_self: cannot be current account
  1056. not_found: could not be found
  1057. on_cooldown: You are on cooldown
  1058. followers_count: Followers at time of move
  1059. incoming_migrations: Moving from a different account
  1060. incoming_migrations_html: To move from another account to this one, first you need to <a href="%{path}">create an account alias</a>.
  1061. moved_msg: Your account is now redirecting to %{acct} and your followers are being moved over.
  1062. not_redirecting: Your account is not redirecting to any other account currently.
  1063. on_cooldown: You have recently migrated your account. This function will become available again in %{count} days.
  1064. past_migrations: Past migrations
  1065. proceed_with_move: Move followers
  1066. redirected_msg: Your account is now redirecting to %{acct}.
  1067. redirecting_to: Your account is redirecting to %{acct}.
  1068. set_redirect: Set redirect
  1069. warning:
  1070. backreference_required: The new account must first be configured to back-reference this one
  1071. before: 'Before proceeding, please read these notes carefully:'
  1072. cooldown: After moving there is a waiting period during which you will not be able to move again
  1073. disabled_account: Your current account will not be fully usable afterwards. However, you will have access to data export as well as re-activation.
  1074. followers: This action will move all followers from the current account to the new account
  1075. only_redirect_html: Alternatively, you can <a href="%{path}">only put up a redirect on your profile</a>.
  1076. other_data: No other data will be moved automatically
  1077. redirect: Your current account's profile will be updated with a redirect notice and be excluded from searches
  1078. moderation:
  1079. title: Moderation
  1080. move_handler:
  1081. carry_blocks_over_text: This user moved from %{acct}, which you had blocked.
  1082. carry_mutes_over_text: This user moved from %{acct}, which you had muted.
  1083. copy_account_note_text: 'This user moved from %{acct}, here were your previous notes about them:'
  1084. notification_mailer:
  1085. digest:
  1086. action: View all notifications
  1087. body: Here is a brief summary of the messages you missed since your last visit on %{since}
  1088. mention: "%{name} mentioned you in:"
  1089. new_followers_summary:
  1090. one: Also, you have acquired one new follower while being away! Yay!
  1091. other: Also, you have acquired %{count} new followers while being away! Amazing!
  1092. subject:
  1093. one: "1 new notification since your last visit \U0001F418"
  1094. other: "%{count} new notifications since your last visit \U0001F418"
  1095. title: In your absence...
  1096. favourite:
  1097. body: 'Your post was favourited by %{name}:'
  1098. subject: "%{name} favourited your post"
  1099. title: New favourite
  1100. follow:
  1101. body: "%{name} is now following you!"
  1102. subject: "%{name} is now following you"
  1103. title: New follower
  1104. follow_request:
  1105. action: Manage follow requests
  1106. body: "%{name} has requested to follow you"
  1107. subject: 'Pending follower: %{name}'
  1108. title: New follow request
  1109. mention:
  1110. action: Reply
  1111. body: 'You were mentioned by %{name} in:'
  1112. subject: You were mentioned by %{name}
  1113. title: New mention
  1114. poll:
  1115. subject: A poll by %{name} has ended
  1116. reblog:
  1117. body: 'Your post was boosted by %{name}:'
  1118. subject: "%{name} boosted your post"
  1119. title: New boost
  1120. status:
  1121. subject: "%{name} just posted"
  1122. notifications:
  1123. email_events: Events for e-mail notifications
  1124. email_events_hint: 'Select events that you want to receive notifications for:'
  1125. other_settings: Other notifications settings
  1126. number:
  1127. human:
  1128. decimal_units:
  1129. format: "%n%u"
  1130. units:
  1131. billion: B
  1132. million: M
  1133. quadrillion: Q
  1134. thousand: K
  1135. trillion: T
  1136. unit: ''
  1137. otp_authentication:
  1138. code_hint: Enter the code generated by your authenticator app to confirm
  1139. description_html: If you enable <strong>two-factor authentication</strong> using an authenticator app, logging in will require you to be in possession of your phone, which will generate tokens for you to enter.
  1140. enable: Enable
  1141. instructions_html: "<strong>Scan this QR code into Google Authenticator or a similar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
  1142. manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
  1143. setup: Set up
  1144. wrong_code: The entered code was invalid! Are server time and device time correct?
  1145. pagination:
  1146. newer: Newer
  1147. next: Next
  1148. older: Older
  1149. prev: Prev
  1150. truncate: "&hellip;"
  1151. polls:
  1152. errors:
  1153. already_voted: You have already voted on this poll
  1154. duplicate_options: contain duplicate items
  1155. duration_too_long: is too far into the future
  1156. duration_too_short: is too soon
  1157. expired: The poll has already ended
  1158. invalid_choice: The chosen vote option does not exist
  1159. over_character_limit: cannot be longer than %{max} characters each
  1160. too_few_options: must have more than one item
  1161. too_many_options: can't contain more than %{max} items
  1162. preferences:
  1163. other: Other
  1164. posting_defaults: Posting defaults
  1165. public_timelines: Public timelines
  1166. reactions:
  1167. errors:
  1168. limit_reached: Limit of different reactions reached
  1169. unrecognized_emoji: is not a recognized emoji
  1170. relationships:
  1171. activity: Account activity
  1172. dormant: Dormant
  1173. follow_selected_followers: Follow selected followers
  1174. followers: Followers
  1175. following: Following
  1176. invited: Invited
  1177. last_active: Last active
  1178. most_recent: Most recent
  1179. moved: Moved
  1180. mutual: Mutual
  1181. primary: Primary
  1182. relationship: Relationship
  1183. remove_selected_domains: Remove all followers from the selected domains
  1184. remove_selected_followers: Remove selected followers
  1185. remove_selected_follows: Unfollow selected users
  1186. status: Account status
  1187. remote_follow:
  1188. acct: Enter your username@domain you want to act from
  1189. missing_resource: Could not find the required redirect URL for your account
  1190. no_account_html: Don't have an account? You can <a href='%{sign_up_path}' target='_blank'>sign up here</a>
  1191. proceed: Proceed to follow
  1192. prompt: 'You are going to follow:'
  1193. reason_html: "<strong>Why is this step necessary?</strong> <code>%{instance}</code> might not be the server where you are registered, so we need to redirect you to your home server first."
  1194. remote_interaction:
  1195. favourite:
  1196. proceed: Proceed to favourite
  1197. prompt: 'You want to favourite this post:'
  1198. reblog:
  1199. proceed: Proceed to boost
  1200. prompt: 'You want to boost this post:'
  1201. reply:
  1202. proceed: Proceed to reply
  1203. prompt: 'You want to reply to this post:'
  1204. scheduled_statuses:
  1205. over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for today
  1206. over_total_limit: You have exceeded the limit of %{limit} scheduled posts
  1207. too_soon: The scheduled date must be in the future
  1208. sessions:
  1209. activity: Last activity
  1210. browser: Browser
  1211. browsers:
  1212. alipay: Alipay
  1213. blackberry: Blackberry
  1214. chrome: Chrome
  1215. edge: Microsoft Edge
  1216. electron: Electron
  1217. firefox: Firefox
  1218. generic: Unknown browser
  1219. ie: Internet Explorer
  1220. micro_messenger: MicroMessenger
  1221. nokia: Nokia S40 Ovi Browser
  1222. opera: Opera
  1223. otter: Otter
  1224. phantom_js: PhantomJS
  1225. qq: QQ Browser
  1226. safari: Safari
  1227. uc_browser: UCBrowser
  1228. weibo: Weibo
  1229. current_session: Current session
  1230. description: "%{browser} on %{platform}"
  1231. explanation: These are the web browsers currently logged in to your Mastodon account.
  1232. ip: IP
  1233. platforms:
  1234. adobe_air: Adobe Air
  1235. android: Android
  1236. blackberry: Blackberry
  1237. chrome_os: Chrome OS
  1238. firefox_os: Firefox OS
  1239. ios: iOS
  1240. linux: Linux
  1241. mac: macOS
  1242. other: unknown platform
  1243. windows: Windows
  1244. windows_mobile: Windows Mobile
  1245. windows_phone: Windows Phone
  1246. revoke: Revoke
  1247. revoke_success: Session successfully revoked
  1248. title: Sessions
  1249. view_authentication_history: View authentication history of your account
  1250. settings:
  1251. account: Account
  1252. account_settings: Account settings
  1253. aliases: Account aliases
  1254. appearance: Appearance
  1255. authorized_apps: Authorized apps
  1256. back: Back to Mastodon
  1257. delete: Account deletion
  1258. development: Development
  1259. edit_profile: Edit profile
  1260. export: Data export
  1261. featured_tags: Featured hashtags
  1262. import: Import
  1263. import_and_export: Import and export
  1264. migrate: Account migration
  1265. notifications: Notifications
  1266. preferences: Preferences
  1267. profile: Profile
  1268. relationships: Follows and followers
  1269. statuses_cleanup: Automated post deletion
  1270. two_factor_authentication: Two-factor Auth
  1271. webauthn_authentication: Security keys
  1272. statuses:
  1273. attached:
  1274. audio:
  1275. one: "%{count} audio"
  1276. other: "%{count} audio"
  1277. description: 'Attached: %{attached}'
  1278. image:
  1279. one: "%{count} image"
  1280. other: "%{count} images"
  1281. video:
  1282. one: "%{count} video"
  1283. other: "%{count} videos"
  1284. boosted_from_html: Boosted from %{acct_link}
  1285. content_warning: 'Content warning: %{warning}'
  1286. disallowed_hashtags:
  1287. one: 'contained a disallowed hashtag: %{tags}'
  1288. other: 'contained the disallowed hashtags: %{tags}'
  1289. errors:
  1290. in_reply_not_found: The post you are trying to reply to does not appear to exist.
  1291. language_detection: Automatically detect language
  1292. open_in_web: Open in web
  1293. over_character_limit: character limit of %{max} exceeded
  1294. pin_errors:
  1295. limit: You have already pinned the maximum number of posts
  1296. ownership: Someone else's post cannot be pinned
  1297. private: Non-public posts cannot be pinned
  1298. reblog: A boost cannot be pinned
  1299. poll:
  1300. total_people:
  1301. one: "%{count} person"
  1302. other: "%{count} people"
  1303. total_votes:
  1304. one: "%{count} vote"
  1305. other: "%{count} votes"
  1306. vote: Vote
  1307. show_more: Show more
  1308. show_newer: Show newer
  1309. show_older: Show older
  1310. show_thread: Show thread
  1311. sign_in_to_participate: Sign in to participate in the conversation
  1312. title: '%{name}: "%{quote}"'
  1313. visibilities:
  1314. direct: Direct
  1315. private: Followers-only
  1316. private_long: Only show to followers
  1317. public: Public
  1318. public_long: Everyone can see
  1319. unlisted: Unlisted
  1320. unlisted_long: Everyone can see, but not listed on public timelines
  1321. statuses_cleanup:
  1322. enabled: Automatically delete old posts
  1323. enabled_hint: Automatically deletes your posts once they reach a specified age threshold, unless they match one of the exceptions below
  1324. exceptions: Exceptions
  1325. explanation: Because deleting posts is an expensive operation, this is done slowly over time when the server is not otherwise busy. For this reason, your posts may be deleted a while after they reach the age threshold.
  1326. ignore_favs: Ignore favourites
  1327. ignore_reblogs: Ignore boosts
  1328. interaction_exceptions: Exceptions based on interactions
  1329. interaction_exceptions_explanation: Note that there is no guarantee for posts to be deleted if they go below the favourite or boost threshold after having once gone over them.
  1330. keep_direct: Keep direct messages
  1331. keep_direct_hint: Doesn't delete any of your direct messages
  1332. keep_media: Keep posts with media attachments
  1333. keep_media_hint: Doesn't delete any of your posts that have media attachments
  1334. keep_pinned: Keep pinned posts
  1335. keep_pinned_hint: Doesn't delete any of your pinned posts
  1336. keep_polls: Keep polls
  1337. keep_polls_hint: Doesn't delete any of your polls
  1338. keep_self_bookmark: Keep posts you bookmarked
  1339. keep_self_bookmark_hint: Doesn't delete your own posts if you have bookmarked them
  1340. keep_self_fav: Keep posts you favourited
  1341. keep_self_fav_hint: Doesn't delete your own posts if you have favourited them
  1342. min_age:
  1343. '1209600': 2 weeks
  1344. '15778476': 6 months
  1345. '2629746': 1 month
  1346. '31556952': 1 year
  1347. '5259492': 2 months
  1348. '63113904': 2 years
  1349. '7889238': 3 months
  1350. min_age_label: Age threshold
  1351. min_favs: Keep posts favourited at least
  1352. min_favs_hint: Doesn't delete any of your posts that has received at least this amount of favourites. Leave blank to delete posts regardless of their number of favourites
  1353. min_reblogs: Keep posts boosted at least
  1354. min_reblogs_hint: Doesn't delete any of your posts that has been boosted at least this number of times. Leave blank to delete posts regardless of their number of boosts
  1355. stream_entries:
  1356. pinned: Pinned post
  1357. reblogged: boosted
  1358. sensitive_content: Sensitive content
  1359. tags:
  1360. does_not_match_previous_name: does not match the previous name
  1361. terms:
  1362. body_html: |
  1363. <h2>Privacy Policy</h2>
  1364. <h3 id="collect">What information do we collect?</h3>
  1365. <ul>
  1366. <li><em>Basic account information</em>: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.</li>
  1367. <li><em>Posts, following and other public information</em>: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.</li>
  1368. <li><em>Direct and followers-only posts</em>: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. <em>Please keep in mind that the operators of the server and any receiving server may view such messages</em>, and that recipients may screenshot, copy or otherwise re-share them. <em>Do not share any dangerous information over Mastodon.</em></li>
  1369. <li><em>IPs and other metadata</em>: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.</li>
  1370. </ul>
  1371. <hr class="spacer" />
  1372. <h3 id="use">What do we use your information for?</h3>
  1373. <p>Any of the information we collect from you may be used in the following ways:</p>
  1374. <ul>
  1375. <li>To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.</li>
  1376. <li>To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.</li>
  1377. <li>The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.</li>
  1378. </ul>
  1379. <hr class="spacer" />
  1380. <h3 id="protect">How do we protect your information?</h3>
  1381. <p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.</p>
  1382. <hr class="spacer" />
  1383. <h3 id="data-retention">What is our data retention policy?</h3>
  1384. <p>We will make a good faith effort to:</p>
  1385. <ul>
  1386. <li>Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.</li>
  1387. <li>Retain the IP addresses associated with registered users no more than 12 months.</li>
  1388. </ul>
  1389. <p>You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.</p>
  1390. <p>You may irreversibly delete your account at any time.</p>
  1391. <hr class="spacer"/>
  1392. <h3 id="cookies">Do we use cookies?</h3>
  1393. <p>Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>
  1394. <p>We use cookies to understand and save your preferences for future visits.</p>
  1395. <hr class="spacer" />
  1396. <h3 id="disclose">Do we disclose any information to outside parties?</h3>
  1397. <p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.</p>
  1398. <p>Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.</p>
  1399. <p>When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.</p>
  1400. <hr class="spacer" />
  1401. <h3 id="children">Site usage by children</h3>
  1402. <p>If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation">General Data Protection Regulation</a>) do not use this site.</p>
  1403. <p>If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) do not use this site.</p>
  1404. <p>Law requirements can be different if this server is in another jurisdiction.</p>
  1405. <hr class="spacer" />
  1406. <h3 id="changes">Changes to our Privacy Policy</h3>
  1407. <p>If we decide to change our privacy policy, we will post those changes on this page.</p>
  1408. <p>This document is CC-BY-SA. It was last updated March 7, 2018.</p>
  1409. <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
  1410. title: "%{instance} Terms of Service and Privacy Policy"
  1411. themes:
  1412. contrast: Mastodon (High contrast)
  1413. default: Mastodon (Dark)
  1414. mastodon-light: Mastodon (Light)
  1415. time:
  1416. formats:
  1417. default: "%b %d, %Y, %H:%M"
  1418. month: "%b %Y"
  1419. two_factor_authentication:
  1420. add: Add
  1421. disable: Disable 2FA
  1422. disabled_success: Two-factor authentication successfully disabled
  1423. edit: Edit
  1424. enabled: Two-factor authentication is enabled
  1425. enabled_success: Two-factor authentication successfully enabled
  1426. generate_recovery_codes: Generate recovery codes
  1427. lost_recovery_codes: Recovery codes allow you to regain access to your account if you lose your phone. If you've lost your recovery codes, you can regenerate them here. Your old recovery codes will be invalidated.
  1428. methods: Two-factor methods
  1429. otp: Authenticator app
  1430. recovery_codes: Backup recovery codes
  1431. recovery_codes_regenerated: Recovery codes successfully regenerated
  1432. recovery_instructions_html: If you ever lose access to your phone, you can use one of the recovery codes below to regain access to your account. <strong>Keep the recovery codes safe</strong>. For example, you may print them and store them with other important documents.
  1433. webauthn: Security keys
  1434. user_mailer:
  1435. backup_ready:
  1436. explanation: You requested a full backup of your Mastodon account. It's now ready for download!
  1437. subject: Your archive is ready for download
  1438. title: Archive takeout
  1439. sign_in_token:
  1440. details: 'Here are details of the attempt:'
  1441. explanation: 'We detected an attempt to sign in to your account from an unrecognized IP address. If this is you, please enter the security code below on the sign in challenge page:'
  1442. further_actions: 'If this wasn''t you, please change your password and enable two-factor authentication on your account. You can do so here:'
  1443. subject: Please confirm attempted sign in
  1444. title: Sign in attempt
  1445. warning:
  1446. explanation:
  1447. disable: You can no longer login to your account or use it in any other way, but your profile and other data remains intact.
  1448. sensitive: Your uploaded media files and linked media will be treated as sensitive.
  1449. silence: You can still use your account but only people who are already following you will see your posts on this server, and you may be excluded from various public listings. However, others may still manually follow you.
  1450. suspend: You can no longer use your account, and your profile and other data are no longer accessible. You can still login to request a backup of your data until the data is fully removed, but we will retain some data to prevent you from evading the suspension.
  1451. get_in_touch: You can reply to this e-mail to get in touch with the staff of %{instance}.
  1452. review_server_policies: Review server policies
  1453. statuses: 'Specifically, for:'
  1454. subject:
  1455. disable: Your account %{acct} has been frozen
  1456. none: Warning for %{acct}
  1457. sensitive: Your account %{acct} posting media has been marked as sensitive
  1458. silence: Your account %{acct} has been limited
  1459. suspend: Your account %{acct} has been suspended
  1460. title:
  1461. disable: Account frozen
  1462. none: Warning
  1463. sensitive: Your media has been marked as sensitive
  1464. silence: Account limited
  1465. suspend: Account suspended
  1466. welcome:
  1467. edit_profile_action: Setup profile
  1468. edit_profile_step: You can customize your profile by uploading an avatar, header, changing your display name and more. If you’d like to review new followers before they’re allowed to follow you, you can lock your account.
  1469. explanation: Here are some tips to get you started
  1470. final_action: Start posting
  1471. final_step: 'Start posting! Even without followers your public posts may be seen by others, for example on the local timeline and in hashtags. You may want to introduce yourself on the #introductions hashtag.'
  1472. full_handle: Your full handle
  1473. full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
  1474. review_preferences_action: Change preferences
  1475. review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level you’d like your posts to default to. If you don’t have motion sickness, you could choose to enable GIF autoplay.
  1476. subject: Welcome to Mastodon
  1477. tip_federated_timeline: The federated timeline is a firehose view of the Mastodon network. But it only includes people your neighbours are subscribed to, so it's not complete.
  1478. tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
  1479. tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
  1480. tip_mobile_webapp: If your mobile browser offers you to add Mastodon to your homescreen, you can receive push notifications. It acts like a native app in many ways!
  1481. tips: Tips
  1482. title: Welcome aboard, %{name}!
  1483. users:
  1484. follow_limit_reached: You cannot follow more than %{limit} people
  1485. generic_access_help_html: Trouble accessing your account? You may get in touch with %{email} for assistance
  1486. invalid_otp_token: Invalid two-factor code
  1487. invalid_sign_in_token: Invalid security code
  1488. otp_lost_help_html: If you lost access to both, you may get in touch with %{email}
  1489. seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
  1490. signed_in_as: 'Signed in as:'
  1491. suspicious_sign_in_confirmation: You appear to not have logged in from this device before, so we're sending a security code to your e-mail address to confirm that it's you.
  1492. verification:
  1493. explanation_html: 'You can <strong>verify yourself as the owner of the links in your profile metadata</strong>. For that, the linked website must contain a link back to your Mastodon profile. The link back <strong>must</strong> have a <code>rel="me"</code> attribute. The text content of the link does not matter. Here is an example:'
  1494. verification: Verification
  1495. webauthn_credentials:
  1496. add: Add new security key
  1497. create:
  1498. error: There was a problem adding your security key. Please try again.
  1499. success: Your security key was successfully added.
  1500. delete: Delete
  1501. delete_confirmation: Are you sure you want to delete this security key?
  1502. description_html: If you enable <strong>security key authentication</strong>, logging in will require you to use one of your security keys.
  1503. destroy:
  1504. error: There was a problem deleting you security key. Please try again.
  1505. success: Your security key was successfully deleted.
  1506. invalid_credential: Invalid security key
  1507. nickname_hint: Enter the nickname of your new security key
  1508. not_enabled: You haven't enabled WebAuthn yet
  1509. not_supported: This browser doesn't support security keys
  1510. otp_required: To use security keys please enable two-factor authentication first.
  1511. registered_on: Registered on %{date}