chore(i18n): sync with develop

This commit is contained in:
Matteo Pagliazzi 2014-04-27 15:11:14 +02:00
parent c503b61e33
commit 4083d62f16
5 changed files with 117 additions and 78 deletions

View file

@ -10571,22 +10571,22 @@ gear = {
value: 10
},
201404: {
text: 'Twilight Butterfly Wings',
notes: "Be a butterfly and flutter by!",
text: t('backMystery201404Text'),
notes: t('backMystery201404Notes'),
mystery: mystery['201404'],
value: 10
}
},
special: {
wondercon_red: {
text: 'Mighty Cape',
notes: 'Swishes with strength and beauty. Special edition convention armor.',
text: t('backSpecialWonderconRedText'),
notes: t('backSpecialWonderconRedNotes'),
value: 0,
mystery: mystery.wondercon
},
wondercon_black: {
text: 'Sneaky Cape',
notes: 'Spun of shadows and whispers. Special edition convention armor.',
text: t('backSpecialWonderconBlackText'),
notes: t('backSpecialWonderconBlackNotes'),
value: 0,
mystery: mystery.wondercon
}
@ -10595,27 +10595,27 @@ gear = {
body: {
base: {
0: {
text: "No Body Accessory",
notes: 'No Body Accessory.',
text: t('bodyBase0Text'),
notes: t('bodyBase0Notes'),
value: 0
}
},
special: {
wondercon_red: {
text: 'Ruby Collar',
notes: 'An attractive ruby collar! Special edition convention armor.',
text: t('bodySpecialWonderconRedText'),
notes: t('bodySpecialWonderconRedNotes'),
value: 0,
mystery: mystery.wondercon
},
wondercon_gold: {
text: 'Golden Collar',
notes: 'An attractive gold collar! Special edition convention armor.',
text: t('bodySpecialWonderconGoldText'),
notes: t('bodySpecialWonderconGoldNotes'),
value: 0,
mystery: mystery.wondercon
},
wondercon_black: {
text: 'Ebony Collar',
notes: 'An attractive ebony collar! Special edition convention armor.',
text: t('bodySpecialWonderconBlackText'),
notes: t('bodySpecialWonderconBlackNotes'),
value: 0,
mystery: mystery.wondercon
}
@ -10641,22 +10641,8 @@ gear = {
springWarrior: {
event: events.spring,
specialClass: 'warrior',
<<<<<<< HEAD
<<<<<<< HEAD
text: 'Green Bunny Ears',
notes: "Bunny ears that keenly detect every crunch of a carrot. Confers no stat bonus. Limited Edition 2014 Spring Gear.",
=======
text: (function() {
return i18n.t('headAccessorySpecialSpringWarriorText');
}),
notes: (function() {
return i18n.t('headAccessorySpecialSpringWarriorNotes');
}),
>>>>>>> chore(i18n): move new content to strings, update locales
=======
text: t('headAccessorySpecialSpringWarriorText'),
notes: t('headAccessorySpecialSpringWarriorNotes'),
>>>>>>> fix(i18n): use right syntax and add a few strings
value: 20
},
springMage: {
@ -10674,14 +10660,14 @@ gear = {
value: 20
},
wondercon_red: {
text: 'Mighty Mask',
notes: 'What a powerful face accessory! Special edition convention armor.',
text: t('headAccessorySpecialWonderconRedText'),
notes: t('headAccessorySpecialWonderconRedNotes'),
value: 0,
mystery: mystery.wondercon
},
wondercon_black: {
text: 'Sneaky Mask',
notes: 'Your motives are definitely legitimate. Special edition convention armor.',
text: t('headAccessorySpecialWonderconBlackText'),
notes: t('headAccessorySpecialWonderconBlackNotes'),
value: 0,
mystery: mystery.wondercon
}
@ -10694,8 +10680,8 @@ gear = {
value: 10
},
201404: {
text: 'Twilight Butterfly Antennae',
notes: "These antennae help the wearer sense dangerous distractions!",
text: t('headAccessoryMistery201404Text'),
notes: t('headAccessoryMistery201404Notes'),
mystery: mystery['201404'],
value: 10
}
@ -11534,15 +11520,9 @@ api.quests = {
}
},
ghost_stag: {
<<<<<<< HEAD
text: "The Spirit of Spring",
notes: "Ahh, Spring. The time of year when color once again begins to fill the landscape. Gone are the cold, snowy mounds of winter. Where frost once stood, vibrant plant life takes its place. Luscious green leaves fill in the trees, grass returns to its former vivid hue, a rainbow of flowers rise along the plains, and a white mystical fog covers the land! ... Wait. Mystical fog? \"Oh no,\" <strong>Inventrix</strong> says apprehensively, \"It would appear that some kind of spirit is the cause of this fog. Oh, and it is charging right at you.\"",
completion: "The spirit, seemingly unwounded, lowers its nose to the ground. A calming voice envelops your party. \"I apologize for my behavior. I have only just awoken from my slumber, and it would appear my wits have not completely returned to me. Please take these as a token of my apology.\" A cluster of eggs materialize on the grass before the spirit. Without another word, the spirit runs off into the forest with flowers falling in his wake.",
=======
text: t('questGhostStagText'),
notes: t('questGhostStagNotes'),
completion: t('questGhostStagCompletion'),
>>>>>>> chore(i18n): move new content to strings, update locales
value: 4,
boss: {
name: t('questGhostStagBoss'),
@ -11656,15 +11636,9 @@ api.quests = {
}
},
egg: {
<<<<<<< HEAD
text: "Egg Hunt",
notes: "Overnight, strange plain eggs have appeared everywhere: in Matt's stables, behind the counter at the Tavern, and even among the pet eggs at the Marketplace! What a nuisance! \"Nobody knows where they came from, or what they might hatch into,\" says <strong>Megan</strong>, \"but we can't just leave them laying around! Work hard and search hard to help me gather up these mysterious eggs. Maybe if you collect enough, there will be some extras left over for you...\"",
completion: "You did it! In gratitude, <strong>Megan</strong> gives you ten of the eggs. \"I don't think they hatch, exactly,\" she says, \"and they certainly won't grow into mounts. But that doesn't mean you can't dye them beautiful colors!\"",
=======
text: t('questEggHuntText'),
notes: t('questEggHuntNotes'),
completion: t('questEggHuntCompletion'),
>>>>>>> fix(i18n): rebase, fix and compile
value: 1,
canBuy: false,
collect: {
@ -11784,7 +11758,7 @@ api.userDefaults = {
value: 3,
completed: false,
repeat: repeat,
attribute: 'str'
attribute: 'con'
}, {
type: 'daily',
text: t('defaultDaily3Text'),
@ -11793,6 +11767,25 @@ api.userDefaults = {
completed: false,
repeat: repeat,
attribute: 'int'
}, {
type: 'daily',
text: t('defaultDaily4Text'),
notes: t('defaultDaily4Notes'),
checklist: [
{
completed: true,
text: t('defaultDaily4Checklist1')
}, {
completed: false,
text: t('defaultDaily4Checklist2')
}, {
completed: false,
text: t('defaultDaily4Checklist3')
}
],
completed: false,
repeat: repeat,
attribute: 'str'
}
],
todos: [
@ -11800,6 +11793,18 @@ api.userDefaults = {
type: 'todo',
text: t('defaultTodo1Text'),
notes: t('defaultTodo1Notes'),
completed: false,
attribute: 'int'
}, {
type: 'todo',
text: t('defaultTodo2Text'),
notes: t('defaultTodo2Notes'),
completed: false,
attribute: 'int'
}, {
type: 'todo',
text: t('defaultTodo3Text'),
notes: t('defaultTodo3Notes'),
value: -3,
completed: false,
attribute: 'per'
@ -11867,11 +11872,7 @@ module.exports = {
},{"lodash":3}],7:[function(require,module,exports){
(function (process){
<<<<<<< HEAD
var $w, api, content, moment, preenHistory, sanitizeOptions, sortOrder, _,
=======
var $w, api, content, i18n, moment, preenHistory, sanitizeOptions, _,
>>>>>>> refactor(i18n): start using strings for api messages
var $w, api, content, i18n, moment, preenHistory, sanitizeOptions, sortOrder, _,
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
moment = require('moment');
@ -14179,4 +14180,4 @@ api.wrap = function(user, main) {
}).call(this,require("/home/matteo/Development/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))
},{"./content.coffee":5,"./i18n.coffee":6,"/home/matteo/Development/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":2,"lodash":3,"moment":4}]},{},[1])
},{"./content.coffee":5,"./i18n.coffee":6,"/home/matteo/Development/habitrpg-shared/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":2,"lodash":3,"moment":4}]},{},[1])

View file

@ -11,14 +11,26 @@
"defaultDaily1Text": "1h Personal Project",
"defaultDaily1Notes": "All tasks default to yellow when they are created. This means you will take only moderate damage when they are missed and will gain only a moderate reward when they are completed.",
"defaultDaily2Text": "Exercise",
"defaultDaily2Text": "Clean your apartment",
"defaultDaily2Notes": "Dailies you complete consistently will turn from yellow to green to blue, helping you track your progress. The higher you move up the ladder, the less damage you take for missing and less reward you receive for completing the goal.",
"defaultDaily3Text": "45m Reading",
"defaultDaily3Notes": "If you miss a daily frequently, it will turn darker shades of orange and red. The redder the task is, the more experience and gold it grants for success and the more damage you take for failure. This encourages you to focus on your shortcomings, the reds.",
"defaultTodo1Text": "Call Mom",
"defaultTodo1Notes": "While not completing a to-do in a set period of time will not hurt you, they will gradually change from yellow to red, thus becoming more valuable. This will encourage you to wrap up stale To-Dos.",
"defaultDaily4Text": "Exercise",
"defaultDaily4Notes": "You can add checklists to dailies and todos. As you progress through the checklist, you will get a proportionate reward.",
"defaultDaily4Checklist1": "Stretching",
"defaultDaily4Checklist2": "Sit-ups",
"defaultDaily4Checklist3": "Push-ups",
"defaultTodo1Text": "Use emojis :+1:",
"defaultTodo1Notes": "You can use emojis in all your habit, daily, and to-do titles.",
"defaultTodo2Text": "_Learn_ **Markdown** :book:",
"defaultTodo2Notes": "You can use Markdown for styling your task names.",
"defaultTodo3Text": "Call Mom :telephone_receiver:",
"defaultTodo3Notes": "While not completing a to-do in a set period of time will not hurt you, they will gradually change from yellow to red, thus becoming more valuable. This will encourage you to wrap up stale To-Dos.",
"defaultReward1Text": "1 Episode of Game of Thrones",
"defaultReward1Notes": "Custom rewards can come in many forms. Some people will hold off watching their favorite show unless they have the gold to pay for it.",

View file

@ -295,6 +295,23 @@
"backMystery201402Text": "Golden Wings",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun!",
"backMystery201404Text": "Twilight Butterfly Wings",
"backMystery201404Notes": "Be a butterfly and flutter by!",
"backSpecialWonderconRedText": "Mighty Cape",
"backSpecialWonderconRedNotes": "Swishes with strength and beauty. Special edition convention armor.",
"backSpecialWonderconBlackText": "Sneaky Cape",
"backSpecialWonderconBlackNotes": "Spun of shadows and whispers. Special edition convention armor.",
"bodyBase0Text": "No Body Accessory",
"bodyBase0Notes": "No Body Accessory.",
"bodySpecialWonderconRedText": "Ruby Collar",
"bodySpecialWonderconRedNotes": "An attractive ruby collar! Special edition convention armor.",
"bodySpecialWonderconGoldText": "Golden Collar",
"bodySpecialWonderconGoldNotes": "An attractive gold collar! Special edition convention armor.",
"bodySpecialWonderconBlackText": "Ebony Collar",
"bodySpecialWonderconBlackNotes": "An attractive ebony collar! Special edition convention armor.",
"headAccessoryBase0Text": "No Head Accessory",
"headAccessoryBase0Notes": "No Head Accessory.",
@ -302,13 +319,19 @@
"headAccessorySpecialSpringRogueText": "Purple Cat Ears",
"headAccessorySpecialSpringRogueNotes": "These feline ears twitch to detect incoming threats. Confers no stat bonus. Limited Edition 2014 Spring Gear.",
"headAccessorySpecialSpringWarriorText": "Green Bunny Ears",
"headAccessorySpecialSpringWarriorNotes": "Bunny ears that keenly detect every crunch of a carrot. Confers no status bonus. Limited Edition 2014 Spring Gear.",
"headAccessorySpecialSpringWarriorNotes": "Bunny ears that keenly detect every crunch of a carrot. Confers no stat bonus. Limited Edition 2014 Spring Gear.",
"headAccessorySpecialSpringMageText": "Blue Mouse Ears",
"headAccessorySpecialSpringMageNotes": "These round mouse ears are silky-soft. Confers no stat bonus. Limited Edition 2014 Spring Gear.",
"headAccessorySpecialSpringHealerText": "Yellow Dog Ears",
"headAccessorySpecialSpringHealerNotes": "Floppy but cute. Wanna play? Confers no stat bonus. Limited Edition 2014 Spring Gear.",
"headAccessorySpecialWonderconRedText": "Mighty Mask",
"headAccessorySpecialWonderconRedNotes": "What a powerful face accessory! Special edition convention armor.",
"headAccessorySpecialWonderconBlackText": "Sneaky Mask",
"headAccessorySpecialWonderconBlackNotes": "Your motives are definitely legitimate. Special edition convention armor.",
"headAccessoryMystery201403Text": "Forest Walker Antlers",
"headAccessoryMystery201403Notes": "These antlers shimmer with moss and lichen."
"headAccessoryMystery201403Notes": "These antlers shimmer with moss and lichen.",
"headAccessoryMystery201404Text": "Twilight Butterfly Antennae",
"headAccessoryMystery201404Notes": "These antennae help the wearer sense dangerous distractions!"
}

View file

@ -12,20 +12,20 @@
"questEvilSanta2CollectBranches": "Broken Twigs",
"questEvilSanta2DropBearCubPolarPet": "Polar Bear (Pet)",
"questGryphonText": "The Fiery Gryphon",
"questGryphonNotes": "The grand beastmaster, @baconsaur, has come to your party seeking help. \"Please, adventurers, you must help me! My prized gryphon has broken free and is terrorizing Habit City! If you can stop her, I could reward you with some of her eggs!\"",
"questGryphonCompletion": "Defeated, the mighty beast ashamedly slinks back to its master.\"My word! Well done, adventurers!\" @baconsaur exclaims, \"Please, have some of the gryphon's eggs. I am sure you will raise these young ones well!\"",
"questGryphonText": "The Fiery Gryphon",\
"questGryphonNotes": "The grand beastmaster, <strong>baconsaur</strong>, has come to your party seeking help. \"Please, adventurers, you must help me! My prized gryphon has broken free and is terrorizing Habit City! If you can stop her, I could reward you with some of her eggs!\"",
"questGryphonCompletion": "Defeated, the mighty beast ashamedly slinks back to its master.\"My word! Well done, adventurers!\" <strong>baconsaur</strong> exclaims, \"Please, have some of the gryphon\'s eggs. I am sure you will raise these young ones well!",
"questGryphonBoss": "Fiery Gryphon",
"questGryphonDropGryphonEgg": "Gryphon (Egg)",
"questHedgehogText": "The Hedgebeast",
"questHedgehogNotes": "Hedgehogs are a funny group of animals. They are some of the most affectionate pets a Habiteer could own. But rumor has it, if you feed them milk after midnight, they grow quite irritable. And fifty times their size. And @Inventrix did just that. Oops.",
"questHedgehogNotes": "Hedgehogs are a funny group of animals. They are some of the most affectionate pets a Habiteer could own. But rumor has it, if you feed them milk after midnight, they grow quite irritable. And fifty times their size. And <strong>Inventrix</strong> did just that. Oops.",
"questHedgehogCompletion": "Your party successfully calmed down the hedgehog! After shrinking down to a normal size, she hobbles away to her eggs. She returns squeaking and nudging some of her eggs along towards your party. Hopefully, these hedgehogs like milk better!",
"questHedgehogBoss": "Hedgebeast",
"questHedgehogDropHedgehogEgg": "Hedgehog (Egg)",
"questGhostStagText": "The Spirit of Spring",
"questGhostStagNotes": "Ahh, Spring. The time of year when color once again begins to fill the landscape. Gone are the cold, snowy mounds of winter. Where frost once stood, vibrant plant life takes its place. Luscious green leaves fill in the trees, grass returns to its former vivid hue, a rainbow of flowers rise along the plains, and a white mystical fog covers the land! ... Wait. Mystical fog? \"Oh no,\" @Inventrix says apprehensively, \"It would appear that some kind of spirit is the cause of this fog. Oh, and it is charging right at you.\"",
"questGhostStagNotes": "Ahh, Spring. The time of year when color once again begins to fill the landscape. Gone are the cold, snowy mounds of winter. Where frost once stood, vibrant plant life takes its place. Luscious green leaves fill in the trees, grass returns to its former vivid hue, a rainbow of flowers rise along the plains, and a white mystical fog covers the land! ... Wait. Mystical fog? \"Oh no,\" <strong>Inventrix</strong> says apprehensively, \"It would appear that some kind of spirit is the cause of this fog. Oh, and it is charging right at you.\"",
"questGhostStagCompletion": "The spirit, seemingly unwounded, lowers its nose to the ground. A calming voice envelops your party. \"I apologize for my behavior. I have only just awoken from my slumber, and it would appear my wits have not completely returned to me. Please take these as a token of my apology.\" A cluster of eggs materialize on the grass before the spirit. Without another word, the spirit runs off into the forest with flowers falling in his wake.",
"questGhostStagBoss": "Ghost Stag",
"questGhostStagDropDeerEgg": "Deer (Egg)",
@ -49,8 +49,8 @@
"questVice3DropShadeHatchingPotion": "Shade Hatching Potion",
"questEggHuntText": "Egg Hunt",
"questEggHuntNotes": "Overnight, strange plain eggs have appeared everywhere: in Matt's stables, behind the counter at the Tavern, and even among the pet eggs at the Marketplace! What a nuisance! \"Nobody knows where they came from, or what they might hatch into,\" says @Megan, \"but we can't just leave them laying around! Work hard and search hard to help me gather up these mysterious eggs. Maybe if you collect enough, there will be some extras left over for you...\"",
"questEggHuntCompletion": "You did it! In gratitude, @Megan gives you ten of the eggs. \"I don't think they hatch, exactly,\" she says, \"and they certainly won't grow into mounts. But that doesn't mean you can't dye them beautiful colors!\"",
"questEggHuntNotes": "Overnight, strange plain eggs have appeared everywhere: in Matt's stables, behind the counter at the Tavern, and even among the pet eggs at the Marketplace! What a nuisance! \"Nobody knows where they came from, or what they might hatch into,\" says <strong>Megan</strong>, \"but we can't just leave them laying around! Work hard and search hard to help me gather up these mysterious eggs. Maybe if you collect enough, there will be some extras left over for you...\"",
"questEggHuntCompletion": "You did it! In gratitude, <strong>Megan</strong> gives you ten of the eggs. \"I don't think they hatch, exactly,\" she says, \"and they certainly won't grow into mounts. But that doesn't mean you can't dye them beautiful colors!\"",
"questEggHuntCollectPlainEgg": "Plain Egg",
"questEggHuntDropPlainEgg": "Plain Egg"
}

View file

@ -234,18 +234,18 @@ gear =
0: text: t('backBase0Text'), notes: t('backBase0Notes'), value:0
mystery:
201402: text: t('backMystery201402Text'), notes: t('backMystery201402Notes'), mystery:mystery['201402'], value: 10
201404: text: 'Twilight Butterfly Wings', notes: "Be a butterfly and flutter by!", mystery:mystery['201404'], value: 10
201404: text: t('backMystery201404Text'), notes: t('backMystery201404Notes'), mystery:mystery['201404'], value: 10
special:
wondercon_red: text: 'Mighty Cape', notes: 'Swishes with strength and beauty. Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_black: text: 'Sneaky Cape', notes: 'Spun of shadows and whispers. Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_red: text: t('backSpecialWonderconRedText'), notes: t('backSpecialWonderconRedNotes'), value: 0, mystery:mystery.wondercon
wondercon_black: text: t('backSpecialWonderconBlackText'), notes: t('backSpecialWonderconBlackNotes'), value: 0, mystery:mystery.wondercon
body:
base:
0: text: "No Body Accessory", notes:'No Body Accessory.', value:0
0: text: t('bodyBase0Text'), notes:t('bodyBase0Notes'), value:0
special:
wondercon_red: text: 'Ruby Collar', notes: 'An attractive ruby collar! Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_gold: text: 'Golden Collar', notes: 'An attractive gold collar! Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_black: text: 'Ebony Collar', notes: 'An attractive ebony collar! Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_red: text: t('bodySpecialWonderconRedText'), notes: t('bodySpecialWonderconRedNotes'), value: 0, mystery:mystery.wondercon
wondercon_gold: text: t('bodySpecialWonderconGoldText'), notes: t('bodySpecialWonderconGoldNotes'), value: 0, mystery:mystery.wondercon
wondercon_black: text: t('bodySpecialWonderconBlackText'), notes: t('bodySpecialWonderconBlackNotes'), value: 0, mystery:mystery.wondercon
headAccessory:
base:
@ -256,11 +256,11 @@ gear =
springWarrior: event: events.spring, specialClass: 'warrior', text: t('headAccessorySpecialSpringWarriorText'), notes: t('headAccessorySpecialSpringWarriorNotes'), value: 20
springMage: event: events.spring, specialClass: 'wizard', text: t('headAccessorySpecialSpringMageText'), notes: t('headAccessorySpecialSpringMageNotes'), value: 20
springHealer: event: events.spring, specialClass: 'healer', text: t('headAccessorySpecialSpringHealerText'), notes: t('headAccessorySpecialSpringHealerNotes'), value: 20
wondercon_red: text: 'Mighty Mask', notes: 'What a powerful face accessory! Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_black: text: 'Sneaky Mask', notes: 'Your motives are definitely legitimate. Special edition convention armor.', value: 0, mystery:mystery.wondercon
wondercon_red: text: t('headAccessorySpecialWonderconRedText'), notes: t('headAccessorySpecialWonderconRedNotes'), value: 0, mystery:mystery.wondercon
wondercon_black: text: t('headAccessorySpecialWonderconBlackText'), notes: t('headAccessorySpecialWonderconBlackNotes'), value: 0, mystery:mystery.wondercon
mystery:
201403: text: t('headAccessoryMistery201403Text'), notes: t('headAccessoryMistery201403Notes'), mystery:mystery['201403'], value: 10
201404: text: 'Twilight Butterfly Antennae', notes: "These antennae help the wearer sense dangerous distractions!", mystery:mystery['201404'], value: 10
201404: text: t('headAccessoryMistery201404Text'), notes: t('headAccessoryMistery201404Notes'), mystery:mystery['201404'], value: 10
###
The gear is exported as a tree (defined above), and a flat list (eg, {weapon_healer_1: .., shield_special_0: ...}) since
@ -843,12 +843,15 @@ api.userDefaults =
dailys: [
{type: 'daily', text: t('defaultDaily1Text'), notes: t('defaultDaily1Notes'), value: 0, completed: false, repeat: repeat, attribute: 'per' }
{type: 'daily', text: t('defaultDaily2Text'), notes: t('defaultDaily2Notes'), value: 3, completed: false, repeat: repeat, attribute: 'str' }
{type: 'daily', text: t('defaultDaily2Text'), notes: t('defaultDaily2Notes'), value: 3, completed: false, repeat: repeat, attribute: 'con' }
{type: 'daily', text: t('defaultDaily3Text'), notes: t('defaultDaily3Notes'), value: -10, completed: false, repeat: repeat, attribute: 'int' }
{type: 'daily', text: t('defaultDaily4Text'), notes: t('defaultDaily4Notes'), checklist: [{completed: true, text: t('defaultDaily4Checklist1') }, {completed: false, text: t('defaultDaily4Checklist2')}, {completed: false, text: t('defaultDaily4Checklist3')}], completed: false, repeat: repeat, attribute: 'str' }
]
todos: [
{type: 'todo', text: t('defaultTodo1Text'), notes: t('defaultTodo1Notes'), value: -3, completed: false, attribute: 'per' }
{type: 'todo', text: t('defaultTodo1Text'), notes: t('defaultTodo1Notes'), completed: false, attribute: 'int' }
{type: 'todo', text: t('defaultTodo2Text'), notes: t('defaultTodo2Notes'), completed: false, attribute: 'int' }
{type: 'todo', text: t('defaultTodo3Text'), notes: t('defaultTodo3Notes'), value: -3, completed: false, attribute: 'per' }
]
rewards: [