A real Challange....

Cableguy

Expert
Licensed User
Longtime User
Hi Guys...

Been loosing my mind about this one...

I'm re-starting, for the hundreth time, the development of an app to tap into a MMOG...
My issue is as follows...
The MMOG can be in several languages.
The user of my app may, or may not be using the same language as the MMOG...

I need to be able to translate the MMOG strings into the device language, or selected user language...
I thought of using a 3rd language, English, as a comparison-base language, since the strings are known. (there are about 20 servers of this MMOG and therefore same number of possible languages to translate from...)

Seems a bit confusing???

Imagine a french user, playing in a Spanish server, but that wants the strings in French... but the device locale is set to english... just to complicate...

Another exemple, my own...
I am a Portuguese User, Playing in a French Server, but I always set my devices locale to English... But I would like the Strings to appear in Portuguese...

I thought I could use a relational translation...something like...

Spanish to English then to French... to show the strings in French
French to English then to Portuguese... to show the Strings in Portuguese

Been messing around with the locale lib... but its only good to translate from one to another...
I'm guessing I need to use a small relational Database long with a locale or load all languages into a 3 dimension array... but... I simply don't see how to acomplish it!

A solution I can cope with is to have a fixed output language, like English... but even that puzzles me....

but Implementing this is not that easy...
 
Last edited:

timwil

Active Member
Licensed User
Longtime User
If you have fixed strings - how about this:-

String #1

Code: 001
Language Code: EN
Actual String: Welcome To My Game

Language Code: ES
Actual String: Bienvenido a mi juego

so instead of sending the actual text you will only send the string code and based on the language used the proper string will be displayed
 
Upvote 0

Cableguy

Expert
Licensed User
Longtime User
the problem is that I am not the one setting the strings... I can list the strings in english as a base start, but the shown strings can be a blend of some strings...

exemple:
in server provided page I have :
Bois = 500 (French)
but I need to show it in Portuguese, like
Madeira = 500
BUT, the device locale is English, so I KNOW that Bois/Madeira = Wood

so I read from the server "bois", That I can relate to "Wood", wich is the device locale (this may be bypassed), and then translate and show "madeira, that is the Portuguese word...
 
Upvote 0

Cableguy

Expert
Licensed User
Longtime User
I'm beggining to think that I have no other choice that to build a series of translation files...
 
Upvote 0

timwil

Active Member
Licensed User
Longtime User
I think you might be right :)

Or if you can connect to translate.google.com and retrieve the translation
 
Upvote 0

Cableguy

Expert
Licensed User
Longtime User
Since its going to be used to make the access to the MMOG faster and easier to read, I need to render the access to web to the absolute minimum. in this case, the server resulting page's HTML to parse...

I will be going with the translation files and a 2 dimension array I think...
 
Upvote 0

mc73

Well-Known Member
Licensed User
Longtime User
You can create a table with translations for all available languages as its columns.at first run, based on user's preferences, create a map, with key the column of server language, and content the user's chosen one.
 
Upvote 0

Theera

Well-Known Member
Licensed User
Longtime User
If you have fixed strings - how about this:-

String #1

Code: 001
Language Code: EN
Actual String: Welcome To My Game

Language Code: ES
Actual String: Bienvenido a mi juego

so instead of sending the actual text you will only send the string code and based on the language used the proper string will be displayed


Try to see RiverRaid's library as ahatranslate,I think it may be useful.
 
Upvote 0

Cableguy

Expert
Licensed User
Longtime User
You can create a table with translations for all available languages as its columns.at first run, based on user's preferences, create a map, with key the column of server language, and content the user's chosen one.

That was exactly what I thought of...

The hard part will be to maintain the language files... Lol
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
I'm re-starting, for the hundreth time, the development of an app to tap into a MMOG

This is an old thread, I know, but I read this one now and I have not wanted to write there because I would go too off topic.

Here, however, I'm going... a little off topic :).

Can I ask you what structure you use for your MMOG? (type of sever, languages, etc.).

[I had to think about what MMOG could mean; then I realized, and I realized that I would like to develop a MOG :)]


Thanks
 
Upvote 0

Cableguy

Expert
Licensed User
Longtime User
Ni @LucaMs ,

It is not 'my' MMOG... I just want to tap it... Retrieve info and execute 'human' actions...
As far as I can understand, it is based in a lot of timers and a very complicated database.
The human interface relies on JScript and php to query the database.
In my case, the MMOG is travian...
 
Upvote 0

RandomCoder

Well-Known Member
Licensed User
Longtime User
I've always liked how XBMC handled multilingual support although that seems to have changed slightly with the rebranding now that it has become KODI.
For those that haven't come across it before, XBCM is a fantastic multimedia home entertainment system that is completely free to use and open source.
Anyway, here is how it was originally done...
http://www.xbmc4xbox.org.uk/wiki/Language_support
Basically it just uses an id to reference the correct string which is located in a language file for the language of choice (exactly as mentioned above)
And here is how they currently do it...
http://kodi.wiki/view/Translation_System

Hopefully that answers the language part of the question ;)
 
Upvote 0
Top