Merge branch 'JS_translations' into 'master'

Js translations

Closes #73

See merge request bde/nk20!140
This commit is contained in:
ynerant 2020-11-21 13:18:32 +01:00
commit 4942553335
23 changed files with 708 additions and 119 deletions

View File

@ -267,14 +267,18 @@ La documentation plus haut niveau sur le développement est disponible sur [le W
### Regénérer les fichiers de traduction ### Regénérer les fichiers de traduction
Pour regénérer les traductions vous pouvez vous placer à la racine du projet et lancer le script `makemessages`. Il faut penser à ignorer les dossiers ne contenant pas notre code, dont le virtualenv. Pour regénérer les traductions vous pouvez vous placer à la racine du projet et lancer le script `makemessages`.
Il faut penser à ignorer les dossiers ne contenant pas notre code, dont le virtualenv.
De plus, il faut aussi extraire les variables des fichiers JavaScript.
```bash ```bash
django-admin makemessages -i env python3 manage.py makemessages -i env
python3 manage.py makemessages -i env -e js -d djangojs
``` ```
Une fois les fichiers édités, vous pouvez compiler les nouvelles traductions avec Une fois les fichiers édités, vous pouvez compiler les nouvelles traductions avec
```bash ```bash
django-admin compilemessages python3 manage.py compilemessages
python3 manage.py compilejsmessages
``` ```

View File

@ -1,4 +1,10 @@
--- ---
- name: Collect static files
command: /var/www/note_kfet/env/bin/python manage.py collectstatic --noinput
args:
chdir: /var/www/note_kfet
become_user: www-data
- name: Migrate Django database - name: Migrate Django database
command: /var/www/note_kfet/env/bin/python manage.py migrate command: /var/www/note_kfet/env/bin/python manage.py migrate
args: args:
@ -11,14 +17,14 @@
chdir: /var/www/note_kfet chdir: /var/www/note_kfet
become_user: www-data become_user: www-data
- name: Compile JavaScript messages
command: /var/www/note_kfet/env/bin/python manage.py compilejsmessages
args:
chdir: /var/www/note_kfet
become_user: www-data
- name: Install initial fixtures - name: Install initial fixtures
command: /var/www/note_kfet/env/bin/python manage.py loaddata initial command: /var/www/note_kfet/env/bin/python manage.py loaddata initial
args: args:
chdir: /var/www/note_kfet chdir: /var/www/note_kfet
become_user: postgres become_user: postgres
- name: Collect static files
command: /var/www/note_kfet/env/bin/python manage.py collectstatic --noinput
args:
chdir: /var/www/note_kfet
become_user: www-data

View File

@ -30,7 +30,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
headers: {"X-CSRFTOKEN": CSRF_TOKEN} headers: {"X-CSRFTOKEN": CSRF_TOKEN}
}) })
.done(function() { .done(function() {
addMsg('Invité supprimé','success'); addMsg('{% trans "Guest deleted" %}', 'success');
$("#guests_table").load(location.pathname + " #guests_table"); $("#guests_table").load(location.pathname + " #guests_table");
}) })
.fail(function(xhr, textStatus, error) { .fail(function(xhr, textStatus, error) {

View File

@ -86,10 +86,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
}).done(function () { }).done(function () {
if (target.hasClass("table-info")) if (target.hasClass("table-info"))
addMsg( addMsg(
"Entrée effectuée, mais attention : la personne n'est plus adhérente Kfet.", "{% trans "Entry done, but caution: the user is not a Kfet member." %}",
"warning", 10000); "warning", 10000);
else else
addMsg("Entrée effectuée !", "success", 4000); addMsg("Entry made!", "success", 4000);
reloadTable(true); reloadTable(true);
}).fail(function (xhr) { }).fail(function (xhr) {
errMsg(xhr.responseJSON, 4000); errMsg(xhr.responseJSON, 4000);
@ -121,10 +121,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
}).done(function () { }).done(function () {
if (target.hasClass("table-info")) if (target.hasClass("table-info"))
addMsg( addMsg(
"Entrée effectuée, mais attention : la personne n'est plus adhérente Kfet.", "{% trans "Entry done, but caution: the user is not a Kfet member." %}",
"warning", 10000); "warning", 10000);
else else
addMsg("Entrée effectuée !", "success", 4000); addMsg("{% trans "Entry done!" %}", "success", 4000);
reloadTable(true); reloadTable(true);
}).fail(function (xhr) { }).fail(function (xhr) {
errMsg(xhr.responseJSON, 4000); errMsg(xhr.responseJSON, 4000);

View File

@ -14,7 +14,7 @@ function create_alias (e) {
}).done(function () { }).done(function () {
// Reload table // Reload table
$('#alias_table').load(location.pathname + ' #alias_table') $('#alias_table').load(location.pathname + ' #alias_table')
addMsg('Alias ajouté', 'success') addMsg(gettext('Alias successfully added'), 'success')
}).fail(function (xhr, _textStatus, _error) { }).fail(function (xhr, _textStatus, _error) {
errMsg(xhr.responseJSON) errMsg(xhr.responseJSON)
}) })
@ -22,7 +22,7 @@ function create_alias (e) {
/** /**
* On click of "delete", delete the alias * On click of "delete", delete the alias
* @param Integer button_id Alias id to remove * @param button_id:Integer Alias id to remove
*/ */
function delete_button (button_id) { function delete_button (button_id) {
$.ajax({ $.ajax({
@ -30,7 +30,7 @@ function delete_button (button_id) {
method: 'DELETE', method: 'DELETE',
headers: { 'X-CSRFTOKEN': CSRF_TOKEN } headers: { 'X-CSRFTOKEN': CSRF_TOKEN }
}).done(function () { }).done(function () {
addMsg('Alias supprimé', 'success') addMsg(gettext('Alias successfully deleted'), 'success')
$('#alias_table').load(location.pathname + ' #alias_table') $('#alias_table').load(location.pathname + ' #alias_table')
}).fail(function (xhr, _textStatus, _error) { }).fail(function (xhr, _textStatus, _error) {
errMsg(xhr.responseJSON) errMsg(xhr.responseJSON)

View File

@ -222,17 +222,14 @@ function consume (source, source_alias, dest, quantity, amount, reason, type, ca
if (!isNaN(source.balance)) { if (!isNaN(source.balance)) {
const newBalance = source.balance - quantity * amount const newBalance = source.balance - quantity * amount
if (newBalance <= -5000) { if (newBalance <= -5000) {
addMsg('Attention, La transaction depuis la note ' + source_alias + ' a été réalisée avec ' + addMsg(interpolate(gettext('Warning, the transaction from the note %s succeed, ' +
'succès, mais la note émettrice ' + source_alias + ' est en négatif sévère.', 'but the emitter note %s is very negative.', [source_alias, source_alias])), 'danger', 30000)
'danger', 30000)
} else if (newBalance < 0) { } else if (newBalance < 0) {
addMsg('Attention, La transaction depuis la note ' + source_alias + ' a été réalisée avec ' + addMsg(interpolate(gettext('Warning, the transaction from the note %s succeed, ' +
'succès, mais la note émettrice ' + source_alias + ' est en négatif.', 'but the emitter note %s is negative.', [source_alias, source_alias])), 'warning', 30000)
'warning', 30000)
} }
if (source.membership && source.membership.date_end < new Date().toISOString()) { if (source.membership && source.membership.date_end < new Date().toISOString()) {
addMsg('Attention : la note émettrice ' + source.name + " n'est plus adhérente.", addMsg(interpolate(gettext('Warning, the emitter note %s is no more a BDE member.', [source_alias])), 'danger', 30000)
'danger', 30000)
} }
} }
reset() reset()
@ -253,7 +250,7 @@ function consume (source, source_alias, dest, quantity, amount, reason, type, ca
template: template template: template
}).done(function () { }).done(function () {
reset() reset()
addMsg("La transaction n'a pas pu être validée pour cause de solde insuffisant.", 'danger', 10000) addMsg(gettext("The transaction couldn't be validated because of insufficient balance."), 'danger', 10000)
}).fail(function () { }).fail(function () {
reset() reset()
errMsg(e.responseJSON) errMsg(e.responseJSON)

View File

@ -239,20 +239,20 @@ $('#btn_transfer').click(function () {
if (!amount_field.val() || isNaN(amount_field.val()) || amount_field.val() <= 0) { if (!amount_field.val() || isNaN(amount_field.val()) || amount_field.val() <= 0) {
amount_field.addClass('is-invalid') amount_field.addClass('is-invalid')
$('#amount-required').html('<strong>Ce champ est requis et doit comporter un nombre décimal strictement positif.</strong>') $('#amount-required').html('<strong>' + gettext('This field is required and must contain a decimal positive number.') + '</strong>')
error = true error = true
} }
const amount = Math.floor(100 * amount_field.val()) const amount = Math.floor(100 * amount_field.val())
if (amount > 2147483647) { if (amount > 2147483647) {
amount_field.addClass('is-invalid') amount_field.addClass('is-invalid')
$('#amount-required').html('<strong>Le montant ne doit pas excéder 21474836.47 €.</strong>') $('#amount-required').html('<strong>' + gettext('The amount must stay under 21,474,836.47 €.') + '</strong>')
error = true error = true
} }
if (!reason_field.val() && $('#type_transfer').is(':checked')) { if (!reason_field.val() && $('#type_transfer').is(':checked')) {
reason_field.addClass('is-invalid') reason_field.addClass('is-invalid')
$('#reason-required').html('<strong>Ce champ est requis.</strong>') $('#reason-required').html('<strong>' + gettext('This field is required.') + '</strong>')
error = true error = true
} }
@ -278,9 +278,8 @@ $('#btn_transfer').click(function () {
[...sources_notes_display].forEach(function (source) { [...sources_notes_display].forEach(function (source) {
[...dests_notes_display].forEach(function (dest) { [...dests_notes_display].forEach(function (dest) {
if (source.note.id === dest.note.id) { if (source.note.id === dest.note.id) {
addMsg('Attention : la transaction de ' + pretty_money(amount) + ' de la note ' + source.name + addMsg(interpolate(gettext('Warning: the transaction of %s from %s to %s was not made because ' +
' vers la note ' + dest.name + " n'a pas été faite car il s'agit de la même note au départ" + 'it is the same source and destination note.'), [pretty_money(amount), source.name, dest.name]), 'warning', 10000)
" et à l'arrivée.", 'warning', 10000)
LOCK = false LOCK = false
return return
} }
@ -300,43 +299,35 @@ $('#btn_transfer').click(function () {
destination_alias: dest.name destination_alias: dest.name
}).done(function () { }).done(function () {
if (source.note.membership && source.note.membership.date_end < new Date().toISOString()) { if (source.note.membership && source.note.membership.date_end < new Date().toISOString()) {
addMsg('Attention : la note émettrice ' + source.name + " n'est plus adhérente.", addMsg(interpolate(gettext('Warning, the emitter note %s is no more a BDE member.'), [source.name]), 'danger', 30000)
'danger', 30000)
} }
if (dest.note.membership && dest.note.membership.date_end < new Date().toISOString()) { if (dest.note.membership && dest.note.membership.date_end < new Date().toISOString()) {
addMsg('Attention : la note destination ' + dest.name + " n'est plus adhérente.", addMsg(interpolate(gettext('Warning, the destination note %s is no more a BDE member.'), [source.name]), 'danger', 30000)
'danger', 30000)
} }
if (!isNaN(source.note.balance)) { if (!isNaN(source.note.balance)) {
const newBalance = source.note.balance - source.quantity * dest.quantity * amount const newBalance = source.note.balance - source.quantity * dest.quantity * amount
if (newBalance <= -5000) { if (newBalance <= -5000) {
addMsg('Le transfert de ' + addMsg(interpolate(gettext('Warning, the transaction of %s from the note %s to the note %s succeed, but the emitter note %s is very negative.'),
pretty_money(source.quantity * dest.quantity * amount) + ' de la note ' + [pretty_money(source.quantity * dest.quantity * amount), source.name, dest.name, source.name]), 'danger', 10000)
source.name + ' vers la note ' + dest.name + ' a été fait avec succès, ' +
'mais la note émettrice est en négatif sévère.', 'danger', 10000)
reset() reset()
return return
} else if (newBalance < 0) { } else if (newBalance < 0) {
addMsg('Le transfert de ' + addMsg(interpolate(gettext('Warning, the transaction of %s from the note %s to the note %s succeed, but the emitter note %s is negative.'),
pretty_money(source.quantity * dest.quantity * amount) + ' de la note ' + [pretty_money(source.quantity * dest.quantity * amount), source.name, dest.name, source.name]), 'danger', 10000)
source.name + ' vers la note ' + dest.name + ' a été fait avec succès, ' +
'mais la note émettrice est en négatif.', 'warning', 10000)
reset() reset()
return return
} }
} }
addMsg('Le transfert de ' + addMsg(interpolate(gettext('Transfer of %s from %s to %s succeed!'),
pretty_money(source.quantity * dest.quantity * amount) + ' de la note ' + source.name + [pretty_money(source.quantity * dest.quantity * amount), source.name, dest.name]), 'success', 10000)
' vers la note ' + dest.name + ' a été fait avec succès !', 'success', 10000)
reset() reset()
}).fail(function (err) { // do it again but valid = false }).fail(function (err) { // do it again but valid = false
const errObj = JSON.parse(err.responseText) const errObj = JSON.parse(err.responseText)
if (errObj.non_field_errors) { if (errObj.non_field_errors) {
addMsg('Le transfert de ' + addMsg(interpolate(gettext('Transfer of %s from %s to %s failed: %s'),
pretty_money(source.quantity * dest.quantity * amount) + ' de la note ' + source.name + [pretty_money(source.quantity * dest.quantity * amount), source.name, dest.name, errObj.non_field_errors]), 'danger')
' vers la note ' + dest.name + ' a échoué : ' + errObj.non_field_errors, 'danger')
LOCK = false LOCK = false
return return
} }
@ -356,17 +347,15 @@ $('#btn_transfer').click(function () {
destination: dest.note.id, destination: dest.note.id,
destination_alias: dest.name destination_alias: dest.name
}).done(function () { }).done(function () {
addMsg('Le transfert de ' + addMsg(interpolate(gettext('Transfer of %s from %s to %s failed: %s'),
pretty_money(source.quantity * dest.quantity * amount) + ' de la note ' + source.name + [pretty_money(source.quantity * dest.quantity * amount), source.name, + dest.name, gettext('insufficient funds')]), 'danger', 10000)
' vers la note ' + dest.name + ' a échoué : Solde insuffisant', 'danger', 10000)
reset() reset()
}).fail(function (err) { }).fail(function (err) {
const errObj = JSON.parse(err.responseText) const errObj = JSON.parse(err.responseText)
let error = errObj.detail ? errObj.detail : errObj.non_field_errors let error = errObj.detail ? errObj.detail : errObj.non_field_errors
if (!error) { error = err.responseText } if (!error) { error = err.responseText }
addMsg('Le transfert de ' + addMsg(interpolate(gettext('Transfer of %s from %s to %s failed: %s'),
pretty_money(source.quantity * dest.quantity * amount) + ' de la note ' + source.name + [pretty_money(source.quantity * dest.quantity * amount), source.name, + dest.name, error]), 'danger')
' vers la note ' + dest.name + ' a échoué : ' + error, 'danger')
LOCK = false LOCK = false
}) })
}) })
@ -412,14 +401,14 @@ $('#btn_transfer').click(function () {
first_name: $('#first_name').val(), first_name: $('#first_name').val(),
bank: $('#bank').val() bank: $('#bank').val()
}).done(function () { }).done(function () {
addMsg('Le crédit/retrait a bien été effectué !', 'success', 10000) addMsg(gettext('Credit/debit succeed!'), 'success', 10000)
if (user_note.membership && user_note.membership.date_end < new Date().toISOString()) { addMsg('Attention : la note ' + alias + " n'est plus adhérente.", 'danger', 10000) } if (user_note.membership && user_note.membership.date_end < new Date().toISOString()) { addMsg(gettext('Warning, the emitter note %s is no more a BDE member.'), 'danger', 10000) }
reset() reset()
}).fail(function (err) { }).fail(function (err) {
const errObj = JSON.parse(err.responseText) const errObj = JSON.parse(err.responseText)
let error = errObj.detail ? errObj.detail : errObj.non_field_errors let error = errObj.detail ? errObj.detail : errObj.non_field_errors
if (!error) { error = err.responseText } if (!error) { error = err.responseText }
addMsg('Le crédit/retrait a échoué : ' + error, 'danger', 10000) addMsg(interpolate(gettext('Credit/debit failed: %s'), [error]), 'danger', 10000)
LOCK = false LOCK = false
}) })
} }

View File

@ -2855,6 +2855,22 @@
"description": "Voir n'importe quel utilisateur qui est adhérent BDE" "description": "Voir n'importe quel utilisateur qui est adhérent BDE"
} }
}, },
{
"model": "permission.permission",
"pk": 183,
"fields": {
"model": [
"note",
"note"
],
"query": "{}",
"type": "change",
"mask": 1,
"field": "display_image",
"permanent": false,
"description": "Changer l'image de n'importe quelle note"
}
},
{ {
"model": "permission.role", "model": "permission.role",
"pk": 1, "pk": 1,
@ -3070,7 +3086,8 @@
175, 175,
176, 176,
177, 177,
178 178,
183
] ]
} }
}, },
@ -3253,7 +3270,12 @@
175, 175,
176, 176,
177, 177,
178 178,
179,
180,
181,
182,
183
] ]
} }
}, },

@ -1 +1 @@
Subproject commit 654492f9e9262c37fecb43261f02557aeb6e1cc1 Subproject commit dbe7bf65917df40b0ce476f357d04726e20b406f

View File

@ -14,6 +14,7 @@ fi
# Set up Django project # Set up Django project
python3 manage.py collectstatic --noinput python3 manage.py collectstatic --noinput
python3 manage.py compilemessages python3 manage.py compilemessages
python3 manage.py compilejsmessages
python3 manage.py migrate python3 manage.py migrate
if [ "$1" ]; then if [ "$1" ]; then

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-07 11:42+0200\n" "POT-Creation-Date: 2020-11-15 23:26+0100\n"
"PO-Revision-Date: 2020-09-13 12:39+0200\n" "PO-Revision-Date: 2020-09-13 12:39+0200\n"
"Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n" "Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n"
"Language-Team: \n" "Language-Team: \n"
@ -279,11 +279,17 @@ msgstr "Kontostand"
msgid "Guests list" msgid "Guests list"
msgstr "Gastliste" msgstr "Gastliste"
#: apps/activity/templates/activity/activity_detail.html:33
#, fuzzy
#| msgid "Guests list"
msgid "Guest deleted"
msgstr "Gastliste"
#: apps/activity/templates/activity/activity_entry.html:14 #: apps/activity/templates/activity/activity_entry.html:14
#: apps/note/models/transactions.py:256 #: apps/note/models/transactions.py:256
#: apps/note/templates/note/transaction_form.html:16 #: apps/note/templates/note/transaction_form.html:16
#: apps/note/templates/note/transaction_form.html:148 #: apps/note/templates/note/transaction_form.html:148
#: note_kfet/templates/base.html:70 #: note_kfet/templates/base.html:73
msgid "Transfer" msgid "Transfer"
msgstr "Überweisen" msgstr "Überweisen"
@ -308,6 +314,17 @@ msgstr "Eintritte"
msgid "Return to activity page" msgid "Return to activity page"
msgstr "Zurück zur Veranstaltungseite" msgstr "Zurück zur Veranstaltungseite"
#: apps/activity/templates/activity/activity_entry.html:89
#: apps/activity/templates/activity/activity_entry.html:124
msgid "Entry done, but caution: the user is not a Kfet member."
msgstr ""
#: apps/activity/templates/activity/activity_entry.html:127
#, fuzzy
#| msgid "Entry page"
msgid "Entry done!"
msgstr "Eintrittseite"
#: apps/activity/templates/activity/activity_form.html:16 #: apps/activity/templates/activity/activity_form.html:16
#: apps/member/templates/member/add_members.html:46 #: apps/member/templates/member/add_members.html:46
#: apps/member/templates/member/club_form.html:16 #: apps/member/templates/member/club_form.html:16
@ -378,7 +395,7 @@ msgstr "Einladen"
msgid "Create new activity" msgid "Create new activity"
msgstr "Neue Veranstaltung schaffen" msgstr "Neue Veranstaltung schaffen"
#: apps/activity/views.py:67 note_kfet/templates/base.html:88 #: apps/activity/views.py:67 note_kfet/templates/base.html:91
msgid "Activities" msgid "Activities"
msgstr "Veranstaltungen" msgstr "Veranstaltungen"
@ -1620,7 +1637,7 @@ msgstr "Tatsen finden"
msgid "Update button" msgid "Update button"
msgstr "Tatse bearbeiten" msgstr "Tatse bearbeiten"
#: apps/note/views.py:151 note_kfet/templates/base.html:64 #: apps/note/views.py:151 note_kfet/templates/base.html:67
msgid "Consumptions" msgid "Consumptions"
msgstr "Verbräuche" msgstr "Verbräuche"
@ -1798,7 +1815,7 @@ msgstr ""
"diesen Parametern zu erstellen. Bitte korrigieren Sie Ihre Daten und " "diesen Parametern zu erstellen. Bitte korrigieren Sie Ihre Daten und "
"versuchen Sie es erneut." "versuchen Sie es erneut."
#: apps/permission/views.py:110 note_kfet/templates/base.html:106 #: apps/permission/views.py:110 note_kfet/templates/base.html:109
msgid "Rights" msgid "Rights"
msgstr "Rechten" msgstr "Rechten"
@ -2007,7 +2024,7 @@ msgstr ""
msgid "Invalidate pre-registration" msgid "Invalidate pre-registration"
msgstr "Ungültige Vorregistrierung" msgstr "Ungültige Vorregistrierung"
#: apps/treasury/apps.py:12 note_kfet/templates/base.html:94 #: apps/treasury/apps.py:12 note_kfet/templates/base.html:97
msgid "Treasury" msgid "Treasury"
msgstr "Quaestor" msgstr "Quaestor"
@ -2409,7 +2426,7 @@ msgstr "Krediten von der Société générale handeln"
#: apps/wei/apps.py:10 apps/wei/models.py:49 apps/wei/models.py:50 #: apps/wei/apps.py:10 apps/wei/models.py:49 apps/wei/models.py:50
#: apps/wei/models.py:61 apps/wei/models.py:167 #: apps/wei/models.py:61 apps/wei/models.py:167
#: note_kfet/templates/base.html:100 #: note_kfet/templates/base.html:103
msgid "WEI" msgid "WEI"
msgstr "WEI" msgstr "WEI"
@ -3021,34 +3038,34 @@ msgstr "Reset"
msgid "The ENS Paris-Saclay BDE note." msgid "The ENS Paris-Saclay BDE note."
msgstr "Die BDE ENS-Paris-Saclay Note." msgstr "Die BDE ENS-Paris-Saclay Note."
#: note_kfet/templates/base.html:76 #: note_kfet/templates/base.html:79
msgid "Users" msgid "Users"
msgstr "Users" msgstr "Users"
#: note_kfet/templates/base.html:82 #: note_kfet/templates/base.html:85
msgid "Clubs" msgid "Clubs"
msgstr "Clubs" msgstr "Clubs"
#: note_kfet/templates/base.html:111 #: note_kfet/templates/base.html:114
msgid "Admin" msgid "Admin"
msgstr "Admin" msgstr "Admin"
#: note_kfet/templates/base.html:125 #: note_kfet/templates/base.html:128
msgid "My account" msgid "My account"
msgstr "Mein Konto" msgstr "Mein Konto"
#: note_kfet/templates/base.html:128 #: note_kfet/templates/base.html:131
msgid "Log out" msgid "Log out"
msgstr "Abmelden" msgstr "Abmelden"
#: note_kfet/templates/base.html:136 #: note_kfet/templates/base.html:139
#: note_kfet/templates/registration/signup.html:6 #: note_kfet/templates/registration/signup.html:6
#: note_kfet/templates/registration/signup.html:11 #: note_kfet/templates/registration/signup.html:11
#: note_kfet/templates/registration/signup.html:28 #: note_kfet/templates/registration/signup.html:28
msgid "Sign up" msgid "Sign up"
msgstr "Registrieren" msgstr "Registrieren"
#: note_kfet/templates/base.html:143 #: note_kfet/templates/base.html:146
#: note_kfet/templates/registration/login.html:6 #: note_kfet/templates/registration/login.html:6
#: note_kfet/templates/registration/login.html:15 #: note_kfet/templates/registration/login.html:15
#: note_kfet/templates/registration/login.html:38 #: note_kfet/templates/registration/login.html:38

View File

@ -0,0 +1,119 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-15 23:21+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: apps/member/static/member/js/alias.js:17
msgid "Alias successfully added"
msgstr ""
#: apps/member/static/member/js/alias.js:33
msgid "Alias successfully deleted"
msgstr ""
#: apps/note/static/note/js/consos.js:225
#, javascript-format
msgid ""
"Warning, the transaction from the note %s succeed, but the emitter note %s "
"is very negative."
msgstr ""
#: apps/note/static/note/js/consos.js:228
#, javascript-format
msgid ""
"Warning, the transaction from the note %s succeed, but the emitter note %s "
"is negative."
msgstr ""
#: apps/note/static/note/js/consos.js:232
#: apps/note/static/note/js/transfer.js:298
#: apps/note/static/note/js/transfer.js:401
#, javascript-format
msgid "Warning, the emitter note %s is no more a BDE member."
msgstr ""
#: apps/note/static/note/js/consos.js:253
msgid "The transaction couldn't be validated because of insufficient balance."
msgstr ""
#: apps/note/static/note/js/transfer.js:238
msgid "This field is required and must contain a decimal positive number."
msgstr ""
#: apps/note/static/note/js/transfer.js:245
msgid "The amount must stay under 21,474,836.47 €."
msgstr ""
#: apps/note/static/note/js/transfer.js:251
msgid "This field is required."
msgstr ""
#: apps/note/static/note/js/transfer.js:277
#, javascript-format
msgid ""
"Warning: the transaction of %s from %s to %s was not made because it is the "
"same source and destination note."
msgstr ""
#: apps/note/static/note/js/transfer.js:301
#, javascript-format
msgid "Warning, the destination note %s is no more a BDE member."
msgstr ""
#: apps/note/static/note/js/transfer.js:307
#, javascript-format
msgid ""
"Warning, the transaction of %s from the note %s to the note %s succeed, but "
"the emitter note %s is very negative."
msgstr ""
#: apps/note/static/note/js/transfer.js:312
#, javascript-format
msgid ""
"Warning, the transaction of %s from the note %s to the note %s succeed, but "
"the emitter note %s is negative."
msgstr ""
#: apps/note/static/note/js/transfer.js:318
#, javascript-format
msgid "Transfer of %s from %s to %s succeed!"
msgstr ""
#: apps/note/static/note/js/transfer.js:325
#: apps/note/static/note/js/transfer.js:346
#: apps/note/static/note/js/transfer.js:353
#, javascript-format
msgid "Transfer of %s from %s to %s failed: %s"
msgstr ""
#: apps/note/static/note/js/transfer.js:347
msgid "insufficient funds"
msgstr ""
#: apps/note/static/note/js/transfer.js:400
msgid "Credit/debit succeed!"
msgstr ""
#: apps/note/static/note/js/transfer.js:407
#, javascript-format
msgid "Credit/debit failed: %s"
msgstr ""
#: note_kfet/static/js/base.js:366
msgid "An error occured while (in)validating this transaction:"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-07 11:42+0200\n" "POT-Creation-Date: 2020-11-15 23:26+0100\n"
"PO-Revision-Date: 2020-09-19 14:56+0200\n" "PO-Revision-Date: 2020-11-17 23:47+0100\n"
"Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n" "Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
@ -278,11 +278,15 @@ msgstr "Saldo de la cuenta"
msgid "Guests list" msgid "Guests list"
msgstr "Lista de los invitados" msgstr "Lista de los invitados"
#: apps/activity/templates/activity/activity_detail.html:33
msgid "Guest deleted"
msgstr "Invitados suprimidos"
#: apps/activity/templates/activity/activity_entry.html:14 #: apps/activity/templates/activity/activity_entry.html:14
#: apps/note/models/transactions.py:256 #: apps/note/models/transactions.py:256
#: apps/note/templates/note/transaction_form.html:16 #: apps/note/templates/note/transaction_form.html:16
#: apps/note/templates/note/transaction_form.html:148 #: apps/note/templates/note/transaction_form.html:148
#: note_kfet/templates/base.html:70 #: note_kfet/templates/base.html:73
msgid "Transfer" msgid "Transfer"
msgstr "Transferencia" msgstr "Transferencia"
@ -307,6 +311,15 @@ msgstr "Entradas"
msgid "Return to activity page" msgid "Return to activity page"
msgstr "Regresar a la página de la actividad" msgstr "Regresar a la página de la actividad"
#: apps/activity/templates/activity/activity_entry.html:89
#: apps/activity/templates/activity/activity_entry.html:124
msgid "Entry done, but caution: the user is not a Kfet member."
msgstr "Entrada echa, pero cuidado : el usuario no es un miembro de la Kfet."
#: apps/activity/templates/activity/activity_entry.html:127
msgid "Entry done!"
msgstr "Entrada echa !"
#: apps/activity/templates/activity/activity_form.html:16 #: apps/activity/templates/activity/activity_form.html:16
#: apps/member/templates/member/add_members.html:46 #: apps/member/templates/member/add_members.html:46
#: apps/member/templates/member/club_form.html:16 #: apps/member/templates/member/club_form.html:16
@ -377,7 +390,7 @@ msgstr "Invitar"
msgid "Create new activity" msgid "Create new activity"
msgstr "Crear una nueva actividad" msgstr "Crear una nueva actividad"
#: apps/activity/views.py:67 note_kfet/templates/base.html:88 #: apps/activity/views.py:67 note_kfet/templates/base.html:91
msgid "Activities" msgid "Activities"
msgstr "Actividades" msgstr "Actividades"
@ -586,7 +599,7 @@ msgstr "sección"
#: apps/member/models.py:46 #: apps/member/models.py:46
msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
msgstr "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" msgstr "i.e. \"1A0\", \"9A♥\", \"SAPHIRE\""
#: apps/member/models.py:54 apps/wei/templates/wei/weimembership_form.html:32 #: apps/member/models.py:54 apps/wei/templates/wei/weimembership_form.html:32
msgid "department" msgid "department"
@ -1617,7 +1630,7 @@ msgstr "Buscar un botón"
msgid "Update button" msgid "Update button"
msgstr "Modificar el botón" msgstr "Modificar el botón"
#: apps/note/views.py:151 note_kfet/templates/base.html:64 #: apps/note/views.py:151 note_kfet/templates/base.html:67
msgid "Consumptions" msgid "Consumptions"
msgstr "Consumiciones" msgstr "Consumiciones"
@ -1793,7 +1806,7 @@ msgid ""
"with these parameters. Please correct your data and retry." "with these parameters. Please correct your data and retry."
msgstr "" msgstr ""
#: apps/permission/views.py:110 note_kfet/templates/base.html:106 #: apps/permission/views.py:110 note_kfet/templates/base.html:109
msgid "Rights" msgid "Rights"
msgstr "Permisos" msgstr "Permisos"
@ -1810,18 +1823,20 @@ msgid "This email address is already used."
msgstr "Este correo electrónico ya esta utilizado." msgstr "Este correo electrónico ya esta utilizado."
#: apps/registration/forms.py:49 #: apps/registration/forms.py:49
#, fuzzy
#| msgid "You already opened an account in the Société générale."
msgid "" msgid ""
"I declare that I opened a bank account in the Société générale with the BDE " "I declare that I opened a bank account in the Société générale with the BDE "
"partnership." "partnership."
msgstr "Usted ya abrió una cuenta a la Société Générale." msgstr ""
"Declaro que ya abrió una cuenta a la Société Générale en colaboración con el "
"BDE."
#: apps/registration/forms.py:50 #: apps/registration/forms.py:50
msgid "" msgid ""
"Warning: this engages you to open your bank account. If you finally decides " "Warning: this engages you to open your bank account. If you finally decides "
"to don't open your account, you will have to pay the BDE membership." "to don't open your account, you will have to pay the BDE membership."
msgstr "" msgstr ""
"Cuidado : esto le obliga abrir su cuenta bancaria. Si cambia de idea y no "
"abre su cuenta bancaria, tendrá que pagar su afiliación al BDE."
#: apps/registration/forms.py:58 #: apps/registration/forms.py:58
msgid "Register to the WEI" msgid "Register to the WEI"
@ -1832,7 +1847,7 @@ msgid ""
"Check this case if you want to register to the WEI. If you hesitate, you " "Check this case if you want to register to the WEI. If you hesitate, you "
"will be able to register later, after validating your account in the Kfet." "will be able to register later, after validating your account in the Kfet."
msgstr "" msgstr ""
"Marcar esta casilla si usted quiere registrarse en el WEI. Si duda, podrá " "Marcar esta casilla si usted quiere registrarse en el WEI. Si duda, podrá "
"registrarse más tarde, después de validar su cuenta Note Kfet." "registrarse más tarde, después de validar su cuenta Note Kfet."
#: apps/registration/forms.py:105 #: apps/registration/forms.py:105
@ -1892,11 +1907,9 @@ msgid "Validate account"
msgstr "Validar la cuenta" msgstr "Validar la cuenta"
#: apps/registration/templates/registration/future_profile_detail.html:62 #: apps/registration/templates/registration/future_profile_detail.html:62
#, fuzzy
#| msgid "You already opened an account in the Société générale."
msgid "" msgid ""
"The user declared that he/she opened a bank account in the Société générale." "The user declared that he/she opened a bank account in the Société générale."
msgstr "Usted ya abrió una cuenta a la Société Générale." msgstr "El usuario declara que ya abrió una cuenta a la Société Générale."
#: apps/registration/templates/registration/future_profile_detail.html:71 #: apps/registration/templates/registration/future_profile_detail.html:71
#: apps/wei/templates/wei/weimembership_form.html:127 #: apps/wei/templates/wei/weimembership_form.html:127
@ -2001,7 +2014,7 @@ msgstr ""
msgid "Invalidate pre-registration" msgid "Invalidate pre-registration"
msgstr "Invalidar la afiliación" msgstr "Invalidar la afiliación"
#: apps/treasury/apps.py:12 note_kfet/templates/base.html:94 #: apps/treasury/apps.py:12 note_kfet/templates/base.html:97
msgid "Treasury" msgid "Treasury"
msgstr "Tesorería" msgstr "Tesorería"
@ -2398,7 +2411,7 @@ msgstr "Gestionar los créditos de la Société Générale"
#: apps/wei/apps.py:10 apps/wei/models.py:49 apps/wei/models.py:50 #: apps/wei/apps.py:10 apps/wei/models.py:49 apps/wei/models.py:50
#: apps/wei/models.py:61 apps/wei/models.py:167 #: apps/wei/models.py:61 apps/wei/models.py:167
#: note_kfet/templates/base.html:100 #: note_kfet/templates/base.html:103
msgid "WEI" msgid "WEI"
msgstr "WEI" msgstr "WEI"
@ -2997,40 +3010,40 @@ msgstr ""
#: note_kfet/templates/autocomplete_model.html:14 #: note_kfet/templates/autocomplete_model.html:14
msgid "Reset" msgid "Reset"
msgstr "" msgstr "Reiniciar"
#: note_kfet/templates/base.html:14 #: note_kfet/templates/base.html:14
msgid "The ENS Paris-Saclay BDE note." msgid "The ENS Paris-Saclay BDE note."
msgstr "La note del BDE de la ENS Paris-Saclay." msgstr "La note del BDE de la ENS Paris-Saclay."
#: note_kfet/templates/base.html:76 #: note_kfet/templates/base.html:79
msgid "Users" msgid "Users"
msgstr "Usuarios" msgstr "Usuarios"
#: note_kfet/templates/base.html:82 #: note_kfet/templates/base.html:85
msgid "Clubs" msgid "Clubs"
msgstr "Clubs" msgstr "Clubs"
#: note_kfet/templates/base.html:111 #: note_kfet/templates/base.html:114
msgid "Admin" msgid "Admin"
msgstr "" msgstr ""
#: note_kfet/templates/base.html:125 #: note_kfet/templates/base.html:128
msgid "My account" msgid "My account"
msgstr "Mi cuenta" msgstr "Mi cuenta"
#: note_kfet/templates/base.html:128 #: note_kfet/templates/base.html:131
msgid "Log out" msgid "Log out"
msgstr "Desconectarse" msgstr "Desconectarse"
#: note_kfet/templates/base.html:136 #: note_kfet/templates/base.html:139
#: note_kfet/templates/registration/signup.html:6 #: note_kfet/templates/registration/signup.html:6
#: note_kfet/templates/registration/signup.html:11 #: note_kfet/templates/registration/signup.html:11
#: note_kfet/templates/registration/signup.html:28 #: note_kfet/templates/registration/signup.html:28
msgid "Sign up" msgid "Sign up"
msgstr "Registrar" msgstr "Registrar"
#: note_kfet/templates/base.html:143 #: note_kfet/templates/base.html:146
#: note_kfet/templates/registration/login.html:6 #: note_kfet/templates/registration/login.html:6
#: note_kfet/templates/registration/login.html:15 #: note_kfet/templates/registration/login.html:15
#: note_kfet/templates/registration/login.html:38 #: note_kfet/templates/registration/login.html:38
@ -3043,10 +3056,12 @@ msgid ""
"You are not a BDE member anymore. Please renew your membership if you want " "You are not a BDE member anymore. Please renew your membership if you want "
"to use the note." "to use the note."
msgstr "" msgstr ""
"Usted ya no está miembro del BDE. Por favor renueva su afiliación si quiere "
"usar la note."
#: note_kfet/templates/base.html:160 #: note_kfet/templates/base.html:160
msgid "You are not a Kfet member, so you can't use your note account." msgid "You are not a Kfet member, so you can't use your note account."
msgstr "" msgstr "Usted no es un miembro de la Kfet, no puede usar su cuenta note."
#: note_kfet/templates/base.html:166 #: note_kfet/templates/base.html:166
msgid "" msgid ""
@ -3064,6 +3079,10 @@ msgid ""
"yet. This verification procedure may last a few days. Please make sure that " "yet. This verification procedure may last a few days. Please make sure that "
"you go to the end of the account creation." "you go to the end of the account creation."
msgstr "" msgstr ""
"Usted declaró que abrió una cuenta bancaria a la Société Générale. El banco "
"no convalidó la cuenta al BDE, así que el bonus de 80€ no fue dado y la "
"afiliación no está pagada. El proceso de convalidación puede durar unos "
"días. Por favor comprueba que fue hasta el final de la creación de la cuenta."
#: note_kfet/templates/base.html:194 #: note_kfet/templates/base.html:194
msgid "Contact us" msgid "Contact us"
@ -3188,7 +3207,6 @@ msgstr ""
#~ msgid "Central Authentication Service" #~ msgid "Central Authentication Service"
#~ msgstr "Servicio Central de Autentificación" #~ msgstr "Servicio Central de Autentificación"
#, python-format
#~ msgid "" #~ msgid ""
#~ "A new version of the application is available. This instance runs " #~ "A new version of the application is available. This instance runs "
#~ "%(VERSION)s and the last version is %(LAST_VERSION)s. Please consider " #~ "%(VERSION)s and the last version is %(LAST_VERSION)s. Please consider "

View File

@ -0,0 +1,129 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-15 23:21+0100\n"
"PO-Revision-Date: 2020-11-21 12:23+0100\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n"
"Language-Team: \n"
"X-Generator: Poedit 2.3\n"
#: apps/member/static/member/js/alias.js:17
msgid "Alias successfully added"
msgstr "Alias añadido con éxito"
#: apps/member/static/member/js/alias.js:33
msgid "Alias successfully deleted"
msgstr "Alias suprimido con éxito"
#: apps/note/static/note/js/consos.js:225
#, javascript-format
msgid ""
"Warning, the transaction from the note %s succeed, but the emitter note %s "
"is very negative."
msgstr ""
"Cuidado, la transacción de %s fue un éxito, pero la note %s está muy "
"negativa."
#: apps/note/static/note/js/consos.js:228
#, javascript-format
msgid ""
"Warning, the transaction from the note %s succeed, but the emitter note %s "
"is negative."
msgstr ""
"Cuidado, la transacción de %s fue un éxito, pero la note %s está negativa."
#: apps/note/static/note/js/consos.js:232
#: apps/note/static/note/js/transfer.js:298
#: apps/note/static/note/js/transfer.js:401
#, javascript-format
msgid "Warning, the emitter note %s is no more a BDE member."
msgstr "Cuidado, la note remitente %s no está más miembro del BDE."
#: apps/note/static/note/js/consos.js:253
msgid "The transaction couldn't be validated because of insufficient balance."
msgstr ""
"La transacción no pudo ser validada por culpa de saldo demasiado bajo."
#: apps/note/static/note/js/transfer.js:238
msgid "This field is required and must contain a decimal positive number."
msgstr "Este campo obligatorio requiere un número decimal positivo."
#: apps/note/static/note/js/transfer.js:245
msgid "The amount must stay under 21,474,836.47 €."
msgstr "El monto no puede superar los 21 474 836,47 €."
#: apps/note/static/note/js/transfer.js:251
msgid "This field is required."
msgstr "Este campo es obligatorio."
#: apps/note/static/note/js/transfer.js:277
#, javascript-format
msgid ""
"Warning: the transaction of %s from %s to %s was not made because it is the "
"same source and destination note."
msgstr ""
"Cuidado : la transacción de %s de %s a %s no fue echa porque la fuente y el "
"destino son iguales."
#: apps/note/static/note/js/transfer.js:301
#, javascript-format
msgid "Warning, the destination note %s is no more a BDE member."
msgstr "Cuidado, la note destino %s no está más miembro del BDE."
#: apps/note/static/note/js/transfer.js:307
#, javascript-format
msgid ""
"Warning, the transaction of %s from the note %s to the note %s succeed, but "
"the emitter note %s is very negative."
msgstr ""
"Cuidado, la transacción de %s de la note %s a la note %s fue un éxito, pero "
"la note fuente %s está muy negativa."
#: apps/note/static/note/js/transfer.js:312
#, javascript-format
msgid ""
"Warning, the transaction of %s from the note %s to the note %s succeed, but "
"the emitter note %s is negative."
msgstr ""
"Cuidado, la transacción de %s de la note %s a la note %s fue un éxito, pero "
"la note fuente %s está negativa."
#: apps/note/static/note/js/transfer.js:318
#, javascript-format
msgid "Transfer of %s from %s to %s succeed!"
msgstr "¡ La transacción de %s de %s a %s fue un éxito !"
#: apps/note/static/note/js/transfer.js:325
#: apps/note/static/note/js/transfer.js:346
#: apps/note/static/note/js/transfer.js:353
#, javascript-format
msgid "Transfer of %s from %s to %s failed: %s"
msgstr "La transacción de %s de %s a %s fue un fracaso : %s"
#: apps/note/static/note/js/transfer.js:347
msgid "insufficient funds"
msgstr "fundos insuficientes"
#: apps/note/static/note/js/transfer.js:400
msgid "Credit/debit succeed!"
msgstr "¡ Crédito/débito tubo éxito !"
#: apps/note/static/note/js/transfer.js:407
#, javascript-format
msgid "Credit/debit failed: %s"
msgstr "Crédito/débito falló : %s"
#: note_kfet/static/js/base.js:366
msgid "An error occured while (in)validating this transaction:"
msgstr "Un error ocurrió durante la (in)validación de esta transacción :"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-07 11:42+0200\n" "POT-Creation-Date: 2020-11-15 23:26+0100\n"
"PO-Revision-Date: 2020-09-13 12:36+0200\n" "PO-Revision-Date: 2020-09-13 12:36+0200\n"
"Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n" "Last-Translator: elkmaennchen <elkmaennchen@crans.org>\n"
"Language-Team: \n" "Language-Team: \n"
@ -279,11 +279,15 @@ msgstr "Solde du compte"
msgid "Guests list" msgid "Guests list"
msgstr "Liste des invités" msgstr "Liste des invités"
#: apps/activity/templates/activity/activity_detail.html:33
msgid "Guest deleted"
msgstr "Invité supprimé"
#: apps/activity/templates/activity/activity_entry.html:14 #: apps/activity/templates/activity/activity_entry.html:14
#: apps/note/models/transactions.py:256 #: apps/note/models/transactions.py:256
#: apps/note/templates/note/transaction_form.html:16 #: apps/note/templates/note/transaction_form.html:16
#: apps/note/templates/note/transaction_form.html:148 #: apps/note/templates/note/transaction_form.html:148
#: note_kfet/templates/base.html:70 #: note_kfet/templates/base.html:73
msgid "Transfer" msgid "Transfer"
msgstr "Virement" msgstr "Virement"
@ -308,6 +312,16 @@ msgstr "Entrées"
msgid "Return to activity page" msgid "Return to activity page"
msgstr "Retour à la page de l'activité" msgstr "Retour à la page de l'activité"
#: apps/activity/templates/activity/activity_entry.html:89
#: apps/activity/templates/activity/activity_entry.html:124
msgid "Entry done, but caution: the user is not a Kfet member."
msgstr ""
"Entrée effectuée, mais attention : la personne n'est pas un adhérent Kfet."
#: apps/activity/templates/activity/activity_entry.html:127
msgid "Entry done!"
msgstr "Entrée effectuée !"
#: apps/activity/templates/activity/activity_form.html:16 #: apps/activity/templates/activity/activity_form.html:16
#: apps/member/templates/member/add_members.html:46 #: apps/member/templates/member/add_members.html:46
#: apps/member/templates/member/club_form.html:16 #: apps/member/templates/member/club_form.html:16
@ -378,7 +392,7 @@ msgstr "Inviter"
msgid "Create new activity" msgid "Create new activity"
msgstr "Créer une nouvelle activité" msgstr "Créer une nouvelle activité"
#: apps/activity/views.py:67 note_kfet/templates/base.html:88 #: apps/activity/views.py:67 note_kfet/templates/base.html:91
msgid "Activities" msgid "Activities"
msgstr "Activités" msgstr "Activités"
@ -1622,7 +1636,7 @@ msgstr "Chercher un bouton"
msgid "Update button" msgid "Update button"
msgstr "Modifier le bouton" msgstr "Modifier le bouton"
#: apps/note/views.py:151 note_kfet/templates/base.html:64 #: apps/note/views.py:151 note_kfet/templates/base.html:67
msgid "Consumptions" msgid "Consumptions"
msgstr "Consommations" msgstr "Consommations"
@ -1801,7 +1815,7 @@ msgstr ""
"Vous n'avez pas la permission d'ajouter une instance du modèle « {model} » " "Vous n'avez pas la permission d'ajouter une instance du modèle « {model} » "
"avec ces paramètres. Merci de les corriger et de réessayer." "avec ces paramètres. Merci de les corriger et de réessayer."
#: apps/permission/views.py:110 note_kfet/templates/base.html:106 #: apps/permission/views.py:110 note_kfet/templates/base.html:109
msgid "Rights" msgid "Rights"
msgstr "Droits" msgstr "Droits"
@ -2008,7 +2022,7 @@ msgstr ""
msgid "Invalidate pre-registration" msgid "Invalidate pre-registration"
msgstr "Invalider l'inscription" msgstr "Invalider l'inscription"
#: apps/treasury/apps.py:12 note_kfet/templates/base.html:94 #: apps/treasury/apps.py:12 note_kfet/templates/base.html:97
msgid "Treasury" msgid "Treasury"
msgstr "Trésorerie" msgstr "Trésorerie"
@ -2408,7 +2422,7 @@ msgstr "Gérer les crédits de la Société générale"
#: apps/wei/apps.py:10 apps/wei/models.py:49 apps/wei/models.py:50 #: apps/wei/apps.py:10 apps/wei/models.py:49 apps/wei/models.py:50
#: apps/wei/models.py:61 apps/wei/models.py:167 #: apps/wei/models.py:61 apps/wei/models.py:167
#: note_kfet/templates/base.html:100 #: note_kfet/templates/base.html:103
msgid "WEI" msgid "WEI"
msgstr "WEI" msgstr "WEI"
@ -3020,34 +3034,34 @@ msgstr "Réinitialiser"
msgid "The ENS Paris-Saclay BDE note." msgid "The ENS Paris-Saclay BDE note."
msgstr "La note du BDE de l'ENS Paris-Saclay." msgstr "La note du BDE de l'ENS Paris-Saclay."
#: note_kfet/templates/base.html:76 #: note_kfet/templates/base.html:79
msgid "Users" msgid "Users"
msgstr "Utilisateurs" msgstr "Utilisateurs"
#: note_kfet/templates/base.html:82 #: note_kfet/templates/base.html:85
msgid "Clubs" msgid "Clubs"
msgstr "Clubs" msgstr "Clubs"
#: note_kfet/templates/base.html:111 #: note_kfet/templates/base.html:114
msgid "Admin" msgid "Admin"
msgstr "Admin" msgstr "Admin"
#: note_kfet/templates/base.html:125 #: note_kfet/templates/base.html:128
msgid "My account" msgid "My account"
msgstr "Mon compte" msgstr "Mon compte"
#: note_kfet/templates/base.html:128 #: note_kfet/templates/base.html:131
msgid "Log out" msgid "Log out"
msgstr "Se déconnecter" msgstr "Se déconnecter"
#: note_kfet/templates/base.html:136 #: note_kfet/templates/base.html:139
#: note_kfet/templates/registration/signup.html:6 #: note_kfet/templates/registration/signup.html:6
#: note_kfet/templates/registration/signup.html:11 #: note_kfet/templates/registration/signup.html:11
#: note_kfet/templates/registration/signup.html:28 #: note_kfet/templates/registration/signup.html:28
msgid "Sign up" msgid "Sign up"
msgstr "Inscription" msgstr "Inscription"
#: note_kfet/templates/base.html:143 #: note_kfet/templates/base.html:146
#: note_kfet/templates/registration/login.html:6 #: note_kfet/templates/registration/login.html:6
#: note_kfet/templates/registration/login.html:15 #: note_kfet/templates/registration/login.html:15
#: note_kfet/templates/registration/login.html:38 #: note_kfet/templates/registration/login.html:38

View File

@ -0,0 +1,134 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-15 23:21+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: apps/member/static/member/js/alias.js:17
msgid "Alias successfully added"
msgstr "Alias ajouté avec succès"
#: apps/member/static/member/js/alias.js:33
msgid "Alias successfully deleted"
msgstr "Alias supprimé avec succès"
#: apps/note/static/note/js/consos.js:225
#, javascript-format
msgid ""
"Warning, the transaction from the note %s succeed, but the emitter note %s "
"is very negative."
msgstr ""
"Attention, La transaction depuis la note %s a été réalisée avec succès, mais "
"la note émettrice %s est en négatif sévère."
#: apps/note/static/note/js/consos.js:228
#, javascript-format
msgid ""
"Warning, the transaction from the note %s succeed, but the emitter note %s "
"is negative."
msgstr ""
"Attention, La transaction depuis la note %s a été réalisée avec succès, mais "
"la note émettrice %s est en négatif."
#: apps/note/static/note/js/consos.js:232
#: apps/note/static/note/js/transfer.js:298
#: apps/note/static/note/js/transfer.js:401
#, javascript-format
msgid "Warning, the emitter note %s is no more a BDE member."
msgstr "Attention, la note émettrice %s n'est plus adhérente."
#: apps/note/static/note/js/consos.js:253
msgid "The transaction couldn't be validated because of insufficient balance."
msgstr ""
"La transaction n'a pas pu être validée pour cause de solde insuffisant."
#: apps/note/static/note/js/transfer.js:238
msgid "This field is required and must contain a decimal positive number."
msgstr ""
"Ce champ est requis et doit comporter un nombre décimal strictement positif."
#: apps/note/static/note/js/transfer.js:245
msgid "The amount must stay under 21,474,836.47 €."
msgstr "Le montant ne doit pas excéder 21 474 836.47 €."
#: apps/note/static/note/js/transfer.js:251
msgid "This field is required."
msgstr "Ce champ est requis."
#: apps/note/static/note/js/transfer.js:277
#, javascript-format
msgid ""
"Warning: the transaction of %s from %s to %s was not made because it is the "
"same source and destination note."
msgstr ""
"Attention : la transaction de %s de la note %s vers la note %s n'a pas été "
"faite car il s'agit de la même note au départ et à l'arrivée."
#: apps/note/static/note/js/transfer.js:301
#, javascript-format
msgid "Warning, the destination note %s is no more a BDE member."
msgstr "Attention, la note de destination %s n'est plus adhérente."
#: apps/note/static/note/js/transfer.js:307
#, javascript-format
msgid ""
"Warning, the transaction of %s from the note %s to the note %s succeed, but "
"the emitter note %s is very negative."
msgstr ""
"Attention, La transaction de %s depuis la note %s vers la note %s a été "
"réalisée avec succès, mais la note émettrice %s est en négatif sévère."
#: apps/note/static/note/js/transfer.js:312
#, javascript-format
msgid ""
"Warning, the transaction of %s from the note %s to the note %s succeed, but "
"the emitter note %s is negative."
msgstr ""
"Attention, La transaction de %s depuis la note %s vers la note %s a été "
"réalisée avec succès, mais la note émettrice %s est en négatif."
#: apps/note/static/note/js/transfer.js:318
#, javascript-format
msgid "Transfer of %s from %s to %s succeed!"
msgstr ""
"Le transfert de %s de la note %s vers la note %s a été fait avec succès !"
#: apps/note/static/note/js/transfer.js:325
#: apps/note/static/note/js/transfer.js:346
#: apps/note/static/note/js/transfer.js:353
#, javascript-format
msgid "Transfer of %s from %s to %s failed: %s"
msgstr "Le transfert de %s de la note %s vers la note %s a échoué : %s"
#: apps/note/static/note/js/transfer.js:347
msgid "insufficient funds"
msgstr "solde insuffisant"
#: apps/note/static/note/js/transfer.js:400
msgid "Credit/debit succeed!"
msgstr "Le crédit/retrait a bien été effectué !"
#: apps/note/static/note/js/transfer.js:407
#, javascript-format
msgid "Credit/debit failed: %s"
msgstr "Le crédit/retrait a échoué : %s"
#: note_kfet/static/js/base.js:366
msgid "An error occured while (in)validating this transaction:"
msgstr ""
"Une erreur est survenue lors de la validation/dévalidation de cette "
"transaction :"

View File

@ -363,8 +363,7 @@ function de_validate (id, validated, resourcetype) {
const errObj = JSON.parse(err.responseText) const errObj = JSON.parse(err.responseText)
let error = errObj.detail ? errObj.detail : errObj.non_field_errors let error = errObj.detail ? errObj.detail : errObj.non_field_errors
if (!error) { error = err.responseText } if (!error) { error = err.responseText }
addMsg('Une erreur est survenue lors de la validation/dévalidation ' + addMsg(gettext('An error occured while (in)validating this transaction:') + ' ' + error, 'danger')
'de cette transaction : ' + error, 'danger')
refreshBalance() refreshBalance()
// error if this method doesn't exist. Please define it. // error if this method doesn't exist. Please define it.

View File

@ -0,0 +1,134 @@
/*
* You should never see this file.
* It is here only for compatibility reasons in case of the command `compilejsmessages` was never executed.
* Please execute this command to generate translation strings.
*/
(function(globals) {
var django = globals.django || (globals.django = {});
django.pluralidx = function(n) {
var v=(n != 1);
if (typeof(v) == 'boolean') {
return v ? 1 : 0;
} else {
return v;
}
};
/* gettext library */
django.catalog = django.catalog || {};
if (!django.jsi18n_initialized) {
django.gettext = function(msgid) {
var value = django.catalog[msgid];
if (typeof(value) == 'undefined') {
return msgid;
} else {
return (typeof(value) == 'string') ? value : value[0];
}
};
django.ngettext = function(singular, plural, count) {
var value = django.catalog[singular];
if (typeof(value) == 'undefined') {
return (count == 1) ? singular : plural;
} else {
return value.constructor === Array ? value[django.pluralidx(count)] : value;
}
};
django.gettext_noop = function(msgid) { return msgid; };
django.pgettext = function(context, msgid) {
var value = django.gettext(context + '\x04' + msgid);
if (value.indexOf('\x04') != -1) {
value = msgid;
}
return value;
};
django.npgettext = function(context, singular, plural, count) {
var value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count);
if (value.indexOf('\x04') != -1) {
value = django.ngettext(singular, plural, count);
}
return value;
};
django.interpolate = function(fmt, obj, named) {
if (named) {
return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])});
} else {
return fmt.replace(/%s/g, function(match){return String(obj.shift())});
}
};
/* formatting library */
django.formats = {
"DATETIME_FORMAT": "j \\d\\e F \\d\\e Y \\a \\l\\a\\s H:i",
"DATETIME_INPUT_FORMATS": [
"%d/%m/%Y %H:%M:%S",
"%d/%m/%Y %H:%M:%S.%f",
"%d/%m/%Y %H:%M",
"%d/%m/%y %H:%M:%S",
"%d/%m/%y %H:%M:%S.%f",
"%d/%m/%y %H:%M",
"%Y-%m-%d %H:%M:%S",
"%Y-%m-%d %H:%M:%S.%f",
"%Y-%m-%d %H:%M",
"%Y-%m-%d"
],
"DATE_FORMAT": "j \\d\\e F \\d\\e Y",
"DATE_INPUT_FORMATS": [
"%d/%m/%Y",
"%d/%m/%y",
"%Y-%m-%d"
],
"DECIMAL_SEPARATOR": ",",
"FIRST_DAY_OF_WEEK": 1,
"MONTH_DAY_FORMAT": "j \\d\\e F",
"NUMBER_GROUPING": 3,
"SHORT_DATETIME_FORMAT": "d/m/Y H:i",
"SHORT_DATE_FORMAT": "d/m/Y",
"THOUSAND_SEPARATOR": ".",
"TIME_FORMAT": "H:i",
"TIME_INPUT_FORMATS": [
"%H:%M:%S",
"%H:%M:%S.%f",
"%H:%M"
],
"YEAR_MONTH_FORMAT": "F \\d\\e Y"
};
django.get_format = function(format_type) {
var value = django.formats[format_type];
if (typeof(value) == 'undefined') {
return format_type;
} else {
return value;
}
};
/* add to global namespace */
globals.pluralidx = django.pluralidx;
globals.gettext = django.gettext;
globals.ngettext = django.ngettext;
globals.gettext_noop = django.gettext_noop;
globals.pgettext = django.pgettext;
globals.npgettext = django.npgettext;
globals.interpolate = django.interpolate;
globals.get_format = django.get_format;
django.jsi18n_initialized = true;
}
}(this));

