finish translate

This commit is contained in:
Nicolas Debrigode 2018-01-19 17:44:26 +01:00
parent 079dac23c3
commit f51ce0c566
26 changed files with 189 additions and 120 deletions

View File

@ -1,14 +1,50 @@
in.the.last: In the last %hours%
hours: hours
days: days
hour: hour
day: day
month: month
months: months
year: year
years: years
inbound.traffic: Inbound traffic
outbound.traffic: Outbound traffic
oops.page.not.found: Oops! Page not found.
oops.work.on.fixing: Oops! We will work on fixing that right away.
oops.method.not.allowed: Oops! Method Not Allowed.
error: Error
error: error
view.as: View AS
view.asset: View AS-SET
view.ixstats: View IX Stats
link.usage: Link Usage
usage: Usage
links.usage: Link Usage
usage: usage
release: release
written.by: written by
for: for
legend: legende
in: entrant
out: sortant
search: search
history: history
links: Links
link: Link
custom.links: Custom Links
daily: daily
hourly: hourly
weekly: weekly
yearly: yearly
tools.box: Tools Box
remove.all.asset.cache.file: Remove all AS-SET cache files
clear.cache.done: Clear cache files done
cache.is.already.cleared: The cache is already cleared
unable.to.clear.cache: Unable to clear all cache files
other: other
no.data.found: no data found
data.from.cache: Data from cache file
remove.asset.cache.file.for: Remove AS-SET cache file for
per.link.usage: per link usage
link.usage: link usage
ix.stats: IX Stats
my.ix: My IX
select: select
interval: interval

View File

@ -1,14 +1,50 @@
in.the.last: Dans les %hours%
hours: heures
days: jours
hour: heure
day: jour
month: mois
months: mois
year: année
years: années
inbound.traffic: Trafic entrant
outbound.traffic: Trafic sortant
oops.page.not.found: Oops! Page non trouvée.
oops.work.on.fixing: Oops! Nous allons travailler pour régler le problème tout de suite.
oops.method.not.allowed: Oops! Méthode non autorisée.
error: Erreur
error: erreur
view.as: Voir AS
view.asset: Voir AS-SET
view.ixstats: Voir IX Stats
link.usage: Utilisation des Liens
usage: Utilisation
links.usage: Utilisation des Liens
usage: utilisation
release: version
written.by: écrit par
for: pour
legend: légende
in: entrant
out: sortant
search: rechercher
history: historique
links: liens
link: lien
custom.links: Liens Personnalisés
daily: quotidien
hourly: hebdomadaire
weekly: mensuel
yearly: annuel
tools.box: Boîte à Outils
remove.all.asset.cache.file: Supprimer tout le cache
clear.cache.done: Le cache est vide
cache.is.already.cleared: Le cache est déjà vide
unable.to.clear.cache: Impossible de vider le cache
other: autre
no.data.found: pas de données
data.from.cache: Données du fichier de cache
remove.asset.cache.file.for: Supprimer le cache pour
per.link.usage: utilisation par lien
link.usage: utilisation du lien
ix.stats: Statistiques IX
my.ix: Mes IX
select: sélectionner
interval: intervalle

View File

