Der User meines Esperantoprogrammes kann im Menü unter Anzeige die Sprache umschalten. Ähnlich wie bei PB unter "Einstellungen -Sprache".
Sieht cool aus, wenn alle Menüs usw. dann in Esperanto dastehen oder zurück auf Deutsch geschaltet werden können.
Woran ich noch knabbere ist, den Übersetze-Button umzubennen. Eine Art SetButtonText_ (gibts nicht). Hast du den passenden Befehl?
Code: Alles auswählen
;PB4
; ************* Variablen Deklaration *************
Global FontID1
FontID1 = LoadFont(1, "Courier New", 9) ; Font für die Darstellung
Gosub Beschriftungen_in_Deutsch
; Gosub Beschriftungen_in_Esperanto
; ************* Fensteraufbau *************
Enumeration
#window : #Menu
#menu1 : #menu2 : #menu3 : #menu11 : #menu12 : #menu13 : #menu14 : #menu15
#menu21 : #menu22 : #menu23
#menu51 : #menu52
#toolbar1 : #toolbar2 : #toolbar3 : #toolbar4 : #toolbar5 : #toolbar6
#combobox1 : #combobox2
#tile : #Splitter
#edit1 : #edit2 : #edit3 : #Editor_3
#Frame
#Button1 : #Button2 : #ButtonBoth : #Buttontrans
#inbtn_1 : #inbtn_2 : #inbtn_3 : #inbtn_4 : #inbtn_5 : #inbtn_6
#outbtn_1 : #outbtn_2 : #outbtn_3 : #outbtn_4 : #outbtn_5 : #outbtn_6
#TestButton
EndEnumeration
framebreite = 250
hwnd = OpenWindow(#window,0,0,800,600,fensterueberschrift$,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
SetWindowColor(0,RGB(100, 150, 100))
CreateGadgetList(hwnd)
CreateMenu(#window, hwnd)
MenuTitle(datei$)
MenuItem(#menu1,neu$) : DisableMenuItem(#window, #menu1,1)
MenuItem(#menu2,oeffnen$) : DisableMenuItem(#window, #menu2,1)
MenuItem(#menu3,speichern$) : DisableMenuItem(#window, #menu3,1)
MenuTitle(" ")
MenuTitle(eingabeformat$)
MenuItem(#menu11,automatisch$)
MenuItem(#menu12,"^c ^j ^g ^h ^s ^u") : DisableMenuItem(#window, #menu12,1)
MenuItem(#menu13,"cx jx gx hx sx ux") : DisableMenuItem(#window, #menu13,1)
MenuItem(#menu14,"ch jh gh hh sh uh") : DisableMenuItem(#window, #menu14,1)
MenuItem(#menu15,"c^ j^ g^ h^ s^ u^") : DisableMenuItem(#window, #menu15,1)
MenuTitle(ausgabeformat$)
MenuItem(#menu21,automatisch$)
MenuItem(#menu22,"^c ^j ^g ^h ^s ^u") : DisableMenuItem(#window, #menu22,1)
MenuItem(#menu23,"cx jx gx hx sx ux") : DisableMenuItem(#window, #menu23,1)
MenuTitle(" ")
MenuTitle(anzeige$)
MenuItem(#menu51,deutsch$)
MenuItem(#menu52,esperanto$)
CreateToolBar(#window, hwnd)
ToolBarStandardButton(#toolbar1,#PB_ToolBarIcon_New)
ToolBarStandardButton(#toolbar2,#PB_ToolBarIcon_Open)
ToolBarStandardButton(#toolbar3,#PB_ToolBarIcon_Save)
ToolBarStandardButton(#toolbar4,#PB_ToolBarIcon_Undo)
ToolBarStandardButton(#toolbar5,#PB_ToolBarIcon_Redo)
Frame3DGadget(#Frame,5,17,framebreite -10,595-MenuHeight(),"")
ButtonGadget(#Button1 ,15,220,25,18,"1")
ButtonGadget(#ButtonBoth,50,220,25,18,"1/2")
ButtonGadget(#Button2 ,80,220,25,18,"2")
EditorGadget(#edit1,0,0,0,0)
EditorGadget(#edit2,0,0,0,0, #PB_Window_Invisible )
EditorGadget(#edit3,0,0,0,0, #PB_Editor_ReadOnly)
SetGadgetFont(#edit1, FontID1)
SetGadgetFont(#edit2, FontID1)
SetGadgetFont(#edit3, FontID1)
SplitterGadget(#Splitter, framebreite, 32, WindowWidth(#Window)- framebreite - 10, WindowHeight(#Window)- 60,#edit1, #edit3)
AddGadgetItem(#edit1,0,"Esperanto-Textfield (1)")
AddGadgetItem(#edit2,0,"Esperanto-Ersatztext (2)")
AddGadgetItem(#edit3,0,"German-Textfield (3)")
breitex = 150
EditorGadget(#Editor_3, 20, 280, breitex, 260, #PB_Editor_ReadOnly)
SetGadgetFont(#Editor_3, FontID1)
ButtonGadget(#Buttontrans, 0, 150, 100, 20, uebersetzen$)
; ************* Fensterinitialisieren *************
wahl_anzeige$ = "Deutsch"
SetMenuItemState(#window,#menu11,1) ; Eingabeformat auf automatisch
SetMenuItemState(#window,#menu21,1) ; Ausgabeformat auf automatisch
SetMenuItemState(#window,#menu51,1) ; Anzeige auf Deutsch
; ************* Hauptprogramm *************
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Menu
Select EventMenu()
Case #menu51
If GetMenuItemState(#window,#menu51) = 0 ; kein Häkchen bei Deutsch
SetMenuItemState(#window,#menu51,1) ; Setze Häkchen bei Deutsch
SetMenuItemState(#window,#menu52,0) ; Entferne Häkchen bei Esperanto
Gosub Beschriftungen_in_Deutsch ; Beschriftungen nach Deutsch umschalten
Gosub neu_beschriften
EndIf
Case #menu52
If GetMenuItemState(#window,#menu52) = 0 ; kein Häkchen bei Esperanto
SetMenuItemState(#window,#menu52,1) ; Setze Häkchen bei Esperanto
SetMenuItemState(#window,#menu51,0) ; Entferne Häkchen bei Deutsch
Gosub Beschriftungen_in_Esperanto ; Beschriftungen nach Esperanto umschalten
Gosub neu_beschriften
EndIf
EndSelect
Case #PB_Event_SizeWindow
ResizeGadget(#Frame , #PB_Ignore, #PB_Ignore, #PB_Ignore, WindowHeight(#Window)-55)
ResizeGadget(#Splitter , #PB_Ignore, #PB_Ignore, WindowWidth(#Window)- framebreite - 10, WindowHeight(#Window) - 60)
EndSelect
ForEver
End
;+++++++++++++++
set1 = 0
set2 = 3
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_SizeWindow
ResizeGadget(#Frame , #PB_Ignore, #PB_Ignore, #PB_Ignore, WindowHeight(#Window)-55)
ResizeGadget(#Splitter , #PB_Ignore, #PB_Ignore, WindowWidth(#Window)- framebreite - 10, WindowHeight(#Window) - 60)
; ResizeGadget(#Button1 , WindowWidth(#Window)-90, #PB_Ignore, #PB_Ignore, #PB_Ignore)
; ResizeGadget(#Button2 , WindowWidth(#Window)-30, #PB_Ignore, #PB_Ignore, #PB_Ignore)
; ResizeGadget(#ButtonBoth , WindowWidth(#Window)-60, #PB_Ignore, #PB_Ignore, #PB_Ignore)
buttonline = 120 : If WindowHeight(#Window)/2 > 150 : buttonline = WindowHeight(#Window)/2 : EndIf
; ResizeGadget(#outbtn_1 , #PB_Ignore, buttonline+30, #PB_Ignore, #PB_Ignore)
; ResizeGadget(#outbtn_2 , #PB_Ignore, buttonline+50, #PB_Ignore, #PB_Ignore)
; ResizeGadget(#outbtn_3 , #PB_Ignore, buttonline+70, #PB_Ignore, #PB_Ignore)
Case #PB_Event_Gadget
Select EventGadget()
Case #Button1
SetGadgetState(#Splitter, GadgetHeight(#Splitter))
Case #Button2
SetGadgetState(#Splitter, 0)
Case #ButtonBoth
SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit2)
HideGadget(#edit3, #True)
HideGadget(#edit2, #False)
SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2)
MessageRequester("Anhalten", "", #PB_MessageRequester_Ok)
SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit3)
HideGadget(#edit2, #True)
HideGadget(#edit3, #False)
SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2)
EndSelect
EndSelect
Until event = #WM_CLOSE
; ************* Unterroutinen *************
; ************* Beschriftungen in Deutsch *************
Beschriftungen_in_Deutsch:
fensterueberschrift$ = "Esperantoübersetzer von Eckhard Stoll, Version 1.0"
esperanto$ = "Esperanto"
aussprache$ = "Aussprache"
deutsch$ = "Deutsch"
zweisprachig$ = "Zweisprachig"
datei$ = "Datei"
neu$ = "Neu"
oeffnen$ = "Öffnen"
speichern$ = "Speichern"
eingabeformat$ = "Eingabeformat"
automatisch$ = "automatisch"
ausgabeformat$ = "Ausgabeformat"
anzeige$ = "Anzeige"
uebersetzen$ = "Übersetzen"
Return
; ************* Beschriftungen in Esperanto *************
Beschriftungen_in_Esperanto:
fensterueberschrift$ = "Esperanto tradukilo de Eckhard Stoll, versio 1.0"
esperanto$ = "Esperanto"
aussprache$ = "Prononco"
deutsch$ = "Germanio"
zweisprachig$ = "Dulingva"
datei$ = "Dosiero"
neu$ = "Nova"
oeffnen$ = "Melfermu"
speichern$ = "Surdisku"
eingabeformat$ = "Enigatoro"
automatisch$ = "automatika"
ausgabeformat$ = "Eligatoro"
anzeige$ = "Anonco"
uebersetzen$ = "Traduktu"
Return
; ************* Neu beschriften *************
neu_beschriften:
SetMenuTitleText(#window, 0, datei$)
SetMenuItemText(#window, #menu1,neu$)
SetMenuItemText(#window, #menu2,oeffnen$)
SetMenuItemText(#window, #menu3,speichern$)
SetMenuTitleText(#window, 1, " ")
SetMenuTitleText(#window, 2, eingabeformat$)
SetMenuItemText(#window, #menu11,automatisch$)
SetMenuTitleText(#window, 3, ausgabeformat$)
SetMenuItemText(#window, #menu21,automatisch$)
SetMenuTitleText(#window, 4, " ")
SetMenuTitleText(#window, 5, anzeige$)
SetMenuItemText(#window, #menu51,deutsch$)
SetMenuItemText(#window, #menu52,esperanto$)
DrawMenuBar_(hwnd)
SetWindowText_(hwnd, fensterueberschrift$)
;SetButtonText_
Return