/*
 * OleView (Fr.rc)
 * French Language Support
 *
 * Copyright 2006 Jonathan Ernst
 *
 * 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 "resource.h"

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

LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL

IDM_MENU MENU
{
    POPUP "&Fichier"
    {
        MENUITEM "&Lier au fichier...",    IDM_BIND
        MENUITEM "&Afficher la TypeLib...",    IDM_TYPELIB
        MENUITEM SEPARATOR
        MENUITEM "&Configuration système...",    IDM_SYSCONF
        MENUITEM "&Exécuter l'éditeur de la base de registre",    IDM_REGEDIT
        MENUITEM SEPARATOR
        MENUITEM "&Quitter",    IDM_EXIT
    }
    POPUP "&Objet"
    {
        POPUP "Indicateur &CoCreateInstance"
        {
            MENUITEM "CLSCTX_&INPROC_SERVER",    IDM_FLAG_INSERV,CHECKED
            MENUITEM "CLSCTX_INPROC_&HANDLER",    IDM_FLAG_INHANDL
            MENUITEM "CLSCTX_&LOCAL_SERVER",        IDM_FLAG_LOCSERV,CHECKED
            MENUITEM "CLSCTX_&REMOTE_SERVER",    IDM_FLAG_REMSERV
        }
        MENUITEM SEPARATOR
        MENUITEM "Afficher les informations sur le &type",    IDM_TYPEINFO, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Créer une &instance",    IDM_CREATEINST, GRAYED
        MENUITEM "Créer une instance &sur...",    IDM_CREATEINSTON, GRAYED
        MENUITEM "&Libérer l'instance",    IDM_RELEASEINST, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Copier le &CLSID dans le presse-papiers",    IDM_COPYCLSID, GRAYED
        MENUITEM "Copier la balise &HTML de l'objet dans le presse-papiers", IDM_HTMLTAG, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "&Afficher...",    IDM_VIEW, GRAYED
    }
    POPUP "&Affichage"
    {
        MENUITEM "Mode &expert",    IDM_EXPERT,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "Catégories de composants &cachés",    IDM_HIDDEN, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "&Barre d'outils",    IDM_TOOLBAR,CHECKED
        MENUITEM "Barre d'é&tat",    IDM_STATUSBAR,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "A&ctualiser\tF5",    IDM_REFRESH
    }
    POPUP "Aid&e"
    {
        MENUITEM "À &propos de OleView",    IDM_ABOUT
    }
}

IDM_TYPELIB MENU
{
    POPUP "&Fichier"
    {
        MENUITEM "Enregistrer &sous...",    IDM_SAVEAS
        MENUITEM "&Fermer",  IDM_CLOSE
    }
    POPUP "&Affichage"
    {
        MENUITEM "&Grouper par type", IDM_GROUP
        MENUITEM SEPARATOR
        MENUITEM "Barre d'&outils",    IDM_TOOLBAR
        MENUITEM "&Barre d'état", IDM_STATUSBAR,CHECKED
    }
}

STRINGTABLE
{
    IDS_APPNAME            "OleView"
    IDS_APPTITLE           "OleView"
    IDS_READY              "Prêt"
    IDS_ABOUT              "OleView - Visionneur d'objets OLE/COM"
    IDS_ABOUTVER           "version 1.0"
    IDS_TYPELIBTITLE       "Visionneur d'ITypeLib"
    IDS_OPEN               "Ouvrir"
    IDS_OPEN_TYPELIB_FILTER "Fichiers TypeLib (*.tlb;*.olb;*.dll;*.ocx;*.exe)\0*.tlb;*.olb;*.dll;*.ocx;*.exe\0Tous les fichiers (*.*)\0*.*\0\0"

    IDM_BIND,              "Lier à un fichier à l'aide d'un File Moniker"
    IDM_TYPELIB,           "Ouvrir un fichier TypeLib et afficher son contenu"
    IDM_SYSCONF,           "Modifier les paramètres COM distribuées pour l'ensemble de la machine"
    IDM_REGEDIT,           "Exécuter l'éditeur de base de registre de Wine"
    IDM_EXIT,              "Quitter l'application. Demande s'il faut enregistrer les modifications au préalable"
    IDM_CREATEINST,        "Créer une instance de l'objet sélectionné"
    IDM_CREATEINSTON,      "Créer une instance de l'objet sélectionné sur une machine spécifique"
    IDM_RELEASEINST,       "Libérer l'instance de l'objet actuellement sélectionné"
    IDM_COPYCLSID,         "Copier le GUID de l'objet actuellement sélectionné dans le presse-papiers"
    IDM_VIEW,              "Afficher le visionneur pour l'objet actuellement sélectionné"
    IDM_FLAG_INSERV,       "Utiliser CLSCTX_INPROC_SERVER lors de l'appel à CoGetClassObject"
    IDM_FLAG_INHANDL,      "Utiliser CLSCTX_INPROC_HANDLER lors de l'appel à CoGetClassObject"
    IDM_FLAG_LOCSERV,      "Utiliser CLSCTX_LOCAL_SERVER lors de l'appel à CoGetClassObject"
    IDM_FLAG_REMSERV,      "Utiliser CLSCTX_REMOTE_SERVER lors de l'appel à CoGetClassObject"
    IDM_EXPERT,            "Basculer entre le mode d'affichage expert et le mode d'affichage débutant"
    IDM_HIDDEN,            "Activer/désactiver l'affichage des catégories des composant qui ne sont pas prévues pour être visibles"
    IDM_TOOLBAR,           "Afficher ou masquer la barre d'outils"
    IDM_STATUSBAR,         "Afficher ou masquer la barre d'état"
    IDM_REFRESH,           "Actualiser toutes les listes"
    IDM_ABOUT,             "Afficher les informations sur le programme, le numéro de version et la licence"

    IDM_SAVEAS,            "Enregistrer en tant que fichier .IDL ou .H"
    IDM_CLOSE,             "Fermer la fenêtre"
    IDM_GROUP,             "Grouper les typeinfos par catégorie"

    IDS_TREE_OC,           "Classes d'objets"
    IDS_TREE_GBCC,         "Groupés par catégorie de composants"
    IDS_TREE_O1O,          "Objets OLE 1.0"
    IDS_TREE_CLO,          "Objets de la bibliothèque COM"
    IDS_TREE_AO,           "Tous les objets"
    IDS_TREE_AID,          "Identificateurs d'application"
    IDS_TREE_TL,           "Bibliothèques de types"
    IDS_TL_VER,            "ver."
    IDS_TREE_I,            "Interfaces"

    IDS_TAB_REG,           "Base de registre"
    IDS_TAB_IMPL,          "Implémentation"
    IDS_TAB_ACTIV,         "Activation"

    IDS_CGCOFAIL,          "CoGetClassObject a échoué."
    IDS_ERROR_UNKN,        "Erreur inconnue"
    IDS_TRUE,              "Vrai"
    IDS_FALSE,             "Faux"
    IDS_BYTES,             "octets"

    IDS_ERROR_LOADTYPELIB, "Échec de LoadTypeLib( %s ) ($%x)"
    IDS_INHERITINTERFACES, "Interfaces héritées"
}

DLG_CREATEINSTON DIALOG DISCARDABLE 0, 0, 250, 41
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Se connecter à une autre machine"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Nom de la &machine :", -1, 5, 6, 190, 8
    EDITTEXT    IDC_MACHINE, 5, 16, 190, 12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
    DEFPUSHBUTTON   "&OK", IDOK, 200, 5, 45, 14
    PUSHBUTTON  "&Annuler", IDCANCEL, 200, 22, 45, 14
}

DLG_SYSCONF DIALOG DISCARDABLE 0, 0, 210, 100
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Configuration système"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Paramètres système", -1, 5, 6, 160, 8
    CHECKBOX    "&Activer le COM distribué", IDC_ENABLEDCOM, 5, 20, 160, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    CHECKBOX    "Activer les connexions à &distance (Win95 uniquement)", IDC_ENABLEREMOTE, 5, 35, 190, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    LTEXT   "Ces paramètres ne font que modifier des valeurs du registre.\nIls n'ont pas d'effet sur les performances de Wine.", -1, 5, 50, 200, 40
    DEFPUSHBUTTON   "&OK", IDOK, 100, 80, 45, 14
    PUSHBUTTON  "&Annuler", IDCANCEL, 150, 80, 45, 14
}

DLG_DEFAULT_IV DIALOG DISCARDABLE 0, 0, 280, 50
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Visionneur d'interface par défaut"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Interface", -1, 5, 6, 50, 8
    LTEXT   "", IDC_LABEL, 60, 6, 145, 8
    LTEXT   "IID :", -1, 5, 16, 50, 8
    LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
    DEFPUSHBUTTON   "&Fermer", IDCANCEL, 230, 6, 45, 14
    PUSHBUTTON  "&Afficher les informations de type", IDC_VIEWTYPEINFO, 6, 31, 120, 14, WS_DISABLED
}

DLG_IPERSIST_IV DIALOG DISCARDABLE 0, 0, 280, 29
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersist Interface Viewer"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Nom de classe :", -1, 5, 6, 50, 8
    LTEXT   "", IDC_LABEL, 60, 6, 145, 8
    LTEXT   "CLSID :", -1, 5, 16, 50, 8
    LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
    DEFPUSHBUTTON   "&Fermer", IDCANCEL, 230, 6, 45, 14
}

DLG_IPERSISTSTREAM_IV DIALOG DISCARDABLE 0, 0, 280, 68
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Visionneur d'interface IPersistStream"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Nom de classe :", -1, 5, 6, 50, 8
    LTEXT   "", IDC_LABEL, 60, 6, 145, 8
    LTEXT   "CLSID :", -1, 5, 16, 50, 8
    LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
    DEFPUSHBUTTON   "&Fermer", IDCANCEL, 230, 6, 45, 14
    PUSHBUTTON  "&IsDirty", IDC_ISDIRTY_BUTTON, 6, 31, 50, 14
    LTEXT   "???", IDC_ISDIRTY, 60, 34, 145, 8
    PUSHBUTTON  "&GetSizeMax", IDC_GETSIZEMAX_BUTTON, 6, 49, 50, 14
    LTEXT   "???", IDC_GETSIZEMAX, 60, 52, 145, 8
}
