Merge pull request #1877 from emanuelschuetze/translationFix
Add Translation strings and updated po files
This commit is contained in:
commit
673a761f6d
@ -1,27 +1,35 @@
|
|||||||
Instruction to update translation for OpenSlides:
|
Instruction to update translations for OpenSlides (JavaScipt and Django):
|
||||||
-------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
1. Go to the openslides directory (which contains the 'locale' directory):
|
1. Update English resource files:
|
||||||
|
|
||||||
|
a) for JavaScript run:
|
||||||
|
$ ./node_modules/.bin/gulp pot
|
||||||
|
-> updates 'openslides/locale/angular-gettext/template-en.pot'
|
||||||
|
|
||||||
|
b) for Django:
|
||||||
$ cd openslides
|
$ cd openslides
|
||||||
|
$ django-admin.py makemessages -l en
|
||||||
|
-> updates 'openslides/locale/en/LC_MESSAGES/django.po'
|
||||||
|
|
||||||
2. Update the German po file (locale/de/LC_MESSAGES/django.po):
|
2. Commit and merge the following files into OpenSlides master repo:
|
||||||
$ django-admin.py makemessages -l de
|
a) openslides/locale/angular-gettext/template-en.pot
|
||||||
$ django-admin.py makemessages -l de -d djangojs
|
b) openslides/locale/en/LC_MESSAGES/django.po
|
||||||
|
|
||||||
3. Edit the German po file: locale/de/LC_MESSAGES/django.po
|
Transifex will update both resource files once a day by pulling from GitHub.
|
||||||
Don't forget the js-file: locale/de/LC_MESSAGES/djangojs.po
|
|
||||||
(Search for "fuzzy" and empty msgstr entries.)
|
|
||||||
|
|
||||||
4. Update the German mo file (locale/de/LC_MESSAGES/django.mo):
|
3. Translate both files in transifex into desired languages.
|
||||||
|
https://www.transifex.com/openslides/
|
||||||
|
|
||||||
|
4. Download translated po files for each language and override it:
|
||||||
|
a) openslides/locale/angular-gettext/{LANG-CODE}.po
|
||||||
|
b) openslides/locale/{LANG-CODE}/LC_MESSAGES/django.po
|
||||||
|
|
||||||
|
5. Create mo file for each language (only for django po files required)
|
||||||
|
$ cd openslides
|
||||||
$ django-admin.py compilemessages
|
$ django-admin.py compilemessages
|
||||||
|
|
||||||
5. Restart server:
|
6. Commit and merge for each language the following files:
|
||||||
$ python manage.py runserver
|
a) openslides/locale/angular-gettext/{LANG-CODE}.po
|
||||||
|
b) openslides/locale/{LANG-CODE}/LC_MESSAGES/django.po
|
||||||
--
|
openslides/locale/{LANG-CODE}/LC_MESSAGES/django.mo
|
||||||
Additional hints for internationalization (i18n) in Django:
|
|
||||||
https://docs.djangoproject.com/en/dev/topics/i18n/
|
|
||||||
|
|
||||||
Note: gettext is required to extract message IDs or compile message files.
|
|
||||||
For gettext on Windows read:
|
|
||||||
https://docs.djangoproject.com/en/dev/topics/i18n/translation/#gettext-on-windows
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2016-01-13 11:44+0100\n"
|
"POT-Creation-Date: 2016-01-22 21:13+0100\n"
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -187,12 +187,12 @@ msgstr ""
|
|||||||
msgid "You have to submit data for %d candidates."
|
msgid "You have to submit data for %d candidates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: assignments/serializers.py:140 motions/serializers.py:168
|
#: assignments/serializers.py:140 motions/serializers.py:176
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "You have to submit data for %d vote values."
|
msgid "You have to submit data for %d vote values."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: assignments/serializers.py:144 motions/serializers.py:172
|
#: assignments/serializers.py:144 motions/serializers.py:180
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Vote value %s is invalid."
|
msgid "Vote value %s is invalid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -331,7 +331,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: assignments/views.py:175
|
#: assignments/views.py:175
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can not delete someones candidature to this election because it is "
|
"You can not delete someone's candidature to this election because it is "
|
||||||
"finished."
|
"finished."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -677,7 +677,7 @@ msgstr ""
|
|||||||
#: motions/signals.py:86 motions/signals.py:98 motions/signals.py:108
|
#: motions/signals.py:86 motions/signals.py:98 motions/signals.py:108
|
||||||
#: motions/signals.py:120 motions/signals.py:133 motions/signals.py:142
|
#: motions/signals.py:120 motions/signals.py:133 motions/signals.py:142
|
||||||
#: motions/signals.py:153 motions/signals.py:162 motions/signals.py:170
|
#: motions/signals.py:153 motions/signals.py:162 motions/signals.py:170
|
||||||
#: motions/views.py:351 motions/views.py:411
|
#: motions/views.py:357 motions/views.py:417
|
||||||
msgid "Motion"
|
msgid "Motion"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -706,7 +706,7 @@ msgstr ""
|
|||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/pdf.py:91 motions/views.py:151 motions/views.py:163
|
#: motions/pdf.py:91 motions/views.py:157 motions/views.py:169
|
||||||
msgid "Version"
|
msgid "Version"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -714,7 +714,7 @@ msgstr ""
|
|||||||
msgid "Vote result"
|
msgid "Vote result"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/pdf.py:121 motions/views.py:351
|
#: motions/pdf.py:121 motions/views.py:357
|
||||||
msgid "Vote"
|
msgid "Vote"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -745,11 +745,11 @@ msgstr ""
|
|||||||
msgid "Workflow %(pk)d does not exist."
|
msgid "Workflow %(pk)d does not exist."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/serializers.py:127 poll/models.py:262
|
#: motions/serializers.py:129 poll/models.py:262
|
||||||
msgid "majority"
|
msgid "majority"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/serializers.py:129 poll/models.py:264 poll/models.py:266
|
#: motions/serializers.py:131 poll/models.py:264 poll/models.py:266
|
||||||
msgid "undocumented"
|
msgid "undocumented"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -828,7 +828,7 @@ msgstr ""
|
|||||||
msgid "Voting and ballot papers"
|
msgid "Voting and ballot papers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/signals.py:150 motions/views.py:404
|
#: motions/signals.py:150 motions/views.py:410
|
||||||
msgid "Motions"
|
msgid "Motions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -844,175 +844,83 @@ msgstr ""
|
|||||||
msgid "Show paragraph numbering (only in PDF)"
|
msgid "Show paragraph numbering (only in PDF)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/signals.py:184
|
|
||||||
msgid "Simple Workflow"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:185
|
|
||||||
msgid "submitted"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:190 motions/signals.py:219
|
|
||||||
msgid "accepted"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:192 motions/signals.py:221
|
|
||||||
msgid "Accept"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:194 motions/signals.py:224
|
|
||||||
msgid "rejected"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:196 motions/signals.py:226
|
|
||||||
msgid "Reject"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:198
|
|
||||||
msgid "not decided"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:200
|
|
||||||
msgid "Do not decide"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:206
|
|
||||||
msgid "Complex Workflow"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:207
|
|
||||||
msgid "published"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:212 motions/views.py:153
|
|
||||||
msgid "permitted"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:214
|
|
||||||
msgid "Permit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:229
|
|
||||||
msgid "withdrawed"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:231
|
|
||||||
msgid "Withdraw"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:234
|
|
||||||
msgid "adjourned"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:236
|
|
||||||
msgid "Adjourn"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:239
|
|
||||||
msgid "not concerned"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:241
|
|
||||||
msgid "Do not concern"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:244
|
|
||||||
msgid "commited a bill"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:246
|
|
||||||
msgid "Commit a bill"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:249
|
|
||||||
msgid "needs review"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:251
|
|
||||||
msgid "Needs review"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:254
|
|
||||||
msgid "rejected (not authorized)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/signals.py:256
|
|
||||||
msgid "Reject (not authorized)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: motions/views.py:85
|
#: motions/views.py:85
|
||||||
msgid "Motion created"
|
msgid "Motion created"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:121
|
#: motions/views.py:127
|
||||||
msgid "Motion updated"
|
msgid "Motion updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:125
|
#: motions/views.py:131
|
||||||
msgid "All supporters removed"
|
msgid "All supporters removed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:155
|
#: motions/views.py:159
|
||||||
|
msgid "permitted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: motions/views.py:161
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Version %d permitted successfully."
|
msgid "Version %d permitted successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:160
|
#: motions/views.py:166
|
||||||
msgid "You can not delete the active version of a motion."
|
msgid "You can not delete the active version of a motion."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:165
|
#: motions/views.py:171
|
||||||
msgid "deleted"
|
msgid "deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:167
|
#: motions/views.py:173
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Version %d deleted successfully."
|
msgid "Version %d deleted successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:188
|
#: motions/views.py:194
|
||||||
msgid "You can not support this motion."
|
msgid "You can not support this motion."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:190
|
#: motions/views.py:196
|
||||||
msgid "Motion supported"
|
msgid "Motion supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:191
|
#: motions/views.py:197
|
||||||
msgid "You have supported this motion successfully."
|
msgid "You have supported this motion successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:196
|
#: motions/views.py:202
|
||||||
msgid "You can not unsupport this motion."
|
msgid "You can not unsupport this motion."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:198
|
#: motions/views.py:204
|
||||||
msgid "Motion unsupported"
|
msgid "Motion unsupported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:199
|
#: motions/views.py:205
|
||||||
msgid "You have unsupported this motion successfully."
|
msgid "You have unsupported this motion successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:222
|
#: motions/views.py:228
|
||||||
msgid "Invalid data. State must be an integer."
|
msgid "Invalid data. State must be an integer."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:225
|
#: motions/views.py:231
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "You can not set the state to %(state_id)d."
|
msgid "You can not set the state to %(state_id)d."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:233
|
#: motions/views.py:239
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "The state of the motion was set to %s."
|
msgid "The state of the motion was set to %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:237
|
#: motions/views.py:243
|
||||||
msgid "State set to"
|
msgid "State set to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: motions/views.py:252
|
#: motions/views.py:258
|
||||||
msgid "Vote created successfully."
|
msgid "Vote created successfully."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from django.core.validators import MinValueValidator
|
from django.core.validators import MinValueValidator
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.utils.translation import pgettext, ugettext_lazy, ugettext_noop
|
from django.utils.translation import pgettext, ugettext_lazy
|
||||||
|
|
||||||
from openslides.core.config import ConfigVariable
|
from openslides.core.config import ConfigVariable
|
||||||
from openslides.poll.models import PERCENT_BASE_CHOICES
|
from openslides.poll.models import PERCENT_BASE_CHOICES
|
||||||
@ -181,79 +181,79 @@ def create_builtin_workflows(sender, **kwargs):
|
|||||||
# If there is at least one workflow, then do nothing.
|
# If there is at least one workflow, then do nothing.
|
||||||
return
|
return
|
||||||
|
|
||||||
workflow_1 = Workflow.objects.create(name=ugettext_noop('Simple Workflow'))
|
workflow_1 = Workflow.objects.create(name='Simple Workflow')
|
||||||
state_1_1 = State.objects.create(name=ugettext_noop('submitted'),
|
state_1_1 = State.objects.create(name='submitted',
|
||||||
workflow=workflow_1,
|
workflow=workflow_1,
|
||||||
allow_create_poll=True,
|
allow_create_poll=True,
|
||||||
allow_support=True,
|
allow_support=True,
|
||||||
allow_submitter_edit=True)
|
allow_submitter_edit=True)
|
||||||
state_1_2 = State.objects.create(name=ugettext_noop('accepted'),
|
state_1_2 = State.objects.create(name='accepted',
|
||||||
workflow=workflow_1,
|
workflow=workflow_1,
|
||||||
action_word=ugettext_noop('Accept'),
|
action_word='Accept',
|
||||||
css_class='success')
|
css_class='success')
|
||||||
state_1_3 = State.objects.create(name=ugettext_noop('rejected'),
|
state_1_3 = State.objects.create(name='rejected',
|
||||||
workflow=workflow_1,
|
workflow=workflow_1,
|
||||||
action_word=ugettext_noop('Reject'),
|
action_word='Reject',
|
||||||
css_class='danger')
|
css_class='danger')
|
||||||
state_1_4 = State.objects.create(name=ugettext_noop('not decided'),
|
state_1_4 = State.objects.create(name='not decided',
|
||||||
workflow=workflow_1,
|
workflow=workflow_1,
|
||||||
action_word=ugettext_noop('Do not decide'),
|
action_word='Do not decide',
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_1_1.next_states.add(state_1_2, state_1_3, state_1_4)
|
state_1_1.next_states.add(state_1_2, state_1_3, state_1_4)
|
||||||
workflow_1.first_state = state_1_1
|
workflow_1.first_state = state_1_1
|
||||||
workflow_1.save()
|
workflow_1.save()
|
||||||
|
|
||||||
workflow_2 = Workflow.objects.create(name=ugettext_noop('Complex Workflow'))
|
workflow_2 = Workflow.objects.create(name='Complex Workflow')
|
||||||
state_2_1 = State.objects.create(name=ugettext_noop('published'),
|
state_2_1 = State.objects.create(name='published',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
allow_support=True,
|
allow_support=True,
|
||||||
allow_submitter_edit=True,
|
allow_submitter_edit=True,
|
||||||
dont_set_identifier=True)
|
dont_set_identifier=True)
|
||||||
state_2_2 = State.objects.create(name=ugettext_noop('permitted'),
|
state_2_2 = State.objects.create(name='permitted',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Permit'),
|
action_word='Permit',
|
||||||
allow_create_poll=True,
|
allow_create_poll=True,
|
||||||
allow_submitter_edit=True,
|
allow_submitter_edit=True,
|
||||||
versioning=True,
|
versioning=True,
|
||||||
leave_old_version_active=True)
|
leave_old_version_active=True)
|
||||||
state_2_3 = State.objects.create(name=ugettext_noop('accepted'),
|
state_2_3 = State.objects.create(name='accepted',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Accept'),
|
action_word='Accept',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='success')
|
css_class='success')
|
||||||
state_2_4 = State.objects.create(name=ugettext_noop('rejected'),
|
state_2_4 = State.objects.create(name='rejected',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Reject'),
|
action_word='Reject',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='danger')
|
css_class='danger')
|
||||||
state_2_5 = State.objects.create(name=ugettext_noop('withdrawed'),
|
state_2_5 = State.objects.create(name='withdrawed',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Withdraw'),
|
action_word='Withdraw',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_2_6 = State.objects.create(name=ugettext_noop('adjourned'),
|
state_2_6 = State.objects.create(name='adjourned',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Adjourn'),
|
action_word='Adjourn',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_2_7 = State.objects.create(name=ugettext_noop('not concerned'),
|
state_2_7 = State.objects.create(name='not concerned',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Do not concern'),
|
action_word='Do not concern',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_2_8 = State.objects.create(name=ugettext_noop('commited a bill'),
|
state_2_8 = State.objects.create(name='commited a bill',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Commit a bill'),
|
action_word='Commit a bill',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_2_9 = State.objects.create(name=ugettext_noop('needs review'),
|
state_2_9 = State.objects.create(name='needs review',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Needs review'),
|
action_word='Needs review',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_2_10 = State.objects.create(name=ugettext_noop('rejected (not authorized)'),
|
state_2_10 = State.objects.create(name='rejected (not authorized)',
|
||||||
workflow=workflow_2,
|
workflow=workflow_2,
|
||||||
action_word=ugettext_noop('Reject (not authorized)'),
|
action_word='Reject (not authorized)',
|
||||||
versioning=True,
|
versioning=True,
|
||||||
css_class='default')
|
css_class='default')
|
||||||
state_2_1.next_states.add(state_2_2, state_2_5, state_2_10)
|
state_2_1.next_states.add(state_2_2, state_2_5, state_2_10)
|
||||||
|
@ -312,5 +312,45 @@ angular.module('OpenSlidesApp.motions', ['OpenSlidesApp.users'])
|
|||||||
'Motion',
|
'Motion',
|
||||||
'Category',
|
'Category',
|
||||||
function(Motion, Category) {}
|
function(Motion, Category) {}
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
// Mark all motion workflow state strings for translation in JavaScript.
|
||||||
|
// (see motions/signals.py)
|
||||||
|
.config([
|
||||||
|
'gettext',
|
||||||
|
function (gettext) {
|
||||||
|
// workflow 1
|
||||||
|
gettext('Simple Workflow')
|
||||||
|
gettext('submitted')
|
||||||
|
gettext('accepted')
|
||||||
|
gettext('Accept')
|
||||||
|
gettext('rejected')
|
||||||
|
gettext('Reject')
|
||||||
|
gettext('not decided')
|
||||||
|
gettext('Do not decide')
|
||||||
|
// workflow 2
|
||||||
|
gettext('Complex Workflow')
|
||||||
|
gettext('published')
|
||||||
|
gettext('permitted')
|
||||||
|
gettext('Permit')
|
||||||
|
gettext('accepted')
|
||||||
|
gettext('Accept')
|
||||||
|
gettext('rejected')
|
||||||
|
gettext('Reject')
|
||||||
|
gettext('withdrawed')
|
||||||
|
gettext('Withdraw')
|
||||||
|
gettext('adjourned')
|
||||||
|
gettext('Adjourn')
|
||||||
|
gettext('not concerned')
|
||||||
|
gettext('Do not concern')
|
||||||
|
gettext('commited a bill')
|
||||||
|
gettext('Commit a bill')
|
||||||
|
gettext('needs review')
|
||||||
|
gettext('Needs review')
|
||||||
|
gettext('rejected (not authorized)')
|
||||||
|
gettext('Reject (not authorized)')
|
||||||
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div id="sidebox">
|
<div id="sidebox">
|
||||||
<!-- State -->
|
<!-- State -->
|
||||||
<h3 translate>State</h3>
|
<h3 translate>State</h3>
|
||||||
{{ motion.state.name }}
|
{{ motion.state.name | translate }}
|
||||||
|
|
||||||
<!-- Submitters -->
|
<!-- Submitters -->
|
||||||
<h3 ng-if="motion.submitters.length > 0" translate>Submitters</h3>
|
<h3 ng-if="motion.submitters.length > 0" translate>Submitters</h3>
|
||||||
|
Loading…
Reference in New Issue
Block a user