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: Sisusupport, Renate.Reinartz, Markus.Kreisel, Ilkka.Salmenius
New Topic Reply Printer Friendly
Exclude properties from exported resx files - Bugs and Quirks in Sisulizer - Technical Support (You need to be registered at the forum to write) - .NET, Delphi, ... - Sisulizer Localization Tool Support
AuthorPost
 Posted: Thu Mar 15th, 2018 08:00 am
PM Private Upload Quote Reply
pun
Member
 

Joined: Wed Feb 28th, 2018
Location:  
Posts: 6
Status: 
Offline
Hi there,

I have a problem with an excluded property in my sisulizer project.
I'm using Sisulizer 4.0 (Build 370) and it's a winforms project with DevExpress 17.1.7.
The original language is german.

DevExpress adds the property "EditValue" to the german localized resources file, so I've added *.EditValue to the excluded properties of the solution file in my sisulizer project. So far so good, the property no longer shows up in the slp and therefore can not be translated.
But nevertheless it is translated when generating the english resx files and I can find some of the EditValues in the generated .en.resx files, containing the same value as in the german .resx file.
EditValues often are numeric values which must not be translated. So this can cause problems when the value is changed in the future and leads to different behaviour in the software for different languages.
Setting the option "Items that localized resource files contain" to "Translated", as you mentioned in another topic, does not take any effect.

Is there a way I can prevent the EditValues from being exported into the .en.resx files?

Edit:
I've attached a small sample project in which i could reproduce this behaviour. As you can see

<data name="memoEdit1.EditValue" xml:space="preserve">
    <value>Darf nicht ins .en.resx</value>
  </data>


and

<data name="checkEdit1.EditValue" type="System.Boolean, mscorlib">
    <value>True</value>
  </data>


are included in the Form1.en.resx file, even though *.EditValue is excluded in the slp and not shown in sisulizer.

Last edited on Thu Mar 15th, 2018 09:03 am by pun

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 15th, 2018 10:34 am
PM Private Upload Quote Reply
Markus.Kreisel
Administrator


Joined: Sat Apr 8th, 2006
Location: Monschau, Germany
Posts: 3150
Status: 
Offline
If you change these excluded values in the original Sisulizer will still fetch them and handle them right.

Anyway you can choose to not export untranslated entries. This article will help you:

https://www.the-localization-tool.com/why-i-cant-find-some-items-from-my-source-resx-file-in-localized-output-file/

Markus



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

 Posted: Thu Mar 15th, 2018 11:33 am
PM Private Upload Quote Reply
pun
Member
 

Joined: Wed Feb 28th, 2018
Location:  
Posts: 6
Status: 
Offline
Hi Markus,

thank you for your fast reply.
The problem is, that we do not rebuild our english resources every time the software is built. This should not be necessary if for example only a checkbox value changes, which should not be in the translated files if I exclude it explicitly.

I tried not to export the untranslated entries, as described in

https://www.the-localization-tool.com/why-i-cant-find-some-items-from-my-source-resx-file-in-localized-output-file/

but no matter if I choose Different, Translated or All, the EditValues are always exported into the Form1.en.resx file.

Also, if you compare the .resx files, you can see, that not all EditValues are exported:
Form1.resx:
<data name="memoEdit1.EditValue" xml:space="preserve">
<data name="checkEdit1.EditValue" type="System.Boolean, mscorlib">
<data name="dateEdit1.EditValue" type="System.DateTime, mscorlib">

Form1.en.resx:
<data name="memoEdit1.EditValue" xml:space="preserve">
<data name="checkEdit1.EditValue" type="System.Boolean, mscorlib">

And what I just noticed, if i don't exclude the property EditValue, the option "Translated" works as expected and not a single non-translated EditValue is exported into the english .en.resx file. So EditValue is only exported if it is excluded.

It seems there is a mechanism that would do as desired, but I think is not working correctly.

Best regards
Philipp

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 15th, 2018 11:56 am
PM Private Upload Quote Reply
Markus.Kreisel
Administrator


