Updated translations

This commit is contained in:
Emanuel Schütze 2020-03-20 15:05:18 +01:00
parent 661fd55c67
commit 5a6d2d2e42
10 changed files with 103 additions and 40 deletions

View File

@ -288,6 +288,8 @@ _('Publish');
_('Entitled to vote'); _('Entitled to vote');
_('Voting method'); _('Voting method');
_('Amount of votes'); _('Amount of votes');
_('Motion votes');
_('Ballots');
// ** Users ** // ** Users **
// permission strings (see models.py of each Django app) // permission strings (see models.py of each Django app)
@ -326,6 +328,8 @@ _('Can see comments');
_('Can manage comments'); _('Can manage comments');
_('Can manage motion metadata'); _('Can manage motion metadata');
_('Can create amendments'); _('Can create amendments');
_('Can manage motion polls');
// users // users
_('Can see names of users'); _('Can see names of users');
_('Can see extra data of users (e.g. present and comment)'); _('Can see extra data of users (e.g. present and comment)');

View File

@ -1,13 +1,10 @@
<h1 mat-dialog-title> <h1 mat-dialog-title>
<span translate>Online voting is impossible to secure</span> <span translate>Secret voting can not be guaranteed</span>
</h1> </h1>
<div mat-dialog-content> <div mat-dialog-content>
<span translate> <span translate>
During voting, OpenSlides does not store the individual user ID of the voter. This in no way means that a During non-nominal voting OpenSlides does NOT store the individual user ID of the voter. This in no way means that a non-nominal vote is completely anonymous and secure. The votes cannot track their individual votes after the data has been submitted. The validity of the data cannot always be guaranteed.
non-nominal vote is completely anonymous and secure. You cannot track the decisions of your voters after the
data has been submitted. The validity of the data cannot always be guaranteed, especially if you use OpenSlides
in a distributed online setup. You are responsible for your own actions.
</span> </span>
</div> </div>

View File

@ -12,8 +12,8 @@ export enum PollClassType {
} }
export const PollClassTypeVerbose = { export const PollClassTypeVerbose = {
motion: 'Motion poll', motion: 'Vote',
assignment: 'Assignment poll' assignment: 'Ballot'
}; };
export const PollStateVerbose = { export const PollStateVerbose = {

View File

@ -130,43 +130,43 @@
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Foreground color', form: 'color' }" [ngTemplateOutletContext]="{ title: 'Foreground color' | translate, form: 'color' }"
> >
</ng-template> </ng-template>
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Background color', form: 'background_color' }" [ngTemplateOutletContext]="{ title: 'Background color' | translate, form: 'background_color' }"
> >
</ng-template> </ng-template>
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Header background color', form: 'header_background_color' }" [ngTemplateOutletContext]="{ title: 'Header background color' | translate, form: 'header_background_color' }"
> >
</ng-template> </ng-template>
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Header font color', form: 'header_font_color' }" [ngTemplateOutletContext]="{ title: 'Header font color' | translate, form: 'header_font_color' }"
> >
</ng-template> </ng-template>
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Headline color', form: 'header_h1_color' }" [ngTemplateOutletContext]="{ title: 'Headline color' | translate, form: 'header_h1_color' }"
> >
</ng-template> </ng-template>
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Chyron background color', form: 'chyron_background_color' }" [ngTemplateOutletContext]="{ title: 'Chyron background color' | translate, form: 'chyron_background_color' }"
> >
</ng-template> </ng-template>
<ng-template <ng-template
[ngTemplateOutlet]="colorFormField" [ngTemplateOutlet]="colorFormField"
[ngTemplateOutletContext]="{ title: 'Chyron font color', form: 'chyron_font_color' }" [ngTemplateOutletContext]="{ title: 'Chyron font color' | translate, form: 'chyron_font_color' }"
> >
</ng-template> </ng-template>
</div> </div>

View File

@ -45,7 +45,7 @@ export const allSlides: SlideManifest[] = [
slide: 'motions/motion-poll', slide: 'motions/motion-poll',
path: 'motions/motion-poll', path: 'motions/motion-poll',
loadChildren: () => import('./motions/motion-poll/motion-poll-slide.module').then(m => m.MotionPollSlideModule), loadChildren: () => import('./motions/motion-poll/motion-poll-slide.module').then(m => m.MotionPollSlideModule),
verboseName: 'Motion Poll', verboseName: 'Vote',
elementIdentifiers: ['name', 'id'], elementIdentifiers: ['name', 'id'],
canBeMappedToModel: true canBeMappedToModel: true
}, },
@ -138,7 +138,7 @@ export const allSlides: SlideManifest[] = [
path: 'assignments/assignment-poll', path: 'assignments/assignment-poll',
loadChildren: () => loadChildren: () =>
import('./assignments/assignment-poll/assignment-poll-slide.module').then(m => m.AssignmentPollSlideModule), import('./assignments/assignment-poll/assignment-poll-slide.module').then(m => m.AssignmentPollSlideModule),
verboseName: 'Assignment Poll', verboseName: 'Ballot',
elementIdentifiers: ['name', 'id'], elementIdentifiers: ['name', 'id'],
canBeMappedToModel: true canBeMappedToModel: true
}, },

