Add auth localization options

This commit is contained in:
Miguel Nogueira 2020-09-01 01:01:32 +01:00
parent f871e14307
commit bf5d4058ad
5 changed files with 67 additions and 36 deletions

View File

@ -60,5 +60,36 @@ EOT,
// ======================== AUTHENTICATION MESSAGES =========================== // ======================== AUTHENTICATION MESSAGES ===========================
'2fa_txt' => 'Two-Factor Authentication',
'2fa_sronly' => 'Two-factor secret code (You can find this on Google Authenticator)',
'2fa_lostcode' => 'Don\'t know the code?',
'2fa_cancel_login' => 'Cancel login (logout)',
'terms' => 'Terms of Use',
'ppolicy' => 'Privacy Policy',
'signin_cta' => 'Sign into your account',
'password' => 'Password',
'remember_me' => 'Remember me',
'forgot_pw' => 'Forgot password?',
'register_cta' => 'Register here',
'no_acc' => 'Don\'t have an account?',
'register_acc' => 'Register a new account',
'pwsec' => [
'line1' => 'Basic password security',
'line2' => 'For your security, we implement strict password policies. It\'s also advisable to let your password manager or browser generate and save passwords for you (if it\'s a private device).',
'line3' => 'Passwords must be a combination of: ',
'line4' => 'A minimum of 10 characters;',
'line5' => 'At least 3 uppercase characters;',
'line6' => 'At least 3 numbers;',
'line7' => 'Any number of special characters.'
],
'sronly_confirmpassword' => 'Confirm Password', // hint: sronly stands for screen-reader only
'sronly_mcusername' => 'Minecraft Username (Premium)',
'have_account' => 'Have an account with us?',
'login_here' => 'Login here',
'register_txt' => 'Register',
// ===================== DASHBOARD & COMPONENT MESSAGES ===========================
]; ];

View File

@ -13,19 +13,19 @@
<div class="brand-wrapper"> <div class="brand-wrapper">
<img src="{{ config('adminlte.logo_img') }}" alt="logo" class="logo">{{ config('adminlte.logo') }} <img src="{{ config('adminlte.logo_img') }}" alt="logo" class="logo">{{ config('adminlte.logo') }}
</div> </div>
<p class="login-card-description">Two-factor Authentication</p> <p class="login-card-description">{{__('messages.2fa_txt')}}</p>
<form action="{{ route('verify2FA') }}" method="POST" id="verify"> <form action="{{ route('verify2FA') }}" method="POST" id="verify">
@csrf @csrf
<div class="form-group"> <div class="form-group">
<label for="name" class="sr-only">Two-factor secret code (You can find this on Google Authenticator)</label> <label for="name" class="sr-only">{{__('messages.2fa_sronly')}}</label>
<input type="text" name="otp" id="name" class="form-control" placeholder="2FA Code (e.g. 543324)"> <input type="text" name="otp" id="name" class="form-control" placeholder="2FA Code (e.g. 543324)">
</div> </div>
<input name="register" id="register" class="btn btn-block login-btn mb-4" type="submit" value="Send 2FA Code"> <input name="register" id="register" class="btn btn-block login-btn mb-4" type="submit" value="Send 2FA Code">
</form> </form>
<p class="login-card-footer-text">Don't know the code? <a href="{{ route('logout') }}" class="text-reset">Cancel login (logout)</a></p> <p class="login-card-footer-text">{{__('messages.2fa_lostcode')}} <a href="{{ route('logout') }}" class="text-reset">{{__('messages.2fa_cancel_login')}}</a></p>
<nav class="login-card-footer-nav"> <nav class="login-card-footer-nav">
<a href="#!">Terms of use</a> <a href="#!">{{__('messages.terms')}}</a>
<a href="#!">Privacy policy</a> <a href="#!">{{__('messages.ppolicy')}}</a>
</nav> </nav>
</div> </div>
</div> </div>

