Merge pull request #2077 from emanuelschuetze/translations

Translations
This commit is contained in:
Norman Jäckel 2016-04-12 23:47:38 +02:00
commit 8d5e983d29
8 changed files with 77 additions and 57 deletions

View File

@ -10,8 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"PO-Revision-Date: 2016-03-20 22:40+0000\n"
"Last-Translator: Emanuel Schütze <emanuel.schuetze@intevation.de>\n"
"PO-Revision-Date: 2016-04-07 10:07+0000\n"
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
"Language-Team: Czech (http://www.transifex.com/openslides/openslides/language/cs/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -153,7 +153,7 @@ msgid ""
" other fields are optional and may be empty."
msgstr "Musí být vyplněny alespoň křestní jméno nebo příjmení.\nVšechna zbývající pole jsou nepovinná a smějí být prázdná."
#: core/static/js/core/site.js:609 motions/static/js/motions/site.js:281
#: core/static/js/core/site.js:611 motions/static/js/motions/site.js:281
msgid "Attachment"
msgstr "Příloha"
@ -268,7 +268,7 @@ msgstr "Smí vidět volby"
#: users/static/js/users/site.js:997
msgid "Can see extra data of users (e.g. present and comment)"
msgstr ""
msgstr "Může vidět další údaje o uživatelích (například přítomný a poznámka)"
#: users/static/js/users/site.js:972
msgid "Can see hidden items and time scheduling of agenda"
@ -731,7 +731,7 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty."
msgstr "Identifikátor, zdůvodnění, navrhovatel a skupina jsou nepovinné a mohou zůstat prázdné"
#: core/static/js/core/site.js:620
#: core/static/js/core/site.js:622
msgid "If deactivated it appears as internal item on agenda."
msgstr "Je-li vypnuto, jeví se jako vnitřní bod pořadu jednání."
@ -865,6 +865,10 @@ msgstr "Seznam řečníků"
msgid "Live view"
msgstr "Živé zobrazení"
#: core/static/js/core/site.js:434
msgid "Loading ..."
msgstr ""
#: core/static/templates/core/login-form.html:20 index.html:101
msgid "Login"
msgstr "Přihlášení"
@ -996,7 +1000,7 @@ msgstr "Nepromítnut žádný soubor PDF."
#: core/static/templates/core/select-single.html:2
#: mediafiles/static/templates/mediafiles/mediafile-form.html:27
msgid "No results available ..."
msgstr ""
msgstr "Nejsou dostupné žádné výsledky..."
#: search.html:27
msgid "No results."
@ -1381,7 +1385,7 @@ msgstr "Vybrat nebo hledat značku..."
msgid "Select or search a workflow ..."
msgstr "Vybrat nebo hledat pracovní postup..."
#: core/static/js/core/site.js:612 motions/static/js/motions/site.js:284
#: core/static/js/core/site.js:614 motions/static/js/motions/site.js:284
msgid "Select or search an attachment ..."
msgstr "Vybrat nebo hledat přílohu..."
@ -1405,7 +1409,7 @@ msgstr "Ukázat jen soubory PDF"
#: agenda/static/templates/agenda/item-list.html:216
#: assignments/static/js/assignments/site.js:164
#: core/static/js/core/site.js:619 motions/static/js/motions/site.js:264
#: core/static/js/core/site.js:621 motions/static/js/motions/site.js:264
msgid "Show as agenda item"
msgstr "Ukázat jako bod pořadu jednání"
@ -1519,7 +1523,7 @@ msgid "Tags"
msgstr "Značky"
#: agenda/static/templates/agenda/item-import.html:83
#: core/static/js/core/site.js:599 motions/static/js/motions/site.js:234
#: core/static/js/core/site.js:601 motions/static/js/motions/site.js:234
#: motions/static/templates/motions/motion-detail.html:227
#: motions/static/templates/motions/motion-import.html:56
msgid "Text"
@ -1538,7 +1542,7 @@ msgstr "Tato verze není povolena."
#: assignments/static/js/assignments/site.js:133
#: assignments/static/templates/assignments/assignment-list.html:172
#: assignments/static/templates/assignments/assignment-list.html:97
#: core/static/js/core/site.js:591
#: core/static/js/core/site.js:593
#: mediafiles/static/templates/mediafiles/mediafile-form.html:20
#: mediafiles/static/templates/mediafiles/mediafile-list.html:140
#: motions/static/js/motions/site.js:226

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"PO-Revision-Date: 2016-03-21 14:34+0000\n"
"PO-Revision-Date: 2016-04-10 11:02+0000\n"
"Last-Translator: Emanuel Schütze <emanuel.schuetze@intevation.de>\n"
"Language-Team: German (http://www.transifex.com/openslides/openslides/language/de/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -149,7 +149,7 @@ msgid ""
" other fields are optional and may be empty."
msgstr "Mindestens der Vorname oder der Nachname müssen angegeben sein. Alle übrigen Felder sind optional und dürfen leer sein."
#: core/static/js/core/site.js:609 motions/static/js/motions/site.js:281
#: core/static/js/core/site.js:611 motions/static/js/motions/site.js:281
msgid "Attachment"
msgstr "Anhang"
@ -727,7 +727,7 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty."
msgstr "Bezeichner, Begründung, Antragsteller/in und Sachgebiet sind optional und dürfen leer sein."
#: core/static/js/core/site.js:620
#: core/static/js/core/site.js:622
msgid "If deactivated it appears as internal item on agenda."
msgstr "Wenn deaktiviert, erscheint es als interner Eintrag in der Tagesordnung."
@ -861,6 +861,10 @@ msgstr "Redeliste"
msgid "Live view"
msgstr "Live-Vorschau"
#: core/static/js/core/site.js:434
msgid "Loading ..."
msgstr "Laden ..."
#: core/static/templates/core/login-form.html:20 index.html:101
msgid "Login"
msgstr "Anmelden"
@ -1377,7 +1381,7 @@ msgstr "Schlagwort auswählen oder suchen ..."
msgid "Select or search a workflow ..."
msgstr "Arbeitsablauf auswählen oder suchen ..."
#: core/static/js/core/site.js:612 motions/static/js/motions/site.js:284
#: core/static/js/core/site.js:614 motions/static/js/motions/site.js:284
msgid "Select or search an attachment ..."
msgstr "Anhang auswählen oder suchen ..."
@ -1401,7 +1405,7 @@ msgstr "Nur PDF-Dateien anzeigen"
#: agenda/static/templates/agenda/item-list.html:216
#: assignments/static/js/assignments/site.js:164
#: core/static/js/core/site.js:619 motions/static/js/motions/site.js:264
#: core/static/js/core/site.js:621 motions/static/js/motions/site.js:264
msgid "Show as agenda item"
msgstr "Als Tagesordnungspunkt anzeigen"
@ -1515,7 +1519,7 @@ msgid "Tags"
msgstr "Schlagwörter"
#: agenda/static/templates/agenda/item-import.html:83
#: core/static/js/core/site.js:599 motions/static/js/motions/site.js:234
#: core/static/js/core/site.js:601 motions/static/js/motions/site.js:234
#: motions/static/templates/motions/motion-detail.html:227
#: motions/static/templates/motions/motion-import.html:56
msgid "Text"
@ -1534,7 +1538,7 @@ msgstr "Diese Version ist nicht zugelassen."
#: assignments/static/js/assignments/site.js:133
#: assignments/static/templates/assignments/assignment-list.html:172
#: assignments/static/templates/assignments/assignment-list.html:97
#: core/static/js/core/site.js:591
#: core/static/js/core/site.js:593
#: mediafiles/static/templates/mediafiles/mediafile-form.html:20
#: mediafiles/static/templates/mediafiles/mediafile-list.html:140
#: motions/static/js/motions/site.js:226

