View Issue Details

IDProjectCategoryView StatusLast Update
0000759CATS.cacert.orgAdmin Interfacepublic2012-12-27 17:22
ReporterJ Steijlen Assigned ToTed  
PrioritylowSeverityminorReproducibilityN/A
Status closedResolutionduplicate 
Summary0000759: Dutch translation of the UI
DescriptionThis has the downside of soon becoming a really long switch list (CATS/functions/translation.php)
and a really long options list (CATS/index.php.template)

These lists should be auto-build (and cached) or gettext_ed
 
By the way, CATS/lang/dutch.php is still incomplete.
Untranslated are commented out.
Poorly translated strings usually have a comment near them.

Still, it's a start.
Additional InformationAnd let's not forget the "questiontype"/"questiontype_v2" tables. Those also have to be translated/updated.
TagsNo tags attached.
Attached Files
UI_translation_-_add_dutch.patch (14,272 bytes)   
This has the downside of soon becoming a really long switch list (CATS/functions/translation.php)
and a really long options list (CATS/index.php.template)

These lists should be auto-build (and cached) 
 

By the way, CATS/lang/dutch.php is still incomplete.
Untranslated are commented out.
Poorly translated strings usually have a comment near them.

Still, it's a start.
And let's not forget the "questiontype"/"questiontype_v2" tables. Those also have to be translated/updated.



