473,327 Members | 2,103 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,327 software developers and data experts.

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 1555
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
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
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
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
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
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...
2
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
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
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
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
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

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.