File diff suppressed because one or more lines are too long

View File

@ -381,6 +381,9 @@ msgstr "Zurück"
msgid "Back to login" msgid "Back to login"
msgstr "Zurück zur Anmeldung" msgstr "Zurück zur Anmeldung"
msgid "Background color"
msgstr "Hintergrundfarbe"
msgid "Ballot" msgid "Ballot"
msgstr "Wahlgang" msgstr "Wahlgang"
@ -390,6 +393,9 @@ msgstr "Wahlgang eröffnet"
msgid "Ballot papers" msgid "Ballot papers"
msgstr "Stimmzettel" msgstr "Stimmzettel"
msgid "Ballots"
msgstr "Wahlgänge"
msgid "Base folder" msgid "Base folder"
msgstr "Basisverzeichnis" msgstr "Basisverzeichnis"
@ -447,6 +453,9 @@ msgstr "Darf Logos und Schriften verwalten"
msgid "Can manage motion metadata" msgid "Can manage motion metadata"
msgstr "Darf Antragsmetadaten verwalten" msgstr "Darf Antragsmetadaten verwalten"
msgid "Can manage motion polls"
msgstr "Darf Antragsabstimmungen verwalten"
msgid "Can manage motions" msgid "Can manage motions"
msgstr "Darf Anträge verwalten" msgstr "Darf Anträge verwalten"
@ -585,6 +594,12 @@ msgstr "Zum Deaktivieren des Unterstützersystems '0' eingeben."
msgid "Chyron" msgid "Chyron"
msgstr "Bauchbinde" msgstr "Bauchbinde"
msgid "Chyron background color"
msgstr "Hintergrundfarbe Bauchbinde"
msgid "Chyron font color"
msgstr "Schriftfarbe Bauchbinde"
msgid "Clear all" msgid "Clear all"
msgstr "Alle löschen" msgstr "Alle löschen"
@ -876,11 +891,18 @@ msgid "Duration"
msgstr "Dauer" msgstr "Dauer"
msgid "" msgid ""
"During voting, OpenSlides does not store the individual user ID of the voter. This in no way means that a\n" "During non-nominal voting OpenSlides does NOT store the individual user ID "
" non-nominal vote is completely anonymous and secure. You cannot track the decisions of your voters after the\n" "of the voter. This in no way means that a non-nominal vote is completely "
" data has been submitted. The validity of the data cannot always be guaranteed, especially if you use OpenSlides\n" "anonymous and secure. The votes cannot track their individual votes after "
" in a distributed online setup. You are responsible for your own actions." "the data has been submitted. The validity of the data cannot always be "
"guaranteed."
msgstr "" msgstr ""
"Während der nicht-namentlichen Stimmabgabe speichert OpenSlides NICHT die "
"individuelle Nutzerkennung des Stimmberechtigen. Dies bedeutet jedoch "
"keineswegs, dass eine nicht-namentliche Stimmabgabe völlig anonym und sicher"
" ist. Der Stimmberechtigte kann nach Übermittlung der Daten die eigene "
"Stimme nicht mehr nachverfolgen oder überprüfen. Die Gültigkeit der Daten "
"kann daher nicht garantiert werden."
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" msgstr "Bearbeiten"
@ -1085,6 +1107,9 @@ msgstr "Empfehlungen für alle Anträge folgen"
msgid "Following users are currently editing this motion:" msgid "Following users are currently editing this motion:"
msgstr "Folgende Nutzer bearbeiten aktuell diesen Antrag:" msgstr "Folgende Nutzer bearbeiten aktuell diesen Antrag:"
msgid "Foreground color"
msgstr "Vordergrundfarbe"
msgid "Forgot Password?" msgid "Forgot Password?"
msgstr "Passwort vergessen?" msgstr "Passwort vergessen?"
@ -1157,6 +1182,15 @@ msgstr "Hat Notizen"
msgid "Has speakers" msgid "Has speakers"
msgstr "Wortmeldungen vorhanden" msgstr "Wortmeldungen vorhanden"
msgid "Header background color"
msgstr "Hintergrundfarbe Kopfbereich"
msgid "Header font color"
msgstr "Schriftfarbe Kopfbereich"
msgid "Headline color"
msgstr "Überschriftenfarbe"
msgid "Help text for access data and welcome PDF" msgid "Help text for access data and welcome PDF"
msgstr "Hilfetext für das Zugangsdaten- und Willkommens-PDF" msgstr "Hilfetext für das Zugangsdaten- und Willkommens-PDF"
@ -1453,6 +1487,9 @@ msgstr "Antragstext"
msgid "Motion updated" msgid "Motion updated"
msgstr "Antrag aktualisiert" msgstr "Antrag aktualisiert"
msgid "Motion votes"
msgstr "Antragsabstimmungen"
msgid "Motion will be imported" msgid "Motion will be imported"
msgstr "Antrag wird importiert" msgstr "Antrag wird importiert"
@ -1731,9 +1768,6 @@ msgstr ""
"Mindestens Vor- oder Nachname muss angegeben werden. Alle übrigen Felder " "Mindestens Vor- oder Nachname muss angegeben werden. Alle übrigen Felder "
"sind optional und dürfen leer sein." "sind optional und dürfen leer sein."
msgid "Online voting is impossible to secure"
msgstr ""
msgid "Only countdown" msgid "Only countdown"
msgstr "Nur Countdown" msgstr "Nur Countdown"
@ -2142,6 +2176,9 @@ msgstr "Spieler suchen"
msgid "Searching for candidates" msgid "Searching for candidates"
msgstr "Auf Kandidatensuche" msgstr "Auf Kandidatensuche"
msgid "Secret voting can not be guaranteed"
msgstr "Geheime Stimmabgaben können nicht garantiert werden"
msgid "Select a new candidate" msgid "Select a new candidate"
msgstr "Kandidat/in auswählen ..." msgstr "Kandidat/in auswählen ..."

