// The file is format and case sensitive and follows Javascript conventions for defining objects
// Be careful in modifying since Javascript error messages are not very helpful......
// Best approach is to change only values within quotes.......
//___________________________________________________________________________________________________________//
// S_Options defines the options for how the puzzle will be started and what menu items will be shown
// The format is tag:  ["value"] or tag: ["value", "last"] 
//         where tag is an internal tag used to identify the option and "value" is one of the predefined values for this option
//         the "last" tag defines whether the last selected value by the user should be used the next time the puzzle is loaded
//         if "last" is specified the value is stored in a cookie and retrieved during loading.
//         The format is IMPORTANT, please note the brackets and commas and the fact that the last entry does not have a comma  
//         All entries are case sensitive and should be lower case letters... 
S_Options =
  {  StartupPuzzleDifficulty: ["1", "last"],                 // startup puzzle difficulty where 1=easy, 2=difficult, 3=fiendish and 4=superior
    StartupPuzzleSize: ["2", "last"],                       // startup puzzle size where 1=very small, 2=small, 3=medium and 4=large 
    ShowCellCandidates: ["all", "last"],                    // Possible values are "all" , "single" or "none" for showing cell candidates when menu selected
    AutoUpdateCellCandidates: ["yes", "last"],              // Automatically update cell candidates when entry made. Values are "yes" or "no"
    FlyoverCellEntryHints:    ["yes", "last"],              // Show entry option hints for cells. Values are "yes" or "no"
    FlyoverHintTechniques:    ["yes", "last"],              // Show flyover hint techiques when hint requested. Values are "yes" or "no"
    RandomSeed: ["random"],                                 // Random number generator seed, either "random", "today" or 6 digit number .., "last" not a useful option here
    HelpFile: ["sudoku-aide.html"],                         // The name of the Sudoku help file ...   "last" not a useful option here
    HintDelay: [2000],                                       // delay for showing hints in milliseconds ... "last" not a useful option here
    ShowMenu:["yes"],                                       // Show menu - option to not show menu at all ... "last" not a useful option here 
    ShowMenuControls:["yes"],                               // Show "Controls"  menu item ... "last" not a useful option here 
    ShowMenuSaveRestore: ["yes"],                           // Show "Save" and "Restore Saved" menu items ... "last" not a useful option here;  
    ShowMenuCreate:    ["yes"],                             // Show "New" menu item ... "last" not a useful option here
    ShowMenuReset:    ["yes"],                              // Show "Reset" menu item ... "last" not a useful option here
    ShowMenuHints:     ["yes"],                             // Show "Hints" menu item ... "last" not a useful option here
    ShowMenuValidate: ["yes"],                              // Show "Validate" menu item ... "last" not a useful option here
    ShowMenuCandidates: ["yes"],                            // Show "Cell Candidates" menu item ... "last" not a useful option here
    ShowMenuSingleStep: ["yes"],                            // Show "Single Step" menu item ... "last" not a useful option here
    ShowMenuSolution: ["yes"],                              // Show "Solution" menu item ... "last" not a useful option here
    ShowMenuSolutionSteps: ["yes"],                         // Show "Solution Steps" menu item ... "last" not a useful option here
    ShowMenuPrint: ["yes"],                                 // Show "Print" menu item ... "last" not a useful option here
    ShowMenuKeypad: ["yes"],                                // Show "Keypad" menu item ... "last" not a useful option here
    ShowMenuOptions:["yes"],                                // Show "Options" menu item ... "last" not a useful option here 
    ShowMenuPuzzleSize: ["yes"],                            // Show "Puzzle Size" menu item ... "last" not a useful option here
    ShowMenuCandidateOptions:["yes"],                       // Show "Show Candidates " menu item ... "last" not a useful option here
    ShowMenuFlyoverOptions:["yes"],                         // Show "Show Flyover Hints " menu item ... "last" not a useful option here 
    ShowMenuTimer:["yes"]                                   // Show timer ... "last" not a useful option here 
  };


