473,387 Members | 1,611 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Localization: neutral language out of main assembly

We have to support different languages in our application. We do not
want to compile the whole application if anything changes in the text
of the pages.

With satellite assemblies this is possible easily. We change the .resx
XML-resource-file, run resgen.exe and al.exe and we have a new dll.

But how is this possible with the neutral/default/fallback language
resource which is integrated in the main assembly?

Can it be removed out of the main assembly that we can create it like
the satellite assemblies? Maybe somehow with al.exe and the /link
option?

Or can the text be changed in the main assembly without recompiling
the code?

thanks, Hannes
Nov 17 '05 #1
5 2171
In the old days (like in VB) you could create a "string table" that would
have a version of all your strings, in each language that you needed.

So instead of having the "File" and "Exit" menus.. they would just be ID 100
and 130 for example. At run time, you detect thier locale settings and show
the appropriate ID from the string table.

I looked around, and didn't find an equivalent - but this was a good idea
and it seems that this really should've been upgraded with VS.NET??

"Hannes Schmiderer" <go*************@schmiderer.cc> wrote in message
news:65**************************@posting.google.c om...
We have to support different languages in our application. We do not
want to compile the whole application if anything changes in the text
of the pages.

With satellite assemblies this is possible easily. We change the .resx
XML-resource-file, run resgen.exe and al.exe and we have a new dll.

But how is this possible with the neutral/default/fallback language
resource which is integrated in the main assembly?

Can it be removed out of the main assembly that we can create it like
the satellite assemblies? Maybe somehow with al.exe and the /link
option?

Or can the text be changed in the main assembly without recompiling
the code?

thanks, Hannes

Nov 17 '05 #2
The way I understand it: This is by design. Correct me if I am wrong
Assemblies are referenced in such a way so the Logical/Virtual Assembly file
knows where everything is.
So if you change one assembly your are breaking some refrences. dependencies
and hashes??
It looks like you have to recompile.
no tampering is allowed.

Please let us know if you have a better solution.

"Hannes Schmiderer" <go*************@schmiderer.cc> wrote in message
news:65**************************@posting.google.c om...
We have to support different languages in our application. We do not
want to compile the whole application if anything changes in the text
of the pages.

With satellite assemblies this is possible easily. We change the .resx
XML-resource-file, run resgen.exe and al.exe and we have a new dll.

But how is this possible with the neutral/default/fallback language
resource which is integrated in the main assembly?

Can it be removed out of the main assembly that we can create it like
the satellite assemblies? Maybe somehow with al.exe and the /link
option?

Or can the text be changed in the main assembly without recompiling
the code?

thanks, Hannes

Nov 17 '05 #3
I have worked some time on a multilingual solution with ASP.NET. The best
approach to updatable language content is NOT to use satellite assemblies,
because you have to restart the server, every time you made a change to the
resx files.

Satellite assemblies do NOT allow for on-the-fly change of the string
resources.

Instead, use straight XML files with FileSystemWatcher objects for your
string resources and language-specific tables in the database for db data.
"MS News (MS ILM)" <sq**********@hotmail.com> wrote in message
news:uV*************@tk2msftngp13.phx.gbl...
The way I understand it: This is by design. Correct me if I am wrong
Assemblies are referenced in such a way so the Logical/Virtual Assembly file knows where everything is.
So if you change one assembly your are breaking some refrences. dependencies and hashes??
It looks like you have to recompile.
no tampering is allowed.

Please let us know if you have a better solution.

"Hannes Schmiderer" <go*************@schmiderer.cc> wrote in message
news:65**************************@posting.google.c om...
We have to support different languages in our application. We do not
want to compile the whole application if anything changes in the text
of the pages.

With satellite assemblies this is possible easily. We change the .resx
XML-resource-file, run resgen.exe and al.exe and we have a new dll.

But how is this possible with the neutral/default/fallback language
resource which is integrated in the main assembly?

Can it be removed out of the main assembly that we can create it like
the satellite assemblies? Maybe somehow with al.exe and the /link
option?

Or can the text be changed in the main assembly without recompiling
the code?

thanks, Hannes


Nov 17 '05 #4
If you compile your resx files into resource only dlls (as you should) you
don't have to restart the server...

Jerry

"Yuri Vanzine" <yu**@vanzine.org> wrote in message
news:Oe**************@TK2MSFTNGP09.phx.gbl...
I have worked some time on a multilingual solution with ASP.NET. The best
approach to updatable language content is NOT to use satellite assemblies,
because you have to restart the server, every time you made a change to the resx files.

