Ahh, I found what I was looking for, which is something like that. However, now I have a scope problem.
The keyword I was looking for was “To…”
let japanese output be "下さい。";
chomp;
...
...
To chomp:
replace word number (last position) in english input with "";
Let the last position be the number of words in english input;
Let last word be word number (last position) in english input;
However, it seems that Inform has the concept of scope.
In the sentence 'replace word number (last position) in english input with ""' , I was expecting to read a number, but instead found some text that I couldn't understand - '(last position)'.
How do you define a global in inform?
Edit :
I tried this
place last position in scope;
place english input in scope;
But it (strangely) can’t find the variable to put into scope. Which… I guess, defeats the purpose?
Aha! You can pass a function variables (I thought you could), but it’s note seeing my deceleration.
If last word is "kudasai":
Increase friendship by 1;
let japanese output be "下さい。";
[I have the Kudasai, now strip off the end, leaving the -te form verb]
chomp english input at last position;
...
...
To chomp (english input - indexed text) at (last postion - a number ):
replace word number (last position) in english input with "";
Let the last position be the number of words in english input;
Let last word be word number (last position) in english input;
It still can’t see “english input” or “last position”
I’m also going to need to return the english input string when I’m done… I take there isn’t a return(string) command 
Man Inform is great at englishy-like things, but it really sucks at computery-function things… I guess that making it “regular” will defeat the ability to put it into “english”