Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

InputLanguage σε el-GR με vb 2005

Îåêßíçóå áðü ôï ìÝëïò sharizanis. Τελευταία δημοσίευση από το μέλος panagiotis_georgiadis στις 26-06-2009, 15:15. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-06-2009, 16:53 51926

    InputLanguage σε el-GR με vb 2005

    Πώς θ' αλλάξω την " InputLanguage" από en-US  σε el-GR μόνο σε επίπεδο "Aplication" χρησιμοποιόντας την "vb 2005 " (έτσι ώστε να φένεται και κάτω στο "task dar" )

      δίχως να χρισιμοποιήσω το πληκτρολόγιο;

    Ευχαριστώ προκαταβολικά!

  •  22-06-2009, 17:35 51927 σε απάντηση της 51926

    Απ: InputLanguage σε el-GR με vb 2005

    Έχεις δώσει ήδη την απάντηση μόνος σου, οπότε δεν είμαι σίγουρος τί ζητάς. Η γλώσσα αλλάζει από την κλάση InputLanguage, μέσω του CurrentInputLanguage property. Μπορείς να βρεις το κατάλληλο InputLanguage μέσω της InputLanguage.FromCulture δίνοντας το κατάλληλο CultureInfo, π.χ. CultureInfo.GetCultureInfo("el-GR"). Οπότε, ποιά είναι η ερώτηση? Όλα τα παραπάνω τα βρήκα απλά ακολουθώντας την ερώτηση σου. Ο κώδικας ο οποίος δοκίμασα είναι

            Dim culture As CultureInfo = CultureInfo.GetCultureInfo("el-GR")
            Dim language As InputLanguage = InputLanguage.FromCulture(culture)
            InputLanguage.CurrentInputLanguage = language

    Όσον αφορά το "Application", το λειτουργικό το ίδιο θυμάται για κάθε εφαρμογή σε ποιά γλώσσα είναι γυρισμένο το πληκτρολόγιο. Αν εκτελέσω τον παραπάνω κώδικα ενώ έχω ανοικτό π.χ. το Notepad, στην εφαρμογή μου θα γράφω ελληνικά ενώ στο Notepad θα συνεχίσω να γράφω αγγλικά.

    Τέλος, τί προσπαθείς να κάνεις και γιατί? Δεν ρωτάω τί κώδικα ή τί API προσπαθείς να καλέσεις, αλλά τί προσπαθείς να πετύχεις όπως θα το έβλεπε ο χρήστης?

    Μήπως προσπαθείς να αναγκάσεις τη γλώσσα του πληκτρολογίου να γίνει ελληνική για κάποια φόρμα ή πεδίο, ανεξαρτήτως του τί έχει επιλέξει ο χρήστης, για λόγους validation? Αν θέλεις να κάνεις validation σε ένα πεδίο, είναι προτιμότερο να βάλεις το κατάλληλο validation στο πεδίο που θέλεις παρά να αλλάξεις τη γλώσσα του πληκτρολογίου. Αν αλλάξεις τη γλώσσα θα πρέπει να θυμηθείς να την επιστρέψεις όπου την είχε ο χρήστης όταν πας σε άλλο πεδίο. Αυτό όμως μπορεί να μπλέξει το χρήστη ο οποίος τώρα βλέπει τη μία γλώσσα, τώρα την άλλη κλπ.

    Μην ξεχνάς ότι η ρύθμιση του πληκτρολογίου είναι κάτι το οποίο έχει επιλέξει ο ίδιος ο χρήστης. Οι χρήστες εκνευρίζονται ιδιαίτερα όταν μία εφαρμογή προσπαθεί να φερθεί "έξυπνα" και να αλλάξει τη συμπεριφορά την οποία έχει καθορίσει ο ίδιος ο χρήστης. Μπορεί μερικές φορές να μπερδεύονται επειδή π.χ. ξέχασαν το πληκτρολόγιο στα αγγλικά αντί για τα ελληνικά, αλλά αυτό διορθώνεται πολύ εύκολα. Αντίθετα, θα εκνευριστούν αρκετά αν η εφαρμογή αρνείται να δεχτεί την γλώσσα που επιλέγουν.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  22-06-2009, 19:25 51931 σε απάντηση της 51927

    Απ: InputLanguage σε el-GR με vb 2005

    Παναγιώτης Καναβός:

    Έχεις δώσει ήδη την απάντηση μόνος σου, οπότε δεν είμαι σίγουρος τί ζητάς. Η γλώσσα αλλάζει από την κλάση InputLanguage, μέσω του CurrentInputLanguage property. Μπορείς να βρεις το κατάλληλο InputLanguage μέσω της InputLanguage.FromCulture δίνοντας το κατάλληλο CultureInfo, π.χ. CultureInfo.GetCultureInfo("el-GR"). Οπότε, ποιά είναι η ερώτηση? Όλα τα παραπάνω τα βρήκα απλά ακολουθώντας την ερώτηση σου. Ο κώδικας ο οποίος δοκίμασα είναι

            Dim culture As CultureInfo = CultureInfo.GetCultureInfo("el-GR")
            Dim language As InputLanguage = InputLanguage.FromCulture(culture)
            InputLanguage.CurrentInputLanguage = language

    Όσον αφορά το "Application", το λειτουργικό το ίδιο θυμάται για κάθε εφαρμογή σε ποιά γλώσσα είναι γυρισμένο το πληκτρολόγιο. Αν εκτελέσω τον παραπάνω κώδικα ενώ έχω ανοικτό π.χ. το Notepad, στην εφαρμογή μου θα γράφω ελληνικά ενώ στο Notepad θα συνεχίσω να γράφω αγγλικά.

    Τέλος, τί προσπαθείς να κάνεις και γιατί? Δεν ρωτάω τί κώδικα ή τί API προσπαθείς να καλέσεις, αλλά τί προσπαθείς να πετύχεις όπως θα το έβλεπε ο χρήστης?

    Μήπως προσπαθείς να αναγκάσεις τη γλώσσα του πληκτρολογίου να γίνει ελληνική για κάποια φόρμα ή πεδίο, ανεξαρτήτως του τί έχει επιλέξει ο χρήστης, για λόγους validation? Αν θέλεις να κάνεις validation σε ένα πεδίο, είναι προτιμότερο να βάλεις το κατάλληλο validation στο πεδίο που θέλεις παρά να αλλάξεις τη γλώσσα του πληκτρολογίου. Αν αλλάξεις τη γλώσσα θα πρέπει να θυμηθείς να την επιστρέψεις όπου την είχε ο χρήστης όταν πας σε άλλο πεδίο. Αυτό όμως μπορεί να μπλέξει το χρήστη ο οποίος τώρα βλέπει τη μία γλώσσα, τώρα την άλλη κλπ.

    Μην ξεχνάς ότι η ρύθμιση του πληκτρολογίου είναι κάτι το οποίο έχει επιλέξει ο ίδιος ο χρήστης. Οι χρήστες εκνευρίζονται ιδιαίτερα όταν μία εφαρμογή προσπαθεί να φερθεί "έξυπνα" και να αλλάξει τη συμπεριφορά την οποία έχει καθορίσει ο ίδιος ο χρήστης. Μπορεί μερικές φορές να μπερδεύονται επειδή π.χ. ξέχασαν το πληκτρολόγιο στα αγγλικά αντί για τα ελληνικά, αλλά αυτό διορθώνεται πολύ εύκολα. Αντίθετα, θα εκνευριστούν αρκετά αν η εφαρμογή αρνείται να δεχτεί την γλώσσα που επιλέγουν.

    Φίλε παναγιώτη  αντιγράφοντας τον κωδικα σου

     Dim culture As Globalization.CultureInfo
            culture = CultureInfo.GetCultureInfo("el-GR")
            Dim language As InputLanguage = InputLanguage.FromCulture(culture)
            InputLanguage.CurrentInputLanguage = language

    πέρνω ένα σφάλμα  (name" Cultureinfo" is not declared )

    θέλω μια μικρή βοήθεια γ' αυτό !

    Δέν προσπαθώ να πετύχω κατί συνγκεκριμένα μ΄αυτό απλός επιδή δέν χρησημοποιώ την αγγλική γλωσσα στο "project" μου

    σκέφτικα να αποφύγω καποια πληκτρολόγηση κατα την εκκίνηση!!

  •  24-06-2009, 11:16 51969 σε απάντηση της 51931

    Απ: InputLanguage σε el-GR με vb 2005


    φίλε,

    αυτό το οποίο συμβαίνει είναι ότι απλά δεν έχεις κάνει Import στον κώδικα σου το κατάλληλο namespace το οποίο περιέχει το declaration της "CultureInfo" class και  "δίνει" στον compiler να καταλάβει τι είναι αυτό το "CultureInfo"

    Στην πρώτη γραμμή του .vb αρχείου σου

    βάλε αυτό

    Imports System.Globalization


    προτείνω να δεις και να κατανοήσεις το τι είναι , FRAMEWORK CLASS LIBRARY, Namespace, assembly

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  26-06-2009, 15:15 52019 σε απάντηση της 51926

    Απ: InputLanguage σε el-GR με vb 2005

    Σύμφωνα με αυτό το blog post, γίνεται και έτσι:
    Public Sub ChangeInputLanguage(ByVal InputLang As InputLanguage)
       If InputLanguage.InstalledInputLanguages.IndexOf(InputLang) = -1 Then
          Throw New ArgumentOutOfRangeException()
       End If
    InputLanguage.CurrentInputLanguage = InputLangEnd Sub

    Panagiotis Georgiadis
    HBM Netherlands B.V.
    www.twitter.com/HimWithCurls
    Δημοσίευση στην κατηγορία:
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems