[asp.NET] calendar control, eigen taal opgeven.

Pagina: 1
Acties:

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Hey allemaal,

Nu ik bezig ben met het asp.NET calendar control zie ik dat deze in het Engels weergegeven word. Na het zoeken op Google en GoT zie ik geen oplossing om deze in een andere taal te zetten. Ik las zelf ergens dat deze uit het systeem van de gebruiker gehaald werd.
Weet iemand hoe ik deze van taal kan veranderen?

Tevens vroeg ik me af hoe ik dagen kan disablen.
Ik heb inmiddels het .isWeekendDay ontdekt en ook het .dayNumberText. Echter geven deze twee niet de juiste dingen. Ik wil namelijk gebruiks de opties geven om bijvoorbeeld de dagen op te geven dat ze niet werken. Dat is natuurlijk niet altijd alleen het weekend maar vaak ook zondag en maandag.

We kan er even met me meedenken ;)

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 08-04 21:55
De oplossing om het in een andere taal weer te geven is er wel. Je moet het alleen zoeken in de "Culture"-hoek. Een voorbeeld om je webapplicatie te voorzien van een specifieke culture (Dus bv. Nederlandse datum en tijd)

Voeg dit toe, in je Global.asax:
C#:
1
2
3
4
protected void Application_BeginRequest(Object sender, EventArgs e) {
  System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("nl-NL");
  System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("nl-NL");
}

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Sybr_E-N schreef op zaterdag 18 februari 2006 @ 21:51:
De oplossing om het in een andere taal weer te geven is er wel. Je moet het alleen zoeken in de "Culture"-hoek. Een voorbeeld om je webapplicatie te voorzien van een specifieke culture (Dus bv. Nederlandse datum en tijd)

Voeg dit toe, in je Global.asax:
C#:
1
2
3
4
protected void Application_BeginRequest(Object sender, EventArgs e) {
  System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("nl-NL");
  System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("nl-NL");
}
Super dit werkt!, als ik het goed begrijp heb ik nu standaart de hele applicatie op NL staan ongeacht de cultuur van de gebruikende machine?

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Herstel, dit werkt niet helemaal.
Als ik het in mijn Global.asax zet werkt het alleen maar tijdens de eerste keer starten van de pagina.
Nu heb ik het zo gedaan;
code:
1
2
3
4
5
6
7
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'de cultuur op Nederlands zetten zodat we een nederlandse taal hebben
        System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("nl-NL")
        System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("nl-NL")

End Dub

