- fixed an error on finance in admin panel

- flight ident now use this format: VA IATA(if empty ICAO) + Flight Number + - + Flight Code (without C) + - + Flight Leg (without L)
- added function __trans_choice in helpers.php for translation
- fixed error in flight edit/insert panel not showing/inserting Tuesday in days
- fixed an error occurring when metar retrieved is empty
- edited now-ui-kit.css to align login fields correctly
- added /public/assets/frontend/js/core/jquery-3.3.1.min.js to fix a missed resource error in authentication pages
- added translations file for en and it locales
- translated all the frontend templates
This commit is contained in:
lordwilbur
2018-05-16 08:47:31 +02:00
committed by Nabeel Shahzad
parent 84f64f45d9
commit 06f8322eeb
20 changed files with 358 additions and 56 deletions

151
resources/lang/en.json Normal file
View File

@@ -0,0 +1,151 @@
{
"Welcome!": "Welcome!",
"Dashboard": "Dashboard",
"Live Map": "Live Map",
"Pilot": "Pilot|Pilots",
"Flight": "Flight|Flights",
"Login": "Login",
"Register": "Register",
"PIREP": "PIREP|PIREPs",
"Profile": "Profile",
"Downloads": "Downloads",
"Administration": "Administration",
"Log Out": "Esci",
"Welcome Message": "Welcome in Piemonte Virtual Airlines",
"Newest Pilots": "Newest Pilots",
"Total Hours": "Total Hours",
"Your Balance": "Your Balance",
"Current Airport": "Current Airport",
"Your Last Report": "Your Last Report",
"No reports yet.": "No reports yet.",
"File one now.": "File one now.",
"Weather at :ICAO": "Weather at :ICAO",
"Recent Reports": "Recent Reports",
"to": "to",
"Ground Speed": "Ground Speed",
"Altitude": "Altitude",
"Heading": "Heading",
"Status": "Status",
"Flight Time": "Flight Time",
"Distance": "Distance",
"There are no flights.": "There are no flights.",
"Departure": "Departure",
"Arrival": "Arrival",
"Aircraft": "Aircraft",
"GS": "GS",
"Name": "Name",
"Airline": "Airline",
"Location": "Location",
"Hour": "Hour|Hours",
"My Bid": "My Bid|My Bids",
"Search": "Search",
"Flight Number": "Flight Number",
"Departure Airport": "Departure Airport",
"Arrival Airport": "Arrival Airport",
"Find": "Find",
"Reset": "Reset",
"Add/Remove Bid": "Add/Remove Bid",
"DEP": "DEP",
"ARR": "ARR",
"DISTANCE": "DISTANCE",
"LEVEL": "LEVEL",
"ROUTE": "ROUTE",
"Alternate Airport": "Alternate Airport",
"Route": "Route",
"Notes": "Notes",
"File New PIREP": "File New PIREP",
"Pilot Report": "Pilot Report|Pilot Reports",
"Arrived": "Arrived",
"Submit": "Submit",
"Source": "Source",
"Flight Type": "Flight Type",
"Filed Route": "Filed Route",
"Filed On": "Filed On",
"Field": "Field|Fields",
"Value": "Value",
"Fare": "Fare|Fares",
"Class": "Class",
"Count": "Count",
"Flight Level": "Flight Level",
"Once a PIREP has been accepted/rejected, certain fields go into read-only mode.": "Once a PIREP has been accepted/rejected, certain fields go into read-only mode.",
"Flight Informations": "Flight Informations",
"Flight Number/Code/Leg": "Flight Number/Code/Leg",
"Code (optional)": "Code (optional)",
"Leg (optional)": "Leg (optional)",
"Minute": "Minute|Minutes",
"Departure/Arrival Informations": "Departure/Arrival Informations",
"Aircraft Informations": "Aircraft Informations",
"Remarks": "Remarks",
"Date Flown": "Date Flown",
"Departure Time": "Departure Time",
"Arrival Time": "Arrival Time",
"Delete PIREP": "Delete PIREP",
"Save PIREP": "Save PIREP",
"Submit PIREP": "Submit PIREP",
"Edit Flight Report": "Edit Flight Report",
"File New Report": "File New Report",
"New Flight Report": "New Flight Report",
"Flight Hours": "Flight Hours",
"Home Airport": "Home Airport",
"New API Key": "New API Key",
"Edit": "Edit",
"Your Profile": "Your Profile",
"Email": "Email",
"API Key": "API Key",
"don't share this!": "don\'t share this!",
"Timezone": "Timezone",
"Country": "Country",
"Change Password": "Change Password",
"Confirm Password": "Confirm Password",
"Avatar": "Avatar",
"Update Profile": "Update Profile",
"Edit Profile": "Edit Profile",
"Edit Your Profile": "Edit Your Profile",
"Download": "Download|Downloads",
"There are no downloads!": "There are no downloads!",
"Log In": "Log In",
"Create Account": "Create Account",
"Forgot Password": "Forgot Password",
"Full Name": "Full Name",
"Email Address": "Email Address",
"Password": "Password",
"Fill out the captcha": "Fill out the captcha",
"Terms and Conditions": "Terms and Conditions",
"By registering, you agree to the Terms and Conditions.": "By registering, you agree to the Terms and Conditions.",
"Register!": "Register!",
"Reset Password": "Reset Password",
"Send Password Reset Link": "Send Password Reset Link",
"Click here to reset your password": "Click here to reset your password",
"Registration Pending": "Registration Pending",
"Your registration is pending approval. Please check your email!": "Your registration is pending approval. Please check your email!",
"Registration Submitted": "Registration Submitted",
"Registration Confirmation": "Registration Confirmation",
"Your application has been submitted. It requires staff member approval, once a\nstaff member has reviewed your application, you will receive a confirmation email.": "Your application has been submitted. It requires staff member approval, once a\nstaff member has reviewed your application, you will receive a confirmation email.",
"Registration Denied": "Registration Denied",
"Your registration was denied. Please contact an administrator.": "Your registration was denied. Please contact an administrator.",
"Account Suspended": "Account Suspended",
"Your account has been suspended. Please contact an administrator.": "Your account has been suspended. Please contact an administrator.",
"Inbound Flights": "Inbound Flights",
"Outbound Flights": "Outbound Flights",
"No Flight Found": "No Flight Found",
"Ident": "Ident",
"From": "From",
"To": "To",
"Close": "Close",
"News": "News",
"No News Found": "No News Found",
"METAR/TAF data could not be retrieved": "METAR/TAF data could not be retrieved",
"Conditions": "Conditions",
"visibility": "visibility",
"humidity": "humidity",
"dew point": "dew point",
"Barometer": "Barometer",
"Clouds": "Clouds",
"Wind": "Wind",
"from": "from",
"gusts to": "gusts to",
"METAR": "METAR",
"Updated": "Updated",
"hr ago": "hr ago|hrs ago",
"min ago": "min ago|mins ago"
}

