frontend translation + other stuff

This commit is contained in:
lordwilbur
2018-05-18 00:03:30 +02:00
committed by Nabeel Shahzad
parent ba8a819c7d
commit a346b0df2e
54 changed files with 966 additions and 771 deletions

View File

@@ -13,7 +13,7 @@ $factory->define(App\Models\Flight::class, function (Faker $faker) {
},
'flight_number' => $faker->unique()->numberBetween(10, 1000000),
'route_code' => $faker->randomElement(['', $faker->text(5)]),
'route_leg' => $faker->randomElement(['', $faker->text(5)]),
'route_leg' => $faker->randomElement(['', $faker->numberBetween(0, 1000)]),
'dpt_airport_id' => function () {
return factory(App\Models\Airport::class)->create()->id;
},

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeRouteLegToUnsignedInteger extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('flights', function (Blueprint $table) {
$table->unsignedInteger('route_leg')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('flights', function (Blueprint $table) {
//
});
}
}

View File

@@ -481,9 +481,9 @@ class Metar implements \ArrayAccess
$time_diff = floor(($now - $local) / 60);
if ($time_diff < 91) {
$this->set_result_value('observed_age', $time_diff.' '.__trans_choice('min ago', $time_diff));
$this->set_result_value('observed_age', $time_diff.' '.trans_choice('frontend.widgets.weather.minago', $time_diff));
} else {
$this->set_result_value('observed_age', floor($time_diff / 60).':'.sprintf("%02d", $time_diff % 60).' '.__trans_choice('hr ago', floor($time_diff / 60)));
$this->set_result_value('observed_age', floor($time_diff / 60).':'.sprintf("%02d", $time_diff % 60).' '.trans_choice('frontend.widgets.weather.hrago', floor($time_diff / 60)));
}
}

View File

@@ -220,20 +220,4 @@ if (!function_exists('_fmt')) {
return $line;
}
}
if (!function_exists('__trans_choice')) {
/**
* Translates the given message based on a count from json key.
*
* @param $key
* @param $number
* @param array $replace
* @param null $locale
* @return string
*/
function __trans_choice($key, $number, array $replace = [], $locale = null)
{
return trans_choice(__($key), $number, $replace, $locale);
}
}

View File

