473,503 Members | 1,725 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Localization - how do you do it?

[ using C# with WindowsForms ]

Hi,

I think I've read everything there is to read about localization in dotNET
and I still don't get it.

I understand the concepts and I understand the code, but there's no way that
the scenarios described can be translated(!) to a real world application.

Here's what I got. I have forms with controls on them and I have constant
strings that I show in message boxes and the like.

The forms and controls I can neatly handle in the designer, just by changing
the langage name in the property pane (which behind my back is then stuffed
into some resource files). For the constant strings I need to create my own
resource file (e.g. a key/value type) and then load the strings with the
ResourceManager.

Here's my problem: I'm about to release a v1 of my application. So I send
all the resource-files to the translators, who in turn translates the files
and send them back. A while later I'm about to release v1.1. and... now
what?

It seems that I have to send the the same resource files again to the
translaters, who have to start all over translating what they have already
translated for v1 and continue with v1.1 - a complete waste of time...

There must be something that I have missed during this "cycle". There must
be some (simple) way to split the old and new resources, so I only need to
send changed and new text to the translator. How do you do it??

What I'm really after here, are some of your technical experiences working
with dotNET applications and (third party) translators.
Regards,
Sebastian

Jul 21 '05 #1
3 1570
Here's how I did it:

I have an XML file with the resource strings for my app. There's one XML
file for each language. Whenever I make changes to the English language
version, I need to make identical changes to the other language versions
(either add, modify, or delete strings).

So, assuming you give this person the XML file they used for the original
translation, they only need to update it, not redo it from scratch.

Pete

"Sebastian Bargmann" <sb@removedbecauseofspam.dk> wrote in message
news:gy*****************@news.get2net.dk...
[ using C# with WindowsForms ]

Hi,

I think I've read everything there is to read about localization in dotNET
and I still don't get it.

I understand the concepts and I understand the code, but there's no way that the scenarios described can be translated(!) to a real world application.

Here's what I got. I have forms with controls on them and I have constant
strings that I show in message boxes and the like.

The forms and controls I can neatly handle in the designer, just by changing the langage name in the property pane (which behind my back is then stuffed into some resource files). For the constant strings I need to create my own resource file (e.g. a key/value type) and then load the strings with the
ResourceManager.

Here's my problem: I'm about to release a v1 of my application. So I send
all the resource-files to the translators, who in turn translates the files and send them back. A while later I'm about to release v1.1. and... now
what?

It seems that I have to send the the same resource files again to the
translaters, who have to start all over translating what they have already
translated for v1 and continue with v1.1 - a complete waste of time...

There must be something that I have missed during this "cycle". There must
be some (simple) way to split the old and new resources, so I only need to
send changed and new text to the translator. How do you do it??

What I'm really after here, are some of your technical experiences working
with dotNET applications and (third party) translators.
Regards,
Sebastian

Jul 21 '05 #2
Any translation software worth its salt should be able to work out what
strings were added between version 1 and 1.1. The translators just translate
those.

We are gettings our strings translated by an external translation company,
who is choosing their own tool.

Paul Wardle

"Sebastian Bargmann" <sb@removedbecauseofspam.dk> wrote in message
news:gy*****************@news.get2net.dk...
[ using C# with WindowsForms ]

Hi,

I think I've read everything there is to read about localization in dotNET
and I still don't get it.

I understand the concepts and I understand the code, but there's no way that the scenarios described can be translated(!) to a real world application.

Here's what I got. I have forms with controls on them and I have constant
strings that I show in message boxes and the like.

The forms and controls I can neatly handle in the designer, just by changing the langage name in the property pane (which behind my back is then stuffed into some resource files). For the constant strings I need to create my own resource file (e.g. a key/value type) and then load the strings with the
ResourceManager.

Here's my problem: I'm about to release a v1 of my application. So I send
all the resource-files to the translators, who in turn translates the files and send them back. A while later I'm about to release v1.1. and... now
what?

It seems that I have to send the the same resource files again to the
translaters, who have to start all over translating what they have already
translated for v1 and continue with v1.1 - a complete waste of time...

There must be something that I have missed during this "cycle". There must
be some (simple) way to split the old and new resources, so I only need to
send changed and new text to the translator. How do you do it??

What I'm really after here, are some of your technical experiences working
with dotNET applications and (third party) translators.
Regards,
Sebastian

Jul 21 '05 #3
"Sebastian Bargmann" <sb@removedbecauseofspam.dk> wrote in
news:gy*****************@news.get2net.dk:
Here's my problem: I'm about to release a v1 of my application. So I
send all the resource-files to the translators, who in turn translates
the files and send them back. A while later I'm about to release v1.1.
and... now what?

It seems that I have to send the the same resource files again to the
translaters, who have to start all over translating what they have
already translated for v1 and continue with v1.1 - a complete waste of
time...


You have two main options:
- You manage everything (extract the new strings, send them out for
translation, integrate them back - see Pete Davis)
- Let all the trouble to a localization company (see Paul Wardle)

- First approach gives you full control (and full trouble). You can
create some scripts to help you (after all, a resx file is easy to
read/write, is just an XML, and .NET provides dedicated API for resx files)

- Secons approach can be trouble-free, if you choose your localizer well.
Any decent localization (l10n) company will use translation memeory tools
and will be able to leverage the strings from previuos versions.
Beside the fact that you get files ready to compile, you can also ask for
resizing (and they can also leverage some of the resizing), glossaries,
fuzzy-match (strings that are just slightly changed are offered as suggestion
to the translators, increasing consistency and decreasing time).
Ask any l10n company for a quote. Most of them will give you a free estimate
if you provide the files to localize. They will also spend time to explain
what translation tools they use, what services they offer.
It may be difficult to compare and choose, but if you choose well it may be
cheeper than doing this yourself, get better quality and less work.

Obviously, it is not a promise, there are companies and companies.
Shop arround.

--
Mihai
-------------------------
Replace _year_ with _ to get the real email
Jul 21 '05 #4

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

Similar topics

0
533
by: Amin Schoeib | last post by:
Hi, I am a Postgres newbie who worked until now with Oracle. Now I want to know if it is possible (when yes the how?) in Postgresql To set dynamically the Localization? For example in Oracle you...
0
1220
by: Amin Schoeib | last post by:
Hi, I am a Postgres newbie who worked until now with Oracle. Now I want to know if it is possible (when yes the how?) in Postgresql To set dynamically the Localization? For example in Oracle you...
6
1972
by: Rental | last post by:
I'm having the sam problem as described below with the Localization toolkit. Does anyone know if there is a solution to this problem. --->When attempting to generate resource dlls with...
2
1537
by: Julia | last post by:
Hi, We want to migrate out asp application to asp.net and take advantage on localization. I want to ask how it is advice to structure the site directory I am going to use resource only...
8
2528
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
2636
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...
2
3548
by: bruno | last post by:
I need to localize my ASP.NET app and I just used "Tools" --"generate local resources" command and everything works fine in my WebForms. Resource file name is: MyWebForm.aspx.resx under a subDir...
0
1634
by: shapper | last post by:
Hello, Sometime ago I followed an article (I believe MSDN) related with localization in Asp.Net 2.0. To make pages localization I create a class named Localization: 1 Public Class...
3
2221
by: Corey B | last post by:
I have an ASP.NET application that was built in ASP.NET v1.1. It has a SQL Server back end database. I have been asked to provide an estimate for the level of effort required to produce a Chinese...
3
6459
by: Computer Guru | last post by:
I have a VB.NET 2005 application with several forms and a couple hundred "strings." I've been looking into all the localization improvements in VB.NET, and I can't seem to find anything that...
0
7202
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7086
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7332
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...
0
5578
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5014
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4673
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3167
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3154
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
736
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.