By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,964 Members | 1,290 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,964 IT Pros & Developers. It's quick & easy.

Localization - how do you do it?

P: n/a
[ 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
Share this Question
Share on Google+
3 Replies


P: n/a
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

P: n/a
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

P: n/a
"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 discussion thread is closed

Replies have been disabled for this discussion.