Skip to Content.
Sympa Menu

grouper-dev - [grouper-dev] RE: french translations and javascript problem

Subject: Grouper Developers Forum

List archive

[grouper-dev] RE: french translations and javascript problem

Chronological Thread 
  • From: "Hyzer, Chris" <>
  • To: Yoann Delattre <>, Francis Bouchard-Boulianne <>, "" <>
  • Subject: [grouper-dev] RE: french translations and javascript problem
  • Date: Thu, 26 Apr 2018 14:56:53 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Ironport-phdr: 9a23:grP51BVnAzxPCrruUpe8CZrUZBrV8LGtZVwlr6E/grcLSJyIuqrYZRWPtadThVPEFb/W9+hDw7KP9fy4AipYud6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9uIhi6txndutULioZ+N6g9zQfErGFVcOpM32NoIlyTnxf45siu+ZNo7jpdtfE8+cNeSKv2Z6s3Q6BWAzQgKGA1+dbktQLfQguV53sTSXsZnxxVCAXY9h76X5Pxsizntuph3SSRIMP7QawoVTmk8qxmUwHjhjsZODEl8WHXks1wg7xdoBK9vBx03orYbJiIOPZiYq/ReNUXTndDUMlMTSxMGoOyYZUSAeodM+hWrIf9qFkPrRSiCgahH/ngxiNUinLswaE2z+YsHAfb1wIgBdIOt3HUoc37OKkQUeG0zbfHzS/bY/hLxzr96JLIchE6of2CQLl9ds/RxlUvFwLFj1Sft5blMiiU1uQWr2eX9fdgVfqxhG4hrQF9uCagydoxioTQgI8e117K9SJ8wIkvJN24TlZ2Yca+EJtXryGVKZF2Qt8jQ252oyY20LsGtoC1fSQS1JQo2RHea+Cdf4iG+BLvTOeRITFkhH17YrK/gQi98VS+xuHmSMa7zUtKojJbndnKrHwNygfT586aQfV+5keswSiD2BrP5u1ZJE04iLfXJ4Mkz74+mZcfrVjPEyr0lUrog6KZbEAp9+225+j7fLnqvoKQOoFohg3kNqkih9azDfolPgUKRWSX5Oax2bz78U33XrpHjeE6n6zcvZ/EOMgUvKq0Dgpb34o96huwFTKr3dcFkXkJKV9JZg6LgJT3N1zIPfv2F+2wg062nzdu3/3GPqPuApHKLnXbiLnsYbFz51JSxQYq0N1Q5YxYBqgGIP3oRED9rtvYDgIlMwOvxObnFdN92Z4EVWKXGK+ZN7/SvkGU6eIzIumMY4kVtCz6K/g4+/7uiXg5mVgefaWzwZQXb3W4EuxnI0Wff3Xsns8MHXkQsQYiUeDnjUCOXSNOa3u3UaIx6S03BJ6jAIrBWI+gj6aO0SK+E5FIemxKFEiAEXLyeIWFX/cMZjiSIshkkjEcULiuV48h1BGvtQDk0bpqNevU+jYEup75ydh1//PclRc09TBuEcuSznyNQ3lunmwUXz82wLx/oUtlx1eMy6h4hOFYFcRN6PNTSws1KIDTz/JhBtD2WwLBZcuJSE24Ttm8ADExSM4xzMEUY0Z7Bdqikg7P0zC0DLAIirzYTKAzp5Pb1n73b+pwz3/ayLMsxw03RcJJMyuqi6p26xTJCqbAmACdlqKueOISxniJvEmZxGyFvVoQegltWqXMR3xaTEzLqdXw4EXPB+uAE70hOQpaj+SFN6BKY8flyH9BWfPiMdLYbkqMoGe9HxySwbSPYczhcjNZlG/SEk8Ziw0JuHqLKyA/ADusuWTTEGYoGF7yKQu4/vN5tWu2VAo4wh+ibkt92qCz9wJPw/GQVqVA8KgDvXJriyRmEUz5l/nWEdub7UI1ea5ccMEw+n9GzmmfqhRwOJrmIqx/0A1NOz9rtl/jgk0kQr5LltIn+TZzlFJ/
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

Ive been meaning to put this in the grouperInstaller.  I added it.  If you want to get the latest grouperInstaller you can try to translate from there:


Let me know what you think





From: Yoann Delattre [mailto:]
Sent: Tuesday, April 24, 2018 9:47 AM
To: Francis Bouchard-Boulianne <>; Hyzer, Chris <>;
Subject: Re: french translations and _javascript_ problem



the first version had a little "split" problem.
in attached, the new version.


Le 24/04/2018 à 12:13, Yoann Delattre a écrit :


