Du kannst so alle Strings übersetzen.inc hat geschrieben:PS:
das mit dem ToolTip übersetzen geht auch?
Code: Alles auswählen
GadgetToolTip(#Gadget, tr(Text$))
Du kannst so alle Strings übersetzen.inc hat geschrieben:PS:
das mit dem ToolTip übersetzen geht auch?
Code: Alles auswählen
GadgetToolTip(#Gadget, tr(Text$))
Tool Tip wurde nun auch übersetzt mit:Danilo hat geschrieben: Du kannst so alle Strings übersetzen.Code: Alles auswählen
GadgetToolTip(#Gadget, tr(Text$))
Code: Alles auswählen
GadgetToolTip(#Button_6, Language()\Translate("Open File"))
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
Weil das nur nerven würde.RSBasic hat geschrieben:[offtopic]Warum kann Fred/freak das nicht mal so machen, dass bei Nichtbenutzung von EnableExplicit automatisch eine Compiler-Warnung ausgegeben wird wie das mal bei CreateGadgetList() der Fall war? *hoff und träum in Ewigkeit*[/offtopic]
Wie gesagt, dann hätten sie es gleich als Standardmodus eingebaut, statt den User zu nerven es selbst ein zu schalten.RSBasic hat geschrieben:Eben, es soll auch nur nerven, damit Neulinge lernen, EnableExplicit selbstständig zu benutzen, um genau solche Fehler, die immer wieder aufgrund der Nichtbenutzung von EnableExplicit entstehen, zu vermeiden.
Es läuft ja, und darum habe ich keinen Grund gesehen nach Fehlern zu suchen. Der eingeschaltete Debugger meckert ja nicht rum.Kiffi hat geschrieben:@inc: Wenn Du Deinem Code noch ein EnableExplicit voranstellst, wirst Du zwei Fehler entdecken.
Grüße ... Kiffi
Ich möchte hier aber auch Danilo Recht gebenBeschreibung
Aktiviert (EnableExplicit) oder deaktiviert (DisableExplicit) den Explizit-Modus. Wenn aktiviert, werden alle nicht ausdrücklich mittels Define, Global, Protected oder Static deklarierten Variablen nicht akzeptiert und der Compiler wird eine Fehlermeldung ausgeben. Dies kann helfen, Schreibfehler bei der Verwendung von Variablen auszumerzen.