/*
 * Commdlg
 * French language support
 *
 * Copyright 1995 Alexandre Julliard
 * Copyright 2005-2008 Jonathan Ernst
 * Copyright 2009-2010 Frédéric Delanoy
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "cdlg.h"
#include "filedlgbrowser.h"

/* UTF-8 */
#pragma code_page(65001)

/*
 * WARNING: DO NOT CHANGE THE SIZE OF THE STANDARD DIALOG TEMPLATES.
 */

LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL

OPEN_FILE DIALOG 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ouvrir"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Nom de fichier :", 1090, 6, 6, 76, 9
 EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
 LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "&Répertoires", -1, 110, 6, 92, 9
 LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
 LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "Liste des fichiers de &type :", 1089, 6, 104, 90, 9
 COMBOBOX cmb1, 6, 114, 90, 15, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 LTEXT "&Lecteurs :", 1091, 110, 104, 92, 9
 COMBOBOX cmb2, 110, 114, 92, 15, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "Ouvrir", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuler", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Aid&e", pshHelp, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
 CHECKBOX "&Lecture seule", chx1, 208, 68, 55, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}


SAVE_FILE DIALOG 36, 24, 275, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Enregistrer sous..."
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Nom de fichier :", 1090, 6, 6, 76, 9
 EDITTEXT edt1, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
 LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "&Répertoires :", -1, 110, 6, 92, 9
 LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
 LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
 LTEXT "Lister les fichiers de &type :", 1089, 6, 104, 90, 9
 COMBOBOX cmb1, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 LTEXT "&Lecteurs :", 1091, 110, 104, 92, 9
 COMBOBOX cmb2, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "Enregistrer", 1, 208, 6, 60, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuler", 2, 208, 24, 60, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Aid&e", pshHelp, 208, 46, 60, 14, WS_GROUP | WS_TABSTOP
 CHECKBOX "Lecture seule", chx1, 208, 68, 55, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}


PRINT DIALOG 36, 24, 264, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Imprimer"
FONT 8, "MS Shell Dlg"
{
 LTEXT "Imprimante :", 1088, 6, 6, 40, 9
 LTEXT "", 1089, 60, 6, 150, 9
 GROUPBOX "Zone d'impression", grp1, 6, 30, 160, 65, BS_GROUPBOX
 RADIOBUTTON "&Tout", rad1, 16, 45, 60, 12
 RADIOBUTTON "&Sélection", rad2, 16, 60, 60, 12
 RADIOBUTTON "&Pages", rad3, 16, 75, 41, 12
 DEFPUSHBUTTON "Imprimer", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuler", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Configurer...", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
 LTEXT "&De :", 1090, 64, 77, 30, 9
 LTEXT "&à :", 1091, 120, 77, 30, 9
 LTEXT "&Qualité d'impression :", 1092, 7, 102, 69, 9
 COMBOBOX cmb1, 78, 100, 88, 13, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 CHECKBOX "Imprimer dans un &fichier", chx1, 7, 117, 93, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Copies t&riées", chx2, 106, 118, 63, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
}


PRINT_SETUP DIALOG 36, 24, 264, 134
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Configuration de l'impression"
FONT 8, "MS Shell Dlg"
{
 GROUPBOX "Imprimante", grp1, 6, 6, 180, 74, BS_GROUPBOX
 RADIOBUTTON "&Imprimante par défaut", rad1, 16, 22, 90, 12
 LTEXT "[aucune]", 1088, 35, 35, 120, 9
 RADIOBUTTON "Imprimante &spécifique", rad2, 16, 46, 90, 12
 COMBOBOX cmb1, 35, 60, 146, 17, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 DEFPUSHBUTTON "OK", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuler", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Options...", psh1, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
 GROUPBOX "Orientation", grp2, 6, 82, 100, 50, BS_GROUPBOX
 RADIOBUTTON "&Portrait", rad3, 50, 97, 40, 12
 RADIOBUTTON "Pa&ysage", rad4, 50, 112, 40, 12
 ICON "LANDSCAP", stc10, 10, 92, 21, 20
 ICON "PORTRAIT", stc11, 10, 92, 21, 20
 GROUPBOX "Papier", grp3, 120, 82, 135, 50, BS_GROUPBOX
 LTEXT "&Taille :", 1089, 125, 95, 30, 9
 LTEXT "&Source :", 1090, 125, 113, 30, 9
 COMBOBOX cmb2, 155, 92, 92, 17, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 COMBOBOX cmb3, 155, 110, 92, 17, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
}


