habe ich jetzt das Programm soweit hinbekommen , dass ich es per klick und ohne ini in eine andere
Sprache übersetzen kann. Es war trotz nur ein paar Zeilen Text, doch eine ganze Menge Schreibkram. Aber fein, nun gehts.
Beste Grüße und Vielen Dank nochmal an alle die mir geholfen haben.
Code: Alles auswählen
;**************************************************************************
;* *
;* *
;* on the fly, die Sprache in einem Programm per "Butten Klick ändern *
;* *
;* Beispiel Code: made by inc. 28/11/2013 *
;* *
;* mit: Map Translate.s() *
;* AddMapElement(Language() *
;* FindMapElement(Language() *
;* *
;* erstellt mit PureBasic: Version 4.61 *
;* *
;* *
;**************************************************************************
;übersetzen
Structure Language
Map Translate.s()
EndStructure
Global NewMap Language.Language()
Enumeration
#Window_0 ; Fenstertitel: how to set another Language
#ListIcon_0
#Frame3D_0 ; Big 3D Frame Items
#Button_0 ; Add Button
#Button_1 ; Delete Button
#Frame3D_1 ; Haupt Frame3dD Bezeichnung: Manage
#String_3
#Text_4 ; Frame3dD Bezeichnung Name:
#String_4
#Text_5 ; Frame3dD Bezeichnung Filename:
#String_6
#Text_7; ; TextGadget "Kommandozeile"
#Button_6 ; FileRequest Button [...]
#Button_7 ; ABOUT BUTTON
#Button_8 ; Advanced >> Button (Pulldown Menu)
#Button_9 ; Exit Button
#English ; map Language
#Deutsch ; map Language
#Spanish ; map Language
EndEnumeration
Define.l Event, EventWindow, EventGadget, EventType, EventMenu, ExamineScreenModes, SetGadgetText
;///////////////////////////////////////////////////////////////////////////////////////////////
;///////////////////////// hier Sprachübersetzung Globals ////////////////////////////////
;///////////////////////////////////////////////////////////////////////////////////////////////
;- Deutsch
; Definieren
;{// Änder Sprache zu DEUTSCH wenn im pulldown menu auf DEUTSCH geklickt wird
AddMapElement(Language(), "Deutsch")
With Language()
\Translate("Open with application...") = "Mit Programm öffnen..." ;Line 01
\Translate("Title") = "Bezeichnung" ;Line 02 ; Column Spalte 1 links
\Translate("Items") = "Dateien" ;Line 03
\Translate("Add") = "Hinzufügen" ;Line 04
\Translate("Delete") = "Löschen" ;Line 05
\Translate("Manage") = "Bearbeiten" ;Line 06
\Translate("Filename") = "Dateiname" ;Line 07 ; ändert "Filename" in "Dateiname" mit Anführungsszeich
\Translate("Title:") = "Bezeichnung:" ;Line 08
\Translate("Filename:") = "Datei:" ;Line 09
\Translate("Command line:") = "Kommandozeile:" ;Line 10
\Translate("About") = "Über" ;Line 11
\Translate("Advanced >>") = "Erweitert >>" ;Line 12
\Translate("Exit") = "Beenden" ;Line 13
\Translate("Register/unregister shell extension") = "Kontextmenü-Eintrag registrieren/löschen";Line 14
\Translate("Language") = "Sprache" ;Line 15
\Translate("Filename") = "Dateipfad" ;Line 16 ; Column Spalte 2 mitte
\Translate("Command line") = "Kommandozeile" ;Line 17
\Translate("Open File") = "Datei auswählen" ;Line 18
\Translate("ExE Files") = "ExE Dateien" ;Line 19
\Translate("All Files") = "Alle Dateien" ;Line 20
\Translate("Open File") = "Öffne Datei" ;Line 21 ; Tool Tip Tag
EndWith
;}
;- Spanisch
; Definieren
;{// Änder Sprache zu SPANISCH wenn im pulldown menu auf SPANISCH geklickt wird
AddMapElement(Language(), "Spanish")
With Language()
\Translate("Open with application...") = "Abrir con la aplicación...";Line 01
\Translate("Title") = "Nombre" ;Line 02 ; Column Spalte 1 links
\Translate("Items") = "Elementos" ;Line 03
\Translate("Add") = "Añadir" ;Line 04
\Translate("Delete") = "Borrar" ;Line 05
\Translate("Manage") = "Administrar" ;Line 06
\Translate("Filename") = "Nombre de Archivo" ;Line 07 ; ändert "Filename" in "Dateiname" mit Anführungsszeich
\Translate("Title:") = "Nombre:" ;Line 08
\Translate("Filename:") = "Nombre de Archivo:" ;Line 09
\Translate("Command line:") = "Línea de Comandos:" ;Line 10
\Translate("About") = "Acerca de" ;Line 11
\Translate("Advanced >>") = "Avanzado >>" ;Line 12
\Translate("Exit") = "Salir" ;Line 13
\Translate("Register/unregister shell extension") = "Registrar/cancelar extensión shell";Line 14
\Translate("Language") = "Idioma" ;Line 15
\Translate("Filename") = "Nombre de archivo" ;Line 16 ; Column Spalte 2 mitte
\Translate("Command line") = "Línea de comandos" ;Line 17
\Translate("Open File") = "Abrir Archivo" ;Line 18
\Translate("ExE Files") = "Archivos ExE" ;Line 19
\Translate("All Files") = "Todos los archivos" ;Line 20
\Translate("Open File") = "Abrir Archivo" ;Line 21 ; Tool Tip Tag
EndWith
;}
;- Englisch
; Definieren
;{// HAUPTSPRACHE ENGLISCH
AddMapElement(Language(), "English") ;Hauptsprache
With Language()
\Translate("Open with application...") = "Open with application..." ;Line 01
\Translate("Title") = "Title" ;Line 02 ; Column Spalte 1 links
\Translate("Items") = "Items" ;Line 03
\Translate("Add") = "Add" ;Line 04
\Translate("Delete") = "Delete" ;Line 05
\Translate("Manage") = "Manage" ;Line 06
\Translate("Filename") = "Filename" ;Line 07 ; ändert "Filename" in "Dateiname" mit Anführungsszeich
\Translate("Title:") = "Title:" ;Line 08
\Translate("Filename:") = "Filename:" ;Line 09
\Translate("Command line:") = "Command line:" ;Line 10
\Translate("About") = "About" ;Line 11
\Translate("Advanced >>") = "Advanced >>" ;Line 12
\Translate("Exit") = "Exit" ;Line 13
\Translate("Register/unregister shell extension") = "Register/unregister shell extension";Line 14
\Translate("Language") = "Language" ;Line 15
\Translate("Filename") = "Filename" ;Line 16 ; Column Spalte 2 mitte
\Translate("Command line") = "Command line" ;Line 17
\Translate("Open File") = "Open File" ;Line 18
\Translate("ExE Files") = "ExE Files" ;Line 19
\Translate("All Files") = "All Files" ;Line 20
\Translate("Open File") = "Open File" ;Line 21 ; Tool Tip Tag
EndWith
;}
;///////////////////////////////////////////////////////////////////////////////////////////////
;///////////////////////// ende Sprachübersetzung Globals ///////////////////////////////////
;///////////////////////////////////////////////////////////////////////////////////////////////
; Hauptsprache ENGLISCH
;- ButtonGadgets
OpenWindow(0, 359, 116, 366, 507, "how to set another Language", #PB_Window_SystemMenu | #PB_Window_ScreenCentered )
ListIconGadget(#ListIcon_0, 20, 29, 328, 199, "Title", 84, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
Frame3DGadget(#Frame3D_0, 11, 11, 346, 255, "Items")
ButtonGadget(#Button_0, 98, 235, 66, 22, "Add")
ButtonGadget(#Button_1, 197, 235, 66, 22, "Delete")
Frame3DGadget(#Frame3D_1, 12, 272, 345, 199, "Manage")
StringGadget(#String_3, 21, 426, 326, 23, Chr(34) + "Filename" + Chr(34)) ; Chr(34) + "bezeichnung" + Chr(34) setzt einen Namen in Anführungsszeichen
TextGadget(#Text_4, 23, 301, 65, 18, "Title:")
StringGadget(#String_4, 21, 319, 326, 23, "") ; erstes EingabeFeld
TextGadget(#Text_5, 23, 354, 100, 14, "Filename:")
StringGadget(#String_6, 21, 371, 288, 23, "") ; zweites Eingabefeld wo die datei ausgewählt wird
TextGadget(#Text_7, 23, 405, 100, 18, "Command line:")
ButtonGadget(#Button_6, 314, 371, 33, 22, "...")
ButtonGadget(#Button_7, 45, 479, 74, 22, "About")
ButtonGadget(#Button_8, 147, 479, 78, 22, "Advanced >>")
ButtonGadget(#Button_9, 250, 479, 74, 22, "Exit")
;///////////
; ADVANCED BUTTON MENU
If CreatePopupMenu(0) ; Hier pop-up menu beginnen
MenuItem(1, "Register\ unregister Shell Extension") ; Alle möglichen Kommandos für Menu kreation
MenuBar()
MenuItem(#Deutsch,"Deutsch")
MenuItem(#Spanish,"Español")
MenuItem(#English,"English")
EndIf
;SetGadgetAttribute(#ListIcon_0, #PB_ListIcon_List, #True)
AddGadgetColumn(#ListIcon_0, 1, "Filename", 120) ; übersetzen in deutsch und spanisch
AddGadgetColumn(#ListIcon_0, 2, "Command line", 120) ; übersetzen in deutsch und spanisch
GadgetToolTip(#Button_6, ("Open File")) ; Tool Tip Tag über dem Button [...]
Repeat
Event = WaitWindowEvent()
;///////////
; Button_6 zum Öffnen einer Datei um sie in das Tool einzubinden
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
If EventGadget = #Button_6 ; <---- Datei öffnen, Fenster Arbeitsplatz anzeigen öffnen
OpenFileRequester(Language()\Translate("Open File"), "", Language()\Translate("ExE Files") + " (*.exe)|*.exe|" + Language()\Translate("All Files") + " (*.*)|*.*", 0) ; Dialoge ebenfalls übersetzt
EndIf
EndSelect
;///////////
;// MENU BEFEHLE FÜR DAS POPUP MENU
Select EventMenu()
Case #Button_8
DisplayPopupMenu(0, WindowID(0))
EndSelect
;- übersetzung Deutsch
;///////////
;{ TRANSLATION hier freischalten für DEUTSCH
;// weiter im PopUp Menu auf Button Deutsch soll hier Funktion Translate freigeschalten werden
Select Event
Case #PB_Event_Menu
Select EventMenu()
Case #Deutsch
FindMapElement(Language(), "Deutsch")
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Title"),0) ;Line 01 ; ändert im Column die Bezeichnung der Spalte "Name" in"Dateiname"
SetGadgetText(#Frame3D_0, Language()\Translate("Items")) ;Line 02 ; Frame3dD Bezeichnung Item
SetGadgetText(#Button_0, Language()\Translate("Add")) ;Line 03
SetGadgetText(#Button_1, Language()\Translate("Delete")) ;Line 04
SetGadgetText(#Frame3D_1, Language()\Translate("Manage")) ;Line 05
SetGadgetText(#Text_4, Language()\Translate("Title:")) ;Line 06 ; Frame3dD Bezeichnung Name:
SetGadgetText(#Text_5, Language()\Translate("Filename:")) ;Line 07 ; Frame3dD Bezeichnung Filename:
SetGadgetText(#Text_7, Language()\Translate("Command line:")) ;Line 08 ; Frame3dD Bezeichnung Command line:
SetGadgetText(#Button_7, Language()\Translate("About")) ;Line 09
SetGadgetText(#Button_8, Language()\Translate("Advanced >>")) ;Line 10
SetGadgetText(#Button_9, Language()\Translate("Exit")) ;Line 11
SetMenuItemText(MenuItem,1, Language()\Translate("Register/unregister shell extension"));Line 12
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Filename"),1) ;Line 13
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Command line"),2) ;Line 14
GadgetToolTip(#Button_6, Language()\Translate("Open File")) ;Line 15 ; Tool Tip Tag
EndSelect
EndSelect
;}
;- übersetzung Spanisch
;///////////
;{ TRANSLATION hier freischalten für SPANISCH
;// weiter im PopUp Menu auf Button ESPANOL soll hier Funktion Translate freigeschalten werden
Select Event
Case #PB_Event_Menu
Select EventMenu()
Case #Spanish
FindMapElement(Language(), "Spanish")
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Title"),0) ;Line 01 ; ändert im Column die Bezeichnung der Spalte "Name" in"Dateiname"
SetGadgetText(#Frame3D_0, Language()\Translate("Items")) ;Line 02 ; Frame3dD Bezeichnung Item
SetGadgetText(#Button_0, Language()\Translate("Add")) ;Line 03
SetGadgetText(#Button_1, Language()\Translate("Delete")) ;Line 04
SetGadgetText(#Frame3D_1, Language()\Translate("Manage")) ;Line 05
SetGadgetText(#Text_4, Language()\Translate("Title:")) ;Line 06 ; Frame3dD Bezeichnung Name:
SetGadgetText(#Text_5, Language()\Translate("Filename:")) ;Line 07 ; Frame3dD Bezeichnung Filename:
SetGadgetText(#Text_7, Language()\Translate("Command line:")) ;Line 08 ; Frame3dD Bezeichnung Command line:
SetGadgetText(#Button_7, Language()\Translate("About")) ;Line 09
SetGadgetText(#Button_8, Language()\Translate("Advanced >>")) ;Line 10
SetGadgetText(#Button_9, Language()\Translate("Exit")) ;Line 11
SetMenuItemText(MenuItem,1, Language()\Translate("Register/unregister shell extension"));Line 12
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Filename"),1) ;Line 13
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Command line"),2) ;Line 14
GadgetToolTip(#Button_6, Language()\Translate("Open File")) ;Line 15 ; Tool Tip Tag
EndSelect
EndSelect
;}
;- übersetzung Englisch
;///////////
;{ TRANSLATION hier freischalten für ENGLISCH
;// weiter im PopUp Menu auf Button ESPANOL soll hier Funktion Translate freigeschalten werden
Select Event
Case #PB_Event_Menu
Select EventMenu()
Case #English
FindMapElement(Language(), "English")
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Title"),0) ;Line 01 ; ändert im Column die Bezeichnung der Spalte "Name" in"Dateiname"
SetGadgetText(#Frame3D_0, Language()\Translate("Items")) ;Line 02 ; Frame3dD Bezeichnung Item
SetGadgetText(#Button_0, Language()\Translate("Add")) ;Line 03
SetGadgetText(#Button_1, Language()\Translate("Delete")) ;Line 04
SetGadgetText(#Frame3D_1, Language()\Translate("Manage")) ;Line 05
SetGadgetText(#Text_4, Language()\Translate("Title:")) ;Line 06 ; Frame3dD Bezeichnung Name:
SetGadgetText(#Text_5, Language()\Translate("Filename:")) ;Line 07 ; Frame3dD Bezeichnung Filename:
SetGadgetText(#Text_7, Language()\Translate("Command line:")) ;Line 08 ; Frame3dD Bezeichnung Command line:
SetGadgetText(#Button_7, Language()\Translate("About")) ;Line 09
SetGadgetText(#Button_8, Language()\Translate("Advanced >>")) ;Line 10
SetGadgetText(#Button_9, Language()\Translate("Exit")) ;Line 11
SetMenuItemText(MenuItem,1, Language()\Translate("Register/unregister shell extension"));Line 12
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Filename"),1) ;Line 13
SetGadgetItemText(#ListIcon_0, -1, Language()\Translate("Command line"),2) ;Line 14
GadgetToolTip(#Button_6, Language()\Translate("Open File")) ;Line 15 ; Tool Tip Tag
EndSelect
EndSelect
;}
;//////////////////////
;-EXIT BUTTON
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
If EventGadget = #Button_9 ; <---- "Exit" ---> Programm Terminieren und schließen
CloseWindow(Window_0) ; <--- Funktion: "Schließe Fenster
Break
EndIf
EndSelect
;//////////////////////
;-Hauptfenster Exit
Select Event
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = Window_0
CloseWindow(Window_0)
Break
EndIf
EndSelect
ForEver