Support forum of the software localization tool Sisulizer


Localization Tool for VB, Delphi, .NET, C#, VB.NET, XML, Online Help, HTML ... Home

Get in contact with the makers of Sisulizer.
Our forum is open for all questions around Sisulizer from customers and prospects.
Don't hesitate to register and ask. The Sisulizer team will answer ASAP.

Search     Help Home Sisulizer Website Download
Search by username
Not logged in - Login | Register 

 Moderated by: Renate.Reinartz, Markus.Kreisel, Jaakko.Salmenius, Ilkka.Salmenius
New Topic Reply Printer Friendly
SlMake usage - Usage - Three simple steps to localize - Technical Support (You need to be registered at the forum to write) - Localization Tool for VB, Delphi, .NET, C#, VB.NET, XML, Online Help, HTML ...
AuthorPost
 Posted: Tue May 22nd, 2007 08:18 pm
PM Quote Reply
Dan L
Member
 

Joined: Tue May 22nd, 2007
Location:  
Posts: 5
Status: 
Offline
Hi, could you please give me some guidance on using SlMake to create a package for translation at the end of an automated .Net build

Starting with the following in source control:
- Source code (C#)
- English resources (*.resx)
- Some/none foreign language resources (*.resx)
 
Apply a build process (using Nant) to:
 - build Application.exe (including set up of version numbers and strong naming)
 - build resources.dlls from existing foreign resx files - linked with correct version numbers and strong name key etc. using resgen and al.

I would like to optionally include another build step to produce packages to send for translation. I thought the process would be something like this:
 - create new Sisulizer project
 - "add" source Application.EXE   (or possibly resx files)
 - define languages (fr, de etc)
 - "import" existing translations from foreign resource.dll (if any)    (or possibly resx)
 - "exchange" to create package for each language

I've played a bit with SlMake but I'm not sure what each task does in detail
In particular
 - How to create a blank project in order to add sources?
 - If I call "add" with an EXE from a folder which has \fr \de subfolders do these foreign resources get imported automatically?
 - Or maybe I have to manually create the original project (add the source EXE and define languages of interest), in which case:
 - If I call "exchange" on an existing project, which of the steps above will be carried out  (will it automatically re-load the latest application.EXE and foreign resources?)
 
Thanks, DanL

Back To Top PM Quote Reply

 Posted: Wed May 23rd, 2007 10:52 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
I am working on your case. Please wait until tomorrow until I get documentation updated and samples tested.

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Wed May 23rd, 2007 12:03 pm
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
Hi,

You can make Sisulizer to sign satellite assembly files it creates. Download Sisulizer 1.5.5. If you create a new project using this new version it will automatically turn on signing. For older version you have to turn it on. Search for “signing” index in Sisuslizer’s help (1.5.5).

Sisulizer will automatically create the satellite assembly files then you build the project (Project | Build) or (slmake create ...). If you have added Visual Studio project file (.csproj or .vbproj) to Sisulizer project SL creates first localized .resx files, compiles them to .resources files and finally create the satellite assembly files.

When you create an exchange package for translator you do not have to create a new project. Just open existing project and choose File | Exchange or uses “slmake exchange ... “. This creates an exchange package (either .exe or .sle) that you sent you translator. Of course you can always just send the Sisulizer project file (.slp).

Normally Sisulizer imports existing translations only when you create a new project and there are existing localized files. You better create new projects using Sisulizer itself and not slmake. Anyway starting from 1.5.5 “slmake add ... “ will create the project if it does not exist. Also starting from 1.5.5 it imports existing translations when add task is performed.

Please wait few hours until I get 1.5.5 uploaded to your server. I will inform you when you can download it.

Best regards,
Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Wed May 23rd, 2007 02:25 pm
PM Quote Reply
Dan L
Member
 

Joined: Tue May 22nd, 2007
Location:  
Posts: 5
Status: 
Offline
Hi Jaakko

Thanks for your quick response - I'll try 1.5.5. when it is available.
Meanwhile, regarding the process in general:

I would like to continue to use resx files as the primary format for source control.  (It is what we are already doing; it efficient to store in our version control system and easy to do differencing between versions etc.; and we already have the necessary mechanisms in place to go from resx to compiled satellite dlls with our current build process.)

Is it possible to get resx files as output from a project after translation if that project was created from the EXE source rather than the source code?

Thanks,

Dan L

Back To Top PM Quote Reply

 Posted: Wed May 23rd, 2007 03:05 pm
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
No. If EXE source is used Sisulizer does not create .resx at all. EXE does not contain them but the compiled resource data (.resources). Sisulizer translates them and makes temporal .resources before linking the satellite assembly files and finally deletes the temporal .resources files.

If you want to keed the localized .resx file you have to use .csproj or .vsproj source.

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Wed May 23rd, 2007 07:22 pm
PM Quote Reply
Dan L
Member
 

Joined: Tue May 22nd, 2007
Location:  
Posts: 5
Status: 
Offline
Is it possible to output the temporal .resources files? (which could be converted to resx using resgen), thanks,  Dan L

[ oops forget that - I see above you say they are deleted .csproj it is then.]


Last edited on Wed May 23rd, 2007 07:28 pm by Dan L

Back To Top PM Quote Reply

 Posted: Thu May 24th, 2007 01:09 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
I implemented a new feature (1.5.5) where you can disable deletion of .resources files. By default SL deletes tehm but you can make SL to keep them by right clicking the .EXE on the project tree, choosing Properties... and unchecking Delete .resources ... check box.

The files will be written to the same file as the satellite assembly file. You can use ResGen.exe to convert them to .resx files.

Note! This feature does not exist in 1.5.4

Jaakko

Attachment: untitled.PNG (Downloaded 71 times)



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Thu May 24th, 2007 01:19 pm
PM Quote Reply
Markus.Kreisel
Administrator


Joined: Sat Apr 8th, 2006
Location: Bedburg, Germany
Posts: 832
Status: 
Offline
Hello,

1.5.5 can be downloaded now!

Updating is easy as can be: Simply load the newest version from http://www.sisulizer.com/downloads.shtml and freshen your current installation.

Best

Markus



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Thu May 24th, 2007 06:49 pm
PM Quote Reply
Dan L
Member
 

Joined: Tue May 22nd, 2007
Location:  
Posts: 5
Status: 
Offline
Hi,   that's great, many thanks!

The SlMake "add" command now works for me (creates a new SLP project including all four languages with existing resources.dlls in subfolders)
Building with "Delete .resources" unchecked includes  the *.resources in the output so I can get back to resx files.

DanL

PS during my experiment I noticed some other "quirks" :
- calling "SlMake exchange trans.exe proj.slp"  the package seems to include the installer but not the project (trans.exe is 7090 kB for any language).
- calling "SlMake exchange trans.sle proj.slp" works OK
- Exchange worked OK from the UI, except for another minor issue - I coud not select just one output language from the four languages I'd imported.
- I ran the package (EXE) made from manual exchange from UI on another PC, modified some text and "returned" the SLP.  Re-loading with full Sisulizer there was no "properties" item on the project tree's context menu for the EXE (for setting output options)


Back To Top PM Quote Reply

 Posted: Fri May 25th, 2007 06:57 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
Dan L wrote: - calling "SlMake exchange trans.exe proj.slp"  the package seems to include the installer but not the project (trans.exe is 7090 kB for any language).

Oops. You are right. The project is missing in the exchange setup package if it is made by SlMake. I fixed this to 1.5.6

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Fri May 25th, 2007 07:48 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
Dan L wrote: - Exchange worked OK from the UI, except for another minor issue - I coud not select just one output language from the four languages I'd imported.

When you run Exchange wizard click the language or languages(s) you want to include. See the screenshot.

Attachment: untitled.PNG (Downloaded 70 times)



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Fri May 25th, 2007 07:54 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
Dan L wrote: - I ran the package (EXE) made from manual exchange from UI on another PC, modified some text and "returned" the SLP.  Re-loading with full Sisulizer there was no "properties" item on the project tree's context menu for the EXE (for setting output options)

This is because exchanged project is in the translate only mode. In that node you can only translate it. You can change it back to normal node by choosing Project | Options and unchecking Project is in translate only mode check box.

Jaakko

Attachment: untitled1.PNG (Downloaded 69 times)



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Fri May 25th, 2007 01:00 pm
PM Quote Reply
Dan L
Member
 

Joined: Tue May 22nd, 2007
Location:  
Posts: 5
Status: 
Offline
Hi Jaakko,

Got it - thanks again for your help!   Dan L

Back To Top PM Quote Reply

 Posted: Fri Jan 4th, 2008 03:58 pm
PM Quote Reply
Sophie Rattier
Member
 

Joined: Wed Jan 2nd, 2008
Location:  
Posts: 4
Status: 
Offline
I also want to use SlMake at the end of an automated build.

My questions are:
1) In a *.bat, I write SlMake scan Lancelot_DotNet.slp >>Localization.log. Imagine the file Lancelot_DotNet does not exist, SlMake returns 1 but the error message is not logged in Localization.log. (Note that if I execute this line in a command prompt window, I can see the error message in the window.). How can I log the error in my log file?

