Updated translations

This commit is contained in:
Emanuel Schütze 2019-02-11 12:39:41 +01:00
parent 9c68155d9c
commit 279d1323fa
15 changed files with 303 additions and 35 deletions

View File

@ -17,7 +17,7 @@
"lint": "ng lint",
"e2e": "ng e2e",
"compodoc": "./node_modules/.bin/compodoc --hideGenerator -p src/tsconfig.app.json -n 'OpenSlides Documentation' -d ../Compodoc -s -w -t -o --port",
"extract": "ngx-translate-extract -i ./src -o ./src/assets/i18n/template-en.pot -clean --sort --format pot -m _",
"extract": "ngx-translate-extract -i ./src -o ./src/assets/i18n/template-en.pot --clean --sort --format pot -m _",
"po2json": "./node_modules/.bin/po2json -f mf src/assets/i18n/de.po src/assets/i18n/de.json && ./node_modules/.bin/po2json -f mf src/assets/i18n/cs.po src/assets/i18n/cs.json",
"po2json-tempfix": "./node_modules/.bin/po2json -f mf src/assets/i18n/de.po /dev/stdout | sed -f sed_replacements > src/assets/i18n/de.json && ./node_modules/.bin/po2json -f mf src/assets/i18n/cs.po /dev/stdout | sed -f sed_replacements > src/assets/i18n/cs.json",
"prettify-check": "prettier --config ./.prettierrc --list-different \"src/{app,environments}/**/*{.ts,.js,.json,.css,.scss}\"",

View File