View File

@ -13,28 +13,28 @@
<div class="brand-wrapper"> <div class="brand-wrapper">
<img src="{{ config('adminlte.logo_img') }}" alt="logo" class="logo">{{ config('adminlte.logo') }} <img src="{{ config('adminlte.logo_img') }}" alt="logo" class="logo">{{ config('adminlte.logo') }}
</div> </div>
<p class="login-card-description">Sign into your account</p> <p class="login-card-description">{{__('messages.signin_cta')}}</p>
<form action="{{ route('login') }}" method="POST" id="loginForm"> <form action="{{ route('login') }}" method="POST" id="loginForm">
@csrf @csrf
<div class="form-group"> <div class="form-group">
<label for="email" class="sr-only">Email</label> <label for="email" class="sr-only">{{__('messages.contactlabel_email')}}</label>
<input type="email" name="email" id="email" class="form-control" placeholder="Email address"> <input type="email" name="email" id="email" class="form-control" placeholder="Email address">
</div> </div>
<div class="form-group mb-4"> <div class="form-group mb-4">
<label for="password" class="sr-only">Password</label> <label for="password" class="sr-only">{{__('messages.password')}}</label>
<input type="password" name="password" id="password" class="form-control" placeholder="***********"> <input type="password" name="password" id="password" class="form-control" placeholder="***********">
</div> </div>
<div class="form-group mb-4"> <div class="form-group mb-4">
<label for="remember">Remember me</label> <label for="remember">{{__('messages.remember_me')}}</label>
<input type="checkbox" name="remember" id="remember" /> <input type="checkbox" name="remember" id="remember" />
</div> </div>
<input name="login" id="login" class="btn btn-block login-btn mb-4" type="submit" value="Sign-in"> <input name="login" id="login" class="btn btn-block login-btn mb-4" type="submit" value="Sign-in">
</form> </form>
<a href="{{ route('password.request') }}" class="forgot-password-link">Forgot password?</a> <a href="{{ route('password.request') }}" class="forgot-password-link">{{__('messages.forgot_pw')}}</a>
<p class="login-card-footer-text">Don't have an account? <a href="{{ route('register') }}" class="text-reset">Register here</a></p> <p class="login-card-footer-text">{{__('messages.no_acc')}} <a href="{{ route('register') }}" class="text-reset">{{__('messages.register_cta')}}</a></p>
<nav class="login-card-footer-nav"> <nav class="login-card-footer-nav">
<a href="#!">Terms of use</a> <a href="#!">{{__('messages.terms')}}</a>
<a href="#!">Privacy policy</a> <a href="#!">{{__('messages.ppolicy')}}</a>
</nav> </nav>
</div> </div>
</div> </div>

View File

