/*
 * 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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE 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 DISCARDABLE  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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE  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 LOADONCALL MOVEABLE DISCARDABLE  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 LOADONCALL MOVEABLE DISCARDABLE 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 LOADONCALL MOVEABLE DISCARDABLE 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 DISCARDABLE
{
    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 DISCARDABLE
{
    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 DISCARDABLE
{
    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 DISCARDABLE
{
    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 DISCARDABLE /* Font styles */
{
    IDS_FONT_REGULAR       "Normal"
    IDS_FONT_BOLD          "Gras"
    IDS_FONT_ITALIC        "Italique"
    IDS_FONT_BOLD_ITALIC   "Gras italique"
}


STRINGTABLE DISCARDABLE /* 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 DISCARDABLE
{
    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"
}
