Change months of subtitles from English to Portuguese. Update the percentage obtained from the captive cost and not from the free cost.

This commit is contained in:
Djonathan 2022-07-07 18:28:37 -03:00
parent 0c9d8467f2
commit c07de31547
10 changed files with 586 additions and 608 deletions

View File

@ -3,6 +3,7 @@
namespace App\Helpers;
use Carbon\Carbon;
use DateInterval;
use DatePeriod;
use DateTime;
@ -14,8 +15,7 @@ class Helpers
public static function uploadFiles($params, $field): ?string
{
$result = null;
if ($params->hasFile($field))
{
if ($params->hasFile($field)) {
$result = url('storage') . '/' . $params->file($field)->store('users');
}
return $result;
@ -23,7 +23,13 @@ class Helpers
public static function orderByDate($result, $field = 'mes'): array
{
return collect($result)->transform(fn($value) => Arr::set($value, $field, DateTime::createFromFormat('ym',$value['mes'])->format('m/Y')))->all();
return collect($result)
->transform(fn($value) => Arr::set(
$value,
$field,
Carbon::createFromFormat('ym', $value['mes'])
->translatedFormat('M/Y')))
->all();
}
public static function checkDate($value): array

View File

@ -77,7 +77,7 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot()
{
setlocale(LC_TIME, 'pt_BR');
Carbon::setlocale(LC_TIME, 'pt_BR');
setlocale(LC_TIME, config('app.locale'), 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set('America/Sao_Paulo');
}
}

View File

@ -4,8 +4,10 @@ declare(strict_types=1);
namespace App\Repositories\Economy;
use App\Helpers\Helpers;
use App\Models\Economy;
use App\Repositories\AbstractRepository;
use Carbon\Carbon;
use DateInterval;
use DatePeriod;
use Illuminate\Database\Eloquent\Builder;
@ -82,16 +84,17 @@ class EconomyRepository extends AbstractRepository implements EconomyContractInt
/* cativo x livre mensal*/
public function getCaptiveMonthlyEconomy($params): Collection|array
{
$field = [
DB::raw("TO_CHAR(TO_DATE(economia.mes, 'YYMM'), 'MM/YYYY') as mes"),
"economia.mes",
DB::raw("SUM(economia.custo_cativo)/1000 as custo_cativo"),
DB::raw("SUM(economia.custo_livre)/1000 as custo_livre"),
DB::raw("SUM(economia.economia_mensal)/1000 as economia_mensal"),
DB::raw("(SUM(economia_mensal)/SUM(custo_livre)) as econ_percentual"),
DB::raw("(SUM(economia_mensal)/SUM(custo_cativo)) as econ_percentual"),
"economia.dad_estimado"
];
return $this->execute($params, $field)
$result = $this->execute($params, $field)
->where('dados_cadastrais.codigo_scde', '!=', '0P')
->whereBetween(
DB::raw("TO_DATE(economia.mes, 'YYMM')"),
@ -104,6 +107,8 @@ class EconomyRepository extends AbstractRepository implements EconomyContractInt
->havingRaw("sum(custo_livre) > 0")
->orderBy(DB::raw("mes, dad_estimado"))
->get();
return Helpers::orderByDate($result);
}
/* Indicador de custo R$/MWh */

View File

@ -13,12 +13,12 @@
"laravel/sanctum": "^2.14.1",
"laravel/tinker": "^2.7",
"league/flysystem-aws-s3-v3": "^3.0",
"owen-it/laravel-auditing": "^13.0",
"umbrellio/laravel-pg-extensions": "^5.3"
"owen-it/laravel-auditing": "^13.0"
},
"require-dev": {
"fakerphp/faker": "^1.9.1",
"laravel/sail": "^1.14.2",
"lucascudo/laravel-pt-br-localization": "^1.2",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.10",

782
composer.lock generated

File diff suppressed because it is too large Load Diff

126
lang/pt-BR.json Normal file
View File

@ -0,0 +1,126 @@
{
"Name": "Nome",
"E-Mail Address": "E-mail",
"Password": "Senha",
"Confirm": "Confirmar",
"Confirm Password": "Confirmação de senha",
"Remember Me": "Manter conectado",
"Remember me": "Manter conectado",
"Forgot Your Password?": "Esqueceu sua senha?",
"Forgot your password?": "Esqueceu sua senha?",
"Already registered?": "Já registrado?",
"Login": "Entrar",
"Register": "Registre-se",
"Home": "Principal",
"Logout": "Sair",
"Toggle navigation": "Alternar navegação",
"Nevermind": "Deixa pra lá",
"Verify Your Email Address": "Verifique seu endereço de e-mail",
"A fresh verification link has been sent to your email address.": "Um novo link de verificação foi enviado para seu e-mail",
"Before proceeding, please check your email for a verification link.": "Antes de prosseguir, por favor, veja se recebeu o link de verificação em seu e-mail",
"If you did not receive the email": "Se você não recebeu o e-mail",
"click here to request another": "clique aqui para solicitar outro",
"Please click the button below to verify your email address.": "Clique no botão abaixo para verificar seu endereço de e-mail",
"Verify Email Address": "Verificar E-mail",
"If you did not create an account, no further action is required.": "Se você não criou a conta, favor desconsiderar este e-mail",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Se você estiver com problemas para clicar no botão \":actionText\", copie e cole o URL abaixo\nem seu navegador da web:",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser: [:displayableActionUrl](:actionURL)": "Se você estiver com problemas para clicar no botão \":actionText\", copie e cole o URL abaixo\nem seu navegador da web: [:displayableActionUrl](:actionURL)",
"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.": "Esqueceu sua senha? Sem problemas. Apenas informe seu endereço de e-mail que enviaremos um link que permitirá definir uma nova senha.",
"Send Password Reset Link": "Enviar link para redefinir senha",
"Email Password Reset Link": "Enviar link para redefinir senha por e-mail",
"Reset Password": "Modificar Senha",
"This is a secure area of the application. Please confirm your password before continuing.": "Essa é uma área segura da aplicação. Por favor confirme sua senha antes de continuar.",
"You are receiving this email because we received a password reset request for your account.": "Você está recebendo este e-mail porque recebemos uma solicitação de redefinição de senha para sua conta.",
"If you did not request a password reset, no further action is required.": "Se você não solicitou a redefinição de senha, nenhuma ação adicional será necessária.",
"This password reset link will expire in :count minutes.": "Este link de redefinição de senha expirará em :count minutos.",
"Please confirm your password before continuing.": "Por favor, confirme sua senha para continuar.",
"Hello!": "Olá!",
"Regards": "Saudações",
"Reset Password Notification": "Notificação de redefinição de senha",
"All rights reserved.": "Todos os direitos reservados.",
"The :attribute must be at least :length characters and contain at least one uppercase character.": "O campo :attribute deve ter pelo menos :length e conter pelo menos um caractere maiúsculo.",
"The :attribute must be at least :length characters and contain at least one number.": "O campo :attribute deve ter pelo menos :length caracteres e conter pelo menos um número.",
"The :attribute must be at least :length characters and contain at least one special character.": "O campo :attribute deve ter pelo menos :length caracteres e conter pelo menos um caractere especial.",
"The :attribute must be at least :length characters and contain at least one uppercase character and one number.": "O campo :attribute deve ter pelo menos :length caracteres e conter pelo menos um caractere maiúsculo e um número.",
"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.": "O campo :attribute deve ter pelo menos :length caracteres e conter pelo menos um caractere maiúsculo e um caractere especial.",
"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.": "O campo :attribute deve ter pelo menos :length caracteres e conter pelo menos um caractere maiúsculo, um número e um caractere especial.",
"The :attribute must be at least :length characters.": "O campo :attribute deve ter pelo menos :length caracteres.",
"You have been invited to join the :team team!": "Você foi convidado para entrar no time :team!",
"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:": "Caso não tenha uma conta, você pode criar uma usando o botão abaixo. Após criar a conta, você pode clicar no botão de aceitar convite nesse e-mail para aceitar o convite para o time",
"Create Account": "Criar Conta",
"If you already have an account, you may accept this invitation by clicking the button below:": "Se já tiver uma conta, você pode aceitar esse convite através do botão abaixo:",
"Accept Invitation": "Aceitar Convite",
"If you did not expect to receive an invitation to this team, you may discard this email.": "Se você não sabe porque está recebendo um convite para esse time, pode descartar esse e-mail",
"You are logged in!": "Você está logado!",
"Dashboard": "Painel de controle",
"The :attribute must contain at least one uppercase and one lowercase letter.": "O campo :attribute deve conter pelo menos uma letra maiúscula e uma letra minúscula.",
"The :attribute must contain at least one letter.": "O campo :attribute deve conter pelo menos uma letra.",
"The :attribute must contain at least one symbol.": "O campo :attribute deve conter pelo menos um símbolo.",
"The :attribute must contain at least one number.": "O campo :attribute deve conter pelo menos um número.",
"The given :attribute has appeared in a data leak. Please choose a different :attribute.": "A senha que você inseriu em :attribute está em um vazamento de dados. Por favor escolha uma senha diferente.",
"Delete Account": "Deletar Conta",
"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account." : "Você tem certeza que quer deletar essa conta? Uma vez que sua conta é deletada, todos os dados serão permanentemente deletados. Por favor, entre com a sua senha para confirmar que você quer deletar permanentemente sua conta.",
"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Depois que sua conta for excluída, todos os seus recursos e dados serão excluídos permanentemente. Antes de excluir sua conta, baixe todos os dados ou informações que deseja reter.",
"Permanently delete your account.": "Deleta permanentemente a sua conta.",
"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password." : "Se necessário, você pode sair de todas as outras sessões do navegador em todos os seus dispositivos. Algumas de suas sessões recentes estão listadas abaixo; no entanto, esta lista pode não ser exaustiva. Se você acha que sua conta foi comprometida, você também deve atualizar sua senha.",
"Browser Sessions": "Sessões do navegador",
"Manage and log out your active sessions on other browsers and devices.": "Gerencie e saia de suas sessões ativas em outros navegadores e dispositivos.",
"Update Password": "Atualizar a senha",
"Ensure your account is using a long, random password to stay secure.": "Certifique-se de que sua conta esteja usando uma senha longa e aleatória para permanecer segura.",
"Profile Information": "Informação do Perfil",
"Update your account's profile information and email address.": "Atualize as informações do perfil da sua conta e o endereço de e-mail.",
"Profile": "Perfil",
"Save": "Salvar",
"Current Password": "Senha Atual",
"New Password": "Nova Senha",
"Log Out Other Browser Sessions": "Sair de outras sessões do navegador",
"Log Out": "Sair" ,
"Log in": "Entrar" ,
"Manage Account": "Gerenciar Conta",
"Whoops! Something went wrong.": "Opa! Algo deu errado.",
"Showing": "Mostrando",
"to": "até",
"of": "de",
"results": "resultados",
"I agree to the :terms_of_service and :privacy_policy" : "Eu concordo com os :terms_of_service e com a :privacy_policy" ,
"Terms of Service" : "Termos do Serviço" ,
"Privacy Policy" : "Política de Privacidade" ,
"Permissions" : "Permissões" ,
"Created." : "Criado." ,
"Create" : "Criar" ,
"Manage API Tokens" : "Gerenciador de Tokens de API" ,
"Create API Token" : "Criar um Token de API" ,
"API tokens allow third-party services to authenticate with our application on your behalf." : "Tokens de API permitem que serviços de terceiros autentiquem-se sem precisar utilizar o login e senha do usuário. Pode-se criar um ou mais token de API e revogá-los a qualquer momento." ,
"You may delete any of your existing tokens if they are no longer needed." : "Você deve deletar os tokens sem utilização." ,
"Delete" : "Deletar" ,
"API Token" : "Token de API" ,
"Please copy your new API token. For your security, it won't be shown again." : "Por favor, copie o seu Token de API. Por motivo de segurança, ele não será mostrado novamente." ,
"Close" : "Fechar" ,
"API Token Permissions" : "Permissões do Token de API" ,
"Cancel" : "Cancelar" ,
"Are you sure you would like to delete this API token?" : "Você deseja gostaria de deletar o Token de API?" ,
"Delete API Token" : "Deletar o Token de API" ,
"Token Name" : "Nome do Token" ,
"Team Settings" : "Gerenciamento de Times" ,
"Create New Team" : "Criar um novo Time" ,
"Switch Teams" : "Mudar os Times" ,
"API Tokens" : "Tokens de API" ,
"Please confirm access to your account by entering the authentication code provided by your authenticator application." : "Por favor, confirme o acesso à sua conta digitando o código da autenticação provido pelo seu aplicativo autenticador." ,
"Please confirm access to your account by entering one of your emergency recovery codes." : "Por favor, confirme o acesso à sua conta digitando um de seu códigos de emergência." ,
"Code" : "Código" ,
"Recovery Code" : "Código Recuperado" ,
"Use a recovery code" : "Use o código recuperado" ,
"Use an authentication code" : "Use um código de autenticação" ,
"Resend Verification Email" : "Reenviar o e-mail de verificação" ,
"Two Factor Authentication" : "Autenticação de duas etapas" ,
"Add additional security to your account using two factor authentication." : "Adicione uma camada a mais de segurança para acessar sua conta usando autenticação de duas etapas." ,
"You have enabled two factor authentication." : "Você já habilitou a autenticação de duas etapas." ,
"You have not enabled two factor authentication." : "Você ainda não habilitou a autenticação de duas etapas." ,
"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application." : "Quando autenticação de duas etapas for habilitado, você será solicitado a fornecer um token seguro e aleatório durante a autenticação. Este código é gerado pelo aplicativo Google Authenticator no seu telefone." ,
"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application." : "A autenticação de duas etapas agora está habilitado. Escanei o QR CODE a seguir usando aplicativo Google Authenticator no seu telefone." ,
"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost." : "Armazene esses códigos de recuperação em um local seguro. Eles podem ser utilizados para recuperar o acesso à sua conta caso você perca o seu telefone." ,
"Enable" : "Habilitar" ,
"Regenerate Recovery Codes" : "Gerar novamente os códigos de recuperação" ,
"Show Recovery Codes" : "Mostrar os códigos de recuperação" ,
"Disable" : "Desabilitar"
}

20
lang/pt-BR/auth.php Normal file
View File

@ -0,0 +1,20 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used during authentication for various
| messages that we need to display to the user. You are free to modify
| these language lines according to your application's requirements.
|
*/
'failed' => 'Essas credenciais não foram encontradas em nossos registros.',
'password' => 'A senha informada está incorreta.',
'throttle' => 'Muitas tentativas de login. Tente novamente em :seconds segundos.',
];

19
lang/pt-BR/pagination.php Normal file
View File

@ -0,0 +1,19 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pagination Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the paginator library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'previous' => '&laquo; Anterior',
'next' => 'Próximo &raquo;',
];

23
lang/pt-BR/passwords.php Normal file
View File

@ -0,0 +1,23 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reset Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
'password' => 'A senha e a confirmação devem combinar e possuir pelo menos seis caracteres.',
'reset' => 'Sua senha foi redefinida!',
'sent' => 'Enviamos seu link de redefinição de senha por e-mail!',
'throttled' => 'Aguarde antes de tentar novamente.',
'token' => 'Este token de redefinição de senha é inválido.',
'user' => "Não encontramos um usuário com esse endereço de e-mail.",
];