@ -5,7 +5,6 @@ use Silex\Application;
use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Symfony\Component\HttpFoundation\Request;
use Application\ConfigApplication as ConfigApplication;
use Controllers\Func;
/**
* @SLX\Controller(prefix="/asset")
@ -21,7 +20,7 @@ class Asset extends BaseController
public function index(Request $request, Application $app)
{
$req = $request->query->all();
$this->data['active_page'] = Func::getRouteName($request);
$this->data['active_page'] = $app['func']->getRouteName($request);
if ( isset($req['asset']) ) {
$hours = 24;
@ -33,7 +32,7 @@ class Asset extends BaseController
$this->data['aslist'] = $whois['aslist'];
$this->data['other_asset'] = $whois['other_asset'];
$this->data['knownlinks'] = Func::getKnowlinks();
$this->data['knownlinks'] = $app['func']->getKnowlinks();
$selected_links = array();
foreach($this->data['knownlinks'] as $link){
@ -43,11 +42,11 @@ class Asset extends BaseController
$this->data['selected_links'] = $selected_links;
$this->data['request'] = $req;
$topas = $this->db->GetASStatsTop(200, Func::statsFileForHours($hours), $selected_links, $this->data['aslist']);
$topas = $this->db->GetASStatsTop(200, $app['func']->statsFileForHours($hours), $selected_links, $this->data['aslist']);
$this->data['asinfo'] = NULL;
foreach ($topas as $as => $nbytes) {
$this->data['asinfo'][$as]['info'] = Func::GetASInfo($as);
$this->data['asinfo'][$as]['info'] = $app['func']->GetASInfo($as);
$this->data['asinfo'][$as]['v4'] = [
'in' => $nbytes[0],
@ -61,19 +60,19 @@ class Asset extends BaseController
];
}
$this->data['customlinks'][$as] = Func::getCustomLinks($as);
$this->data['customlinks'][$as] = $app['func']->getCustomLinks($as);
}
foreach ( $this->data['aslist'] as $as ) {
if ( !array_key_exists($as, $topas) ) {
$this->data['asinfo_nodata'][$as]['info'] = Func::GetASInfo($as);
$this->data['customlinks'][$as] = Func::getCustomLinks($as);
$this->data['asinfo_nodata'][$as]['info'] = $app['func']->GetASInfo($as);
$this->data['customlinks'][$as] = $app['func']->getCustomLinks($as);
}
}
$this->data['start'] = time() - $hours*3600;
$this->data['end'] = time();
$this->data['label'] = Func::statsLabelForHours($hours);
$this->data['label'] = $app['func']->statsLabelForHours($hours);
$this->data['hours'] = $hours;
#$app['util']::var_dump($this->data);

View File

@ -4,7 +4,6 @@ namespace Controllers;
use Silex\Application;
use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Symfony\Component\HttpFoundation\Request;
use Controllers\Func;
/**
* @SLX\Controller(prefix="/history")
@ -20,11 +19,11 @@ class History extends BaseController
public function index(Request $request, Application $app)
{
$req = $request->query->all();
$this->data['active_page'] = Func::getRouteName($request);
$this->data['active_page'] = $app['func']->getRouteName($request);
if ( isset($req['as']) ) {
$this->data['request'] = $req;
$this->data['asinfo'] = Func::GetASInfo($req['as']);
$this->data['customlinks'] = Func::getCustomLinks_History($req['as']);
$this->data['asinfo'] = $app['func']->GetASInfo($req['as']);
$this->data['customlinks'] = $app['func']->getCustomLinks_History($req['as']);
$this->data['end'] = time();

View File

@ -5,7 +5,6 @@ use Silex\Application;
use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Symfony\Component\HttpFoundation\Request;
use Application\ConfigApplication as ConfigApplication;
use Controllers\Func;
/**
* @SLX\Controller(prefix="/ixstats")
@ -20,13 +19,13 @@ class IXStats extends BaseController
*/
public function index(Request $request, Application $app)
{
$this->data['active_page'] = Func::getRouteName($request);
$this->data['active_page'] = $app['func']->getRouteName($request);
$req = $request->query->all();
$hours = 24;
if (@$req['numhours']) $hours = (int)$req['numhours'];
$this->data['knownlinks'] = Func::getKnowlinks();
$this->data['knownlinks'] = $app['func']->getKnowlinks();
$selected_links = array();
foreach($this->data['knownlinks'] as $link){
if(isset($req["link_${link['tag']}"]))
@ -47,11 +46,11 @@ class IXStats extends BaseController
$this->data['request'] = $req;
$list_asn = $app['peeringdb']->GetIXASN($req['ix']);
$topas = $this->db->GetASStatsTop($ntop, Func::statsFileForHours($hours), $selected_links, $list_asn);
$topas = $this->db->GetASStatsTop($ntop, $app['func']->statsFileForHours($hours), $selected_links, $list_asn);
$this->data['asinfo'] = NULL;
foreach ($topas as $as => $nbytes) {
$this->data['asinfo'][$as]['info'] = Func::GetASInfo($as);
$this->data['asinfo'][$as]['info'] = $app['func']->GetASInfo($as);
$this->data['asinfo'][$as]['v4'] = [
'in' => $nbytes[0],
@ -65,13 +64,13 @@ class IXStats extends BaseController
];
}
$this->data['customlinks'][$as] = Func::getCustomLinks($as);
$this->data['customlinks'][$as] = $app['func']->getCustomLinks($as);
}
$this->data['start'] = time() - $hours*3600;
$this->data['end'] = time();
$this->data['ntop'] = $ntop;
$this->data['label'] = Func::statsLabelForHours($hours);
$this->data['label'] = $app['func']->statsLabelForHours($hours);
return $app['twig']->render('pages/ixstats/ixstats.html.twig', $this->data);
}

View File

@ -5,7 +5,6 @@ use Silex\Application;
use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Symfony\Component\HttpFoundation\Request;
use Application\ConfigApplication as ConfigApplication;
use Controllers\Func;
/**
* @SLX\Controller(prefix="/linkusage")
@ -20,14 +19,14 @@ class LinkUsage extends BaseController
*/
public function index(Request $request, Application $app)
{
$this->data['active_page'] = Func::getRouteName($request);
$this->data['active_page'] = $app['func']->getRouteName($request);
$req = $request->query->all();
$hours = 24;
if (@$req['numhours']) $hours = (int)$req['numhours'];
$this->data['label'] = Func::statsLabelForHours($hours);
$this->data['label'] = $app['func']->statsLabelForHours($hours);
$this->data['hours'] = $hours;
$this->data['knownlinks'] = Func::getKnowlinks();
$this->data['knownlinks'] = $app['func']->getKnowlinks();
return $app['twig']->render('pages/linkusage/linkusage.html.twig', $this->data);
}

