09-13-2022, 04:47 PM
Hi SMcNeill and all the others.
Would it be possible to have ALL the QB64PE messages in a single file and then referenced by numbers in the source code, then one message file per language such as:
This would allow to translate QB64PE in a vast majority of languages for a real worldwide adoption.
With the appropriate mechanism, this would also allow to dynamically change the user interface language as my devs team did in our glorious time for our product such as Turbo-Text or Remote Services Management (the first cross platform graphical remote control tool ever made long long time before all the TeamViewer and any competitive products).
I know it's a very "formal way" to code, and it's a big job to do but it's also a very easy habit to take for good developers.
Note: I use a very similar method in my QB64PE and InForm-pe installation script but all the different languages are integrated in the sole script file itself.
Now, if this effort is made in a future release, I'll be very happy to actively participate in the translations.
Same thing for the WiKi.
BTW, if this is to be done one day, this will be the excellent occasion to clean the code, but also mainly to document it. I've never ever seen a so poorly documented code in my 40+ years as software publisher. Obviously none of the devs ever worked for IBM or MS.
Looking forward for your returns.
Cheers.
Fifi
Would it be possible to have ALL the QB64PE messages in a single file and then referenced by numbers in the source code, then one message file per language such as:
Code: (Select All)
' File 01
' source.bas file
Arg$ = COMMAND$ ' the Arg$ parameter receives the message file name
$INCLUDE Arg$ ' the messages file is included in the code
_Title msg001$ ' msg001$ = "Hello"
Input msg002$ , (name$) ' msg002$ = "Please enter your name: "
' msg003$ = "Welcome to QB64PE 3.2.0 and its real time debugger"
' msg004$ = " :)"
If name$ = "" Then
name$ = msg005$ ' msg005$ = "my dear user."
End If
Print msg002$ + name$ + msg005$
' File 02
' US messages file
' msg-us.inc
msg001$ = "Hello"
msg002$ = "Please enter your name: "
msg003$ = "Welcome to QB64PE 3.2.0 and its real time debugger"
msg004$ = " :)".
msg005$ = "my dear user."
' File 03
' FR messages file
' msg-fr.inc
msg001$ = "Bonjour"
msg002$ = "Merci d'entrer votre nom : "
msg003$ = "Bienvenue dans QB64PE 3.2.0 et son debugger temps réel"
msg004$ = " :)".
msg005$ = "mon cher utilisateur."
.../...
' File XX
' IT messages file
' msg-it.inc
msg001$ = "Ciao"
msg002$ = "Per favore inserisci il tuo nome :
msg003$ = "Benvenuti in QB64PE v 3. e nel suo debugger in tempo reale"
msg004$ = " :)".
msg005$ = "mio caro utente."
This would allow to translate QB64PE in a vast majority of languages for a real worldwide adoption.
With the appropriate mechanism, this would also allow to dynamically change the user interface language as my devs team did in our glorious time for our product such as Turbo-Text or Remote Services Management (the first cross platform graphical remote control tool ever made long long time before all the TeamViewer and any competitive products).
I know it's a very "formal way" to code, and it's a big job to do but it's also a very easy habit to take for good developers.
Note: I use a very similar method in my QB64PE and InForm-pe installation script but all the different languages are integrated in the sole script file itself.
Now, if this effort is made in a future release, I'll be very happy to actively participate in the translations.
Same thing for the WiKi.
BTW, if this is to be done one day, this will be the excellent occasion to clean the code, but also mainly to document it. I've never ever seen a so poorly documented code in my 40+ years as software publisher. Obviously none of the devs ever worked for IBM or MS.
Looking forward for your returns.
Cheers.
Fifi
Before to send the arrow of truth, dip the head in a honey pot (Cheyenne saying).
Don't tell my Mom I'm on iMac with macOS, she thinks I work on PC with Windows.