@ -117,7 +117,7 @@ export class HttpService {
error += this.translate.instant("The server didn't respond.");
} else if (typeof e.error === 'object') {
if (e.error.detail) {
error += this.processErrorTexts(e.error.detail);
error += this.processErrorTexts(this.translate.instant(e.error.detail));
} else {
error = Object.keys(e.error)
.map(key => {

View File

@ -252,12 +252,29 @@ _('Disabled');
_('Put all candidates on the list of speakers');
_('Title for PDF document (all elections)');
_('Preamble text for PDF document (all elections)');
//other translations
// motion workflow
_('Recommendation label');
_('Allow support');
_('Allow create poll');
_('Allow submitter edit');
_('Set identifier');
_('Show state extension field');
_('Show recommendation extension field');
_('Show amendment in parent motoin');
_('Access level');
_('Label color');
_('Next states');
_('0: All users');
_('1: Submitters and all managers');
_('2: Only managers for motions and metadata');
_('3: Only managers for motions');
// other translations
_('Searching for candidates');
_('Voting');
_('Finished');
// Users
// ** Users **
// permission strings (see models.py of each Django app)
// agenda
_('Can see agenda');
@ -336,6 +353,9 @@ _(
'Use <strong>admin</strong> and <strong>admin</strong> for your first login.<br>Please change your password to hide this message!'
);
// users misc
_('Username or password is not correct.');
// default groups
_('Default');
_('Admin');

View File

@ -53,7 +53,7 @@ export class UserRepositoryService extends BaseRepository<ViewUser, User> {
const groups = this.viewModelStoreService.getMany(ViewGroup, user.groups_id);
const viewUser = new ViewUser(user, groups);
viewUser.getVerboseName = (plural: boolean = false) => {
return this.translate.instant(plural ? 'Users' : 'User');
return this.translate.instant(plural ? 'Participants' : 'Participant');
};
return viewUser;
}

View File

@ -50,7 +50,7 @@ export class AssignmentListComponent extends ListViewBaseComponent<ViewAssignmen
* data and sorting service
*/
public ngOnInit(): void {
super.setTitle('Assignments');
super.setTitle(this.translate.instant('Elections'));
this.initTable();
this.filterService.filter().subscribe(filteredData => {

View File

@ -1,14 +1,13 @@
<h2 mat-dialog-title>New change recommendation</h2>
<h2 mat-dialog-title translate>New change recommendation</h2>
<mat-dialog-content>
<form class="motion-content" [formGroup]='contentForm' (ngSubmit)='saveChangeRecommendation()'>
<h3>Change from line {{ lineRange.from }} to {{ lineRange.to }}:</h3>
<mat-radio-group #rGroup formControlName="diffType">
<mat-radio-button *ngFor="let radio of replacementTypes" [value]="radio.value">{{ radio.title }}</mat-radio-button>
</mat-radio-group>
<!-- The HTML Editor -->
<h4 translate>Changed version</h4>
<h4><span translate>Changed version in line</span> {{ lineRange.from }} <span translate>to</span> {{ lineRange.to }}:</h4>
<editor
formControlName='text'
[init]="tinyMceSettings"

View File

@ -28,8 +28,8 @@
-->
</span>
<span class="status">
<ng-container *ngIf="change.isRejected()" translate>Rejected</ng-container>
<ng-container *ngIf="change.isAccepted() && isAmendment(change)" translate>Accepted</ng-container>
<ng-container *ngIf="change.isRejected()"><span translate>Rejected</span></ng-container>
<ng-container *ngIf="change.isAccepted() && isAmendment(change)"><span translate>Accepted</span></ng-container>
</span>
</a>
</li>

View File

@ -336,7 +336,7 @@
<!-- Tags -->
<!-- Disabled during "new motion" since changing has no effect -->
<div *ngIf="!editMotion && tagObserver.value.length > 0">
<h4 *ngIf="perms.isAllowed('change_metadata', motion) || motion.hasTags()">Tags</h4>
<h4 *ngIf="perms.isAllowed('change_metadata', motion) || motion.hasTags()" translate>Tags</h4>
<!-- For privileged users -->
<div *ngIf="perms.isAllowed('change_metadata', motion)">

View File

@ -56,7 +56,7 @@
(click)="onClickInputPerm(perm, state)"
>
<div class="inner-table">
{{ state[perm.selector] || '-' | translate }}
{{ (state[perm.selector] | translate) || '' }}
</div>
</div>
<div class="inner-table" *ngIf="perm.type === 'color'">
@ -76,7 +76,7 @@
[matMenuTriggerData]="{ state: state }"
>
<div class="inner-table">
{{ state.next_states_id.length > 0 ? state.getNextStates(workflow.workflow) : '-' }}
{{ state.next_states_id.length > 0 ? state.getNextStates(workflow.workflow) : '' }}
</div>
</div>
<div
@ -94,9 +94,10 @@
*ngIf="perm.type === 'accessLevel'"
[matMenuTriggerFor]="accessLevelMenu"
[matMenuTriggerData]="{ state: state }"
matTooltip="{{ accessLevels[state.access_level].label | translate }}"
>
<div class="inner-table">
{{ accessLevels[state.access_level].label }}
{{ accessLevels[state.access_level].label | translate }}
</div>
</div>
</mat-cell>
@ -112,10 +113,10 @@
<!-- New state dialog -->
<ng-template #workflowDialog>
<h1 mat-dialog-title>
<span translate>{{ dialogData.title }}</span>
<span>{{ dialogData.title | translate }}</span>
</h1>
<div class="os-form-card-mobile" mat-dialog-content>
<p translate>{{ dialogData.description }}</p>
<p>{{ dialogData.description | translate }}</p>
<mat-form-field>
<input matInput osAutofocus [(ngModel)]="dialogData.value" />
</mat-form-field>
@ -171,7 +172,7 @@
<ng-template let-state="state" matMenuContent>
<button mat-menu-item *ngFor="let level of accessLevels" (click)="onSetAccesLevel(level.level, state)">
<mat-icon *ngIf="state.access_level === level.level">check</mat-icon>
<span translate> {{ level.label }}</span>
<span>{{ level.label | translate }}</span>
</button>
</ng-template>
</mat-menu>
@ -182,7 +183,7 @@
<div *ngFor="let amendment of amendmentIntoFinal">
<button mat-menu-item (click)="setMergeAmendment(amendment.merge, state)">
<mat-icon *ngIf="amendment.merge === state.merge_amendment_into_final">check</mat-icon>
<span translate> {{ amendment.label }}</span>
<span>{{ amendment.label | translate }}</span>
</button>
</div>
</ng-template>

View File

@ -117,10 +117,10 @@ export class WorkflowDetailComponent extends BaseViewComponent implements OnInit
* Determines possible access levels
*/
public accessLevels = [
{ level: 0, label: 'All users' },
{ level: 1, label: 'Submitters, managers and users with permission to manage metadata' },
{ level: 2, label: 'Only managers and users with permission to manage metadata' },
{ level: 3, label: 'Managers only' }
{ level: 0, label: '0: All users' },
{ level: 1, label: '1: Submitters and all managers' },
{ level: 2, label: '2: Only managers for motions and metadata' },
{ level: 3, label: '3: Only managers for motions' }
] as AccessLevel[];
/**
@ -200,11 +200,13 @@ export class WorkflowDetailComponent extends BaseViewComponent implements OnInit
* Opens a dialog to enter the workflow name
*/
public onNewStateButton(): void {
this.openEditDialog('', 'Create new state', 'Name').subscribe(result => {
this.openEditDialog('', this.translate.instant('Create new state'), this.translate.instant('Name')).subscribe(
result => {
if (result && result.action === 'update') {
this.workflowRepo.addState(result.value, this.workflow).then(() => {}, this.raiseError);
}
});
}
);
}
/**

View File

@ -116,7 +116,7 @@ export class MotionMultiselectService {
id: workflowState.id,
label: workflowState.recommendation_label
}));
const clearChoice = 'Delete recommendation';
const clearChoice = this.translate.instant('Delete recommendation');
const selectedChoice = await this.choiceService.open(title, choices, false, null, clearChoice);
if (selectedChoice) {
const requestData = motions.map(motion => ({
@ -136,7 +136,7 @@ export class MotionMultiselectService {
*/
public async setCategory(motions: ViewMotion[]): Promise<void> {
const title = this.translate.instant('This will set the following category for all selected motions:');
const clearChoice = 'No category';
const clearChoice = this.translate.instant('No category');
const selectedChoice = await this.choiceService.open(
title,
this.categoryRepo.sortViewCategoriesByConfig(this.categoryRepo.getViewModelList()),
@ -163,7 +163,7 @@ export class MotionMultiselectService {
const title = this.translate.instant(
'This will add or remove the following submitters for all selected motions:'
);
const choices = ['Add', 'Remove'];
const choices = [this.translate.instant('Add'), this.translate.instant('Remove')];
const selectedChoice = await this.choiceService.open(title, this.userRepo.getViewModelList(), true, choices);
if (selectedChoice && selectedChoice.action === choices[0]) {
const requestData = motions.map(motion => {
@ -195,7 +195,11 @@ export class MotionMultiselectService {
*/
public async changeTags(motions: ViewMotion[]): Promise<void> {
const title = this.translate.instant('This will add or remove the following tags for all selected motions:');
const choices = ['Add', 'Remove', 'Clear tags'];
const choices = [
this.translate.instant('Add'),
this.translate.instant('Remove'),
this.translate.instant('Clear tags')
];
const selectedChoice = await this.choiceService.open(title, this.tagRepo.getViewModelList(), true, choices);
if (selectedChoice && selectedChoice.action === choices[0]) {
const requestData = motions.map(motion => {
@ -258,8 +262,10 @@ export class MotionMultiselectService {
* @param motions The motions to move
*/
public async bulkMoveItems(motions: ViewMotion[]): Promise<void> {
const title = this.translate.instant('This will assign the selected motions as belonging to:');
const options = ['Set as parent', 'Insert after'];
const title = this.translate.instant(
'This will move all selected motions under or after the following motion in the call list:'
);
const options = [this.translate.instant('Set as parent'), this.translate.instant('Insert after')];
const allMotions = this.repo.getViewModelList();
const tree = this.treeService.makeTree(allMotions, 'weight', 'sort_parent_id');
const itemsToMove = this.treeService.getTopItemsFromTree(tree, motions);

View File

@ -102,7 +102,7 @@ export class UserListComponent extends ListViewBaseComponent<ViewUser> implement
* to filter/sort services
*/
public ngOnInit(): void {
super.setTitle('Users');
super.setTitle(this.translate.instant('Participants'));
this.initTable();
this.filterService.filter().subscribe(filteredData => {

File diff suppressed because one or more lines are too long

View File

@ -14,6 +14,18 @@ msgstr ""
msgid "%num% emails were send sucessfully."
msgstr "%num% E-Mails wurden erfolgreich versandt."
msgid "0: All users"
msgstr "0: Alle Nutzer"
msgid "1: Submitters and all managers"
msgstr "1: Antragsteller und alle Verwalter"
msgid "2: Only managers for motions and metadata"
msgstr "2: Nur Verwalter von Anträgen und Metadaten"
msgid "3: Only managers for motions"
msgstr "3: Nur Verwalter von Anträgen"
msgid "A name is required"
msgstr "Ein Name ist erforderlich"
@ -42,6 +54,9 @@ msgstr "Angenommen"
msgid "Access data (PDF)"
msgstr "Zugangsdaten (PDF)"
msgid "Access level"
msgstr "Zugangsebene"
msgid "Access-data"
msgstr "Zugangsdaten"
@ -54,6 +69,9 @@ msgstr "Satzungsänderungsanträge"
msgid "Active filters"
msgstr "Aktive Filter"
msgid "Add"
msgstr "Hinzufügen"
msgid "Add me"
msgstr "Füge mich hinzu"
@ -101,6 +119,9 @@ msgstr "Alle abgegebenen Stimmzettel"
msgid "All selected files will be deleted!"
msgstr "Alle ausgewählten Dateien werden gelöscht!"
msgid "All users"
msgstr ""
msgid "All valid ballots"
msgstr "Alle gültigen Stimmzettel"
@ -110,6 +131,15 @@ msgstr "Alle Änderungen werden sofort gespeichert."
msgid "Allow access for anonymous guest users"
msgstr "Erlaube Zugriff für anonyme Gast-Nutzer"
msgid "Allow create poll"
msgstr "Abstimmung möglich"
msgid "Allow submitter edit"
msgstr "Antragsteller/in darf bearbeiten"
msgid "Allow support"
msgstr "Unterstützung möglich"
msgid "Allow to disable versioning"
msgstr "Erlaubt Versionierung zu deaktiveren"
@ -297,6 +327,9 @@ msgstr "Darf den Chat benutzen"
msgid "Cancel"
msgstr "Abbrechen"
msgid "Cancel edit"
msgstr "Bearbeitung abbrechen"
msgid "Categories"
msgstr "Sachgebiete"
@ -330,6 +363,9 @@ msgstr "Bearbeitet von"
msgid "Changed version"
msgstr "Geänderte Fassung"
msgid "Changed version in line"
msgstr "Geänderte Fassung in Zeile"
msgid "Check in or check out participants based on their participant numbers:"
msgstr ""
"An- oder Abmeldung von Teilnehmenden basierend auf ihren Teilnehmernummern:"
@ -343,6 +379,9 @@ msgstr "Alle löschen"
msgid "Clear list"
msgstr "Liste leeren"
msgid "Clear tags"
msgstr "Schlagwörter löschen"
msgid "Close"
msgstr "Schließen"
@ -401,6 +440,9 @@ msgstr "Beschluss-Druckvorlage erstellen"
msgid "Create new category"
msgstr "Neues Sachgebiet erstellen"
msgid "Create new workflow"
msgstr "Neuen Arbeitsablauf erstellen"
msgid "Current"
msgstr "Aktuell"
@ -452,6 +494,9 @@ msgstr ""
msgid "Default"
msgstr "Standard"
msgid "Default encoding for all csv exports"
msgstr "Voreingestelltes Encoding für alle CSV-Exporte"
msgid "Default line numbering"
msgstr "Voreingestellte Zeilennummerierung"
@ -487,6 +532,9 @@ msgstr "Löschen"
msgid "Delete final print template"
msgstr "Beschluss-Druckvorlage löschen"
msgid "Delete recommendation"
msgstr "Empfehlung löschen"
msgid "Delete whole history"
msgstr "Chronik löschen"
@ -679,6 +727,9 @@ msgstr "Als PDF exportieren"
msgid "Export motions"
msgstr "Anträge exportieren"
msgid "Export personal note only"
msgstr "Nur persönliche Notiz exportieren"
msgid "Extension"
msgstr "Erweiterung"
@ -712,6 +763,9 @@ msgstr "Beschlussfassung"
msgid "Finished"
msgstr "Abgeschlossen"
msgid "First state"
msgstr "Erster Status"
msgid "Follow recommendation"
msgstr "Empfehlung folgen"
@ -745,12 +799,18 @@ msgstr "Allgemein"
msgid "Generate new passwords"
msgstr "Neue Passwörter generieren"
msgid "Generate password"
msgstr "Passwort generieren"
msgid "German"
msgstr "Deutsch"
msgid "Given name"
msgstr "Vorname"
msgid "Go to line"
msgstr "Springe zur Zeile"
msgid "Groups"
msgstr "Gruppen"
@ -778,6 +838,9 @@ msgstr "Interne Einträge ausblenden bei der Projektion von Untereinträgen"
msgid "Hide meta information box on projector"
msgstr "Meta-Informations-Box auf dem Projektor ausblenden"
msgid "Hide password"
msgstr "Passwort verstecken"
msgid "Hide reason on projector"
msgstr "Begründung auf dem Projektor ausblenden"
@ -830,6 +893,9 @@ msgstr "innerhalb"
msgid "Input format: DD.MM.YYYY HH:MM"
msgstr "Eingabeformat: TT.MM.JJJJ HH:MM"
msgid "Insert after"
msgstr "Danach einfügen"
msgid "Insert participants here"
msgstr "Teilnehmende hier importieren"
@ -848,6 +914,9 @@ msgstr "Interner Eintrag"
msgid "Invalid input."
msgstr "Ungültige Eingabe."
msgid "Invalid line number"
msgstr "Ungültige Zeilennummer"
msgid "Is a committee"
msgstr "Ist ein Gremium"
@ -875,6 +944,9 @@ msgstr "Verwenden Sie eine Zeile pro Eintrag."
msgid "Keep each person in a single line."
msgstr "Verwenden Sie eine Zeile pro Person."
msgid "Label color"
msgstr "Beschriftungsfarbe"
msgid "Last speakers"
msgstr "Letzte Redner"
@ -971,6 +1043,9 @@ msgstr "Anträge"
msgid "Motions have been imported."
msgstr "Anträge wurden importiert."
msgid "Move in call list"
msgstr "In Aufrufliste verschieben"
msgid "Move to agenda item"
msgstr "Zu TOP verschieben"
@ -995,6 +1070,9 @@ msgstr "Neuer Projektor"
msgid "New amendment"
msgstr "Neuer Änderungsantrag"
msgid "New change recommendation"
msgstr "Neue Änderungsempfehlung"
msgid "New comment field"
msgstr "Neues Kommentarfeld"
@ -1034,9 +1112,15 @@ msgstr "Neue Abstimmung"
msgid "Next"
msgstr "Weiter"
msgid "Next states"
msgstr "Nächste Zustände"
msgid "No"
msgstr "Nein"
msgid "No category"
msgstr "Kein Sachgebiet"
msgid "No change recommendations yet"
msgstr "Bisher keine Änderungsempfehlungen"
@ -1220,6 +1304,9 @@ msgstr "Persönliche Notiz"
msgid "Personal notes"
msgstr "Persönliche Notizen"
msgid "Please enter a name for the new workflow:"
msgstr "Bitte geben Sie einen Namen für den neuen Arbeitsablauf ein:"
msgid "Please enter a valid email address"
msgstr "Bitte geben Sie einen neuen Namen ein für"
@ -1322,6 +1409,9 @@ msgstr "Begründung erforderlich zur Erstellung neuer Anträge"
msgid "Recommendation"
msgstr "Empfehlung"
msgid "Recommendation label"
msgstr "Empfehlung"
msgid "Recommendation set to {arg1}"
msgstr "Empfehlung gesetzt auf {arg1}"
@ -1453,6 +1543,9 @@ msgstr "Laufende Nummer"
msgid "Serially numbered"
msgstr "fortlaufend nummerieren"
msgid "Set as parent"
msgstr "Als Eltern setzen"
msgid "Set category"
msgstr "Sachgebiet setzen"
@ -1462,6 +1555,9 @@ msgstr "Gremium setzen ..."
msgid "Set hidden"
msgstr "Versteckt setzen"
msgid "Set identifier"
msgstr "Bezeichner setzen"
msgid "Set internal"
msgstr "Intern setzen"
@ -1492,6 +1588,9 @@ msgstr "Kurzbeschreibung der Veranstaltung"
msgid "Show all"
msgstr "Alle anzeigen"
msgid "Show amendment in parent motoin"
msgstr "Änderungsantrag im Hauptantrag anzeigen"
msgid "Show amendments together with motions"
msgstr "Änderungsanträge zusätzlich in der Hauptantragsübersicht anzeigen"
@ -1522,6 +1621,12 @@ msgstr "Passwort anzeigen"
msgid "Show profile"
msgstr "Profil anzeigen"
msgid "Show recommendation extension field"
msgstr "Ergänzungsfeld für Empfehlung anzeigen"
msgid "Show state extension field"
msgstr "Ergänzungsfeld für Status anzeigen"
msgid "Show the clock on projector"
msgstr "Uhr auf dem Projektor anzeigen"
@ -1740,6 +1845,13 @@ msgstr ""
"Alle ausgewählten Anträge werden unterhalb des folgenden "
"Tagesordnungspunktes verschoben:"
msgid ""
"This will move all selected motions under or after the following motion in "
"the call list:"
msgstr ""
"Alle ausgewählten Anträge unter oder nach dem folgenden Antrag in der "
"Aufrufliste verschieben:"
msgid "This will set the following category for all selected motions:"
msgstr "Folgendes Sachgebiet wird für alle ausgewählten Anträge gesetzt:"
@ -1832,6 +1944,9 @@ msgstr "Wird für WLAN-QR-Code im Zugangsdaten-PDF verwendet."
msgid "Username"
msgstr "Benutzername"
msgid "Username or password is not correct."
msgstr "Benutzername oder Passwort war nicht korrekt."
msgid "Visibility"
msgstr "Sichtbarkeit"
@ -1910,6 +2025,9 @@ msgstr "Arbeitsablauf für neue Anträge"
msgid "Workflow of new statute amendments"
msgstr "Arbeitsablauf für neue Satzungsänderungsanträge"
msgid "Workflows"
msgstr "Arbeitsabläufe"
msgid "Wrong file type detected. Import failed."
msgstr "Falscher Dateityp erkannt. Import fehlgeschlagen."
@ -2087,6 +2205,9 @@ msgstr "eingereicht"
msgid "supporters"
msgstr "Unterstützer/innen"
msgid "to"
msgstr "bis"
msgid "undocumented"
msgstr "nicht erfasst"

View File

@ -7,6 +7,18 @@ msgstr ""
msgid "%num% emails were send sucessfully."
msgstr ""
msgid "0: All users"
msgstr ""
msgid "1: Submitters and all managers"
msgstr ""
msgid "2: Only managers for motions and metadata"
msgstr ""
msgid "3: Only managers for motions"
msgstr ""
msgid "A name is required"
msgstr ""
@ -34,6 +46,9 @@ msgstr ""
msgid "Access data (PDF)"
msgstr ""
msgid "Access level"
msgstr ""
msgid "Access-data"
msgstr ""
@ -46,6 +61,9 @@ msgstr ""
msgid "Active filters"
msgstr ""
msgid "Add"
msgstr ""
msgid "Add me"
msgstr ""
@ -90,6 +108,9 @@ msgstr ""
msgid "All selected files will be deleted!"
msgstr ""
msgid "All users"
msgstr ""
msgid "All valid ballots"
msgstr ""
@ -99,6 +120,15 @@ msgstr ""
msgid "Allow access for anonymous guest users"
msgstr ""
msgid "Allow create poll"
msgstr ""
msgid "Allow submitter edit"
msgstr ""
msgid "Allow support"
msgstr ""
msgid "Allow to disable versioning"
msgstr ""
@ -281,6 +311,9 @@ msgstr ""
msgid "Cancel"
msgstr ""
msgid "Cancel edit"
msgstr ""
msgid "Categories"
msgstr ""
@ -314,6 +347,9 @@ msgstr ""
msgid "Changed version"
msgstr ""
msgid "Changed version in line"
msgstr ""
msgid "Check in or check out participants based on their participant numbers:"
msgstr ""
@ -326,6 +362,9 @@ msgstr ""
msgid "Clear list"
msgstr ""
msgid "Clear tags"
msgstr ""
msgid "Close"
msgstr ""
@ -383,6 +422,9 @@ msgstr ""
msgid "Create new category"
msgstr ""
msgid "Create new workflow"
msgstr ""
msgid "Current"
msgstr ""
@ -425,6 +467,9 @@ msgstr ""
msgid "Default"
msgstr ""
msgid "Default encoding for all csv exports"
msgstr ""
msgid "Default line numbering"
msgstr ""
@ -454,6 +499,9 @@ msgstr ""
msgid "Delete final print template"
msgstr ""
msgid "Delete recommendation"
msgstr ""
msgid "Delete whole history"
msgstr ""
@ -638,6 +686,9 @@ msgstr ""
msgid "Export motions"
msgstr ""
msgid "Export personal note only"
msgstr ""
msgid "Extension"
msgstr ""
@ -671,6 +722,9 @@ msgstr ""
msgid "Finished"
msgstr ""
msgid "First state"
msgstr ""
msgid "Follow recommendation"
msgstr ""
@ -704,12 +758,18 @@ msgstr ""
msgid "Generate new passwords"
msgstr ""
msgid "Generate password"
msgstr ""
msgid "German"
msgstr ""
msgid "Given name"
msgstr ""
msgid "Go to line"
msgstr ""
msgid "Groups"
msgstr ""
@ -737,6 +797,9 @@ msgstr ""
msgid "Hide meta information box on projector"
msgstr ""
msgid "Hide password"
msgstr ""
msgid "Hide reason on projector"
msgstr ""
@ -787,6 +850,9 @@ msgstr ""
msgid "Input format: DD.MM.YYYY HH:MM"
msgstr ""
msgid "Insert after"
msgstr ""
msgid "Insert participants here"
msgstr ""
@ -805,6 +871,9 @@ msgstr ""
msgid "Invalid input."
msgstr ""
msgid "Invalid line number"
msgstr ""
msgid "Is a committee"
msgstr ""
@ -832,6 +901,9 @@ msgstr ""
msgid "Keep each person in a single line."
msgstr ""
msgid "Label color"
msgstr ""
msgid "Last speakers"
msgstr ""
@ -928,6 +1000,9 @@ msgstr ""
msgid "Motions have been imported."
msgstr ""
msgid "Move in call list"
msgstr ""
msgid "Move to agenda item"
msgstr ""
@ -952,6 +1027,9 @@ msgstr ""
msgid "New amendment"
msgstr ""
msgid "New change recommendation"
msgstr ""
msgid "New comment field"
msgstr ""
@ -991,9 +1069,15 @@ msgstr ""
msgid "Next"
msgstr ""
msgid "Next states"
msgstr ""
msgid "No"
msgstr ""
msgid "No category"
msgstr ""
msgid "No change recommendations yet"
msgstr ""
@ -1174,6 +1258,9 @@ msgstr ""
msgid "Personal notes"
msgstr ""
msgid "Please enter a name for the new workflow:"
msgstr ""
msgid "Please enter a valid email address"
msgstr ""
@ -1276,6 +1363,9 @@ msgstr ""
msgid "Recommendation"
msgstr ""
msgid "Recommendation label"
msgstr ""
msgid "Recommendation set to {arg1}"
msgstr ""
@ -1403,6 +1493,9 @@ msgstr ""
msgid "Serially numbered"
msgstr ""
msgid "Set as parent"
msgstr ""
msgid "Set category"
msgstr ""
@ -1412,6 +1505,9 @@ msgstr ""
msgid "Set hidden"
msgstr ""
msgid "Set identifier"
msgstr ""
msgid "Set internal"
msgstr ""
@ -1442,6 +1538,9 @@ msgstr ""
msgid "Show all"
msgstr ""
msgid "Show amendment in parent motoin"
msgstr ""
msgid "Show amendments together with motions"
msgstr ""
@ -1472,6 +1571,12 @@ msgstr ""
msgid "Show profile"
msgstr ""
msgid "Show recommendation extension field"
msgstr ""
msgid "Show state extension field"
msgstr ""
msgid "Show the clock on projector"
msgstr ""
@ -1666,6 +1771,11 @@ msgstr ""
msgid "This will move all selected motions as childs to:"
msgstr ""
msgid ""
"This will move all selected motions under or after the following motion in "
"the call list:"
msgstr ""
msgid "This will set the following category for all selected motions:"
msgstr ""
@ -1751,6 +1861,9 @@ msgstr ""
msgid "Username"
msgstr ""
msgid "Username or password is not correct."
msgstr ""
msgid "Visibility"
msgstr ""
@ -1824,6 +1937,9 @@ msgstr ""
msgid "Workflow of new statute amendments"
msgstr ""
msgid "Workflows"
msgstr ""
msgid "Wrong file type detected. Import failed."
msgstr ""
@ -1997,6 +2113,9 @@ msgstr ""
msgid "supporters"
msgstr ""
msgid "to"
msgstr ""
msgid "undocumented"
msgstr ""