View File

@ -4,7 +4,6 @@ namespace Controllers;
use Silex\Application;
use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Symfony\Component\HttpFoundation\Request;
use Controllers\Func;
use Symfony\Component\HttpFoundation\Response;
use Application\ConfigApplication as ConfigApplication;
@ -54,7 +53,7 @@ class Render
$peerusage = 0;
}
$knownlinks = Func::getKnowlinks();
$knownlinks = $app['func']->getKnowlinks();
if(isset($req['selected_links']) && !empty($req['selected_links'])) {
$reverse = array();
@ -74,7 +73,7 @@ class Render
$knownlinks = $links;
}
$rrdfile = Func::getRRDFileForAS($req['as'], $peerusage);
$rrdfile = $app['func']->getRRDFileForAS($req['as'], $peerusage);
if ($compat_rrdtool12) {
/* cannot use full-size-mode - must estimate height/width */
@ -244,7 +243,7 @@ class Render
$hours = 24;
if (@$req['numhours']) $hours = (int)$req['numhours'];
$topas = $app['table.sql']->GetASStatsTop($numtop,Func::statsFileForHours($hours), array($req['link']));
$topas = $app['table.sql']->GetASStatsTop($numtop,$app['func']->statsFileForHours($hours), array($req['link']));
$width = $this->params['default_graph_width'];
$height = $this->params['default_graph_height'];
@ -252,7 +251,7 @@ class Render
if (@$req['width']) $width = (int)$req['width'];
if (@$req['height']) $height = (int)$req['height'];
$knownlinks = Func::getKnowlinks();
$knownlinks = $app['func']->getKnowlinks();
if ($compat_rrdtool12) {
/* cannot use full-size-mode - must estimate height/width */
@ -286,7 +285,7 @@ class Render
/* geneate RRD DEFs */
foreach ($topas as $as => $traffic) {
$rrdfile = Func::getRRDFileForAS($as);
$rrdfile = $app['func']->getRRDFileForAS($as);
$cmd .= "DEF:as{$as}_{$v6_el}in=\"$rrdfile\":{$link}_{$v6_el}in:AVERAGE ";
$cmd .= "DEF:as{$as}_{$v6_el}out=\"$rrdfile\":{$link}_{$v6_el}out:AVERAGE ";
}
@ -305,7 +304,7 @@ class Render
/* generate graph area/stack for inbound */
$i = 0;
foreach ($topas as $as => $traffic) {
$asinfo = Func::GetASInfo($as);
$asinfo = $app['func']->GetASInfo($as);
$descr = str_replace(":", "\\:", utf8_decode($asinfo['descr']));
$cmd .= "AREA:as{$as}_{$v6_el}in_bits#{$ascolors[$i]}:\"AS{$as} ({$descr})\\n\"";

View File

@ -1,7 +1,7 @@
<footer class="main-footer font-default">
<div class="pull-right hidden-xs">
<b>GUI Release</b> {{ version|default('') }}
<b>GUI {{ 'release'|trans|capitalize }}</b> {{ version|default('') }}
</div>
<strong>AS-Stats v1.6</strong> written by Manuel Kasper for Monzoon Networks AG.
&nbsp;//&nbsp;<strong>GUI</strong> written by Nicolas Debrigode for Hexanet SAS.
<strong>AS-Stats v1.6</strong> {{ 'written.by'|trans }} Manuel Kasper {{ 'for'|trans }} Monzoon Networks AG.
&nbsp;//&nbsp;<strong>GUI</strong> {{ 'written.by'|trans }} Nicolas Debrigode {{ 'for'|trans }} Hexanet SAS.
</footer>

View File

@ -13,7 +13,8 @@
<ul class="dropdown-menu" role="menu">
<li><a href="{{ path('index') }}">Top AS - 24 {{ 'hours' | trans}}</a></li>
{% for top in topinterval %}
<li><a href="{{ path('index', {'numhours': top.hours }) }}">Top AS - {{ top.label }}</a></li>
{% set label = top.label|split(' ') %}
<li><a href="{{ path('index', {'numhours': top.hours }) }}">Top AS - {{ label[0] }} {{ label[1]|trans }}</a></li>
{% endfor %}
</ul>
</li>
@ -25,16 +26,17 @@
<li class="{{ active_page.active_ix }}"><a href="{{ path('ixstats') }}">{{ 'view.ixstats' | trans }}</a></li>
{% if topinterval is defined %}
<li class="dropdown {{ active_page.active_linkusage }}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">{{ 'link.usage' | trans }} <span class="caret"></span></a>
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">{{ 'links.usage' | trans }} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ path('linkusage') }}">{{ 'usage' | trans}} - 24 {{ 'hours' | trans}}</a></li>
<li><a href="{{ path('linkusage') }}">{{ 'usage' | trans | capitalize }} - 24 {{ 'hours' | trans}}</a></li>
{% for top in topinterval %}
<li><a href="{{ path('linkusage', {'numhours': top.hours }) }}">{{ 'usage' | trans}} - {{ top.label }}</a></li>
{% set label = top.label|split(' ') %}
<li><a href="{{ path('linkusage', {'numhours': top.hours }) }}">{{ 'usage' | trans | capitalize }} - {{ label[0] }} {{ label[1]|trans }}</a></li>
{% endfor %}
</ul>
</li>
{% else %}
<li class="{{ active_page.active_linkusage }}"><a href="{{ path('linkusage') }}">{{ 'link.usage' | trans }}</a></li>
<li class="{{ active_page.active_linkusage }}"><a href="{{ path('linkusage') }}">{{ 'links.usage' | trans }}</a></li>
{% endif %}
</ul>
{% if active_page.active_top == "active" or active_page.active_ix == "active" %}

View File

@ -18,7 +18,7 @@
<h3><i class="fa fa-warning text-light-blue"></i> Oops!</h3>
<p>
{{ error|default('')|raw }}
{{ 'error'|trans|default('')|raw|capitalize }}
</p>
</div>

View File

@ -18,7 +18,7 @@
<h3><i class="fa fa-warning text-yellow"></i> {{ 'oops.page.not.found' | trans }}</h3>
<p>
{{ error|default('') }}
{{ error|default('')|capitalize }}
</p>
</div>

View File

@ -18,7 +18,7 @@
<h3><i class="fa fa-warning text-red"></i> {{ 'oops.method.not.allowed' | trans }}</h3>
<p>
{{ error }}
{{ error|trans|capitalize }}
</p>
</div>

View File

@ -18,7 +18,7 @@
<h3><i class="fa fa-warning text-red"></i> {{ 'oops.work.on.fixing' | trans }}</h3>
<p>
{{ error|default('') }}
{{ error|default('')|capitalize }}
</p>
</div>

View File

@ -18,7 +18,7 @@
<h3><i class="fa fa-warning text-red"></i> Oops! We are sorry, but something went terribly wrong.</h3>
<p>
{{ error|default('') }}
{{ error|default('')|capitalize }}
</p>
</div>

View File

@ -5,7 +5,7 @@
{% endblock %}
{% block title %}
History for AS-SET: {{ asset }}
{{ 'history'|trans|capitalize }} {{'for'|trans}} AS-SET: {{ asset }}
{% endblock %}
{% block css %}
@ -59,7 +59,7 @@ History for AS-SET: {{ asset }}
{% endblock %}
{% block content_wrapper %}
{% set title = "History for AS-SET" %}
{% set title = "#{'history'|trans|capitalize} #{'for'|trans} AS-SET" %}
{% set label = "#{asset} (#{label})" %}
{{ macro.content_header(title, label, config.outispositive ) }}
{% endblock %}
@ -69,7 +69,7 @@ History for AS-SET: {{ asset }}
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Other AS-SET</h3>
<h3 class="box-title">{{'other'|trans|capitalize}} AS-SET</h3>
</div>
<div class="box-body">
<ul class="nav nav-stacked">
@ -98,10 +98,10 @@ History for AS-SET: {{ asset }}
<div class="row">
<div class="col-md-4 col-lg-2">
<b><img src="{{ global.request.baseUrl }}/flags/blank.gif" class="flag flag-{{ as_data.info.country|lower }}"/> AS{{ key_as }}: </b><small><i>{{ as_data.info.descr }}</i></small>
<div class="small">In the last {{ label|default('') }}</div>
<div class="small">IPv4: ~ {{ as_data.v4.in|format_bytes }} in / {{ as_data.v4.out|format_bytes }} out</div>
<div class="small">{{ 'in.the.last' | trans( {'%hours%': label|default('')} ) }}</div>
<div class="small">IPv4: ~ {{ as_data.v4.in|format_bytes }} {{ 'in'|trans }} / {{ as_data.v4.out|format_bytes }} {{ 'out'|trans }}</div>
{% if as_data.v6 is defined %}
<div class="small">IPv6: ~ {{ as_data.v6.in|format_bytes }} in / {{ as_data.v6.out|format_bytes }} out</div>
<div class="small">IPv6: ~ {{ as_data.v6.in|format_bytes }} {{ 'in'|trans }} / {{ as_data.v6.out|format_bytes }} {{ 'out'|trans }}</div>
{% endif %}
<span class="small">{{ attribute(customlinks, key_as)|raw }}</span>
<div class="rank">
@ -140,7 +140,6 @@ History for AS-SET: {{ asset }}
<div class="row">
<div class="col-md-4 col-lg-2">
<b><img src="{{ global.request.baseUrl }}/flags/blank.gif" class="flag flag-{{ as_data.info.country|lower }}"/> AS{{ key_as }}: </b><small><i>{{ as_data.info.descr }}</i></small>
<div class="small">In the last {{ label|default('') }}</div>
<span class="small">{{ attribute(customlinks, key_as)|raw }}</span>
<div class="rank">
{% set counter = counter + 1 %}
@ -148,7 +147,7 @@ History for AS-SET: {{ asset }}
</div>
</div>
<div class="col-md-12 col-lg-10">
<center>No data found for AS{{ key_as }}</center>
<center>{{'no.data.found'|trans|capitalize}} {{'for'|trans}} AS{{ key_as }}</center>
</div>
</div>
</li>
@ -163,7 +162,7 @@ History for AS-SET: {{ asset }}
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Search AS-SET</h3>
<h3 class="box-title">{{ 'search'|trans|capitalize }} AS-SET</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
@ -171,7 +170,7 @@ History for AS-SET: {{ asset }}
<div class="box-body">
<form class="navbar-form navbar-left" role="search" action="{{ path('asset') }}">
<div class="input-group">
<input id="asset" type="text" class="form-control menu-input" name="asset" placeholder="Search AS-SET" value="{{ asset }}">
<input id="asset" type="text" class="form-control menu-input" name="asset" placeholder="{{ 'search'|trans|capitalize }} AS-SET" value="{{ asset }}">
<span class="input-group-btn">
<button type="submit" class="btn btn-flat button-input"><i class="fa fa-search"></i></button>
</span>
@ -183,19 +182,19 @@ History for AS-SET: {{ asset }}
{% if cache %}
<div class="col-lg-12">
<div class="alert alert-warning"><i class="icon fa fa-info"></i>&nbsp;Data from cache file.</div>
<div class="alert alert-warning"><i class="icon fa fa-info"></i>&nbsp;{{'data.from.cache'|trans}}.</div>
</div>
{% endif %}
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Tools Box</h3>
<h3 class="box-title">{{'tools.box'|trans}}</h3>
</div>
<div class="box-body">
<div class="list-group list-group-unbordered">
<a id="clear_one" href="{{ path('asset/clear/one', { 'file': asset }) }}" class="list-group-item"><i class="fa fa-remove text-red"></i> Remove AS-SET cache file for {{ asset }}</a>
<a id="clear" href="{{ path('asset/clear') }}" class="list-group-item"><i class="fa fa-remove text-red"></i> Remove all AS-SET cache files.</a>
<a id="clear_one" href="{{ path('asset/clear/one', { 'file': asset }) }}" class="list-group-item"><i class="fa fa-remove text-red"></i> {{'remove.asset.cache.file.for'|trans}} {{ asset }}</a>
<a id="clear" href="{{ path('asset/clear') }}" class="list-group-item"><i class="fa fa-remove text-red"></i> {{'remove.all.asset.cache.file'|trans}}.</a>
</div>
</div>
</div>
@ -207,7 +206,7 @@ History for AS-SET: {{ asset }}
<div data-spy="affix" data-offset-top="400">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Legend</h3>
<h3 class="box-title">{{'legend'|trans|capitalize}}</h3>
</div>
<div class="box-body">
{% if mobile %}
@ -261,12 +260,12 @@ History for AS-SET: {{ asset }}
success: function(response) {
var json = $.parseJSON(response);
if ( json.fail ) {
$("#reponse_ajax").html('<div class=\"alert alert-danger alert-dismissable\"><i class=\"icon fa fa-ban\"></i>&nbsp;Unable to clear all cache files.</div>');
$("#reponse_ajax").html('<div class=\"alert alert-danger alert-dismissable\"><i class=\"icon fa fa-ban\"></i>&nbsp;{{'unable.to.clear.cache'|trans}}.</div>');
} else {
if ( !json.ok ) {
$("#reponse_ajax").html('<div class=\"alert alert-info alert-dismissable\"><i class=\"icon fa fa-info\"></i>&nbsp;The cache is already cleared.</div>');
$("#reponse_ajax").html('<div class=\"alert alert-info alert-dismissable\"><i class=\"icon fa fa-info\"></i>&nbsp;{{'cache.is.already.cleared'|trans}}.</div>');
} else {
$("#reponse_ajax").html("<div class=\"alert alert-success alert-dismissable\"><i class='icon fa fa-check'></i>&nbsp;Clear cache files done.</div>");
$("#reponse_ajax").html("<div class=\"alert alert-success alert-dismissable\"><i class='icon fa fa-check'></i>&nbsp;{{'clear.cache.done'|trans}}.</div>");
}
}
setTimeout(function () { window.location.replace("{{ path('asset') }}"); }, 2 * 1000);

View File

@ -5,14 +5,14 @@
{% endblock %}
{% block title %}
History for AS-SET
{{ 'history'|trans|capitalize }} {{'for'|trans}} AS-SET
{% endblock %}
{% block css %}
{% endblock %}
{% block content_wrapper %}
{% set title = "History for AS-SET" %}
{% set title = "#{'history'|trans|capitalize} #{'for'|trans} AS-SET" %}
{{ macro.content_header(title, "", 'NONE' ) }}
{% endblock %}
@ -21,7 +21,7 @@ History for AS-SET
<div class="col-md-12 col-lg-2">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Search AS-SET</h3>
<h3 class="box-title">{{ 'search'|trans|capitalize }} AS-SET</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
@ -29,7 +29,7 @@ History for AS-SET
<div class="box-body">
<form class="navbar-form navbar-left" role="search" action="{{ path('asset') }}">
<div class="input-group">
<input id="asset" type="text" class="form-control menu-input" name="asset" placeholder="Search AS-SET">
<input id="asset" type="text" class="form-control menu-input" name="asset" placeholder="{{ 'search'|trans|capitalize }} AS-SET">
<span class="input-group-btn">
<button type="submit" class="btn btn-flat button-input"><i class="fa fa-search"></i></button>
</span>
@ -45,11 +45,11 @@ History for AS-SET
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Tools Box</h3>
<h3 class="box-title">{{'tools.box'|trans}}</h3>
</div>
<div class="box-body">
<div class="list-group list-group-unbordered">
<a id="clear" href="{{ path('asset/clear') }}" class="list-group-item"><i class="fa fa-remove text-red"></i> Remove all AS-SET cache files.</a>
<a id="clear" href="{{ path('asset/clear') }}" class="list-group-item"><i class="fa fa-remove text-red"></i> {{'remove.all.asset.cache.file'|trans}}.</a>
</div>
</div>
</div>
@ -85,12 +85,12 @@ History for AS-SET
success: function(response) {
var json = $.parseJSON(response);
if ( json.fail ) {
$("#reponse_ajax").html('<div class=\"alert alert-danger alert-dismissable\"><i class=\"icon fa fa-ban\"></i>&nbsp;Unable to clear all cache files.</div>');
$("#reponse_ajax").html('<div class=\"alert alert-danger alert-dismissable\"><i class=\"icon fa fa-ban\"></i>&nbsp;{{'unable.to.clear.cache'|trans}}.</div>');
} else {
if ( !json.ok ) {
$("#reponse_ajax").html('<div class=\"alert alert-info alert-dismissable\"><i class=\"icon fa fa-info\"></i>&nbsp;The cache is already cleared.</div>');
$("#reponse_ajax").html('<div class=\"alert alert-info alert-dismissable\"><i class=\"icon fa fa-info\"></i>&nbsp;{{'cache.is.already.cleared'|trans}}.</div>');
} else {
$("#reponse_ajax").html("<div class=\"alert alert-success alert-dismissable\"><i class='icon fa fa-check'></i>&nbsp;Clear cache files done.</div>");
$("#reponse_ajax").html("<div class=\"alert alert-success alert-dismissable\"><i class='icon fa fa-check'></i>&nbsp;{{'clear.cache.done'|trans}}.</div>");
}
}
setTimeout(function () { location.reload(); }, 2 * 1000);

View File

@ -5,14 +5,14 @@
{% endblock %}
{% block title %}
History for AS{{request.as}}: {{ asinfo.descr }}
{{ 'history'|trans|capitalize }} {{ 'for'|trans }} AS{{request.as}}: {{ asinfo.descr }}
{% endblock %}
{% block css %}
{% endblock %}
{% block content_wrapper %}
{% set title = "History for AS#{request.as}" %}
{% set title = "#{'history'|trans|capitalize} #{'for'|trans} AS#{request.as}" %}
{{ macro.content_header(title, asinfo.descr, config.outispositive ) }}
{% endblock %}
@ -26,7 +26,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Search AS</h3>
<h3 class="box-title">{{ 'search'|trans|capitalize }} AS</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
@ -34,7 +34,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box-body">
<form class="navbar-form navbar-left" role="search" action="{{ path('history') }}">
<div class="input-group">
<input id="as" type="text" class="form-control menu-input" name="as" placeholder="Search AS" value="{{ request.as }}">
<input id="as" type="text" class="form-control menu-input" name="as" placeholder="{{ 'search'|trans|capitalize }} AS" value="{{ request.as }}">
<span class="input-group-btn">
<button type="submit" class="btn btn-flat button-input"><i class="fa fa-search"></i></button>
</span>
@ -47,7 +47,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Custom Links</h3>
<h3 class="box-title">{{ 'custom.links'|trans }}</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@ -68,7 +68,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Daily</h3>
<h3 class="box-title">{{'daily'|trans|capitalize}}</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@ -77,12 +77,12 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box-body">
<center>
<div class="col-lg-{{ col }}">
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPV4", daily.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPv4", daily.start, end, 0, true, "", 0) }}
</div>
{% if config.showv6 %}
<div class="col-lg-6">
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPV6", daily.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPv6", daily.start, end, 0, true, "", 0) }}
</div>
{% endif %}
</center>
@ -91,7 +91,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Hourly</h3>
<h3 class="box-title">{{'hourly'|trans|capitalize}}</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@ -100,12 +100,12 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box-body">
<center>
<div class="col-lg-{{ col }}">
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPV4", weekly.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPv4", weekly.start, end, 0, true, "", 0) }}
</div>
{% if config.showv6 %}
<div class="col-lg-6">
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPV6", weekly.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPv6", weekly.start, end, 0, true, "", 0) }}
</div>
{% endif %}
</center>
@ -114,7 +114,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Weekly</h3>
<h3 class="box-title">{{'weekly'|trans|capitalize}}</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@ -123,12 +123,12 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box-body">
<center>
<div class="col-lg-{{ col }}">
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPV4", monthly.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPv4", monthly.start, end, 0, true, "", 0) }}
</div>
{% if config.showv6 %}
<div class="col-lg-6">
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPV6", monthly.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPv6", monthly.start, end, 0, true, "", 0) }}
</div>
{% endif %}
</center>
@ -137,7 +137,7 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Yearly</h3>
<h3 class="box-title">{{'yearly'|trans|capitalize}}</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@ -146,12 +146,12 @@ History for AS{{request.as}}: {{ asinfo.descr }}
<div class="box-body">
<center>
<div class="col-lg-{{ col }}">
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPV4", yearly.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 4, "AS#{request.as} - #{asinfo.descr} - IPv4", yearly.start, end, 0, true, "", 0) }}
</div>
{% if config.showv6 %}
<div class="col-lg-6">
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPV6", yearly.start, end, 0, true, "", 0) }}
{{ macro.getHTMLImg(request.as, 6, "AS#{request.as} - #{asinfo.descr} - IPv6", yearly.start, end, 0, true, "", 0) }}
</div>
{% endif %}
</center>

