IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Peut-on creer sa propre cultureInfo ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Par défaut Peut-on creer sa propre cultureInfo ?
    Bonjour

    La question est dans le titre du sujet. Je souhaiterai realiser une application avec la localization en gaelic. Or, d'apres la liste des cultureInfo donnee par MSDN, cette culture n'existe pas (galician pour l'Espagne mais pas de gaelic). Est-il alors possible de creer sa propre culture ? Et si oui comment ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Effectivement c'est possible mais un peu galère... il faut utiliser la classe System.Globalization.CultureAndRegionInfoBuilder, qui se trouve dans l'assembly sysglobl.dll.

    Tu crées un objet CultureAndRegionInfoBuilder avec le nom (genre "ga-IR" pour "Gaelic (Ireland)") et un flag (None dans ton cas), puis tu assignes toutes les propriétés voulues (nom anglais, nom local, codes ISO, region, devise, format de date, format de nombre...). Tu peux initialiser une bonne partie de ces propriétés à partir d'une culture existante avec la méthode LoadDataFromCultureInfo. Ensuite tu appelles la méthode Register, qui inscrit la culture sur le système (si tu es sous Vista, il faut exécuter en tant qu'administrateur). Ensuite tu peux utiliser la culture comme n'importe quelle culture standard...

    Tu peux aussi charger les infos de la culture à partir d'un fichier LDML avec la méthode statique CreateFromLdml.

    EDIT: un exemple de fichier LDML pour le français :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    <?xml version="1.0" encoding="utf-8"?>
    <ldml>
      <identity>
        <version number="1.1">ldml version 1.1</version>
        <generation date="2009-04-21" />
        <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
          <msLocale:cultureInfoVersion type="1.0" />
          <msLocale:cultureAndRegionInfoName type="fr-FR" />
          <msLocale:geoId>84</msLocale:geoId>
          <msLocale:countryCode>33</msLocale:countryCode>
          <msLocale:parentName type="fr" />
          <msLocale:languageNameAbbr type="FRA" />
          <msLocale:languageIsoName type="threeLetters">fra</msLocale:languageIsoName>
          <msLocale:languageIsoName type="twoLetters">fr</msLocale:languageIsoName>
          <msLocale:nativeName type="français (France)" />
          <msLocale:regionEnglishName type="France" />
          <msLocale:regionNativeName type="France" />
          <msLocale:regionIsoName type="threeLetters">FRA</msLocale:regionIsoName>
          <msLocale:regionIsoName type="twoLetters">FR</msLocale:regionIsoName>
          <msLocale:regionWindowsName type="threeLetters">FRA</msLocale:regionWindowsName>
          <msLocale:englishName type="French (France)" />
          <msLocale:textInfoName type="fr-FR" />
          <msLocale:sortName type="fr-FR" />
          <msLocale:englishLanguage type="French" />
          <msLocale:nativeLanguage type="français" />
          <msLocale:keyboardsToInstall type="040c:0000040c;0409:00000409" />
        </special>
      </identity>
      <layout>
        <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
          <msLocale:direction type="left-to-right" />
        </special>
      </layout>
      <characters>
        <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
          <msLocale:keyboardLayout>1036</msLocale:keyboardLayout>
          <msLocale:consoleFallbackName type="fr-FR" />
          <msLocale:fontSignature>
            <msLocale:unicodeRanges>
              <msLocale:range type="1" />
            </msLocale:unicodeRanges>
            <msLocale:defaultCodePages>
              <msLocale:ansiCodePage>
                <msLocale:codePage type="1252" />
              </msLocale:ansiCodePage>
              <msLocale:ansiOemCodePage />
              <msLocale:oemCodePage>
                <msLocale:codePage type="850" />
              </msLocale:oemCodePage>
            </msLocale:defaultCodePages>
            <msLocale:codePages>
              <msLocale:ansiCodePage>
                <msLocale:codePage type="1252" />
                <msLocale:codePage type="1250" />
                <msLocale:codePage type="1254" />
              </msLocale:ansiCodePage>
              <msLocale:ansiOemCodePage />
              <msLocale:oemCodePage>
                <msLocale:codePage type="865" />
                <msLocale:codePage type="863" />
                <msLocale:codePage type="861" />
                <msLocale:codePage type="860" />
                <msLocale:codePage type="857" />
                <msLocale:codePage type="852" />
                <msLocale:codePage type="737" />
                <msLocale:codePage type="708" />
                <msLocale:codePage type="437" />
              </msLocale:oemCodePage>
            </msLocale:codePages>
          </msLocale:fontSignature>
          <msLocale:scripts>
            <msLocale:script type="Latn" />
          </msLocale:scripts>
        </special>
      </characters>
      <measurement>
        <measurementSystem type="metric" />
        <paperSize>
          <height>297</height>
          <width>210</width>
        </paperSize>
      </measurement>
      <dates>
        <calendars>
          <default type="Gregorian" />
          <calendar type="Gregorian">
            <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
              <msLocale:calendarNativeName type="calendrier grégorien" />
            </special>
            <months>
              <monthContext type="format">
                <monthWidth type="wide">
                  <month type="1">janvier</month>
                  <month type="2">février</month>
                  <month type="3">mars</month>
                  <month type="4">avril</month>
                  <month type="5">mai</month>
                  <month type="6">juin</month>
                  <month type="7">juillet</month>
                  <month type="8">août</month>
                  <month type="9">septembre</month>
                  <month type="10">octobre</month>
                  <month type="11">novembre</month>
                  <month type="12">décembre</month>
                  <month type="13" />
                </monthWidth>
                <monthWidth type="abbreviated">
                  <month type="1">janv.</month>
                  <month type="2">févr.</month>
                  <month type="3">mars</month>
                  <month type="4">avr.</month>
                  <month type="5">mai</month>
                  <month type="6">juin</month>
                  <month type="7">juil.</month>
                  <month type="8">août</month>
                  <month type="9">sept.</month>
                  <month type="10">oct.</month>
                  <month type="11">nov.</month>
                  <month type="12">déc.</month>
                  <month type="13" />
                </monthWidth>
                <monthWidth type="genitive">
                  <month type="1">janvier</month>
                  <month type="2">février</month>
                  <month type="3">mars</month>
                  <month type="4">avril</month>
                  <month type="5">mai</month>
                  <month type="6">juin</month>
                  <month type="7">juillet</month>
                  <month type="8">août</month>
                  <month type="9">septembre</month>
                  <month type="10">octobre</month>
                  <month type="11">novembre</month>
                  <month type="12">décembre</month>
                  <month type="13" />
                </monthWidth>
                <monthWidth type="genitiveAbbreviated">
                  <month type="1">janv.</month>
                  <month type="2">févr.</month>
                  <month type="3">mars</month>
                  <month type="4">avr.</month>
                  <month type="5">mai</month>
                  <month type="6">juin</month>
                  <month type="7">juil.</month>
                  <month type="8">août</month>
                  <month type="9">sept.</month>
                  <month type="10">oct.</month>
                  <month type="11">nov.</month>
                  <month type="12">déc.</month>
                  <month type="13" />
                </monthWidth>
              </monthContext>
            </months>
            <days>
              <dayContext type="format">
                <dayWidth type="wide">
                  <day type="sun">dimanche</day>
                  <day type="mon">lundi</day>
                  <day type="tue">mardi</day>
                  <day type="wed">mercredi</day>
                  <day type="thu">jeudi</day>
                  <day type="fri">vendredi</day>
                  <day type="sat">samedi</day>
                </dayWidth>
                <dayWidth type="abbreviated">
                  <day type="sun">dim.</day>
                  <day type="mon">lun.</day>
                  <day type="tue">mar.</day>
                  <day type="wed">mer.</day>
                  <day type="thu">jeu.</day>
                  <day type="fri">ven.</day>
                  <day type="sat">sam.</day>
                </dayWidth>
                <dayWidth type="shortest">
                  <day type="sun">di</day>
                  <day type="mon">lu</day>
                  <day type="tue">ma</day>
                  <day type="wed">me</day>
                  <day type="thu">je</day>
                  <day type="fri">ve</day>
                  <day type="sat">sa</day>
                </dayWidth>
              </dayContext>
            </days>
            <week>
              <firstDay day="mon" />
              <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
                <msLocale:weekRule type="firstDay" />
              </special>
            </week>
            <am />
            <pm />
            <dateFormats>
              <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
                <msLocale:dateFormatLength type="long">
                  <msLocale:default type="0" />
                  <msLocale:dateFormat type="0">
                    <msLocale:pattern>dddd d MMMM yyyy</msLocale:pattern>
                  </msLocale:dateFormat>
                  <msLocale:dateFormat type="1">
                    <msLocale:pattern>d MMM yy</msLocale:pattern>
                  </msLocale:dateFormat>
                  <msLocale:dateFormat type="2">
                    <msLocale:pattern>d MMMM yyyy</msLocale:pattern>
                  </msLocale:dateFormat>
                </msLocale:dateFormatLength>
                <msLocale:dateFormatLength type="short">
                  <msLocale:default type="0" />
                  <msLocale:dateFormat type="0">
                    <msLocale:pattern>dd/MM/yyyy</msLocale:pattern>
                  </msLocale:dateFormat>
                  <msLocale:dateFormat type="1">
                    <msLocale:pattern>dd/MM/yy</msLocale:pattern>
                  </msLocale:dateFormat>
                  <msLocale:dateFormat type="2">
                    <msLocale:pattern>dd.MM.yy</msLocale:pattern>
                  </msLocale:dateFormat>
                  <msLocale:dateFormat type="3">
                    <msLocale:pattern>dd-MM-yy</msLocale:pattern>
                  </msLocale:dateFormat>
                  <msLocale:dateFormat type="4">
                    <msLocale:pattern>yyyy-MM-dd</msLocale:pattern>
                  </msLocale:dateFormat>
                </msLocale:dateFormatLength>
                <msLocale:yearMonthFormat>
                  <msLocale:default type="0" />
                  <msLocale:yearMonth type="0">
                    <msLocale:pattern>MMMM yyyy</msLocale:pattern>
                  </msLocale:yearMonth>
                </msLocale:yearMonthFormat>
                <msLocale:monthDay>
                  <msLocale:pattern>d MMMM</msLocale:pattern>
                </msLocale:monthDay>
              </special>
            </dateFormats>
            <timeFormats>
              <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
                <msLocale:timeFormatLength type="long">
                  <msLocale:default type="0" />
                  <msLocale:timeFormat type="0">
                    <msLocale:pattern>HH:mm:ss</msLocale:pattern>
                  </msLocale:timeFormat>
                  <msLocale:timeFormat type="1">
                    <msLocale:pattern>H:mm:ss</msLocale:pattern>
                  </msLocale:timeFormat>
                  <msLocale:timeFormat type="2">
                    <msLocale:pattern>HH.mm</msLocale:pattern>
                  </msLocale:timeFormat>
                  <msLocale:timeFormat type="3">
                    <msLocale:pattern>HH' h 'mm</msLocale:pattern>
                  </msLocale:timeFormat>
                </msLocale:timeFormatLength>
                <msLocale:timeFormatLength type="short">
                  <msLocale:default type="0" />
                  <msLocale:timeFormat type="0">
                    <msLocale:pattern>HH:mm</msLocale:pattern>
                  </msLocale:timeFormat>
                  <msLocale:timeFormat type="1">
                    <msLocale:pattern>H:mm</msLocale:pattern>
                  </msLocale:timeFormat>
                  <msLocale:timeFormat type="2">
                    <msLocale:pattern>HH.mm</msLocale:pattern>
                  </msLocale:timeFormat>
                  <msLocale:timeFormat type="3">
                    <msLocale:pattern>HH' h 'mm</msLocale:pattern>
                  </msLocale:timeFormat>
                </msLocale:timeFormatLength>
                <msLocale:durationFormats>
                  <msLocale:default type="0" />
                  <msLocale:durationFormat type="0">
                    <msLocale:pattern>HH:mm:ss</msLocale:pattern>
                  </msLocale:durationFormat>
                </msLocale:durationFormats>
              </special>
            </timeFormats>
          </calendar>
        </calendars>
      </dates>
      <numbers>
        <symbols>
          <list>;</list>
          <decimal>,</decimal>
          <group>*</group>
          <percentSign>%</percentSign>
          <infinity type="positive">+Infini</infinity>
          <infinity type="negative">-Infini</infinity>
          <nan>Non Numérique</nan>
          <PlusSign />
          <minusSign>-</minusSign>
          <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
            <msLocale:currencyDecimalSeparator>,</msLocale:currencyDecimalSeparator>
            <msLocale:currencyGroupSeparator>*</msLocale:currencyGroupSeparator>
          </special>
        </symbols>
        <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
          <msLocale:decimalDigits>2</msLocale:decimalDigits>
          <msLocale:negativePattern type="1" />
          <msLocale:currencyDecimalDigits type="2" />
          <msLocale:currencyPositivePattern type="3" />
          <msLocale:currencyNegativePattern type="8" />
          <msLocale:percentNegativePattern type="0" />
          <msLocale:percentPositivePattern type="0" />
          <msLocale:leadingZero type="yes" />
          <msLocale:groupSizes type="0">3</msLocale:groupSizes>
          <msLocale:currencyGroupSizes type="0">3</msLocale:currencyGroupSizes>
          <msLocale:nativeDigits type="0">0</msLocale:nativeDigits>
          <msLocale:nativeDigits type="1">1</msLocale:nativeDigits>
          <msLocale:nativeDigits type="2">2</msLocale:nativeDigits>
          <msLocale:nativeDigits type="3">3</msLocale:nativeDigits>
          <msLocale:nativeDigits type="4">4</msLocale:nativeDigits>
          <msLocale:nativeDigits type="5">5</msLocale:nativeDigits>
          <msLocale:nativeDigits type="6">6</msLocale:nativeDigits>
          <msLocale:nativeDigits type="7">7</msLocale:nativeDigits>
          <msLocale:nativeDigits type="8">8</msLocale:nativeDigits>
          <msLocale:nativeDigits type="9">9</msLocale:nativeDigits>
          <msLocale:digitSubstitution type="none" />
        </special>
        <currencies>
          <currency type="default">
            <symbol></symbol>
            <displayName>euro</displayName>
            <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
              <msLocale:isoCurrency>EUR</msLocale:isoCurrency>
              <msLocale:currencyEnglishName>Euro</msLocale:currencyEnglishName>
            </special>
          </currency>
        </currencies>
      </numbers>
    </ldml>

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Effectivement c'est possible mais un peu galère... il faut utiliser la classe System.Globalization.CultureAndRegionInfoBuilder, qui se trouve dans l'assembly sysglobl.dll.
    Merci beaucoup pour cette reponse.
    Cependant je ne parviens pas a trouver cette classe. Comment dois-je faire pour que Visual la reconnaisse lorsque je la tape ?Cet assembly sysglob.dll doit etre lie ou bien dois-je importer une librairie specifique ?

    (desole pour les accents mais je suis en qwerty)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    il faut ajouter une référence à sysglobl dans ton projet

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Par défaut
    Ok super.
    J'ai reussi a creer ma culture.
    Sauf que lorsque je veux executer mon programme, j'obtiens une erreur de compilation dans un fichier aue je n'ai pas ecrit :
    "L'espace de noms 'Resources' contient deja une definition de 'langage'"

    Sachant que mes fichiers ressources ont pour nom langage.resx, langage.fr.resx, langage.en.resx et langage.ga.resx (francais, anglais, gaelic)
    Voici le code de la creation de la culture (je n'est pas mis la definition des diverses proprietes):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public partial class _Default : System.Web.UI.Page 
    {
        //declaration of RessourceManager
        private System.Resources.ResourceManager RM = null;
        //creation of the new culture for Gaelic culture
        CultureAndRegionInfoBuilder GaelicCulture = new CultureAndRegionInfoBuilder("ga-SC", System.Globalization.CultureAndRegionModifiers.Neutral);
     
        //declaration of CultureInfo
        private CultureInfo EnglishCulture = new CultureInfo("en-GB");
        private CultureInfo FrenchCulture = new CultureInfo("fr-FR");
        private CultureInfo GaelicCulture = new CultureInfo("ga-SC");

    Et voici le code indigeste ou se situe l'erreur lors de la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    #pragma checksum "C:\Documents and Settings\Cedric\Mes documents\IUT\Stage\VB.net\llocalisation_gaelic\App_GlobalResources\langage.resx" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "AC9114455DEDC1048B71373BCA97AF15"
    //------------------------------------------------------------------------------
    // <auto-generated>
    //     Ce code a été généré par un outil.
    //     Version du runtime :2.0.50727.3053
    //
    //     Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
    //     le code est régénéré.
    // </auto-generated>
    //------------------------------------------------------------------------------
     
    namespace Resources {
        using System;
     
     
        /// <summary>
        ///   Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
        /// </summary>
        // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
        // à l'aide d'un outil, tel que ResGen ou Visual Studio.
        // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
        // avec l'option /str ou régénérez votre projet VS.
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
        public class langage {
     
            private static global::System.Resources.ResourceManager resourceMan;
     
            private static global::System.Globalization.CultureInfo resourceCulture;
     
            [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
            internal langage() {
            }
     
            /// <summary>
            ///   Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
            /// </summary>
            [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
            public static global::System.Resources.ResourceManager ResourceManager {
                get {
                    if (object.ReferenceEquals(resourceMan, null)) {
                        global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Resources.langage", typeof(langage).Assembly);
                        resourceMan = temp;
                    }
                    return resourceMan;
                }
            }
     
            /// <summary>
            ///   Remplace la propriété CurrentUICulture du thread actuel pour toutes
            ///   les recherches de ressources à l'aide de cette classe de ressource fortement typée.
            /// </summary>
            [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
            public static global::System.Globalization.CultureInfo Culture {
                get {
                    return resourceCulture;
                }
                set {
                    resourceCulture = value;
                }
            }
     
            /// <summary>
            ///   Recherche une chaîne localisée semblable à Bonjour.
            /// </summary>
            public static string hello {
                get {
                    return ResourceManager.GetString("hello", resourceCulture);
                }
            }
     
            /// <summary>
            ///   Recherche une chaîne localisée semblable à Nom d&apos;utilisateur.
            /// </summary>
            public static string login {
                get {
                    return ResourceManager.GetString("login", resourceCulture);
                }
            }
     
            /// <summary>
            ///   Recherche une chaîne localisée semblable à Mot de passe.
            /// </summary>
            public static string password {
                get {
                    return ResourceManager.GetString("password", resourceCulture);
                }
            }
     
            /// <summary>
            ///   Recherche une chaîne localisée semblable à  :.
            /// </summary>
            public static string points {
                get {
                    return ResourceManager.GetString("points", resourceCulture);
                }
            }
     
            /// <summary>
            ///   Recherche une chaîne localisée semblable à Bienvenue sur le premier essai de site multi-langues.
            /// </summary>
            public static string welcome {
                get {
                    return ResourceManager.GetString("welcome", resourceCulture);
                }
            }
        }
    }

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Shargat Voir le message
    Sauf que lorsque je veux executer mon programme, j'obtiens une erreur de compilation dans un fichier aue je n'ai pas ecrit :
    "L'espace de noms 'Resources' contient deja une definition de 'langage'"

    Sachant que mes fichiers ressources ont pour nom langage.resx, langage.fr.resx, langage.en.resx et langage.ga.resx (francais, anglais, gaelic)
    C'est parce que par défaut, quand tu crées un fichier .resx, Visual Studio définit la propriété "Outil personnalisé" à "ResXFileCodeGenerator", ce qui permet de générer le code (.designer.cs) pour accéder aux ressources. La classe créée est partielle et a pour nom la racine du nom du fichier ressource, donc "langage" pour tous tes fichiers ressources. Et comme tes fichiers ressources contiennent des ressources de même nom, ça crée dans la même classe des propriétés de même nom, d'où l'erreur...

    En fait, pour les ressources localisées, le code généré ne sert à rien : c'est le designer.cs de la culture par défaut qui est utilisé dans tous les cas. Donc pour les versions localisées de ton fichier de ressources, il faut que tu supprimes l'outil personnalisé "ResXFileCodeGenerator" défini par VS (normalement ça supprime le .designer.cs, si ce n'est pas le cas supprime le manuellement)

Discussions similaires

  1. Peut on creer des routines avec SQL
    Par Jamal_71 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/01/2006, 10h37
  2. creer sa propre icone dans la toolbar
    Par hysah dans le forum wxPython
    Réponses: 1
    Dernier message: 15/01/2006, 20h15
  3. [Librairies]Creer son propre package
    Par Janitrix dans le forum Général Java
    Réponses: 5
    Dernier message: 17/12/2005, 22h18
  4. Créer ses propres Man
    Par byloute dans le forum Linux
    Réponses: 1
    Dernier message: 18/10/2005, 13h46
  5. Réponses: 2
    Dernier message: 14/06/2005, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo