Sign in to follow this  
Followers 0
qwert

Location of language strings?

5 posts in this topic

In looking into the way AutoIt3Wrapper inserts the language strings into the exe, I haven't been able to determine the source of the blocks of language strings ... IOW, the value of $InpResFile in the following snippet from the wrapper script:

Case 6 ; RT_STRING
            Local $aLangs = IniReadSectionNames($InpResFile)
            If @error Then
                Write_RC_Console_Msg("Resource Update skipped: string file did not contain valid input", "", "+")
                Return
            EndIf
            ; loop each language section
            Local $aStrings, $aBlocks, $aBlock
            Local $iBlock, $iIdx, $iID, $sStr, $iBlockIdx
            Local $iElem, $sStruct, $oStruct
            For $i = 1 To $aLangs[0]
                ; aLangs[i] = current language
                $aStrings = IniReadSection($InpResFile, $aLangs[$i])

Would anyone happen to know its whereabouts?

Thanks for any help.

 

 

Share this post


Link to post
Share on other sites



As a clarification, these are the blocks I'm trying to locate:

post-29172-0-57089900-1428950655_thumb.p

Share this post


Link to post
Share on other sites

$InpResFile is a parameter for the function _Res_Update, so it depends on where it's being called from. Search through the script to find the places in it that _Res_Update is called and you'll find what the value of it is.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Thanks for responding.

Actually, I had done something like that back when I figured it would be an easy thing to determine.  But the first and simplest of the calls was of no help:

;

; Call UpdateResource DllCalls to update the requested resource with the provided RES or ICO file.
;
Func _Res_Update($rh, $InpResFile, $RType, $RName, $RLanguage = 1033)

Other calls of _Res_Update() are even less definitive.  All in all, it's a rather convoluted environment inside AutoItWrapper.

Share this post


Link to post
Share on other sites

I need to refine my request.

Can anyone tell me where the Au3 language files are located?

My goal is still to find the error messages, as I originally requested.  But another week of thinking about it and trying various searches hasn't turned up even a clue.  I've search properties files and configuration files in both Au3 and SciTE.  I'm now thinking they must be encoded in some way.

My refocus on the language files is a result of finding this code segment in AutoItWrapper.au3:

Case 6 ; RT_STRING
            Local $aLangs = IniReadSectionNames($InpResFile)
            If @error Then
                Write_RC_Console_Msg("Resource Update skipped: string file did not contain valid input", "", "+")
                Return
            EndIf
            ; loop each language section
            Local $aStrings, $aBlocks, $aBlock
            Local $iBlock, $iIdx, $iID, $sStr, $iBlockIdx
            Local $iElem, $sStruct, $oStruct
            For $i = 1 To $aLangs[0]
                ; aLangs[i] = current language
                $aStrings = IniReadSection($InpResFile, $aLangs[$i])
                If @error Then
                    Write_RC_Console_Msg("Resource Update skipped: language '" & $aLangs[$i] & "' is not valid", "", "+")
                    ContinueLoop
                EndIf
                ; reset block array
                Dim $aBlocks[1] = [0]

It refers to INI files for languages.  But I can't locate any such files.

For a seemingly simple thing, this has turned into an exasperating search.  Help will be appreciated.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0