HighTechTalks DotNet Forums  

Enterprise Localization Toolkit Problem

Dotnet Internationalization microsoft.public.dotnet.internationalization


Discuss Enterprise Localization Toolkit Problem in the Dotnet Internationalization forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Ben
 
Posts: n/a

Default Enterprise Localization Toolkit Problem - 01-18-2006 , 05:57 AM






Hello.

I have been trying unsuccessfully to use the Enterprise Localization Toolkit
to make a small test application multi-lingual. If it works successfully we
want to implement it into a Microsoft Commerce Server 2002 site, to enable
them to have French and American sites, and ultimately a Japanese site too.

The problem I have having is like this:

I have created a test application, called GlobalTestLTK, with one page and 9
controls. I have followed the instructions for the Toolkit up to the point
of creating the satellite assemblies. My 9 controls are all in the database
and I have entered some different language strings against the Text property
of them using the Localization Designer and Translater pages.

I build my solution in Visual Studio, and it creates a dll,
GlobalTestLTK.dll. This dll is 20k. If I run the solution, I get the error:

Could not find any resources appropriate for the specified culture (or the
neutral culture) in the given assembly. Make sure "GlobalTestLTK.resources"
was correctly embedded or linked into assembly "GlobalTestLTK". baseName:
GlobalTestLTK locationInfo: <null> resource file name:
GlobalTestLTK.resources assembly: GlobalTestLTK, Version=1.0.2209.18123,
Culture=neutral, PublicKeyToken=null

So I load the Localization Management application, open my application, and
click Generate Resource Files. I enter the project dll (GlobalTestLTK.dll)
as my neutral language file, leave Satellite Assemblies checked and click the
Generate Files button.

This program then creates the language sub directories and compiles the
language specific dlls into them (for example,
bin\en-GB\GlobalTestLTK.resources.dll). However it also overwrites the
GlobalTestLTK.dll in the \bin, which becomes a 4k file. If I now try to run
the project, I get the error:

Could not load type 'GlobalTestLTK.Global'.

Presumably this is because the dll no longer contains the compiled site, but
just the compiled language stuff.

I have tried using loose files and then using al.exe manually, but it seems
to do the same thing. I have tried using a different dll as my neutral
language file (by changing the filename in the textbox in the Management
Appliaction) but this results in the first error ("no resources found"). I
have also tried editing the CreateSatellites.cmd file to change the
parameters of the al.exe calls, but I always end up with either an
overwritten, 4k dll file, or the "no resources found" error. The
documentation also implies that the dlls in the language directories should
be called "foo.dll" rather than "foo.resources.dll", but these files are
created and named automatically by the Management Application.

Am I doing something obvious wrong? Should the neutral language dll be the
same as the site dll? Should I have something in the site (a resx file for
example) to define the neutral language, before using the ToolKit?

Any help or pointers you could offer would be greatly appreciated, as I have
been struggling with this for a few hours and it's starting to drive me (and
my colleague who sits next to me and gets the brunt of my frustration!) a bit
mental!

Thanks

Ben

PS I also sent this query to the support email address mentioned in the msdn
article (entloctk (AT) microsoft (DOT) com) and it was returned to me as address unknown!

Reply With Quote
  #2  
Old   
Ben
 
Posts: n/a

Default RE: Enterprise Localization Toolkit Problem - 01-18-2006 , 06:26 AM






OK, so I *think* I've cracked it.

I created a neutral resx file in the solution, and compiled it. I then ran
the localization toolkit and it overwrote my project dll.

I then recompiled from visual studio, and this time it worked. Multi
language controls on the page!

I'm not entirely sure what i did differently this time to the last thousand
times i've tried it... lets just see what happens now...

"Ben" wrote:

Quote:
Hello.

I have been trying unsuccessfully to use the Enterprise Localization Toolkit
to make a small test application multi-lingual. If it works successfully we
want to implement it into a Microsoft Commerce Server 2002 site, to enable
them to have French and American sites, and ultimately a Japanese site too.

The problem I have having is like this:

I have created a test application, called GlobalTestLTK, with one page and 9
controls. I have followed the instructions for the Toolkit up to the point
of creating the satellite assemblies. My 9 controls are all in the database
and I have entered some different language strings against the Text property
of them using the Localization Designer and Translater pages.