Satellite assemblies do NOT allow for on-the-fly change of the string
resources.

Instead, use straight XML files with FileSystemWatcher objects for your
string resources and language-specific tables in the database for db data.
"MS News (MS ILM)" <sq**********@hotmail.com> wrote in message
news:uV*************@tk2msftngp13.phx.gbl...
The way I understand it: This is by design. Correct me if I am wrong
Assemblies are referenced in such a way so the Logical/Virtual Assembly

file
knows where everything is.
So if you change one assembly your are breaking some refrences.

dependencies
and hashes??
It looks like you have to recompile.
no tampering is allowed.

Please let us know if you have a better solution.

"Hannes Schmiderer" <go*************@schmiderer.cc> wrote in message
news:65**************************@posting.google.c om...
We have to support different languages in our application. We do not
want to compile the whole application if anything changes in the text
of the pages.

With satellite assemblies this is possible easily. We change the .resx
XML-resource-file, run resgen.exe and al.exe and we have a new dll.

But how is this possible with the neutral/default/fallback language
resource which is integrated in the main assembly?

Can it be removed out of the main assembly that we can create it like
the satellite assemblies? Maybe somehow with al.exe and the /link
option?

Or can the text be changed in the main assembly without recompiling
the code?

thanks, Hannes



Nov 17 '05 #5
"Yuri Vanzine" <yu**@vanzine.org> wrote in message news:<Oe**************@TK2MSFTNGP09.phx.gbl>...
I have worked some time on a multilingual solution with ASP.NET. The best
approach to updatable language content is NOT to use satellite assemblies,
because you have to restart the server, every time you made a change to the
resx files.

Satellite assemblies do NOT allow for on-the-fly change of the string
resources.

Instead, use straight XML files with FileSystemWatcher objects for your
string resources and language-specific tables in the database for db data.


this is not true! Satellite assemblies only hold the resources. The
satellite assemblies are copied by the system to a temporary directory
and used from there. So they are not locked. You can replace them
whenever you want. You only have to change the .resx file, run resgen
and al and you have a new satellite assembly!

My solution will be, that we do not include a fallback/neutral
resource. We create the .resx files automatically (maybe from an
excel-file or another combined xml-file with xslt). So this can
replace the fallback of .NET. When a text is not defined in one
language, it is replaced by the same text of another language in the
..resx file automatically.

You should not use .resources files. They are locked if you do not
release them by ReleaseAllResources() from the ResourceManager. But
releasing them with every page is slowly. (as said in the microsoft
help).

By the way: I just tried to recompile a code-assembly which is used by
another one. I could use the new assembly without recompiling the
other - and of course without a restart of the server.
Nov 17 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: CGuy | last post by:
Hi, I'm trying to develop an ASPX page that supports multiple languages. Everything has gone well till now - 1. Created a project in VS.NET 2003 2. Added 2 resource files named Captions.resx...
0
by: Jamie Fraser | last post by:
Hi, Ive been having some big problems with localization, I will list below what Ive done so far: The assembly Im trying to localize is called CustomersMode (it is a plugin for our main...
0
by: Ian | last post by:
Hi there, Well I managed to compile by satellite dll's but still can't get it to work. It keeps throwing the following error. (see below) My code is ok I think but there must be something...
3
by: jmjacquel | last post by:
Hi all, I have a localization problem in ASP.NET (ASPX) pages using VS.NET 2003. I have a project called AGCENTRAL, which is part of a solution. The project simply contains pages, a...
0
by: Stoyan | last post by:
Somebody manage to do this? "If you want to replace the satellite resources (satellite assemblies once compiled), you can do so at any time, without having to recompile your main assembly ." I...
0
by: Paul Dunstone | last post by:
Hi group We have website, www.site.com, which uses Microsoft Content Management System. We are internalising the controls using Microsoft Localization Toolkit...
8
by: Olivier Matrot | last post by:
I encounter a problem with Localization features in ASP.NET 2.0. Is seems that the framework is not able to manage neutral cultures such as 'fr', or 'de'. Those are the culture sent by default from...
5
by: CMM | last post by:
I don't seem to "get" ASP.NET 2.0's Localization features. I've read up on everything... and of course, everything is explained in cursory softball terms- not any "real-world" usage way. I hope...
0
by: vivek | last post by:
localization of lang. using resource files resides in the global resources folder (App_GlobalResources). Currently In my application, I need to have different language resource files in global...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.