191
lang/pt-BR/validation.php Normal file
View File

@ -0,0 +1,191 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => 'O campo :attribute deve ser aceito.',
'active_url' => 'O campo :attribute não é uma URL válida.',
'after' => 'O campo :attribute deve ser uma data posterior a :date.',
'after_or_equal' => 'O campo :attribute deve ser uma data posterior ou igual a :date.',
'alpha' => 'O campo :attribute só pode conter letras.',
'alpha_dash' => 'O campo :attribute só pode conter letras, números e traços.',
'alpha_num' => 'O campo :attribute só pode conter letras e números.',
'array' => 'O campo :attribute deve ser uma matriz.',
'before' => 'O campo :attribute deve ser uma data anterior :date.',
'before_or_equal' => 'O campo :attribute deve ser uma data anterior ou igual a :date.',
'between' => [
'numeric' => 'O campo :attribute deve ser entre :min e :max.',
'file' => 'O campo :attribute deve ser entre :min e :max kilobytes.',
'string' => 'O campo :attribute deve ser entre :min e :max caracteres.',
'array' => 'O campo :attribute deve ter entre :min e :max itens.',
],
'boolean' => 'O campo :attribute deve ser verdadeiro ou falso.',
'confirmed' => 'O campo :attribute de confirmação não confere.',
'date' => 'O campo :attribute não é uma data válida.',
'date_equals' => 'O campo :attribute deve ser uma data igual a :date.',
'date_format' => 'O campo :attribute não corresponde ao formato :format.',
'different' => 'Os campos :attribute e :other devem ser diferentes.',
'digits' => 'O campo :attribute deve ter :digits dígitos.',
'digits_between' => 'O campo :attribute deve ter entre :min e :max dígitos.',
'dimensions' => 'O campo :attribute tem dimensões de imagem inválidas.',
'distinct' => 'O campo :attribute campo tem um valor duplicado.',
'email' => 'O campo :attribute deve ser um endereço de e-mail válido.',
'ends_with' => 'O campo :attribute deve terminar com um dos seguintes: :values',
'exists' => 'O campo :attribute selecionado é inválido.',
'file' => 'O campo :attribute deve ser um arquivo.',
'filled' => 'O campo :attribute deve ter um valor.',
'gt' => [
'numeric' => 'O campo :attribute deve ser maior que :value.',
'file' => 'O campo :attribute deve ser maior que :value kilobytes.',
'string' => 'O campo :attribute deve ser maior que :value caracteres.',
'array' => 'O campo :attribute deve conter mais de :value itens.',
],
'gte' => [
'numeric' => 'O campo :attribute deve ser maior ou igual a :value.',
'file' => 'O campo :attribute deve ser maior ou igual a :value kilobytes.',
'string' => 'O campo :attribute deve ser maior ou igual a :value caracteres.',
'array' => 'O campo :attribute deve conter :value itens ou mais.',
],
'image' => 'O campo :attribute deve ser uma imagem.',
'in' => 'O campo :attribute selecionado é inválido.',
'in_array' => 'O campo :attribute não existe em :other.',
'integer' => 'O campo :attribute deve ser um número inteiro.',
'ip' => 'O campo :attribute deve ser um endereço de IP válido.',
'ipv4' => 'O campo :attribute deve ser um endereço IPv4 válido.',
'ipv6' => 'O campo :attribute deve ser um endereço IPv6 válido.',
'json' => 'O campo :attribute deve ser uma string JSON válida.',
'lt' => [
'numeric' => 'O campo :attribute deve ser menor que :value.',
'file' => 'O campo :attribute deve ser menor que :value kilobytes.',
'string' => 'O campo :attribute deve ser menor que :value caracteres.',
'array' => 'O campo :attribute deve conter menos de :value itens.',
],
'lte' => [
'numeric' => 'O campo :attribute deve ser menor ou igual a :value.',
'file' => 'O campo :attribute deve ser menor ou igual a :value kilobytes.',
'string' => 'O campo :attribute deve ser menor ou igual a :value caracteres.',
'array' => 'O campo :attribute não deve conter mais que :value itens.',
],
'max' => [
'numeric' => 'O campo :attribute não pode ser superior a :max.',
'file' => 'O campo :attribute não pode ser superior a :max kilobytes.',
'string' => 'O campo :attribute não pode ser superior a :max caracteres.',
'array' => 'O campo :attribute não pode ter mais do que :max itens.',
],
'mimes' => 'O campo :attribute deve ser um arquivo do tipo: :values.',
'mimetypes' => 'O campo :attribute deve ser um arquivo do tipo: :values.',
'min' => [
'numeric' => 'O campo :attribute deve ser pelo menos :min.',
'file' => 'O campo :attribute deve ter pelo menos :min kilobytes.',
'string' => 'O campo :attribute deve ter pelo menos :min caracteres.',
'array' => 'O campo :attribute deve ter pelo menos :min itens.',
],
'not_in' => 'O campo :attribute selecionado é inválido.',
'multiple_of' => 'O campo :attribute deve ser um múltiplo de :value.',
'not_regex' => 'O campo :attribute possui um formato inválido.',
'numeric' => 'O campo :attribute deve ser um número.',
'password' => 'A senha está incorreta.',
'present' => 'O campo :attribute deve estar presente.',
'regex' => 'O campo :attribute tem um formato inválido.',
'required' => 'O campo :attribute é obrigatório.',
'required_if' => 'O campo :attribute é obrigatório quando :other for :value.',
'required_unless' => 'O campo :attribute é obrigatório exceto quando :other for :values.',
'required_with' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_with_all' => 'O campo :attribute é obrigatório quando :values está presente.',
'required_without' => 'O campo :attribute é obrigatório quando :values não está presente.',
'required_without_all' => 'O campo :attribute é obrigatório quando nenhum dos :values estão presentes.',
'prohibited' => 'O campo :attribute é proibido.',
'prohibited_if' => 'O campo :attribute é proibido quando :other for :value.',
'prohibited_unless' => 'O campo :attribute é proibido exceto quando :other for :values.',
'same' => 'Os campos :attribute e :other devem corresponder.',
'size' => [
'numeric' => 'O campo :attribute deve ser :size.',
'file' => 'O campo :attribute deve ser :size kilobytes.',
'string' => 'O campo :attribute deve ser :size caracteres.',
'array' => 'O campo :attribute deve conter :size itens.',
],
'starts_with' => 'O campo :attribute deve começar com um dos seguintes valores: :values',
'string' => 'O campo :attribute deve ser uma string.',
'timezone' => 'O campo :attribute deve ser uma zona válida.',
'unique' => 'O campo :attribute já está sendo utilizado.',
'uploaded' => 'Ocorreu uma falha no upload do campo :attribute.',
'url' => 'O campo :attribute tem um formato inválido.',
'uuid' => 'O campo :attribute deve ser um UUID válido.',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap our attribute placeholder
| with something more reader friendly such as "E-Mail Address" instead
| of "email". This simply helps us make our message more expressive.
|
*/
'attributes' => [
'address' => 'endereço',
'age' => 'idade',
'body' => 'conteúdo',
'cell' => 'celular',
'city' => 'cidade',
'country' => 'país',
'date' => 'data',
'day' => 'dia',
'excerpt' => 'resumo',
'first_name'=> 'primeiro nome',
'gender' => 'gênero',
'hour' => 'hora',
'last_name' => 'sobrenome',
'message' => 'mensagem',
'minute' => 'minuto',
'mobile' => 'celular',
'month' => 'mês',
'name' => 'nome',
'neighborhood' => 'bairro',
'number' => 'número',
'password' => 'senha',
'phone' => 'telefone',
'second' => 'segundo',
'sex' => 'sexo',
'state' => 'estado',
'street' => 'rua',
'subject' => 'assunto',
'text' => 'texto',
'time' => 'hora',
'title' => 'título',
'username' => 'usuário',
'year' => 'ano',
'description' => 'descrição',
'password_confirmation' => 'confirmação da senha',
'current_password' => 'senha atual',
],
];