Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge pull request #195 from lucassaldanha/master

Including new terms in brazilian portuguese translation and Internationalizing some hard coded string
commit ffb6b3a17e7a45641b7cf8f54ba3d0dc0794d9f3 2 parents c3dd38b + 6530b65
@mobz authored
View
10 dist/app.js
@@ -3361,13 +3361,13 @@
});
this._aliasRenderer = this.prefs.get( "clusterOverview-aliasRender" ) || "full";
this._aliasMenu = new ui.MenuButton({
- label: "View Aliases",
+ label: i18n.text( "Preference.ViewAliases" ),
menu: new ui.SelectMenuPanel({
value: this._aliasRenderer,
items: [
- { value: "full", text: "Grouped" },
- { value: "list", text: "List" },
- { value: "none", text: "None" } ],
+ { value: "full", text: i18n.text( "ViewAliases.Grouped" ) },
+ { value: "list", text: i18n.text( "ViewAliases.List" ) },
+ { value: "none", text: i18n.text( "ViewAliases.None" ) } ],
onSelect: function( panel, event ) {
this._aliasRenderer = event.value;
this.prefs.set( "clusterOverview-aliasRender", this._aliasRenderer );
@@ -3377,7 +3377,7 @@
});
this._indexFilter = new ui.TextField({
value: this.prefs.get("clusterOverview-indexFilter"),
- placeholder: "Index Filter",
+ placeholder: i18n.text( "Overview.IndexFilter" ),
onchange: function( indexFilter ) {
this.prefs.set("clusterOverview-indexFilter", indexFilter.val() );
this.draw_handler();
View
5 dist/lang/en_strings.js
@@ -97,6 +97,11 @@ i18n.setKeys({
"Sort.ByName": "By Name",
"Sort.ByAddress": "By Address",
"Sort.ByType": "By Type",
+ "Preference.ViewAliases": "View Aliases",
+ "ViewAliases.Grouped": "Grouped",
+ "ViewAliases.List": "List",
+ "ViewAliases.None": "None",
+ "Overview.IndexFilter": "Index Filter",
"TableResults.Summary": "Searched {0} of {1} shards. {2} hits. {3} seconds",
"QueryFilter.AllIndices": "All Indices",
"QueryFilter.AnyValue": "any",
View
91 dist/lang/pt_strings.js
@@ -15,9 +15,9 @@ i18n.setKeys({
"AliasForm.NewAliasForIndex": "Novo apelido para {0}",
"AliasForm.DeleteAliasMessage": "digite ''{0}'' para deletar {1}. Não há como voltar atrás",
"AnyRequest.DisplayOptions" : "Mostrar Opções",
- "AnyRequest.AsGraph" : "Mostrar como grafo",
+ "AnyRequest.AsGraph" : "Mostrar como gráfico",
"AnyRequest.AsJson" : "Mostrar JSON bruto",
- "AnyRequest.AsTable" : "Mostrar tabela de resultados",
+ "AnyRequest.AsTable" : "Mostrar tabela de resultados da consulta",
"AnyRequest.History" : "Histórico",
"AnyRequest.RepeatRequest" : "Refazer requisição",
"AnyRequest.RepeatRequestSelect" : "Repetir requisição a cada ",
@@ -51,6 +51,7 @@ i18n.setKeys({
"IndexInfoMenu.Metadata": "Metadados do índice",
"IndexCommand.TextToAnalyze": "Texto para analizar",
"IndexCommand.ShutdownMessage": "digite ''{0}'' para desligar {1}. Nó NÃO PODE ser reiniciado à partir dessa interface",
+ "IndexOverview.PageTitle": "Visão Geral dos Índices",
"IndexSelector.NameWithDocs": "{0} ({1} documentoss)",
"IndexSelector.SearchIndexForDocs": "Busca {0} por documentos onde:",
"FilterBrowser.OutputType": "Resultados: {0}",
@@ -66,28 +67,41 @@ i18n.setKeys({
"Nav.Info": "Informações",
"Nav.NodeStats": "Estatísticas do nó",
"Nav.Overview": "Visão Geral",
+ "Nav.Indices": "Índices",
"Nav.Plugins": "Plugins",
"Nav.Status": "Status",
+ "Nav.Templates": "Modelos",
"Nav.StructuredQuery": "Consulta Estruturada",
"NodeActionsMenu.Title": "Ações",
"NodeActionsMenu.Shutdown": "Desligar...",
"NodeInfoMenu.Title": "Informações",
"NodeInfoMenu.ClusterNodeInfo": "Informações do Nó do Cluster",
"NodeInfoMenu.NodeStats": "Estatísticas do Nó",
- "NodeType.Master": "master",
+ "NodeType.Client": "Cliente",
"NodeType.Coord": "Coordenador",
- "NodeType.Worker": "Nó trabalhador",
- "NodeType.Client": "Nó cliente",
+ "NodeType.Master": "Nó Mestre",
+ "NodeType.Tribe": "Nó Tribo",
+ "NodeType.Worker": "Nó Trabalhador",
+ "NodeType.Unassigned": "Não Atribuido",
"OptimizeForm.OptimizeIndex": "Otimizar {0}",
- "OptimizeForm.MaxSegments": "# Máximo De Segmentos",
+ "OptimizeForm.MaxSegments": "Num. Máximo De Segmentos",
"OptimizeForm.ExpungeDeletes": "Apenas Expurgar Exclusões",
- "OptimizeForm.FlushAfter": "Otimizar Depois Lave",
+ "OptimizeForm.FlushAfter": "Flush após Otimizar",
"OptimizeForm.WaitForMerge": "Esperar Por Merge",
- "Overview.PageTitle" : "Visão geral do Cluster",
+ "Overview.PageTitle": "Visão geral do Cluster",
"Output.JSON": "JSON",
"Output.Table": "Tabela",
"Output.CSV": "CSV",
"Output.ShowSource": "Mostrar consulta original",
+ "Preference.SortCluster": "Ordenar Cluster",
+ "Sort.ByName": "Por Nome",
+ "Sort.ByAddress": "Por Endereço",
+ "Sort.ByType": "Por Tipo",
+ "Preference.ViewAliases": "Ver Alias",
+ "ViewAliases.Grouped": "Agrupado",
+ "ViewAliases.List": "Lista",
+ "ViewAliases.None": "Nenhum",
+ "Overview.IndexFilter": "Filtar Índice",
"TableResults.Summary": "Buscado {0} de {1} shards. {2} resultados. {3} segundos",
"QueryFilter.AllIndices": "Todos os Índices",
"QueryFilter.AnyValue": "qualquer",
@@ -97,5 +111,64 @@ i18n.setKeys({
"QueryFilter.DateRangeHint.from": "De : {0}",
"QueryFilter.DateRangeHint.to": " A : {0}",
"Query.FailAndUndo": "Consulta falhou. Desfazendo últimas alterações",
- "StructuredQuery.ShowRawJson": "Mostrar JSON bruto"
+ "StructuredQuery.ShowRawJson": "Mostrar JSON bruto"
+});
+
+ i18n.setKeys({
+ "AnyRequest.TransformerHelp" : "\
+ <p>O Transformador de Resultados pode ser usado para transformar os resultados de uma consulta de json bruto para um formato mais útil.</p>\
+ <p>O transformador deve possuir o corpo de uma função javascript. O retorno da função se torna o novo valor passado para o json printer</p>\
+ <p>Exemplo:<br>\
+ <code>return root.hits.hits[0];</code> irá alterar a resposta para mostrar apenas o primeiro resultado<br>\
+ <code>return Object.keys(root.nodes).reduce(function(tot, node) { return tot + root.nodes[node].os.mem.used_in_bytes; }, 0);</code> irá retornar o total de memória utilizada pelo cluster<br></p>\
+ <p>As seguintes funções estão disponíveis e podem ser úteis no processamento de vetores e objetos<br>\
+ <ul>\
+ <li><i>Object.keys</i>(object) := array</li>\
+ <li>array.<i>forEach</i>(function(prop, index))</li>\
+ <li>array.<i>map</i>(function(prop, index)) := array</li>\
+ <li>array.<i>reduce</i>(function(accumulator, prop, index), initial_value) := final_value</li>\
+ </ul>\
+ <p>Durante a execução da opção Refazer Requisição, um parâmetro extra chamado prev é passado para a função de transformação. Isso permite fazer comparações e marcações cumulativas</p>\
+ <p>Exemplo:<br>\
+ <code>var la = [ root.nodes[Object.keys(root.nodes)[0]].os.load_average[0] ]; return prev ? la.concat(prev) : la;</code> irá retornar a carga média no primeiro nó do cluster no último minuto\
+ Essa informação pode ser inserida no Gráfico para fazer um gráfico de carga do nó\
+ "
+ });
+
+i18n.setKeys({
+ "AnyRequest.DisplayOptionsHelp" : "\
+ <p>Json Bruto: Exibe o resultado completo da consulta e da transformação no formato de JSON bruto</p>\
+ <p>Gráfico de Resultados: Para gerar um gráfico com seus resultados, utilize o tranformador de resultados para produzir um vetor de valores</p>\
+ <p>Tabela de Resultados da Consulta: Se sua consulta for uma busca, você pode exibir seus resultados no formato de uma tabela.</p>\
+ "
+});
+
+i18n.setKeys({
+ "QueryFilter.DateRangeHelp" : "\
+ <p>Campos do tipo Data aceitam consultas em linguagem natural (em inglês) para produzir um <i>From</i> e um <i>To</i> de modo a formar um intervalo dentro do qual os resultados são filtrados.</p>\
+ <p>Os seguintes formatos são suportados:</p>\
+ <ul>\
+ <li><b>Palavras-chave</b><br>\
+ <code>now<br> today<br> tomorrow<br> yesterday<br> last / this / next + week / month / year</code><br>\
+ buscam por datas de acordo com a palavra-chave. <code>last year</code> irá buscar tudo do último ano.</li>\
+ <li><b>Intervalos</b><br>\
+ <code>1000 secs<br> 5mins<br> 1day<br> 2days<br> 80d<br> 9 months<br> 2yrs</code> (espaços são opcionais, diversos sinônimos para qualificadores de intervalo)<br>\
+ Cria um intervalo de busca a partir de agora (<code>now</code>), extendendo este intervalo no passado e no futuro de acordo com intervalo especificado.</li>\
+ <li><b>Data/Hora (<i>DateTime</i>) e Data/Hora parcial</b><br>\
+ <code>2011<br> 2011-01<br> 2011-01-18<br> 2011-01-18 12<br> 2011-01-18 12:32<br> 2011-01-18 12:32:45</code><br>\
+ esses formatos especificam um intervalo especifico. <code>2011</code> irá buscar todo o ano de 2011, enquanto <code>2011-01-18 12:32:45</code> irá buscar apenas por resultados dentro deste intervalo de 1 segundo</li>\
+ <li><b>Tempo (<i>Time</i>) e Tempo parcial</b><br>\
+ <code>12<br> 12:32<br> 12:32:45</code><br>\
+ esses formatos buscam por um horário específico no dia atual. <code>12:32</code> irá buscar este minuto específico do dia</li>\
+ <li><b>Intervalos de Data</b><br>\
+ <code>2010 -&gt; 2011<br> last week -&gt; next week<br> 2011-05 -&gt;<br> &lt; now</code><br>\
+ Um intervalo de data é criado especificando-se duas datas em qualquer formato (Palavras-chave, Data/Hora ou Tempo) separados por &lt; ou -&gt; (ambos fazem a mesma coisa). Se a data de início ou fim do intervalo não for especificada é a mesma coisa que não impor limites na busca nesta direção.</li>\
+ <li><b>Intervalo de Data com Deslocamento</b><br>\
+ <code>2010 -> 1yr<br> 3mins < now</code>\
+ Busca a data especificada incluindo o intervalo na direção determinada pelo deslocamento</li>\
+ <li><b>Intervalos Bidirecionais</b><br>\
+ <code>2010-05-13 05:13 <> 10m<br> now <> 1yr<br> lastweek <> 1month</code><br>\
+ Idêntico ao exemplo anterior porém o intervalo é extendido em ambas as direções a partir da data especificada</li>\
+ </ul>\
+ "
});
View
5 src/app/lang/en_strings.js
@@ -97,6 +97,11 @@ i18n.setKeys({
"Sort.ByName": "By Name",
"Sort.ByAddress": "By Address",
"Sort.ByType": "By Type",
+ "Preference.ViewAliases": "View Aliases",
+ "ViewAliases.Grouped": "Grouped",
+ "ViewAliases.List": "List",
+ "ViewAliases.None": "None",
+ "Overview.IndexFilter": "Index Filter",
"TableResults.Summary": "Searched {0} of {1} shards. {2} hits. {3} seconds",
"QueryFilter.AllIndices": "All Indices",
"QueryFilter.AnyValue": "any",
View
84 src/app/lang/pt_strings.js
@@ -15,9 +15,9 @@ i18n.setKeys({
"AliasForm.NewAliasForIndex": "Novo apelido para {0}",
"AliasForm.DeleteAliasMessage": "digite ''{0}'' para deletar {1}. Não há como voltar atrás",
"AnyRequest.DisplayOptions" : "Mostrar Opções",
- "AnyRequest.AsGraph" : "Mostrar como grafo",
+ "AnyRequest.AsGraph" : "Mostrar como gráfico",
"AnyRequest.AsJson" : "Mostrar JSON bruto",
- "AnyRequest.AsTable" : "Mostrar tabela de resultados",
+ "AnyRequest.AsTable" : "Mostrar tabela de resultados da consulta",
"AnyRequest.History" : "Histórico",
"AnyRequest.RepeatRequest" : "Refazer requisição",
"AnyRequest.RepeatRequestSelect" : "Repetir requisição a cada ",
@@ -70,25 +70,25 @@ i18n.setKeys({
"Nav.Indices": "Índices",
"Nav.Plugins": "Plugins",
"Nav.Status": "Status",
- "Nav.Templates": "Templates",
+ "Nav.Templates": "Modelos",
"Nav.StructuredQuery": "Consulta Estruturada",
"NodeActionsMenu.Title": "Ações",
"NodeActionsMenu.Shutdown": "Desligar...",
"NodeInfoMenu.Title": "Informações",
"NodeInfoMenu.ClusterNodeInfo": "Informações do Nó do Cluster",
"NodeInfoMenu.NodeStats": "Estatísticas do Nó",
- "NodeType.Master": "Nó master",
- "NodeType.Coord": "Coordenador",
- "NodeType.Worker": "Nó trabalhador",
"NodeType.Client": "Nó cliente",
+ "NodeType.Coord": "Coordenador",
+ "NodeType.Master": "Nó mestre",
"NodeType.Tribe": "Nó tribo",
- "NodeType.Unassigned": "Não atribuído",
+ "NodeType.Worker": "Nó trabalhador",
+ "NodeType.Unassigned": "Não atribuido",
"OptimizeForm.OptimizeIndex": "Otimizar {0}",
"OptimizeForm.MaxSegments": "# Máximo De Segmentos",
"OptimizeForm.ExpungeDeletes": "Apenas Expurgar Exclusões",
- "OptimizeForm.FlushAfter": "Otimizar Depois Lave",
+ "OptimizeForm.FlushAfter": "Flush após Otimizar",
"OptimizeForm.WaitForMerge": "Esperar Por Merge",
- "Overview.PageTitle" : "Visão geral do Cluster",
+ "Overview.PageTitle": "Visão geral do Cluster",
"Output.JSON": "JSON",
"Output.Table": "Tabela",
"Output.CSV": "CSV",
@@ -97,6 +97,11 @@ i18n.setKeys({
"Sort.ByName": "Por nome",
"Sort.ByAddress": "Por endereço",
"Sort.ByType": "Por tipo",
+ "Preference.ViewAliases": "Ver Alias",
+ "ViewAliases.Grouped": "Agrupado",
+ "ViewAliases.List": "Lista",
+ "ViewAliases.None": "Nenhum",
+ "Overview.IndexFilter": "Filtar Índice",
"TableResults.Summary": "Buscado {0} de {1} shards. {2} resultados. {3} segundos",
"QueryFilter.AllIndices": "Todos os Índices",
"QueryFilter.AnyValue": "qualquer",
@@ -106,5 +111,64 @@ i18n.setKeys({
"QueryFilter.DateRangeHint.from": "De : {0}",
"QueryFilter.DateRangeHint.to": " A : {0}",
"Query.FailAndUndo": "Consulta falhou. Desfazendo últimas alterações",
- "StructuredQuery.ShowRawJson": "Mostrar JSON bruto"
+ "StructuredQuery.ShowRawJson": "Mostrar JSON bruto"
+});
+
+i18n.setKeys({
+ "AnyRequest.TransformerHelp" : "\
+ <p>O Transformador de Resultados pode ser usado para transformar os resultados de uma consulta de json bruto para um formato mais útil.</p>\
+ <p>O transformador deve possuir o corpo de uma função javascript. O retorno da função se torna o novo valor passado para o json printer</p>\
+ <p>Exemplo:<br>\
+ <code>return root.hits.hits[0];</code> irá alterar a resposta para mostrar apenas o primeiro resultado<br>\
+ <code>return Object.keys(root.nodes).reduce(function(tot, node) { return tot + root.nodes[node].os.mem.used_in_bytes; }, 0);</code> irá retornar o total de memória utilizada pelo cluster<br></p>\
+ <p>As seguintes funções estão disponíveis e podem ser úteis no processamento de vetores e objetos<br>\
+ <ul>\
+ <li><i>Object.keys</i>(object) := array</li>\
+ <li>array.<i>forEach</i>(function(prop, index))</li>\
+ <li>array.<i>map</i>(function(prop, index)) := array</li>\
+ <li>array.<i>reduce</i>(function(accumulator, prop, index), initial_value) := final_value</li>\
+ </ul>\
+ <p>Durante a execução da opção Refazer Requisição, um parâmetro extra chamado prev é passado para a função de transformação. Isso permite fazer comparações e marcações cumulativas</p>\
+ <p>Exemplo:<br>\
+ <code>var la = [ root.nodes[Object.keys(root.nodes)[0]].os.load_average[0] ]; return prev ? la.concat(prev) : la;</code> irá retornar a carga média no primeiro nó do cluster no último minuto\
+ Essa informação pode ser inserida no Gráfico para fazer um gráfico de carga do nó\
+ "
+});
+
+i18n.setKeys({
+ "AnyRequest.DisplayOptionsHelp" : "\
+ <p>Json Bruto: Exibe o resultado completo da consulta e da transformação no formato de JSON bruto</p>\
+ <p>Gráfico de Resultados: Para gerar um gráfico com seus resultados, utilize o tranformador de resultados para produzir um vetor de valores</p>\
+ <p>Tabela de Resultados da Consulta: Se sua consulta for uma busca, você pode exibir seus resultados no formato de uma tabela.</p>\
+ "
+});
+
+i18n.setKeys({
+ "QueryFilter.DateRangeHelp" : "\
+ <p>Campos do tipo Data aceitam consultas em linguagem natural (em inglês) para produzir um <i>From</i> e um <i>To</i> de modo a formar um intervalo dentro do qual os resultados são filtrados.</p>\
+ <p>Os seguintes formatos são suportados:</p>\
+ <ul>\
+ <li><b>Palavras-chave</b><br>\
+ <code>now<br> today<br> tomorrow<br> yesterday<br> last / this / next + week / month / year</code><br>\
+ buscam por datas de acordo com a palavra-chave. <code>last year</code> irá buscar tudo do último ano.</li>\
+ <li><b>Intervalos</b><br>\
+ <code>1000 secs<br> 5mins<br> 1day<br> 2days<br> 80d<br> 9 months<br> 2yrs</code> (espaços são opcionais, diversos sinônimos para qualificadores de intervalo)<br>\
+ Cria um intervalo de busca a partir de agora (<code>now</code>), extendendo este intervalo no passado e no futuro de acordo com intervalo especificado.</li>\
+ <li><b>Data/Hora (<i>DateTime</i>) e Data/Hora parcial</b><br>\
+ <code>2011<br> 2011-01<br> 2011-01-18<br> 2011-01-18 12<br> 2011-01-18 12:32<br> 2011-01-18 12:32:45</code><br>\
+ esses formatos especificam um intervalo especifico. <code>2011</code> irá buscar todo o ano de 2011, enquanto <code>2011-01-18 12:32:45</code> irá buscar apenas por resultados dentro deste intervalo de 1 segundo</li>\
+ <li><b>Tempo (<i>Time</i>) e Tempo parcial</b><br>\
+ <code>12<br> 12:32<br> 12:32:45</code><br>\
+ esses formatos buscam por um horário específico no dia atual. <code>12:32</code> irá buscar este minuto específico do dia</li>\
+ <li><b>Intervalos de Data</b><br>\
+ <code>2010 -&gt; 2011<br> last week -&gt; next week<br> 2011-05 -&gt;<br> &lt; now</code><br>\
+ Um intervalo de data é criado especificando-se duas datas em qualquer formato (Palavras-chave, Data/Hora ou Tempo) separados por &lt; ou -&gt; (ambos fazem a mesma coisa). Se a data de início ou fim do intervalo não for especificada é a mesma coisa que não impor limites na busca nesta direção.</li>\
+ <li><b>Intervalo de Data com Deslocamento</b><br>\
+ <code>2010 -> 1yr<br> 3mins < now</code>\
+ Busca a data especificada incluindo o intervalo na direção determinada pelo deslocamento</li>\
+ <li><b>Intervalos Bidirecionais</b><br>\
+ <code>2010-05-13 05:13 <> 10m<br> now <> 1yr<br> lastweek <> 1month</code><br>\
+ Idêntico ao exemplo anterior porém o intervalo é extendido em ambas as direções a partir da data especificada</li>\
+ </ul>\
+ "
});
View
10 src/app/ui/clusterOverview/clusterOverview.js
@@ -91,13 +91,13 @@
});
this._aliasRenderer = this.prefs.get( "clusterOverview-aliasRender" ) || "full";
this._aliasMenu = new ui.MenuButton({
- label: "View Aliases",
+ label: i18n.text( "Preference.ViewAliases" ),
menu: new ui.SelectMenuPanel({
value: this._aliasRenderer,
items: [
- { value: "full", text: "Grouped" },
- { value: "list", text: "List" },
- { value: "none", text: "None" } ],
+ { value: "full", text: i18n.text( "ViewAliases.Grouped" ) },
+ { value: "list", text: i18n.text( "ViewAliases.List" ) },
+ { value: "none", text: i18n.text( "ViewAliases.None" ) } ],
onSelect: function( panel, event ) {
this._aliasRenderer = event.value;
this.prefs.set( "clusterOverview-aliasRender", this._aliasRenderer );
@@ -107,7 +107,7 @@
});
this._indexFilter = new ui.TextField({
value: this.prefs.get("clusterOverview-indexFilter"),
- placeholder: "Index Filter",
+ placeholder: i18n.text( "Overview.IndexFilter" ),
onchange: function( indexFilter ) {
this.prefs.set("clusterOverview-indexFilter", indexFilter.val() );
this.draw_handler();
Please sign in to comment.
Something went wrong with that request. Please try again.