mirror of
https://github.com/apache/superset.git
synced 2024-09-12 08:39:45 -04:00
[Translations] Restored lost French translations (#3645)
* Added some missing translations squash * Restored previous French translations
This commit is contained in:
parent
76f8d33d81
commit
4a3c09187a
@ -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>
|
||||||
|
@ -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'),
|
||||||
|
@ -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'],
|
||||||
|
@ -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
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user