View File

@ -0,0 +1 @@
_default.js

View File

@ -0,0 +1 @@
_default.js

View File

@ -0,0 +1 @@
_default.js

View File

@ -38,6 +38,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
<script src="{% static "js/base.js" %}"></script> <script src="{% static "js/base.js" %}"></script>
<script src="{% static "js/konami.js" %}"></script> <script src="{% static "js/konami.js" %}"></script>
{# Translation in javascript files #}
<script src="{% static "js/jsi18n/jsi18n."|add:LANGUAGE_CODE|add:".js" %}"></script>
{# If extra ressources are needed for a form, load here #} {# If extra ressources are needed for a form, load here #}
{% if form.media %} {% if form.media %}
{{ form.media }} {{ form.media }}

View File

@ -7,7 +7,7 @@ django-extensions~=2.1.4
django-filter~=2.1.0 django-filter~=2.1.0
django-htcpcp-tea~=0.3.1 django-htcpcp-tea~=0.3.1
django-mailer~=2.0.1 django-mailer~=2.0.1
django-oauth-toolkit~=1.1.2 django-oauth-toolkit~=1.3.3
django-phonenumber-field~=5.0.0 django-phonenumber-field~=5.0.0
django-polymorphic~=2.0.3 django-polymorphic~=2.0.3
djangorestframework~=3.9.0 djangorestframework~=3.9.0