Page 3 of 4

Posted: Wed May 02, 2012 8:07 am
by bbennion
Another bug I found was that pasting two files leaves an extraneous character at the end of the product.properties file. It hangs MLS such that MLS does not process the login credentials of any user.
Below is the product.properties file after the batch script was been applied. Note the funky character at the end, which turns to a space after I posted the file. That space confuses MLS.
#Wed May 02 06:57:30 PDT 2012
Migrator=0
DBBackups=20
SUL=0
MXLS=153600
Country=
BDB=0
Version=3.4.3_20496[95771]
Socket=43411
Variant=
PFI=0
Product=MLS
units=445851
MNLS=76800
MV2=0
FinEncoding=Cp1252
DBBackup=20
MPRS=30
PAF=0
DDW=0
EDB=0
LOGDEL=1
Language=en

Posted: Wed May 02, 2012 12:13 pm
by russellhltn
I seem to recall that's an artifact of using the + in the copy command. I think you can work around it by using the /b switch in the copy command.

copy /b mls1.tmp+mls2.tmp product.properties > nul

Posted: Thu May 24, 2012 5:28 pm
by aetaber
A related problem: I was setting up a computer for one of our Spanish branches and while I was able to change the language parameter from en to es, de, etc and save it successfully in a Win7 environment, when we run MLS it still displayes in English no matter what. And yes, MLS was not running while we were changing the file parameter. Please advise.

Posted: Thu May 24, 2012 5:55 pm
by russellhltn
aetaber wrote:A related problem: I was setting up a computer for one of our Spanish branches and while I was able to change the language parameter from en to es, de, etc and save it successfully in a Win7 environment, when we run MLS it still displayes in English no matter what.
Where was the location of this file? I think it moves depending on XP or Win7. You might be editing a copy it doesn't look at.

Posted: Mon May 28, 2012 8:03 pm
by aetaber
I hate to ask - but why would there be more than one properties file? Is that a known "feature"?

Posted: Tue May 29, 2012 9:53 pm
by lajackson
aetaber wrote:I hate to ask - but why would there be more than one properties file? Is that a known "feature"?

XP and Win7 have different file system structures. MLS supports them both. I think rather than trying to figure out which operating system MLS is running on, it just parks some files in both places to become available for whichever operation system is running.

As Hook would say, well, nevermind. Not here. I think the programmers are doing the best they can under difficult circumstances.

Posted: Tue May 29, 2012 9:58 pm
by russellhltn
aetaber wrote:I hate to ask - but why would there be more than one properties file? Is that a known "feature"?

Not a "feature" that I'm aware of, but if the files where copied from an older computer, you might end up with a second set.

Once upon a time, the properties file was located under the C:\Program Files directory. But it was moved to make MLS compatible with Windows 7. I was thinking that under the right conditions, a copy could still be in the Program Files directory causing some confusion.

If you're making the recommended changes to the file and it's not causing the expect effect, then either you're not saving the changes, or MLS may be looking at a different file.

Remove space from batch file

Posted: Wed Jun 06, 2012 8:19 pm
by marcporter
bbennion wrote:Another bug I found was that pasting two files leaves an extraneous character at the end of the product.properties file. It hangs MLS such that MLS does not process the login credentials of any user.
Below is the product.properties file after the batch script was been applied. Note the funky character at the end, which turns to a space after I posted the file. That space confuses MLS.


I found that I just had to remove the space from the batch file "=%1>" then it copied correctly. Here is the modified batch file file to work with the current location of the product.properties file in windows 7

@echo off
if "%1"=="en" goto :doit
if "%1"=="es" goto :doit
echo Usage: mlslang en (to change to English)
echo Usage: mlslang es (to change to Spanish)
goto :end
:doit
c:
cd \ProgramData\LDS Church\MLS\data
findstr /V "Language=" product.properties > mls1.tmp
echo Language=%1> mls2.tmp
copy mls1.tmp+mls2.tmp product.properties > nul
echo MLS language changed to %1
:end

Posted: Tue Nov 20, 2012 12:45 pm
by celsohdz
How am i suppose to make it work?

1 create 2 files one mlslang_en and another mlslang_es
2 leave the attributes for each language as shown ex.

@echo off
if "%1"=="en" goto :doit
if "%1"=="es" goto :doit
echo Usage: mlslang en (to change to English)
goto :end
:doit
c:
cd \ProgramData\LDS Church\MLS\data
findstr /V "Language=" product.properties > mls1.tmp
echo Language=%1> mls2.tmp
copy mls1.tmp+mls2.tmp product.properties > nul
echo MLS language changed to %1
:end

(for english)

and

@echo off
if "%1"=="en" goto :doit
if "%1"=="es" goto :doit
echo Usage: mlslang es (to change to Spanish)
goto :end
:doit
c:
cd \ProgramData\LDS Church\MLS\data
findstr /V "Language=" product.properties > mls1.tmp
echo Language=%1> mls2.tmp
copy mls1.tmp+mls2.tmp product.properties > nul
echo MLS language changed to %1
:end

(for spanish)


Is this right? Because I cannot make it work.

Help please brethren.

Posted: Tue Nov 20, 2012 1:21 pm
by aebrown
celsohdz wrote:How am i suppose to make it work?

It looks like you are trying to follow the steps in this post. But those steps ask you to create a single file called mlslang.bat, and then you pass a parameter to it that is the two-letter language code. It looks like you copied the contents and simply changed the usage message to create two different files, instead of changing the actual code.

I still think the best approach is to make a single batch file, following the steps in the post I linked to.

Then you could create two different shortcuts, one of which runs "mlslang en" and the other runs "mlslang es". I don't see much point in creating two additional batch files, but if you want to do that, you would call one mlslang_en.bat which contains a single line "mlslang en" and the other is called mlslang_es.bat which contains a single line "mlslang es"