CHOOSE_FONT DIALOG  13, 54, 264, 147
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Police"
FONT 8, "MS Shell Dlg"
{
    LTEXT           "&Police :",stc1 ,6,3,40,9
    COMBOBOX        cmb1 ,6,13,94,54,  CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "St&yle :",stc2 ,108,3,44,9
    COMBOBOX        cmb2,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
    LTEXT           "&Taille :",stc3,179,3,30,9
    COMBOBOX        cmb3,179,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT
    DEFPUSHBUTTON   "OK",IDOK,218,6,40,14,WS_GROUP
    PUSHBUTTON      "Annuler",IDCANCEL,218,23,40,14,WS_GROUP
    PUSHBUTTON      "A&ppliquer", psh3,218,40,40,14,WS_GROUP
    PUSHBUTTON      "Aid&e" , pshHelp,218,57,40,14,WS_GROUP
    GROUPBOX        "Effets",grp1,6,72,84,34,WS_GROUP
    CHECKBOX        "&Barré", chx1, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP
    CHECKBOX        "&Souligné", chx2, 10,94,50,10, BS_AUTOCHECKBOX
    LTEXT           "&Couleur :", stc4 ,6,110,30,9
    COMBOBOX        cmb4,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
                    CBS_AUTOHSCROLL |  WS_BORDER | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Aperçu",grp2,98,72,120,36,WS_GROUP
    CTEXT           "\nÀàCcÇçEeÉéÈèÊêIiÏïÎîLlUuÙù12",stc5,103,80,109,24,SS_NOPREFIX | NOT WS_VISIBLE
    LTEXT           "Sc&ript :",stc7 ,98,110,80,9
    COMBOBOX        cmb5,98,120,120,90,CBS_DROPDOWNLIST | CBS_HASSTRINGS |
		    CBS_AUTOHSCROLL |   WS_VSCROLL | WS_TABSTOP
}


CHOOSE_COLOR DIALOG 36, 24, 300, 185
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Couleurs"
FONT 8, "MS Shell Dlg"
{
 LTEXT "Couleurs de base :",   1088, 4,    4,  140, 10
 LTEXT "Couleurs personnalisées :",  1089, 4,   106, 140, 10
 LTEXT "Couleur | &Uni",  1090, 150, 151,  48, 10
 LTEXT   "&Rouge :", 726 /*1094*/,249,126,24,10
 EDITTEXT 706, 275,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "&Vert :",727/*1095*/,249,140,24,10
 EDITTEXT 707, 275,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT   "Bl&eu :",728 /*1096*/,249,154,24,10
 EDITTEXT 708, 275,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Teinte :" ,723 /*1091*/,202,126,22,10
 EDITTEXT 703, 226,124,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Satur. :" ,724 /*1092*/,202,140,22,10
 EDITTEXT 704, 226,138,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT  "&Lum. :" ,725 /*1093*/,202,154,22,10
 EDITTEXT 705, 226,152,21,12, WS_BORDER | WS_GROUP | WS_TABSTOP
 CONTROL "" ,720,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86
 CONTROL "" ,721,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28
 CONTROL "" ,710,"STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,118,116
 CONTROL "" ,702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116
 CONTROL "" ,709,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26
 DEFPUSHBUTTON "OK",  1,  4, 166, 44, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuler", 2, 52, 166, 44, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Aid&e", pshHelp,100,166, 44, 14
 PUSHBUTTON "&Ajouter aux couleurs personnalisées", 712/*1024*/, 152, 166, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Définir les couleurs personnalisées >>", 719/*1025*/,   4, 149, 142, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON  "&i",713,300,200,4,14   /* just a dummy:  'i' is  like  &i in "sol&id" */
}


FINDDLGORD DIALOG 36, 24, 236, 62
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Rechercher"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Rechercher :", -1, 4, 8, 42, 8
 EDITTEXT edt1, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 CHECKBOX "Mots &entiers seulement", chx1, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Respecter la &casse", chx2, 4, 42, 74, 12, BS_AUTOCHECKBOX | WS_TABSTOP
 GROUPBOX "Direction", grp1, 103, 26, 72, 28
 CONTROL "&Haut", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 108, 38, 30, 12
 CONTROL "&Bas", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 140, 38, 30, 12

 DEFPUSHBUTTON "&Suivant", 1, 182, 5, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuler", 2, 182, 23, 50, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Aid&e", pshHelp, 182, 45, 50, 14, WS_GROUP | WS_TABSTOP
}


REPLACEDLGORD DIALOG 36, 24, 230, 94
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Remplacer"
FONT 8, "MS Shell Dlg"
{
 LTEXT "&Rechercher :", -1, 4, 7, 48, 8
 EDITTEXT edt1, 56, 5, 106, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 LTEXT "R&emplacer par :", -1, 4, 24, 53, 8
 EDITTEXT edt2, 56, 22, 106, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
 CHECKBOX "Mots &entiers uniquement", chx1, 5, 44, 104, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CHECKBOX "Respecter la &casse", chx2, 5, 60, 74, 12, BS_AUTOCHECKBOX | WS_TABSTOP

 DEFPUSHBUTTON "&Suivant", 1, 168, 4, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Remplacer", psh1, 168, 21, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Remplacer &tout", psh2, 168, 38, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Annuler", IDCANCEL, 168, 55, 56, 14, WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Aid&e", pshHelp, 168, 75, 56, 14, WS_GROUP | WS_TABSTOP
}


PRINT32 DIALOG  32, 32, 288, 186
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
      DS_CONTEXTHELP | DS_3DLOOK
CAPTION "Impression"
FONT 8, "MS Shell Dlg"
{
    DEFPUSHBUTTON   "OK",             IDOK,     178,169, 48,14, WS_GROUP | BS_DEFPUSHBUTTON
    PUSHBUTTON      "Annuler",        IDCANCEL, 231,169, 48,14, WS_GROUP
    PUSHBUTTON      "Aid&e",          pshHelp,  55, 169, 48,14, WS_GROUP

    GROUPBOX        "Imprimante",     grp4,   8,  4, 272,84, WS_GROUP
    CONTROL         "Imprimer dans un fichier", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,185,44,93,14
    PUSHBUTTON      "&Propriétés",     psh2, 214, 17,  60,14, WS_GROUP
    LTEXT           "&Nom :",          stc6,  16, 20,  36,8
    COMBOBOX                          cmb4,  65, 18, 145, 15, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "État :",          stc8,  16, 36,  36,10, SS_NOPREFIX
    LTEXT           "État fictif",    stc12, 65, 36, 112,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Type :",          stc7,  16, 48,  36,10, SS_NOPREFIX
    LTEXT           "Type fictif",     stc11, 65, 48, 111,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Emplacement :",   stc10, 16, 60,  47,10, SS_NOPREFIX
    LTEXT           "Emplacement fictif", stc14, 65, 60, 211,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Commentaire :",   stc9,  16, 72,  47, 10, SS_NOPREFIX
    LTEXT           "Remarque fictive",   stc13, 65, 72, 144, 10, SS_NOPREFIX | SS_LEFTNOWORDWRAP

    GROUPBOX        "Copies",         grp2, 160, 92, 120,73, WS_GROUP
    LTEXT           "Nombre de copies :",stc5,168,108,68,8
    ICON            "",               ico3, 183,121,76,24, WS_GROUP | SS_CENTERIMAGE
    CONTROL         "Copies assemblées",chx2,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,167,148,77,12
    EDITTEXT                          edt3, 240,106,  32,12, WS_GROUP | ES_NUMBER

    GROUPBOX        "Zone d'impression",  grp1,   8,92,  144,73, WS_GROUP
    CONTROL         "&Tout",         rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,108,64,12
    CONTROL         "&Pages",          rad3,"Button",BS_AUTORADIOBUTTON,16,124,36,12
    CONTROL         "&Sélection",      rad2,"Button",BS_AUTORADIOBUTTON,16,140,64,12
    EDITTEXT                          edt1,  74,124,  26,12, WS_GROUP | ES_NUMBER
    EDITTEXT                          edt2, 118,124,  26,12, WS_GROUP | ES_NUMBER
    RTEXT           "&de :",           stc2,  52,127,  20,8
    RTEXT           "&à :",            stc3, 100,127,  16,8
}

PRINT32_SETUP DIALOG  32, 32, 288, 178
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU |
      DS_CONTEXTHELP | DS_3DLOOK
CAPTION "Configuration de l'imprimante"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,180,156,48,14,WS_GROUP
    PUSHBUTTON      "Annuler",IDCANCEL,232,156,48,14
/*    PUSHBUTTON      "Réseau...", psh5, 284,156,48,14 */

    GROUPBOX        "Imprimante",     grp4,   8,  4, 272,84, WS_GROUP
    PUSHBUTTON      "&Propriétés",    psh2, 214, 17,  60,14, WS_GROUP
    LTEXT           "&Nom :",          stc6,  16, 20,  36,8
    COMBOBOX                          cmb1,  65, 18, 145,15,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "État :",          stc8,  16, 36,  36,10, SS_NOPREFIX
    LTEXT           "État fictif",        stc12, 65, 36, 210,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Type :",          stc7,  16, 48,  36,10, SS_NOPREFIX
    LTEXT           "Type fictif",        stc11, 65, 48, 210,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Emplacement :",   stc10, 16, 60,  47,10, SS_NOPREFIX
    LTEXT           "Emplacement fictif",        stc14, 65, 60, 210,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP
    LTEXT           "Commentaire :",   stc9,  16, 72,  47,10, SS_NOPREFIX
    LTEXT           "Commentaire fictif",        stc13, 65, 72, 210,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP

    GROUPBOX        "Papier",         grp2,   8, 92, 164,56, WS_GROUP
    LTEXT           "&Taille :",       stc2,  16,108,  36, 8
    COMBOBOX                          cmb2,  52,106, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Source :",        stc3,  16,128,  36, 8
    COMBOBOX                          cmb3,  52,126, 112,112,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP

    GROUPBOX        "Orientation",    grp1, 180, 92, 100,56, WS_GROUP
    ICON            "",               ico1, 195,112,  18,20, WS_GROUP
    CONTROL         "&Portrait",      rad1,"Button",BS_AUTORADIOBUTTON | WS_GROUP |WS_TABSTOP,224,106,52,12
    CONTROL         "Pa&ysage",       rad2,"Button",BS_AUTORADIOBUTTON,224,126,52,12
END

PAGESETUPDLGORD DIALOG 32, 32, 240, 240
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Mise en page"
FONT 8, "MS Shell Dlg"
BEGIN
  CONTROL "", rct1, "Static", SS_WHITERECT, 80, 8, 80, 80
  CONTROL "", rct2, "Static", SS_GRAYRECT, 160, 12, 4, 80
  CONTROL "", rct3, "Static", SS_GRAYRECT,  84, 88, 80, 4
  GROUPBOX "Papier", grp2, 8, 96, 228, 56, BS_GROUPBOX
  LTEXT "&Taille :", stc2, 16, 112, 36, 8
  COMBOBOX cmb2, 64, 110, 167, 15, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL
  LTEXT "&Bac :", stc3, 16, 132, 36, 8
  COMBOBOX cmb3, 64, 130, 167, 15, CBS_SIMPLE|CBS_DROPDOWN|CBS_SORT|WS_GROUP|WS_TABSTOP|WS_VSCROLL
  GROUPBOX "Orientation", grp1, 8, 156, 64, 56, BS_GROUPBOX
  AUTORADIOBUTTON "&Portrait", rad1, 16, 170, 52, 12, BS_AUTORADIOBUTTON
  AUTORADIOBUTTON "Pa&ysage", rad2, 16, 190, 52, 12, BS_AUTORADIOBUTTON
  GROUPBOX "Marges", grp4, 80, 156, 156, 56, BS_GROUPBOX
  LTEXT "&Gauche :", stc15, 88, 172, 29, 8
  EDITTEXT edt4, 119, 170, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "&Droite :", stc16, 163, 172, 27, 8
  EDITTEXT edt6, 190, 170, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "&Haut :", stc17, 88, 192, 21, 8
  EDITTEXT edt5, 119, 190, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  LTEXT "&Bas :", stc18, 163, 192, 23, 8
  EDITTEXT edt7, 190, 190, 39, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
  DEFPUSHBUTTON "OK", IDOK, 70, 220, 51, 14, BS_PUSHBUTTON
  PUSHBUTTON "Annuler", IDCANCEL, 125, 220, 51, 14
  PUSHBUTTON "&Imprimante...", psh3, 184, 220, 51, 14
END

NEWFILEOPENORD DIALOG 0, 0, 280, 164
STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN
CAPTION "Ouvrir"
FONT 8, "MS Shell Dlg"
{
    LTEXT	"&Rechercher dans",IDC_LOOKINSTATIC,4,6,43,8, SS_NOTIFY
    COMBOBOX	IDC_LOOKIN,49,3,132,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP

    LTEXT	"" , IDC_TOOLBARSTATIC, 181, 2, 102, 17, NOT WS_GROUP | NOT WS_VISIBLE
    LISTBOX	IDC_SHELLSTATIC,4,20,272,85, LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL | NOT WS_VISIBLE

    LTEXT	"&Nom du fichier :",IDC_FILENAMESTATIC,5,112,50,8, SS_NOTIFY
    EDITTEXT	IDC_FILENAME,63,110,155,12,ES_AUTOHSCROLL

    LTEXT	"Fichiers du &type :",IDC_FILETYPESTATIC,5,128,56,8, SS_NOTIFY
    COMBOBOX	IDC_FILETYPE,63,126,155,15,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP

    CONTROL	"&Lecture seule",IDC_OPENREADONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,59,145,100,10

    DEFPUSHBUTTON	"Ouvrir",		 IDOK,222,110,50,14
    PUSHBUTTON		"Annuler",		 IDCANCEL,222,128,50,14
    PUSHBUTTON		"Aid&e",		 pshHelp,222,145,50,14
}

STRINGTABLE
{
    IDS_ABOUTBOX            "À propos du sélecteur de répertoires"
    IDS_DOCUMENTFOLDERS     "Répertoires des documents"
    IDS_PERSONAL            "Mes documents"
    IDS_FAVORITES           "Mes favoris"
    IDS_PATH                "Chemin système (path)"
    IDS_DESKTOP             "Bureau"
    IDS_FONTS               "Polices"
    IDS_MYCOMPUTER          "Poste de travail"
}

STRINGTABLE
{
    IDS_SYSTEMFOLDERS       "Répertoires système"
    IDS_LOCALHARDRIVES      "Disques locaux"
    IDS_FILENOTFOUND        "Fichier non trouvé"
    IDS_VERIFYFILE          "Veuillez vérifier que le nom de fichier indiqué est correct"
    IDS_CREATEFILE          "Ce fichier n'existe pas.\nSouhaitez-vous le créer ?"
    IDS_OVERWRITEFILE       "Ce fichier existe déjà.\nVoulez-vous le remplacer ?"
    IDS_INVALID_FILENAME_TITLE "Le chemin d'accès contient des caractères invalides"
    IDS_INVALID_FILENAME    "Un nom de fichier ne peut contenir aucun des caractères suivants :\n                          / : < > |"
    IDS_PATHNOTEXISTING     "Le chemin d'accès n'existe pas"
    IDS_FILENOTEXISTING     "Le fichier n'existe pas"
}

STRINGTABLE
{
    IDS_UPFOLDER         "Remonter d'un niveau"
    IDS_NEWFOLDER        "Créer un nouveau dossier"
    IDS_LISTVIEW         "Liste"
    IDS_REPORTVIEW       "Détails"
    IDS_TODESKTOP        "Voir le bureau"
}