NB: see my *.bat file bellow:

SlMake scan Lancelot_DotNet.slp >>Localization.log
IF %ERRORLEVEL% EQU 0 ECHO Project was scanned with Success ... >>Localization.log
IF %ERRORLEVEL% GEQ 1 ECHO Report Error when scanning project, error = %ERRORLEVEL% >>Localization.log

2) I try to use your option "-status:untranslated" for the "SlMake exchange" command, but it does not recognize it. This option does not exist?

3) The process we plan is the following:
We create the original file Lancelot_DotNet manually. Then, we have in our automated build a *.bat file working on that file, with steps using SlMake:
a) Scan: OK
b) Validate original: does not exist in SlMake command?
c) Exchange: OK
d) Import: OK
e) Validation translation: does not exist in SlMake command?
f) Build: does not exist?
g) Report: OK

--> It would be great to have the SlMake commands:
- "SlMake build”: generate all the satellite assemblies from the slp. I do not understand how people work without this option. Using Al.exe is not sufficient(?)
- “SlMake ValidateTranslation” and even “SlMake ValidateOriginal”.

What is your opinion towards these features?

Thank you for your help.

Back To Top PM Quote Reply

 Posted: Fri Jan 4th, 2008 04:39 pm
PM Quote Reply
Markus.Kreisel
Administrator