Joined: Sat Apr 8th, 2006
Location: Monschau, Germany
Posts: 3150
Status: 
Offline
Dear Philipp,
You should always build all resources. If you try to trick the system you might sooner or later into troubles which are very hard to track down.
Sisulizer only keeps out elements that are safe to leave out (and where the fallback works). Most developers even want to include all strings in any case just to be sure. That`s why the option in the article was introduced.
Markus



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

 Posted: Thu Mar 15th, 2018 12:51 pm
PM Private Upload Quote Reply
pun
Member
 

Joined: Wed Feb 28th, 2018
Location:  
Posts: 6
Status: 
Offline
Hi Markus,

again thank you very much for your fast reply.

Of course, i agree with that, only to leave out the elements which are safe to leave out.

The background is, that we used to have the EditValues in our translations and they simply were not to be translated. So they also did not end up in the translated resources. But sometimes these were translated by mistake, which caused great damage, which is why we have now excluded them from our projects.
But now, unlike before when they were not translated, they are exported. Although it is obviously safe to leave them out. After all, they are explicitly excluded from the project and should therefore not be translated.
Furthermore, it does not just concern strings, but also enums, which should not be translated under any curcumstances and therefore should not be in the translated resource files.

Do you know if there is another way to not get the excluded properties in the generated resource files?

Philipp

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 15th, 2018 01:39 pm
PM Private Upload Quote Reply
Ilkka.Salmenius
Administrator


Joined: Wed Aug 8th, 2007
Location: Tokyo, Japan
Posts: 2009
Status: 
Offline
Hi Philipp

By default Sisulizer writes only those .resx items that have been translated. However you can change this behaviour to include either all or only those that differ from the original. I think that your project uses this include all method. Right click your source in Sisulizer project tree and choose Properties. Then go to Options sheet and check Translated.

Ilkka

Attachment: Untitled.png (Downloaded 10 times)



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

 Posted: Thu Mar 15th, 2018 01:48 pm
PM Private Upload Quote Reply
Ilkka.Salmenius
Administrator


Joined: Wed Aug 8th, 2007
Location: Tokyo, Japan
Posts: 2009
Status: 
Offline
This was not the case. I found the sample you sent and noticed the problem. Start working on this now.

Ilkka



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

 Posted: Thu Mar 15th, 2018 01:55 pm
PM Private Upload Quote Reply
pun
Member
 

Joined: Wed Feb 28th, 2018
Location:  
Posts: 6
Status: 
Offline
Hi Ilkka,

thank you very much.
I'm gladly looking forward to an answer for this issue.

Regards
Philipp

Back To Top PM Private Upload Quote Reply

 Posted: Thu Mar 15th, 2018 02:03 pm
PM Private Upload Quote Reply
Ilkka.Salmenius
Administrator


Joined: Wed Aug 8th, 2007
Location: Tokyo, Japan
Posts: 2009
Status: 
Offline
Hi Philipp,

There was a bug. If you exclude a row that belong to a Windows Forms the build process included the original .resx item into the localized one. I fixed this. The fix will be in the next build (371). It will be released in few weeks.

Ilkka



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

 Posted: Fri Mar 16th, 2018 07:25 am
PM Private Upload Quote Reply
pun
Member
 

Joined: Wed Feb 28th, 2018
Location:  
Posts: 6
Status: 
Offline
Thank you! :)

Back To Top PM Private Upload Quote Reply

 Posted: Fri Mar 16th, 2018 09:05 am
PM Private Upload Quote Reply
pun
Member
 

Joined: Wed Feb 28th, 2018
Location:  
Posts: 6
Status: 
Offline
Hi Ilkka,

Just to make it clear. Does this also apply to the properties excluded in the options menu over the entire project and not only directly excluded rows?

Regards
Philipp

Back To Top PM Private Upload Quote Reply

 Posted: Mon Mar 19th, 2018 03:06 pm
PM Private Upload Quote Reply
Ilkka.Salmenius
Administrator


Joined: Wed Aug 8th, 2007
Location: Tokyo, Japan
Posts: 2009
Status: 
Offline
The component rules based exluding worked already. The bug was only when using the source dialog's Exclude Properties. This has been now fixed.

Ilkka



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

Current time is 12:47 am  
.NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Bugs and Quirks in Sisulizer > Exclude properties from exported resx files



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

Impress - Privacy statement

Sisulizer software localization tool - Three simple steps to localize