//___________________________________________________________________________________________________________//
// S_Puzzle defines the formatting of the Sudoku Puzzle
// The format is tag: "style" where tag is internal label for attribute and "style" is the pseudo "CSS" attribute
// Styles must be enclosed in quotes and followed by a comma, except for the last entry in the S_Puzzle object
S_Puzzle =                                      // this defines the puzzle style
    {width:  "550px",                           // width must be specified in pixels, height is determined by width automatically
     fontFamily: "arial, helvectia",            // any font family or group of font families generally available on the web may be specified                
     backgroundColor: "white",                  // any valid html,css color definition for a border is permissible.
     InitialValuesColor: "blue",                // the font color used to render the initial puzzle values.
     EnteredValuesColor: "black",               // the font color used to render the entered puzzle values.
     puzzleBorderWidth: "10px",                  // puzzle border width must be specified in pixels, the default is one pixel border
     puzzleBorderStyle: "solid",                // any valid html,css style definition for a border is permissible.
     puzzleBorderColor: "#7Ab6E8 #3270A0 #3270A0 #7Ab6E8",  // any valid html,css color definition for a border is permissible.
     focusCellColor: "RGB(208,208,224)",                    // the background color used to show focus on cell.
     oddBlockAttributes:                        // odd block attributes.
        {backgroundColor: "#E8F8FF",            // any valid html,css color definition is permissible.
         blockBorderWidth: "3px",               // puzzle border width must be specified in pixels, the default is one pixel border
         blockBorderStyle: "solid",             // any valid html,css style definition for a border is permissible.
         blockBorderColor: "#7Ab6E8 #3270A0 #3270A0 #7Ab6E8"            // any valid html,css color definition for a border is permissible.
        }, 
     evenBlockAttributes:                       // even block attributes.
        {backgroundColor: "white",              // any valid html,css color definition is permissible.
         blockBorderWidth: "3px",               // puzzle border width must be specified in pixels, the default is one pixel border
         blockBorderStyle: "solid",             // any valid html,css style definition for a border is permissible.
         blockBorderColor: "#7Ab6E8 #3270A0 #3270A0 #7Ab6E8"   // any valid html,css color definition for a border is permissible.
        }, 
     cellAttributes:                            // cell attributes.
        {backgroundColor: "transparent",        // any valid html,css color definition is permissible.
         cellBorderWidth: "1px",                // puzzle border width must be specified in pixels, the default is one pixel border
         cellBorderStyle: "solid",              // any valid html,css style definition for a border is permissible.
         cellBorderColor: "#dAdAf2 #7A7Aa2  #7A7Aa2 #dAdAf2" // any valid html,css color definition for a border is permissible.
        }, 
     subCellAttributes:                         // sub cell attributes.
        {backgroundColor: "transparent",        // any valid html,css color definition is permissible.
         subCellBorderWidth: "1px",             // puzzle border width must be specified in pixels, the default is one pixel border
         subCellBorderStyle: "solid",           // any valid html,css style definition for a border is permissible.
         subCellBorderColor: "RGB(224,224,240)" // any valid html,css color definition for a border is permissible.
        }, 
     floatingWindows:                           // popup windows for Solution Steps and Keypad.
        {backgroundColor: "#3270A0",               // any valid html,css color definition is permissible.
         fontColor: "white"                     // any valid html,css color definition is permissible.
        }, 
     hintAttributes:                            // sub cell attributes.
        {backgroundColor: "yellow",             // any valid html,css color definition is permissible.
         fontColor: "red"                       // any valid html,css color definition is permissible.
        } 
    }; 

