In English, all numbers, even zero and negative numbers, are considered to be plural except for 1 and -1.
So the line should be “You have one summon token.”
In software this is one of the most basic things, to check for if a variable is 1 or any value other than 1 (or -1 if the software can involve negative values), then use the correct form of other words depending on the value.
That is a possibility but since English and USD are the native languages of the game and the forums it’s not much of an excuse really. There are many examples of failures in translation in-game from English, but it’s especially bad when the English itself is erroneous.
It’s like how for years the levelling result screen would say “Hero Levelled Up” and “Your hero gained 0 levels” if you only used one or two feeders. They fixed that, but if your net change in cups from being raided is zero it still says “Cup change -0 cups”.
But 0 levels or 0 cups is the correct form. 1 cups or 1 levels is not.
Creating a variable trap for that should be one of the first things anyone doing any coding should learn, because the technique is applicable to trapping any kind of variable when you need a specific action when a specific number, text string etc is input by a user or generated by other code in the software.
In BASIC that’s a use for IF THEN ELSE
For example the level number is stored in the variable A
IF A = 1 THEN PRINT “You have gained”; PRINT A; PRINT “level.” ELSE PRINT “You have gained”; PRINT A; PRINT “levels.”
To string that all together on one line takes a pretty advanced version of BASIC. The concept is the same in any programming language.