[Translations] Restored lost French translations (#3645)

* Added some missing translations

squash

* Restored previous French translations
This commit is contained in:
Jeff Niu 2017-10-10 17:52:39 -07:00 committed by Maxime Beauchemin
parent 76f8d33d81
commit 4a3c09187a
7 changed files with 382 additions and 303 deletions

View File

@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import { Button, Panel, Grid, Row, Col } from 'react-bootstrap'; import { Button, Panel, Grid, Row, Col } from 'react-bootstrap';
import Select from 'react-virtualized-select'; import Select from 'react-virtualized-select';
import visTypes from '../explore/stores/visTypes'; import visTypes from '../explore/stores/visTypes';
import { t } from '../locales';
const propTypes = { const propTypes = {
datasources: PropTypes.arrayOf(PropTypes.shape({ datasources: PropTypes.arrayOf(PropTypes.shape({
@ -50,30 +51,30 @@ export default class AddSliceContainer extends React.PureComponent {
render() { render() {
return ( return (
<div className="container"> <div className="container">
<Panel header={<h3>{('Create a new slice')}</h3>}> <Panel header={<h3>{t('Create a new slice')}</h3>}>
<Grid> <Grid>
<Row> <Row>
<Col xs={12} sm={6}> <Col xs={12} sm={6}>
<div> <div>
<p>{('Choose a datasource')}</p> <p>{t('Choose a datasource')}</p>
<Select <Select
clearable={false} clearable={false}
name="select-datasource" name="select-datasource"
onChange={this.changeDatasource.bind(this)} onChange={this.changeDatasource.bind(this)}
options={this.props.datasources} options={this.props.datasources}
placeholder={('Choose a datasource')} placeholder={t('Choose a datasource')}
value={this.state.datasourceValue} value={this.state.datasourceValue}
/> />
</div> </div>
<br /> <br />
<div> <div>
<p>{('Choose a visualization type')}</p> <p>{t('Choose a visualization type')}</p>
<Select <Select
clearable={false} clearable={false}
name="select-vis-type" name="select-vis-type"
onChange={this.changeVisType.bind(this)} onChange={this.changeVisType.bind(this)}
options={this.vizTypeOptions} options={this.vizTypeOptions}
placeholder={('Choose a visualization type')} placeholder={t('Choose a visualization type')}
value={this.state.visType} value={this.state.visType}
/> />
</div> </div>
@ -83,7 +84,7 @@ export default class AddSliceContainer extends React.PureComponent {
disabled={this.isBtnDisabled()} disabled={this.isBtnDisabled()}
onClick={this.gotoSlice.bind(this)} onClick={this.gotoSlice.bind(this)}
> >
{('Create new slice')} {t('Create new slice')}
</Button> </Button>
<br /><br /> <br /><br />
</Col> </Col>

View File

@ -180,7 +180,7 @@ export const controls = {
sort_x_axis: { sort_x_axis: {
type: 'SelectControl', type: 'SelectControl',
label: 'Sort X Axis', label: t('Sort X Axis'),
choices: sortAxisChoices, choices: sortAxisChoices,
clearable: false, clearable: false,
default: 'alpha_asc', default: 'alpha_asc',
@ -188,7 +188,7 @@ export const controls = {
sort_y_axis: { sort_y_axis: {
type: 'SelectControl', type: 'SelectControl',
label: 'Sort Y Axis', label: t('Sort Y Axis'),
choices: sortAxisChoices, choices: sortAxisChoices,
clearable: false, clearable: false,
default: 'alpha_asc', default: 'alpha_asc',
@ -278,9 +278,9 @@ export const controls = {
show_perc: { show_perc: {
type: 'CheckboxControl', type: 'CheckboxControl',
label: 'Show percentage', label: t('Show percentage'),
renderTrigger: true, renderTrigger: true,
description: 'Whether to include the percentage in the tooltip', description: t('Whether to include the percentage in the tooltip'),
default: true, default: true,
}, },
@ -689,9 +689,9 @@ export const controls = {
order_desc: { order_desc: {
type: 'CheckboxControl', type: 'CheckboxControl',
label: 'Sort Descending', label: t('Sort Descending'),
default: true, default: true,
description: 'Whether to sort descending or ascending', description: t('Whether to sort descending or ascending'),
}, },
rolling_type: { rolling_type: {
@ -1023,30 +1023,30 @@ export const controls = {
show_sqla_time_granularity: { show_sqla_time_granularity: {
type: 'CheckboxControl', type: 'CheckboxControl',
label: 'Show SQL Granularity Dropdown', label: t('Show SQL Granularity Dropdown'),
default: false, default: false,
description: 'Check to include SQL Granularity dropdown', description: t('Check to include SQL Granularity dropdown'),
}, },
show_sqla_time_column: { show_sqla_time_column: {
type: 'CheckboxControl', type: 'CheckboxControl',
label: 'Show SQL Time Column', label: t('Show SQL Time Column'),
default: false, default: false,
description: 'Check to include Time Column dropdown', description: t('Check to include Time Column dropdown'),
}, },
show_druid_time_granularity: { show_druid_time_granularity: {
type: 'CheckboxControl', type: 'CheckboxControl',
label: 'Show Druid Granularity Dropdown', label: t('Show Druid Granularity Dropdown'),
default: false, default: false,
description: 'Check to include Druid Granularity dropdown', description: t('Check to include Druid Granularity dropdown'),
}, },
show_druid_time_origin: { show_druid_time_origin: {
type: 'CheckboxControl', type: 'CheckboxControl',
label: 'Show Druid Time Origin', label: t('Show Druid Time Origin'),
default: false, default: false,
description: 'Check to include Time Origin dropdown', description: t('Check to include Time Origin dropdown'),
}, },
show_datatable: { show_datatable: {
@ -1430,24 +1430,25 @@ export const controls = {
significance_level: { significance_level: {
type: 'TextControl', type: 'TextControl',
label: 'Significance Level', label: t('Significance Level'),
default: 0.05, default: 0.05,
description: 'Threshold alpha level for determining significance', description: t('Threshold alpha level for determining significance'),
}, },
pvalue_precision: { pvalue_precision: {
type: 'TextControl', type: 'TextControl',
label: 'p-value precision', label: t('p-value precision'),
default: 6, default: 6,
description: 'Number of decimal places with which to display p-values', description: t('Number of decimal places with which to display p-values'),
}, },
liftvalue_precision: { liftvalue_precision: {
type: 'TextControl', type: 'TextControl',
label: 'Lift % precision', label: t('Lift percent precision'),
default: 4, default: 4,
description: 'Number of decimal places with which to display lift values', description: t('Number of decimal places with which to display lift values'),
}, },
column_collection: { column_collection: {
type: 'CollectionControl', type: 'CollectionControl',
label: t('Time Series Columns'), label: t('Time Series Columns'),

View File

@ -420,7 +420,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Pivot Options', label: t('Pivot Options'),
controlSetRows: [ controlSetRows: [
['pandas_aggfunc', 'pivot_margins'], ['pandas_aggfunc', 'pivot_margins'],
['number_format', 'combine_metric'], ['number_format', 'combine_metric'],
@ -466,7 +466,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Options', label: t('Options'),
controlSetRows: [ controlSetRows: [
['size_from', 'size_to'], ['size_from', 'size_to'],
['rotation'], ['rotation'],
@ -515,7 +515,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Options', label: t('Options'),
controlSetRows: [ controlSetRows: [
['domain_granularity'], ['domain_granularity'],
['subdomain_granularity'], ['subdomain_granularity'],
@ -608,7 +608,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Chart Options', label: t('Chart Options'),
controlSetRows: [ controlSetRows: [
['metric'], ['metric'],
['ranges', 'range_labels'], ['ranges', 'range_labels'],
@ -630,7 +630,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Chart Options', label: t('Chart Options'),
controlSetRows: [ controlSetRows: [
['compare_lag', 'compare_suffix'], ['compare_lag', 'compare_suffix'],
['y_axis_format', null], ['y_axis_format', null],
@ -655,7 +655,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Chart Options', label: t('Chart Options'),
controlSetRows: [ controlSetRows: [
['subheader'], ['subheader'],
['y_axis_format'], ['y_axis_format'],
@ -954,7 +954,7 @@ export const visTypes = {
], ],
}, },
{ {
label: 'Options', label: t('Options'),
controlSetRows: [ controlSetRows: [
['show_datatable', 'include_series'], ['show_datatable', 'include_series'],
], ],
@ -995,7 +995,7 @@ export const visTypes = {
validators: [v.nonEmpty], validators: [v.nonEmpty],
}, },
y_axis_bounds: { y_axis_bounds: {
label: 'Value bounds', label: t('Value bounds'),
renderTrigger: false, renderTrigger: false,
description: ( description: (
'Hard value bounds applied for color coding. Is only relevant ' + 'Hard value bounds applied for color coding. Is only relevant ' +
@ -1004,7 +1004,7 @@ export const visTypes = {
), ),
}, },
y_axis_format: { y_axis_format: {
label: 'Value Format', label: t('Value Format'),
}, },
}, },
}, },
@ -1139,13 +1139,13 @@ export const visTypes = {
}, },
paired_ttest: { paired_ttest: {
label: 'Time Series - Paired t-test', label: t('Time Series - Paired t-test'),
showOnExplore: true, showOnExplore: true,
requiresTime: true, requiresTime: true,
controlPanelSections: [ controlPanelSections: [
sections.NVD3TimeSeries[0], sections.NVD3TimeSeries[0],
{ {
label: 'Paired t-test', label: t('Paired t-test'),
expanded: false, expanded: false,
controlSetRows: [ controlSetRows: [
['significance_level'], ['significance_level'],

View File

@ -4,17 +4,18 @@
* as arguments and return something that evals to false if v is valid, * as arguments and return something that evals to false if v is valid,
* and an error message if not valid. * and an error message if not valid.
* */ * */
import { t } from '../locales';
export function numeric(v) { export function numeric(v) {
if (v && isNaN(v)) { if (v && isNaN(v)) {
return 'is expected to be a number'; return t('is expected to be a number');
} }
return false; return false;
} }
export function integer(v) { export function integer(v) {
if (v && (isNaN(v) || parseInt(v, 10) !== +(v))) { if (v && (isNaN(v) || parseInt(v, 10) !== +(v))) {
return 'is expected to be an integer'; return t('is expected to be an integer');
} }
return false; return false;
} }
@ -26,7 +27,7 @@ export function nonEmpty(v) {
v === '' || v === '' ||
(Array.isArray(v) && v.length === 0) (Array.isArray(v) && v.length === 0)
) { ) {
return 'cannot be empty'; return t('cannot be empty');
} }
return false; return false;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff