Merge pull request #934 from podemos-info/development

Added DataTable translations from aplication locales (V2)
This commit is contained in:
Tomas Bures 2020-08-26 00:54:49 +02:00 committed by GitHub
commit 90fb72fc6f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 734 additions and 575 deletions

View file

@ -108,13 +108,13 @@ export default class Clone extends Component {
return (
<div>
<Title>{t('Create campaign')}</Title>
<Title>{t('createCampaign')}</Title>
<Form stateOwner={this} onSubmitAsync={::this.submitHandler}>
<TableSelect id="sourceCampaign" label={t('campaign')} withHeader dropdown dataUrl='rest/campaigns-table' columns={campaignsColumns} order={[4, 'desc']} selectionLabelIndex={1} help={t('Select campaign to be cloned.')}/>
<TableSelect id="sourceCampaign" label={t('campaign')} withHeader dropdown dataUrl='rest/campaigns-table' columns={campaignsColumns} order={[4, 'desc']} selectionLabelIndex={1} help={t('selectCampaignToBeCloned')}/>
<ButtonRow>
<Button type="submit" className="btn-primary" icon="chevron-right" label={t('Next')}/>
<Button type="submit" className="btn-primary" icon="chevron-right" label={t('next')}/>
</ButtonRow>
</Form>
</div>

View file

@ -65,7 +65,7 @@ export default class List extends Component {
columns.push({ data: 4, title: t('type'), render: data => this.campaignTypeLabels[data] });
if (!channel) {
columns.push({ data: 5, title: t('Channel') });
columns.push({ data: 5, title: t('channel') });
}
columns.push({
@ -164,7 +164,7 @@ export default class List extends Component {
} else {
createButton = (
<>
<LinkButton to={`/campaigns/clone`} className="btn-primary" icon="clone" label={t('Clone Campaign')}/>
<LinkButton to={`/campaigns/clone`} className="btn-primary" icon="clone" label={t('cloneCampaign')}/>
<ButtonDropdown buttonClassName="btn-primary" menuClassName="dropdown-menu-right" icon="plus" label={t('createCampaign')}>
<DropdownLink to="/campaigns/create-regular">{t('regular')}</DropdownLink>
<DropdownLink to="/campaigns/create-rss">{t('rss')}</DropdownLink>

View file

@ -179,7 +179,7 @@ function getMenus(t) {
panelRender: props => <CampaignsCUD action="create" type={CampaignType.TRIGGERED} permissions={props.permissions} />
},
'clone': {
title: t('Create Campaign'),
title: t('createCampaign'),
link: params => `/campaigns/clone`,
panelRender: props => <Clone />,
children: {

View file

@ -368,17 +368,17 @@ export default class CUD extends Component {
if (submitResult) {
if (this.props.entity) {
if (submitAndLeave) {
this.navigateToWithFlashMessage('/channels', 'success', t('Channel updated'));
this.navigateToWithFlashMessage('/channels', 'success', t('channelUpdated'));
} else {
await this.getFormValuesFromURL(`rest/channels/${this.props.entity.id}`);
this.enableForm();
this.setFormStatusMessage('success', t('Channel updated'));
this.setFormStatusMessage('success', t('channelUpdated'));
}
} else {
if (submitAndLeave) {
this.navigateToWithFlashMessage('/channels', 'success', t('Channel created'));
this.navigateToWithFlashMessage('/channels', 'success', t('channelCreated'));
} else {
this.navigateToWithFlashMessage(`/channels/${submitResult}/edit`, 'success', t('Channel created'));
this.navigateToWithFlashMessage(`/channels/${submitResult}/edit`, 'success', t('channelCreated'));
}
}
} else {
@ -501,11 +501,11 @@ export default class CUD extends Component {
deleteUrl={`rest/channels/${this.props.entity.id}`}
backUrl={`/channels/${this.props.entity.id}/edit`}
successUrl="/channels"
deletingMsg={t('Deleting channel ...')}
deletedMsg={t('Channel deleted')}/>
deletingMsg={t('deletingChannel')}
deletedMsg={t('channelDeleted')}/>
}
<Title>{isEdit ? t('Edit Channel') : t('Create Channel')}</Title>
<Title>{isEdit ? t('editChannel') : t('createChannel')}</Title>
{!canModify &&
<div className="alert alert-warning" role="alert">

View file

@ -61,7 +61,7 @@ export default class List extends Component {
if (perms.includes('view')) {
actions.push({
label: <Icon icon="inbox" title={t('Campaigns')}/>,
label: <Icon icon="inbox" title={t('campaigns')}/>,
link: `/channels/${data[0]}/campaigns`
});
}
@ -80,7 +80,7 @@ export default class List extends Component {
});
}
tableAddDeleteButton(actions, this, perms, `rest/channels/${data[0]}`, data[1], t('Deleting channel ...'), t('Channel deleted'));
tableAddDeleteButton(actions, this, perms, `rest/channels/${data[0]}`, data[1], t('deletingChannel'), t('channelDeleted'));
return actions;
}
@ -92,11 +92,11 @@ export default class List extends Component {
{tableRestActionDialogRender(this)}
<Toolbar>
{createPermitted &&
<LinkButton to="/channels/create" className="btn-primary" icon="plus" label={t('Create Channel')}/>
<LinkButton to="/channels/create" className="btn-primary" icon="plus" label={t('createChannel')}/>
}
</Toolbar>
<Title>{t('Channels')}</Title>
<Title>{t('channels')}</Title>
<Table ref={node => this.table = node} withHeader dataUrl="rest/channels-table" columns={columns} />
</div>

View file

@ -12,7 +12,7 @@ import {namespaceCheckPermissions} from "../lib/namespace";
function getMenus(t) {
return {
'channels': {
title: t('Channels'),
title: t('channels'),
link: '/channels',
checkPermissions: {
createChannel: {
@ -29,14 +29,14 @@ function getMenus(t) {
panelRender: props => <ChannelsList permissions={props.permissions}/>,
children: {
':channelId([0-9]+)': {
title: resolved => t('Channel "{{name}}"', {name: ellipsizeBreadcrumbLabel(resolved.channel.name)}),
title: resolved => t('channelName', {name: ellipsizeBreadcrumbLabel(resolved.channel.name)}),
resolve: {
channel: params => `rest/channels/${params.channelId}`
},
link: params => `/channels/${params.channelId}/campaigns`,
navs: {
campaigns: {
title: t('Campaigns'),
title: t('campaigns'),
link: params => `/channels/${params.channelId}/campaigns`,
visible: resolved => resolved.channel.permissions.includes('view'),
panelRender: props => <CampaignsList channel={props.resolved.channel} permissions={props.permissions} />
@ -64,7 +64,7 @@ function getMenus(t) {
}
},
'create': {
title: t('Create Channel'),
title: t('createChannel'),
panelRender: props => <ChannelsCUD action="create" permissions={props.permissions} />
}
}

View file

@ -320,6 +320,31 @@ class Table extends Component {
});
};
const t = this.props.t;
dtOptions.language = {
"sEmptyTable": t("dTsEmptyTable"),
"sInfo": t("dTsInfo"),
"sInfoEmpty": t("dTsInfoEmpty"),
"sInfoFiltered": t("dTsInfoFiltered"),
"sInfoPostFix": t("dTsInfoPostFix"),
"sInfoThousands": t("dTsInfoThousands"),
"sLengthMenu": t("dTsLengthMenu"),
"sLoadingRecords": t("dTsLoadingRecords"),
"sProcessing": t("dTsProcessing"),
"sSearch": t("dTsSearch"),
"sZeroRecords": t("dTsZeroRecords"),
"oPaginate": {
"sFirst": t("dTsFirst"),
"sLast": t("dTsLast"),
"sNext": t("dTsNext"),
"sPrevious": t("dTsPrevious")
},
"oAria": {
"sSortAscending": t("dTsSortAscending"),
"sSortDescending": t("dTsSortDescending")
}
}
dtOptions.initComplete = function() {
self.jqSelectInfo = jQuery('<div class="dataTable_selection_info"/>');
const jqWrapper = jQuery(self.domTable).parents('.dataTables_wrapper');

View file

@ -225,8 +225,8 @@ export default class CUD extends Component {
const canDelete = isEdit && userId !== 1 && mailtrainConfig.user.id !== userId;
const rolesColumns = [
{ data: 1, title: "Name" },
{ data: 2, title: "Description" },
{ data: 1, title: t("name") },
{ data: 2, title: t("description") },
];

View file

@ -29,15 +29,15 @@ export default class List extends Component {
const t = this.props.t;
const columns = [
{ data: 1, title: "Username" },
{ data: 1, title: t("username") },
];
if (mailtrainConfig.isAuthMethodLocal) {
columns.push({ data: 2, title: "Full Name" });
columns.push({ data: 2, title: t("fullName") });
}
columns.push({ data: 3, title: "Namespace" });
columns.push({ data: 4, title: "Role" });
columns.push({ data: 3, title: t("namespace") });
columns.push({ data: 4, title: t("role") });
columns.push({
actions: data => {

View file

@ -1028,5 +1028,41 @@
"thePasswordMustContainAtLeastOneSpecial": "Das Passwort muss mindestens ein Sonderzeichen enthalten",
"tagLanguage": "Tag Sprache",
"tagLanguageMustBeSelected": "Tag Sprache muss ausgewählt werden",
"helpText": "Hilfe-Text"
"helpText": "Hilfe-Text",
"dTsEmptyTable": "Keine Daten in der Tabelle vorhanden",
"dTsInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
"dTsInfoEmpty": "Keine Daten vorhanden",
"dTsInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
"dTsInfoPostFix": "",
"dTsInfoThousands": ".",
"dTsLengthMenu": "_MENU_ Einträge anzeigen",
"dTsLoadingRecords": "Wird geladen ..",
"dTsProcessing": "Bitte warten ..",
"dTsSearch": "Suchen",
"dTsZeroRecords": "Keine Einträge vorhanden",
"dTsFirst": "Erste",
"dTsLast": "Zurück",
"dTsNext": "Nächste",
"dTsPrevious": "Letzte",
"dTsSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
"dTsSortDescending": ": aktivieren, um Spalte absteigend zu sortieren",
"saving": "Saving ...",
"channelUpdated": "Channel updated",
"channelCreated": "Channel created",
"deletingChannel": "Deleting channel ...",
"channelDeleted": "Channel deleted",
"editChannel": "Edit Channel",
"createChannel": "Create Channel",
"sendConfiguration": "Send configuration",
"sendConfiguration_plural": "Send configurations",
"disableOpenedTracking": "Disable opened tracking",
"disableClickedTracking": "Disable clicked tracking",
"save": "Save",
"saveAndLeave": "Save and leave",
"channels": "Channels",
"channel": "Channel",
"channelName": "Channel \"{{name}}\"",
"cloneCampaign": "Clone Campaign",
"next": "Next",
"selectCampaignToBeCloned": "Select campaign to be cloned."
}

View file

@ -1034,5 +1034,41 @@
"thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character",
"tagLanguage": "Tag language",
"tagLanguageMustBeSelected": "Tag language must be selected",
"helpText": "Help text"
"helpText": "Help text",
"dTsEmptyTable": "No data available in table",
"dTsInfo": "Showing _START_ to _END_ of _TOTAL_ entries",
"dTsInfoEmpty": "Showing 0 to 0 of 0 entries",
"dTsInfoFiltered": "(filtered from _MAX_ total entries)",
"dTsInfoPostFix": "",
"dTsInfoThousands": ",",
"dTsLengthMenu": "Show _MENU_ entries",
"dTsLoadingRecords": "Loading...",
"dTsProcessing": "Processing...",
"dTsSearch": "Search:",
"dTsZeroRecords": "No matching records found",
"dTsFirst": "Firs",
"dTsLast": "Last",
"dTsNext": "Next",
"dTsPrevious": "Previous",
"dTsSortAscending": ": activate to sort column ascending",
"dTsSortDescending": ": activate to sort column descending",
"saving": "Saving ...",
"channelUpdated": "Channel updated",
"channelCreated": "Channel created",
"deletingChannel": "Deleting channel ...",
"channelDeleted": "Channel deleted",
"editChannel": "Edit Channel",
"createChannel": "Create Channel",
"sendConfiguration": "Send configuration",
"sendConfiguration_plural": "Send configurations",
"disableOpenedTracking": "Disable opened tracking",
"disableClickedTracking": "Disable clicked tracking",
"save": "Save",
"saveAndLeave": "Save and leave",
"channels": "Channels",
"channel": "Channel",
"channelName": "Channel \"{{name}}\"",
"cloneCampaign": "Clone Campaign",
"next": "Next",
"selectCampaignToBeCloned": "Select campaign to be cloned."
}

File diff suppressed because it is too large Load diff

View file

@ -1029,5 +1029,41 @@
"thePasswordMustContainAtLeastOneSpecial": "Le mot de passe doit contenir au moins un caractère spécial",
"tagLanguage": "Langue du tag",
"tagLanguageMustBeSelected": "La langue du tag doit être sélectionnée",
"helpText": "Texte d'aide"
"helpText": "Texte d'aide",
"dTsEmptyTable": "Aucune donnée disponible dans le tableau",
"dTsInfo": "Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments",
"dTsInfoEmpty": "Affichage de l'élément 0 à 0 sur 0 élément",
"dTsInfoFiltered": "(filtré à partir de _MAX_ éléments au total)",
"dTsInfoPostFix": "",
"dTsInfoThousands": ",",
"dTsLengthMenu": "Afficher _MENU_ éléments",
"dTsLoadingRecords": "Chargement...",
"dTsProcessing": "Traitement...",
"dTsSearch": "Rechercher :",
"dTsZeroRecords": "Aucun élément correspondant trouvé",
"dTsFirst": "Premier",
"dTsLast": "Dernier",
"dTsNext": "Suivant",
"dTsPrevious": "Précédent",
"dTsSortAscending": ": activer pour trier la colonne par ordre croissant",
"dTsSortDescending": ": activer pour trier la colonne par ordre décroissant",
"saving": "Saving ...",
"channelUpdated": "Channel updated",
"channelCreated": "Channel created",
"deletingChannel": "Deleting channel ...",
"channelDeleted": "Channel deleted",
"editChannel": "Edit Channel",
"createChannel": "Create Channel",
"sendConfiguration": "Send configuration",
"sendConfiguration_plural": "Send configurations",
"disableOpenedTracking": "Disable opened tracking",
"disableClickedTracking": "Disable clicked tracking",
"save": "Save",
"saveAndLeave": "Save and leave",
"channels": "Channels",
"channel": "Channel",
"channelName": "Channel \"{{name}}\"",
"cloneCampaign": "Clone Campaign",
"next": "Next",
"selectCampaignToBeCloned": "Select campaign to be cloned."
}

View file

@ -1107,5 +1107,41 @@
"thePasswordMustContainAtLeastOne": "A senha deve conter pelo menos uma letra minúscula",
"thePasswordMustContainAtLeastOne-1": "A senha deve conter pelo menos uma letra maiúscula",
"thePasswordMustContainAtLeastOneNumber": "A senha deve conter pelo menos um número",
"thePasswordMustContainAtLeastOneSpecial": "A senha deve conter pelo menos um caractere especial"
"thePasswordMustContainAtLeastOneSpecial": "A senha deve conter pelo menos um caractere especial",
"dTsEmptyTable": "Não foi encontrado nenhum registo",
"dTsInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos",
"dTsInfoEmpty": "Mostrando de 0 até 0 de 0 registos",
"dTsInfoFiltered": "(filtrado de _MAX_ registos no total)",
"dTsInfoPostFix": "",
"dTsInfoThousands": ".",
"dTsLengthMenu": "Mostrar _MENU_ registos",
"dTsLoadingRecords": "A carregar...",
"dTsProcessing": "A processar...",
"dTsSearch": "Procurar:",
"dTsZeroRecords": "Não foram encontrados resultados",
"dTsFirst": "Primeiro",
"dTsLast": "Último",
"dTsNext": "Seguinte",
"dTsPrevious": "Anterior",
"dTsSortAscending": ": Ordenar colunas de forma ascendente",
"dTsSortDescending": ": Ordenar colunas de forma descendente",
"saving": "Saving ...",
"channelUpdated": "Channel updated",
"channelCreated": "Channel created",
"deletingChannel": "Deleting channel ...",
"channelDeleted": "Channel deleted",
"editChannel": "Edit Channel",
"createChannel": "Create Channel",
"sendConfiguration": "Send configuration",
"sendConfiguration_plural": "Send configurations",
"disableOpenedTracking": "Disable opened tracking",
"disableClickedTracking": "Disable clicked tracking",
"save": "Save",
"saveAndLeave": "Save and leave",
"channels": "Channels",
"channel": "Channel",
"channelName": "Channel \"{{name}}\"",
"cloneCampaign": "Clone Campaign",
"next": "Next",
"selectCampaignToBeCloned": "Select campaign to be cloned."
}