Merge pull request #777 from martialblog/de-DE

Add German Translation for Mailtrain v2
This commit is contained in:
Tomas Bures 2019-11-13 11:23:42 +02:00 committed by GitHub
commit 7558178bf4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1071 additions and 28 deletions

View file

@ -401,7 +401,7 @@ export default class CUD extends Component {
}
if (!state.getIn(['data_sourceCustom_tag_language', 'value'])) {
state.setIn(['data_sourceCustom_tag_language', 'error'], t('Tag language must be selected'));
state.setIn(['data_sourceCustom_tag_language', 'error'], t('tagLanguageMustBeSelected'));
}
if (customTemplateTypeKey) {
@ -732,7 +732,7 @@ export default class CUD extends Component {
templateEdit = <div>
<Dropdown id="data_sourceCustom_type" label={t('type')} options={this.customTemplateTypeOptions}/>
<Dropdown id="data_sourceCustom_tag_language" label={t('Tag language')} options={this.customTemplateTagLanguageOptions} disabled={isEdit}/>
<Dropdown id="data_sourceCustom_tag_language" label={t('tagLanguage')} options={this.customTemplateTagLanguageOptions} disabled={isEdit}/>
{customTemplateTypeForm}
</div>;

View file

@ -131,7 +131,7 @@ export default class CustomContent extends Component {
const t = this.props.t;
if (!state.getIn(['data_sourceCustom_tag_language', 'value'])) {
state.setIn(['data_sourceCustom_tag_language', 'error'], t('Tag language must be selected'));
state.setIn(['data_sourceCustom_tag_language', 'error'], t('tagLanguageMustBeSelected'));
} else {
state.setIn(['data_sourceCustom_tag_language', 'error'], null);
}
@ -277,7 +277,7 @@ export default class CustomContent extends Component {
{customTemplateTypeKey && this.templateTypes[customTemplateTypeKey].typeName}
</StaticField>
<Dropdown id="data_sourceCustom_tag_language" label={t('Tag language')} options={this.customTemplateTagLanguageOptions} disabled={true}/>
<Dropdown id="data_sourceCustom_tag_language" label={t('tagLanguage')} options={this.customTemplateTagLanguageOptions} disabled={true}/>
{customTemplateTypeKey && getTypeForm(this, customTemplateTypeKey, true)}

View file

@ -12,12 +12,13 @@ import {createComponentMixin} from "./decorator-helpers";
import lang_en_US_common from "../../../locales/en-US/common";
import lang_es_ES_common from "../../../locales/es-ES/common";
import lang_pt_BR_common from "../../../locales/pt-BR/common";
import lang_de_DE_common from "../../../locales/de-DE/common";
const resourcesCommon = {
'en-US': lang_en_US_common,
'es-ES': lang_es_ES_common,
'pt-BR': lang_pt_BR_common,
'de-DE': lang_de_DE_common,
'fk-FK': convertToFake(lang_en_US_common)
};

View file

@ -277,7 +277,7 @@ export default class CUD extends Component {
const label = matches[2].trim();
options.push({ key, label });
} else {
errors.push(t('errrorOnLineLine', { line: lineIdx + 1}));
errors.push(t('errorOnLineLine', { line: lineIdx + 1}));
}
}
}
@ -511,7 +511,7 @@ export default class CUD extends Component {
<InputField id="key" label={t('mergeTag-1')}/>
<TextArea id="help" label={t('Help text')}/>
<TextArea id="help" label={t('helpText')}/>
{fieldSettings}
@ -532,4 +532,4 @@ export default class CUD extends Component {
</div>
);
}
}
}

View file

@ -171,7 +171,7 @@ export default class CUD extends Component {
}
if (!state.getIn(['tag_language', 'value'])) {
state.setIn(['tag_language', 'error'], t('Tag language must be selected'));
state.setIn(['tag_language', 'error'], t('tagLanguageMustBeSelected'));
}
if (typeKey) {
@ -320,7 +320,7 @@ export default class CUD extends Component {
{ data: 1, title: t('name') },
{ data: 2, title: t('description') },
{ data: 3, title: t('type'), render: data => this.templateTypes[data].typeName },
{ data: 4, title: t('Tag language'), render: data => this.tagLanguages[data].name },
{ data: 4, title: t('tagLanguage'), render: data => this.tagLanguages[data].name },
{ data: 5, title: t('created'), render: data => moment(data).fromNow() },
{ data: 6, title: t('namespace') },
];
@ -376,7 +376,7 @@ export default class CUD extends Component {
{typeForm}
<Dropdown id="tag_language" label={t('Tag language')} options={tagLanguageOptions} disabled={isEdit}/>
<Dropdown id="tag_language" label={t('tagLanguage')} options={tagLanguageOptions} disabled={isEdit}/>
</>
}

View file

@ -45,7 +45,7 @@ export default class List extends Component {
{ data: 1, title: t('name') },
{ data: 2, title: t('description') },
{ data: 3, title: t('type'), render: data => this.templateTypes[data].typeName },
{ data: 4, title: t('Tag language'), render: data => this.tagLanguages[data].name },
{ data: 4, title: t('tagLanguage'), render: data => this.tagLanguages[data].name },
{ data: 5, title: t('created'), render: data => moment(data).fromNow() },
{ data: 6, title: t('namespace') },
{

View file

@ -132,7 +132,7 @@ export default class CUD extends Component {
}
if (!state.getIn(['tag_language', 'value'])) {
state.setIn(['tag_language', 'error'], t('Tag language must be selected'));
state.setIn(['tag_language', 'error'], t('tagLanguageMustBeSelected'));
} else {
state.setIn(['tag_language', 'error'], null);
}
@ -218,7 +218,7 @@ export default class CUD extends Component {
<Dropdown id="type" label={t('type')} options={this.typeOptions}/>
}
<Dropdown id="tag_language" label={t('Tag language')} options={tagLanguageOptions}/>
<Dropdown id="tag_language" label={t('tagLanguage')} options={tagLanguageOptions}/>
<NamespaceSelect/>

View file

@ -45,7 +45,7 @@ export default class List extends Component {
{ data: 1, title: t('name') },
{ data: 2, title: t('description') },
{ data: 3, title: t('type'), render: data => this.templateTypes[data].typeName },
{ data: 4, title: t('Tag language'), render: data => this.tagLanguages[data].name },
{ data: 4, title: t('tagLanguage'), render: data => this.tagLanguages[data].name },
{ data: 5, title: t('created'), render: data => moment(data).fromNow() },
{ data: 6, title: t('namespace') },
{

1032
locales/de-DE/common.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -267,7 +267,7 @@
"viewStatistics": "View statistics",
"campaignIsBeingSentOut": "Campaign is being sent out.",
"stop": "Stop",
"allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.",
"allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you want to send this campaign to new subscribers.",
"continue": "Continue",
"reset": "Reset",
"yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.",
@ -398,7 +398,7 @@
"defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date",
"defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date",
"defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options",
"errrorOnLineLine": "Errror on line {{ line }}",
"errorOnLineLine": "Error on line {{ line }}",
"fieldUpdated": "Field updated",
"fieldCreated": "Field created",
"notVisible": "Not visible",
@ -1026,4 +1026,4 @@
"thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter",
"thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number",
"thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character"
}
}

View file

@ -267,7 +267,7 @@
"viewStatistics": "View statistics",
"campaignIsBeingSentOut": "Campaign is being sent out.",
"stop": "Stop",
"allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.",
"allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you want to send this campaign to new subscribers.",
"continue": "Continue",
"reset": "Reset",
"yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.",
@ -398,7 +398,7 @@
"defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date",
"defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date",
"defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options",
"errrorOnLineLine": "Errror on line {{ line }}",
"errorOnLineLine": "Error on line {{ line }}",
"fieldUpdated": "Field updated",
"fieldCreated": "Field created",
"notVisible": "Not visible",
@ -1025,5 +1025,8 @@
"thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter",
"thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter",
"thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number",
"thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character"
}
"thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character",
"tagLanguage": "Tag language",
"tagLanguageMustBeSelected": "Tag language must be selected",
"helpText": "Help text"
}

View file

@ -277,7 +277,7 @@
"viewStatistics": "View statistics",
"campaignIsBeingSentOut": "Campaign is being sent out.",
"stop": "Stop",
"allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.",
"allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you want to send this campaign to new subscribers.",
"continue": "Continue",
"reset": "Reset",
"yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.",
@ -425,7 +425,7 @@
"defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date",
"defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date",
"defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options",
"errrorOnLineLine": "Errror on line {{ line }}",
"errorOnLineLine": "Error on line {{ line }}",
"fieldUpdated": "Field updated",
"fieldUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field updated",
"fieldCreated": "Field created",
@ -1105,4 +1105,4 @@
"thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter",
"thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number",
"thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character"
}
}

View file

@ -17,7 +17,7 @@ const deepKeys = require('deep-keys');
const localeMain = 'en-US/common.json';
const localeMainPrevious = 'en-US-last-run/common.json';
const localeTranslations = ['es-ES/common.json', 'pt-BR/common.json'];
const localeTranslations = ['es-ES/common.json', 'pt-BR/common.json', 'de-DE/common.json'];
const searchDirs = [
'../client/src',
'../server',

View file

@ -426,7 +426,7 @@
"defaultValueIsNotAProperlyFormattedDate": "O valor padrão não é uma data formatada corretamente",
"defaultValueIsNotAProperlyFormatted": "O valor padrão não é uma data de aniversário formatada corretamente",
"defaultValueIsNotOneOfTheAllowedOptions": "O valor padrão não é uma das opções permitidas",
"errrorOnLineLine": "Errror on line {{line}}",
"errorOnLineLine": "Error on line {{line}}",
"fieldUpdated": "Field updated",
"fieldUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field updated",
"fieldCreated": "Field created",
@ -1108,4 +1108,4 @@
"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"
}
}

View file

@ -49,6 +49,7 @@ enabledLanguages:
- en-US
- es-ES
- pt-BR
- de-DE
- fk-FK
# Inject custom scripts in subscription/layout.mjml.hbs

View file

@ -12,6 +12,7 @@ defaultLanguage: en-US
enabledLanguages:
- en-US
- es-ES
- de-DE
- fk-FK
mysql:

View file

@ -56,6 +56,11 @@ const langCodes = {
getLabel: t => 'Português',
longCode: 'pt-BR'
},
'de-DE': {
getShortLabel: t => 'DE',
getLabel: t => 'Deutsch',
longCode: 'de-DE'
},
'fk-FK': {
getShortLabel: t => 'FK',
getLabel: t => 'Fake',