闭社主体 forked from https://github.com/tootsuite/mastodon
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.

1371 lines
64 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 Keybase integration (#10297) * create account_identity_proofs table * add endpoint for keybase to check local proofs * add async task to update validity and liveness of proofs from keybase * first pass keybase proof CRUD * second pass keybase proof creation * clean up proof list and add badges * add avatar url to keybase api * Always highlight the “Identity Proofs” navigation item when interacting with proofs. * Update translations. * Add profile URL. * Reorder proofs. * Add proofs to bio. * Update settings/identity_proofs front-end. * Use `link_to`. * Only encode query params if they exist. URLs without params had a trailing `?`. * Only show live proofs. * change valid to active in proof list and update liveness before displaying * minor fixes * add keybase config at well-known path * extremely naive feature flagging off the identity proof UI * fixes for rubocop * make identity proofs page resilient to potential keybase issues * normalize i18n * tweaks for brakeman * remove two unused translations * cleanup and add more localizations * make keybase_contacts an admin setting * fix ExternalProofService my_domain * use Addressable::URI in identity proofs * use active model serializer for keybase proof config * more cleanup of keybase proof config * rename proof is_valid and is_live to proof_valid and proof_live * cleanup * assorted tweaks for more robust communication with keybase * Clean up * Small fixes * Display verified identity identically to verified links * Clean up unused CSS * Add caching for Keybase avatar URLs * Remove keybase_contacts setting
5 years ago
Add Keybase integration (#10297) * create account_identity_proofs table * add endpoint for keybase to check local proofs * add async task to update validity and liveness of proofs from keybase * first pass keybase proof CRUD * second pass keybase proof creation * clean up proof list and add badges * add avatar url to keybase api * Always highlight the “Identity Proofs” navigation item when interacting with proofs. * Update translations. * Add profile URL. * Reorder proofs. * Add proofs to bio. * Update settings/identity_proofs front-end. * Use `link_to`. * Only encode query params if they exist. URLs without params had a trailing `?`. * Only show live proofs. * change valid to active in proof list and update liveness before displaying * minor fixes * add keybase config at well-known path * extremely naive feature flagging off the identity proof UI * fixes for rubocop * make identity proofs page resilient to potential keybase issues * normalize i18n * tweaks for brakeman * remove two unused translations * cleanup and add more localizations * make keybase_contacts an admin setting * fix ExternalProofService my_domain * use Addressable::URI in identity proofs * use active model serializer for keybase proof config * more cleanup of keybase proof config * rename proof is_valid and is_live to proof_valid and proof_live * cleanup * assorted tweaks for more robust communication with keybase * Clean up * Small fixes * Display verified identity identically to verified links * Clean up unused CSS * Add caching for Keybase avatar URLs * Remove keybase_contacts setting
5 years ago
Add Keybase integration (#10297) * create account_identity_proofs table * add endpoint for keybase to check local proofs * add async task to update validity and liveness of proofs from keybase * first pass keybase proof CRUD * second pass keybase proof creation * clean up proof list and add badges * add avatar url to keybase api * Always highlight the “Identity Proofs” navigation item when interacting with proofs. * Update translations. * Add profile URL. * Reorder proofs. * Add proofs to bio. * Update settings/identity_proofs front-end. * Use `link_to`. * Only encode query params if they exist. URLs without params had a trailing `?`. * Only show live proofs. * change valid to active in proof list and update liveness before displaying * minor fixes * add keybase config at well-known path * extremely naive feature flagging off the identity proof UI * fixes for rubocop * make identity proofs page resilient to potential keybase issues * normalize i18n * tweaks for brakeman * remove two unused translations * cleanup and add more localizations * make keybase_contacts an admin setting * fix ExternalProofService my_domain * use Addressable::URI in identity proofs * use active model serializer for keybase proof config * more cleanup of keybase proof config * rename proof is_valid and is_live to proof_valid and proof_live * cleanup * assorted tweaks for more robust communication with keybase * Clean up * Small fixes * Display verified identity identically to verified links * Clean up unused CSS * Add caching for Keybase avatar URLs * Remove keybase_contacts setting
5 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 Keybase integration (#10297) * create account_identity_proofs table * add endpoint for keybase to check local proofs * add async task to update validity and liveness of proofs from keybase * first pass keybase proof CRUD * second pass keybase proof creation * clean up proof list and add badges * add avatar url to keybase api * Always highlight the “Identity Proofs” navigation item when interacting with proofs. * Update translations. * Add profile URL. * Reorder proofs. * Add proofs to bio. * Update settings/identity_proofs front-end. * Use `link_to`. * Only encode query params if they exist. URLs without params had a trailing `?`. * Only show live proofs. * change valid to active in proof list and update liveness before displaying * minor fixes * add keybase config at well-known path * extremely naive feature flagging off the identity proof UI * fixes for rubocop * make identity proofs page resilient to potential keybase issues * normalize i18n * tweaks for brakeman * remove two unused translations * cleanup and add more localizations * make keybase_contacts an admin setting * fix ExternalProofService my_domain * use Addressable::URI in identity proofs * use active model serializer for keybase proof config * more cleanup of keybase proof config * rename proof is_valid and is_live to proof_valid and proof_live * cleanup * assorted tweaks for more robust communication with keybase * Clean up * Small fixes * Display verified identity identically to verified links * Clean up unused CSS * Add caching for Keybase avatar URLs * Remove keybase_contacts setting
5 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 toots 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. see_whats_happening: See what's happening
  30. server_stats: 'Server stats:'
  31. source_code: Source code
  32. status_count_after:
  33. one: status
  34. other: statuses
  35. status_count_before: Who authored
  36. tagline: Follow friends and discover new ones
  37. terms: Terms of service
  38. unavailable_content: Moderated servers
  39. unavailable_content_description:
  40. domain: Server
  41. reason: Reason
  42. 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:'
  43. rejecting_media_title: Filtered media
  44. 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:'
  45. silenced_title: Silenced servers
  46. suspended: 'No data from these servers will be processed, stored or exchanged, making any interaction or communication with users from these servers impossible:'
  47. suspended_title: Suspended servers
  48. 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.
  49. user_count_after:
  50. one: user
  51. other: users
  52. user_count_before: Home to
  53. what_is_mastodon: What is Mastodon?
  54. accounts:
  55. choices_html: "%{name}'s choices:"
  56. endorsements_hint: You can endorse people you follow from the web interface, and they will show up here.
  57. featured_tags_hint: You can feature specific hashtags that will be displayed here.
  58. follow: Follow
  59. followers:
  60. one: Follower
  61. other: Followers
  62. following: Following
  63. joined: Joined %{date}
  64. last_active: last active
  65. link_verified_on: Ownership of this link was checked on %{date}
  66. media: Media
  67. moved_html: "%{name} has moved to %{new_profile_link}:"
  68. network_hidden: This information is not available
  69. never_active: Never
  70. nothing_here: There is nothing here!
  71. people_followed_by: People whom %{name} follows
  72. people_who_follow: People who follow %{name}
  73. pin_errors:
  74. following: You must be already following the person you want to endorse
  75. posts:
  76. one: Toot
  77. other: Toots
  78. posts_tab_heading: Toots
  79. posts_with_replies: Toots and replies
  80. reserved_username: The username is reserved
  81. roles:
  82. admin: Admin
  83. bot: Bot
  84. group: Group
  85. moderator: Mod
  86. unavailable: Profile unavailable
  87. unfollow: Unfollow
  88. admin:
  89. account_actions:
  90. action: Perform action
  91. title: Perform moderation action on %{acct}
  92. account_moderation_notes:
  93. create: Leave note
  94. created_msg: Moderation note successfully created!
  95. delete: Delete
  96. destroyed_msg: Moderation note successfully destroyed!
  97. accounts:
  98. add_email_domain_block: Block e-mail domain
  99. approve: Approve
  100. approve_all: Approve all
  101. are_you_sure: Are you sure?
  102. avatar: Avatar
  103. by_domain: Domain
  104. change_email:
  105. changed_msg: Account email successfully changed!
  106. current_email: Current email
  107. label: Change email
  108. new_email: New email
  109. submit: Change email
  110. title: Change email for %{username}
  111. confirm: Confirm
  112. confirmed: Confirmed
  113. confirming: Confirming
  114. deleted: Deleted
  115. demote: Demote
  116. disable: Disable
  117. disable_two_factor_authentication: Disable 2FA
  118. disabled: Disabled
  119. display_name: Display name
  120. domain: Domain
  121. edit: Edit
  122. email: Email
  123. email_status: Email status
  124. enable: Enable
  125. enabled: Enabled
  126. followers: Followers
  127. follows: Follows
  128. header: Header
  129. inbox_url: Inbox URL
  130. invited_by: Invited by
  131. ip: IP
  132. joined: Joined
  133. location:
  134. all: All
  135. local: Local
  136. remote: Remote
  137. title: Location
  138. login_status: Login status
  139. media_attachments: Media attachments
  140. memorialize: Turn into memoriam
  141. moderation:
  142. active: Active
  143. all: All
  144. pending: Pending
  145. silenced: Silenced
  146. suspended: Suspended
  147. title: Moderation
  148. moderation_notes: Moderation notes
  149. most_recent_activity: Most recent activity
  150. most_recent_ip: Most recent IP
  151. no_account_selected: No accounts were changed as none were selected
  152. no_limits_imposed: No limits imposed
  153. not_subscribed: Not subscribed
  154. pending: Pending review
  155. perform_full_suspension: Suspend
  156. promote: Promote
  157. protocol: Protocol
  158. public: Public
  159. push_subscription_expires: PuSH subscription expires
  160. redownload: Refresh profile
  161. reject: Reject
  162. reject_all: Reject all
  163. remove_avatar: Remove avatar
  164. remove_header: Remove header
  165. resend_confirmation:
  166. already_confirmed: This user is already confirmed
  167. send: Resend confirmation email
  168. success: Confirmation email successfully sent!
  169. reset: Reset
  170. reset_password: Reset password
  171. resubscribe: Resubscribe
  172. role: Permissions
  173. roles:
  174. admin: Administrator
  175. moderator: Moderator
  176. staff: Staff
  177. user: User
  178. search: Search
  179. search_same_email_domain: Other users with the same e-mail domain
  180. search_same_ip: Other users with the same IP
  181. shared_inbox_url: Shared inbox URL
  182. show:
  183. created_reports: Made reports
  184. targeted_reports: Reported by others
  185. silence: Silence
  186. silenced: Silenced
  187. statuses: Statuses
  188. subscribe: Subscribe
  189. suspended: Suspended
  190. time_in_queue: Waiting in queue %{time}
  191. title: Accounts
  192. unconfirmed_email: Unconfirmed email
  193. undo_silenced: Undo silence
  194. undo_suspension: Undo suspension
  195. unsubscribe: Unsubscribe
  196. username: Username
  197. warn: Warn
  198. web: Web
  199. whitelisted: Allowed for federation
  200. action_logs:
  201. action_types:
  202. assigned_to_self_report: Assign Report
  203. change_email_user: Change E-mail for User
  204. confirm_user: Confirm User
  205. create_account_warning: Create Warning
  206. create_announcement: Create Announcement
  207. create_custom_emoji: Create Custom Emoji
  208. create_domain_allow: Create Domain Allow
  209. create_domain_block: Create Domain Block
  210. create_email_domain_block: Create E-mail Domain Block
  211. demote_user: Demote User
  212. destroy_announcement: Delete Announcement
  213. destroy_custom_emoji: Delete Custom Emoji
  214. destroy_domain_allow: Delete Domain Allow
  215. destroy_domain_block: Delete Domain Block
  216. destroy_email_domain_block: Delete e-mail domain block
  217. destroy_status: Delete Status
  218. disable_2fa_user: Disable 2FA
  219. disable_custom_emoji: Disable Custom Emoji
  220. disable_user: Disable User
  221. enable_custom_emoji: Enable Custom Emoji
  222. enable_user: Enable User
  223. memorialize_account: Memorialize Account
  224. promote_user: Promote User
  225. remove_avatar_user: Remove Avatar
  226. reopen_report: Reopen Report
  227. reset_password_user: Reset Password
  228. resolve_report: Resolve Report
  229. silence_account: Silence Account
  230. suspend_account: Suspend Account
  231. unassigned_report: Unassign Report
  232. unsilence_account: Unsilence Account
  233. unsuspend_account: Unsuspend Account
  234. update_announcement: Update Announcement
  235. update_custom_emoji: Update Custom Emoji
  236. update_status: Update Status
  237. actions:
  238. assigned_to_self_report: "%{name} assigned report %{target} to themselves"
  239. change_email_user: "%{name} changed the e-mail address of user %{target}"
  240. confirm_user: "%{name} confirmed e-mail address of user %{target}"
  241. create_account_warning: "%{name} sent a warning to %{target}"
  242. create_announcement: "%{name} created new announcement %{target}"
  243. create_custom_emoji: "%{name} uploaded new emoji %{target}"
  244. create_domain_allow: "%{name} allowed federation with domain %{target}"
  245. create_domain_block: "%{name} blocked domain %{target}"
  246. create_email_domain_block: "%{name} blocked e-mail domain %{target}"
  247. demote_user: "%{name} demoted user %{target}"
  248. destroy_announcement: "%{name} deleted announcement %{target}"
  249. destroy_custom_emoji: "%{name} destroyed emoji %{target}"
  250. destroy_domain_allow: "%{name} disallowed federation with domain %{target}"
  251. destroy_domain_block: "%{name} unblocked domain %{target}"
  252. destroy_email_domain_block: "%{name} unblocked e-mail domain %{target}"
  253. destroy_status: "%{name} removed status by %{target}"
  254. disable_2fa_user: "%{name} disabled two factor requirement for user %{target}"
  255. disable_custom_emoji: "%{name} disabled emoji %{target}"
  256. disable_user: "%{name} disabled login for user %{target}"
  257. enable_custom_emoji: "%{name} enabled emoji %{target}"
  258. enable_user: "%{name} enabled login for user %{target}"
  259. memorialize_account: "%{name} turned %{target}'s account into a memoriam page"
  260. promote_user: "%{name} promoted user %{target}"
  261. remove_avatar_user: "%{name} removed %{target}'s avatar"
  262. reopen_report: "%{name} reopened report %{target}"
  263. reset_password_user: "%{name} reset password of user %{target}"
  264. resolve_report: "%{name} resolved report %{target}"
  265. silence_account: "%{name} silenced %{target}'s account"
  266. suspend_account: "%{name} suspended %{target}'s account"
  267. unassigned_report: "%{name} unassigned report %{target}"
  268. unsilence_account: "%{name} unsilenced %{target}'s account"
  269. unsuspend_account: "%{name} unsuspended %{target}'s account"
  270. update_announcement: "%{name} updated announcement %{target}"
  271. update_custom_emoji: "%{name} updated emoji %{target}"
  272. update_status: "%{name} updated status by %{target}"
  273. deleted_status: "(deleted status)"
  274. empty: No logs found.
  275. filter_by_action: Filter by action
  276. filter_by_user: Filter by user
  277. title: Audit log
  278. announcements:
  279. destroyed_msg: Announcement successfully deleted!
  280. edit:
  281. title: Edit announcement
  282. empty: No announcements found.
  283. live: Live
  284. new:
  285. create: Create announcement
  286. title: New announcement
  287. published_msg: Announcement successfully published!
  288. scheduled_for: Scheduled for %{time}
  289. scheduled_msg: Announcement scheduled for publication!
  290. title: Announcements
  291. unpublished_msg: Announcement successfully unpublished!
  292. updated_msg: Announcement successfully updated!
  293. custom_emojis:
  294. assign_category: Assign category
  295. by_domain: Domain
  296. copied_msg: Successfully created local copy of the emoji
  297. copy: Copy
  298. copy_failed_msg: Could not make a local copy of that emoji
  299. create_new_category: Create new category
  300. created_msg: Emoji successfully created!
  301. delete: Delete
  302. destroyed_msg: Emojo successfully destroyed!
  303. disable: Disable
  304. disabled: Disabled
  305. disabled_msg: Successfully disabled that emoji
  306. emoji: Emoji
  307. enable: Enable
  308. enabled: Enabled
  309. enabled_msg: Successfully enabled that emoji
  310. image_hint: PNG up to 50KB
  311. list: List
  312. listed: Listed
  313. new:
  314. title: Add new custom emoji
  315. not_permitted: You are not permitted to perform this action
  316. overwrite: Overwrite
  317. shortcode: Shortcode
  318. shortcode_hint: At least 2 characters, only alphanumeric characters and underscores
  319. title: Custom emojis
  320. uncategorized: Uncategorized
  321. unlist: Unlist
  322. unlisted: Unlisted
  323. update_failed_msg: Could not update that emoji
  324. updated_msg: Emoji successfully updated!
  325. upload: Upload
  326. dashboard:
  327. authorized_fetch_mode: Secure mode
  328. backlog: backlogged jobs
  329. config: Configuration
  330. feature_deletions: Account deletions
  331. feature_invites: Invite links
  332. feature_profile_directory: Profile directory
  333. feature_registrations: Registrations
  334. feature_relay: Federation relay
  335. feature_spam_check: Anti-spam
  336. feature_timeline_preview: Timeline preview
  337. features: Features
  338. hidden_service: Federation with hidden services
  339. open_reports: open reports
  340. pending_tags: hashtags waiting for review
  341. pending_users: users waiting for review
  342. recent_users: Recent users
  343. search: Full-text search
  344. single_user_mode: Single user mode
  345. software: Software
  346. space: Space usage
  347. title: Dashboard
  348. total_users: users in total
  349. trends: Trends
  350. week_interactions: interactions this week
  351. week_users_active: active this week
  352. week_users_new: users this week
  353. whitelist_mode: Limited federation mode
  354. domain_allows:
  355. add_new: Allow federation with domain
  356. created_msg: Domain has been successfully allowed for federation
  357. destroyed_msg: Domain has been disallowed from federation
  358. undo: Disallow federation with domain
  359. domain_blocks:
  360. add_new: Add new domain block
  361. created_msg: Domain block is now being processed
  362. destroyed_msg: Domain block has been undone
  363. domain: Domain
  364. edit: Edit domain block
  365. existing_domain_block_html: You have already imposed stricter limits on %{name}, you need to <a href="%{unblock_url}">unblock it</a> first.
  366. new:
  367. create: Create block
  368. 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.
  369. severity:
  370. 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."
  371. noop: None
  372. silence: Silence
  373. suspend: Suspend
  374. title: New domain block
  375. private_comment: Private comment
  376. private_comment_hint: Comment about this domain limitation for internal use by the moderators.
  377. public_comment: Public comment
  378. public_comment_hint: Comment about this domain limitation for the general public, if advertising the list of domain limitations is enabled.
  379. reject_media: Reject media files
  380. reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
  381. reject_reports: Reject reports
  382. reject_reports_hint: Ignore all reports coming from this domain. Irrelevant for suspensions
  383. rejecting_media: rejecting media files
  384. rejecting_reports: rejecting reports
  385. severity:
  386. silence: silenced
  387. suspend: suspended
  388. show:
  389. affected_accounts:
  390. one: One account in the database affected
  391. other: "%{count} accounts in the database affected"
  392. retroactive:
  393. silence: Unsilence existing affected accounts from this domain
  394. suspend: Unsuspend existing affected accounts from this domain
  395. title: Undo domain block for %{domain}
  396. undo: Undo
  397. undo: Undo domain block
  398. view: View domain block
  399. email_domain_blocks:
  400. add_new: Add new
  401. created_msg: Successfully blocked e-mail domain
  402. delete: Delete
  403. destroyed_msg: Successfully unblocked e-mail domain
  404. domain: Domain
  405. empty: No e-mail domains currently blocked.
  406. from_html: from %{domain}
  407. new:
  408. create: Add domain
  409. title: Block new e-mail domain
  410. title: Blocked e-mail domains
  411. instances:
  412. by_domain: Domain
  413. delivery_available: Delivery is available
  414. known_accounts:
  415. one: "%{count} known account"
  416. other: "%{count} known accounts"
  417. moderation:
  418. all: All
  419. limited: Limited
  420. title: Moderation
  421. private_comment: Private comment
  422. public_comment: Public comment
  423. title: Federation
  424. total_blocked_by_us: Blocked by us
  425. total_followed_by_them: Followed by them
  426. total_followed_by_us: Followed by us
  427. total_reported: Reports about them
  428. total_storage: Media attachments
  429. invites:
  430. deactivate_all: Deactivate all
  431. filter:
  432. all: All
  433. available: Available
  434. expired: Expired
  435. title: Filter
  436. title: Invites
  437. pending_accounts:
  438. title: Pending accounts (%{count})
  439. relationships:
  440. title: "%{acct}'s relationships"
  441. relays:
  442. add_new: Add new relay
  443. delete: Delete
  444. description_html: A <strong>federation relay</strong> is an intermediary server that exchanges large volumes of public toots 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.
  445. disable: Disable
  446. disabled: Disabled
  447. enable: Enable
  448. enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it.
  449. enabled: Enabled
  450. inbox_url: Relay URL
  451. pending: Waiting for relay's approval
  452. save_and_enable: Save and enable
  453. setup: Setup a relay connection
  454. signatures_not_enabled: Relays will not work correctly while secure mode or limited federation mode is enabled
  455. status: Status
  456. title: Relays
  457. report_notes:
  458. created_msg: Report note successfully created!
  459. destroyed_msg: Report note successfully deleted!
  460. reports:
  461. account:
  462. notes:
  463. one: "%{count} note"
  464. other: "%{count} notes"
  465. reports:
  466. one: "%{count} report"
  467. other: "%{count} reports"
  468. action_taken_by: Action taken by
  469. are_you_sure: Are you sure?
  470. assign_to_self: Assign to me
  471. assigned: Assigned moderator
  472. by_target_domain: Domain of reported account
  473. comment:
  474. none: None
  475. created_at: Reported
  476. mark_as_resolved: Mark as resolved
  477. mark_as_unresolved: Mark as unresolved
  478. notes:
  479. create: Add note
  480. create_and_resolve: Resolve with note
  481. create_and_unresolve: Reopen with note
  482. delete: Delete
  483. placeholder: Describe what actions have been taken, or any other related updates...
  484. reopen: Reopen report
  485. report: 'Report #%{id}'
  486. reported_account: Reported account
  487. reported_by: Reported by
  488. resolved: Resolved
  489. resolved_msg: Report successfully resolved!
  490. status: Status
  491. title: Reports
  492. unassign: Unassign
  493. unresolved: Unresolved
  494. updated_at: Updated
  495. settings:
  496. activity_api_enabled:
  497. desc_html: Counts of locally posted statuses, active users, and new registrations in weekly buckets
  498. title: Publish aggregate statistics about user activity
  499. bootstrap_timeline_accounts:
  500. desc_html: Separate multiple usernames by comma. Only local and unlocked accounts will work. Default when empty is all local admins.
  501. title: Default follows for new users
  502. contact_information:
  503. email: Business e-mail
  504. username: Contact username
  505. custom_css:
  506. desc_html: Modify the look with CSS loaded on every page
  507. title: Custom CSS
  508. default_noindex:
  509. desc_html: Affects all users who have not changed this setting themselves
  510. title: Opt users out of search engine indexing by default
  511. domain_blocks:
  512. all: To everyone
  513. disabled: To no one
  514. title: Show domain blocks
  515. users: To logged-in local users
  516. domain_blocks_rationale:
  517. title: Show rationale
  518. enable_bootstrap_timeline_accounts:
  519. title: Enable default follows for new users
  520. hero:
  521. desc_html: Displayed on the frontpage. At least 600x100px recommended. When not set, falls back to server thumbnail
  522. title: Hero image
  523. mascot:
  524. desc_html: Displayed on multiple pages. At least 293×205px recommended. When not set, falls back to default mascot
  525. title: Mascot image
  526. peers_api_enabled:
  527. desc_html: Domain names this server has encountered in the fediverse
  528. title: Publish list of discovered servers
  529. preview_sensitive_media:
  530. desc_html: Link previews on other websites will display a thumbnail even if the media is marked as sensitive
  531. title: Show sensitive media in OpenGraph previews
  532. profile_directory:
  533. desc_html: Allow users to be discoverable
  534. title: Enable profile directory
  535. registrations:
  536. closed_message:
  537. desc_html: Displayed on frontpage when registrations are closed. You can use HTML tags
  538. title: Closed registration message
  539. deletion:
  540. desc_html: Allow anyone to delete their account
  541. title: Open account deletion
  542. min_invite_role:
  543. disabled: No one
  544. title: Allow invitations by
  545. registrations_mode:
  546. modes:
  547. approved: Approval required for sign up
  548. none: Nobody can sign up
  549. open: Anyone can sign up
  550. title: Registrations mode
  551. show_known_fediverse_at_about_page:
  552. desc_html: When disabled, restricts the public timeline linked from the landing page to showing only local content
  553. title: Include federated content on unauthenticated public timeline page
  554. show_staff_badge:
  555. desc_html: Show a staff badge on a user page
  556. title: Show staff badge
  557. site_description:
  558. 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>.
  559. title: Server description
  560. site_description_extended:
  561. 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
  562. title: Custom extended information
  563. site_short_description:
  564. desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph.
  565. title: Short server description
  566. site_terms:
  567. desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
  568. title: Custom terms of service
  569. site_title: Server name
  570. spam_check_enabled:
  571. desc_html: Mastodon can auto-report accounts that send repeated unsolicited messages. There may be false positives.
  572. title: Anti-spam automation
  573. thumbnail:
  574. desc_html: Used for previews via OpenGraph and API. 1200x630px recommended
  575. title: Server thumbnail
  576. timeline_preview:
  577. desc_html: Display link to public timeline on landing page and allow API access to the public timeline without authentication
  578. title: Allow unauthenticated access to public timeline
  579. title: Site settings
  580. trendable_by_default:
  581. desc_html: Affects hashtags that have not been previously disallowed
  582. title: Allow hashtags to trend without prior review
  583. trends:
  584. desc_html: Publicly display previously reviewed hashtags that are currently trending
  585. title: Trending hashtags
  586. site_uploads:
  587. delete: Delete uploaded file
  588. destroyed_msg: Site upload successfully deleted!
  589. statuses:
  590. back_to_account: Back to account page
  591. batch:
  592. delete: Delete
  593. nsfw_off: Mark as not sensitive
  594. nsfw_on: Mark as sensitive
  595. deleted: Deleted
  596. failed_to_execute: Failed to execute
  597. media:
  598. title: Media
  599. no_media: No media
  600. no_status_selected: No statuses were changed as none were selected
  601. title: Account statuses
  602. with_media: With media
  603. tags:
  604. accounts_today: Unique uses today
  605. accounts_week: Unique uses this week
  606. breakdown: Breakdown of today's usage by source
  607. context: Context
  608. directory: In directory
  609. in_directory: "%{count} in directory"
  610. last_active: Last active
  611. most_popular: Most popular
  612. most_recent: Most recent
  613. name: Hashtag
  614. review: Review status
  615. reviewed: Reviewed
  616. title: Hashtags
  617. trending_right_now: Trending right now
  618. unique_uses_today: "%{count} posting today"
  619. unreviewed: Not reviewed
  620. updated_msg: Hashtag settings updated successfully
  621. title: Administration
  622. warning_presets:
  623. add_new: Add new
  624. delete: Delete
  625. edit_preset: Edit warning preset
  626. title: Manage warning presets
  627. admin_mailer:
  628. new_pending_account:
  629. body: The details of the new account are below. You can approve or reject this application.
  630. subject: New account up for review on %{instance} (%{username})
  631. new_report:
  632. body: "%{reporter} has reported %{target}"
  633. body_remote: Someone from %{domain} has reported %{target}
  634. subject: New report for %{instance} (#%{id})
  635. new_trending_tag:
  636. body: 'The hashtag #%{name} is trending today, but has not been previously reviewed. It will not be displayed publicly unless you allow it to, or just save the form as it is to never hear about it again.'
  637. subject: New hashtag up for review on %{instance} (#%{name})
  638. aliases:
  639. add_new: Create alias
  640. created_msg: Successfully created a new alias. You can now initiate the move from the old account.
  641. deleted_msg: Successfully remove the alias. Moving from that account to this one will no longer be possible.
  642. empty: You have no aliases.
  643. 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>.
  644. remove: Unlink alias
  645. appearance:
  646. advanced_web_interface: Advanced web interface
  647. 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.'
  648. animations_and_accessibility: Animations and accessibility
  649. confirmation_dialogs: Confirmation dialogs
  650. discovery: Discovery
  651. localization:
  652. body: Mastodon is translated by volunteers.
  653. guide_link: https://crowdin.com/project/mastodon
  654. guide_link_text: Everyone can contribute.
  655. sensitive_content: Sensitive content
  656. toot_layout: Toot layout
  657. application_mailer:
  658. notification_preferences: Change e-mail preferences
  659. salutation: "%{name},"
  660. settings: 'Change e-mail preferences: %{link}'
  661. view: 'View:'
  662. view_profile: View profile
  663. view_status: View status
  664. applications:
  665. created: Application successfully created
  666. destroyed: Application successfully deleted
  667. invalid_url: The provided URL is invalid
  668. regenerate_token: Regenerate access token
  669. token_regenerated: Access token successfully regenerated
  670. warning: Be very careful with this data. Never share it with anyone!
  671. your_token: Your access token
  672. auth:
  673. apply_for_account: Request an invite
  674. change_password: Password
  675. 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>
  676. checkbox_agreement_without_rules_html: I agree to the <a href="%{terms_path}" target="_blank">terms of service</a>
  677. delete_account: Delete account
  678. delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation.
  679. description:
  680. prefix_invited_by_user: "@%{name} invites you to join this server of Mastodon!"
  681. prefix_sign_up: Sign up on Mastodon today!
  682. suffix: With an account, you will be able to follow people, post updates and exchange messages with users from any Mastodon server and more!
  683. didnt_get_confirmation: Didn't receive confirmation instructions?
  684. dont_have_your_security_key: Don't have your security key?
  685. forgot_password: Forgot your password?
  686. invalid_reset_password_token: Password reset token is invalid or expired. Please request a new one.
  687. link_to_otp: Enter a two-factor code from your phone or a recovery code
  688. link_to_webauth: Use your security key device
  689. login: Log in
  690. logout: Logout
  691. migrate_account: Move to a different account
  692. migrate_account_html: If you wish to redirect this account to a different one, you can <a href="%{path}">configure it here</a>.
  693. or_log_in_with: Or log in with
  694. providers:
  695. cas: CAS
  696. saml: SAML
  697. register: Sign up
  698. registration_closed: "%{instance} is not accepting new members"
  699. resend_confirmation: Resend confirmation instructions
  700. reset_password: Reset password
  701. security: Security
  702. set_new_password: Set new password
  703. setup:
  704. email_below_hint_html: If the below e-mail address is incorrect, you can change it here and receive a new confirmation e-mail.
  705. 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.
  706. title: Setup
  707. status:
  708. account_status: Account status
  709. confirming: Waiting for e-mail confirmation to be completed.
  710. functional: Your account is fully operational.
  711. 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.
  712. redirecting_to: Your account is inactive because it is currently redirecting to %{acct}.
  713. trouble_logging_in: Trouble logging in?
  714. use_security_key: Use security key
  715. authorize_follow:
  716. already_following: You are already following this account
  717. already_requested: You have already sent a follow request to that account
  718. error: Unfortunately, there was an error looking up the remote account
  719. follow: Follow
  720. follow_request: 'You have sent a follow request to:'
  721. following: 'Success! You are now following:'
  722. post_follow:
  723. close: Or, you can just close this window.
  724. return: Show the user's profile
  725. web: Go to web
  726. title: Follow %{acct}
  727. challenge:
  728. confirm: Continue
  729. hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour."
  730. invalid_password: Invalid password
  731. prompt: Confirm password to continue
  732. crypto:
  733. errors:
  734. invalid_key: is not a valid Ed25519 or Curve25519 key
  735. invalid_signature: is not a valid Ed25519 signature
  736. date:
  737. formats:
  738. default: "%b %d, %Y"
  739. with_month_name: "%B %d, %Y"
  740. datetime:
  741. distance_in_words:
  742. about_x_hours: "%{count}h"
  743. about_x_months: "%{count}mo"
  744. about_x_years: "%{count}y"
  745. almost_x_years: "%{count}y"
  746. half_a_minute: Just now
  747. less_than_x_minutes: "%{count}m"
  748. less_than_x_seconds: Just now
  749. over_x_years: "%{count}y"
  750. x_days: "%{count}d"
  751. x_minutes: "%{count}m"
  752. x_months: "%{count}mo"
  753. x_seconds: "%{count}s"
  754. deletes:
  755. challenge_not_passed: The information you entered was not correct
  756. confirm_password: Enter your current password to verify your identity
  757. confirm_username: Enter your username to confirm the procedure
  758. proceed: Delete account
  759. success_msg: Your account was successfully deleted
  760. warning:
  761. before: 'Before proceeding, please read these notes carefully:'
  762. caches: Content that has been cached by other servers may persist
  763. data_removal: Your posts and other data will be permanently removed
  764. email_change_html: You can <a href="%{path}">change your e-mail address</a> without deleting your account
  765. email_contact_html: If it still doesn't arrive, you can e-mail <a href="mailto:%{email}">%{email}</a> for help
  766. email_reconfirmation_html: If you are not receiving the confirmation e-mail, you can <a href="%{path}">request it again</a>
  767. irreversible: You will not be able to restore or reactivate your account
  768. more_details_html: For more details, see the <a href="%{terms_path}">privacy policy</a>.
  769. username_available: Your username will become available again
  770. username_unavailable: Your username will remain unavailable
  771. directories:
  772. directory: Profile directory
  773. explanation: Discover users based on their interests
  774. explore_mastodon: Explore %{title}
  775. domain_validator:
  776. invalid_domain: is not a valid domain name
  777. errors:
  778. '400': The request you submitted was invalid or malformed.
  779. '403': You don't have permission to view this page.
  780. '404': The page you are looking for isn't here.
  781. '406': This page is not available in the requested format.
  782. '410': The page you were looking for doesn't exist here anymore.
  783. '422':
  784. content: Security verification failed. Are you blocking cookies?
  785. title: Security verification failed
  786. '429': Too many requests
  787. '500':
  788. content: We're sorry, but something went wrong on our end.
  789. title: This page is not correct
  790. '503': The page could not be served due to a temporary server failure.
  791. 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.
  792. existing_username_validator:
  793. not_found: could not find a local user with that username
  794. not_found_multiple: could not find %{usernames}
  795. exports:
  796. archive_takeout:
  797. date: Date
  798. download: Download your archive
  799. hint_html: You can request an archive of your <strong>toots 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.
  800. in_progress: Compiling your archive...
  801. request: Request your archive
  802. size: Size
  803. blocks: You block
  804. csv: CSV
  805. domain_blocks: Domain blocks
  806. lists: Lists
  807. mutes: You mute
  808. storage: Media storage
  809. featured_tags:
  810. add_new: Add new
  811. errors:
  812. limit: You have already featured the maximum amount of hashtags
  813. 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."
  814. filters:
  815. contexts:
  816. account: Profiles
  817. home: Home timeline
  818. notifications: Notifications
  819. public: Public timelines
  820. thread: Conversations
  821. edit:
  822. title: Edit filter
  823. errors:
  824. invalid_context: None or invalid context supplied
  825. invalid_irreversible: Irreversible filtering only works with home or notifications context
  826. index:
  827. delete: Delete
  828. empty: You have no filters.
  829. title: Filters
  830. new:
  831. title: Add new filter
  832. footer:
  833. developers: Developers
  834. more: More…
  835. resources: Resources
  836. trending_now: Trending now
  837. generic:
  838. all: All
  839. changes_saved_msg: Changes successfully saved!
  840. copy: Copy
  841. delete: Delete
  842. no_batch_actions_available: No batch actions available on this page
  843. order_by: Order by
  844. save_changes: Save changes
  845. validation_errors:
  846. one: Something isn't quite right yet! Please review the error below
  847. other: Something isn't quite right yet! Please review %{count} errors below
  848. html_validator:
  849. invalid_markup: 'contains invalid HTML markup: %{error}'
  850. identity_proofs:
  851. active: Active
  852. authorize: Yes, authorize
  853. authorize_connection_prompt: Authorize this cryptographic connection?
  854. errors:
  855. failed: The cryptographic connection failed. Please try again from %{provider}.
  856. keybase:
  857. invalid_token: Keybase tokens are hashes of signatures and must be 66 hex characters
  858. verification_failed: Keybase does not recognize this token as a signature of Keybase user %{kb_username}. Please retry from Keybase.
  859. wrong_user: Cannot create a proof for %{proving} while logged in as %{current}. Log in as %{proving} and try again.
  860. explanation_html: Here you can cryptographically connect your other identities from other platforms, such as Keybase. This lets other people send you encrypted messages on those platforms and allows them to trust that the content you send them comes from you.
  861. i_am_html: I am %{username} on %{service}.
  862. identity: Identity
  863. inactive: Inactive
  864. publicize_checkbox: 'And toot this:'
  865. publicize_toot: 'It is proven! I am %{username} on %{service}: %{url}'
  866. remove: Remove proof from account
  867. removed: Successfully removed proof from account
  868. status: Verification status
  869. view_proof: View proof
  870. imports:
  871. modes:
  872. merge: Merge
  873. merge_long: Keep existing records and add new ones
  874. overwrite: Overwrite
  875. overwrite_long: Replace current records with the new ones
  876. preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking.
  877. success: Your data was successfully uploaded and will now be processed in due time
  878. types:
  879. blocking: Blocking list
  880. domain_blocking: Domain blocking list
  881. following: Following list
  882. muting: Muting list
  883. upload: Upload
  884. in_memoriam_html: In Memoriam.
  885. invites:
  886. delete: Deactivate
  887. expired: Expired
  888. expires_in:
  889. '1800': 30 minutes
  890. '21600': 6 hours
  891. '3600': 1 hour
  892. '43200': 12 hours
  893. '604800': 1 week
  894. '86400': 1 day
  895. expires_in_prompt: Never
  896. generate: Generate invite link
  897. invited_by: 'You were invited by:'
  898. max_uses:
  899. one: 1 use
  900. other: "%{count} uses"
  901. max_uses_prompt: No limit
  902. prompt: Generate and share links with others to grant access to this server
  903. table:
  904. expires_at: Expires
  905. uses: Uses
  906. title: Invite people
  907. lists:
  908. errors:
  909. limit: You have reached the maximum amount of lists
  910. media_attachments:
  911. validations:
  912. images_and_video: Cannot attach a video to a status that already contains images
  913. not_ready: Cannot attach files that have not finished processing. Try again in a moment!
  914. too_many: Cannot attach more than 4 files
  915. migrations:
  916. acct: Moved to
  917. cancel: Cancel redirect
  918. cancel_explanation: Cancelling the redirect will re-activate your current account, but will not bring back followers that have been moved to that account.
  919. cancelled_msg: Successfully cancelled the redirect.
  920. errors:
  921. already_moved: is the same account you have already moved to
  922. missing_also_known_as: is not an alias of this account
  923. move_to_self: cannot be current account
  924. not_found: could not be found
  925. on_cooldown: You are on cooldown
  926. followers_count: Followers at time of move
  927. incoming_migrations: Moving from a different account
  928. incoming_migrations_html: To move from another account to this one, first you need to <a href="%{path}">create an account alias</a>.
  929. moved_msg: Your account is now redirecting to %{acct} and your followers are being moved over.
  930. not_redirecting: Your account is not redirecting to any other account currently.
  931. on_cooldown: You have recently migrated your account. This function will become available again in %{count} days.
  932. past_migrations: Past migrations
  933. proceed_with_move: Move followers
  934. redirected_msg: Your account is now redirecting to %{acct}.
  935. redirecting_to: Your account is redirecting to %{acct}.
  936. set_redirect: Set redirect
  937. warning:
  938. backreference_required: The new account must first be configured to back-reference this one
  939. before: 'Before proceeding, please read these notes carefully:'
  940. cooldown: After moving there is a cooldown period during which you will not be able to move again
  941. disabled_account: Your current account will not be fully usable afterwards. However, you will have access to data export as well as re-activation.
  942. followers: This action will move all followers from the current account to the new account
  943. only_redirect_html: Alternatively, you can <a href="%{path}">only put up a redirect on your profile</a>.
  944. other_data: No other data will be moved automatically
  945. redirect: Your current account's profile will be updated with a redirect notice and be excluded from searches
  946. moderation:
  947. title: Moderation
  948. move_handler:
  949. carry_blocks_over_text: This user moved from %{acct}, which you had blocked.
  950. carry_mutes_over_text: This user moved from %{acct}, which you had muted.
  951. copy_account_note_text: 'This user moved from %{acct}, here were your previous notes about them:'
  952. notification_mailer:
  953. digest:
  954. action: View all notifications
  955. body: Here is a brief summary of the messages you missed since your last visit on %{since}
  956. mention: "%{name} mentioned you in:"
  957. new_followers_summary:
  958. one: Also, you have acquired one new follower while being away! Yay!
  959. other: Also, you have acquired %{count} new followers while being away! Amazing!
  960. subject:
  961. one: "1 new notification since your last visit \U0001F418"
  962. other: "%{count} new notifications since your last visit \U0001F418"
  963. title: In your absence...
  964. favourite:
  965. body: 'Your status was favourited by %{name}:'
  966. subject: "%{name} favourited your status"
  967. title: New favourite
  968. follow:
  969. body: "%{name} is now following you!"
  970. subject: "%{name} is now following you"
  971. title: New follower
  972. follow_request:
  973. action: Manage follow requests
  974. body: "%{name} has requested to follow you"
  975. subject: 'Pending follower: %{name}'
  976. title: New follow request
  977. mention:
  978. action: Reply
  979. body: 'You were mentioned by %{name} in:'
  980. subject: You were mentioned by %{name}
  981. title: New mention
  982. reblog:
  983. body: 'Your status was boosted by %{name}:'
  984. subject: "%{name} boosted your status"
  985. title: New boost
  986. notifications:
  987. email_events: Events for e-mail notifications
  988. email_events_hint: 'Select events that you want to receive notifications for:'
  989. other_settings: Other notifications settings
  990. number:
  991. human:
  992. decimal_units:
  993. format: "%n%u"
  994. units:
  995. billion: B
  996. million: M
  997. quadrillion: Q
  998. thousand: K
  999. trillion: T
  1000. unit: ''
  1001. otp_authentication:
  1002. code_hint: Enter the code generated by your authenticator app to confirm
  1003. 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.
  1004. enable: Enable
  1005. instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
  1006. manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
  1007. setup: Set up
  1008. wrong_code: The entered code was invalid! Are server time and device time correct?
  1009. pagination:
  1010. newer: Newer
  1011. next: Next
  1012. older: Older
  1013. prev: Prev
  1014. truncate: "&hellip;"
  1015. polls:
  1016. errors:
  1017. already_voted: You have already voted on this poll
  1018. duplicate_options: contain duplicate items
  1019. duration_too_long: is too far into the future
  1020. duration_too_short: is too soon
  1021. expired: The poll has already ended
  1022. invalid_choice: The chosen vote option does not exist
  1023. over_character_limit: cannot be longer than %{max} characters each
  1024. too_few_options: must have more than one item
  1025. too_many_options: can't contain more than %{max} items
  1026. preferences:
  1027. other: Other
  1028. posting_defaults: Posting defaults
  1029. public_timelines: Public timelines
  1030. reactions:
  1031. errors:
  1032. limit_reached: Limit of different reactions reached
  1033. unrecognized_emoji: is not a recognized emoji
  1034. relationships:
  1035. activity: Account activity
  1036. dormant: Dormant
  1037. followers: Followers
  1038. following: Following
  1039. invited: Invited
  1040. last_active: Last active
  1041. most_recent: Most recent
  1042. moved: Moved
  1043. mutual: Mutual
  1044. primary: Primary
  1045. relationship: Relationship
  1046. remove_selected_domains: Remove all followers from the selected domains
  1047. remove_selected_followers: Remove selected followers
  1048. remove_selected_follows: Unfollow selected users
  1049. status: Account status
  1050. remote_follow:
  1051. acct: Enter your username@domain you want to act from
  1052. missing_resource: Could not find the required redirect URL for your account
  1053. no_account_html: Don't have an account? You can <a href='%{sign_up_path}' target='_blank'>sign up here</a>
  1054. proceed: Proceed to follow
  1055. prompt: 'You are going to follow:'
  1056. 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."
  1057. remote_interaction:
  1058. favourite:
  1059. proceed: Proceed to favourite
  1060. prompt: 'You want to favourite this toot:'
  1061. reblog:
  1062. proceed: Proceed to boost
  1063. prompt: 'You want to boost this toot:'
  1064. reply:
  1065. proceed: Proceed to reply
  1066. prompt: 'You want to reply to this toot:'
  1067. scheduled_statuses:
  1068. over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day
  1069. over_total_limit: You have exceeded the limit of %{limit} scheduled toots
  1070. too_soon: The scheduled date must be in the future
  1071. sessions:
  1072. activity: Last activity
  1073. browser: Browser
  1074. browsers:
  1075. alipay: Alipay
  1076. blackberry: Blackberry
  1077. chrome: Chrome
  1078. edge: Microsoft Edge
  1079. electron: Electron
  1080. firefox: Firefox
  1081. generic: Unknown browser
  1082. ie: Internet Explorer
  1083. micro_messenger: MicroMessenger
  1084. nokia: Nokia S40 Ovi Browser
  1085. opera: Opera
  1086. otter: Otter
  1087. phantom_js: PhantomJS
  1088. qq: QQ Browser
  1089. safari: Safari
  1090. uc_browser: UCBrowser
  1091. weibo: Weibo
  1092. current_session: Current session
  1093. description: "%{browser} on %{platform}"
  1094. explanation: These are the web browsers currently logged in to your Mastodon account.
  1095. ip: IP
  1096. platforms:
  1097. adobe_air: Adobe Air
  1098. android: Android
  1099. blackberry: Blackberry
  1100. chrome_os: ChromeOS
  1101. firefox_os: Firefox OS
  1102. ios: iOS
  1103. linux: Linux
  1104. mac: macOS
  1105. other: unknown platform
  1106. windows: Windows
  1107. windows_mobile: Windows Mobile
  1108. windows_phone: Windows Phone
  1109. revoke: Revoke
  1110. revoke_success: Session successfully revoked
  1111. title: Sessions
  1112. settings:
  1113. account: Account
  1114. account_settings: Account settings
  1115. aliases: Account aliases
  1116. appearance: Appearance
  1117. authorized_apps: Authorized apps
  1118. back: Back to Mastodon
  1119. delete: Account deletion
  1120. development: Development
  1121. edit_profile: Edit profile
  1122. export: Data export
  1123. featured_tags: Featured hashtags
  1124. identity_proofs: Identity proofs
  1125. import: Import
  1126. import_and_export: Import and export
  1127. migrate: Account migration
  1128. notifications: Notifications
  1129. preferences: Preferences
  1130. profile: Profile
  1131. relationships: Follows and followers
  1132. two_factor_authentication: Two-factor Auth
  1133. webauthn_authentication: Security keys
  1134. spam_check:
  1135. spam_detected: This is an automated report. Spam has been detected.
  1136. statuses:
  1137. attached:
  1138. audio:
  1139. one: "%{count} audio"
  1140. other: "%{count} audio"
  1141. description: 'Attached: %{attached}'
  1142. image:
  1143. one: "%{count} image"
  1144. other: "%{count} images"
  1145. video:
  1146. one: "%{count} video"
  1147. other: "%{count} videos"
  1148. boosted_from_html: Boosted from %{acct_link}
  1149. content_warning: 'Content warning: %{warning}'
  1150. disallowed_hashtags:
  1151. one: 'contained a disallowed hashtag: %{tags}'
  1152. other: 'contained the disallowed hashtags: %{tags}'
  1153. errors:
  1154. in_reply_not_found: The status you are trying to reply to does not appear to exist.
  1155. language_detection: Automatically detect language
  1156. open_in_web: Open in web
  1157. over_character_limit: character limit of %{max} exceeded
  1158. pin_errors:
  1159. limit: You have already pinned the maximum number of toots
  1160. ownership: Someone else's toot cannot be pinned
  1161. private: Non-public toot cannot be pinned
  1162. reblog: A boost cannot be pinned
  1163. poll:
  1164. total_people:
  1165. one: "%{count} person"
  1166. other: "%{count} people"
  1167. total_votes:
  1168. one: "%{count} vote"
  1169. other: "%{count} votes"
  1170. vote: Vote
  1171. show_more: Show more
  1172. show_thread: Show thread
  1173. sign_in_to_participate: Sign in to participate in the conversation
  1174. title: '%{name}: "%{quote}"'
  1175. visibilities:
  1176. private: Followers-only
  1177. private_long: Only show to followers
  1178. public: Public
  1179. public_long: Everyone can see
  1180. unlisted: Unlisted
  1181. unlisted_long: Everyone can see, but not listed on public timelines
  1182. stream_entries:
  1183. pinned: Pinned toot
  1184. reblogged: boosted
  1185. sensitive_content: Sensitive content
  1186. tags:
  1187. does_not_match_previous_name: does not match the previous name
  1188. terms:
  1189. body_html: |
  1190. <h2>Privacy Policy</h2>
  1191. <h3 id="collect">What information do we collect?</h3>
  1192. <ul>
  1193. <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>
  1194. <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>
  1195. <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>
  1196. <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>
  1197. </ul>
  1198. <hr class="spacer" />
  1199. <h3 id="use">What do we use your information for?</h3>
  1200. <p>Any of the information we collect from you may be used in the following ways:</p>
  1201. <ul>
  1202. <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>
  1203. <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>
  1204. <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>
  1205. </ul>
  1206. <hr class="spacer" />
  1207. <h3 id="protect">How do we protect your information?</h3>
  1208. <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>
  1209. <hr class="spacer" />
  1210. <h3 id="data-retention">What is our data retention policy?</h3>
  1211. <p>We will make a good faith effort to:</p>
  1212. <ul>
  1213. <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>
  1214. <li>Retain the IP addresses associated with registered users no more than 12 months.</li>
  1215. </ul>
  1216. <p>You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.</p>
  1217. <p>You may irreversibly delete your account at any time.</p>
  1218. <hr class="spacer"/>
  1219. <h3 id="cookies">Do we use cookies?</h3>
  1220. <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>
  1221. <p>We use cookies to understand and save your preferences for future visits.</p>
  1222. <hr class="spacer" />
  1223. <h3 id="disclose">Do we disclose any information to outside parties?</h3>
  1224. <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>
  1225. <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>
  1226. <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>
  1227. <hr class="spacer" />
  1228. <h3 id="children">Site usage by children</h3>
  1229. <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>
  1230. <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>
  1231. <p>Law requirements can be different if this server is in another jurisdiction.</p>
  1232. <hr class="spacer" />
  1233. <h3 id="changes">Changes to our Privacy Policy</h3>
  1234. <p>If we decide to change our privacy policy, we will post those changes on this page.</p>
  1235. <p>This document is CC-BY-SA. It was last updated March 7, 2018.</p>
  1236. <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
  1237. title: "%{instance} Terms of Service and Privacy Policy"
  1238. themes:
  1239. contrast: Mastodon (High contrast)
  1240. default: Mastodon (Dark)
  1241. mastodon-light: Mastodon (Light)
  1242. time:
  1243. formats:
  1244. default: "%b %d, %Y, %H:%M"
  1245. month: "%b %Y"
  1246. two_factor_authentication:
  1247. add: Add
  1248. disable: Disable 2FA
  1249. disabled_success: Two-factor authentication successfully disabled
  1250. edit: Edit
  1251. enabled: Two-factor authentication is enabled
  1252. enabled_success: Two-factor authentication successfully enabled
  1253. generate_recovery_codes: Generate recovery codes
  1254. 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.
  1255. methods: Two-factor methods
  1256. otp: Authenticator app
  1257. recovery_codes: Backup recovery codes
  1258. recovery_codes_regenerated: Recovery codes successfully regenerated
  1259. 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.
  1260. webauthn: Security keys
  1261. user_mailer:
  1262. backup_ready:
  1263. explanation: You requested a full backup of your Mastodon account. It's now ready for download!
  1264. subject: Your archive is ready for download
  1265. title: Archive takeout
  1266. sign_in_token:
  1267. details: 'Here are details of the attempt:'
  1268. 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:'
  1269. further_actions: 'If this wasn''t you, please change your password and enable two-factor authentication on your account. You can do so here:'
  1270. subject: Please confirm attempted sign in
  1271. title: Sign in attempt
  1272. warning:
  1273. explanation:
  1274. disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked.
  1275. silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you.
  1276. suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers.
  1277. get_in_touch: You can reply to this e-mail to get in touch with the staff of %{instance}.
  1278. review_server_policies: Review server policies
  1279. statuses: 'Specifically, for:'
  1280. subject:
  1281. disable: Your account %{acct} has been frozen
  1282. none: Warning for %{acct}
  1283. silence: Your account %{acct} has been limited
  1284. suspend: Your account %{acct} has been suspended
  1285. title:
  1286. disable: Account frozen
  1287. none: Warning
  1288. silence: Account limited
  1289. suspend: Account suspended
  1290. welcome:
  1291. edit_profile_action: Setup profile
  1292. 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.
  1293. explanation: Here are some tips to get you started
  1294. final_action: Start posting
  1295. final_step: 'Start posting! Even without followers your public messages may be seen by others, for example on the local timeline and in hashtags. You may want to introduce yourself on the #introductions hashtag.'
  1296. full_handle: Your full handle
  1297. full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
  1298. review_preferences_action: Change preferences
  1299. 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.
  1300. subject: Welcome to Mastodon
  1301. 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.
  1302. tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines.
  1303. tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours!
  1304. 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!
  1305. tips: Tips
  1306. title: Welcome aboard, %{name}!
  1307. users:
  1308. blocked_email_provider: This e-mail provider isn't allowed
  1309. follow_limit_reached: You cannot follow more than %{limit} people
  1310. generic_access_help_html: Trouble accessing your account? You may get in touch with %{email} for assistance
  1311. invalid_email: The e-mail address is invalid
  1312. invalid_email_mx: The e-mail address does not seem to exist
  1313. invalid_otp_token: Invalid two-factor code
  1314. invalid_sign_in_token: Invalid security code
  1315. otp_lost_help_html: If you lost access to both, you may get in touch with %{email}
  1316. seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
  1317. signed_in_as: 'Signed in as:'
  1318. suspicious_sign_in_confirmation: You appear to not have logged in from this device before, and you haven't logged in for a while, so we're sending a security code to your e-mail address to confirm that it's you.
  1319. verification:
  1320. 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:'
  1321. verification: Verification
  1322. webauthn_credentials:
  1323. add: Add new security key
  1324. create:
  1325. error: There was a problem adding your security key. Please try again.
  1326. success: Your security key was successfully added.
  1327. delete: Delete
  1328. delete_confirmation: Are you sure you want to delete this security key?
  1329. description_html: If you enable <strong>security key authentication</strong>, logging in will require you to use one of your security keys.
  1330. destroy:
  1331. error: There was a problem deleting you security key. Please try again.
  1332. success: Your security key was successfully deleted.
  1333. invalid_credential: Invalid security key
  1334. nickname_hint: Enter the nickname of your new security key
  1335. not_enabled: You haven't enabled WebAuthn yet
  1336. not_supported: This browser doesn't support security keys
  1337. otp_required: To use security keys please enable two-factor authentication first.
  1338. registered_on: Registered on %{date}