Index: ps/trunk/binaries/data/mods/public/gui/campaigns/new_modal/NewCampaignModal.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/campaigns/new_modal/NewCampaignModal.js +++ ps/trunk/binaries/data/mods/public/gui/campaigns/new_modal/NewCampaignModal.js @@ -11,7 +11,7 @@ Engine.GetGUIObjectByName('cancelButton').onPress = () => Engine.PopGuiPage(); Engine.GetGUIObjectByName('startButton').onPress = () => this.createAndStartCampaign(); - Engine.GetGUIObjectByName('runDescription').caption = translate(this.template.Name); + Engine.GetGUIObjectByName('runDescription').caption = translateWithContext("Campaign Template", this.template.Name); Engine.GetGUIObjectByName('runDescription').onTextEdit = () => { Engine.GetGUIObjectByName('startButton').enabled = Engine.GetGUIObjectByName('runDescription').caption.length > 0; }; Index: ps/trunk/binaries/data/mods/public/gui/common/campaigns/CampaignRun.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/campaigns/CampaignRun.js +++ ps/trunk/binaries/data/mods/public/gui/common/campaigns/CampaignRun.js @@ -107,15 +107,16 @@ } /** - * @param forlist - if true, generate a label for listing all runs. - * Otherwise, just return a short human readable name. - * (not currently used for regular runs). + * Return a readable name for this campaign. + * @param full - if true, include both user description and template name. Otherwise, skip one if they're identical. */ - getLabel(forList) + getLabel(full) { + if (!full && this.meta.userDescription === translateWithContext("Campaign Template", this.template.Name)) + return this.meta.userDescription; return sprintf(translate("%(userDesc)s - %(templateName)s"), { "userDesc": this.meta.userDescription, - "templateName": this.template.Name + "templateName": translateWithContext("Campaign Template", this.template.Name) }); }