Joined: Sat Apr 8th, 2006
Location: Bedburg, Germany
Posts: 832
Status: 
Offline
Hello Sophie,

Sophie Rattier wrote:
I also want to use SlMake at the end of an automated build.

My questions are:
1) In a *.bat, I write SlMake scan Lancelot_DotNet.slp >>Localization.log. Imagine the file Lancelot_DotNet does not exist, SlMake returns 1 but the error message is not logged in Localization.log. (Note that if I execute this line in a command prompt window, I can see the error message in the window.). How can I log the error in my log file?

NB: see my *.bat file bellow:

SlMake scan Lancelot_DotNet.slp >>Localization.log
IF %ERRORLEVEL% EQU 0 ECHO Project was scanned with Success ... >>Localization.log
IF %ERRORLEVEL% GEQ 1 ECHO Report Error when scanning project, error = %ERRORLEVEL% >>Localization.log



this is because >> Localization.log captures stdout while the errors are returned on errout. The right dos syntax is SlMake scan Lancelot_DotNet.slp 2>>Localization.log




2) I try to use your option "-status:untranslated" for the "SlMake exchange" command, but it does not recognize it. This option does not exist?


You are right. It returns: Invalid -status option value: "untranslated".
This seems to be a bug. I have to check that with the developers.


3) The process we plan is the following:
We create the original file Lancelot_DotNet manually. Then, we have in our automated build a *.bat file working on that file, with steps using SlMake:
a) Scan: OK
b) Validate original: does not exist in SlMake command?
c) Exchange: OK
d) Import: OK
e) Validation translation: does not exist in SlMake command?
f) Build: does not exist?
g) Report: OK