View File

@ -5,14 +5,14 @@
{% endblock %}
{% block title %}
History
{{ 'history'|trans|capitalize }}
{% endblock %}
{% block css %}
{% endblock %}
{% block content_wrapper %}
{% set title = "History for AS" %}
{% set title = "#{'history'|trans|capitalize}" %}
{{ macro.content_header(title, "", 'NONE' ) }}
{% endblock %}
@ -21,7 +21,7 @@ History
<div class="col-md-12 col-lg-2">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Search AS</h3>
<h3 class="box-title">{{ 'search'|trans|capitalize }} AS</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
@ -29,7 +29,7 @@ History
<div class="box-body">
<form class="navbar-form navbar-left" role="search" action="{{ path('history') }}">
<div class="input-group">
<input id="as" type="text" class="form-control menu-input" name="as" placeholder="Search AS">
<input id="as" type="text" class="form-control menu-input" name="as" placeholder="{{ 'search'|trans|capitalize }} AS">
<span class="input-group-btn">
<button type="submit" class="btn btn-flat button-input"><i class="fa fa-search"></i></button>
</span>

View File

@ -88,9 +88,9 @@ Top {{ ntop }} AS ({{ label }})
<div class="col-md-4 col-lg-2">
<b><img src="{{ global.request.baseUrl }}/flags/blank.gif" class="flag flag-{{ as_data.info.country|lower }}"/> AS{{ key_as }}: </b><small><i>{{ as_data.info.descr }}</i></small>
<div class="small">{{ 'in.the.last' | trans( {'%hours%': label|default('')} ) }}</div>
<div class="small">IPv4: ~ {{ as_data.v4.in|format_bytes }} in / {{ as_data.v4.out|format_bytes }} out</div>
<div class="small">IPv4: ~ {{ as_data.v4.in|format_bytes }} {{ 'in'|trans }} / {{ as_data.v4.out|format_bytes }} {{ 'out'|trans }}</div>
{% if as_data.v6 is defined %}
<div class="small">IPv6: ~ {{ as_data.v6.in|format_bytes }} in / {{ as_data.v6.out|format_bytes }} out</div>
<div class="small">IPv6: ~ {{ as_data.v6.in|format_bytes }} {{ 'in'|trans }} / {{ as_data.v6.out|format_bytes }} {{ 'out'|trans }}</div>
{% endif %}
<span class="small">{{ attribute(customlinks, key_as)|raw }}</span>
<div class="rank">
@ -130,7 +130,7 @@ Top {{ ntop }} AS ({{ label }})
<div data-spy="affix" data-offset-top="100">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Legend</h3>
<h3 class="box-title">{{ 'legend'|trans|capitalize }}</h3>
</div>
<div class="box-body">
{% if mobile %}