//___________________________________________________________________________________________________________//
// S_MenuCSS defines the formatting of the Sudoku Menu
// The format is tag: "style" where tag is internal label for style attribute and "style" is the pseudo "CSS" attribute
// Styles must be enclosed in quotes and followed by a comma, except for the last entry in S_MenuCSS object
S_MenuCSS =                                     // this defines the format of the memu used by Sudoku puzzle
    {backgroundColor: "RGB(50,108,160)",        // background color must be specified in RGB format... sorry about that...
     menuAlignment: "vertical",                 // This value cannot be changed 
     menuSize:  "100%",                         // This value cannot be changed 
     menuItemWidth:  "fit",                     // This value cannot be changed 
     borderSize: "3px",                         // border size around main menu
     fontSize: "14px",                          // font size is only limited to space available on screen
     fontFamily: "arial, helvectia",            // any font family or group of font families generally available on the web may be specified                
     textAlign: "center",                       // alignment may be "left", "center" or "right"
     headingAttributes:                         // heading attributes.
        {backgroundColor: "#3270A0",            // any valid html,css color definition is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition 
         fontColor: "white"                     // any valid html,css color definition is permissible.
        }, 
     defaultAttributes:                         // default menu attributes.
        {backgroundColor: "#3270A0",            // any valid html,css color definition is permissible.
         fontWeight: "normal",                  // any valid css fontWeight definition 
         fontColor: "white"                     // any valid html,css color definition is permissible.
        }, 
     activeAttributes:                          // active menu attributes.
        {backgroundColor: "white",              // any valid html,css color definition is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition 
         fontColor: "RGB(66,126,176)"           // any valid html,css color definition  is permissible.
        }, 
     hoverAttributes:                           // hover menu attributes.
        {backgroundColor: "RGB(66,126,176)",   // any valid html,css color definition is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition 
         fontColor: "white"                   // any valid html,css color definition is permissible.
        }, 
     hintAttributes:                            // sub cell attributes.
        {backgroundColor: "yellow",             // any valid html,css color definition is permissible.
         fontWeight: "normal",                  // any valid css fontWeight definition 
         fontColor: "red"                       // any valid html,css color definition is permissible.
        }, 
     subMenus:[                                 // left square bracket begins definition of sub menu unique elements
        {menuSuffix: "",                        // This value cannot be changed 
         textAlign: "center",                   // This value cannot be changed 
         fontWeight: "bold",                    // any valid css fontWeight definition 
         menusPerRow: "1"                       // This value cannot be changed 
        },
        {menuSuffix: "_N",
         textAlign: "center",                   // This value cannot be changed 
         menusPerRow: "3"                       // This value cannot be changed 
        },
        {menuSuffix: "_N1",
         textAlign: "center",                   // This value cannot be changed 
         menusPerRow: "1"                       // This value cannot be changed 
        },
        {menuSuffix: "_C2",
         textAlign: "center",                   // This value cannot be changed
         menusPerRow: "2"                       // This value cannot be changed
        },
        {menuSuffix: "_S",
         textAlign: "left",                     // This value cannot be changed 
         menusPerRow: "1"                       // This value cannot be changed 
        }
     ]                                          // right square bracket ends definition of sub menu unique elements
        
    };                                          // right curly bracket ends definition of menu