I build my solution in Visual Studio, and it creates a dll,
GlobalTestLTK.dll. This dll is 20k. If I run the solution, I get the error:

Could not find any resources appropriate for the specified culture (or the
neutral culture) in the given assembly. Make sure "GlobalTestLTK.resources"
was correctly embedded or linked into assembly "GlobalTestLTK". baseName:
GlobalTestLTK locationInfo: <null> resource file name:
GlobalTestLTK.resources assembly: GlobalTestLTK, Version=1.0.2209.18123,
Culture=neutral, PublicKeyToken=null

So I load the Localization Management application, open my application, and
click Generate Resource Files. I enter the project dll (GlobalTestLTK.dll)
as my neutral language file, leave Satellite Assemblies checked and click the
Generate Files button.

This program then creates the language sub directories and compiles the
language specific dlls into them (for example,
bin\en-GB\GlobalTestLTK.resources.dll). However it also overwrites the
GlobalTestLTK.dll in the \bin, which becomes a 4k file. If I now try to run
the project, I get the error:

Could not load type 'GlobalTestLTK.Global'.

Presumably this is because the dll no longer contains the compiled site, but
just the compiled language stuff.

I have tried using loose files and then using al.exe manually, but it seems
to do the same thing. I have tried using a different dll as my neutral
language file (by changing the filename in the textbox in the Management
Appliaction) but this results in the first error ("no resources found"). I
have also tried editing the CreateSatellites.cmd file to change the
parameters of the al.exe calls, but I always end up with either an
overwritten, 4k dll file, or the "no resources found" error. The
documentation also implies that the dlls in the language directories should
be called "foo.dll" rather than "foo.resources.dll", but these files are
created and named automatically by the Management Application.

Am I doing something obvious wrong? Should the neutral language dll be the
same as the site dll? Should I have something in the site (a resx file for
example) to define the neutral language, before using the ToolKit?

Any help or pointers you could offer would be greatly appreciated, as I have
been struggling with this for a few hours and it's starting to drive me (and
my colleague who sits next to me and gets the brunt of my frustration!) a bit
mental!

Thanks

Ben

PS I also sent this query to the support email address mentioned in the msdn
article (entloctk (AT) microsoft (DOT) com) and it was returned to me as address unknown!

Reply With Quote
  #3  
Old   
mhunt
 
Posts: n/a

Default Re: Enterprise Localization Toolkit Problem - 01-31-2006 , 09:41 AM




Hello Ben,
Could you provide more details of your fix as I have the same problem
can't get round it?
I have tried all the things you mentioned before you found your fix
I've also tried creating a neutral.resx (& webprojectname.resx) in m
web project's root, as you advise, but to no avail.
Any further info would be a great help.
Cheers,
Marc

--
mhun



Reply With Quote
  #4  
Old   
Ben
 
Posts: n/a

Default Re: Enterprise Localization Toolkit Problem - 02-15-2006 , 04:40 AM



Hi Marc,

To be honest, after I'd discovered that "fix" we decided that it wasn't
worth the hassle of using the Toolkit. It seemed to us that after someone
(which in our case would be the non-technical client) had made their changes
to the language file, the entire project would need to be recompiled before
the changes would be displayed. This is not ideal, as once the site is live
we don't want to have to recompile it on a development machine and re-upload
the dlls. The other reason for dropping it is that I'm not entirely sure what
I did that was differently the time it worked - which we've found generally
means it will come back and bite you later!

So instead we developed our own multilanguage controls (a group of controls
inheriting from each of the major webcontrols) which have a localise function
within their render. I've then written a Singleton class which deals with
translation, and an XML file which holds the translated text for each
property in each language for each control. The singleton also holds a file
watcher object which updates the internal XmlDocument when the file is
changed.

Finally we wrote an admin site (pretty much based on the Toolkit one) which
enabled non technical people to update the XML file using a nice GUI.

Sorry I can't be of more help!

Ben



"mhunt" wrote:

Quote:
Hello Ben,
Could you provide more details of your fix as I have the same problem &
can't get round it?
I have tried all the things you mentioned before you found your fix &
I've also tried creating a neutral.resx (& webprojectname.resx) in my
web project's root, as you advise, but to no avail.
Any further info would be a great help.
Cheers,
Marc.


--
mhunt




Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.