View File

@ -3,10 +3,10 @@
<form method='get' id="search_ix_name">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Search IX</h3>
<h3 class="box-title">{{'search'|trans|capitalize}} IX</h3>
</div>
<div class="box-body">
<input type="text" class="form-control" name="name_ix" placeholder="Search IX" id="peeringdb" data-provide="typeahead" autocomplete="off" value="{{ request.name_ix|default('') }}">
<input type="text" class="form-control" name="name_ix" placeholder="{{'search'|trans|capitalize}} IX" id="peeringdb" data-provide="typeahead" autocomplete="off" value="{{ request.name_ix|default('') }}">
<input type='hidden' id='ix' name='ix'/>
<div id="message"></div>
</div>

View File

@ -13,10 +13,10 @@
<div class="row">
<div class="col-md-4 col-lg-2">
<b><img src="{{ global.request.baseUrl }}/flags/blank.gif" class="flag flag-{{ as_data.info.country|lower }}"/> AS{{ key_as }}: </b><small><i>{{ as_data.info.descr }}</i></small>
<div class="small">In the last {{ label|default('') }}</div>
<div class="small">IPv4: ~ {{ as_data.v4.in|format_bytes }} in / {{ as_data.v4.out|format_bytes }} out</div>
<div class="small">{{ 'in.the.last' | trans( {'%hours%': label|default('')} ) }}</div>
<div class="small">IPv4: ~ {{ as_data.v4.in|format_bytes }} {{ 'in'|trans }} / {{ as_data.v4.out|format_bytes }} {{ 'out'|trans }}</div>
{% if as_data.v6 is defined %}
<div class="small">IPv6: ~ {{ as_data.v6.in|format_bytes }} in / {{ as_data.v6.out|format_bytes }} out</div>
<div class="small">IPv6: ~ {{ as_data.v6.in|format_bytes }} {{ 'in'|trans }} / {{ as_data.v6.out|format_bytes }} {{ 'out'|trans }}</div>
{% endif %}
<span class="small">{{ attribute(customlinks, key_as)|raw }}</span>
<div class="rank">