@@ -2089,6 +2089,7 @@ fieldset[disabled]
.form-group .form-control,
.input-group .form-control {
margin-top: 2px;
padding: 4px 14px 4px 14px;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,151 +0,0 @@
{
"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"
}

View File

@@ -0,0 +1,266 @@
<?php
return [
'global' =>[
'dashboard' => 'Dashboard',
'flight' => 'Flight|Flights',
'livemap' => 'Live Map',
'pilot' => 'Pilot|Pilots',
'pirep' => 'PIREP|PIREPs',
'newestpilots' => 'Newest Pilots',
'profile' => 'Profile',
'email' => 'Email',
'register' => 'Register',
'confirmpassword' => 'Confirm Password',
'homeairport' => 'Home Airport',
'currentairport' => 'Current Airport',
'timezone' => 'Timezone',
'country' => 'Country',
'download' => 'Download|Downloads',
'from' => 'from',
'to' => 'to',
'status' => 'Status',
'departure' => 'Departure',
'arrival' => 'Arrival',
'aircraft' => 'Aircraft',
'airline' => 'Airline',
'distance' => 'Distance',
'metar' => 'METAR',
'hour' => 'Hour|Hours',
'minute' => 'Minute|Minutes',
'note' => 'Note|Notes',
'route' => 'Route',
'flightnumber' => 'Flight Number',
'flighttime' => 'Flight Time',
'departureairport' => 'Departure Airport',
'arrivalairport' => 'Arrival Airport',
'field' => 'Field|Fields',
'name' => 'Name',
'value' => 'Value|Values',
'remark' => 'Remark|Remarks',
'find' => 'Find',
'reset' => 'Reset',
'submit' => 'Submit',
'edit' => 'Edit',
'close' => 'Close',
],
'airports' => [
'inboundflights' => 'Inbound Flights',
'outboundflights' => 'Outbound Flights',
'ident' => 'Identification',
'noflightfound' => 'No Flight Found.',
],
'auth' => [
'login' => 'Log In',
'password' => 'Password',
'createaccount' => 'Create Account',
'forgotpassword' => 'Forgot Password',
'fullname' => 'Full Name',
'emailaddress' => 'Email Address',
'fillcaptcha' => 'Fill out the captcha',
'tocaccept' => 'By registering, you agree to the Terms and Conditions.',
'register' => 'Register',
'registrationpending' => 'Registration Pending',
'pendingmessage' => 'Your registration is pending approval. Please check your email!',
'registrationsubmitted' => 'Registration Submitted',
'registrationconfirmation' => 'Registration Confirmation',
'confirmationmessage' => 'Your application has been submitted. It requires staff member approval, once a\nstaff member has reviewed your application, you will receive a confirmation email.',
'registrationdenied' => 'Registration Denied',
'deniedmessage' => 'Your registration was denied. Please contact an administrator.',
'accountsuspended' => 'Account Suspended',
'suspendedmessage' => 'Your account has been suspended. Please contact an administrator.',
],
'dashboard' => [
'totalhours' => 'Total Hours',
'yourbalance' => 'Your Balance',
'yourlastreport' => 'Your Last Report',
'noreportsyet' => 'No reports yet.',
'fileonenow' => 'File one now.',
'weatherat' => 'Weather at =>ICAO',
'recentreports' => 'Recent Reports',
],
'downloads' => [
'nodownloads' => 'There are no downloads!',
],
'flights' => [
'mybid' => 'My Bid|My Bids',
'search' => 'Search',
'addremovebid' => 'Add/Remove Bid',
'bidremoved' => 'Your bid was removed.',
'bidadded' => 'Your bid was added.',
'dep' => 'Dep',
'arr' => 'Arr',
'level' => 'Level',
'alternateairport' => 'Alternate Airport',
],
'home' => [
'welcome' => [
'title' => 'Welcome!',
'message' => 'Welcome in :Appname',
],
],
'nav' => [
'login' => 'Login',
'administration' => 'Administration',
'logout' => 'Log Out',
],
'pireps' => [
'filenewpirep' => 'File New PIREP',
'pilotreport' => 'Pilot Report|Pilot Reports',
'arrived' => 'Arrived',
'source' => 'Source',
'flighttype' => 'Flight Type',
'filedroute' => 'Filed Route',
'filedon' => 'Filed On',
'fare' => 'Fare|Fares',
'class' => 'Class',
'count' => 'Count',
'flightlevel' => 'Flight Level',
'fieldsreadonly' => 'Once a PIREP has been accepted/rejected, certain fields go into read-only mode.',
'flightinformations' => 'Flight Informations',
'flightident' => 'Flight Number/Code/Leg',
'codeoptional' => 'Code (optional)',
'legoptional' => 'Leg (optional)',
'deparrinformations' => 'Departure/Arrival Informations',
'aircraftinformations' => 'Aircraft Informations',
'dateflown' => 'Date Flown',
'departuretime' => 'Departure Time',
'arrivaltime' => 'Arrival Time',
'deletepirep' => 'Delete PIREP',
'savepirep' => 'Save PIREP',
'submitpirep' => 'Submit PIREP',
'editflightreport' => 'Edit Flight Report',
'fileflightreport' => 'File New Report',
'newflightreport' => 'New Flight Report',
'submitted' => 'Submitted',
],
'profile' =>[
'avatarresize' => 'This avatar will be resized to :width x :height pixels',
'flighthours' => 'Flight Hours',
'newapikey' => 'New API Key',
'yourprofile' => 'Your Profile',
'apikey' => 'API Key',
'dontshare' => 'don\'t share this!',
'changepassword' => 'Change Password',
'newpassword' => 'New Password',
'avatar' => 'Avatar',
'updateprofile' => 'Update Profile',
'editprofile' => 'Edit Profile',
'edityourprofile' => 'Edit Your Profile',
],
'toc' => [
'toctitle' => 'Terms and Conditions',
'toctext' => [
':appname offers this Web site, including all information, software,',
'products and services available from this Web site or offered as part of or in conjunction',
'with this Web site (the “Web site”), to you, the user, conditioned upon your acceptance of',
'all of the terms, conditions, policies and notices stated here. :appname',
'reserves the right to make changes to these Terms and Conditions immediately by posting the',
'changed Terms and Conditions in this location.',
'',
'Your continued use of the Web site constitutes your agreement to all such terms, conditions',
'and notices, and any changes to the Terms and Conditions made by :appname.',
'',
'The term genericwebsite.com or us or we refers to the owner of the website. The term',
'you refers to the user or viewer of our website.',
'',
'The use of this website is subject to the following terms of use:',
'',
'Use the website at your own risk. This website is provided to you “as is,” without warranty',
'of any kind either express or implied. Neither :appname nor its employees,',
'agents, third-party information providers, merchants, licensors or the like warrant that the',
'Web site or its operation will be accurate, reliable, uninterrupted or error-free. No agent',
'or representative has the authority to create any warranty regarding the Web site on behalf',
'of :appname. :appname reserves the right to change or',
'discontinue at any time any aspect or feature of the Web site.',
'',
'Exclusion of Liability',
'',
'The content of the pages of this website is for your general information and use only. It is',
'subject to change without notice.',
'',
'Neither we nor any third parties provide any warranty or guarantee as to the accuracy,',
'timeliness, performance, completeness or suitability of the information and materials found or',
'offered on this website for any particular purpose. You acknowledge that such information and',
'materials may contain inaccuracies or errors and we expressly exclude liability for any such',
'inaccuracies or errors to the fullest extent permitted by law.',
'',
'Indemnification',
'',
'Your use of any information or materials on this website is entirely at your own risk, for which',
'we shall not be liable. It shall be your own responsibility to ensure that any products, services',
'or information available through this website meet your specific requirements.',
'',
'This website contains material which is owned by or licensed to us. This material includes, but is',
'not limited to, the design, layout, look, appearance and graphics. Reproduction is prohibited other',
'than in accordance with the copyright notice, which forms part of these terms and conditions.',
'',
'All trade marks reproduced in this website which are not the property of, or licensed to, the',
'operator are acknowledged on the website.',
'',
'Unauthorized use of this website may give rise to a claim for damages and/or be a criminal offense.',
'',
'From time to time this website may also include links to other websites. These links are provided',
'for your convenience to provide further information. They do not signify that we endorse the',
'website(s). We have no responsibility for the content of the linked website(s).',
'',
'Copyright',
'Except for material in the public domain under United States copyright law, all material contained',
'on the Web site (including all software, HTML code, Java applets, Active X controls and other code)',
'is protected by United States and foreign copyright laws. Except as otherwise expressly provided',
'in these terms and conditions, you may not copy, distribute, transmit, display, perform, reproduce',
'publish, license, modify, rewrite, create derivative works from, transfer, or sell any material',
'contained on the Web site without the prior consent of the copyright owner.',
'',
'None of the material contained on :appname may be reverse-engineered, disassembled,',
'decompiled, transcribed, stored in a retrieval system, translated into any language or computer language,',
'retransmitted in any form or by any means (electronic, mechanical, photo reproduction, recordation or',
'otherwise), resold or redistributed without the prior written consent of :appname.',
'Violation of this provision may result in severe civil and criminal penalties.',
],
],
'users' => [
'location' => 'Location',
],
'widgets' => [
'latestnews' => [
'news' => 'News',
'nonewsfound' => 'No News Found',
],
'livemap' => [
'groundspeed' => 'Ground Speed',
'altitude' => 'Altitude',
'heading' => 'Heading',
'noflights' => 'There are no flights.',
'gs' => 'GS',
],
'weather' => [
'metarnotretrieved' => 'METAR/TAF data could not be retrieved',
'conditions' => 'Conditions',
'visibility' => 'visibility',
'humidity' => 'humidity',
'dewpoint' => 'dew point',
'barometer' => 'Barometer',
'clouds' => 'Clouds',
'wind' => 'Wind',
'guststo' => 'gusts to',
'updated' => 'Updated',
'hrago' => 'hr ago|hrs ago',
'minago' => 'min ago|mins ago',
],
],
];

View File

@@ -1,150 +0,0 @@
{
"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

@@ -13,7 +13,7 @@ return [
|
*/
'failed' => 'These credentials do not match our records.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
'failed' => 'Queste credenziali non sono presenti nei nostri archivi.',
'throttle' => 'Troppi tentativi di login. Tenta di nuovo tra :seconds secondi per favore.',
];

View File

@@ -0,0 +1,267 @@
<?php
return [
'global' =>[
'dashboard' => 'Dashboard',
'flight' => 'Volo|Voli',
'livemap' => 'Mappa Live',
'pilot' => 'Pilota|Piloti',
'pirep' => 'PIREP|PIREPs',
'newestpilots' => 'Ultimi Piloti',
'profile' => 'Profilo',
'email' => 'Email',
'register' => 'Registrazione',
'confirmpassword' => 'Conferma Password',
'homeairport' => 'Aeroporto di Casa',
'currentairport' => 'Aeroporto Corrente',
'timezone' => 'Fuso Orario',
'country' => 'Paese',
'download' => 'Download|Downloads',
'from' => 'da',
'to' => 'a',
'status' => 'Stato',
'departure' => 'Partenza',
'arrival' => 'Arrivo',
'aircraft' => 'Aereomobile',
'airline' => 'Compagnia Aerea',
'distance' => 'Distanza',
'metar' => 'METAR',
'hour' => 'Ora|Ore',
'minute' => 'Minuto|Minuti',
'note' => 'Nota|Note',
'route' => 'Rotta',
'flightnumber' => 'Numero di Volo',
'flighttime' => 'Tempo di Volo',
'departureairport' => 'Aeroporto di Partenza',
'arrivalairport' => 'Aeroporto d\'Arrivo',
'field' => 'Campo|Campi',
'name' => 'Nome',
'value' => 'Valore|Valori',
'remark' => 'Promemoria|Promemoria',
'find' => 'Trova',
'reset' => 'Resetta',
'submit' => 'Invia',
'edit' => 'Modifica',
'close' => 'Chiudi',
],
'airports' => [
'inboundflights' => 'Voli in Entrata',
'outboundflights' => 'Voli in Uscita',
'ident' => 'Identificativo',
'noflightfound' => 'Nessun Volo Trovato.',
],
'auth' => [
'login' => 'Accedi',
'password' => 'Password',
'createaccount' => 'Crea Account',
'forgotpassword' => 'Password Dimenticata',
'fullname' => 'Nome Completo',
'emailaddress' => 'Indirizzo Email',
'fillcaptcha' => 'Compila la captcha',
'tocaccept' => 'Registrandoti confermi di accettare i Termini e le Condizioni di Utilizzo.',
'register' => 'Registrati',
'registrationpending' => 'Registrazione in Sospeso',
'pendingmessage' => 'La tua registrazione è in attesa di approvazione. Controlla la tua email per favore.',
'registrationsubmitted' => 'Registrazione Inviata',
'registrationconfirmation' => 'Conferma di Registrazione',
'confirmationmessage' => 'La tua richiesta è stata inviata e richiede l\'approvazione di un membro dello staff. Quando\nverrà esaminata, riceverai una email di conferma.',
'registrationdenied' => 'Registrazione Negata',
'deniedmessage' => 'La tua registrazione è stata rifiutata. Contatta un amministratore per favore.',
'accountsuspended' => 'Account Sospeso',
'suspendedmessage' => 'Il tuo account è stato sospeso. Contatta un amministratore per favore.',
],
'dashboard' => [
'totalhours' => 'Ore Totali',
'yourbalance' => 'Bilancio',
'yourlastreport' => 'Ultimo Rapporto',
'noreportsyet' => 'Ancora nessun rapporto.',
'fileonenow' => 'Inseriscine uno ora.',
'weatherat' => 'Tempo a :ICAO',
'recentreports' => 'Rapporti Recenti',
],
'downloads' => [
'nodownloads' => 'Non ci sono downloads!',
],
'flights' => [
'mybid' => 'Mia prenotazione|Mie Prenotazioni',
'addremovebid' => 'Aggiungi/Rimuovi Prenotazione',
'bidremoved' => 'La tua prenotazione è stata rimossa.',
'bidadded' => 'La tua prenotazione è stata aggiunta.',
'dep' => 'Par',
'arr' => 'Arr',
'level' => 'Livello',
'alternateairport' => 'Aeroporto Alternativo',
],
'home' => [
'welcome' => [
'title' => 'Benvenuti!',
'message' => 'Benvenuti in :Appname',
],
],
'nav' => [
'login' => 'Accesso',
'administration' => 'Amministrazione',
'logout' => 'Uscita',
],
'pireps' => [
'filenewpirep' => 'Inserici Nuovo PIREP',
'pilotreport' => 'Rapporto Pilota|Rapporti Pilota',
'arrived' => 'Arrivato',
'source' => 'Fonte',
'flighttype' => 'Tipo di Volo',
'filedroute' => 'Rotta Inserita',
'filedon' => 'Inserito il',
'fare' => 'Tariffa|Tariffe',
'class' => 'Classe',
'count' => 'Numero',
'flightlevel' => 'Livello di Volo',
'fieldsreadonly' => 'Quando un PIREP viene accettato/rifiutato, alcuni cami entrano in modalità di sola lettura.',
'flightinformations' => 'Informazioni di Volo',
'flightident' => 'Numero di Volo/Codice/Leg',
'codeoptional' => 'Codice (facoltativo)',
'legoptional' => 'Leg (facoltativa)',
'deparrinformations' => 'Informazioni di Partenza/Arrivo',
'aircraftinformations' => 'Informazioni sull\'Aeromobile',
'dateflown' => 'Volato in Data',
'departuretime' => 'Ora di Partenza',
'arrivaltime' => 'Ora di Arrivo',
'deletepirep' => 'Cancella PIREP',
'savepirep' => 'Salva PIREP',
'submitpirep' => 'Invia PIREP',
'editflightreport' => 'Modifica Rapporto di Volo',
'fileflightreport' => 'Inserisci Rapporto di Volo',
'newflightreport' => 'Nuovo Rapporto di Volo',
'submitted' => 'Inviato',
],
'profile' =>[
'avatarresize' => 'Questo avatar sarà ridimensionato a :width x :height pixels',
'flighthours' => 'Ore di Volo',
'newapikey' => 'Nuova Chiave API',
'yourprofile' => 'Il Tuo Profilo',
'apikey' => 'Chiave API',
'dontshare' => 'non condividerla!',
'changepassword' => 'Cambia Password',
'newpassword' => 'Nuova Password',
'avatar' => 'Avatar',
'updateprofile' => 'Aggiorna Profilo',
'editprofile' => 'Modifica Profilo',
'edityourprofile' => 'Modifica Il Tuo Profilo',
],
'toc' => [
'toctitle' => 'Termini e Condizioni di Utilizzo',
'toctext' => [
'La consultazione e l\'accesso al sito www.piemontevirtualairlines.tk (il "Sito") sono soggetti alle normative',
'vigenti e implicano l\'accettazione dei Termini e delle Condizioni di seguito riportati ("Termini e Condizioni"),',
'che prevalgono anche rispetto a ogni altro diverso accordo intervenuto o che si ritenga intervenuto tra il',
'visitatore del Sito (il "Visitatore") e :appname (la "Società").',
'',
'La Società si riserva di modificare in qualsiasi momento e senza preavviso i Termini e Condizioni qui riportati',
'I Visitatori sono invitati a controllare periodicamente questa sezione del Sito per prendere visione delle',
'eventuali modifiche.',
'',
'LIMITAZIONI DI USO',
'Il Visitatore è autorizzato ad utilizzare e può scaricare testi, immagini, audio e video esclusivamente per uso',
'personale, ad esclusione, quindi, di usi commerciali o professionali.',
'',
'Salvo ove diversamente indicato, i contenuti del Sito sono protetti dalle norme sul marchio e/o sul diritto',
'd\'autore e/o sulla proprietà intellettuale e non possono essere utilizzati se non in conformità e nei limiti',
'di quanto qui previsto. In particolare, non è concesso al Visitatore il diritto di riprodurre, distribuire,',
'modificare, riutilizzare, inoltrare il contenuto del Sito, o di una sua parte, senza l\'autorizzazione scritta',
'ed esplicita della Società.',
'',
'La Società non sarà responsabile della violazione di diritti di terzi commessa dai Visitatori o da terzi e',
'conseguente ad un uso improprio dei contenuti del Sito.',
'',
'CONTENUTI DEL SITO',
'Malgrado i contenuti del Sito siano stati elaborati e formulati con la massima cura, la Società non garantisce',
'né gli stessi siano privi di imprecisioni, inesattezze o omissioni, né di essere in grado di aggiornarli in tempo',
'reale o di mantenerli sempre disponibili, riservandosi di apportare in qualsiasi momento cambiamenti, correzioni,',
'migliorie ai contenuti del Sito, o di interromperne o sospenderne le funzionalità.',
'',
'La Società non assume pertanto responsabilità conseguenti ad incompletezza, inesattezza o mancato aggiornamento',
'delle informazioni contenute nel Sito, impossibilità di accedere al Sito o di visualizzarne o scaricarne o utilizzarne',
'correttamente i contenuti, né per eventuali danni o virus che possano colpire l\'attrezzatura informatica o altri beni',
'del Visitatore in conseguenza dell\'accesso, utilizzo o della navigazione nel Sito o del download di suo contenuti.',
'',
'LINK A SITI TERZI',
'Il Sito potrebbe contenere collegamenti ipertestuali a siti web di terzi, che possono offrire informazioni utili ai',
'visitatori e sul cui contenuto la Società non ha alcun controllo. Poiché questi Termini e Condizioni non si applicano',
'a tali siti e alle modalità di utilizzo e accesso agli stessi, il collegamento a siti terzi avviene sotto l\'esclusiva',
'responsabilità del Visitatore e la Società non potrà in alcun modo essere ritenuta responsabile per l\'esattezza,',
'la sicurezza o l\'affidabilità di contenuti, prodotti o servizi disponibili su tali siti.',
'',
'DATI PERSONALI E DATI DI NAVIGAZIONE',
'L\'accesso e l\'uso del Sito non comportano l\'acquisizione di dati personali del Visitatore salvo ove espressamente',
'segnalato (Area Riservata). In tali casi, il Visitatore sarà tenuto a prendere visione dell\'informativa e se del caso-',
'ad esprimere il proprio consenso secondo quanto previsto dal D. Lgs. 30 giugno 2003 n. 196.',
'',
'Tuttavia, le procedure e il sistema informatico preposto al funzionamento del Sito potranno acquisire, nel corso del loro',
'normale funzionamento, alcuni dati la cui trasmissione è implicita nell\'uso e protocolli di comunicazione Internet. Queste',
'informazioni non sono raccolte per essere associate a interessati identificati ma per loro stessa natura potrebbero,',
'attraverso elaborazioni ed associazioni con altri dati detenuti dalla Società o da terzi, permettere l\'identificazione del',
'Visitatore. In questa categoria di dati rientrano gli indirizzi IP o i nomi a dominio dei computer utilizzati dagli utenti',
'che si connettono al Sito, gli indirizzi in URI (Uniform Resource Identifier) delle risorse richieste, l\'ora di richiesta,',
'il metodo di richiesta, la dimensione dei file ottenuto in risposta, il codice numerico contrassegnante la risposta del',
'server e altri parametri relativi al sistema operativo e all\'ambiente informatico del Visitatore. Questi dati potranno',
'essere utilizzati dalla Società al solo fine di ricavarne informazioni assolutamente anonime e aggregate sull\'uso del Sito',
'allo scopo, ad es., di identificare le pagine o i contesti preferiti dagli utenti al fine di fornire servizi sempre più',
'adeguati e verificarne il corretto funzionamento. Solo in caso di violazioni o ipotetici reati informatici che coinvolgano',
'il Sito tali dati potranno essere utilizzati per l\'accertamento di responsabilità.',
'',
'Segnaliamo infine che l\'accesso al Sito potrà comportare la registrazione, sul disco fisso del dispositivo del Visitatore',
'(computer, tablet, palmare o telefono) di "cookies". I "cookies" sono piccoli file di testo che i siti visitati dall\'utente',
'inviano al suo terminale (solitamente al browser), dove vengono memorizzati per essere poi ritrasmessi agli stessi siti',
'alla successiva visita del medesimo utente. Le informazioni salvate nei cookies resteranno anonime e non consentiranno',
'l\'identificazione del Visitatore.',
'',
'Tuttavia, il Visitatore potrà in ogni momento richiedere la disattivazione dei cookies modificando le impostazioni del suo',
'browser. La maggior parte dei browsers accetta i cookies automaticamente, ma è possibile cancellare i cookies già',
'registrati ed evitare la registrazione di nuovi cookies selezionando l\'apposita opzione (eventualmente consultando le',
'istruzioni del browser)',
],
],
'users' => [
'location' => 'Posizione',
],
'widgets' => [
'latestnews' => [
'news' => 'Novità',
'nonewsfound' => 'Nessuna Novità Trovata',
],
'livemap' => [
'groundspeed' => 'Velocità al Suolo',
'altitude' => 'Altitudine',
'heading' => 'Direzione',
'noflights' => 'Non ci sono voli.',
'gs' => 'VS',
],
'weather' => [
'metarnotretrieved' => 'I dati METAR/TAF non possono essere recuperati',
'conditions' => 'Condizioni',
'visibility' => 'visibilità',
'humidity' => 'umidità',
'dewpoint' => 'punto di rugiada',
'barometer' => 'Barometro',
'clouds' => 'Nuvole',
'wind' => 'Vento',
'guststo' => 'raffiche da',
'updated' => 'Aggiornato',
'hrago' => 'ora fa|ore fa',
'minago' => 'ninuto fa|minuti fa',
],
],
];

View File

@@ -13,7 +13,7 @@ return [
|
*/
'previous' => '&laquo; Previous',
'next' => 'Next &raquo;',
'previous' => '&laquo; Precedente',
'next' => 'Successiva &raquo;',
];

View File

@@ -13,10 +13,10 @@ return [
|
*/
'password' => 'Passwords must be at least six characters and match the confirmation.',
'reset' => 'Your password has been reset!',
'sent' => 'We have e-mailed your password reset link!',
'token' => 'This password reset token is invalid.',
'user' => "We can't find a user with that e-mail address.",
'password' => 'Le password devono essere lunghe almeno sei caratteri ed essere identiche al campo di conferma password.',
'reset' => 'La tua password è stata resettata!',
'sent' => 'Ti abbiamo inviato via email il link per resettare la password!',
'token' => 'Questo token per resettare la password non è valido.',
'user' => "Non ci è stato possibile trovare un utente con questo indirizzo email.",
];

View File

@@ -3,104 +3,104 @@
return [
'global' => [
'active' => 'Active',
'inactive' => 'Inactive'
'active' => 'Attivo',
'inactive' => 'Inattivo'
],
'aircraft' => [
'status' => [
'active' => 'Active',
'stored' => 'Stored',
'retired' => 'Retired',
'scrapped' => 'Scrapped',
'written' => 'Written Off',
'active' => 'Attivo',
'stored' => 'Immagazzinato',
'retired' => 'Ritirato',
'scrapped' => 'Rottamato',
'written' => 'Stornato',
],
],
'days' => [
'mon' => 'Monday',
'tues' => 'Tuesday',
'wed' => 'Wednesday',
'thurs' => 'Thursday',
'fri' => 'Friday',
'sat' => 'Saturday',
'sun' => 'Sunday',
'mon' => 'Lunedì',
'tues' => 'Martedì',
'wed' => 'Mercoledì',
'thurs' => 'Giovedì',
'fri' => 'Venerdì',
'sat' => 'Sabato',
'sun' => 'Domenica',
],
'expenses' => [
'type' => [
'flight' => 'Flight',
'daily' => 'Daily',
'monthly' => 'Monthly',
'flight' => 'Volo',
'daily' => 'Giornaliera',
'monthly' => 'Mensile',
],
],
'flights' => [
'type' => [
'pass_scheduled' => 'Passenger - Scheduled',
'cargo_scheduled' => 'Cargo - Scheduled',
'charter_pass_only' => 'Charter - Passenger Only',
'addtl_cargo_mail' => 'Additional Cargo/Mail',
'special_vip' => 'Special VIP Flight (FAA/Government)',
'pass_addtl' => 'Passenger - Additional',
'charter_cargo' => 'Charter - Cargo/Mail',
'ambulance' => 'Ambulance Flight',
'training_flight' => 'Training Flight',
'mail_service' => 'Mail Service',
'charter_special' => 'Charter w/ Special Handling',
'positioning' => 'Positioning (Ferry/Delivery/Demo)',
'technical_test' => 'Technical Test',
'military' => 'Military',
'technical_stop' => 'Technical Stop',
'pass_scheduled' => 'Passeggeri - Programmato',
'cargo_scheduled' => 'Cargo - Programmato',
'charter_pass_only' => 'Charter - Solo Passeggeri',
'addtl_cargo_mail' => 'Cargo/Posta Addizionale',
'special_vip' => 'Volo VIP Speciale (FAA/Governo)',
'pass_addtl' => 'Passeggeri - Addizionale',
'charter_cargo' => 'Charter - Cargo/Posta',
'ambulance' => 'Volo Ambulanza',
'training_flight' => 'Volo di Addestramento',
'mail_service' => 'Servizio Postale',
'charter_special' => 'Charter con Manutenzione Speciale',
'positioning' => 'Posizionamento (Traghetto/Consegna/Dimostrazione)',
'technical_test' => 'Prova Tecnica',
'military' => 'Militare',
'technical_stop' => 'Fermo Tecnico',
],
],
'pireps' => [
'source' => [
'manual' => 'Manual',
'manual' => 'Manuale',
'acars' => 'ACARS',
],
'state' => [
'accepted' => 'Accepted',
'pending' => 'Pending Approval',
'rejected' => 'Rejected',
'in_progress' => 'In Progress',
'cancelled' => 'Cancelled',
'deleted' => 'Deleted',
'draft' => 'Draft',
'accepted' => 'Accettato',
'pending' => 'In Attesa di Approvazione',
'rejected' => 'Rifiutato',
'in_progress' => 'In Lavorazione',
'cancelled' => 'Cancellato',
'deleted' => 'Eliminato',
'draft' => 'Bozza',
],
'status' => [
'initialized' => 'Initiated',
'scheduled' => 'Scheduled',
'boarding' => 'Boarding',
'ready_start' => 'Ready for start',
'push_tow' => 'Pushback/towing',
'departed' => 'Departed',
'ready_deice' => 'Ready for de-icing',
'deicing' => 'De-icing in progress',
'ground_ret' => 'Ground return',
'initialized' => 'Iniziato',
'scheduled' => 'Programmato',
'boarding' => 'Imbarco',
'ready_start' => 'Pronto alla partenza',
'push_tow' => 'Pushback/Rimorchio',
'departed' => 'Partito',
'ready_deice' => 'Pronto al de-icing',
'deicing' => 'De-icing in corso',
'ground_ret' => 'Ritorno a Terra',
'taxi' => 'Taxi',
'takeoff' => 'Takeoff',
'initial_clb' => 'Initial Climb',
'takeoff' => 'Decollo',
'initial_clb' => 'Salita Iniziale',
'enroute' => 'Enroute',
'diverted' => 'Diverted',
'approach' => 'Approach',
'final_appr' => 'Final approach',
'landing' => 'Landing',
'landed' => 'Landed',
'arrived' => 'Arrived',
'cancelled' => 'Cancelled',
'emerg_decent' => 'Emergency decent',
'approach' => 'Approccio',
'final_appr' => 'Approccio Finale',
'landing' => 'Atterraggio',
'landed' => 'Atterrato',
'arrived' => 'Arrivato',
'cancelled' => 'Cancellato',
'emerg_decent' => 'Discesa di Emergenza',
]
],
'users' => [
'state' => [
'pending' => 'Pending',
'active' => 'Active',
'rejected' => 'Rejected',
'on_leave' => 'On Leave',
'suspended' => 'Suspended',
'pending' => 'In Attesa',
'active' => 'Attivo',
'rejected' => 'Rifiutato',
'on_leave' => 'In Ferie',
'suspended' => 'Sospeso',
],
],
];

View File

@@ -6,74 +6,74 @@ return [
* Validation Language Lines
*/
'accepted' => 'The :attribute must be accepted.',
'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.',
'alpha' => 'The :attribute may only contain letters.',
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
'alpha_num' => 'The :attribute may only contain letters and numbers.',
'array' => 'The :attribute must be an array.',
'before' => 'The :attribute must be a date before :date.',
'accepted' => ':attribute deve essere accettato.',
'active_url' => ':attribute non è un URL valido.',
'after' => ':attribute deve essere una data successiva al :date.',
'alpha' => ':attribute può contenere solo lettere.',
'alpha_dash' => ':attribute può contenere solo lettere, numeri e trattini.',
'alpha_num' => ':attribute può contenere solo lettere e numeri.',
'array' => ':attribute deve essere un array.',
'before' => ':attribute deve essere una data precedente al :date.',
'between' => [
'numeric' => 'The :attribute must be between :min and :max.',
'file' => 'The :attribute must be between :min and :max kilobytes.',
'string' => 'The :attribute must be between :min and :max characters.',
'array' => 'The :attribute must have between :min and :max items.',
'numeric' => ':attribute deve essere compreso tra :min e :max.',
'file' => ':attribute deve essere compreso tra :min e :max kilobytes.',
'string' => ':attribute deve essere compreso tra :min e :max caratteri.',
'array' => ':attribute deve essere compreso tra :min e :max elementi.',
],
'boolean' => 'The :attribute field must be true or false.',
'confirmed' => 'The :attribute confirmation does not match.',
'date' => 'The :attribute is not a valid date.',
'date_format' => 'The :attribute does not match the format :format.',
'different' => 'The :attribute and :other must be different.',
'digits' => 'The :attribute must be :digits digits.',
'digits_between' => 'The :attribute must be between :min and :max digits.',
'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'email' => 'The :attribute must be a valid email address.',
'exists' => 'The selected :attribute is invalid.',
'file' => 'The :attribute must be a file.',
'filled' => 'The ":attribute" is required.',
'image' => 'The :attribute must be an image.',
'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.',
'integer' => 'The :attribute must be an integer.',
'ip' => 'The :attribute must be a valid IP address.',
'json' => 'The :attribute must be a valid JSON string.',
'boolean' => ':attribute deve essere true o false.',
'confirmed' => ':attribute la conferma non corrisponde.',
'date' => ':attribute non è una data valida.',
'date_format' => ':attribute non corrisponde al formato :format.',
'different' => ':attribute e :other devono essere differenti.',
'digits' => ':attribute deve essere di almeno :digits cifre.',
'digits_between' => ':attribute deve essere compreso tra :min e :max cifre.',
'dimensions' => ':attribute ha dimensioni di immagine non valide.',
'distinct' => ':attribute il campo è duplicato.',
'email' => ':attribute deve essere un indirizzo email valido.',
'exists' => 'Il/la :attribute selezionato non è valido.',
'file' => ':attribute deve essere un file.',
'filled' => '":attribute" è obbligatorio.',
'image' => ':attribute deve essere un\'immagine.',
'in' => 'Il/la :attribute selezionato non è valido.',
'in_array' => 'Il campo :attribute non esiste in :other.',
'integer' => ':attribute deve essere un intero.',
'ip' => ':attribute deve essere un indirizzo IP valido.',
'json' => ':attribute deve essere una stringa JSON valida.',
'max' => [
'numeric' => 'The :attribute may not be greater than :max.',
'file' => 'The :attribute may not be greater than :max kilobytes.',
'string' => 'The :attribute may not be greater than :max characters.',
'array' => 'The :attribute may not have more than :max items.',
'numeric' => ':attribute non può essere maggiore di :max.',
'file' => ':attribute non può essere maggiore di :max kilobytes.',
'string' => ':attribute non può essere maggiore di :max caratteri.',
'array' => ':attribute non può essere maggiore di :max elementi.',
],
'mimes' => 'The :attribute must be a file of type: :values.',
'mimes' => ':attribute deve essere un file di tipo: :values.',
'min' => [
'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.',
'string' => 'The :attribute must be at least :min characters.',
'array' => 'The :attribute must have at least :min items.',
'numeric' => ':attribute deve essere di almeno :min.',
'file' => ':attribute deve essere di almeno :min kilobytes.',
'string' => ':attribute deve essere di almeno :min caratteri.',
'array' => ':attribute deve essere di almeno :min elementi.',
],
'not_in' => 'The selected :attribute is invalid.',
'numeric' => 'The :attribute must be a number.',
'present' => 'The :attribute field must be present.',
'regex' => 'The :attribute format is invalid.',
'required' => 'The ":attribute" field is required.',
'required_if' => 'The :attribute field is required when :other is :value.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => 'The :attribute field is required when :values is present.',
'required_with_all' => 'The :attribute field is required when :values is present.',
'required_without' => 'The :attribute field is required when :values is not present.',
'required_without_all' => 'The :attribute field is required when none of :values are present.',
'same' => 'The :attribute and :other must match.',
'not_in' => 'Il/la :attribute non è valido/a.',
'numeric' => ':attribute deve essere un numero.',
'present' => 'Il campo :attribute deve essere presente.',
'regex' => 'Il formato del/della :attribute non è valido.',
'required' => 'Il campo ":attribute" è obbligatorio.',
'required_if' => 'Il campo :attribute è obbligatorio quando :other è :value.',
'required_unless' => 'Il campo :attribute è obbligatorio a meno che :other sia compreso tra :values.',
'required_with' => 'Il campo :attribute è obbligatorio quando :values è presente.',
'required_with_all' => 'Il campo :attribute è obbligatorio quando :values sono presenti.',
'required_without' => 'Il campo :attribute è obbligatorio quando :values non è presente.',
'required_without_all' => 'Il campo :attribute è obbligatorio quando :values non sono presenti.',
'same' => ':attribute e :other devono corrispondere.',
'size' => [
'numeric' => 'The :attribute must be :size.',
'file' => 'The :attribute must be :size kilobytes.',
'string' => 'The :attribute must be :size characters.',
'array' => 'The :attribute must contain :size items.',
'numeric' => ':attribute deve essere di :size.',
'file' => ':attribute deve essere di :size kilobytes.',
'string' => ':attribute deve essere di :size caratteri.',
'array' => ':attribute deve contenere :size elementi.',
],
'string' => 'The :attribute must be a string.',
'timezone' => 'The :attribute must be a valid zone.',
'unique' => 'The :attribute has already been taken.',
'url' => 'The :attribute format is invalid.',
'string' => ':attribute deve essere una stringa.',
'timezone' => ':attribute deve essere una zona valida.',
'unique' => ':attribute è già stato utilizzato.',
'url' => 'Il formato del/della :attribute non è valido.',
/**
* Custom Validation Language Lines
@@ -81,33 +81,33 @@ return [
'custom' => [
'airline_id' => [
'required' => 'An airline is required',
'exists' => 'The airline doesn\'t exist',
'required' => 'Una compagnia aerea è obbligatoria',
'exists' => 'La compagnia aerea non esiste',
],
'aircraft_id' => [
'required' => 'An aircraft is required',
'exists' => 'The aircraft doesn\'t exist',
'required' => 'Un aereo è obbligatorio',
'exists' => 'L\'aereo non esiste',
],
'arr_airport_id' => [
'required' => 'An arrival airport is required',
'required' => 'Un aeroporto di arrivo è obbligatorio',
],
'dpt_airport_id' => [
'required' => 'A departure airport is required',
'required' => 'Un aeroporto di partenza è obbligatorio',
],
'flight_time' => [
'required' => 'Flight time, in minutes, is required',
'integer' => 'Flight time, in minutes, is required',
'required' => 'Il tempo di volo in minuti è obbligatorio',
'integer' => 'Il tempo di volo in minuti deve essere un intero',
],
'planned_flight_time' => [
'required' => 'Flight time, in minutes, is required',
'integer' => 'Flight time, in minutes, is required',
'required' => 'Il tempo di volo in minuti è obbligatorio',
'integer' => 'Il tempo di volo in minuti deve essere un intero',
],
'source_name' => [
'required' => 'PIREP Source is required',
'required' => 'La fonte del PIREP è obbligatoria',
],
'g-recaptcha-response' => [
'required' => 'Please verify that you are not a robot.',
'captcha' => 'Captcha error! try again later or contact site admin.',
'required' => 'Conferma di non essere un robot per favore.',
'captcha' => 'Errore captcha! Riprova più tardi o contatta un amministratiore.',
],
],

View File

@@ -122,7 +122,7 @@
.form-group,
.input-group{
.form-control{
margin-top: 2px;
/*margin-top: 2px;*/
padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 $padding-horizontal - 1;
& + .input-group-addon{

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Live Map'))
@section('title', trans('frontend.global.livemap'))
@section('content')
{{ Widget::liveMap() }}

View File

@@ -28,7 +28,7 @@
{{-- There are files uploaded and a user is logged in--}}
@if(count($airport->files) > 0 && Auth::check())
<div class="col-12">
<h3>{{ __trans_choice('Download', 2) }}</h3>
<h3>{{ trans_choice('frontend.global.download', 2) }}</h3>
@include('downloads.table', ['files' => $airport->files])
</div>
@endif
@@ -36,19 +36,19 @@
<div class="row">
<div class="col-6">
<h5>{{ __('Inbound Flights') }}</h5>
<h5>@lang('frontend.airports.inboundflights')</h5>
@if(!$inbound_flights)
<div class="jumbotron text-center">
{{ __('No Flight Found') }}
@lang('frontend.airports.noflightfound')
</div>
@else
<table class="table table-striped table-condensed">
<thead>
<tr>
<th class="text-left">{{ __('Ident') }}</th>
<th class="text-left">{{ __('From') }}</th>
<th>{{ __('Departure') }}</th>
<th>{{ __('Arrival') }}</th>
<th class="text-left">@lang('frontend.airports.ident')</th>
<th class="text-left">@lang('frontend.global.from')</th>
<th>@lang('frontend.global.departure')</th>
<th>@lang('frontend.global.arrival')</th>
</tr>
</thead>
@foreach($inbound_flights as $flight)
@@ -71,19 +71,19 @@
</div>
<div class="col-6">
<h5>{{ __('Outbound Flights') }}</h5>
<h5>@lang('frontend.airports.outboundflights')</h5>
@if(!$outbound_flights)
<div class="jumbotron text-center">
{{ __('No Flight Found') }}
@lang('frontend.airports.noflightfound')
</div>
@else
<table class="table table-striped table-condensed">
<thead>
<tr>
<th class="text-left">{{ __('Ident') }}</th>
<th class="text-left">{{ __('To') }}</th>
<th>{{ __('Departure') }}</th>
<th>{{ __('Arrival') }}</th>
<th class="text-left">@lang('frontend.airports.ident')</th>
<th class="text-left">@lang('frontend.global.to')</th>
<th>@lang('frontend.global.departure')</th>
<th>@lang('frontend.global.arrival')</th>
</tr>
</thead>
@foreach($outbound_flights as $flight)

View File

@@ -40,7 +40,7 @@
</div>
</body>
<script src="{{ public_asset('/assets/frontend/js/core/jquery-3.3.1.min.js') }}" type="text/javascript"></script>
<script src="{{ public_asset('/assets/global/js/jquery.js') }}" type="text/javascript"></script>
@yield('scripts')

View File

@@ -18,7 +18,7 @@
{{
Form::text('email', old('email'), [
'id' => 'email',
'placeholder' => 'Email',
'placeholder' => trans('frontend.global.email'),
'class' => 'form-control',
'required' => true,
])
@@ -38,7 +38,7 @@
Form::password('password', [
'name' => 'password',
'class' => 'form-control',
'placeholder' => 'Password',
'placeholder' => trans('frontend.auth.password'),
'required' => true,
])
}}
@@ -51,16 +51,16 @@
</div>
<div class="footer text-center">
<button href="#pablo" class="btn btn-primary btn-round btn-lg btn-block">{{ __('Login') }}</button>
<button href="#pablo" class="btn btn-primary btn-round btn-lg btn-block">@lang('frontend.auth.login')</button>
</div>
<div class="pull-left">
<h6>
<a href="{{ url('/register') }}" class="link">{{ __('Create Account') }}</a>
<a href="{{ url('/register') }}" class="link">@lang('frontend.auth.createaccount')</a>
</h6>
</div>
<div class="pull-right">
<h6>
<a href="{{ url('/password/reset') }}" class="link">{{ __('Forgot Password') }}?</a>
<a href="{{ url('/password/reset') }}" class="link">@lang('frontend.auth.forgotpassword')?</a>
</h6>
</div>
{{ Form::close() }}

View File

@@ -1,12 +1,12 @@
@extends('app')
@section('title', __('Registration Pending'))
@section('title', trans('frontend.auth.registrationpending'))
@section('content')
<div class="row">
<div class="col-md-12 " style="text-align: center;">
<div class="flex-center position-ref full-height">
<div class="title m-b-md">
<h2 class="description">{{ __('Your registration is pending approval. Please check your email!') }}</h2>
<h2 class="description">@lang('frontend.auth.pendingmessage')</h2>
</div>
</div>
</div>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Register'))
@section('title', trans('frontend.global.register'))
@section('content')
<div class="row">
@@ -10,8 +10,8 @@
<div class="panel periodic-login">
<div class="panel-body">
<h2>{{ __('Register') }}</h2>
<label for="name" class="control-label">{{ __('Full Name') }}</label>
<h2>@lang('frontend.global.register')</h2>
<label for="name" class="control-label">@lang('frontend.auth.fullname')</label>
<div class="input-group form-group-no-border {{ $errors->has('name') ? 'has-danger' : '' }}">
{{ Form::text('name', null, ['class' => 'form-control']) }}
</div>
@@ -19,7 +19,7 @@
<p class="text-danger">{{ $errors->first('name') }}</p>
@endif
<label for="email" class="control-label">{{ __('Email Address') }}</label>
<label for="email" class="control-label">@lang('frontend.auth.emailaddress')</label>
<div class="input-group form-group-no-border {{ $errors->has('email') ? 'has-danger' : '' }}">
{{ Form::text('email', null, ['class' => 'form-control']) }}
</div>
@@ -27,7 +27,7 @@
<p class="text-danger">{{ $errors->first('email') }}</p>
@endif
<label for="airline" class="control-label">{{ __('Airline') }}</label>
<label for="airline" class="control-label">@lang('frontend.global.airline')</label>
<div class="input-group form-group-no-border {{ $errors->has('airline') ? 'has-danger' : '' }}">
{{ Form::select('airline_id', $airlines, null , ['class' => 'form-control select2']) }}
</div>
@@ -35,7 +35,7 @@
<p class="text-danger">{{ $errors->first('airline_id') }}</p>
@endif
<label for="home_airport" class="control-label">{{ __('Home Airport') }}</label>
<label for="home_airport" class="control-label">@lang('frontend.global.homeairport')</label>
<div class="input-group form-group-no-border {{ $errors->has('home_airport') ? 'has-danger' : '' }}">
{{ Form::select('home_airport_id', $airports, null , ['class' => 'form-control select2']) }}
</div>
@@ -43,7 +43,7 @@
<p class="text-danger">{{ $errors->first('home_airport_id') }}</p>
@endif
<label for="country" class="control-label">{{ __('Country') }}</label>
<label for="country" class="control-label">@lang('frontend.global.country')</label>
<div class="input-group form-group-no-border {{ $errors->has('country') ? 'has-danger' : '' }}">
{{ Form::select('country', $countries, null, ['class' => 'form-control select2' ]) }}
</div>
@@ -51,7 +51,7 @@
<p class="text-danger">{{ $errors->first('country') }}</p>
@endif
<label for="timezone" class="control-label">{{ __('Timezone') }}</label>
<label for="timezone" class="control-label">@lang('frontend.global.timezone')</label>
<div class="input-group form-group-no-border {{ $errors->has('timezone') ? 'has-danger' : '' }}">
{{ Form::select('timezone', $timezones, null, ['id'=>'timezone', 'class' => 'form-control select2' ]) }}
</div>
@@ -59,7 +59,7 @@
<p class="text-danger">{{ $errors->first('timezone') }}</p>
@endif
<label for="password" class="control-label">{{ __('Password') }}</label>
<label for="password" class="control-label">@lang('frontend.auth.password')</label>
<div class="input-group form-group-no-border {{ $errors->has('password') ? 'has-danger' : '' }}">
{{ Form::password('password', ['class' => 'form-control']) }}
</div>
@@ -67,7 +67,7 @@
<p class="text-danger">{{ $errors->first('password') }}</p>
@endif
<label for="password_confirmation" class="control-label">{{ __('Confirm Password') }}</label>
<label for="password_confirmation" class="control-label">@lang('frontend.global.confirmpassword')</label>
<div class="input-group form-group-no-border {{ $errors->has('password_confirmation') ? 'has-danger' : '' }}">
{{ Form::password('password_confirmation', ['class' => 'form-control']) }}
</div>
@@ -76,7 +76,7 @@
@endif
@if(config('captcha.enabled'))
<label for="g-recaptcha-response" class="control-label">{{ __('Fill out the captcha') }}</label>
<label for="g-recaptcha-response" class="control-label">@lang('frontend.auth.fillcaptcha')</label>
<div class="input-group form-group-no-border {{ $errors->has('g-recaptcha-response') ? 'has-danger' : '' }}">
{!! NoCaptcha::display(config('captcha.attributes')) !!}
</div>
@@ -88,8 +88,8 @@
@include('auth.toc')
<div style="width: 100%; text-align: right; padding-top: 20px;">
{{ __('By registering, you agree to the Terms and Conditions.') }}<br /><br />
{{ Form::submit(__('Register!'), ['class' => 'btn btn-primary']) }}
@lang('frontend.auth.tocaccept')<br /><br />
{{ Form::submit(trans('frontend.auth.register'), ['class' => 'btn btn-primary']) }}
</div>
</div>

View File

@@ -1,11 +1,11 @@
@extends('app')
@section('title', __('Registration Submitted'))
@section('title', trans('frontend.auth.registrationsubmitted'))
@section('content')
<div class="container registered-page">
<h3>{{ __('Registration Confirmation') }}</h3>
<h3>@lang('frontend.auth.registrationconfirmation')</h3>
<p>
__('Your application has been submitted. It requires staff member approval, once a\nstaff member has reviewed your application, you will receive a confirmation email.') }}
@lang('frontend.auth.confirmationmessage')
</p>
</div>
@endsection

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Registration Denied'))
@section('title', trans('frontend.auth.registrationdenied'))
@section('content')
<div class="row">
@@ -7,7 +7,7 @@
<div class="flex-center position-ref full-height">
<div class="title m-b-md">
<h2 class="description">
{{ __('Your registration was denied. Please contact an administrator.') }}
@lang('frontend.auth.deniedmessage')
</h2>
</div>
</div>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Account Suspended'))
@section('title', trans('frontend.auth.accountsuspended'))
@section('content')
<div class="row">
@@ -7,7 +7,7 @@
<div class="flex-center position-ref full-height">
<div class="title m-b-md">
<h2 class="description">
{{ __('Your account has been suspended. Please contact an administrator.') }}
@lang('frontend.auth.suspendedmessage')
</h2>
</div>
</div>

View File

@@ -1,69 +1,6 @@
<h4>{{ __('Terms and Conditions') }}</h4>
<textarea class="form-control" style="height: 150px; border: 1px #ccc solid;">
{{ config('app.name') }} offers this Web site, including all information, software,
products and services available from this Web site or offered as part of or in conjunction
with this Web site (the “Web site”), to you, the user, conditioned upon your acceptance of
all of the terms, conditions, policies and notices stated here. {{ config('app.name') }}
reserves the right to make changes to these Terms and Conditions immediately by posting the
changed Terms and Conditions in this location.
Your continued use of the Web site constitutes your agreement to all such terms, conditions
and notices, and any changes to the Terms and Conditions made by {{ config('app.name') }}.
The term genericwebsite.com or us or we refers to the owner of the website. The term
you refers to the user or viewer of our website.
The use of this website is subject to the following terms of use:
Use the website at your own risk. This website is provided to you “as is, without warranty
of any kind either express or implied. Neither {{ config('app.name') }} nor its employees,
agents, third-party information providers, merchants, licensors or the like warrant that the
Web site or its operation will be accurate, reliable, uninterrupted or error-free. No agent
or representative has the authority to create any warranty regarding the Web site on behalf
of {{ config('app.name') }}. {{ config('app.name') }} reserves the right to change or
discontinue at any time any aspect or feature of the Web site.
Exclusion of Liability
The content of the pages of this website is for your general information and use only. It is
subject to change without notice.
Neither we nor any third parties provide any warranty or guarantee as to the accuracy,
timeliness, performance, completeness or suitability of the information and materials found or
offered on this website for any particular purpose. You acknowledge that such information and
materials may contain inaccuracies or errors and we expressly exclude liability for any such
inaccuracies or errors to the fullest extent permitted by law.
Indemnification
Your use of any information or materials on this website is entirely at your own risk, for which
we shall not be liable. It shall be your own responsibility to ensure that any products, services
or information available through this website meet your specific requirements.
This website contains material which is owned by or licensed to us. This material includes, but is
not limited to, the design, layout, look, appearance and graphics. Reproduction is prohibited other
than in accordance with the copyright notice, which forms part of these terms and conditions.
All trade marks reproduced in this website which are not the property of, or licensed to, the
operator are acknowledged on the website.
Unauthorized use of this website may give rise to a claim for damages and/or be a criminal offense.
From time to time this website may also include links to other websites. These links are provided
for your convenience to provide further information. They do not signify that we endorse the
website(s). We have no responsibility for the content of the linked website(s).
Copyright
Except for material in the public domain under United States copyright law, all material contained
on the Web site (including all software, HTML code, Java applets, Active X controls and other code)
is protected by United States and foreign copyright laws. Except as otherwise expressly provided
in these terms and conditions, you may not copy, distribute, transmit, display, perform, reproduce,
publish, license, modify, rewrite, create derivative works from, transfer, or sell any material
contained on the Web site without the prior consent of the copyright owner.
None of the material contained on {{ config('app.name') }} may be reverse-engineered, disassembled,
decompiled, transcribed, stored in a retrieval system, translated into any language or computer language,
retransmitted in any form or by any means (electronic, mechanical, photo reproduction, recordation or
otherwise), resold or redistributed without the prior written consent of {{ config('app.name') }}.
Violation of this provision may result in severe civil and criminal penalties.
<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) }}
@endforeach
</textarea>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Dashboard'))
@section('title', trans('frontend.global.dashboard'))
@section('content')
<div class="row">
@@ -14,7 +14,7 @@
<i class="fas fa-plane icon"></i>
</div>
<h3 class="header">{{ $user->flights }}</h3>
<h5 class="description">{{ __trans_choice('Flight', $user->flights) }}</h5>
<h5 class="description">{{ trans_choice('frontend.global.flight', $user->flights) }}</h5>
</div>
</div>
</div>
@@ -26,7 +26,7 @@
<i class="far fa-clock icon"></i>
</div>
<h3 class="header">{{ \App\Facades\Utils::minutesToTimeString($user->flight_time, false)}}</h3>
<h5 class="description">{{ __('Total Hours') }}</h5>
<h5 class="description">@lang('frontend.dashboard.totalhours')</h5>
</div>
</div>
</div>
@@ -37,7 +37,7 @@
<i class="fas fa-money-bill-alt icon"></i>
</div>
<h3 class="header">{{ $user->journal->balance }}</h3>
<h5 class="description">{{ __('Your Balance') }}</h5>
<h5 class="description">@lang('frontend.dashboard.yourbalance')</h5>
</div>
</div>
</div>
@@ -53,7 +53,7 @@
@else
<h3 class="header">{{ $user->home_airport_id }}</h3>
@endif
<h5 class="description">{{ __('Current Airport') }}</h5>
<h5 class="description">@lang('frontend.global.currentairport')</h5>
</div>
</div>
</div>
@@ -62,11 +62,11 @@
<div class="card">
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
{{ __('Your Last Report') }}
@lang('frontend.dashboard.yourlastreport')
</div>
@if($last_pirep === null)
<div class="card-block" style="text-align:center;">
{{ __('No reports yet.') }} <a href="{{ route('frontend.pireps.create') }}">{{ __('File one now.') }}</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;">
{{ __('Weather at :ICAO', ['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;">
{{ __('Recent Reports') }}
@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;">
{{ __('Newest Pilots') }}
@lang('frontend.global.newestpilots')
</div>
<div class="card-block">
<!-- Tab panes -->

View File

@@ -1,15 +1,15 @@
@extends('app')
@section('title', __trans_choice('Download', 2))
@section('title', trans_choice('frontend.global.download', 2))
@section('content')
@include('flash::message')
<div class="row">
<div class="row-sm-12">
<h2>{{ __trans_choice('Download', 2) }}</h2>
<h2>{{ trans_choice('frontend.global.download', 2) }}</h2>
</div>
</div>
@if(!$grouped_files || \count($grouped_files) === 0)
<div class="jumbotron text-center">{{ __('There are no downloads!') }}</div>
<div class="jumbotron text-center">@lang('frontend.downloads.nodownloads')</div>
@else
@foreach($grouped_files as $group => $files)
<div class="row" style="margin-bottom: 40px;">

View File

@@ -9,7 +9,7 @@
@if($file->description)
- {{$file->description}}
@endif
<span style="margin-left: 20px">{{ $file->download_count.' '.__trans_choice('Download', $file->download_count) }}</span>
<span style="margin-left: 20px">{{ $file->download_count.' '.trans_choice('frontend.global.download', $file->download_count) }}</span>
</li>
@endforeach
</ul>

View File

@@ -12,7 +12,7 @@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('Close') }}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">@lang('frontend.global.close')</button>
</div>
</div>
</div>

View File

@@ -1,11 +1,11 @@
@extends('app')
@section('title', __trans_choice('Flight', 2))
@section('title', trans_choice('frontend.global.flight', 2))
@section('content')
<div class="row">
@include('flash::message')
<div class="col-md-9">
<h2>{{ $title ?? __trans_choice('Flight', 2) }}</h2>
<h2>{{ $title ?? trans_choice('frontend.global.flight', 2) }}</h2>
@include('flights.table')
</div>
<div class="col-md-3">

View File

@@ -1,7 +1,7 @@
<div class="card">
<div class="card-block" style="min-height: 0px">
<div class="form-group text-right">
<a href="{{ route('frontend.flights.bids') }}">{{ __trans_choice('My Bid', 2) }}</a>
<a href="{{ route('frontend.flights.bids') }}">{{ trans_choice('frontend.flights.mybid', 2) }}</a>
</div>
</div>
</div>

View File

@@ -26,11 +26,11 @@ $(document).ready(function () {
if(params.method === 'DELETE') {
console.log('successfully removed flight');
btn.removeClass(class_name);
alert('Your bid was removed');
alert('@lang("frontend.flights.bidremoved")');
} else {
console.log('successfully saved flight');
btn.addClass(class_name);
alert('Your bid was added');
alert('@lang("frontend.flights.bidadded")');
}
})
.catch(error => {

View File

@@ -1,4 +1,4 @@
<h3 class="description">{{ __('Search') }}</h3>
<h3 class="description">@lang('frontend.flights.search')</h3>
<div class="card pull-right">
<div class="card-block" style="min-height: 0px">
<div class="form-group">
@@ -8,23 +8,23 @@
'class'=>'form-inline'
]) }}
<div>
<p>{{ __('Flight Number') }}</p>
<p>@lang('frontend.global.flightnumber')</p>
{{ Form::text('flight_number', null, ['class' => 'form-control']) }}
</div>
<div style="margin-top: 10px;">
<p>{{ __('Departure Airport') }}</p>
<p>@lang('frontend.global.departureairport')</p>
{{ Form::select('dep_icao', $airports, null , ['class' => 'form-control']) }}
</div>
<div style="margin-top: 10px;">
<p>{{ __('Arrival Airport') }}</p>
<p>@lang('frontend.global.arrivalairport')</p>
{{ Form::select('arr_icao', $airports, null , ['class' => 'form-control']) }}
</div>
<div class="clear" style="margin-top: 10px;">
{{ Form::submit(__('Find'), ['class' => 'btn btn-primary']) }}&nbsp;
<a href="{{ route('frontend.flights.index') }}">{{ __('Reset') }}</a>
{{ Form::submit(trans('frontend.global.find'), ['class' => 'btn btn-primary']) }}&nbsp;
<a href="{{ route('frontend.flights.index') }}">@lang('frontend.global.reset')</a>
</div>
{{ Form::close() }}
</div>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __trans_choice('Flight', 1).' '.$flight->ident)
@section('title', trans_choice('frontend.global.flight', 1).' '.$flight->ident)
@section('content')
<div class="row">
@@ -13,7 +13,7 @@
<div class="col-12">
<table class="table">
<tr>
<td>{{ __('Departure') }}</td>
<td>@lang('frontend.global.departure')</td>
<td>
{{ $flight->dpt_airport->name }}
(<a href="{{route('frontend.airports.show', [
@@ -24,7 +24,7 @@
</tr>
<tr>
<td>{{ __('Arrival') }}</td>
<td>@lang('frontend.global.arrival')</td>
<td>
{{ $flight->arr_airport->name }}
(<a href="{{route('frontend.airports.show', [
@@ -34,21 +34,24 @@
</tr>
@if($flight->alt_airport_id)
<tr>
<td>{{ __('Alternate Airport') }}</td>
<td>@lang('frontend.flights.alternateairport')</td>
<td>
{{ $flight->alt_airport->full_name }}
{{ $flight->alt_airport->name }}
(<a href="{{route('frontend.airports.show', [
'id' => $flight->alt_airport->icao
])}}">{{$flight->alt_airport->icao}}</a>)
</td>
</tr>
@endif
<tr>
<td>{{ __('Route') }}</td>
<td>@lang('frontend.global.route')</td>
<td>{{ $flight->route }}</td>
</tr>
@if(filled($flight->notes))
<tr>
<td>{{ __('Notes') }}</td>
<td>{{ trans_choice('frontend.global.note', 2) }}</td>
<td>{{ $flight->notes }}</td>
</tr>
@endif
@@ -62,15 +65,22 @@
</div>
</div>
<div class="col-4">
<h5>{{$flight->dpt_airport_id}} METAR</h5>
<h5>{{$flight->dpt_airport_id}} @lang('frontend.global.metar')</h5>
{{ Widget::Weather([
'icao' => $flight->dpt_airport_id,
]) }}
<br />
<h5>{{$flight->arr_airport_id}} METAR</h5>
<h5>{{$flight->arr_airport_id}} @lang('frontend.global.metar')</h5>
{{ Widget::Weather([
'icao' => $flight->arr_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
</div>
</div>
@endsection

View File

@@ -24,7 +24,7 @@
x-id="{{ $flight->id }}"
x-saved-class="btn-info"
type="button"
title="{{ __('Add/Remove Bid') }}"
title="@lang('frontend.flights.addremovebid')"
>
<i class="fas fa-map-marker"></i>
</button>
@@ -34,14 +34,14 @@
<div class="row">
<div class="col-sm-5">
{{--<table class="table-condensed"></table>--}}
<span class="title">{{ __('DEP') }}&nbsp;</span>
<span class="title">{{ strtoupper(trans('frontend.flights.dep')) }}&nbsp;</span>
{{ $flight->dpt_airport->name }}
(<a href="{{route('frontend.airports.show', [
'id' => $flight->dpt_airport->icao
])}}">{{$flight->dpt_airport->icao}}</a>)
@if($flight->dpt_time), {{ $flight->dpt_time }}@endif
<br />
<span class="title">{{ __('ARR') }}&nbsp;</span>
<span class="title">{{ strtoupper(trans('frontend.flights.arr')) }}&nbsp;</span>
{{ $flight->arr_airport->name }}
(<a href="{{route('frontend.airports.show', [
'id' => $flight->arr_airport->icao
@@ -49,19 +49,19 @@
@if($flight->arr_time), {{ $flight->arr_time }}@endif
<br />
@if($flight->distance)
<span class="title">{{ __('DISTANCE') }}&nbsp;</span>
<span class="title">{{ strtoupper(trans('frontend.global.distance')) }}&nbsp;</span>
{{ $flight->distance }} {{ setting('units.distance') }}
@endif
<br />
@if($flight->level)
<span class="title">{{ __('LEVEL') }}&nbsp;</span>
<span class="title">{{ strtoupper(trans('frontend.flights.level')) }}&nbsp;</span>
{{ $flight->level }} {{ setting('units.altitude') }}
@endif
</div>
<div class="col-sm-7">
<div class="row">
<div class="col-sm-12">
<span class="title">{{ __('ROUTE') }}&nbsp;</span>
<span class="title">{{ strtoupper(trans('frontend.global.route')) }}&nbsp;</span>
{{ $flight->route }}
</div>
</div>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Welcome!'))
@section('title', trans('frontend.home.welcome.title'))
@section('content')
<div class="row">
@@ -7,14 +7,14 @@
</div>
</div>
<div class="row">
<div class="col-sm-12">
<center><h1 class="description">{{ __('Welcome Message') }}</h1></center>
<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>
<div class="col-sm-9">
<img src="{{ public_asset('/assets/img/Airplane.jpg') }}" style=""/>
</div>
<div class="col-sm-3 ">
<h2 class="description">{{ __('Newest Pilots') }}</h2>
<h2 class="description">@lang('frontend.global.newestpilots')</h2>
@foreach($users as $user)
<div class="card card-signup blue-bg">
{{--<div class="card-bg">--}}
@@ -43,7 +43,7 @@
</div>
</div>
<div class="footer text-center">
<a href="{{ route('frontend.profile.show', ['id' => $user->id]) }}" class="btn btn-neutral btn-sm">{{ __('Profile') }}</a>
<a href="{{ route('frontend.profile.show', ['id' => $user->id]) }}" class="btn btn-neutral btn-sm">@lang('frontend.global.profile')</a>
</div>
</div>
@endforeach

View File

@@ -3,7 +3,7 @@
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.dashboard.index') }}">
<i class="fas fa-tachometer-alt"></i>
<p>{{ __('Dashboard') }}</p>
<p>@lang('frontend.global.dashboard')</p>
</a>
</li>
@endif
@@ -11,14 +11,14 @@
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.livemap.index') }}">
<i class="fas fa-globe"></i>
<p>{{ __('Live Map') }}</p>
<p>@lang('frontend.global.livemap')</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.pilots.index') }}">
<i class="fas fa-users"></i>
<p>{{ __trans_choice('Pilot', 2) }}</p>
<p>{{ trans_choice('frontend.global.pilot', 2) }}</p>
</a>
</li>
@@ -27,7 +27,7 @@
<li class="nav-item">
<a class="nav-link" href="{{ url($link['url']) }}">
<i class="{{ $link['icon'] }}"></i>
<p>{{ __($link['title']) }}</p>
<p>{{ ($link['title']) }}</p>
</a>
</li>
@endforeach
@@ -36,13 +36,13 @@
<li class="nav-item">
<a class="nav-link" href="{{ url('/login') }}">
<i class="fas fa-sign-in-alt"></i>
<p>{{ __('Login') }}</p>
<p>@lang('frontend.nav.login')</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url('/register') }}">
<i class="far fa-id-card"></i>
<p>{{ __('Register') }}</p>
<p>@lang('frontend.global.register')</p>
</a>
</li>
@@ -51,25 +51,25 @@
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.flights.index') }}">
<i class="fab fa-avianex"></i>
<p>{{ __trans_choice('Flight', 2) }}</p>
<p>{{ trans_choice('frontend.global.flight', 2) }}</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.pireps.index') }}">
<i class="fas fa-cloud-upload-alt"></i>
<p>{{ __trans_choice('PIREP', 2) }}</p>
<p>{{ trans_choice('frontend.global.pirep', 2) }}</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.profile.index') }}">
<i class="far fa-user"></i>
<p>{{ __('Profile') }}</p>
<p>@lang('frontend.global.profile')</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ route('frontend.downloads.index') }}">
<i class="fas fa-download"></i>
<p>{{ __trans_choice('Download', 2) }}</p>
<p>{{ trans_choice('frontend.global.download', 2) }}</p>
</a>
</li>
@@ -77,7 +77,7 @@
<li class="nav-item">
<a class="nav-link" href="{{ url('/admin') }}">
<i class="fas fa-circle-notch"></i>
<p>{{ __('Administration') }}</p>
<p>@lang('frontend.nav.administration')</p>
</a>
</li>
@endrole
@@ -87,7 +87,7 @@
<li class="nav-item">
<a class="nav-link" href="{{ url($link['url']) }}">
<i class="{{ $link['icon'] }}"></i>
<p>{{ __($link['title']) }}</p>
<p>{{ ($link['title']) }}</p>
</a>
</li>
@endforeach
@@ -95,7 +95,7 @@
<li class="nav-item">
<a class="nav-link" href="{{ url('/logout') }}">
<i class="fas fa-sign-out-alt"></i>
<p>{{ __('Log Out') }}</p>
<p>@lang('frontend.nav.logout')</p>
</a>
</li>
@endif

