Support forum of the software localization tool Sisulizer


.NET, Delphi, ... - Sisulizer Localization Tool Support 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 Page:  First Page Previous Page  1  2   
New Topic Reply Printer Friendly
Detect ISM format - Wish list for software localization tool - Technical Support (You need to be registered at the forum to write) - .NET, Delphi, ... - Sisulizer Localization Tool Support
AuthorPost
 Posted: Sat Feb 28th, 2009 08:11 am
PM Private Upload Quote Reply
Janusz Grzybek
Super Moderator


Joined: Fri Dec 1st, 2006
Location: Zabrze, Poland
Posts: 1461
Status: 
Offline
Hello James,
 
Thank you for email. Current version of Sisulizer use XML parser for ISM files. XML parser use tags for specify localizable items, while in ISM format, some <td> tag occurrences should be translated, other <td> tag occurrences shouldn’t be translated. It looks like for specifying of localizable items for ISM format we should to take into consideration sequence of <td> tags, and it needs lot of changes in parsing of ISM files, and for this reason I can’t promise quick implementation of your request. Anyway, I’ll be to continue my tests and I’ll forward results to our developers.
 
Best regards,
Janusz



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

 Posted: Wed Mar 4th, 2009 10:15 pm
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2178
Status: 
Offline
Hi James,

I have a sample sent by you. It contains the following rows:

<row>
<td>SETUPEXE.F7FC1C4B_F6DF_48BB_8AF3_F55791BA1806</td>
<td>AdminMoveFiles.F7FC1C4B_F6DF_48BB_8AF3_F55791BA1806</td>
<td>SourceDir</td>
<td>TARGETDIR</td>
<td>setup.exe</td>
<td>setup.exe</td>
<td>0</td>
</row>

<row>
<td>ActionText</td>
<td>Action</td>
<td>N</td>
<td/>
<td/>
<td/>
<td/>
<td>Text</td>
<td/>
<td>Name of action to be described.</td>
</row>

<row>
<td>ID_STRING1</td>
<td>1033</td>
<td>Sample_File</td>
<td>0</td>
<td/>
<td>421375530</td>
</row>


They do not seem to have a similar pattern. First of all the amount of td differns and also the data that is in each td element. Some data seems to be id/name. Some data seems to be a locale id (e.g. 1033). The point it that it is very difficult to difure out what is data that need to be localized and what is context and what is comment.

Are there any specification about ISM format?

Jaakko



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

 Posted: Thu Mar 12th, 2009 05:47 pm
PM Private Upload Quote Reply
jlsymantec
Member
 

Joined: Fri Sep 26th, 2008
Location:  
Posts: 50
Status: 
Offline
hi, sorry for the late respond.

ISM or Installshield puts all of the translatable strings in the following XML format (if any strings are not within the table name, ISString, they are consider as hard coded):