150
resources/lang/it.json Normal file
View File

@@ -0,0 +1,150 @@
{
"Welcome!": "Benvenuti!",
"Dashboard": "Dashboard",
"Live Map": "Mappa Live",
"Pilot": "Pilota|Piloti",
"Flight": "Volo|Voli",
"Login": "Accedi",
"Register": "Registrazione",
"PIREP": "PIREP|PIREPs",
"Profile": "Profilo",
"Administration": "Amministrazione",
"Log Out": "Esci",
"Welcome Message": "Benvenuti in Piemonte Virtual Airlines",
"Newest Pilots": "Ultimi Piloti",
"Total Hours": "Ore Totali",
"Your Balance": "Il Tuo Bilancio",
"Current Airport": "Aeroporto Corrente",
"Your Last Report": "Il Tuo Ultimo Rapporto",
"No reports yet.": "Ancora nessun rapporto.",
"File one now.": "Inseriscine uno ora.",
"Weather at :ICAO": "Tempo a :ICAO",
"Recent Reports": "Rapporti Recenti",
"to": "a",
"Ground Speed": "Velocità al Suolo",
"Altitude": "Altitudine",
"Heading": "Direzione",
"Status": "Stato",
"Flight Time": "Tempo di Volo",
"Distance": "Distanza",
"There are no flights.": "Non ci sono voli.",
"Departure": "Partenza",
"Arrival": "Arrivo",
"Aircraft": "Aereo",
"GS": "VS",
"Name": "Nome",
"Airline": "Compagnia Aerea",
"Location": "Posizione",
"Hour": "Ora|Ore",
"My Bid": "La Mia Prenotazione|Le Mie Prenotazioni",
"Search": "Cerca",
"Flight Number": "Numero di Volo",
"Departure Airport": "Aeroporto di Partenza",
"Arrival Airport": "Aeroporto d'Arrivo",
"Find": "Trova",
"Reset": "Resetta",
"Add/Remove Bid": "Aggiungi/Rimuovi Prenotazione",
"DEP": "PAR",
"ARR": "ARR",
"DISTANCE": "DISTANZA",
"LEVEL": "LIVELLO",
"ROUTE": "ROTTA",
"Alternate Airport": "Aeroporto Alternativo",
"Route": "Rotta",
"Notes": "Note",
"File New PIREP": "Inserisci Nuovo PIREP",
"Pilot Report": "Rapporto Pilota|Rapporti Pilota",
"Arrived": "Arrivato",
"Submit": "Invia",
"Source": "Fonte",
"Flight Type": "Tipo di Volo",
"Filed Route": "Rotta Inserita",
"Filed On": "Inserito il",
"Field": "Campo|Campi",
"Value": "Valore",
"Fare": "Tariffa|Tariffe",
"Class": "Classe",
"Count": "Numero",
"Flight Level": "Livello di Volo",
"Once a PIREP has been accepted/rejected, certain fields go into read-only mode.": "Quando un PIREP viene accettato/rifiutato, alcuni campi vanno in modalità di sola lettura.",
"Flight Informations": "Informazioni di Volo",
"Flight Number/Code/Leg": "Numero di Volo/Codice/Tappa",
"Code (optional)": "Codice (facoltativo)",
"Leg (optional)": "Tappa (facoltativo)",
"Minute": "Minuto|Minuti",
"Departure/Arrival Informations": "Informazioni di Partenza/Arrivo",
"Aircraft Informations": "Informazioni sull'Aeromobile",
"Remarks": "Promemoria",
"Date Flown": "Volato in Data",
"Departure Time": "Orario di Partenza",
"Arrival Time": "Orario di Arrivo",
"Delete PIREP": "Cancella PIREP",
"Save PIREP": "Salva PIREP",
"Submit PIREP": "Invia PIREP",
"Edit Flight Report": "Modifica Rapporto di Volo",
"File New Report": "Inserisci Nuovo Rapporto",
"New Flight Report": "Nuovo Rapporto di Volo",
"Flight Hours": "Ore di Volo",
"Home Airport": "Aeroporto di Casa",
"New API Key": "Nuova Chiave API",
"Edit": "Modifica",
"Your Profile": "Il Tuo Profilo",
"Email": "Email",
"API Key": "Chiave API",
"don't share this!": "Non condividerla!",
"Timezone": "Fuso Orario",
"Country": "Paese",
"Change Password": "Cambia Password",
"Confirm Password": "Conferma Password",
"Avatar": "Avatar",
"Update Profile": "Aggiorna Profilo",
"Edit Profile": "Modifica Profilo",
"Edit Your Profile": "Modifica il Tuo Profilo",
"Download": "Download|Downloads",
"There are no downloads!": "Non ci sono downloads!",
"Log In": "Accesso",
"Create Account": "Crea Account",
"Forgot Password": "Password Dimenticata",
"Full Name": "Nome Completo",
"Email Address": "Indirizzo Email",
"Password": "Password",
"Fill out the captcha": "Compila la captcha",
"Terms and Conditions": "Termini e Condizioni di Utilizzo",
"By registering, you agree to the Terms and Conditions.": "Registrandoti accetti i Termini e le Condizioni di Utilizzo.",
"Register!": "Registrati!",
"Reset Password": "Resetta Password",
"Send Password Reset Link": "Invia Link per Resettare la Password",
"Click here to reset your password": "Clicca qui per resettare la tua password",
"Registration Pending": "Registrazione in Sospeso",
"Your registration is pending approval. Please check your email!": "La tua registrazione è in attesa di approvazione. Controlla la tua email per favore!",
"Registration Submitted": "Registrazione Inviata",
"Registration Confirmation": "Conferma di Registrazione",
"Your application has been submitted. It requires staff member approval, once a\nstaff member has reviewed your application, you will receive a confirmation email.": "La tua domanda è stata inviata e richiede l'approvazione di un membro dello staff, appena\nun membro dello staff l'avrà esaminata riceverai un'email di conferma.",
"Registration Denied": "Registrazione Rifiutata",
"Your registration was denied. Please contact an administrator.": "La tua registrazione è stata rifiutata. Contatta un amministratore per favore.",
"Account Suspended": "Account Sospeso",
"Your account has been suspended. Please contact an administrator.": "Il tuo account è stato sospeso. Contatta un amministratore per favore.",
"Inbound Flights": "Voli in Entrata",
"Outbound Flights": "Voli in Uscita",
"No Flight Found": "Nessun Volo Trovato",
"Ident": "Identificativo",
"From": "Da",
"To": "A",
"Close": "Chiudi",
"News": "Novità",
"No News Found": "Nessuna Novità Trovata",
"METAR/TAF data could not be retrieved": "I dati METAR/TAF non sono stati recuperati",
"Conditions": "Condizioni",
"visibility": "visibilità",
"humidity": "umidità",
"dew point": "punto di rugiada",
"Barometer": "Barometro",
"Clouds": "Nuvole",
"Wind": "Vento",
"from": "da",
"gusts to": "raffiche a",
"METAR": "METAR",
"Updated": "Aggiornato",
"hr ago": "ora fa|ore fa",
"min ago": "minuto fa|minuti fa"
}

