moltenkore Posted August 28, 2016 Posted August 28, 2016 (edited) Hello, I made a small web-app that converts typed text into alien or secondary languages. You can find a link to it here: http://mk.darkserver.co.uk/lang/index.php valky_walky2 and I were talking about the idea a few days ago and I went ahead and made the converter in PHP. The converter uses the same algorithm as the game ported by myself to PHP. (It's only a few lines anyway) Hopefully someone finds it useful for RP or whatever, I know I'll use Basic -> Siik'maas as it's nice in RP scenarios without being in-game. Edit: If anyone is interested in the code, I stuck it up on Github https://github.com/darkrising/Basic-to-Language-Converter Edited August 28, 2016 by Guest Quote
DatBerry Posted August 28, 2016 Posted August 28, 2016 Id actually be interested in it being the other way around, if thats possible Quote
moltenkore Posted August 28, 2016 Author Posted August 28, 2016 Id actually be interested in it being the other way around, if thats possible Unfortunately the conversion is completely random, so without some hashing or persistence there's no real way to convert it back. Game wise the message is cached after being scrambled so you can keep repeating the same text for the same conversion. Webapp wise it's random each time. I was toying with the idea of adding converted text to a database to keep it persistent however, it would take up a lot of space over time. Plus, there's no where near enough sounds in some languages to make every word unique. Quote
LordFowl Posted August 28, 2016 Posted August 28, 2016 Zrkusc'o' n'ahk sc' iy'it kigsc'yeth. Th'esk sc'yeth nil ' u kigsc'orth ' avek. Avhth'zirkavek wre'gezzkrg vh 'k'ayek th'esk 'nrkuyek zo' '. Nrkkrg 'k'zitvh k'ziti'ra' sc'yethsc' ak. Avekkr yol dra' dra' ok'zit ka'mil wre'gek'zit' ka'milsc'yeth th'esk uhk k'lax' sc'orth ka'milaku azzgzz akthc'yek thc'yekk'ztakak sc'yeth. Nil zo'. Yol thc'yek'th'sck'ayeksc'orth k'ayekk'zitvhliio' zrk iy'it wre'ge ka'mil ik'yirsc'yetha' th'sc zo' sc'theth zir sc'thethzz iy'it akisk'yetsc'yeth aa dra' ikzo'. Zo'k'zit aka wre'gewre'ge akiy'it yol i' azzgavekvaur ak teth zir uyeksc'azz. Sc' uhkyol aksc'orthuyitk'ztakuyit' kig sc'orth i' th'sc aur'sknrk n'ahk zz. Avek ka'mil. K'lax'aur'sk krgwre'gesc'yethiy'it zz aur'sk ' ra' teth nilsc'azzo'sc'theth aur'sk avek 'sc'orthsc'orth th'zirk zirk'lax' n'ahkyolavekk'ztakka'milth'zirk sc' ' azzgn'ahk zir. Sc'thethwre'ge a' teth. K'zitazzg. Sc'yethna'kkrg zrk. Th'zirk. Yolik isk'yetna'kuyekisk'yet zo' krg k'ayek wre'ge dra'avekth'scu th'sc uhk ikka'milk'zit u'a' n'ahki ik sc' kigvhka'milzz zo'th'sc k'ztakaveku'na'kdra' dra'th'esk. Ra'sc'erk'ztakuhk ka'milikwre'ge isk'yetzzazzg. Akisk'yetzirsc'er th'sck'zitsc''iy'ito isk'yet ukrg 'ik ' kr ik'yir kriy'itisk'yet kig ra' sc'azzura' sc'yeth ak sc'azzizo' ik'yir isk'yetk'ayeki' k'lax' yolk'zita' th'sciy'itvh nrk i'th'zirkzrkdra' sc'yethuyek thc'yeksc'eriksc'orth' vaur iteth zz nil. Aur'sk iy'it sc'azzth'esk sc'yeth k'zit aksc'yethiy'it sc'er zz ' wre'gevh a'k'ayek uyek iwre'ge aveksc'yethak. Yol' azzgkrg. Zir teth a o'uhk k'lax'. What the fuck did you just fucking say about me, you little bitch? I’ll have you know I graduated top of my class in the Navy Seals, and I’ve been involved in numerous secret raids on Al-Quaeda, and I have over 300 confirmed kills. I am trained in gorilla warfare and I’m the top sniper in the entire US armed forces. You are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on this Earth, mark my fucking words. You think you can get away with saying that shit to me over the Internet? Think again, fucker. As we speak I am contacting my secret network of spies across the USA and your IP is being traced right now so you better prepare for the storm, maggot. The storm that wipes out the pathetic little thing you call your life. You’re fucking dead, kid. I can be anywhere, anytime, and I can kill you in over seven hundred ways, and that’s just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the United States Marine Corps and I will use it to its full extent to wipe your miserable ass off the face of the continent, you little shit. If only you could have known what unholy retribution your little “clever” comment was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn’t, you didn’t, and now you’re paying the price, you goddamn idiot. I will shit fury all over you and you will drown in it. You’re fucking dead, kiddo. Very nifty. Quote
Mofo1995 Posted August 28, 2016 Posted August 28, 2016 I used this to post WGW in Skrellian earlier. Quote
hivefleetchicken Posted August 28, 2016 Posted August 28, 2016 I used this to post WGW in Skrellian earlier. We're all guilty of it. Quote
SierraKomodo Posted August 28, 2016 Posted August 28, 2016 Gestures gestures signs Why is this a thing Quote
moltenkore Posted August 28, 2016 Author Posted August 28, 2016 Gestures gestures signs Why is this a thing I saw it in the language definitions and it amused me greatly so I stuck it in as an option Quote
Skull132 Posted August 28, 2016 Posted August 28, 2016 A funny thing I've wanted to try. Just for the sake of trying it. Is to upload the cache of a language onto an SQL database every round, and pull on round start. Basically: have a persistent language. The only issue with this (beyond the fucking size of the array I might be constructing after a month or two) is the fact that the language code doesn't recognize derivation. Meaning you will have derivation which makes absoloutely no sense. For example: "you" being "jurl", for example, and "yours" being "rrhaz". Also, can't tell if AJAX and fully dynamic, or reloads from PHP every time I press button. Quote
moltenkore Posted August 28, 2016 Author Posted August 28, 2016 (edited) A funny thing I've wanted to try. Just for the sake of trying it. Is to upload the cache of a language onto an SQL database every round, and pull on round start. Basically: have a persistent language. The only issue with this (beyond the fucking size of the array I might be constructing after a month or two) is the fact that the language code doesn't recognize derivation. Meaning you will have derivation which makes absoloutely no sense. For example: "you" being "jurl", for example, and "yours" being "rrhaz". Also, can't tell if AJAX and fully dynamic, or reloads from PHP every time I press button. Today I decided to start saving translations to my database just to see what randomness it comes with. I know for sure there's not enough syllables in each language to make it effective. Another thing is that it saves translation by translation not word by word which makes it a hell of a lot faster but it's in no way building up a dictionary of words. It's funny because a few months ago I was working on something similar, converting English to unique random words so you could translate back and forth between the alter language. An issue I ran into was punctuation as like you said, "you" could be "juri" but "you!" could be "rrhaz" and the only real way to avoid this would be stripping out the punctuation and shoving it back in later. A problem with this is the language essentially just becomes a 'mask' of English with no real structure of its own. As for the webapp, I cheated and just used a small script that submits the form each time however, with the simple API up and running I might convert it to AJAX who knows. Edit: Just finished making it persistent so an inputted phrase will always return the same translation (if typed right). Edited August 28, 2016 by Guest Quote
UnknownMurder Posted August 28, 2016 Posted August 28, 2016 We have a universal translator as a converter.... But... Will this be real-time interpreter? Quote
Skull132 Posted August 28, 2016 Posted August 28, 2016 Edit: Just finished making it persistent so an inputted phrase will always return the same translation (if typed right). Aww, that's lazy though Quote
moltenkore Posted August 28, 2016 Author Posted August 28, 2016 We have a universal translator as a converter.... But... Will this be real-time interpreter? Possibly! It would probably put a lot of stress on the web server so perhaps making a more efficient 'server' to do it would be better, maybe written in Java or C++. Edit: Just finished making it persistent so an inputted phrase will always return the same translation (if typed right). Aww, that's lazy though True! There's not enough syllables to do it word by word though! Quote
UnknownMurder Posted August 28, 2016 Posted August 28, 2016 We have a universal translator as a converter.... But... Will this be real-time interpreter? Possibly! It would probably put a lot of stress on the web server so perhaps making a more efficient 'server' to do it would be better, maybe written in Java or C++. So, what you are saying that you'll connect the universal translator to a 'web server' that will handle the interpretation? Here's a site map of what I am getting at. I speak this word "Rwraaah Rwaaaah" in Wookie Language. The spoken word goes through the Universal Translator (Game input) and takes the langauge to the web server, and the web server will interpret it through C++/Java and delivers the message to Universal Translator (Game output) and speaks out the word, "Hello!"? I can imagine that it might take a slow process. Quote
Skull132 Posted August 28, 2016 Posted August 28, 2016 I speak this word "Rwraaah Rwaaaah" in Wookie Language. The spoken word goes through the Universal Translator (Game input) and takes the langauge to the web server, and the web server will interpret it through C++/Java and delivers the message to Universal Translator (Game output) and speaks out the word, "Hello!"? I can imagine that it might take a slow process. That's confusing! For a map, here's how the easiest way of making a translator for this goes: Input in Taj language -> break up into words -> look up and pull all individual words from the database -> replace word for word -> voila, you now have translated content. This, however, relies on the dictionary being already premade. Which, right now, it's not. Quote
moltenkore Posted August 28, 2016 Author Posted August 28, 2016 I speak this word "Rwraaah Rwaaaah" in Wookie Language. The spoken word goes through the Universal Translator (Game input) and takes the langauge to the web server, and the web server will interpret it through C++/Java and delivers the message to Universal Translator (Game output) and speaks out the word, "Hello!"? I can imagine that it might take a slow process. That's confusing! For a map, here's how the easiest way of making a translator for this goes: Input in Taj language -> break up into words -> look up and pull all individual words from the database -> replace word for word -> voila, you now have translated content. This, however, relies on the dictionary being already premade. Which, right now, it's not. There's a way around that, simply generate the unknown words as they come in. If you try and create a whole dictionary at once, it will take a very long time. Edit: Collisions will probably occur, search the database first for that translation if you don't want collisions. Quote
Guest Posted August 28, 2016 Posted August 28, 2016 Aye, you'll notice for the original converter it just does what the code does for languages, it picks a random defined variable and then substitutes that word-for-word as the untranslated lingua. A full dictionary would be too unnecessary, I'd think. Quote
moltenkore Posted August 28, 2016 Author Posted August 28, 2016 Added the option to decode translated text back into English (basic) and an API method to do the same. This project is slowly turning more and more advanced x) Edit: I wonder when the collisions will start occurring.. that might be funny Edit 2: No more collisions (hopefully) I added some code to deal with it. Edit 3: As posted on first post I stuck the project up on Github, https://github.com/darkrising/Basic-to-Language-Converter Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.