@ -13,57 +13,57 @@
<div class="brand-wrapper"> <div class="brand-wrapper">
<img src="{{ config('adminlte.logo_img') }}" alt="logo" class="logo">{{ config('adminlte.logo') }} <img src="{{ config('adminlte.logo_img') }}" alt="logo" class="logo">{{ config('adminlte.logo') }}
</div> </div>
<p class="login-card-description">Register a new account</p> <p class="login-card-description">{{__('messages.register_acc')}}</p>
<div class="alert alert-warning alert-dismissible"> <div class="alert alert-warning alert-dismissible">
<a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a> <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
<p><b>Basic password security</b></p> <p><b>{{__('messages.pwsec.line1')}}</b></p>
<p>For your security, we implement strict password policies. It's also advisable to let your password manager or browser generate and save passwords for you (if it's a private device).</p> <p>{{__('messages.pwsec.line2')}}</p>
<p>Passwords must be a combination of: </p> <p>{{__('messages.pwsec.line3')}} </p>
<ul> <ul>
<li> <li>
A minimum of 10 characters; {{__('messages.pwsec.line4')}}
</li> </li>
<li> <li>
At least 3 uppercase characters; {{__('messages.pwsec.line5')}}
</li> </li>
<li> <li>
At least 3 numbers; {{__('messages.pwsec.line6')}}
</li> </li>
<li> <li>
Any number of special characters. {{__('messages.pwsec.line7')}}
</li> </li>
</ul> </ul>
</div> </div>
<form action="{{ route('register') }}" method="POST" id="registerForm"> <form action="{{ route('register') }}" method="POST" id="registerForm">
@csrf @csrf
<div class="form-group"> <div class="form-group">
<label for="name" class="sr-only">Name</label> <label for="name" class="sr-only">{{__('messages.contactlabel_name')}}/label>
<input type="text" name="name" id="name" class="form-control" placeholder="Name (e.g. John Smith)"> <input type="text" name="name" id="name" class="form-control" placeholder="{{__('messages.contactlabel_name')}}">
</div> </div>
<div class="form-group mb-4"> <div class="form-group mb-4">
<label for="email" class="sr-only">Email address</label> <label for="email" class="sr-only">{{__('messages.contactlabel_email')}}</label>
<input type="email" name="email" id="email" class="form-control" placeholder="Email Address"> <input type="email" name="email" id="email" class="form-control" placeholder="{{__('messages.contactlabel_email')}}">
</div> </div>
<div class="form-group mb-4"> <div class="form-group mb-4">
<label for="password" class="sr-only">Password</label> <label for="password" class="sr-only">{{__('messages.password')}}</label>
<input type="password" name="password" id="password" class="form-control" placeholder="Password" <input type="password" name="password" id="password" class="form-control" placeholder="{{__('messages.password')}}">
</div> </div>
<div class="form-group mb-4"> <div class="form-group mb-4">
<label for="passwordc" class="sr-only">Confirm password</label> <label for="passwordc" class="sr-only">{{__('messages.sronly_confirmpassword')}}</label>
<input type="password" id="passwordc" name="password_confirmation" class="form-control" placeholder="Confirm password" /> <input type="password" id="passwordc" name="password_confirmation" class="form-control" placeholder="{{__('messages.sronly_confirmpassword')}}" />
</div> </div>
<div class="form-group mt-5"> <div class="form-group mt-5">
<label for="mcusername" class="sr-only">Minecraft Username (Premium)</label> <label for="mcusername" class="sr-only">{{__('messages.sronly_mcusername')}}</label>
<input type="text" name="uuid" class="form-control" id="mcusername" placeholder="Premium Minecraft Username (e.g. Notch)" /> <input type="text" name="uuid" class="form-control" id="mcusername" placeholder="{{__('messages.sronly_mcusername')}}" />
</div> </div>
<input name="register" id="register" class="btn btn-block login-btn mb-4" type="submit" value="Register"> <input name="register" id="register" class="btn btn-block login-btn mb-4" type="submit" value="{{__('messages.register_txt')}}">
</form> </form>
<p class="login-card-footer-text">Have an account with us? <a href="{{ route('login') }}" class="text-reset">Login here</a></p> <p class="login-card-footer-text">{{__('messages.have_account')}} <a href="{{ route('login') }}" class="text-reset">{{__('messages.login_here')}}</a></p>
<nav class="login-card-footer-nav"> <nav class="login-card-footer-nav">
<a href="#!">Terms of use</a> <a href="#!">{{__('messages.terms')}}</a>
<a href="#!">Privacy policy</a> <a href="#!">{{__('messages.ppolicy')}}</a>
</nav> </nav>
</div> </div>
</div> </div>

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>{{ config('app.name') . '| ID' }}</title> <title>{{ config('app.name') . ' | ID' }}</title>
<link href="https://fonts.googleapis.com/css?family=Karla:400,700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Karla:400,700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/4.8.95/css/materialdesignicons.min.css"> <link rel="stylesheet" href="https://cdn.materialdesignicons.com/4.8.95/css/materialdesignicons.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">