View File

@ -4,8 +4,8 @@
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"PO-Revision-Date: 2016-03-20 22:40+0000\n"
"Last-Translator: Emanuel Schütze <emanuel.schuetze@intevation.de>\n"
"PO-Revision-Date: 2016-04-07 10:07+0000\n"
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
"Language-Team: Spanish (http://www.transifex.com/openslides/openslides/language/es/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -147,7 +147,7 @@ msgid ""
" other fields are optional and may be empty."
msgstr "Al menos el nombre o apellidos deben ser rellenados. Todos\notros campos son opcionales y puede estar vacía."
#: core/static/js/core/site.js:609 motions/static/js/motions/site.js:281
#: core/static/js/core/site.js:611 motions/static/js/motions/site.js:281
msgid "Attachment"
msgstr "Archivo adjunto"
@ -725,7 +725,7 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty."
msgstr "Identificador, razón, remitente y categoría son opcionales y puede estar vacía."
#: core/static/js/core/site.js:620
#: core/static/js/core/site.js:622
msgid "If deactivated it appears as internal item on agenda."
msgstr ""
@ -859,6 +859,10 @@ msgstr "La lista de oradores"
msgid "Live view"
msgstr "Vista en vivo"
#: core/static/js/core/site.js:434
msgid "Loading ..."
msgstr ""
#: core/static/templates/core/login-form.html:20 index.html:101
msgid "Login"
msgstr "Login"
@ -1375,7 +1379,7 @@ msgstr "Seleccione o busque una etiqueta ..."
msgid "Select or search a workflow ..."
msgstr "Seleccione o busque un flujo de trabajo ..."
#: core/static/js/core/site.js:612 motions/static/js/motions/site.js:284
#: core/static/js/core/site.js:614 motions/static/js/motions/site.js:284
msgid "Select or search an attachment ..."
msgstr "Seleccione o busque un archivo adjunto ..."
@ -1399,7 +1403,7 @@ msgstr ""
#: agenda/static/templates/agenda/item-list.html:216
#: assignments/static/js/assignments/site.js:164
#: core/static/js/core/site.js:619 motions/static/js/motions/site.js:264
#: core/static/js/core/site.js:621 motions/static/js/motions/site.js:264
msgid "Show as agenda item"
msgstr ""
@ -1513,7 +1517,7 @@ msgid "Tags"
msgstr "Etiquetas"
#: agenda/static/templates/agenda/item-import.html:83
#: core/static/js/core/site.js:599 motions/static/js/motions/site.js:234
#: core/static/js/core/site.js:601 motions/static/js/motions/site.js:234
#: motions/static/templates/motions/motion-detail.html:227
#: motions/static/templates/motions/motion-import.html:56
msgid "Text"
@ -1532,7 +1536,7 @@ msgstr "Esta versión no está permitida."
#: assignments/static/js/assignments/site.js:133
#: assignments/static/templates/assignments/assignment-list.html:172
#: assignments/static/templates/assignments/assignment-list.html:97
#: core/static/js/core/site.js:591
#: core/static/js/core/site.js:593
#: mediafiles/static/templates/mediafiles/mediafile-form.html:20
#: mediafiles/static/templates/mediafiles/mediafile-list.html:140
#: motions/static/js/motions/site.js:226

View File

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"PO-Revision-Date: 2016-03-21 12:05+0000\n"
"Last-Translator: Moira Brülisauer <moosline@savvy.ch>\n"
"PO-Revision-Date: 2016-04-07 10:07+0000\n"
"Last-Translator: Oskar Hahn <mail@oshahn.de>\n"
"Language-Team: French (http://www.transifex.com/openslides/openslides/language/fr/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -148,7 +148,7 @@ msgid ""
" other fields are optional and may be empty."
msgstr "Au moins le prénom ou le nom doivent être remplir. \nTous les autres champs sont facultatifs et peuvent être vides."
#: core/static/js/core/site.js:609 motions/static/js/motions/site.js:281
#: core/static/js/core/site.js:611 motions/static/js/motions/site.js:281
msgid "Attachment"
msgstr "pièce jointe"
@ -726,7 +726,7 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty."
msgstr "L' Identificateur, la raison, le déposant et la catégorie sont optionnels et peuvent être vides."
#: core/static/js/core/site.js:620
#: core/static/js/core/site.js:622
msgid "If deactivated it appears as internal item on agenda."
msgstr "Si cette option est désactivée, elle apparaît comme élément interne sur l'ordre du jour."
@ -860,6 +860,10 @@ msgstr "Liste des orateurs"
msgid "Live view"
msgstr "La vue en direct"
#: core/static/js/core/site.js:434
msgid "Loading ..."
msgstr ""
#: core/static/templates/core/login-form.html:20 index.html:101
msgid "Login"
msgstr "Connexion"
@ -1376,7 +1380,7 @@ msgstr "Sélectionner ou rechercher une balise ..."
msgid "Select or search a workflow ..."
msgstr "Sélectionner ou rechercher un flux de travail ..."
#: core/static/js/core/site.js:612 motions/static/js/motions/site.js:284
#: core/static/js/core/site.js:614 motions/static/js/motions/site.js:284
msgid "Select or search an attachment ..."
msgstr "Sélectionner ou rechercher une annexe ..."
@ -1400,7 +1404,7 @@ msgstr "N'afficher que les fichier PDF"
#: agenda/static/templates/agenda/item-list.html:216
#: assignments/static/js/assignments/site.js:164
#: core/static/js/core/site.js:619 motions/static/js/motions/site.js:264
#: core/static/js/core/site.js:621 motions/static/js/motions/site.js:264
msgid "Show as agenda item"
msgstr "Afficher comme éléments de l'ordre du jour"
@ -1514,7 +1518,7 @@ msgid "Tags"
msgstr "Balises"
#: agenda/static/templates/agenda/item-import.html:83
#: core/static/js/core/site.js:599 motions/static/js/motions/site.js:234
#: core/static/js/core/site.js:601 motions/static/js/motions/site.js:234
#: motions/static/templates/motions/motion-detail.html:227
#: motions/static/templates/motions/motion-import.html:56
msgid "Text"
@ -1533,7 +1537,7 @@ msgstr "Cette version n'est pas permis."
#: assignments/static/js/assignments/site.js:133
#: assignments/static/templates/assignments/assignment-list.html:172
#: assignments/static/templates/assignments/assignment-list.html:97
#: core/static/js/core/site.js:591
#: core/static/js/core/site.js:593
#: mediafiles/static/templates/mediafiles/mediafile-form.html:20
#: mediafiles/static/templates/mediafiles/mediafile-list.html:140
#: motions/static/js/motions/site.js:226

View File

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: OpenSlides\n"
"PO-Revision-Date: 2016-03-21 00:10+0000\n"
"PO-Revision-Date: 2016-04-08 17:21+0000\n"
"Last-Translator: Marco A.G.Pinto <marcoagpinto@mail.telepac.pt>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/openslides/openslides/language/pt_PT/)\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -147,7 +147,7 @@ msgid ""
" other fields are optional and may be empty."
msgstr "Pelo menos o primeiro ou o último nome tem que ser preenchido.\nTodos os outros campos são opcionais e podem estar vazios."
#: core/static/js/core/site.js:609 motions/static/js/motions/site.js:281
#: core/static/js/core/site.js:611 motions/static/js/motions/site.js:281
msgid "Attachment"
msgstr "Anexo"
@ -725,7 +725,7 @@ msgid ""
"Identifier, reason, submitter and category are optional and may be empty."
msgstr "Identificador, razão, submissor e categoria são opcionais e podem estar vazios."
#: core/static/js/core/site.js:620
#: core/static/js/core/site.js:622
msgid "If deactivated it appears as internal item on agenda."
msgstr "Se desactivado, aparece como item interno na agenda."
@ -859,6 +859,10 @@ msgstr "Lista de oradores"
msgid "Live view"
msgstr "Visualização ao vivo"
#: core/static/js/core/site.js:434
msgid "Loading ..."
msgstr "A carregar ..."
#: core/static/templates/core/login-form.html:20 index.html:101
msgid "Login"
msgstr "Login"
@ -1375,7 +1379,7 @@ msgstr "Seleccionar ou pesquisar uma tag ..."
msgid "Select or search a workflow ..."
msgstr "Seleccionar ou pesquisar um workflow ..."
#: core/static/js/core/site.js:612 motions/static/js/motions/site.js:284
#: core/static/js/core/site.js:614 motions/static/js/motions/site.js:284
msgid "Select or search an attachment ..."
msgstr "Seleccionar ou pesquisar um anexo ..."
@ -1399,7 +1403,7 @@ msgstr "Mostrar apenas ficheiros PDF"
#: agenda/static/templates/agenda/item-list.html:216
#: assignments/static/js/assignments/site.js:164
#: core/static/js/core/site.js:619 motions/static/js/motions/site.js:264
#: core/static/js/core/site.js:621 motions/static/js/motions/site.js:264
msgid "Show as agenda item"
msgstr "Mostrar como item da agenda"
@ -1513,7 +1517,7 @@ msgid "Tags"
msgstr "Tags"
#: agenda/static/templates/agenda/item-import.html:83
#: core/static/js/core/site.js:599 motions/static/js/motions/site.js:234
#: core/static/js/core/site.js:601 motions/static/js/motions/site.js:234
#: motions/static/templates/motions/motion-detail.html:227
#: motions/static/templates/motions/motion-import.html:56
msgid "Text"
@ -1532,7 +1536,7 @@ msgstr "Esta versão não é permitida."
#: assignments/static/js/assignments/site.js:133
#: assignments/static/templates/assignments/assignment-list.html:172
#: assignments/static/templates/assignments/assignment-list.html:97
#: core/static/js/core/site.js:591
#: core/static/js/core/site.js:593
#: mediafiles/static/templates/mediafiles/mediafile-form.html:20
#: mediafiles/static/templates/mediafiles/mediafile-list.html:140
#: motions/static/js/motions/site.js:226

View File

