Fernando Rafs Postado Julho 12, 2017 Compartilhar Postado Julho 12, 2017 Para quem deseja traduzir o sidebar Ticket Recentes e Informações do Ticket, como também traduzir o sidebar de Notícias por Mês (vai fazer mais de 1 Ano que a WHMCS ficou de arrumar a tradução deste sidebar e nunca o fez), seguem abaixo as personalizações. As correções abaixo foram baseados no Template SIX e Última Versão do WHMCS, mas poderá ser adaptado para o seu template facilmente. Sidebar Notícias (Por Mês) e Sidebar Tickets Recentes: Segue o arquivo /templates/SEUTEMPLATE/includes/sidebar.tpl Alterações realizadas entre as linhas 23 e 25 {foreach $sidebar as $item} <div menuItemName="{$item->getName()}" class="panel panel-sidebar {if $item->getClass()}{$item->getClass()}{else}panel-sidebar{/if}{if $item->getExtra('mobileSelect') and $item->hasChildren()} hidden-sm hidden-xs{/if}"{if $item->getAttribute('id')} id="{$item->getAttribute('id')}"{/if}> <div class="panel-heading"> <h3 class="panel-title"> {if $item->hasIcon()}<i class="{$item->getIcon()}"></i> {/if} {$item->getLabel()} {if $item->hasBadge()} <span class="badge">{$item->getBadge()}</span>{/if} <i class="fa fa-chevron-up panel-minimise pull-right"></i> </h3> </div> {if $item->hasBodyHtml()} <div class="panel-body"> {$item->getBodyHtml()} </div> {/if} {if $item->hasChildren()} <div class="list-group{if $item->getChildrenAttribute('class')} {$item->getChildrenAttribute('class')}{/if}"> {foreach $item->getChildren() as $childItem} {if $childItem->getUri()} <a menuItemName="{$childItem->getName()}" href="{$childItem->getUri()}" class="list-group-item{if $childItem->isDisabled()} disabled{/if}{if $childItem->getClass()} {$childItem->getClass()}{/if}{if $childItem->isCurrent()} active{/if}"{if $childItem->getAttribute('dataToggleTab')} data-toggle="tab"{/if}{if $childItem->getAttribute('target')} target="{$childItem->getAttribute('target')}"{/if} id="{$childItem->getId()}"> {if $childItem->hasBadge()}<span class="badge">{$childItem->getBadge()}</span>{/if} {if $childItem->hasIcon()}<i class="{$childItem->getIcon()}"></i> {/if} {if $item->getName() eq "Announcements Months"}{$childItem->getLabel()|replace:'Jan ':'Janeiro de '|replace:'Feb ':'Fevereiro de '|replace:'Mar ':'Março de '|replace:'Apr ':'Abril de '|replace:'May ':'Maio de '|replace:'Jun ':'Junho de '|replace:'Jul ':'Julho de '|replace:'Aug ':'Agosto de '|replace:'Sep ':'Setembro de '|replace:'Oct ':'Outubro de '|replace:'Nov ':'Novembro de '|replace:'Dec ':'Dezembro de '}{else} {if $item->getName() eq "Recent Tickets"}{$childItem->getLabel()|replace:'minutes ':'minutos '|replace:'minute ':'minuto '|replace:'hours ':'horas '|replace:'hour ':'hora '|replace:'seconds ':'segundos '|replace:'days ':'dias '|replace:'day ':'dia '|replace:'week ':'semana '|replace:'weeks ':'semanas '|replace:'month ':'mês '|replace:'months ':'meses '|replace:'year ':'ano '|replace:'years ':'anos '|replace:' ago':' atrás'}{else} {$childItem->getLabel()}{/if} {/if} </a> {else} <div menuItemName="{$childItem->getName()}" class="list-group-item{if $childItem->getClass()} {$childItem->getClass()}{/if}" id="{$childItem->getId()}"> {if $childItem->hasBadge()}<span class="badge">{$childItem->getBadge()}</span>{/if} {if $childItem->hasIcon()}<i class="{$childItem->getIcon()}"></i> {/if} {$childItem->getLabel()} </div> {/if} {/foreach} </div> {/if} {if $item->hasFooterHtml()} <div class="panel-footer clearfix"> {$item->getFooterHtml()} </div> {/if} </div> {if $item->getExtra('mobileSelect') and $item->hasChildren()} {* Mobile Select only supports dropdown menus *} <div class="panel hidden-lg hidden-md {if $item->getClass()}{$item->getClass()}{else}panel-default{/if}"{if $item->getAttribute('id')} id="{$item->getAttribute('id')}"{/if}> <div class="panel-heading"> <h3 class="panel-title"> {if $item->hasIcon()}<i class="{$item->getIcon()}"></i> {/if} {$item->getLabel()} {if $item->hasBadge()} <span class="badge">{$item->getBadge()}</span>{/if} </h3> </div> <div class="panel-body"> <form role="form"> <select class="form-control" onchange="selectChangeNavigate(this)"> {foreach $item->getChildren() as $childItem} <option menuItemName="{$childItem->getName()}" value="{$childItem->getUri()}" class="list-group-item" {if $childItem->isCurrent()}selected="selected"{/if}> {$childItem->getLabel()} {if $childItem->hasBadge()}({$childItem->getBadge()}){/if} </option> {/foreach} </select> </form> </div> {if $item->hasFooterHtml()} <div class="panel-footer"> {$item->getFooterHtml()} </div> {/if} </div> {/if} {/foreach} Sidebar Informações do Ticket Segue hook para traduzir o sidebar Informações do Ticket. Crie um arquivo NOMEDESEJADO.php e envie para /SEUWHMCS/includes/hooks <?php use WHMCS\View\Menu\Item as MenuItem; use Illuminate\Database\Capsule\Manager as Capsule; use Carbon\Carbon; add_hook('ClientAreaPrimarySidebar', 1, function(MenuItem $vars) { if(Lang::trans('locale') == 'pt_BR') { global $tid; $locale = Lang::trans('locale'); $lastreply = Capsule::table('tbltickets') ->where('tid',$tid) ->value('lastreply'); Carbon::setLocale($locale); $reply = new Carbon($lastreply); if (!is_null($vars->getChild('Ticket Information'))) { $vars->getChild('Ticket Information') ->getChild('Last Updated') ->setLabel('<span class="title">'.Lang::trans('cPanel.usageLastUpdated').'</span><br />'.$reply->diffForHumans()); } } }); Quem desejar melhorar ou contribuir com estas traduções, basta enviar sua contribuição através deste post, ou se possuir uma melhor forma de traduzir, a comunidade agradece. Nota: Antes de qualquer alteração em seu WHMCS, realize um backup ou teste em uma instalação DEV. 3 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Caldas1 Postado Julho 12, 2017 Compartilhar Postado Julho 12, 2017 Show a contribuição 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
cesarlopes Postado Agosto 23, 2018 Compartilhar Postado Agosto 23, 2018 Muito bom, estava precisando! 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.