History
aria-activedescendant="historyReq{{ history.selectedIndex }}"
scrollto-activedescendant
ng-keydown="history.onKeyDown($event)"
- aria-label="History of sent requests"
+ aria-label="{{:: 'console.historyPage.requestListAriaLabel' | i18n: { defaultMessage: 'History of sent requests' } }}"
>
The Console UI is split into two panes: an editor pane (left) and a response pane (right).
+
-
Console understands requests in a compact format, similar to cURL:
+
-
While typing a request, Console will make suggestions which you can then accept by hitting Enter/Tab.
- These suggestions are made based on the request structure as well as your indices and types.
+
-
A few quick tips, while I have your attention
+
+
+
+
-
Submit requests to ES using the green triangle button.
-
Use the wrench menu for other useful things.
-
You can paste requests in cURL format and they will be translated to the Console syntax.
-
You can resize the editor and output panes by dragging the separator between them.
-
Study the keyboard shortcuts under the Help button. Good stuff in there!
+
+
+
+
+
diff --git a/x-pack/plugins/grokdebugger/public/register_feature.js b/x-pack/plugins/grokdebugger/public/register_feature.js
index 0dcca799136e7..82cd43bcbbcf7 100644
--- a/x-pack/plugins/grokdebugger/public/register_feature.js
+++ b/x-pack/plugins/grokdebugger/public/register_feature.js
@@ -8,11 +8,21 @@
import { FeatureCatalogueRegistryProvider, FeatureCatalogueCategory } from 'ui/registry/feature_catalogue';
-FeatureCatalogueRegistryProvider.register(() => {
+FeatureCatalogueRegistryProvider.register(i18n => {
return {
id: 'grokdebugger',
- title: 'Grok Debugger',
- description: 'Simulate and debug grok patterns for data transformation on ingestion.',
+ title: i18n('xpack.grokDebugger.registryProviderTitle', {
+ defaultMessage: '{grokLogParsingTool} Debugger',
+ values: {
+ grokLogParsingTool: 'Grok'
+ }
+ }),
+ description: i18n('xpack.grokDebugger.registryProviderDescription', {
+ defaultMessage: 'Simulate and debug {grokLogParsingTool} patterns for data transformation on ingestion.',
+ values: {
+ grokLogParsingTool: 'grok'
+ }
+ }),
icon: 'grokApp',
path: '/app/kibana#/dev_tools/grokdebugger',
showOnHomePage: false,
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/custom_patterns_input/custom_patterns_input.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/custom_patterns_input/custom_patterns_input.js
index e18af08b8ae66..87df1976b7dc8 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/custom_patterns_input/custom_patterns_input.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/custom_patterns_input/custom_patterns_input.js
@@ -15,6 +15,7 @@ import {
EuiSpacer
} from '@elastic/eui';
import { EDITOR } from '../../../../../common/constants';
+import { FormattedMessage } from '@kbn/i18n/react';
export function CustomPatternsInput({ value, onChange }) {
const sampleCustomPatterns = `POSTFIX_QUEUEID [0-9A-F]{10,11}
@@ -23,14 +24,24 @@ MSG message-id=<%{GREEDYDATA}>`;
return (
+ )}
data-test-subj="btnToggleCustomPatternsInput"
>
+ )}
>
{ sampleCustomPatterns }
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_input/event_input.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_input/event_input.js
index 2db505f3a3248..00ee2dbd9074c 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_input/event_input.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_input/event_input.js
@@ -11,11 +11,17 @@ import {
EuiCodeEditor
} from '@elastic/eui';
import { EDITOR } from '../../../../../common/constants';
+import { FormattedMessage } from '@kbn/i18n/react';
export function EventInput({ value, onChange }) {
return (
+ )}
fullWidth
data-test-subj="aceEventInput"
>
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_output/event_output.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_output/event_output.js
index 973f3728b5f89..f669ac7a61fdd 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_output/event_output.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/event_output/event_output.js
@@ -10,11 +10,17 @@ import {
EuiPanel,
EuiCodeEditor
} from '@elastic/eui';
+import { FormattedMessage } from '@kbn/i18n/react';
export function EventOutput({ value }) {
return (
+ )}
fullWidth
data-test-subj="aceEventOutput"
>
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/grok_debugger/grok_debugger.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/grok_debugger/grok_debugger.js
index dddb75336edaa..c42a66cdf561c 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/grok_debugger/grok_debugger.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/grok_debugger/grok_debugger.js
@@ -20,6 +20,7 @@ import { CustomPatternsInput } from '../custom_patterns_input';
import { EventOutput } from '../event_output';
import { GrokdebuggerRequest } from '../../../../models/grokdebugger_request';
import { toastNotifications } from 'ui/notify';
+import { FormattedMessage } from '@kbn/i18n/react';
export class GrokDebugger extends React.Component {
constructor(props) {
@@ -123,7 +124,10 @@ export class GrokDebugger extends React.Component {
isDisabled={this.isSimulateDisabled()}
data-test-subj="btnSimulate"
>
- Simulate
+
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/pattern_input/pattern_input.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/pattern_input/pattern_input.js
index 03411edddd25b..bb06da7183b9a 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/pattern_input/pattern_input.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/components/pattern_input/pattern_input.js
@@ -12,11 +12,17 @@ import {
} from '@elastic/eui';
import { EDITOR } from '../../../../../common/constants';
import { GrokMode } from '../../../../lib/ace';
+import { FormattedMessage } from '@kbn/i18n/react';
export function PatternInput({ value, onChange }) {
return (
+ )}
fullWidth
data-test-subj="acePatternInput"
>
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/directives/grokdebugger/grokdebugger.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/directives/grokdebugger/grokdebugger.js
index c59f1c0ed56e6..33e5c561d63a3 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/directives/grokdebugger/grokdebugger.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/directives/grokdebugger/grokdebugger.js
@@ -9,6 +9,7 @@ import 'plugins/grokdebugger/services/grokdebugger';
import { GrokDebugger } from '../../components/grok_debugger';
import { render } from 'react-dom';
import React from 'react';
+import { I18nProvider } from '@kbn/i18n/react';
const app = uiModules.get('xpack/grokdebugger');
@@ -18,7 +19,7 @@ app.directive('grokdebugger', function ($injector) {
return {
restrict: 'E',
link: (scope, el) => {
- render(, el[0]);
+ render(, el[0]);
}
};
});
diff --git a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/register.js b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/register.js
index 896c6f3278efa..9d8b26bf66b41 100644
--- a/x-pack/plugins/grokdebugger/public/sections/grokdebugger/register.js
+++ b/x-pack/plugins/grokdebugger/public/sections/grokdebugger/register.js
@@ -7,12 +7,14 @@
import { DevToolsRegistryProvider } from 'ui/registry/dev_tools';
import { XPackInfoProvider } from 'plugins/xpack_main/services/xpack_info';
-DevToolsRegistryProvider.register((Private) => {
+DevToolsRegistryProvider.register((Private, i18n) => {
const xpackInfo = Private(XPackInfoProvider);
return {
order: 6,
name: 'grokdebugger',
- display: 'Grok Debugger',
+ display: i18n('xpack.grokDebugger.displayName', {
+ defaultMessage: 'Grok Debugger',
+ }),
url: '#/dev_tools/grokdebugger',
disabled: !xpackInfo.get('features.grokdebugger.enableLink', false),
tooltipContent: xpackInfo.get('features.grokdebugger.message')
diff --git a/x-pack/plugins/grokdebugger/server/lib/check_license/check_license.js b/x-pack/plugins/grokdebugger/server/lib/check_license/check_license.js
index be2429e3cc577..b5c970b83e421 100644
--- a/x-pack/plugins/grokdebugger/server/lib/check_license/check_license.js
+++ b/x-pack/plugins/grokdebugger/server/lib/check_license/check_license.js
@@ -4,6 +4,8 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import { i18n } from '@kbn/i18n';
+
export function checkLicense(xpackLicenseInfo) {
// If, for some reason, we cannot get the license information
// from Elasticsearch, assume worst case and disable the Watcher UI
@@ -11,7 +13,12 @@ export function checkLicense(xpackLicenseInfo) {
return {
enableLink: false,
enableAPIRoute: false,
- message: 'You cannot use the Grok Debugger because license information is not available at this time.'
+ message: i18n.translate('xpack.grokDebugger.unavailableLicenseInformationMessage', {
+ defaultMessage: 'You cannot use the {grokLogParsingTool} Debugger because license information is not available at this time.',
+ values: {
+ grokLogParsingTool: 'Grok'
+ }
+ }),
};
}
@@ -23,7 +30,13 @@ export function checkLicense(xpackLicenseInfo) {
return {
enableLink: false,
enableAPIRoute: false,
- message: `You cannot use the Grok Debugger because your ${licenseType} license has expired.`
+ message: i18n.translate('xpack.grokDebugger.licenseHasExpiredMessage', {
+ defaultMessage: 'You cannot use the {grokLogParsingTool} Debugger because your {licenseType} license has expired.',
+ values: {
+ licenseType,
+ grokLogParsingTool: 'Grok'
+ },
+ }),
};
}
diff --git a/x-pack/plugins/grokdebugger/server/models/grokdebugger_response/grokdebugger_response.js b/x-pack/plugins/grokdebugger/server/models/grokdebugger_response/grokdebugger_response.js
index 575a2700dc589..2b4d60fd55a45 100644
--- a/x-pack/plugins/grokdebugger/server/models/grokdebugger_response/grokdebugger_response.js
+++ b/x-pack/plugins/grokdebugger/server/models/grokdebugger_response/grokdebugger_response.js
@@ -5,6 +5,7 @@
*/
import { get, isEmpty, omit } from 'lodash';
+import { i18n } from '@kbn/i18n';
/**
* This model captures the grok debugger response from upstream to be passed to
@@ -21,7 +22,14 @@ export class GrokdebuggerResponse {
const docs = get(upstreamGrokdebuggerResponse, 'docs');
const error = docs[0].error;
if (!isEmpty(error)) {
- const opts = { 'error': 'Provided Grok patterns do not match data in the input' };
+ const opts = { 'error': i18n.translate(
+ 'xpack.grokDebugger.patternsErrorMessage', {
+ defaultMessage: 'Provided {grokLogParsingTool} patterns do not match data in the input',
+ values: {
+ grokLogParsingTool: 'Grok'
+ }
+ }
+ ), };
return new GrokdebuggerResponse(opts);
}
const structuredEvent = omit(get(docs, '0.doc._source'), 'rawEvent');
diff --git a/x-pack/plugins/searchprofiler/public/app.js b/x-pack/plugins/searchprofiler/public/app.js
index 9dde1f173fc3d..ae720e587a735 100644
--- a/x-pack/plugins/searchprofiler/public/app.js
+++ b/x-pack/plugins/searchprofiler/public/app.js
@@ -29,7 +29,19 @@ import template from './templates/index.html';
import { defaultQuery } from './templates/default_query';
uiRoutes.when('/dev_tools/searchprofiler', {
- template: template
+ template: template,
+ controller: ($scope, i18n) => {
+ $scope.registerLicenseLinkLabel = i18n('xpack.searchProfiler.registerLicenseLinkLabel',
+ { defaultMessage: 'register a license' });
+ $scope.trialLicense = i18n('xpack.searchProfiler.trialLicenseTitle',
+ { defaultMessage: 'Trial' });
+ $scope.basicLicense = i18n('xpack.searchProfiler.basicLicenseTitle',
+ { defaultMessage: 'Basic' });
+ $scope.goldLicense = i18n('xpack.searchProfiler.goldLicenseTitle',
+ { defaultMessage: 'Gold' });
+ $scope.platinumLicense = i18n('xpack.searchProfiler.platinumLicenseTitle',
+ { defaultMessage: 'Platinum' });
+ },
});
uiModules
diff --git a/x-pack/plugins/searchprofiler/public/directives/highlight_details/index.html b/x-pack/plugins/searchprofiler/public/directives/highlight_details/index.html
index 901c5bebe353f..324c96ad7e80f 100644
--- a/x-pack/plugins/searchprofiler/public/directives/highlight_details/index.html
+++ b/x-pack/plugins/searchprofiler/public/directives/highlight_details/index.html
@@ -2,15 +2,38 @@
{{detailRow.indexName}}
+ tooltip="{{:: 'xpack.searchProfiler.profileTree.cumulativeTimeTooltip' | i18n: { defaultMessage: 'The cumulative time of all shards in the index. Note: this is not wall-clock time, as shards can execute in parallel.' } }}">
+