Index: binaries/data/mods/public/simulation/components/EndGameManager.js =================================================================== --- binaries/data/mods/public/simulation/components/EndGameManager.js +++ binaries/data/mods/public/simulation/components/EndGameManager.js @@ -164,14 +164,25 @@ cmpPlayer.SetState("won", undefined); } + // NOTE: Keep a separate string for the case of a single player. This + // is required for languages that have the same plural forms for 1 and + // other numbers (e.g. Scottish Gaelic, where 1 and 11 are considered + // the same plural form), where we want the string for 1 to have + // "%(lastPlayer)s" while the string for other number has "%(players)s + // and %(lastPlayer)s". + if (allies.length == 1) + let message = markForTranslation( + "%(lastPlayer)s has won (last player alive)."); + else + let message = markForPluralTranslation( + "%(players)s and %(lastPlayer)s have won (last players alive).", + allies.length); + cmpGuiInterface.PushNotification({ "type": "won", "players": [allies[0]], "allies" : allies, - "message": markForPluralTranslation( - "%(lastPlayer)s has won (last player alive).", - "%(players)s and %(lastPlayer)s have won (last players alive).", - allies.length) + "message": message }); } else