View File

@@ -1,10 +1,10 @@
@extends('app')
@section('title', __('File Flight Report'))
@section('title', trans('frontend.pireps.fileflightreport'))
@section('content')
<div class="row">
<div class="col-md-12">
<h2>{{ __('New Flight Report') }}</h2>
<h2>@lang('frontend.pireps.newflightreport')</h2>
@include('flash::message')
{{ Form::open(['route' => 'frontend.pireps.store']) }}

View File

@@ -1,9 +1,9 @@
@extends('app')
@section('title', __('Edit Flight Report'))
@section('title', trans('frontend.pireps.editflightreport'))
@section('content')
<div class="row">
<div class="col-md-12">
<h2>{{ __('Edit Flight Report') }}</h2>
<h2>@lang('frontend.pireps.editflightreport')</h2>
@include('flash::message')
{{ Form::model($pirep, [
'route' => ['frontend.pireps.update', $pirep->id],

View File

@@ -1,7 +1,7 @@
@if($aircraft)
<div class="form-container">
<h6><i class="fas fa-ellipsis-h"></i>
&nbsp;{{ __('Fare', 2) }}
&nbsp;{{ trans_coice('frontend.pireps.fare', 2) }}
</h6>
<div class="form-container-body">
@foreach($aircraft->subfleet->fares as $fare)

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')
{{ __('Once a PIREP has been accepted/rejected, certain fields go into read-only mode.') }}
@lang('frontend.pireps.fieldsreadonly')
@endcomponent
</div>
</div>
@@ -21,12 +21,12 @@ flight reports that have been filed. You've been warned!
<div class="col-8">
<div class="form-container">
<h6><i class="fas fa-info-circle"></i>
&nbsp;{{ __('Flight Informations') }}
&nbsp;@lang('frontend.pireps.flightinformations')
</h6>
<div class="form-container-body">
<div class="row">
<div class="col-sm-4">
{{ Form::label('airline_id', __('Airline')) }}
{{ Form::label('airline_id', trans('frontend.global.airline')) }}
@if(!empty($pirep) && $pirep->read_only)
<p>{{ $pirep->airline->name }}</p>
{{ Form::hidden('airline_id') }}
@@ -42,7 +42,7 @@ flight reports that have been filed. You've been warned!
@endif
</div>
<div class="col-sm-4">
{{ Form::label('flight_number', __('Flight Number/Code/Leg')) }}
{{ Form::label('flight_number', trans('frontend.pireps.flightident')) }}
@if(!empty($pirep) && $pirep->read_only)
<p>{{ $pirep->ident }}
{{ Form::hidden('flight_number') }}
@@ -52,19 +52,19 @@ flight reports that have been filed. You've been warned!
@else
<div class="input-group input-group-sm mb3">
{{ Form::text('flight_number', null, [
'placeholder' => __('Flight Number'),
'placeholder' => trans('frontend.global.flightnumber'),
'class' => 'form-control',
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
&nbsp;
{{ Form::text('route_code', null, [
'placeholder' => __('Code (optional)'),
'placeholder' => trans('frontend.pireps.codeoptional'),
'class' => 'form-control',
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
&nbsp;
{{ Form::text('route_leg', null, [
'placeholder' => __('Leg (optional)'),
'placeholder' => trans('frontend.pireps.legoptional'),
'class' => 'form-control',
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
@@ -75,7 +75,7 @@ flight reports that have been filed. You've been warned!
@endif
</div>
<div class="col-lg-4">
{{ Form::label('flight_type', __('Flight Type')) }}
{{ Form::label('flight_type', trans('frontend.pireps.flighttype')) }}
@if(!empty($pirep) && $pirep->read_only)
<p>{{ \App\Models\Enums\FlightType::label($pirep->flight_type) }}</p>
{{ Form::hidden('flight_type') }}
@@ -96,10 +96,10 @@ flight reports that have been filed. You've been warned!
<div class="row">
<div class="col-3">
{{ Form::label('hours', __('Flight Time')) }}
{{ Form::label('hours', trans('frontend.global.flighttime')) }}
@if(!empty($pirep) && $pirep->read_only)
<p>
{{ $pirep->hours.' '.__trans_choice('Hour', $pirep->hours) }}, {{ $pirep->minutes.' '.__trans_choice('Minute', $pirep->minutes) }}
{{ $pirep->hours.' '.trans_choice('frontend.global.hour', $pirep->hours) }}, {{ $pirep->minutes.' '.trans_choice('frontend.global.minute', $pirep->minutes) }}
{{ Form::hidden('hours') }}
{{ Form::hidden('minutes') }}
</p>
@@ -107,14 +107,14 @@ flight reports that have been filed. You've been warned!
<div class="input-group input-group-sm" style="max-width: 200px;">
{{ Form::number('hours', null, [
'class' => 'form-control',
'placeholder' => __trans_choice('Hour', 2),
'placeholder' => trans_choice('frontend.global.hour', 2),
'min' => '0',
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
{{ Form::number('minutes', null, [
'class' => 'form-control',
'placeholder' => __trans_choice('Minute', 2),
'placeholder' => trans_choice('frontend.global.minute', 2),
'min' => 0,
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
@@ -126,27 +126,27 @@ flight reports that have been filed. You've been warned!
<div class="col-3">
{{--{{ Form::label('submitted_date', __('Date Flown')) }}
{{--{{ Form::label('submitted_date', trans('frontend.pireps.dateflown')) }}
{{ Form::text('submmitted_date', null, [
'placeholder' => __('Departure Date'),
'placeholder' => trans('frontend.pireps.departuredate'),
'class' => 'form-control',
'readonly' => $pirep->read_only]) }}--}}
</div>
<div class="col-3">
{{--{{ Form::label('departure_time', __('Departure Time')) }}
{{--{{ Form::label('departure_time', trans('frontend.pireps.departuretime')) }}
{{ Form::text('departure_time', null, [
'placeholder' => __('Departure TIme'),
'placeholder' => trans('frontend.pireps.departuretime'),
'class' => 'form-control',
'readonly' => $pirep->read_only]) }}--}}
</div>
<div class="col-3">
{{--{{ Form::label('arrival_time', __('Arrival Time')) }}
{{--{{ Form::label('arrival_time', trans('frontend.pireps.arrivaltime')) }}
{{ Form::text('arrival_time', null, [
'placeholder' => __('Arrival TIme'),
'placeholder' => trans('frontend.pireps.arrivaltime'),
'class' => 'form-control',
'readonly' => $pirep->read_only]) }}--}}
</div>
@@ -158,12 +158,12 @@ flight reports that have been filed. You've been warned!
<div class="form-container">
<h6><i class="fas fa-globe"></i>
&nbsp;{{ __('Departure/Arrival Informations') }}
&nbsp;@lang('frontend.pireps.deparrinformations')
</h6>
<div class="form-container-body">
<div class="row">
<div class="col-6">
{{ Form::label('dpt_airport_id', __('Departure Airport')) }}
{{ Form::label('dpt_airport_id', trans('frontend.global.departureairport')) }}
@if(!empty($pirep) && $pirep->read_only)
{{ $pirep->dpt_airport->name }}
(<a href="{{route('frontend.airports.show', [
@@ -183,7 +183,7 @@ flight reports that have been filed. You've been warned!
</div>
<div class="col-6">
{{ Form::label('arr_airport_id', __('Arrival Airport')) }}
{{ Form::label('arr_airport_id', trans('frontend.global.arrivalairport')) }}
@if(!empty($pirep) && $pirep->read_only)
{{ $pirep->arr_airport->name }}
(<a href="{{route('frontend.airports.show', [
@@ -207,12 +207,12 @@ flight reports that have been filed. You've been warned!
<div class="form-container">
<h6><i class="fab fa-avianex"></i>
&nbsp;{{ __('Aircraft Informations') }}
&nbsp;@lang('frontend.pireps.aircraftinformations')
</h6>
<div class="form-container-body">
<div class="row">
<div class="col">
{{ Form::label('aircraft_id', __('Aircraft')) }}
{{ Form::label('aircraft_id', trans('frontend.global.aircraft')) }}
@if(!empty($pirep) && $pirep->read_only)
<p>{{ $pirep->aircraft->name }}</p>
{{ Form::hidden('aircraft_id') }}
@@ -234,13 +234,13 @@ flight reports that have been filed. You've been warned!
<div class="form-container">
<h6><i class="far fa-comments"></i>
&nbsp;{{ __('Route') }}
&nbsp;@lang('frontend.global.route')
</h6>
<div class="form-container-body">
<div class="row">
<div class="col">
<div class="input-group input-group-sm form-group">
{{ Form::textarea('route', null, ['class' => 'form-control', 'placeholder' => __('Route')]) }}
{{ Form::textarea('route', null, ['class' => 'form-control', 'placeholder' => trans('frontend.global.route')]) }}
<p class="text-danger">{{ $errors->first('route') }}</p>
</div>
</div>
@@ -250,13 +250,13 @@ flight reports that have been filed. You've been warned!
<div class="form-container">
<h6><i class="far fa-comments"></i>
&nbsp;{{ __('Remarks') }}
&nbsp;{{ trans_choice('frontend.global.remark', 2) }}
</h6>
<div class="form-container-body">
<div class="row">
<div class="col">
<div class="input-group input-group-sm form-group">
{{ Form::textarea('notes', null, ['class' => 'form-control', 'placeholder' => __('Notes')]) }}
{{ Form::textarea('notes', null, ['class' => 'form-control', 'placeholder' => trans_choice('frontend.global.note', 2)]) }}
<p class="text-danger">{{ $errors->first('notes') }}</p>
</div>
</div>
@@ -269,7 +269,7 @@ flight reports that have been filed. You've been warned!
<div class="form-container">
<h6><i class="fab fa-wpforms"></i>
&nbsp;{{ __trans_choice('Field', 2) }}
&nbsp;{{ trans_choice('frontend.global.field', 2) }}
</h6>
<div class="form-container-body">
@@ -310,7 +310,7 @@ flight reports that have been filed. You've been warned!
<div class="form-group">
@if(isset($pirep) && !$pirep->read_only)
{{ Form::button(__('Delete PIREP'), [
{{ Form::button(trans('frontend.pireps.deletepirep'), [
'name' => 'submit',
'value' => 'Delete',
'class' => 'btn btn-warning',
@@ -319,14 +319,14 @@ flight reports that have been filed. You've been warned!
@endif
@if(!isset($pirep) || (filled($pirep) && !$pirep->read_only))
{{ Form::button(__('Save PIREP'), [
{{ Form::button(trans('frontend.pireps.savepirep'), [
'name' => 'submit',
'value' => 'Save',
'class' => 'btn btn-info',
'type' => 'submit'])
}}
{{ Form::button(__('Submit PIREP'), [
{{ Form::button(trans('frontend.pireps.submitpirep'), [
'name' => 'submit',
'value' => 'Submit',
'class' => 'btn btn-success',

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __trans_choice('PIREP', 2))
@section('title', trans_choice('frontend.global.pirep', 2))
@section('content')
<div class="row">
@@ -7,9 +7,9 @@
<div style="float:right;">
<a class="btn btn-info pull-right btn-lg"
style="margin-top: -10px;margin-bottom: 5px"
href="{{ route('frontend.pireps.create') }}">{{ __('File New PIREP') }}</a>
href="{{ route('frontend.pireps.create') }}">@lang('frontend.pireps.filenewpirep')</a>
</div>
<h2>{{ __trans_choice('Pilot Report', 2) }}</h2>
<h2>{{ trans_choice('frontend.pireps.pilotreport', 2) }}</h2>
@include('flash::message')
@include('pireps.table')
</div>

View File

@@ -5,7 +5,7 @@
<p class="float-right">
<a href="{{ route('frontend.pireps.edit', [
'id' => $pirep->id,
]) }}" class="btn btn-sm btn-info">{{ __('Edit') }}</a>
]) }}" class="btn btn-sm btn-info">@lang('frontend.global.edit') }}</a>
</p>
<h5>
<a href="{{ route('frontend.pireps.show', [$pirep->id]) }}">
@@ -41,22 +41,22 @@
<div class="col-sm-6">
<table class="table-condensed" width="100%">
<tr>
<td nowrap><span class="title">{{ __('Flight Time') }}&nbsp;</span></td>
<td nowrap><span class="title">@lang('frontend.pireps.flighttime')&nbsp;</span></td>
<td>{{ Utils::minutesToTimeString($pirep->flight_time) }}</td>
</tr>
<tr>
<td nowrap><span class="title">{{ __('Aircraft') }}&nbsp;</span></td>
<td nowrap><span class="title">@lang('frontend.global.aircraft')&nbsp;</span></td>
<td>{{ $pirep->aircraft->name }}
({{ $pirep->aircraft->registration }})</td>
</tr>
@if($pirep->level)
<tr>
<td nowrap><span class="title">{{ __('Flight Level') }}&nbsp;</span></td>
<td nowrap><span class="title">@lang('frontend.pireps.flightlevel') }}&nbsp;</span></td>
<td>{{ $pirep->level }}</td>
</tr>
@endif
<tr>
<td nowrap><span class="title">{{ __('Filed On') }}:&nbsp;</span></td>
<td nowrap><span class="title">@lang('frontend.pireps.filedon'):&nbsp;</span></td>
<td>{{ show_datetime($pirep->created_at) }}</td>
</tr>
</table>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __trans_choice('PIREP', 1).' '.$pirep->ident)
@section('title', trans_choice('frontend.global.pirep', 1).' '.$pirep->ident)
@section('content')
<div class="row">
@@ -12,7 +12,7 @@
@if($pirep->state === PirepState::IN_PROGRESS)
@else
__('Arrived') {{$pirep->created_at->diffForHumans()}}
@lang('frontend.pireps.arrived') {{$pirep->created_at->diffForHumans()}}
@endif
</p>
</p>
@@ -89,20 +89,20 @@
action="{{ route('frontend.pireps.edit', ['id' => $pirep->id]) }}"
style="display: inline">
@csrf
<button class="btn btn-info">{{ __('Edit') }}</button>
<button class="btn btn-info">@lang('frontend.global.edit')</button>
</form>
&nbsp;
<form method="post"
action="{{ route('frontend.pireps.submit', ['id' => $pirep->id]) }}"
style="display: inline">
@csrf
<button class="btn btn-success">{{ __('Submit') }}</button>
<button class="btn btn-success">@lang('frontend.global.submit')</button>
</form>
</div>
@endif
<table class="table table-striped">
<tr>
<td width="30%">{{ __('Status') }}</td>
<td width="30%">@lang('frontend.global.status')</td>
<td>
<div class="badge badge-info">
{{ PirepStatus::label($pirep->status) }}
@@ -111,31 +111,31 @@
</tr>
<tr>
<td>{{ __('Source') }}</td>
<td>@lang('frontend.pireps.source')</td>
<td>{{ PirepSource::label($pirep->source) }}</td>
</tr>
<tr>
<td>{{ __('Flight Type') }}</td>
<td>@lang('frontend.pireps.flighttype')</td>
<td>{{ \App\Models\Enums\FlightType::label($pirep->flight_type) }}</td>
</tr>
<tr>
<td>{{ __('Filed Route') }}</td>
<td>@lang('frontend.pireps.filedroute')</td>
<td>
{{ $pirep->route }}
</td>
</tr>
<tr>
<td>{{ __('Notes') }}</td>
<td>{{ trans_choice('frontend.global.note', 2) }}</td>
<td>
{{ $pirep->notes }}
</td>
</tr>
<tr>
<td>{{ __('Filed On') }}</td>
<td>@lang('frontend.pireps.filedon')</td>
<td>
{{ show_datetime($pirep->created_at) }}
</td>
@@ -148,11 +148,11 @@
@endif
@if(count($pirep->fields) > 0)
<h5>{{ __trans_choice('Field', 2) }}</h5>
<h5>{{ trans_choice('frontend.global.field', 2) }}</h5>
<table class="table table-hover table-condensed">
<thead>
<th>{{ __('Name') }}</th>
<th>{{ __('Value') }}</th>
<th>@lang('frontend.global.name')</th>
<th>@lang('frontend.global.value')</th>
</thead>
<tbody>
@foreach($pirep->fields as $field)
@@ -175,11 +175,11 @@
@if(count($pirep->fares) > 0)
<div class="row">
<div class="col-12">
<h5>{{ __trans_choice('Fare', 2) }}</h5>
<h5>{{ trans_choice('frontend.pireps.fare', 2) }}</h5>
<table class="table table-hover table-condensed">
<thead>
<th>{{ __('Class') }}</th>
<th>{{ __('Count') }}</th>
<th>@lang('frontend.pireps.class')</th>
<th>@lang('frontend.pireps.count')</th>
</thead>
<tbody>
@foreach($pirep->fares as $fare)
@@ -200,7 +200,7 @@
<div class="separator"></div>
<div class="row">
<div class="col-12">
<h5>{{ __('Flight Log') }}</h5>
<h5>@lang('frontend.pireps.flightlog')</h5>
</div>
<div class="col-12">
<table class="table table-hover table-condensed" id="users-table">

View File

@@ -3,13 +3,13 @@
<table class="table table-condensed table-hover">
<thead>
<tr>
<th>{{ __trans_choice('Flight', 1) }}</th>
<th>{{ __('Departure') }}</th>
<th>{{ __('Arrival') }}</th>
<th>{{ __('Aircraft') }}</th>
<th class="text-center">{{ __('Flight Time') }}</th>
<th class="text-center">{{ __('Status') }}</th>
<th>{{ __('Submitted') }}</th>
<th>{{ trans_choice('frontend.global.flight', 1) }}</th>
<th>@lang('frontend.global.departure')</th>
<th>@lang('frontend.global.arrival')</th>
<th>@lang('frontend.global.aircraft')</th>
<th class="text-center">@lang('frontend.global.flighttime')</th>
<th class="text-center">@lang('frontend.global.status')</th>
<th>@lang('frontend.pireps.submitted')</th>
<th></th>
</tr>
</thead>
@@ -58,7 +58,7 @@
@if(!$pirep->read_only)
<a href="{{ route('frontend.pireps.edit', [
'id' => $pirep->id,
]) }}">{{ __('Edit') }}</a>
]) }}">@lang('frontend.global.edit')</a>
@endif
</td>
</tr>

View File

@@ -1,10 +1,10 @@
@extends('app')
@section('title', __('Edit Profile'))
@section('title', trans('frontend.profile.editprofile'))
@section('content')
<div class="row">
<div class="col-md-12">
<h2 class="description">{{ __('Edit Your Profile') }}</h2>
<h2 class="description">@lang('frontend.profile.edityourprofile')</h2>
@include('flash::message')
{{ Form::model($user, ['route' => ['frontend.profile.update', $user->id], 'files' => true, 'method' => 'patch']) }}
@include("profile.fields")

View File

@@ -2,7 +2,7 @@
<div class="col-md-12">
<table class="table">
<tr>
<td>{{ __('Name') }}</td>
<td>@lang('frontend.global.name')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('name') ? ' has-danger' : '' }}">
{{ Form::text('name', null, ['class' => 'form-control']) }}
@@ -14,7 +14,7 @@
</tr>
<tr>
<td>{{ __('Email') }}</td>
<td>@lang('frontend.global.email')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('email') ? ' has-danger' : '' }}">
{{ Form::text('email', null, ['class' => 'form-control']) }}
@@ -26,7 +26,7 @@
</tr>
<tr>
<td>{{ __('Airline') }}</td>
<td>@lang('frontend.global.airline')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('airline') ? ' has-danger' : '' }}">
{{ Form::select('airline_id', $airlines, null , ['class' => 'form-control select2']) }}
@@ -38,7 +38,7 @@
</tr>
<tr>
<td>{{ __('Home Airport') }}</td>
<td>@lang('frontend.global.homeairport')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('home_airport_id') ? ' has-danger' : '' }}">
{{ Form::select('home_airport_id', $airports, null , ['class' => 'form-control select2']) }}
@@ -50,7 +50,7 @@
</tr>
<tr>
<td>{{ __('Country') }}</td>
<td>@lang('frontend.global.country')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('country') ? ' has-danger' : '' }}">
{{ Form::select('country', $countries, null, ['class' => 'form-control select2' ]) }}
@@ -62,7 +62,7 @@
</tr>
<tr>
<td>{{ __('Timezone') }}</td>
<td>@lang('frontend.global.timezone')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('timezone') ? ' has-danger' : '' }}">
{{ Form::select('timezone', $timezones, null, ['class' => 'form-control select2' ]) }}
@@ -74,8 +74,9 @@
</tr>
<tr>
<td>{{ __('Change Password') }}</td>
<td>@lang('frontend.profile.changepassword')</td>
<td>
<p>@lang('frontend.profile.newpassword'):</p>
<div class="input-group form-group-no-border{{ $errors->has('password') ? ' has-danger' : '' }}">
{{ Form::password('password', ['class' => 'form-control']) }}
</div>
@@ -83,7 +84,7 @@
<p class="text-danger">{{ $errors->first('password') }}</p>
@endif
<p>{{ __('Confirm Password') }}:</p>
<p>@lang('frontend.global.confirmpassword'):</p>
<div class="input-group form-group-no-border{{ $errors->has('password_confirmation') ? ' has-danger' : '' }}">
{{ Form::password('password_confirmation', ['class' => 'form-control']) }}
</div>
@@ -92,12 +93,12 @@
@endif
</td>
</tr>
<td>{{ __('Avatar') }}</td>
<td>@lang('frontend.profile.avatar')</td>
<td>
<div class="input-group form-group-no-border{{ $errors->has('avatar') ? ' has-danger' : '' }}">
{{ Form::file('avatar', null) }}
</div>
<p class="small">This avatar will be resized to {{ config('phpvms.avatar.width'). ' x '. config('phpvms.avatar.height') }}</p>
<p class="small">@lang('frontend.profile.avatarresize', ['width' => config('phpvms.avatar.width'), 'height' => config('phpvms.avatar.height')])</p>
@if ($errors->has('avatar'))
<p class="text-danger">{{ $errors->first('avatar') }}</p>
@endif
@@ -106,7 +107,7 @@
</table>
<div style="width: 100%; text-align: right; padding-top: 20px;">
{{ Form::submit(__('Update Profile'), ['class' => 'btn btn-primary']) }}
{{ Form::submit(trans('frontend.profile.updateprofile'), ['class' => 'btn btn-primary']) }}
</div>
</div>
</div>

View File

@@ -1,5 +1,5 @@
@extends('app')
@section('title', __('Profile'))
@section('title', trans('frontend.global.profile'))
@section('content')
<div class="row profile-page content-center text-color-dark-beige">
@@ -23,25 +23,25 @@
<div class="content">
<div class="social-description">
<h2>{{ $user->flights}}</h2>
<p>{{ __trans_choice('Flight', $user->flights) }}</p>
<p>{{ trans_choice('frontend.global.flight', $user->flights) }}</p>
</div>
<div class="social-description">
<h2>{{ \App\Facades\Utils::minutesToTimeString($user->flight_time, false) }}</h2>
<p>{{ __('Flight Hours') }}</p>
<p>@lang('frontend.profile.flighthours')</p>
</div>
@if($user->home_airport)
<div class="social-description">
<h2>{{ $user->home_airport->icao }}</h2>
<p>{{ __('Home Airport') }}</p>
<p>@lang('frontend.global.homeairport')</p>
</div>
@endif
@if($user->current_airport)
<div class="social-description">
<h2>{{ $user->current_airport->icao }}</h2>
<p>{{ __('Current Airport') }}</p>
<p>@lang('frontend.global.currentairport')</p>
</div>
@endif
@@ -58,24 +58,24 @@
<div class="col-sm-12">
<div class="text-right">
<a href="{{ route('frontend.profile.regen_apikey') }}" class="btn btn-warning"
onclick="return confirm({{ __('Are you sure? This will reset your API key.') }})">{{ __('New API Key') }}</a>
onclick="return confirm({{ __('Are you sure? This will reset your API key.') }})">@lang('frontend.profile.newapikey')</a>
&nbsp;
<a href="{{ route('frontend.profile.edit', ['id' => $user->id]) }}"
class="btn btn-primary">{{ __('Edit') }}</a>
class="btn btn-primary">@lang('frontend.global.edit')</a>
</div>
<h3 class="description">{{ __('Your Profile') }}</h3>
<h3 class="description">@lang('frontend.profile.yourprofile')</h3>
<table class="table table-full-width">
<tr>
<td>{{ __('Email') }}</td>
<td>@lang('frontend.global.email')</td>
<td>{{ $user->email }}</td>
</tr>
<tr>
<td>{{ __('API Key') }}&nbsp;&nbsp;<span class="description">({{ __('don\'t share this!') }})</span></td>
<td>@lang('frontend.profile.apikey')&nbsp;&nbsp;<span class="description">(@lang('frontend.profile.dontshare'))</span></td>
<td>{{ $user->api_key }}</td>
</tr>
<tr>
<td>{{ __('Timezone') }}</td>
<td>@lang('frontend.global.timezone')</td>
<td>{{ $user->timezone }}</td>
</tr>
</table>

View File

@@ -1,10 +1,10 @@
@extends('app')
@section('title', __trans_choice('Pilot', 2))
@section('title', trans_choice('frontend.global.pilot', 2))
@section('content')
<div class="row">
<div class="col-md-12">
<h2>{{ __trans_choice('Pilot', 2) }}</h2>
<h2>{{ trans_choice('frontend.global.pilot', 2) }}</h2>
@include('users.table')
</div>
</div>

View File

@@ -1,12 +1,12 @@
<table class="table table-hover" id="users-table">
<thead>
<th></th>
<th>{{ __('Name') }}</th>
<th>@lang('frontend.global.name')</th>
<th style="text-align: center"></th>
<th style="text-align: center">{{ __('Airline') }}</th>
<th style="text-align: center">{{ __('Location') }}</th>
<th style="text-align: center">{{ __trans_choice('Flight', 2) }}</th>
<th style="text-align: center">{{ __trans_choice('Hour', 2) }}</th>
<th style="text-align: center">@lang('frontend.global.airline')</th>
<th style="text-align: center">@lang('frontend.users.location')</th>
<th style="text-align: center">{{ trans_choice('frontend.global.flight', 2) }}</th>
<th style="text-align: center">{{ trans_choice('frontend.global.hour', 2) }}</th>
</thead>
<tbody>
@foreach($users as $user)

View File

@@ -1,11 +1,11 @@
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
{{ __('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;">
{{ __('No News Found') }}
@lang('frontend.widgets.latestnews.nonewsfound')
</div>
@endif

View File

@@ -37,22 +37,22 @@
</a>
</h3>
<p id="map_flight_info">
{ pirep.dpt_airport.name } ({ pirep.dpt_airport.icao }) {{ __('to') }}
{ pirep.dpt_airport.name } ({ pirep.dpt_airport.icao }) @lang('frontend.global.to')
{ pirep.arr_airport.name } ({ pirep.arr_airport.icao })
</p>
</div>
<div style="float: right; margin-left: 30px; margin-right: 30px;">
<p id="map_flight_stats_right">
{{ __('Ground Speed') }}: <span style="font-weight: bold">{ pirep.position.gs }</span><br/>
{{ __('Altitude') }}: <span style="font-weight: bold">{ pirep.position.altitude }</span><br/>
{{ __('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">
{{ __('Status') }}: <span style="font-weight: bold">{ pirep.status_text }</span><br />
{{ __('Flight Time') }}: <span style="font-weight: bold">{ pirep.flight_time | time_hm }</span><br />
{{ __('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>
@@ -74,18 +74,18 @@ and being mindful of the rivets bindings
--}}
<div id="live_flights" class="row">
<div class="col-md-12">
<div rv-hide="has_data" class="jumbotron text-center">{{ __('There are no flights.') }}</div>
<div rv-hide="has_data" class="jumbotron text-center">@lang('frontend.widgets.livemap.noflights')</div>
<table rv-show="has_data" id="live_flights_table" class="table table-striped">
<thead>
<tr class="text-small header">
<td class="text-small">{{ __trans_choice('Flight', 1) }}</td>
<td class="text-small">{{ __('Departure') }}</td>
<td class="text-small">{{ __('Arrival') }}</td>
<td class="text-small">{{ __('Aircraft') }}</td>
<td class="text-small">{{ __('Altitude') }}</td>
<td class="text-small">{{ __('GS') }}</td>
<td class="text-small">{{ __('Distance') }}</td>
<td class="text-small">{{ __('Status') }}</td>
<td class="text-small">{{ trans_choice('frontend.global.Flight', 1) }}</td>
<td class="text-small">@lang('frontend.global.departure')</td>
<td class="text-small">@lang('frontend.global.arrival')</td>
<td class="text-small">@lang('frontend.global.aircraft')</td>
<td class="text-small">@lang('frontend.widgets.livemap.altitude')</td>
<td class="text-small">@lang('frontend.widgets.livemap.gs')</td>
<td class="text-small">@lang('frontend.widgets.livemap.distance')</td>
<td class="text-small">@lang('frontend.global.status') }}</td>
</tr>
</thead>
<tbody>

View File

@@ -5,30 +5,30 @@ https://api.checkwx.com/#metar-decoded
--}}
@if(!$metar)
<p>{{ __('METAR/TAF data could not be retrieved') }}</p>
<p>@lang('frontend.widgets.weather.metarnotretrieved')</p>
@else
<table class="table table-striped">
<tr>
<td>{{ __('Conditions') }}</td>
<td>@lang('frontend.widgets.weather.conditions')</td>
<td>
{{ $metar['category'] }}
{{ $metar['temperature'][$unit_temp] }}
°{{strtoupper($unit_temp)}}
@if($metar['visibility'])
, {{ __('visibility') }} {{ $metar['visibility'][$unit_dist] }} {{$unit_dist}}
, @lang('frontend.widgets.weather.visibility') {{ $metar['visibility'][$unit_dist] }} {{$unit_dist}}
@endif
@if($metar['humidity'])
, {{ $metar['humidity'] }}% {{ __('humidity') }}
, {{ $metar['humidity'] }}% @lang('frontend.widgets.weather.humidity')
@endif
@if($metar['dew_point'])
, {{ __('dew point') }}
, @lang('frontend.widgets.weather.dewpoint')
{{ $metar['dew_point'][$unit_temp] }}
°{{strtoupper($unit_temp)}}
@endif
</td>
</tr>
<tr>
<td>{{ __('Barometer') }}</td>
<td>@lang('frontend.widgets.weather.barometer')</td>
<td>
{{ number_format($metar['barometer'], 2) }} hPa
/ {{ number_format($metar['barometer_in'], 2) }} inHg
@@ -36,7 +36,7 @@ https://api.checkwx.com/#metar-decoded
</tr>
@if($metar['clouds'])
<tr>
<td>{{ __('Clouds') }}</td>
<td>@lang('frontend.widgets.weather.clouds')</td>
<td>
@if($unit_alt === 'ft')
{{$metar['clouds_report_ft']}}
@@ -47,17 +47,17 @@ https://api.checkwx.com/#metar-decoded
</tr>
@endif
<tr>
<td>{{ __('Wind') }}</td>
<td>@lang('frontend.widgets.weather.wind')</td>
<td>
{{$metar['wind_speed']}} kts {{ __('from') }} {{$metar['wind_direction_label']}}
{{$metar['wind_speed']}} kts @lang('frontend.global.from') {{$metar['wind_direction_label']}}
({{$metar['wind_direction']}}°)
@if($metar['wind_gust_speed'])
{{ __('gusts to').' '.$metar['wind_gust_speed'] }}
@lang('frontend.widgets.weather.guststo') {{ $metar['wind_gust_speed'] }}
@endif
</td>
</tr>
<tr>
<td>{{ __('METAR') }}</td>
<td>@lang('frontend.global.metar')</td>
<td>
<div style="line-height:1.5em;min-height: 3em;">
{{ $metar['raw'] }}
@@ -66,14 +66,14 @@ https://api.checkwx.com/#metar-decoded
</tr>
@if($metar['remarks'])
<tr>
<td>{{ __('Remarks') }}</td>
<td>@lang('frontend.widgets.weather.remarks')</td>
<td>
{{ $metar['remarks'] }}
</td>
</tr>
@endif
<tr>
<td>{{ __('Updated') }}</td>
<td>@lang('frontend.widgets.weather.updated')</td>
<td>{{$metar['observed_time']}} ({{$metar['observed_age']}})</td>
</tr>
</table>