//___________________________________________________________________________________________________________//
//S_Messages is an object to facilitate message translation    
// The format for Sudoku messages is tag: "text" where tag is internal label for message text
// All "text" must be enclosed in quotes and followed by a comma, except for the last entry in message object
// The percent sign(%) followed by a number are parameters that are replaced in the translation process.
//
// The following language content (french) is NOT free to use... e107 translation is. :)
// Use PHP files in the language folder to translate your eSudoku
// attention la version française suivante n'est utilisable que pour des sites non commerciaux.
// Si besoin utilisez les fichiers PHP du dossier langage. Là c'est gratuit. ;)
S_Messages =
    {men000: "Menu Sudoku",
     men100: "&nbsp;&nbsp;&nbsp;&nbsp; Gestion des grilles",
     men100s: " Créer, sauvegarder et restituer des grilles Sudoku ",
     men200: "Contrôle des fonctions",
     men200s: "",
     men210: "Créer nouveau jeu",
     men210s: " Options pour créer les nouvelles grilles  ",
     men211: "Facile",
     men211s:"Indice de difficulté inférieur à 500",
     men212: "Moyen",
     men212s:"Indice de difficulté compris entre 500 et 800",
     men213: "Difficile",
     men213s:"Indice de difficulté compris entre 800 et 1100",
     men214: "Expert",
     men214s:"Indice de difficulté supérieur à 1100",
     men215: "Saisie manuelle",
     men215s: " Permet de remplir chaque cellule manuellement ",
     men216: "Sauvegarder",
     men216s:"Sauvegarder la grille en cours (exige utilisation d\'un cookie persistant)",
     men217: "Restituer la partie",
     men217s: "Restituer la partie sauvegardée précédemment",
     men217a:"Cookies ne sont pas autorisés par votre navigateur",
     men217b:"Cookies doivent être autorisés pour effectuer la sauvegarde",
     men217c:"Grille non sauvegardée",
     men217d:"Grille sauvegardée",
     men217e:"Exige l\'utilisation d\'un cookie persistant entre les sessions",
     men217f:"Pas de grille sauvegardée à restituer",
     men220: "Recommencer",
     men220s:" Recommencer la même grille dès le début ", 
     men230: "Afficher les conseils",
     men230s:"Indique la cellule suivante devant être logiquement remplie dans l\'ordre", 
     men240: "Valider grille en cours",
     men240s:"Vérifier si les valeurs saisies permettent de résoudre la grille", 
     men250: "Afficher valeurs possibles",
     men250s:"Permet d\'afficher des valeurs correctes possibles pour une seule ou toutes les cellules", 
     men257: "Résoudre la grille",
     men257s:"Options pour résoudre la grille en cours",
     men258: "Pas a pas",
     men258s:"Résoudre la cellule logique suivante",
     men260: "Afficher solution finale",
     men260s:"Permet de compléter toutes les cellules vides et afficher la solution finale",
     men270: "Solution pas à pas",
     men270s:"Afficher la console de solution pas à pas (pour toutes les cellules manquantes)", 
     men280: "Imprimer",
     men280s:" Imprimer la grille sudoku en cours ", 
     men300: "Clavier numérique",
     men300s:"Afficher le clavier numérique optionnel pour saisir les numéros",
     men310: "Effacer",
     men400: "Options",
     men400s:"Paramètres personnalisables du jeu",
     men410: "Taille de la grille",
     men410s:"Permet de sélectionner la taille de la grille adaptée à votre écran", 
     men411: "Grande taille",
     men411s:"Affiche la grille Sudoku de très petite taille, écrans 17\" et plus",
     men412: "Taille moyenne",
     men412s:"Affiche la grille Sudoku de très petite taille, écrans de 15 ou 17\"",
     men413: "Petite taille",
     men413s:"Affiche la grille Sudoku de très petite taille, écrans inférieurs à 15\"",
     men414: "Très petite taille",
     men414s:"Affiche la grille Sudoku de très petite taille, pour les mini-portables",
     men420: "Afficher valeurs possibles",
     men420s:"Permet d\'afficher toutes les valeurs chiffrées possibles pour chaque cellule", 
     men421: "Cellule ciblée",
     men421s:"Afficher les valeurs possibles uniquement pour la cellule ciblée si option 'Afficher valeurs possibles' validée", 
     men422: "Toutes les cellules",
     men422s:"Afficher les valeurs possibles pour toutes les cellules de la grille si option 'Afficher valeurs possibles' validée",
     men423: "Mise à jour automatique",
     men423s:"Met à jour automatiquement toutes les autres valeurs après le remplissage de chaque cellule", 
     men430: "Sélectionneur chiffres",
     men430s:"Permet de sélectionner les chiffres dans une cellule avec une seule main en glissant la souris", 
     men440: "Affichage infobulles",
     men440s:"Afficher les infobulles en survolant certains éléments",
     men441: "Sélection chiffres dans la cellule",
     men441s:"Afficher infobulle pour savoir comment sélectionner un chiffre dans la cellule", 
     men442: "Infobulles pour les conseils",
     men442s: "Affiche les infobulles dans les cellules mises en couleur ciblée si fonction 'Afficher les conseils' activée", 
     men500: " &nbsp;&nbsp;&nbsp;  Aide",
     men500s:"", 
     men510: "Comment jouer",
     men510s: "Règles du jeu et conseils pour jouer", 
     men520: "About...",
     men520s:"", 
     time1:  "Start",
     time1s: " Démarrer le décompte du temps écoulé ",
     time2:  "Stop",
     time2s: " Arrêter le décompte du temps écoulé ",
     time3:  "RAZ",
     time3s: " Remettre le décompte du temps à zéro ",
     time4:  "&nbsp;&nbsp;",  
     solver: "Solutionneur",
     row:    "Ligne",
     column: "Colonne",
     block:  "Bloc", 
     scs1:   "Valeur unique globale",                 
     scs2:   "Ligne=%1, Colonne=%2, valeur fixée à %3", 
     nss1:   "Naked Singles",                       // used to describe solver technique
     nss2:   "Ligne=%1, Colonne=%2, valeur fixée à %3", 
     hss1:   "Hidden Singles",                      // used to describe solver technique 
     hss2:   "Ligne=%1, Colonne=%2, valeur fixée à %3", 
     bcris1: "Interactions entre Blocs et Lignes/Colonnes", // used to describe solver technique
     bcris2: "Value of %1 must be in column %2 of block %3, therefore %4 can not be solution in this column for other blocks.",
     bcris3: "Value of %1 must be in row %2 of block %3, therefore %4 can not be solution in this row for other blocks.",
     bbis1:  "Interaction entre Blocs",         // used to describe solver technique
     bbis2:  "Candidate cells for %1's in blocks %2 and %3 can eliminate %4's as candidates from corresponding rows in block %5",
     bbis3:  "Candidate cells for %1's in blocks %2 and %3 can eliminate %4's as candidates from corresponding columns in block %5", 
     xws1:   "X Wing",
     sdf1:   "Swordfish",                                  
     xws2:   "Value of %1 must be in columns %2 or %3 of rows %4 and %5, therefore %6 can not be solution in this column for other rows.",
     xws3:   "Value of %1 must be in rows %2 or %3 of columns %4 and %5, therefore %6 can not be solution in this row for other columns.",
     fcs1:   "Forcing Chain",
     fcs2:   "The linked chain in cells (r:c) ",
     fcs3:   "can eliminate %1 from row %2, column %3",
     xyw1:   "XY Wing",
     xyw2:   "The short chain in cells (r:c)",
     xyw3:   "can eliminate value of %1 from row %2, column %3",
     ccs1:   "Colouring",
     ccs2:   "The pair chain in cells (r:c)",
     ccs3:   "can eliminate value of %1 from row %2, column %3",
     nsubss1:"",
     nsubss2:"Candidates with %1 in %2 %3 can eliminate %4 from other cells in this %5.",
     hsss1:  "Valeurs communes possibles",
     hsss2:  "Candidates of %1 in %2 %3 can eliminate other candidates from these cells",
     solList:"Le niveau de difficulté de la grille est évalué à %1 et la grille contient: %2.",
     create1:"Création d\'une nouvelle grille Sudoku unique",
     finish1: "Félicitations",
     finish2: "Grille de sudoku correctement résolue",
     copyr1:  "Copyright",
     copyr2:  "A freely distributable web based Sudoku puzzle program.",
     copyr3:  "Questions, comments and suggestions on the original sudoku script may be sent to",
     copyr4:  "Merged for e107 by Lolo Irie (+ new french translation 100% free to use). Contact on http://etalkers.org.<br /><br /><a href=\"esudoku_readme.php\" target=\"_blank\">eSudoku README by Lolo Irie</a>",                   
     print1:  "Impression lancée - Retour à la grille",
     print2:  "Sudoku",
     ssteps1:"Solution de la grille pas à pas",
     ssteps2:"Nr",
     ssteps3:"Technique",
     ssteps4:"Description",
     ssteps5:"Console de solution pas à pas (repositionnable)",
     val1:   "Pas d\'erreurs trouvées",
     val2:   "Impossible de trouver la solution aves les valeurs actuelles de la grille",
     val3:   "Erreurs trouvées, pas de solution possible",
     focus1: "Pas de cellule cible sélectionnée sur la grille !",
     hint1:  "Maintenez le bouton gauche de la souris pour sélectionner un chiffre dans le carré",
     hint2:  " Double-cliquez pour revenir en arrière ",
     hint3:  " Double-cliquez pour sélectionner une valeur ",
     hint4:  "Conseils indisponibles si erreurs dans les valeurs saisies !"     
    }; 
    
    


