Multilanguage System [Version 2.2]

    • Release

    Es gibt 36 Antworten in diesem Thema. Der letzte Beitrag () ist von Fibonacci.

      @Counter Bug:
      Wenn du zB "Hallo %var Welt" hast, kannst du es nicht einfach hinter dran hängen ;).

      Die Umsetzung der dll finde ich zwar gut gelungen, aber man könnte sich so etwas ziemlich schnell selbst programmieren, wozu also eine dll benutzen?
      Also im Moment ist das noch wirklich nichts grosses. INI kann man ja noch über P/Invoke ganz einfach auslesen:

      VB.NET-Quellcode

      1. <Runtime.InteropServices.DllImport("kernel32.dll", SetLastError:=True)> _
      2. Private Shared Function GetPrivateProfileString(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As Text.StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
      3. End Function
      Ich weiss ja, dass das nichts "Grosses" ist. Ich möchte was Eigenes machen, darum werde ich auch nicht auf INI oder XMl elc.. zurückgreifen. Es ist mir schon klar, dass man das schnell selbstprogrammieren kann.

      Auserdem ist es eine ganz normale Klasse und keine DLL.
      "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
      Paul Thurrott
      aber ne dll is eigendlich auch nur ne klasse. (einfach eine kompilierte klasse...)

      darf ich fragen, wie du dein eigenes system aufbauen willst?
      denn das jetzige is ja noch nicht so gut...
      :P Mfg Aligator :P
      *** Version 1.3 ***
      Changes Siehe 1. Post

      @Aligator: Was findest du denn nicht so gut daran. Sagt es mir doch damit ich das System verbessern kann. :D
      "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
      Paul Thurrott
      bis vor kurzem waren zeilenumbrüche ja nich möglich...

      aber ansonnsten is es schon ganz gut und ich finds gut, dass du en eigenes system machen willst. musst halt nur noch optimieren (was du ja tust wie ich sehe...).
      :P Mfg Aligator :P
      ***Version 2.0***

      • Standardsprache hinzugefügt (1. Zeile = Standardsprache... Mehr Infos siehe Beispiele)
      • Sprachenauswähl-Dialog hinzugefügt (Siehe oben)
      • Funktion hinzugefügt:
      • Function getSavedLang(Optional ByVal sFile As String = "") As String
      • Function getLangs(ByVal sFile As String) As List(Of String)
      • setFile hat nun noch einen Parameter. Wenn man den letzten Parameter (Boolean) auf True setzt, liesst er die gespeicherte Sprache autmatisch ein, und man muss nicht mit setLang arbeiten.
      • Code verbessert
      "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
      Paul Thurrott
      Echt klasse die Klasse, muss man ja mal sagen.
      Einen Fehler hab' ich aber für dich: Wenn der Sprachenauswahldialog das 2+ mal geöffnet wird, dann wird die Liste ergänzt anstatt neu geschrieben. Ausserdem erscheinen dann mehrere Buttons.
      Ich hätte eine Idee, da es nur eine .dll ist und diese Config-Datei oder was auch immer ist, dauert das erstellen von Tastatur ziemlich lange. Wieso machst du den nicht einen Language-File Creator und lieferst ihn mit als Hife.
      Dort kann man z.B Sprachen:
      Label: Deutsch | English
      Textbox&Textbox: Hallo | Hello
      Textbox&Textbox: Kuh oder Maus? | Cow or mouse?

      Irgendwie so und dann hier unten rechts im Programm (+) das ist ein Button womit man 2 neue Textboxen hinzufügen kann. Ist kompliziert und wahrscheinlich schwer zu verstehen, war einfach nur eine Idee.

      Mfg
      *** Version 2.1 ***
      Changes Siehe Changelog

      Fibonacci schrieb:

      Einen Fehler hab' ich aber für dich: Wenn der Sprachenauswahldialog das 2+ mal geöffnet wird, dann wird die Liste ergänzt anstatt neu geschrieben. Ausserdem erscheinen dann mehrere Buttons.
      Danke dir :) Habe den Fehler gefixxt. Siehe Neue Version...

      domipoppe schrieb:

      Wieso machst du den nicht einen Language-File Creator und lieferst ihn mit als Hife.
      Wenn ich mal Zeit&Lust habe :) Danke für den Vorschlag :thumbsup: .
      "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
      Paul Thurrott
      Mh, so geht's auch...
      Ich hatte einfach das ganze Fenster gecleart (form.Controls.Clear) und die Combobox ebenso. Damit diese sich auch nicht in der Länge ändern habe ich einfach das Fenster im Designer nachgebastelt und die festen Werte für Position und Größe rausgesucht. Ausserdem würde ich den Sprachenauswahldialog noch am Bildschirm zentrieren (.StartPosition = FormStartPosition.CenterScreen). Eine letzte Sache hab' ich auch noch, ist aber nur ein Wörtchen als Code: Ändere bei .Size den Wert mal auf New Size(...) anstatt New Point...
      Ich hoffe du kannst mit dem Feedback was anfangen und deine Klasse weiter verbessern. :)
      Ein Importsystem wäre noch cool. Man hat quasi eine weitere Textdatei mit einer oder mehreren Sprachen, die man einzeln oder alle gleichzeitig zur Hauptdatei hinzufügen kann. Cool wäre auch, wenn man sich als Autor einer Sprache eintragen könnte und der Eintrag im Sprachauswahldialog erscheint.