View File

@@ -39,7 +39,7 @@
<h5>@lang('frontend.airports.inboundflights')</h5>
@if(!$inbound_flights)
<div class="jumbotron text-center">
@lang('frontend.airports.noflightfound')
@lang('frontend.airports.noflightfound')
</div>
@else
<table class="table table-striped table-condensed">
@@ -74,7 +74,7 @@
<h5>@lang('frontend.airports.outboundflights')</h5>
@if(!$outbound_flights)
<div class="jumbotron text-center">
@lang('frontend.airports.noflightfound')
@lang('frontend.airports.noflightfound')
</div>
@else
<table class="table table-striped table-condensed">

View File

@@ -1,5 +1,5 @@
@extends('auth.layout')
@section('title', __('Log In'))
@section('title', trans('frontend.global.login'))
@section('content')
<div class="col-md-4 content-center">

View File

@@ -88,7 +88,7 @@
@include('auth.toc')
<div style="width: 100%; text-align: right; padding-top: 20px;">
@lang('frontend.auth.tocaccept')<br /><br />
@lang('frontend.auth.tocaccept')<br /><br />
{{ Form::submit(trans('frontend.auth.register'), ['class' => 'btn btn-primary']) }}
</div>

View File

@@ -7,7 +7,7 @@
<div class="flex-center position-ref full-height">
<div class="title m-b-md">
<h2 class="description">
@lang('frontend.auth.deniedmessage')
@lang('frontend.auth.deniedmessage')
</h2>
</div>
</div>

View File

@@ -7,7 +7,7 @@
<div class="flex-center position-ref full-height">
<div class="title m-b-md">
<h2 class="description">
@lang('frontend.auth.suspendedmessage')
@lang('frontend.auth.suspendedmessage')
</h2>
</div>
</div>

View File

@@ -1,6 +1,6 @@
<h4>@lang('frontend.toc.toctitle')</h4>
<textarea class="form-control" style="height: 150px; border: 1px #ccc solid; background-color: transparent" readonly>
@foreach (trans('frontend.toc.toctext') as $line)
{{ str_replace(':appname', config('app.name'), $line) }}
{{ str_replace(':appname', config('app.name'), $line) }}
@endforeach
</textarea>

View File

@@ -62,11 +62,11 @@
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
@lang('frontend.dashboard.yourlastreport')
@lang('frontend.dashboard.yourlastreport')
</div>
@if($last_pirep === null)
<div class="card-block" style="text-align:center;">
@lang('frontend.dashboard.noreportsyet') <a href="{{ route('frontend.pireps.create') }}">@lang('frontend.dashboard.fileonenow')</a>
@lang('frontend.dashboard.noreportsyet') <a href="{{ route('frontend.pireps.create') }}">@lang('frontend.dashboard.fileonenow')</a>
</div>
@else
@include('pireps.pirep_card', ['pirep' => $last_pirep])
@@ -81,7 +81,7 @@
<div class="col-sm-4">
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
@lang('frontend.dashboard.weatherat', ['ICAO' => $current_airport])
@lang('frontend.dashboard.weatherat', ['ICAO' => $current_airport])
</div>
<div class="card-block">
<!-- Tab panes -->
@@ -93,7 +93,7 @@
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
@lang('frontend.dashboard.recentreports')
@lang('frontend.dashboard.recentreports')
</div>
<div class="card-block">
<!-- Tab panes -->
@@ -105,7 +105,7 @@
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
@lang('frontend.global.newestpilots')
@lang('frontend.global.newestpilots')
</div>
<div class="card-block">
<!-- Tab panes -->

View File

@@ -74,13 +74,13 @@
{{ Widget::Weather([
'icao' => $flight->arr_airport_id,
]) }}
@if ($flight->alt_airport_id)
@if ($flight->alt_airport_id)
<br />
<h5>{{$flight->alt_airport_id}} @lang('frontend.global.metar')</h5>
{{ Widget::Weather([
'icao' => $flight->alt_airport_id,
]) }}
@endif
@endif
</div>
</div>
@endsection

View File

@@ -9,13 +9,13 @@
<div class="row">
<div class="col-sm-9">
<center><h1 class="description">@lang('frontend.home.welcome.message', ['Appname' => config('app.name')])</h1></center>
<div class="photo-container">
<img src="{{ public_asset('/assets/img/Airplane.jpg') }}" style=""/>
</div>
<div class="photo-container">
<img src="{{ public_asset('/assets/img/Airplane.jpg') }}" style=""/>
</div>
</div>
<div class="col-sm-3 ">
<h2 class="description">@lang('frontend.global.newestpilots')</h2>
@foreach($users as $user)
@foreach($users as $user)
<div class="card card-signup blue-bg">
{{--<div class="card-bg">--}}
{{--<i class="fa fa-user-o" style="opacity: .1;"></i>--}}
@@ -25,12 +25,12 @@
<a href="{{ route('frontend.profile.show', ['id' => $user->id]) }}" class="text-white">{{ $user->name }}</a>
</h3>
<div class="photo-container">
@if ($user->avatar == null)
@if ($user->avatar == null)
<img class="rounded-circle"
src="{{ $user->gravatar(123) }}">
@else
<img src="{{ $user->avatar->url }}" style="width: 123px;">
@endif
@else
<img src="{{ $user->avatar->url }}" style="width: 123px;">
@endif
</div>
</div>
<div class="content content-center">
@@ -46,7 +46,7 @@
<a href="{{ route('frontend.profile.show', ['id' => $user->id]) }}" class="btn btn-neutral btn-sm">@lang('frontend.global.profile')</a>
</div>
</div>
@endforeach
@endforeach
</div>
</div>
@endsection

View File