View File

@ -3,18 +3,19 @@
<form method='get' id="search_ix_name">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Interval</h3>
<h3 class="box-title">{{'interval'|trans|capitalize}}</h3>
</div>
<div class="box-body">
<select name="numhours" id="numhours" class="form-control" onchange="this.form.submit()">
<option value="24">24 hours</option>
<option value="24">24 {{'hours'|trans}}</option>
{% for top in topinterval %}
{% set selected %}
{% if hours is defined and hours == top.hours %}
selected
{% endif %}
{% endset %}
<option {{ selected }} value="{{ top.hours }}">{{ top.label }}</option>
{% set label = top.label|split(' ') %}
<option {{ selected }} value="{{ top.hours }}">{{ label[0] }} {{ label[1]|trans }}</option>
{% endfor %}
</div>
</div>

View File

@ -3,11 +3,11 @@
<form method='get'>
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">My IX</h3>
<h3 class="box-title">{{'my.ix'|trans}}</h3>
</div>
<div class="box-body">
<select name="ix" id="ix" class="form-control">
<option value="">Select IX</option>
<option value="">{{'select'|trans|capitalize}} IX</option>
{% for list_myix in myix %}
{% set selected %}
{% if request.ix is defined and request.ix == list_myix.ix_id %}

View File

@ -15,7 +15,7 @@
{% endblock %}
{% block title %}
IX Stats: {{ add_title }}
{{'ix.stats'|trans}}: {{ add_title }}
{% endblock %}
{% block css %}
@ -87,7 +87,7 @@ IX Stats: {{ add_title }}
{% endif %}
{% block content_wrapper %}
{% set title = "IX Stats - #{add_title}" %}
{% set title = "#{'ix.stats'|trans} - #{add_title}" %}
{% set label = "(top #{ntop} - #{label})" %}
{{ macro.content_header(title, label, config.outispositive ) }}
{% endblock %}
@ -107,7 +107,7 @@ IX Stats: {{ add_title }}
<div data-spy="affix" data-offset-top="100">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Legend</h3>
<h3 class="box-title">{{'legend'|trans|capitalize}}</h3>
</div>
<div class="box-body">
{% if mobile %}