STRINGTABLE
{
    PD32_PRINT_TITLE       "Imprimer"

    PD32_VALUE_UREADABLE                  "Entrée illisible"
    PD32_INVALID_PAGE_RANGE "Cette valeur n'est pas dans l'étendue de pages\n\
Veuillez indiquer une valeur entre %d et %d."
    PD32_FROM_NOT_ABOVE_TO                "Le champ « de » ne peut être plus grand \
que le champ « à »."
    PD32_MARGINS_OVERLAP                  "Les marges se chevauchent ou dépassent du papier\n\
Veuillez indiquer de nouvelles valeurs."
    PD32_NR_OF_COPIES_EMPTY               "Le champ « Nombre de copies » est vide.\n\
Veuillez entrer un nombre et r&essayer."
    PD32_TOO_LARGE_COPIES                 "Votre imprimante ne peut gérer autant de copies.\n\
Veuillez indiquer un nombre de copies entre 1 et %d."
    PD32_PRINT_ERROR                      "Une erreur d'impression s'est produite."
    PD32_NO_DEFAULT_PRINTER               "Imprimante par défaut non définie."
    PD32_CANT_FIND_PRINTER                "Impossible de trouver l'imprimante."
    PD32_OUT_OF_MEMORY                    "Pas assez de mémoire."
    PD32_GENERIC_ERROR                    "Une erreur s'est produite."
    PD32_DRIVER_UNKNOWN                   "Pilote d'imprimante inconnu."
    PD32_NO_DEVICES                       "Avant de pouvoir effectuer des opérations en relation avec l'impression \
comme la configuration de l'imprimante ou l'impression d'un document, vous devez installer une imprimante. \
Veuillez en installer une et réessayez."

    PD32_DEFAULT_PRINTER                  "Imprimante par défaut ; "
    PD32_NR_OF_DOCUMENTS_IN_QUEUE         "Il y a %d document(s) dans la file d'attente"
    PD32_MARGINS_IN_INCHES                "Marges (pouces)"
    PD32_MARGINS_IN_MILLIMETERS           "Marges (mm)"
    PD32_MILLIMETERS                      "mm"

    PD32_PRINTER_STATUS_READY             "Prêt"
    PD32_PRINTER_STATUS_PAUSED            "Suspendu ; "
    PD32_PRINTER_STATUS_ERROR             "Erreur ; "
    PD32_PRINTER_STATUS_PENDING_DELETION  "En attente de suppression ; "
    PD32_PRINTER_STATUS_PAPER_JAM         "Bourrage papier ; "
    PD32_PRINTER_STATUS_PAPER_OUT         "Plus de papier ; "
    PD32_PRINTER_STATUS_MANUAL_FEED       "Insertion manuelle du papier ; "
    PD32_PRINTER_STATUS_PAPER_PROBLEM     "Problème de papier ; "
    PD32_PRINTER_STATUS_OFFLINE           "L'imprimante n'est pas en ligne ; "
    PD32_PRINTER_STATUS_IO_ACTIVE         "E/S Active ; "
    PD32_PRINTER_STATUS_BUSY              "Occupée ; "
    PD32_PRINTER_STATUS_PRINTING          "En cours d'impression ; "
    PD32_PRINTER_STATUS_OUTPUT_BIN_FULL   "Le bac de sortie est plein ; "
    PD32_PRINTER_STATUS_NOT_AVAILABLE     "Non disponible ; "
    PD32_PRINTER_STATUS_WAITING           "En attente ; "
    PD32_PRINTER_STATUS_PROCESSING        "Traitement en cours ; "
    PD32_PRINTER_STATUS_INITIALIZING      "Démarrage en cours ; "
    PD32_PRINTER_STATUS_WARMING_UP        "Préchauffage ; "
    PD32_PRINTER_STATUS_TONER_LOW         "Toner presque vide ; "
    PD32_PRINTER_STATUS_NO_TONER          "Pas de toner ; "
    PD32_PRINTER_STATUS_PAGE_PUNT         "Abandon de page ; "
    PD32_PRINTER_STATUS_USER_INTERVENTION "Interrompu par utilisateur ; "
    PD32_PRINTER_STATUS_OUT_OF_MEMORY     "Plus assez de mémoire ; "
    PD32_PRINTER_STATUS_DOOR_OPEN         "La porte de l'imprimante est ouverte ; "
    PD32_PRINTER_STATUS_SERVER_UNKNOWN    "Serveur d'impression inconnu ; "
    PD32_PRINTER_STATUS_POWER_SAVE        "Mode économie d'énergie ; "
}

STRINGTABLE /* Font styles */
{
    IDS_FONT_REGULAR       "Normal"
    IDS_FONT_BOLD          "Gras"
    IDS_FONT_ITALIC        "Italique"
    IDS_FONT_BOLD_ITALIC   "Gras italique"
}


STRINGTABLE /* Color names */
{
    IDS_COLOR_BLACK     "Noir"
    IDS_COLOR_MAROON    "Marron"
    IDS_COLOR_GREEN     "Vert"
    IDS_COLOR_OLIVE     "Olive"
    IDS_COLOR_NAVY      "Bleu marine"
    IDS_COLOR_PURPLE    "Pourpre"
    IDS_COLOR_TEAL      "Sarcelle"
    IDS_COLOR_GRAY      "Gris"
    IDS_COLOR_SILVER    "Argent"
    IDS_COLOR_RED       "Rouge"
    IDS_COLOR_LIME      "Citron vert"
    IDS_COLOR_YELLOW    "Jaune"
    IDS_COLOR_BLUE      "Bleu"
    IDS_COLOR_FUCHSIA   "Fuchsia"
    IDS_COLOR_AQUA      "Eau"
    IDS_COLOR_WHITE     "Blanc"
}

STRINGTABLE
{
    IDS_FONT_SIZE   "Sélectionnez une taille de police entre %d et %d points."
    IDS_SAVE_BUTTON "&Enregistrer"
    IDS_SAVE_IN     "Enregistrer &dans :"
    IDS_SAVE        "Enregistrer"
    IDS_SAVE_AS     "Enregistrer sous"
    IDS_OPEN_FILE   "Ouvrir fichier"
}