@@ -36,7 +36,7 @@
<li class="nav-item">
<a class="nav-link" href="{{ url('/login') }}">
<i class="fas fa-sign-in-alt"></i>
<p>@lang('frontend.nav.login')</p>
<p>@lang('frontend.global.login')</p>
</a>
</li>
<li class="nav-item">

View File

@@ -12,7 +12,7 @@ flight reports that have been filed. You've been warned!
<div class="row">
<div class="col-sm-12">
@component('components.info')
@lang('frontend.pireps.fieldsreadonly')
@lang('frontend.pireps.fieldsreadonly')
@endcomponent
</div>
</div>

View File

@@ -13,12 +13,12 @@
<tr>
<td style="width: 80px;">
<div class="photo-container">
@if ($user->avatar == null)
<img class="rounded-circle"
src="{{ $user->gravatar(256) }}&s=256"/>
@else
<img src="{{ $user->avatar->url }}">
@endif
@if ($user->avatar == null)
<img class="rounded-circle"
src="{{ $user->gravatar(256) }}&s=256"/>
@else
<img src="{{ $user->avatar->url }}">
@endif
</div>
</td>
<td>

View File

@@ -1,11 +1,11 @@
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
@lang('frontend.widgets.latestnews.news')
@lang('frontend.widgets.latestnews.news')
</div>
<div class="card border-blue-bottom">
<div class="card-block" style="min-height: 0px">
@if($news->count() === 0)
<div class="text-center text-muted" style="padding: 30px;">
@lang('frontend.widgets.latestnews.nonewsfound')
@lang('frontend.widgets.latestnews.nonewsfound')
</div>
@endif

View File

@@ -43,16 +43,16 @@
</div>
<div style="float: right; margin-left: 30px; margin-right: 30px;">
<p id="map_flight_stats_right">
@lang('frontend.widgets.livemap.groundspeed'): <span style="font-weight: bold">{ pirep.position.gs }</span><br/>
@lang('frontend.widgets.livemap.altitude'): <span style="font-weight: bold">{ pirep.position.altitude }</span><br/>
@lang('frontend.widgets.livemap.heading'): <span style="font-weight: bold">{ pirep.position.heading }</span><br/>
@lang('frontend.widgets.livemap.groundspeed'): <span style="font-weight: bold">{ pirep.position.gs }</span><br/>
@lang('frontend.widgets.livemap.altitude'): <span style="font-weight: bold">{ pirep.position.altitude }</span><br/>
@lang('frontend.widgets.livemap.heading'): <span style="font-weight: bold">{ pirep.position.heading }</span><br/>
</p>
</div>
<div style="float: right; margin-left: 30px;">
<p id="map_flight_stats_middle">
@lang('frontend.global.status'): <span style="font-weight: bold">{ pirep.status_text }</span><br />
@lang('frontend.global.flighttime'): <span style="font-weight: bold">{ pirep.flight_time | time_hm }</span><br />
@lang('frontend.global.distance'): <span style="font-weight: bold">{ pirep.position.distance.{{setting('units.distance')}} }</span>
@lang('frontend.global.status'): <span style="font-weight: bold">{ pirep.status_text }</span><br />
@lang('frontend.global.flighttime'): <span style="font-weight: bold">{ pirep.flight_time | time_hm }</span><br />
@lang('frontend.global.distance'): <span style="font-weight: bold">{ pirep.position.distance.{{setting('units.distance')}} }</span>
/ <span style="font-weight: bold">
{ pirep.planned_distance.{{setting('units.distance')}} }</span>
</p>

View File

@@ -52,7 +52,7 @@ https://api.checkwx.com/#metar-decoded
{{$metar['wind_speed']}} kts @lang('frontend.global.from') {{$metar['wind_direction_label']}}
({{$metar['wind_direction']}}°)
@if($metar['wind_gust_speed'])
@lang('frontend.widgets.weather.guststo') {{ $metar['wind_gust_speed'] }}
@lang('frontend.widgets.weather.guststo') {{ $metar['wind_gust_speed'] }}
@endif
</td>
</tr>