View File

@ -347,6 +347,9 @@ msgstr ""
msgid "Back to login" msgid "Back to login"
msgstr "" msgstr ""
msgid "Background color"
msgstr ""
msgid "Ballot" msgid "Ballot"
msgstr "" msgstr ""
@ -356,6 +359,9 @@ msgstr ""
msgid "Ballot papers" msgid "Ballot papers"
msgstr "" msgstr ""
msgid "Ballots"
msgstr ""
msgid "Base folder" msgid "Base folder"
msgstr "" msgstr ""
@ -413,6 +419,9 @@ msgstr ""
msgid "Can manage motion metadata" msgid "Can manage motion metadata"
msgstr "" msgstr ""
msgid "Can manage motion polls"
msgstr ""
msgid "Can manage motions" msgid "Can manage motions"
msgstr "" msgstr ""
@ -548,6 +557,12 @@ msgstr ""
msgid "Chyron" msgid "Chyron"
msgstr "" msgstr ""
msgid "Chyron background color"
msgstr ""
msgid "Chyron font color"
msgstr ""
msgid "Clear all" msgid "Clear all"
msgstr "" msgstr ""
@ -820,14 +835,11 @@ msgid "Duration"
msgstr "" msgstr ""
msgid "" msgid ""
"During voting, OpenSlides does not store the individual user ID of the " "During non-nominal voting OpenSlides does NOT store the individual user ID "
"voter. This in no way means that a\n" "of the voter. This in no way means that a non-nominal vote is completely "
" non-nominal vote is completely anonymous and secure. You cannot " "anonymous and secure. The votes cannot track their individual votes after "
"track the decisions of your voters after the\n" "the data has been submitted. The validity of the data cannot always be "
" data has been submitted. The validity of the data cannot always be " "guaranteed."
"guaranteed, especially if you use OpenSlides\n"
" in a distributed online setup. You are responsible for your own "
"actions."
msgstr "" msgstr ""
msgid "Edit" msgid "Edit"
@ -1027,6 +1039,9 @@ msgstr ""
msgid "Following users are currently editing this motion:" msgid "Following users are currently editing this motion:"
msgstr "" msgstr ""
msgid "Foreground color"
msgstr ""
msgid "Forgot Password?" msgid "Forgot Password?"
msgstr "" msgstr ""
@ -1099,6 +1114,15 @@ msgstr ""
msgid "Has speakers" msgid "Has speakers"
msgstr "" msgstr ""
msgid "Header background color"
msgstr ""
msgid "Header font color"
msgstr ""
msgid "Headline color"
msgstr ""
msgid "Help text for access data and welcome PDF" msgid "Help text for access data and welcome PDF"
msgstr "" msgstr ""
@ -1392,6 +1416,9 @@ msgstr ""
msgid "Motion updated" msgid "Motion updated"
msgstr "" msgstr ""
msgid "Motion votes"
msgstr ""
msgid "Motion will be imported" msgid "Motion will be imported"
msgstr "" msgstr ""
@ -1663,9 +1690,6 @@ msgid ""
"fields are optional and may be empty." "fields are optional and may be empty."
msgstr "" msgstr ""
msgid "Online voting is impossible to secure"
msgstr ""
msgid "Only countdown" msgid "Only countdown"
msgstr "" msgstr ""
@ -2069,6 +2093,9 @@ msgstr ""
msgid "Searching for candidates" msgid "Searching for candidates"
msgstr "" msgstr ""
msgid "Secret voting can not be guaranteed"
msgstr ""
msgid "Select a new candidate" msgid "Select a new candidate"
msgstr "" msgstr ""

View File

@ -14,14 +14,12 @@ def add_poll_projection_defaults(apps, schema_editor):
projectiondefaults.append( projectiondefaults.append(
ProjectionDefault( ProjectionDefault(
name="assignment_poll", name="assignment_poll", display_name="Ballots", projector=default_projector,
display_name="Assignment poll",
projector=default_projector,
) )
) )
projectiondefaults.append( projectiondefaults.append(
ProjectionDefault( ProjectionDefault(
name="motion_poll", display_name="Motion Poll", projector=default_projector name="motion_poll", display_name="Motion votes", projector=default_projector
) )
) )

View File

@ -16,4 +16,4 @@ roman>=2.0,<3.2
setuptools>=29.0,<42.0 setuptools>=29.0,<42.0
typing_extensions>=3.6.6,<3.8 typing_extensions>=3.6.6,<3.8
websockets>=8.0,<9.0 websockets>=8.0,<9.0
twisted>=19.0,<20.0 twisted>=19.0,<20.0