Nu werkt het wel op alle pagina`s en krijg ik netjes ma di wo do vr za zo i.p.v. mo th we etc.
Is dit wel de beste manier om het zo te doen?

Ow en btw weet er ook nog iemand een antwoord op mijn 2e vraag?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:32

gorgi_19

Kruimeltjes zijn weer op :9

Waar zet je hem dan neet in je Global.Asax? Sowieso kan je ook de culture settings definieren in je web.config; heb je nergens last van.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 10-04 23:02
Ik vind het geen goed idee om de culture vast te gaan leggen in je applicatie.

Een engelstalige gebruiker wil een kalender zien die voor hem verstaanbaar is, een amerikaan ziet waarschijnlijk liever yyy-mm-dd, een belg ziet liever dd-mm-yyyy.

Wat je kan doen, is gebruik maken van de 'voorkeurstaal-instelling' die opgegeven is door de browser van de gebruiker.
code:
1
new CultureInfo(Request.UserLanguages[0]);

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:32

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op zondag 19 februari 2006 @ 10:41:
Ik vind het geen goed idee om de culture vast te gaan leggen in je applicatie.

Een engelstalige gebruiker wil een kalender zien die voor hem verstaanbaar is, een amerikaan ziet waarschijnlijk liever yyy-mm-dd, een belg ziet liever dd-mm-yyyy.

Wat je kan doen, is gebruik maken van de 'voorkeurstaal-instelling' die opgegeven is door de browser van de gebruiker.
code:
1
new CultureInfo(Request.UserLanguages[0]);
Waarbij je applicatie alleen crashed als je geen userlanguages hebt opgegeven :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 10-04 23:02
gorgi_19 schreef op zondag 19 februari 2006 @ 10:47:
[...]

Waarbij je applicatie alleen crashed als je geen userlanguages hebt opgegeven :P
Daar moet je natuurlijk idd eerst even op checken . ;)

[ Voor 11% gewijzigd door whoami op 19-02-2006 10:50 ]

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:32

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op zondag 19 februari 2006 @ 10:49:
[...]


Daar moet je natuurlijk idd eerst even op checken . ;)
En dan nog is het mogelijk om ongeldige cultures op je geven in bv. je Internet Explorer :P Maar imho ook een beetje onlogisch, waarom geef je niet een vast aantal keuzes en laat je een gebruiker hieruit gaan kiezen? Ik kan me niet voorstellen dat een applicatie in alle talen van de wereld localized is, maar slechts in een beperkt aantal. Request.UserLanguages zal dan ook in een groot aantal gevallen nutteloos zijn :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Het is de bedoeling dat het systeem wel meerdere talen gaat ondersteunen.
Maar nu gebruik ik een Engelse versie van WinXP 64 en is dus het calendar control ook Engels terwijl de rest van de website Nederlands is. Nu ik de culture opgeef in de applicatie kan ik deze op Nederlands zetten voor iedereen als de tekst ook Nederlands is, kiest de gebruiker dan voor de Engelse versie van de website dan zet voor die gebruiker ook de culture op Engels.
Ik denk dat dit nooit voor elke gebruiker apart te doen zou zijn als ik dit opgeef in m`n Global.asax of in m`n web.config.
gorgi_19 schreef op zondag 19 februari 2006 @ 10:36:
Waar zet je hem dan neer in je Global.Asax? Sowieso kan je ook de culture settings definieren in je web.config; heb je nergens last van.
code:
1
2
3
4
5
6
7
8
    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs on application startup
        
        'de cultuur op Nederlands zetten zodat we een nederlandse taal hebben
        System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("nl-NL")
        System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("nl-NL")
        
    End Sub

Nu kan ik natuurlijk wel m`n "cultuur-selectie" maken in mijn Global.asax, maar dan moet iemand me even vertellen waar ik het neer moet zetten zodat het op alle pagina`s werkt.
Voordeel is dan wel dat ik niet op elke pagina de culture hoef in te stellen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:32

gorgi_19

Kruimeltjes zijn weer op :9

Dan zou je hem in Begin_Request neer moeten zetten; Application_Start is nutteloos. Maar zoals ik al eerder zei: web.config heeft hier elementen voor.

[ Voor 29% gewijzigd door gorgi_19 op 19-02-2006 12:18 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Als je toch niet de keuze wilt geven tussen meerdere culturen, waarom definieer je de culture dan niet in de web.config?

XML:
1
2
3
<system.web>
    <globalization culture="nl-NL" />
</system.web>


of anders:
XML:
1
2
3
<system.web>
    <globalization enableClientBasedCulture="true" />
</system.web>

[ Voor 56% gewijzigd door Not Pingu op 19-02-2006 13:01 ]

Certified smart block developer op de agile darkchain stack. PM voor info.


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
gorgi_19 schreef op zondag 19 februari 2006 @ 12:17:
Dan zou je hem in Begin_Request neer moeten zetten; Application_Start is nutteloos. Maar zoals ik al eerder zei: web.config heeft hier elementen voor.
En hoe ga ik hem dan per gebruiker laten veranderen als ze tussen Engels en Nederlands wisselen (dat zijn namelijk de opties die ik ze voorlopig wel geven).

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
code:
1
2
3
4
5
6
7
    Sub Begin_Request(ByVal sender As Object, ByVal e As EventArgs)
      
        'de cultuur op Nederlands zetten zodat we een nederlandse taal hebben
        System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("nl-NL")
        System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("nl-NL")
        
    End Sub

doet het dus ook niet... sorry dat ik zo`n noob ben :D

  • Dennis
  • Registratie: Februari 2001
  • Nu online
Application_BeginRequest natuurlijk! Zie hierboven! Eerst lezen, dan doen!

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Dennis schreef op zondag 19 februari 2006 @ 12:52:
Application_BeginRequest natuurlijk! Zie hierboven! Eerst lezen, dan doen!
ok dit werkt! THX, en ik had inderdaad zelf even wat beter kunnen kijken ;)
Pagina: 1