ISString
ISLanguage_
Value
Encoded
Comment
TimeStamp
COMPANY_NAME1033Symantec Corporation0-1667643253
IDS_ACTIONTEXT_AllocatingRegistry1033Allocating registry space0-2087162399
IDS_ACTIONTEXT_AppCommandLine1033Application: [1], Command line: [2]0-2087162399
IDS_ACTIONTEXT_AppId1033AppId: [1]{{, AppType: [2]}}0-2087162399
IDS_ACTIONTEXT_AppIdAppTypeRSN1033AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}0-2087162399
IDS_ACTIONTEXT_Application1033Application: [1]0-2087162399
IDS_ACTIONTEXT_BindingExes1033Binding executables0-2087162399
IDS_ACTIONTEXT_ClassId1033Class ID: [1]0-2087162399
IDS_ACTIONTEXT_ClsID1033Class ID: [1]0-2087162399
IDS_ACTIONTEXT_ComponentIDQualifier1033Component ID: [1], Qualifier: [2]0-2087162399
IDS_ACTIONTEXT_ComponentIdQualifier21033Component ID: [1], Qualifier: [2]0-2087162399
IDS_ACTIONTEXT_ComputingSpace1033Computing space requirements0-2087162399
IDS_ACTIONTEXT_ComputingSpace21033Computing space requirements0-2087162399
IDS_ACTIONTEXT_ComputingSpace31033Computing space requirements0-2087162399
IDS_ACTIONTEXT_ContentTypeExtension1033MIME Content Type: [1], Extension: [2]0-2087162399
IDS_ACTIONTEXT_ContentTypeExtension21033MIME Content Type: [1], Extension: [2]0-2087162399
IDS_ACTIONTEXT_CopyingNetworkFiles1033Copying files to the network0-2087162399
IDS_ACTIONTEXT_CopyingNewFiles1033Copying new files0-2087162399
IDS_ACTIONTEXT_CreatingDuplicate1033Creating duplicate files0-2087162399
IDS_ACTIONTEXT_CreatingFolders1033Creating folders0-2087162399
IDS_ACTIONTEXT_CreatingIISRoots1033Creating IIS Virtual Roots...0-2087162399
IDS_ACTIONTEXT_CreatingShortcuts1033Creating shortcuts0-2087162399
IDS_ACTIONTEXT_DeletingServices1033Deleting services0-2087162399
IDS_ACTIONTEXT_EnvironmentStrings1033Updating environment strings0-2087162399
IDS_ACTIONTEXT_EvaluateLaunchConditions1033Evaluating launch conditions0-2087162399
IDS_ACTIONTEXT_Extension1033Extension: [1]0-2087162399
IDS_ACTIONTEXT_Extension21033Extension: [1]0-2087162399
IDS_ACTIONTEXT_Feature1033Feature: [1]0-2087162399
IDS_ACTIONTEXT_FeatureColon1033Feature: [1]0-2087162399
IDS_ACTIONTEXT_File1033File: [1]0-2087162399
IDS_ACTIONTEXT_File21033File: [1]0-2087162399
IDS_ACTIONTEXT_FileDependencies1033File: [1], Dependencies: [2]0-2087162399
IDS_ACTIONTEXT_FileDir1033File: [1], Directory: [9]0-2087162399
IDS_ACTIONTEXT_FileDir21033File: [1], Directory: [9]0-20
...
...

I guess based on exclude list

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 12th, 2009 05:52 pm
PM Private Upload Quote Reply
jlsymantec
Member
 

Joined: Fri Sep 26th, 2008
Location:  
Posts: 50
Status: 
Offline
i did the excluded list you mentioned, seems like it might be the best workaround; however, it will take a long time to exclude all of the XML tables except the ISString table.

thanks

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 12th, 2009 05:53 pm
PM Private Upload Quote Reply
jlsymantec
Member
 

Joined: Fri Sep 26th, 2008
Location:  
Posts: 50
Status: 
Offline
the row above you mentioned, they are not within ISString table, so they should be discarded.

Back To Top PM Private Upload Quote Reply

 Posted: Fri Mar 13th, 2009 02:15 am
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2178
Status: 
Offline
Can you send me a sample file that uses the standard ISString format. If there is a format specification it would be useful too.

I have sample_file.ism that you sent but it contain many different <row> formats. It is impossible to me to parse it.

Or do you mean that only table that is named "ISString" should be localized and all other tables should be ignored.

 <table name="ISString">
  <col key="yes" def="s255">ISString</col>
  <col key="yes" def="s50">ISLanguage_</col>
  <col def="S0">Value</col>
  <col def="I2">Encoded</col>
  <col def="S0">Comment</col>
  <col def="I4">TimeStamp</col>
  <row><td>ID_STRING1</td><td>1033</td><td>Sample_File</td><td>0</td><td/><td>421375530</td></row>
  <row><td>ID_STRING10</td><td>1033</td><td>Shutting down ccApp</td><td>0</td><td/><td>-1558499634</td></row>
  <row><td>ID_STRING11</td><td>1033</td><td>Setting compressed folder data</td><td>0</td><td/><td>-929254000</td></row>
  <row><td>ID_STRING12</td><td>1033</td><td>Compressing folders</td><td>0</td><td/><td>-929272400</td></row>
  <row><td>ID_STRING2</td><td>1033</td><td>Testing only1</td><td>0</td><td/><td>421389866</td></row>
  <row><td>ID_STRING3</td><td>1033</td><td>Copying external files for administrative installation</td><td>0</td><td/><td>-2053446959</td></row>
  <row><td>ID_STRING4</td><td>1033</td><td>Reading data for external file copy</td><td>0</td><td/><td>-2053473551</td></row>
  <row><td>ID_STRING5</td><td>1033</td><td>Cleaning up temporary files</td><td>0</td><td/><td>-1180973587</td></row>
  <row><td>ID_STRING6</td><td>1033</td><td>Testing only2</td><td>0</td><td/><td>421387818</td></row>
  <row><td>ID_STRING7</td><td>1033</td><td>Copying temporary files</td><td>0</td><td/><td>-1180969459</td></row>
  <row><td>ID_STRING8</td><td>1033</td><td>Creating temporary directories</td><td>0</td><td/><td>-1180985811</td></row>
  <row><td>ID_STRING9</td><td>1033</td><td>0</td><td>0</td><td/><td>-1709459382</td></row>
 </table>


<row>
<td>ID_STRING1</td>
<td>1033</td>
<td>Sample_File</td>
<td>0</td>
<td/>
<td>421375530</td>
</row>


1. td is context
2. td is locale id
3. td is the value to be translated
4. td ?
5. td ?
6. td ?

Am I right? Can you eplain what are 4, 5 and 6?

Jaakko



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

 Posted: Fri Mar 13th, 2009 12:50 pm
PM Private Upload Quote Reply
Jaakko.Salmenius
Administrator


Joined: Sat Apr 8th, 2006
Location: Espoo, Finland
Posts: 2178
Status: 
Offline
Forget my previous email. I got your point and I found the email your sent. I start implementing.

Jaakko



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

 Posted: Wed Mar 18th, 2009 05:53 pm
PM Private Upload Quote Reply
jlsymantec
Member
 

Joined: Fri Sep 26th, 2008
Location:  
Posts: 50
Status: 
Offline
display mode : 1600x1200, 16 bit
process id : $618
allocated memory : 61.95 MB
executable : Sisulizer.exe
exec. date/time : 2009-03-16 17:39
version : 2.0.281.0
compiled with : Delphi 7
contact name : jlsymantec
madExcept version : 3.0h
callstack crc : $68166b9f, $132bc615, $132bc615
exception number : 3
exception class : EAccessViolation
exception message : Access violation at address 005C30BE in module 'Sisulizer.exe'. Read of address 00000030.