--> It would be great to have the SlMake commands:
- "SlMake build”: generate all the satellite assemblies from the slp. I do not understand how people work without this option. Using Al.exe is not sufficient(?)


Perhaps you mean SLMake create? In SLMake the build process uses the token "create". I myself wondered about that. Perhaps SLMake should accept both tokens for build in a future release.


- “SlMake ValidateTranslation” and even “SlMake ValidateOriginal”.

What is your opinion towards these features?




Good idea. Please open a new thread under the section Wish list for software localization tool for that. Chances are good that we add that in the future.



Thank you for your help.


You are welcome.

Best

Markus



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Mon Jan 7th, 2008 12:14 pm
PM Quote Reply
Sophie Rattier
Member
 

Joined: Wed Jan 2nd, 2008
Location:  
Posts: 4
Status: 
Offline
Thanks for the answer.

Indeed, I mean SLMake create!

One questions more:
I have a problem with the import option.

- First I exchange my file:
SlMake exchange E:\Work\Sisulizer\ToBeLocalisedProjectFr.sle -lang:fr E:\Work\Sisulizer\ToBeLocalizedProject.slp: OK

- Then, I modify the exchanged file and do a modification in it. Then I save it: a file ToBeLocalisedProjectFr.slp is created: OK

- Finally, I want to import ToBeLocalisedProjectFr.slp in my original project:

SlMake import E:\Work\Sisulizer\ToBeLocalisedProjectFr.slp -type:net -lang:fr E:\Work\ Sisulizer\ToBeLocalizedProject.slp

The import is not done and I get the error OLE error 8013110EOLE. What’s wrong?
NB: the import works perfectly when done in the User Interface.

Back To Top PM Quote Reply

 Posted: Mon Jan 7th, 2008 12:50 pm
PM Quote Reply
Markus.Kreisel
Administrator


Joined: Sat Apr 8th, 2006
Location: Bedburg, Germany
Posts: 832
Status: 
Offline
Hi,

seems to be a bug while I wonder that you get an OLE error message.... We have to debug that. Please send

E:\Work\Sisulizer\ToBeLocalisedProjectFr.slp

and
 
E:\Work\ Sisulizer\ToBeLocalizedProject.slp

to support_(at)_sisulizer.fi and mention this topic in your mail. Our developers will sort that out.

Best

Markus




____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Thu Jan 10th, 2008 05:47 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
Hi Sophie,

The error was caused because SlMake tried to handle ToBeLocalisedProjectFr.slp as .NET assembly file (e.g. .exe or .dll). This was done because the command line contained -type:net parameter.

Importing works correctly if you remove -type:net

SlMake import ToBeLocalisedProjectFr.slp -type:net -lang:fr SisulizerToBeLocalizedProject.slp
->
SlMake import ToBeLocalisedProjectFr.slp -lang:fr SisulizerToBeLocalizedProject.slp

When the type parameter is not given SlMake tried to detect the format. It always can detect .slp right because it is XML. However if type is given SlMake does not even try to detect the file format and just handles the file as it would be the given format.

I added extra checking (1.6.18) in the case that if given and detected fiel formats do not match SlMake gives a warning.

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

 Posted: Fri Jan 11th, 2008 08:06 am
PM Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Tokyo, Japan
Posts: 1641
Status: 
Offline
Next build of SlMake (1.6.18) will have build command as synonym of create. In addition it will have validate command that you canuse to run validations.

Jaakko



____________________
http://www.sisulizer.com - Three simple steps to localize
Back To Top PM Quote Reply

Current time is 12:35 pm  
Localization Tool for VB, Delphi, .NET, C#, VB.NET, XML, Online Help, HTML ... > Technical Support (You need to be registered at the forum to write) > Usage - Three simple steps to localize > SlMake usage



WowUltra 1.11 Copyright © 2007 by Jim Hale - Based on WowBB Copyright © 2003-2006 Aycan Gulez

Sisulizer software localization tool - Three simple steps to localize