Guide:TPG (Meta, no ontology)

From Compile Worlds

What is TPG?
Translation Party Graph (TPG) is a Kawachan tool inspired by the original Translation Party. You can enter a phrase in the box and hit Submit, and TPG will use a machine translation service (hereafter provider) to translate the phrase into Japanese and back until it stabilizes. This can often produce hilarious results.
Which providers does TPG currently use?
TPG currently uses Microsoft Translator. Many years ago, it used Google Translate v1, but Google have since ceased this service, and now only provide their translation APIs to registered businesses. Microsoft, however, allow their translation APIs to be used by individuals as well.
Why do I have to login to access TPG?
Providers have limits on how many characters a client can use per month. To avoid excessive use, only logged in users can access TPG. In the future guests might be allowed to access archived results (but nothing that requires a provider query).
How is TPG different to the original Translation Party?
Firstly, the original website uses AJAX and makes the translation requests client-side, whereas TPG uses no JavaScript, and does all the requests server-side. The downside of this is that there's a bit more delay before you get to see your translations, but TPG does a whole lot more with the requests. It will store the results on our server (and update after a certain expiry time, in case the provider improves their service), which means that future requests of the same phrase will be faster. It also generates reports and links between all stored information for the curious wonderers. Finally, TPG can cope with oscillators (phrases that stabilize but end up in a loop between several forms).
Is TPG work-safe?
Technically, no. While entering a work-safe phrase that isn't a single word will usually not link to anything that isn't work-safe, we can't guarantee that someone hasn't included your phrase as a sentence in something of that nature. We also can't guarantee that a provider won't "accidentally" introduce such text. However, TPG contains no pictures nor external links.
Reports in general should be assumed to be NSFW, as they will almost always end up listing phrases of that nature, simply because other people will have already entered them.
Having the Kawachan word censor turned on will NOT affect the TPG. This will hopefully be rectified later on.
What does "Terminated (hit MAX_REQUESTS)" mean?
This message means that TPG didn't make any more requests. TPG will cut out after a maximum number of requests to stop itself from timing out and to avoid harassing the provider too much. Just refresh the page until the message goes away.
What does "Terminated (request failed)" mean?
This message means that the provider couldn't translate the phrase. Sometimes this happens randomly for no known reason, in which case, just refresh the page and the message should go away. There are however other cases (such as 'a' and 'the') where this error consistently appears. In this case, there is nothing you can do about it other than trying another phrase.
What does "Terminated (hit MAX_REPEAT or MAX_LENGTH)" mean?
These messages mean that TPG is protecting against an "infinite growth" exploit. TPG will cut out after words repeat too many times or get too long. This is because providers are known to have some exploits where translating a phrase and back will not change the phrase except for adding a word, and repeatedly doing it adds more and more copies of the same word ad infinitum. The MAX_LENGTH exploit has not yet been hit, but it is a safety measure in case a provider has an exploit that can cause arbitrarily long words to appear.
What is a period?
A period is the number of steps it takes for a looping phrase to get back to where it started. Most phrases terminate with period 1, i.e. they end up in a phrase which goes to itself, but if the period is more than 1, this means the phrase goes round in a circle. Many phrases end up in a period 2 loop where two words (or root forms) switch places.
What are parents, orphans and straights?
A parent of 'X' is any phrase which becomes 'X' after being translated and back.
An orphan is any phrase which doesn't have any known parents yet.
A straight is a phrase which has only one parent; a straight run is a sequence of straights which are each parent to the sequence.
I just asked the provider to translate something myself, and it's different to what TPG says! What gives?
There are two possible reasons for this. Firstly, TPG makes all its requests server-side. Some providers are known to use different translations for some phrases depending on the client's location - and in this case, the client is the TPG server itself, which is currently located in London. Secondly, TPG only updates its phrase translations once a week. If the provider improve their translation service, it will take up to a week for the changes to show up on TPG.
Do Google, Microsoft or any other providers endorse or affilate with TPG?
Of course not! TPG was made by an independent party with no affilation to any of its providers, and uses the providers' public translation APIs.
This reminds me of Conway's Game of Life.
TPG bears several similarities to GoL, if you treat the phrases as patterns. The words "parent", "orphan" and "oscillator" were also borrowed from GoL terminology.