main thread ($368):
005c30be +0006 Sisulizer.exe LaLanguage TLaLanguage.GetCode
00aaecd6 +0062 Sisulizer.exe Datas TTextData.DoJustify
00ac797a +002e Sisulizer.exe Project TData.Justify
00748aab +0053 Sisulizer.exe DataListBox TDataListItem.Justify
00748e67 +000f Sisulizer.exe DataListBox TDataListBox.GetItemHeights
0071d026 +002a Sisulizer.exe JuListControl TJuCustomListControl.GetYPageDown
0057c7a4 +0040 Sisulizer.exe JuControls TJuScrollControl.UpdateYPos
0057cbb7 +002b Sisulizer.exe JuControls TJuScrollControl.Resize
00748f23 +0007 Sisulizer.exe DataListBox TDataListBox.Resize
004c86d5 +0029 Sisulizer.exe Controls TWinControl.WMSize
004c4bcc +0188 Sisulizer.exe Controls TControl.WndProc
004c7c2b +0157 Sisulizer.exe Controls TWinControl.WndProc
00475c4c +0014 Sisulizer.exe Classes StdWndProc
004c78a8 +002c Sisulizer.exe Controls TWinControl.MainWndProc
00475c4c +0014 Sisulizer.exe Classes StdWndProc
7d61ea0b +002b ntdll.dll KiUserCallbackDispatcher
7d62a14c +4aab ntdll.dll bsearch
004c7199 +0121 Sisulizer.exe Controls TWinControl.CreateWnd
0057beb1 +0005 Sisulizer.exe JuControls TJuCustomControl.CreateWnd
0057c4cd +0005 Sisulizer.exe JuControls TJuScrollControl.CreateWnd
004c7576 +0016 Sisulizer.exe Controls TWinControl.CreateHandle
004ca198 +001c Sisulizer.exe Controls TWinControl.HandleNeeded
004ca1a5 +0005 Sisulizer.exe Controls TWinControl.GetHandle
004ca271 +0009 Sisulizer.exe Controls TWinControl.GetClientRect
004c319c +000c Sisulizer.exe Controls TControl.GetClientWidth
0071d47d +0005 Sisulizer.exe JuListControl TJuListControl.GetItemWidth
00748a72 +001a Sisulizer.exe DataListBox TDataListItem.Justify
00748e67 +000f Sisulizer.exe DataListBox TDataListBox.GetItemHeights
0071d026 +002a Sisulizer.exe JuListControl TJuCustomListControl.GetYPageDown
0057c7a4 +0040 Sisulizer.exe JuControls TJuScrollControl.UpdateYPos
0071ccf1 +0051 Sisulizer.exe JuListControl TJuCustomListControl.SetItemIndex
00748d22 +004a Sisulizer.exe DataListBox TDataListBox.SetList
00adc414 +007c Sisulizer.exe Project TProject.EditExcludedOriginals
009cf9c2 +0006 Sisulizer.exe MainFrm TMainForm.ProjectExcludedOriginalsMenuClick
004d649a +00a6 Sisulizer.exe Menus TMenuItem.Click
004d7737 +0013 Sisulizer.exe Menus TMenu.DispatchCommand
004e096f +001f Sisulizer.exe Forms TCustomForm.WMCommand
004c4bcc +0188 Sisulizer.exe Controls TControl.WndProc
004c7c2b +0157 Sisulizer.exe Controls TWinControl.WndProc
004de9cd +0421 Sisulizer.exe Forms TCustomForm.WndProc
00504b45 +0085 Sisulizer.exe TntControls TWinControlTrap.WindowProc
004c78a8 +002c Sisulizer.exe Controls TWinControl.MainWndProc
00475c4c +0014 Sisulizer.exe Classes StdWndProc
7d94af0a +0016 user32.dll CallWindowProcW
005047a8 +0048 Sisulizer.exe TntControls TWinControlTrap.Win32Proc
00475c4c +0014 Sisulizer.exe Classes StdWndProc
7d94ab81 +000a user32.dll DispatchMessageA
004e4e6f +0083 Sisulizer.exe Forms TApplication.ProcessMessage
004e4ea6 +000a Sisulizer.exe Forms TApplication.HandleMessage
004e50d6 +0096 Sisulizer.exe Forms TApplication.Run
00cd4733 +003b Sisulizer.exe Sisulizer initialization

thread $5d4 (TDummyThread):
00734020 +f8 Sisulizer.exe GIFImage initialization

thread $860:
7d4e2866 +00 kernel32.dll WaitForMultipleObjectsEx
7d94d293 +00 user32.dll MsgWaitForMultipleObjectsEx
7d94d322 +1a user32.dll MsgWaitForMultipleObjects
0044d2a5 +0d Sisulizer.exe madExcept CallThreadProcSafe
0044d31d +45 Sisulizer.exe madExcept ThreadExceptFrame
>> created by main thread ($368) at:
4dd695ef +00 gdiplus.dll

thread $a84:
7d5066ae +23 kernel32.dll GetQueuedCompletionStatus
0044d2a5 +0d Sisulizer.exe madExcept CallThreadProcSafe
0044d31d +45 Sisulizer.exe madExcept ThreadExceptFrame
>> created by main thread ($368) at:
7da460d4 +00 RPCRT4.dll

error details:
Reproduciable step:
Load ISM file into the sisulizer.
click original string, right click and "Exclude" string
then click "Project" -> "Exclude Original"
then it crashed.

Last edited on Wed Mar 18th, 2009 06:00 pm by jlsymantec

Back To Top PM Private Upload Quote Reply

 Posted: Wed Mar 18th, 2009 05:57 pm
PM Private Upload Quote Reply
jlsymantec
Member
 

Joined: Fri Sep 26th, 2008
Location:  
Posts: 50
Status: 
Offline
Hi, Sorry for the late reply.  I guess i don't receive email when any of you reply my post forum.  that is weird.


------------------------------------ From Jaakko.Salmenius ------------------------------
<table name="ISString">
  <col key="yes" def="s255">ISString</col>
  <col key="yes" def="s50">ISLanguage_</col>
  <col def="S0">Value</col>
  <col def="I2">Encoded</col>
  <col def="S0">Comment</col>
  <col def="I4">TimeStamp</col>
  <row><td>ID_STRING1</td><td>1033</td><td>Sample_File</td><td>0</td><td/><td>421375530</td></row>
  <row><td>ID_STRING10</td><td>1033</td><td>Shutting down ccApp</td><td>0</td><td/><td>-1558499634</td></row>
  <row><td>ID_STRING11</td><td>1033</td><td>Setting compressed folder data</td><td>0</td><td/><td>-929254000</td></row>
  <row><td>ID_STRING12</td><td>1033</td><td>Compressing folders</td><td>0</td><td/><td>-929272400</td></row>
  <row><td>ID_STRING2</td><td>1033</td><td>Testing only1</td><td>0</td><td/><td>421389866</td></row>
  <row><td>ID_STRING3</td><td>1033</td><td>Copying external files for administrative installation</td><td>0</td><td/><td>-2053446959</td></row>
  <row><td>ID_STRING4</td><td>1033</td><td>Reading data for external file copy</td><td>0</td><td/><td>-2053473551</td></row>
  <row><td>ID_STRING5</td><td>1033</td><td>Cleaning up temporary files</td><td>0</td><td/><td>-1180973587</td></row>
  <row><td>ID_STRING6</td><td>1033</td><td>Testing only2</td><td>0</td><td/><td>421387818</td></row>
  <row><td>ID_STRING7</td><td>1033</td><td>Copying temporary files</td><td>0</td><td/><td>-1180969459</td></row>
  <row><td>ID_STRING8</td><td>1033</td><td>Creating temporary directories</td><td>0</td><td/><td>-1180985811</td></row>
  <row><td>ID_STRING9</td><td>1033</td><td>0</td><td>0</td><td/><td>-1709459382</td></row>
 </table>


<row>
<td>ID_STRING1</td>
<td>1033</td>
<td>Sample_File</td>
<td>0</td>
<td/>
<td>421375530</td>
</row>


1. td is context
2. td is locale id
3. td is the value to be translated
4. td ?
5. td ?
6. td ?

------------------------------------------------------------------

4 is encoding value, usually for Japanese is 1041, but this can be ignored or "Do not translate list", but it should be carrying over when building a new Pseudo localized ISM file.
5 comment can be ignore as well.  It will not display during the installation
6 time stamp can also be ignored.

thanks!

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 19th, 2009 07:18 am
PM Private Upload Quote Reply
Janusz Grzybek
Super Moderator


Joined: Fri Dec 1st, 2006
Location: Zabrze, Poland
Posts: 1461
Status: 
Offline
Hello James,

jlsymantec wrote:

error details:
Reproduciable step:
Load ISM file into the sisulizer.
click original string, right click and "Exclude" string
then click "Project" -> "Exclude Original"
then it crashed.

Thank you for bug report. I've reproduced issue. I'll forward it to our R&D.

Best regards,
Janusz



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

Current time is 04:02 pm Page:  First Page Previous Page  1  2     
.NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Wish list for software localization tool > Detect ISM format



WowUltra modified by Sisulizer Copyright © 2007-09 by Jim Hale - Based on WowBB Copyright © 2003-2006 Aycan Gulez

Sisulizer software localization tool - Three simple steps to localize