Index: CATS/functions/translation.php
===================================================================
--- CATS/functions/translation.php	(revision 1641)
+++ CATS/functions/translation.php	(working copy)
@@ -2,9 +2,13 @@
 
  function getlang(){
 
-  if(isset($_SESSION['profile']['language']) && $_SESSION['profile']['language']=='DE'){
-   include_once ("lang/german.php");      
-  }
+  if(isset($_SESSION['profile']['language'])){
+    switch($_SESSION['profile']['language']){
+      case "DE" :  include_once ("lang/german.php"); break;
+      case "NL" :  include_once ("lang/dutch.php"); break;
+      default :    include_once ("lang/english.php"); break;  
+    }      
+  }
   else{
    include_once ("lang/english.php");  
   }
Index: CATS/index.php.template
===================================================================
--- CATS/index.php.template	(revision 1641)
+++ CATS/index.php.template	(working copy)
@@ -60,6 +60,7 @@
    <option value="none">choose language</option>
    <option value="DE">DE</option>
    <option value="EN">EN</option>
+   <option value="NL">NL</option>
   </select><input name="submit" class="language_Button" type="submit" value="change" />
   </div>
  </form><?php
Index: CATS/lang/dutch.php
===================================================================
--- CATS/lang/dutch.php	(revision 0)
+++ CATS/lang/dutch.php	(revision 0)
@@ -0,0 +1,183 @@
+<?php 
+define("accept_Login_01","U bent niet geregistreerd. <br />Controleer a.u.b. onderstaande certificaat informatie en bevestig uw registratie.");
+define("accept_Login_02","certificaat informatie");
+define("accept_Login_03","Uitgegeven aan:");
+define("accept_Login_04","Common Name (CN)"); /* to be translated. */
+define("accept_Login_05","Serie Nummer");
+define("accept_Login_06","Email adres");
+define("accept_Login_07","Uitgegeven door :");
+define("accept_Login_08","Organisatie (O)");
+define("accept_Login_09","Organisatie afdeling (OU)");
+define("accept_Login_10","Uitgegeven op");
+define("accept_Login_11","Tenminste Houdbaar tot");
+define("accept_Login_12","Uzelf registreren met dit certificaat?<br /><br />".
+                         "Enkel het serienummer van het certificaat zal opgeslagen worden. Als u echter een gedrukte oorkonde wil aanvragen na succesvol afleggen van de toets kan de oorkonde alleen uitgegeven worden met de Common Name van het certificaat!<br />".
+                         "Gedrukte oorkondes kunnen niet worden uitgegeven voor anonieme certificaten (Common Name \"CAcert WoT User\")."); /* translation to be finished */
+define("accept_Login_13","Geldigheid:");
+define("Button_01","cre�er een nieuw onderwerp");
+define("Button_02","terug naar onderwerp management");
+define("Button_03","terug naar vragen-management");
+define("Button_04","nieuwe vraag");
+define("Button_05","toon als lijst");
+define("Button_06","toon als lijngrafiek");
+define("Button_07","toon als staafgrafiek");
+define("Button_08","beste antwoorden");
+define("Button_09","slechste antwoorden");
+define("Button_10","aanmelden gelukt");
+define("Button_11","opslaan");
+define("Button_12","wijzigingen opslaan");
+define("Button_13","antwoorden wijzigen");
+define("Button_14","antwoord toevoegen");
+define("Button_15","antwoord verwijderen");
+define("Button_16","evalueer toets");
+define("Button_17","statistische informatie");
+define("Button_18","gebruikers informatie"); /**/
+define("Button_19","toets statistieken");
+//define("Check_Cert_01","If you wish to get a document via postal service or via email, your name has to be included in the certificate!<br /> You can go ahead with the registration, but you can't choose the options <i>send via postal service</i> or <i>send via email</i>.<br /> The other choice is, you can cancel this registration and register with another certificate, in which your name is included.");
+//define("certificateDocu_01","If you like we can engross a document stating that you have sucessfully passed the Assurer test. The Document will be issued to your name as stated in your digital certifcate.");
+//define("certificateDocu_02","No, I don't need that document.");
+//define("certificateDocu_03","Yes, please send me the document as a pdf attachment via email  (We use the email-address and name provided in the certificate)");
+//define("certificateDocu_04","Yes, please send me the document via postal service to the following address :");
+define("certificateDocu_05","voornaam");
+define("certificateDocu_06","achternaam");
+define("certificateDocu_07","straat");
+define("certificateDocu_08","postcode");
+define("certificateDocu_09","plaatsnaam");
+define("certificateDocu_10","provincie");
+define("certificateDocu_11","land");
+define("certificateDocu_12","Alle velden moeten ingevuld zijn als u het per post wilt ontvangen.");
+define("Class_Answer_01","details van de antwoorden");
+define("Class_Answer_02","antwoorden");
+define("Class_Answer_03","antwoord");
+define("Class_Answer_04","Er moeten minimaal 2 antwoorden opgegeven worden.");
+define("Class_Answer_05","Tenminste 1 antwoord moet als 'correct' gemarkeerd worden. En er moeten minimaal 2 antwoorden opgegeven worden.");
+define("Class_Answer_06","Tenminste 1 antwoord moet als 'correct' gemarkeerd worden.");
+//define("Class_Answer_07","In a cloze correct and incorrect answers must be different");
+define("Class_Answer_08","Er moet tenminste 1 correct en 1 incorrect antwoord zijn.");
+define("Class_Answer_09","waar");
+define("Class_Answer_10","niet waar");
+define("Class_Progress_01","aantal vragen");
+define("Class_Progress_02","Te veel informatie opgeslagen in de database."); /* geh�rt zu Lernfortschritte_angezeigt */
+define("Class_Progress_03","Beeld van de laatste");
+define("Class_Progress_04","toetsen.");
+//define("Class_Progress_05","No more data available"); /*Bsp: Keine weiteren Infos zu : 5 Fragen */
+//define("Class_Progress_06","No more information available for:");
+//define("Class_Progress_07","question(s)");
+//define("Class_Progress_08","incorrectly answered questions");
+define("Class_Question_01","Klik voor meer informatie over dit onderwerp");
+define("Class_Question_02","deactiveer vraag");
+define("Class_Question_03","activeer vraag");
+define("Class_Question_04","verwijder vraag");
+define("Class_Question_05","Geen vragen in de database");
+define("Class_Question_06","details van de vraag");
+define("Class_Quiz_01","Er zijn niet voldoende vragen over dit onderwerp. Kies a.u.b. een ander onderwerp.");
+define("Class_Quiz_02","toets");
+define("Class_Quiz_03","Evaluatie van de toets");
+define("Class_Quiz_04","Uw totaal score is :");
+define("Class_Quiz_05","Minimum resultaat voor deze toets is :");
+define("Class_Quiz_06","U heeft gehaald: "); /*Bsp: You have reached 0 %  .... */ 
+define("Class_Quiz_07","en daarmee bent u"); /* You have reached 0 %  and so you did not pass   */
+define("Class_Quiz_08","door.");
+define("Class_Quiz_09","gezakt.");/*Bsp:You have reached 0 %  and so you did not pass  */
+define("Class_Quiz_10_AnonymousCert", "U maakte de toets m.b.v. een anoniem certificaat. U kunt dus geen gedrukte of PDF oorkonde aanvragen.<br />");
+define("Class_Quiz_11_RequestCert", "Oorkonde aanvragen");
+define("Class_Quiz_12_ExplainCert", "In verband met privacy richtlijnen mogen we hier geen persoonlijke gegevens verzamelen of bewaren.<br /><br />".
+                                    "Om een gedrukte of PDF oorkonde aan te vragen kunt u een email sturen naar <a class=\"http\" href=\"mailto:education@cacert.org?subject=Certificate for AssurerChallenge\">education@cacert.org</a> waarin u schrijft of u een gedrukte versie of een PDF versie wilt. Indien u een gedrukte oorkonde wilt, voeg dan uw post adres toe.<br />".
+                                    "De email mag <a class=\"http\" href=\"education_2010.txt\">versleuteld</a> worden, en <b>moet ondertekend worden met het certificaat dat gebruikt is tijdens het maken van de toets</b>. D.m.v. het serienummer kan gecontroleerd worden dat u de toets gehaald heeft.".
+                                    "<br />Kijk bij het \"Aangemeld als:\" vak in de rechter bovenhoek om te zien welk certificaat u momenteel gebruikt.<br />".
+                                    "<br /><em>Voor gedrukte oorkondes vragen wij een donatie van 5 EUR voor verzending binnnen Europa, en 10 EUR voor verzending buiten Europa, i.v.m. de handelings en verzendkosten.<br />". /**/
+                                    "Om te doneren kunt u een van onderstaande Paypal knoppen gebruiken, <a class=\"http\" href=\"https://www.cacert.org/index.php?id=13\">https://www.cacert.org/index.php?id=13</a> toont alle methoden om te doneren aan CAcert.</em><br />".
+                                    "<br />Excuses voor eventueel ongemak.<br />");
+define("Class_Quiz_13_Donate5", "5 EUR voor verzending binnen Europa");
+define("Class_Quiz_14_Donate10", "10 EUR voor verzending buiten Europa");
+define("Class_Topic_01","naam");
+define("Class_Topic_02","aantal vragen");
+define("Class_Topic_03","vragen per toets");
+define("Class_Topic_04","minimum resultaat");
+define("Class_Topic_05","bewerk onderwerp");
+define("Class_Topic_06","activeer onderwerp");
+define("Class_Topic_07","Deactiveer onderwerp: Alle vragen over dit onderwerp zullen ook gede�ctiveerd worden.");
+define("Class_Topic_08","Verwijder dit onderwerp, met alle toegevoegde vragen en antwoorden");
+define("Class_Topic_09","Min. percentage moet een nummer zijn, en mag niet groter dan 100 zijn");
+define("Class_Topic_10","Onderwerp bestaat al.");
+define("Class_Topic_11","Aantal vragen moet een positieve integer zijn.");
+define("Class_Topic_12","minimum resultaat");
+define("Collect_Question_01","Deze vraag bestaat al.");
+define("Collect_Question_02","Ten minste 1 'gat' moet gedefineerd zijn. Gaten worden gedefineerd met [ ]. Het goede andwoord moet tussen de haken staan. Alle haken moeten gesloten worden.");
+define("Collect_Question_03","vraag invullen");
+define("Function_getContent_01","Welkom");
+define("Function_getContent_02_Intro",'<div class="centered">Voor een korte introductie kijk a.u.b. even op de <a href="http://wiki.cacert.org/wiki/AssurerChallenge" rel="external">WiKi</a>.</div><br />');
+define("Function_getTopic_01","Toon vorderingen");
+define("Function_getTopic_02","Toon statistieken");
+define("Function_getTopic_03","start toets");
+define("Function_reallyDel_01","Zeker weten?");
+define("Function_reallyDel_02","Bent u heel zeker dat u dit onderwerp wil verwijderen?");
+define("Function_reallyDel_03","Als u ja antwoord zullen ook alle vragen en antwoorden verwijderd worden.");
+define("Function_reallyDel_04","Bent u zeker dat u deze vraag wil verwijderen?");
+define("Get_Content_01","Registratie geannuleerd!");
+define("Global_01","U moet aangemeld zijn voor deze functie");
+define("Global_02","terug");
+define("Global_03","correct");
+define("Global_04","datum");
+define("Global_05","Resultaat");
+define("Global_06","ID");
+define("Global_07",'<h4 class="centered">Onvoldoende gegevens</h4>');
+define("Global_08","vraag");
+define("Global_09","onderwerp");
+define("Global_10","rang"); /* translation to be finished */
+define("Global_11","frequentie");
+define("Global_12","type vraag");
+define("Global_13","Ja");
+define("Global_14","Nee");
+define("Global_15","correcte antwoorden in %");
+define("Global_16","U bent momenteel niet aangemeld");
+//define("Global_17","Login failed! A valid CAcert client certificate is required.");
+//define("Global_18","Question ID");
+//define("Global_19","Login failed");
+define("Global_20","omschrijving");
+define("Index_01","Aangemeld als :");
+define("Login_01","Uw certificaat kon niet gecontroleerd worden.");
+define("Login_02","Uw certificaat is ingetrokken.");
+define("Login_03_No_Org_Certs","Organisatie (OA) certificaten worden niet aanvaard door CATS omdat deze niet eenvoudig naar een gebruikersaccount te herleiden zijn.");
+define("Menue_01","Help");
+define("Menue_02","Aanmelden");
+define("Menue_03","Afmelden");
+define("Menue_04","Voortgang");
+define("Menue_05","Statistieken");
+define("Menue_06","Toetsen");
+define("Menue_07","Onderwerpen");
+//define("Menue_08","EN");
+//define("Menue_09","DE");
+define("Statistic_01","beste antwoorden voor het onderwerp: ");
+define("Statistic_02","slechtste antwoorden voor het onderwerp: ");
+define("Statistic_03","vragen over dit onderwerp:");
+define("Statistic_04","gehaald");
+define("Statistic_05","gezakt");
+define("Statistic_06","gebruiker informatie");
+define("Statistic_07","Gebruiker");
+define("Statistic_08","geregistreerde gebruikers");
+define("Statistic_09","administratoren");
+define("Statistic_10","root certificaten");
+define("Statistic_11","gebruikers met Class I certificaten");
+define("Statistic_12","gebruikers met Class III certificaten");
+define("Statistic_13","taalinstellingen");
+define("Statistic_14","duits");
+define("Statistic_15","engels");
+define("Statistic_16","oorkonde verstuurd per "); /**/
+define("Statistic_17","post");
+define("Statistic_18","email");
+define("Statistic_19","n.v.t.");
+define("Statistic_20","toets informatie"); /**/
+define("Statistic_21","datum");
+define("Statistic_22","toetsen gemaakt"); /**/
+define("Statistic_23","toetsen gehaald");
+define("Title_01","CATS onderwerpen");
+define("Title_02","CATS vragen invoeren");
+define("Title_03","CATS statistieken");
+define("Title_04","CATS start toets");
+define("Title_05","CATS vorderingen");
+define("Title_06","CATS certificaat informatie");
+//define("Topic_01","Note: You cannot declare answers as correct here, that have been declared incorrect below.");
+define("Topic_02","Onderwerpen Overzicht");
+define("Topic_03","vragen over dit onderwerp:");
+?>

Relationships

related to 0000758 closedTed Any addition of an UI language would require a redesign of the DB table "questiontype". I.e. adding a column. 
related to 0000760 closedTed adding UI languages - a different approach 
related to 0000969 needs review & testingTed User Interface Translation to Dutch 
related to 0001107 new CACert CATS Manual has only one page, which is mostly empty 

Activities

Ted

2009-07-28 20:29

administrator   ~0001466

See comment to case no 758. This just needs a little work on my side.

Ted

2012-11-19 22:57

administrator   ~0003345

Continued in bug#969

Issue History

Date Modified Username Field Change
2009-07-24 19:02 J Steijlen New Issue
2009-07-24 19:02 J Steijlen File Added: UI_translation_-_add_dutch.patch
2009-07-28 20:27 Ted Relationship added related to 0000758
2009-07-28 20:29 Ted Note Added: 0001466
2009-07-28 20:29 Ted Assigned To => Ted
2009-07-28 20:29 Ted Priority normal => low
2009-07-28 20:29 Ted Status new => needs work
2009-07-28 20:32 Ted Relationship added related to 0000760
2011-08-22 21:57 Ted Relationship added related to 0000969
2012-11-19 22:57 Ted Note Added: 0003345
2012-11-19 22:57 Ted Status needs work => closed
2012-11-19 22:57 Ted Resolution open => duplicate
2012-12-27 17:22 Werner Dworak Relationship added related to 0001107