Hey Bruce,
Translating an app in general is quite a task - as you will have noticed already. Just wanted to add a few thoughts more to the list, so that you will be prepared, the day you want to go for such an increase of your software.

The good thing about translating a piece of software, is of course that you will increase the potential of users. Many users outside the English-speaking world, have limited knowledge of English. Even if they are able to speak or write English, they may not be comfortable with operating a piece of software, which they do not find available in their own language. As a matter of fact, I have seen users stubbornly refusing to even try touching a piece of software - or hardware for that matter - when it was not in their native language. Silly, ok, but that is why your software is likely to expand in usage, if you decide to translate.

A good translator will not only need to know how to translate the actual string, but will preferably need to know your software a bit more than just having it tested for one minute. This due to the fact, that one and same string may have different translationsin the target language, depending on the actual context of your app. A close cooperation with your translator will therefore be adviced. If your app tends to use a set of single-worded strings, or simple parts of phrases, and then combines them on the fly, this could easily be a challenge for the translator. For the illustrative purpose, let me give you a simple example. Say you have an app, that needs two different strings, throughout its operation.
String1:    "Wind up the clock..."
string 2:    "The wind is too stiff for a smooth sailing..."
You make an entry in your XML for the word wind, and then two separate entries for the rest of the two strings. (don't know why you would do it in this example, but the technique is quite common in many software layouts.) Problem is, for instance when translating to Scandinavian languages (Norwegian, Danish and Swedish) that the word wind will be differently translated in the two cases. In string 1, it would be translated into a word more meaning turning, whereas string2 will be translated into actually blowing. Now, if your app base the string composition on one and same entry in your XML, the translator will have to decide for one of the two translations, and either of your strings will come out very little sense-making for the end-user. It is much better for your app, to base its operations on as complete strings as possible. Again, the translator will have to test the translations, on the fly in your app, to make sure that all strings will have been translated in a meaningful way. And, this is why electronic translations do not work, and never will. They cannot make intilligent decisions when comes to proper translations.

Even if you get all your app-produced strings translated, your next issue will be to determine whether the sound files of your app will need a translation. If your app is a flight-simulator, it is most authentic to have the sound files in English, since all communication on the air-planes are done in English - even in Non-English countries. If your app is some kind of an information board, or other kinds of products which will give out pre-recorded messages, like a talking clock or calculator - the non-English users will request that the messages will be recorded in the target language. You will then either need to have the translator make some recordings for you, or you will have to get a speech synth in the actual language, and do the recordings yourself based on received translated strings from the translator. Note that the synth does not translate anything, so you definitely will need a properly translated string for input to the synth. Using a synth in the locale language is a good way of ensuring an anonymous voice. But you will - in most cases - have to obtain an additional license for the synth - since most manufacturers only sell their synths for personal usage, and once you distribute recordings, it is considered non-personal usage. This even if your translator has the voice installed and licensed on his computer, he is not allowed to distribute any recordings of it, without additional licensing. These are important factors to consider, before you start out translation work, and a good and reliable communication with your translator will prove itself very helpful.

In cases where your app is configured to base its activity on recorded sound files, you may want to build your code in such a way, that it is easy to implement translated versions of the files. You could for instance have it call files: MySoundUS1, and MySoundUS2 for the English version; whereas it would call MySoundDE1, and MySoundDE2 for the German version. Depending on the setting made by the user, the app will automatically compose the actual filename. But all of that, will have to be incooperated into your code. Note, this is only necessary, in cases where the sound files hold any speech. If it is only a snip of music, a crashng sound or the like, you of course don't have to have double sets of the files in question. But this means, that your app may have to know which files to use in general, and which should be language-specific. Just mentioning it here, since preparing your code for the final translation, can often be quite a task. That is why, it would be suggested to keep hose things in mind, even when you start out building your apps first hand. Once you know your app is going to be using any of these features, you might as well build with translation in mind.

And of course, getting a translator and cooperating closely with him, sending back and forth any updated strings and versions of the app, inserting the translations into your XML, and so forth - it all will have to be done for each and every language you translate into. You want your app in three languages, you likely will need three different translators - unless you are fortunate enough to find one and same person who fluently speaks more than one of the languages in question. Let's all appreciate the app developers and their translators, who take the time and energy to undertake the extras including in good, properl roperly working translations. There simply does NOT exist any other way, but to go down the human road, when comes to translating the software.

If you want to pursue the task, you may want to drop a message on either of the lists of AISquare, and call for translators. With the screen reader being widely known Internationally, it might be fully possible to find a translator who speaks the target language in question, fluently.

,

David

On 12/1/2015 2:37 AM, LB via Scripting wrote:
Hi Chip,

     I figured that would have to be done for each language, something that
takes time.

     It was a person who wanted the Sea Battle game in Polish.

     but, that also means making strings inside my Python game itself.
Probably something for future thought, experiment with and see how it goes;
trusting translation software and such.

     Thanks Chip,

         Bruce and Bronx

Sent: Monday, November 30, 2015 8:56 AM
Subject: RE: Adding Langueages


Hi Bruce,

In addition to David's great advice, you will also need to find every
message your program may print or speak or display, and you will need to put
it into an xml string, and change your program to use the value from the xml
strings.  This is the very first step once you know you have a translator
lined up to help you.

After you've done this, you have your translator give you the equivalent
strings for the language under discussion, and then you use UIDesign to
create another language section in your XML file, and you enter all of the
translations into the same named strings that you were using in your English
portion.  It's important to keep the string names the same.

Hth,

Chip





Chip Orange
Florida Public Service Commission
Computer Systems Analyst
850-413-6314



-----Original Message-----
From: Scripting
[mailto:[email protected]] On
Behalf Of David via Scripting
Sent: Thursday, November 26, 2015 1:03 PM
To: Jonathan C. Cohn; Window-Eyes Scripting List
Subject: Re: Adding Langueages

Your first issue, would be to get in touch with someone who can perform
the actual translation for you. NEVER, and I cannot stress this enough -
so once again NEVER trust any electronic, or automated translation
service. Your product would come out in a manner that would simply give
no professional touch at all, but look no less than one of these fishy,
spammy product that you can download from less reputable webservices.

So, get in touch with someone who knows for real, the language you want
the product translated into. From there, as suggested, the UI Design app
will be a good friend, unless you are comfortable with editting the XML
file directly. Based on my own experience, may I suggest that you copy
all the strings to be translated, into a text file which you can send to
the translator. When they have finished the translation, have them send
it back to you, and you then can copy and paste the translated text into
its proper osistions in the XML file. That is, unless they are a bit
more familiar with operating the computer in a software developing
environment, in which case they could easily be trained to do the
translation directly in the UI Design's interface. But many translators
are good at their job, namely to translate, and may not want to hazzle
around with the interface of the UI Design, however easy and smooth that
app has become by the years.

HTH,

David

On 11/26/2015 5:50 PM, Jonathan C. Cohn via Scripting wrote:
If you use the strings XML object it is mostly a manner of copying the
strings to a new language. In the XML file. There is an app called
somethings like UI design that can help with ensuring that you copy every
string definition from one language to the next.


Jonathan Cohn

On Nov 26, 2015, at 11:32 AM, LB via Scripting
<[email protected]> wrote:


Hi!

     I have never done it before, what is the best way to have an app do
other langueages?

     I just got an email from someone who wanted it in Polish...

         Bruce


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
Any views or opinions presented in this email are solely those of the
author and do not necessarily represent those of Ai Squared.

For membership options, visit
http://lists.window-eyes.com/options.cgi/scripting-window-eyes.com/jon.c.cohn%40gmail.com.
For subscription options, visit
http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com
List archives can be found at
http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com
_______________________________________________
Any views or opinions presented in this email are solely those of the
author and do not necessarily represent those of Ai Squared.

For membership options, visit
http://lists.window-eyes.com/options.cgi/scripting-window-eyes.com/trailerdavid%40hotmail.com.
For subscription options, visit
http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com
List archives can be found at
http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com


_______________________________________________
Any views or opinions presented in this email are solely those of the author
and do not necessarily represent those of Ai Squared.

For membership options, visit
http://lists.window-eyes.com/options.cgi/scripting-window-eyes.com/corange%40psc.state.fl.us.
For subscription options, visit
http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com
List archives can be found at
http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com
_______________________________________________
Any views or opinions presented in this email are solely those of the author
and do not necessarily represent those of Ai Squared.

For membership options, visit
http://lists.window-eyes.com/options.cgi/scripting-window-eyes.com/lab4me%40fltg.net.
For subscription options, visit
http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com
List archives can be found at
http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
Any views or opinions presented in this email are solely those of the author 
and do not necessarily represent those of Ai Squared.

For membership options, visit 
http://lists.window-eyes.com/options.cgi/scripting-window-eyes.com/trailerdavid%40hotmail.com.
For subscription options, visit 
http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com
List archives can be found at 
http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com



_______________________________________________
Any views or opinions presented in this email are solely those of the author 
and do not necessarily represent those of Ai Squared.

For membership options, visit 
http://lists.window-eyes.com/options.cgi/scripting-window-eyes.com/archive%40mail-archive.com.
For subscription options, visit 
http://lists.window-eyes.com/listinfo.cgi/scripting-window-eyes.com
List archives can be found at 
http://lists.window-eyes.com/private.cgi/scripting-window-eyes.com

Reply via email to