@ -24,7 +24,7 @@ def setup_motion_config(sender, **kwargs):
label=ugettext_lazy('Workflow of new motions'),
choices=({'value': str(workflow.pk), 'display_name': ugettext_lazy(workflow.name)} for workflow in Workflow.objects.all()),
weight=310,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('General'))
yield ConfigVariable(
@ -37,7 +37,7 @@ def setup_motion_config(sender, **kwargs):
{'value': 'serially_numbered', 'display_name': ugettext_lazy('Serially numbered')},
{'value': 'manually', 'display_name': ugettext_lazy('Set it manually')}),
weight=315,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('General'))
yield ConfigVariable(
@ -45,7 +45,7 @@ def setup_motion_config(sender, **kwargs):
default_value=_('The assembly may decide,'),
label=ugettext_lazy('Motion preamble'),
weight=320,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('General'),
translatable=True)
@ -55,7 +55,7 @@ def setup_motion_config(sender, **kwargs):
input_type='boolean',
label=ugettext_lazy('Stop submitting new motions by non-staff users'),
weight=325,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('General'))
yield ConfigVariable(
@ -64,7 +64,7 @@ def setup_motion_config(sender, **kwargs):
input_type='boolean',
label=ugettext_lazy('Allow to disable versioning'),
weight=330,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('General'))
# Amendments
@ -76,7 +76,7 @@ def setup_motion_config(sender, **kwargs):
label=ugettext_lazy('Activate amendments'),
hidden=True,
weight=335,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Amendments'))
yield ConfigVariable(
@ -85,7 +85,7 @@ def setup_motion_config(sender, **kwargs):
label=ugettext_lazy('Prefix for the identifier for amendments'),
hidden=True,
weight=340,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Amendments'))
# Supporters
@ -97,7 +97,7 @@ def setup_motion_config(sender, **kwargs):
label=ugettext_lazy('Number of (minimum) required supporters for a motion'),
help_text=ugettext_lazy('Choose 0 to disable the supporting system.'),
weight=345,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Supporters'),
validators=(MinValueValidator(0),))
@ -107,7 +107,7 @@ def setup_motion_config(sender, **kwargs):
input_type='boolean',
label=ugettext_lazy('Remove all supporters of a motion if a submitter edits his motion in early state'),
weight=350,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Supporters'))
# Voting and ballot papers
@ -119,7 +119,7 @@ def setup_motion_config(sender, **kwargs):
label=ugettext_lazy('The 100 % base of a voting result consists of'),
choices=PERCENT_BASE_CHOICES,
weight=355,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Voting and ballot papers'))
yield ConfigVariable(
@ -132,7 +132,7 @@ def setup_motion_config(sender, **kwargs):
{'value': 'NUMBER_OF_ALL_PARTICIPANTS', 'display_name': ugettext_lazy('Number of all participants')},
{'value': 'CUSTOM_NUMBER', 'display_name': ugettext_lazy('Use the following custom number')}),
weight=360,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Voting and ballot papers'))
yield ConfigVariable(
@ -141,7 +141,7 @@ def setup_motion_config(sender, **kwargs):
input_type='integer',
label=ugettext_lazy('Custom number of ballot papers'),
weight=365,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('Voting and ballot papers'),
validators=(MinValueValidator(1),))
@ -152,7 +152,7 @@ def setup_motion_config(sender, **kwargs):
default_value=_('Motions'),
label=ugettext_lazy('Title for PDF document (all motions)'),
weight=370,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('PDF'),
translatable=True)
@ -161,7 +161,7 @@ def setup_motion_config(sender, **kwargs):
default_value='',
label=ugettext_lazy('Preamble text for PDF document (all motions)'),
weight=375,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('PDF'))
yield ConfigVariable(
@ -170,7 +170,7 @@ def setup_motion_config(sender, **kwargs):
input_type='boolean',
label=ugettext_lazy('Show paragraph numbering (only in PDF)'),
weight=380,
group=ugettext_lazy('Motion'),
group=ugettext_lazy('Motions'),
subgroup=ugettext_lazy('PDF'))

View File

@ -15,7 +15,7 @@
<form name="groupForm">
<div class="form-group">
<label for="inputName" translate>Name</label>
<input type="text" ng-model="group.name|translate" class="form-control" name="inputName" required>
<input type="text" ng-model="group.name" class="form-control" name="inputName" required>
</div>
<div class="form-group">
<label for="selectPermissions" translate>Permissions</label>

View File

@ -122,7 +122,7 @@
{{ user.structure_level }}
<td>
<div ng-repeat="groupname in user.groupnames">
<translate>{{ groupname }}</translate>
{{ groupname | translate }}
</div>
<td>
{{ user.comment }}