- expose legal links to screen readers on web - allow only http(s) legal URLs, prevent double submit - detect transport errors without runtimeType, keep extra in memory - ship third-party license text, document decisions Refs #1 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
113 lines
4.8 KiB
Text
113 lines
4.8 KiB
Text
{
|
||
"@@locale": "en",
|
||
"appTitle": "Shuffle",
|
||
"@appTitle": {
|
||
"description": "Name of the app"
|
||
},
|
||
"homePlaceholderMessage": "Welcome to Shuffle. The board game catalog is coming soon.",
|
||
"@homePlaceholderMessage": {
|
||
"description": "Placeholder text on the start page until real content exists"
|
||
},
|
||
"notFoundTitle": "Page not found",
|
||
"@notFoundTitle": {
|
||
"description": "Title of the 404 page"
|
||
},
|
||
"notFoundMessage": "This page does not exist or has been moved.",
|
||
"@notFoundMessage": {
|
||
"description": "Explanation on the 404 page"
|
||
},
|
||
"notFoundBackHome": "Back to start",
|
||
"@notFoundBackHome": {
|
||
"description": "Button on the 404 page that navigates to the start page"
|
||
},
|
||
"authErrorInvalidCredentials": "Email address or password is incorrect.",
|
||
"authErrorEmailNotConfirmed": "Please confirm your email address first. We sent you an email for this.",
|
||
"authActionResendConfirmation": "Resend confirmation email",
|
||
"authErrorRateLimited": "Too many attempts. Please wait a few minutes and try again.",
|
||
"authErrorWeakPasswordLength": "The password is too short.",
|
||
"authErrorWeakPasswordCharacters": "The password is too simple. Choose a different one.",
|
||
"authErrorWeakPasswordPwned": "This password is very common and easy to guess. Choose a different one.",
|
||
"authErrorSamePassword": "Choose a password different from your current one.",
|
||
"authErrorLinkInvalidOrExpired": "The link has expired or has already been used.",
|
||
"authActionRequestNewLink": "Request a new link",
|
||
"authErrorEmailInvalid": "Enter a valid email address.",
|
||
"authErrorRegistrationRejected": "Registration is not possible. Please check your details.",
|
||
"authErrorNetwork": "No connection. You need internet access for this step.",
|
||
"authErrorUnexpected": "Something went wrong. Please try again.",
|
||
"authActionRetry": "Try again",
|
||
"authPasswordTooShort": "At least 10 characters – {missing, plural, =1{1 more character needed} other{{missing} more characters needed}}.",
|
||
"@authPasswordTooShort": {
|
||
"placeholders": {
|
||
"missing": {
|
||
"type": "int"
|
||
}
|
||
}
|
||
},
|
||
"authPasswordCommon": "This password is very common and easy to guess. Choose a different one.",
|
||
"authPasswordRule": "At least 10 characters. Not a very common password.",
|
||
"authPasswordRequired": "Enter a password.",
|
||
"authDisplayNameEmpty": "Enter a display name.",
|
||
"authDisplayNameTooLong": "The display name can be at most {max} characters long.",
|
||
"@authDisplayNameTooLong": {
|
||
"placeholders": {
|
||
"max": {
|
||
"type": "int"
|
||
}
|
||
}
|
||
},
|
||
"authDisplayNameInvalid": "This display name is not allowed. Use visible characters.",
|
||
"authDisplayNameCounter": "{count}/{max}",
|
||
"@authDisplayNameCounter": {
|
||
"placeholders": {
|
||
"count": {
|
||
"type": "int"
|
||
},
|
||
"max": {
|
||
"type": "int"
|
||
}
|
||
}
|
||
},
|
||
"authAgeNotConfirmed": "Shuffle can only be used from age 16.",
|
||
"authTermsNotAccepted": "Please agree to the privacy policy and the terms of use.",
|
||
"authFieldEmailLabel": "Email address",
|
||
"authFieldPasswordLabel": "Password",
|
||
"authFieldDisplayNameLabel": "Display name",
|
||
"authPasswordShow": "Show password",
|
||
"authPasswordHide": "Hide password",
|
||
"authCheckboxAgeLabel": "I am at least 16 years old",
|
||
"authCheckboxTermsPrefix": "I have read the",
|
||
"authCheckboxTermsPrivacyLink": "privacy policy",
|
||
"authCheckboxTermsMiddle": "and agree to the",
|
||
"authCheckboxTermsTermsLink": "terms of use",
|
||
"authCheckboxTermsSuffix": "",
|
||
"authBannerTypeError": "Error",
|
||
"authBannerTypeInfo": "Note",
|
||
"authSubmitting": "Please wait …",
|
||
"authRegisterTitle": "Create account",
|
||
"authRegisterSubmit": "Create account",
|
||
"authRegisterHaveAccount": "Already have an account? Sign in",
|
||
"authCheckEmailTitle": "Check your inbox",
|
||
"authCheckEmailBody": "We sent you an email if the address is not registered yet. Follow the link in it to continue.",
|
||
"authCheckEmailDelayHint": "The email can take a few minutes. Also check your spam folder.",
|
||
"authCheckEmailValidity": "The link is valid for {duration}.",
|
||
"@authCheckEmailValidity": {
|
||
"placeholders": {
|
||
"duration": {
|
||
"type": "String"
|
||
}
|
||
}
|
||
},
|
||
"authCheckEmailValidityOneHour": "1 hour",
|
||
"authCheckEmailResend": "Resend email",
|
||
"authCheckEmailResent": "We resent the email, if there is something to send for this address.",
|
||
"authBackToLogin": "Back to sign in",
|
||
"authConfirmTitle": "Confirm email address",
|
||
"authConfirmBody": "One click is enough to confirm your email address.",
|
||
"authConfirmSubmit": "Confirm email address",
|
||
"authConfirmSuccess": "Email confirmed.",
|
||
"authConfirmSuccessMobileWeb": "You can now also sign in in the app.",
|
||
"authConfirmContinue": "Continue",
|
||
"authRecoveryTitle": "Set a new password",
|
||
"authRecoveryBody": "One click is enough to set a new password.",
|
||
"authRecoverySubmit": "Continue to new password"
|
||
}
|