Jump to content

Help! Regional Language Detection Problem


Recommended Posts

Hi,

I'm trying to build a script for a silent installation of muvee autoProducer 5. This software came in 16 languages, the language are automatically detected and suite installed.

I've 3 machines configured as French regional language. On 2 of them the above software is installed in French version, the third in English.

Usually, I use the bellow script to correct language install

$Lang = RegRead("HKEY_CURRENT_USER\Control Panel\International", "sLanguage")
If $Lang = "FRA" Then
RunWait("my_software.exe")

This time it doesn't works although my registry language parameters here bellow are French and... Same in the 3 machines!!!:

[HKEY_CURRENT_USER\Control Panel\International]
"iCountry"="33"
"iCurrDigits"="2"
"iCurrency"="3"
"iDate"="1"
"iDigits"="2"
"iLZero"="1"
"iMeasure"="0"
"iNegCurr"="8"
"iTime"="1"
"iTLZero"="1"
"Locale"="0000040C"
"s1159"=""
"s2359"=""
"sCountry"="France"
"sCurrency"=""
"sDate"="/"
"sDecimal"=","
"sLanguage"="FRA"
"sList"=";"
"sLongDate"="dddd d MMMM yyyy"
"sShortDate"="dd/MM/yyyy"
"sThousand"=" "
"sTime"=":"
"sTimeFormat"="HH:mm:ss"
"iTimePrefix"="0"
"sMonDecimalSep"=","
"sMonThousandSep"=" "
"iNegNumber"="1"
"sNativeDigits"="0123456789"
"NumShape"="1"
"iCalendarType"="1"
"iFirstDayOfWeek"="0"
"iFirstWeekOfYear"="0"
"sGrouping"="3;0"
"sMonGrouping"="3;0"
"sPositiveSign"=""
"sNegativeSign"="-"

[HKEY_CURRENT_USER\Control Panel\International\Geo]
"Nation"="84"

Is there somewhere else in the registry to check???

otherwise

What/where to check???

Regards

coucou

Link to comment
Share on other sites

Straight out of the helpfile.

MsgBox(0, "Your OS Language:", _Language())

Func _Language()
Select
    Case StringInStr("0413,0813", @OSLang)
        Return "Dutch"

    Case StringInStr("0409,0809,0c09,1009,1409,1809,1c09,2009,_
                    2409,2809,2c09,3009,3409", @OSLang)
        Return "English"

    Case StringInStr("040c,080c,0c0c,100c,140c,180c", @OSLang)
        Return "French"

    Case StringInStr("0407,0807,0c07,1007,1407", @OSLang)
        Return "German"

    Case StringInStr("0410,0810", @OSLang)
        Return "Italian"

    Case StringInStr("0414,0814", @OSLang)
        Return "Norwegian"

    Case StringInStr("0415", @OSLang)
        Return "Polish"

    Case StringInStr("0416,0816", @OSLang)
        Return "Portuguese"

    Case StringInStr("040a,080a,0c0a,100a,140a,180a,1c0a,200a,_
                    240a,280a,2c0a,300a,340a,380a,3c0a,400a,_
                    440a,480a,4c0a,500a", @OSLang)
        Return "Spanish"

    Case StringInStr("041d,081d", @OSLang)
        Return "Swedish"

    Case Else
        Return "Other (can determine with @OSLang directly"

    EndSelect
EndFunc
Link to comment
Share on other sites

Hi,

works fine for me. Thanks MHz. Just thought writing it myself, but copy paste is also okay. :)

So long,

Mega

Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Link to comment
Share on other sites

TNX for the reply.

Yr language detection script should works, unfortunately, i think it doesn't help me much.

In fact, independtly of yr or my language detection script, even when i launch a normal (direct) installation on my third machine, it does'nt detect the French language and install it in English, when the install is in French on the other 2 machines.

Regards

coucou

Link to comment
Share on other sites

  • Moderators

TNX for the reply.

Yr language detection script should works, unfortunately, i think it doesn't help me much.

In fact, independtly of yr or my language detection script, even when i launch a normal (direct) installation on my third machine, it does'nt detect the French language and install it in English, when the install is in French on the other 2 machines.

Regards

coucou

Then change the installation procedure your doing to go and select the language?

Edit:

Or rather than guessing why it's happening (I'm sure few if any use the program in question). Contact the vendor themselves and ask why this situation would occur.

Edited by SmOke_N

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

In fact, independtly of yr or my language detection script, even when i launch a normal (direct) installation on my third machine, it does'nt detect the French language and install it in English, when the install is in French on the other 2 machines.

So the problem is with the muvee autoProducer 5 installer?

I think I encountered a similar problem with Java (I think). My brother's English WinXP is configured to also allow Japanese input. Even though English is the default, the installer insisted on Japanese dialogs. My brother could read them, but I couldn't if I needed to provide tech support :)

Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig!
Link to comment
Share on other sites

@SmOke_N:

Then change the installation procedure your doing to go and select the language?

No access to select language. IT IS ATTOMATIC DETECTION!!!

@CyberSlug:

So the problem is with the muvee autoProducer 5 installer

I don NOT this so!

I RE-test it again on the 2 other machines, still installing in French.

Regards

coucou

Link to comment
Share on other sites

So the problem is with the muvee autoProducer 5 installer?

I think I encountered a similar problem with Java (I think). My brother's English WinXP is configured to also allow Japanese input. Even though English is the default, the installer insisted on Japanese dialogs. My brother could read them, but I couldn't if I needed to provide tech support :)

Another workaround is getting a file language for KERNEL32.DLL for true OS language.

Link to comment
Share on other sites

@Joon: You're right.

The kernel32.dll file in the "French" machine is french language rev 5.1.2600.1560

The kernel32.dll file in the "English" machine is US language rev 5.1.2600.2687

Then... what can i do with this???

Can I register the "French" kernel32.dll file in the "English" machine although the rev file is not the same???

What risk i incur??

Regards

coucou

Link to comment
Share on other sites

Can I register the "French" kernel32.dll file in the "English" machine although the rev file is not the same???

What risk i incur??

No! don't do that. What I meant was to get true OS lang regardless regional settings.

Link to comment
Share on other sites

I skim through the Microsoft AppLocale Utility, as far i understand the "AppLocale detects the language of the legacy application and simulates a corresponding system locale for code-page to/from Unicode conversions."

But my registry has alredy local language set to French (see above)

"Locale"="0000040C"

coucou

Link to comment
Share on other sites

I skim through the Microsoft AppLocale Utility, as far i understand the "AppLocale detects the language of the legacy application and simulates a corresponding system locale for code-page to/from Unicode conversions."

But my registry has alredy local language set to French (see above)

"Locale"="0000040C"

coucou

AppLocale will force any language locale you specify at runtime.
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...