in attached, a little script in python who basically do what Francis describe.
The script don't ask (yet) the name of the base file and so work only with french translation (unless you change the code) but it's a start :)

Just execute it in a folder where there is and and the result will be a new file (
Also, it print the translations who are missing.



Le 16/02/2018 à 02:10, Francis Bouchard-Boulianne a écrit :



I will try to be as clear as I can.


The idea is to keep in synch the different languages with the master english strings and be able to spot missing strings without messing the file.  IDE are good to filter missing values but very bad at keeping the file organised. So, the tool would basically :


·         Take as input two files

o   The original base english file

o   The translated file from IDE (i’m changing the file name so that the IDE recognize them as ressource bundle)

·         It would ask me (or command-line option) for output filename. In my case that would be

·         Process :

o   Copy the base english file to the new specified name (say « newfile »)

o   Strip all vlaues from the file

o   Foreach key of the translated file, put the value into the « newfile »

·         Save « newfile »

That would end-up with a translated file, with all the keys from the english file, but the values from the translated file AND with the comments and block from the english file.


Hope that is clear.

Working on attestation’s translations (love that feature!)




De : Hyzer, Chris []
Envoyé : 15 février 2018 10:37
À : Francis Bouchard-Boulianne ; Yoann Delattre ;
Objet : RE: french translations and _javascript_ problem


So you want a program where you input the grouper text file, and the translated one, and it creates a new file with the translations there, and the new properties blank so you can add the translations?  And print out which ones it needs?





From: [] On Behalf Of Francis Bouchard-Boulianne
Sent: Thursday, February 15, 2018 10:16 AM
To: Yoann Delattre <>;
Subject: [grouper-dev] RE: french translations and _javascript_ problem


Ok that works, but with much more translations !! J


Working on them and a pull request will follow.


Yoann, you might want to review the pull request once it is done to ensure consistency.


At one point I would like to ask someone to write a script to take the english base file, strip the values and insert the french values to the keys in order to synch the attributes. If someone has such a script, please let me know. I don’t have time to work on that.




De : Yoann Delattre []
Envoyé : 15 février 2018 05:41
À : Francis Bouchard-Boulianne <>;
Objet : Re: french translations and _javascript_ problem


Hello Francis,

Test with the latest patch for the UI : you can create/view/edit attribut def and attribute def name in the New UI.



Le 14/02/2018 à 16:01, Francis Bouchard-Boulianne a écrit :



I added a lot of french translations recently. I discovered that a few of them introduced bugs in the UI.


Some translations use quotes ( ' ) like «  l’attribut ». This is ok most of the time, but some dialogs or toolips will make the _javascript_ code break.


An example is the property simpleAttributeUpdate.editPanelDeleteConfirm

« simpleAttributeUpdate.editPanelDeleteConfirm                        = Ceci supprimera la d\u00E9finition d'attribut, tous les noms de d\u00E9finition d\'attribut associ\u00E9s, et toutes les affectations et les valeurs. \u00CAtes-vous s\u00FBr de vouloir le supprimer? »

I tried to \-escape \\-escape. Only the double escape works. The generated _javascript_ is the following. If I remove the quote, it works again. This is weird though since you translate you can’t always know where this string will be used and if it is used in JS AND normal text.


With no escape or simple escape in the properties:

<input class="redButton" _onclick_="if (confirm('Ceci supprimera la définition *d'attribut*, tous les attributs associés, et toutes les affectations et les valeurs. Êtes-vous sûr de vouloir le supprimer?')) {ajax('../app/SimpleAttributeUpdate.attributeEditPanelDelete', {formIds: 'attributeEditFormId'}); } return false;" value="Supprimer" style="margin-top: 2px" type="submit">


With double escape :

<input class="redButton" _onclick_="if (confirm('Ceci supprimera la définition *d\'attribut*, tous les attributs associés, et toutes les affectations et les valeurs. Êtes-vous sûr de vouloir le supprimer?')) {ajax('../app/SimpleAttributeUpdate.attributeEditPanelDelete', {formIds: 'attributeEditFormId'}); } return false;" value="Supprimer" style="margin-top: 2px" type="submit">


You can test this property :

·         Go in the simple interface 

·         Attribute and permission

·         Attribute def

·         Select an attribute definition

·         Modify the attribute def

·         Try to delete it.

o   The dialog will not appear if there is a quote.


Is this a bug or should I log one.


Francis Bouchard B. M. Sc.

Analyste – Analyse et assurance qualité - division Systèmes d’information.

Service des technologies de l’information

Université de Sherbrooke


Tél. : 819 821-8000, poste 63465

Courriel :





Archive powered by MHonArc 2.6.19.

Top of Page