View File

@ -5,14 +5,14 @@
{% endblock %}
{% block title %}
IX Stats
{{'ix.stats'|trans}}
{% endblock %}
{% block css %}
{% endblock %}
{% block content_wrapper %}
{% set title = "IX Stats" %}
{% set title = "#{'ix.stats'|trans}" %}
{{ macro.content_header(title, "", 'NONE' ) }}
{% endblock %}

View File

@ -5,14 +5,14 @@
{% endblock %}
{% block title %}
LinkUasge - Top 10 AS - per link usage
{{'link.usage'|trans}} - Top 10 AS
{% endblock %}
{% block css %}
{% endblock %}
{% block content_wrapper %}
{% set title = "Top 10 AS - per link usage" %}
{% set title = "Top 10 AS - #{'per.link.usage'|trans}" %}
{% set label = "(#{label})" %}
{{ macro.content_header(title, label, config.outispositive ) }}
{% endblock %}
@ -35,9 +35,9 @@ LinkUasge - Top 10 AS - per link usage
{% set title %}
{% if config.showtitledetail and config.hidelinkusagename is empty or config.showtitledetail is empty %}
Link Usage for {{ links.descr }}
{{'link.usage'|trans|capitalize}} {{'for'|trans}} {{ links.descr }}
{% else %}
Link Usage
{{'link.usage'|trans|capitalize}}
{% endif %}
{% endset %}
{{ macro.box_linkusage(title, img)}}