- b-modal#inbox-modal(title="", :hide-footer="true", size='lg')
+ b-modal#inbox-modal(title="", :hide-footer="true", size='lg', @shown="onModalShown", @hide="onModalHide")
.header-wrap.container.align-items-center(slot="modal-header")
.row.align-items-center
.col-4
@@ -34,13 +34,19 @@
span.timeago {{conversation.date | timeAgo}}
div {{conversation.lastMessageText ? conversation.lastMessageText.substring(0, 30) : ''}}
.col-8.messages.d-flex.flex-column.justify-content-between
- .empty-messages.text-center(v-if='activeChat.length === 0 && !selectedConversation.key')
+ .empty-messages.text-center(v-if='!selectedConversation.key')
.svg-icon.envelope(v-html="icons.messageIcon")
h4 {{placeholderTexts.title}}
p(v-html="placeholderTexts.description")
- .empty-messages.text-center(v-if='activeChat.length === 0 && selectedConversation.key')
+ .empty-messages.text-center(v-if='selectedConversation.key && selectedConversationMessages.length === 0')
p {{ $t('beginningOfConversation', {userName: selectedConversation.name})}}
- chat-message.message-scroll(v-if="activeChat.length > 0", :chat.sync='activeChat', :inbox='true', ref="chatscroll")
+ chat-messages.message-scroll(
+ v-if="selectedConversation.messages && selectedConversationMessages.length > 0",
+ :chat='selectedConversationMessages',
+ :inbox='true',
+ @message-removed='messageRemoved',
+ ref="chatscroll"
+ )
.pm-disabled-caption.text-center(v-if="user.inbox.optOut && selectedConversation.key")
h4 {{$t('PMDisabledCaptionTitle')}}
p {{$t('PMDisabledCaptionText')}}
@@ -196,43 +202,46 @@ import moment from 'moment';
import filter from 'lodash/filter';
import sortBy from 'lodash/sortBy';
import groupBy from 'lodash/groupBy';
-import findIndex from 'lodash/findIndex';
import { mapState } from 'client/libs/store';
import styleHelper from 'client/mixins/styleHelper';
import toggleSwitch from 'client/components/ui/toggleSwitch';
+import axios from 'axios';
import messageIcon from 'assets/svg/message.svg';
-import chatMessage from '../chat/chatMessages';
+import chatMessages from '../chat/chatMessages';
import svgClose from 'assets/svg/close.svg';
export default {
mixins: [styleHelper],
components: {
- chatMessage,
+ chatMessages,
toggleSwitch,
},
mounted () {
this.$root.$on('habitica::new-inbox-message', (data) => {
this.$root.$emit('bv::show::modal', 'inbox-modal');
- const conversation = this.conversations.find(convo => {
- return convo.key === data.userIdToMessage;
- });
+ // Wait for messages to be loaded
+ const unwatchLoaded = this.$watch('loaded', (loaded) => {
+ if (!loaded) return;
+
+ const conversation = this.conversations.find(convo => {
+ return convo.key === data.userIdToMessage;
+ });
+ if (loaded) setImmediate(() => unwatchLoaded());
+
+ if (conversation) {
+ this.selectConversation(data.userIdToMessage);
+ return;
+ }
+
+ this.initiatedConversation = {
+ user: data.userName,
+ uuid: data.userIdToMessage,
+ };
- if (conversation) {
this.selectConversation(data.userIdToMessage);
- return;
- }
-
- const newMessage = {
- text: '',
- timestamp: new Date(),
- user: data.userName,
- uuid: data.userIdToMessage,
- id: '',
- };
- this.$set(this.user.inbox.messages, data.userIdToMessage, newMessage);
- this.selectConversation(data.userIdToMessage);
+ }, {immediate: true});
});
},
destroyed () {
@@ -248,8 +257,10 @@ export default {
selectedConversation: {},
search: '',
newMessage: '',
- activeChat: [],
showPopover: false,
+ messages: [],
+ loaded: false,
+ initiatedConversation: null,
};
},
filters: {
@@ -260,8 +271,18 @@ export default {
computed: {
...mapState({user: 'user.data'}),
conversations () {
- const inboxGroup = groupBy(this.user.inbox.messages, 'uuid');
+ const inboxGroup = groupBy(this.messages, 'uuid');
+ // Add placeholder for new conversations
+ if (this.initiatedConversation && this.initiatedConversation.uuid) {
+ inboxGroup[this.initiatedConversation.uuid] = [{
+ id: '',
+ text: '',
+ user: this.initiatedConversation.user,
+ uuid: this.initiatedConversation.uuid,
+ timestamp: new Date(),
+ }];
+ }
// Create conversation objects
const convos = [];
for (let key in inboxGroup) {
@@ -283,12 +304,9 @@ export default {
return newChat;
});
+ // In case the last message is a placeholder, remove it
const recentMessage = newChatModels[newChatModels.length - 1];
-
- // Special case where we have placeholder message because conversations are just grouped messages for now
- if (!recentMessage.text) {
- newChatModels.splice(newChatModels.length - 1, 1);
- }
+ if (!recentMessage.text) newChatModels.splice(newChatModels.length - 1, 1);
const convoModel = {
name: recentMessage.toUser ? recentMessage.toUser : recentMessage.user, // Handles case where from user sent the only message or the to user sent the only message
@@ -308,6 +326,12 @@ export default {
return conversations.reverse();
},
+ // Separate from selectedConversation which is not coputed so messages don't update automatically
+ selectedConversationMessages () {
+ const selectedConversationKey = this.selectedConversation.key;
+ const selectedConversation = this.conversations.find(c => c.key === selectedConversationKey);
+ return selectedConversation ? selectedConversation.messages : [];
+ },
filtersConversations () {
if (!this.search) return this.conversations;
return filter(this.conversations, (conversation) => {
@@ -343,6 +367,25 @@ export default {
},
},
methods: {
+ async onModalShown () {
+ this.loaded = false;
+ const res = await axios.get('/api/v4/inbox/messages');
+ this.messages = res.data.data;
+ this.loaded = true;
+ },
+ onModalHide () {
+ this.messages = [];
+ this.loaded = false;
+ this.initiatedConversation = null;
+ },
+ messageRemoved (message) {
+ const messageIndex = this.messages.findIndex(msg => msg.id === message.id);
+ if (messageIndex !== -1) this.messages.splice(messageIndex, 1);
+ if (this.selectedConversationMessages.length === 0) this.initiatedConversation = {
+ user: this.selectedConversation.name,
+ uuid: this.selectedConversation.key,
+ };
+ },
toggleClick () {
this.displayCreate = !this.displayCreate;
},
@@ -354,14 +397,7 @@ export default {
return conversation.key === key;
});
- this.selectedConversation = convoFound;
- let activeChat = convoFound.messages;
-
- activeChat = sortBy(activeChat, [(o) => {
- return moment(o.timestamp).toDate();
- }]);
-
- this.$set(this, 'activeChat', activeChat);
+ this.selectedConversation = convoFound || {};
Vue.nextTick(() => {
if (!this.$refs.chatscroll) return;
@@ -372,22 +408,22 @@ export default {
sendPrivateMessage () {
if (!this.newMessage) return;
- const convoFound = this.conversations.find((conversation) => {
- return conversation.key === this.selectedConversation.key;
- });
-
- convoFound.messages.push({
+ this.messages.push({
+ sent: true,
text: this.newMessage,
timestamp: new Date(),
- user: this.user.profile.name,
- uuid: this.user._id,
+ user: this.selectedConversation.name,
+ uuid: this.selectedConversation.key,
contributor: this.user.contributor,
});
- this.activeChat = convoFound.messages;
+ // Remove the placeholder message
+ if (this.initiatedConversation && this.initiatedConversation.uuid === this.selectedConversation.key) {
+ this.initiatedConversation = null;
+ }
- convoFound.lastMessageText = this.newMessage;
- convoFound.date = new Date();
+ this.selectedConversation.lastMessageText = this.newMessage;
+ this.selectedConversation.date = new Date();
Vue.nextTick(() => {
if (!this.$refs.chatscroll) return;
@@ -400,8 +436,7 @@ export default {
message: this.newMessage,
}).then(response => {
const newMessage = response.data.data.message;
- const messageIndex = findIndex(convoFound.messages, msg => !msg.id);
- convoFound.messages.splice(convoFound.messages.length - 1, messageIndex, newMessage);
+ Object.assign(this.messages[this.messages.length - 1], newMessage);
});
this.newMessage = '';
diff --git a/website/client/libs/notifications.js b/website/client/libs/notifications.js
index 656b6dcae9..b39c4bff21 100644
--- a/website/client/libs/notifications.js
+++ b/website/client/libs/notifications.js
@@ -47,6 +47,6 @@ export function round (number, nDigits) {
}
export function getXPMessage (val) {
- if (val < -50) return; // don't show when they multi-level up (resetting their exp)
+ if (val < -50) return; // don't show when they level up (resetting their exp)
return `${getSign(val)} ${round(val)}`;
}
\ No newline at end of file
diff --git a/website/client/libs/userlocalManager.js b/website/client/libs/userlocalManager.js
index 0e70869a3f..1c2f00343a 100644
--- a/website/client/libs/userlocalManager.js
+++ b/website/client/libs/userlocalManager.js
@@ -4,6 +4,7 @@ const CONSTANTS = {
SPELL_DRAWER_STATE: 'spell-drawer-state',
EQUIPMENT_DRAWER_STATE: 'equipment-drawer-state',
CURRENT_EQUIPMENT_DRAWER_TAB: 'current-equipment-drawer-tab',
+ STABLE_SORT_STATE: 'stable-sort-state',
},
drawerStateValues: {
DRAWER_CLOSED: 'drawer-closed',
diff --git a/website/client/mixins/inventoryUtils.js b/website/client/mixins/inventoryUtils.js
new file mode 100644
index 0000000000..87385a0aa4
--- /dev/null
+++ b/website/client/mixins/inventoryUtils.js
@@ -0,0 +1,27 @@
+export default {
+ methods: {
+ getItemClass (type, itemKey) {
+ switch (type) {
+ case 'food':
+ case 'special':
+ return `Pet_Food_${itemKey}`;
+ case 'eggs':
+ return `Pet_Egg_${itemKey}`;
+ case 'hatchingPotions':
+ return `Pet_HatchingPotion_${itemKey}`;
+ default:
+ return '';
+ }
+ },
+ getItemName (type, item) {
+ switch (type) {
+ case 'eggs':
+ return this.$t('egg', {eggType: item.text()});
+ case 'hatchingPotions':
+ return this.$t('potion', {potionType: item.text()});
+ default:
+ return item.text();
+ }
+ },
+ },
+};
diff --git a/website/client/mixins/pinUtils.js b/website/client/mixins/pinUtils.js
new file mode 100644
index 0000000000..b003754b01
--- /dev/null
+++ b/website/client/mixins/pinUtils.js
@@ -0,0 +1,19 @@
+import notifications from 'client/mixins/notifications';
+import isPinned from 'common/script/libs/isPinned';
+
+export default {
+ mixins: [notifications],
+ methods: {
+ isPinned (item) {
+ return isPinned(this.user, item);
+ },
+ togglePinned (item) {
+ if (!this.$store.dispatch('user:togglePinnedItem', {type: item.pinType, path: item.path})) {
+ this.showUnpinNotification(item);
+ }
+ },
+ showUnpinNotification (item) {
+ this.text(this.$t('unpinnedItem', {item: item.text}));
+ },
+ },
+};
diff --git a/website/client/router.js b/website/client/router.js
index 6368e39744..a7c53c18ff 100644
--- a/website/client/router.js
+++ b/website/client/router.js
@@ -1,7 +1,7 @@
import Vue from 'vue';
import VueRouter from 'vue-router';
import getStore from 'client/store';
-// import * as Analytics from 'client/libs/analytics';
+import * as Analytics from 'client/libs/analytics';
// import EmptyView from './components/emptyView';
@@ -344,15 +344,12 @@ router.beforeEach(function routerGuard (to, from, next) {
});
}
-
- /*
Analytics.track({
hitType: 'pageview',
eventCategory: 'navigation',
eventAction: 'navigate',
page: to.name || to.path,
});
- */
next();
});
diff --git a/website/client/store/actions/quests.js b/website/client/store/actions/quests.js
index ddd88cc308..cff15fa53a 100644
--- a/website/client/store/actions/quests.js
+++ b/website/client/store/actions/quests.js
@@ -6,16 +6,17 @@ import * as Analytics from 'client/libs/analytics';
export async function sendAction (store, payload) {
// @TODO: Maybe move this to server
- let partyData = {
- partyID: store.state.user.data.party._id,
- partySize: store.state.partyMembers.data.length,
- };
-
+ let partyData = {};
if (store.state.party && store.state.party.data) {
partyData = {
partyID: store.state.party.data._id,
partySize: store.state.party.data.memberCount,
};
+ } else {
+ partyData = {
+ partyID: store.state.user.data.party._id,
+ partySize: store.state.partyMembers.data.length,
+ };
}
Analytics.updateUser(partyData);
diff --git a/website/client/store/getters/members.js b/website/client/store/getters/members.js
index c0c246639c..0d66e70bbe 100644
--- a/website/client/store/getters/members.js
+++ b/website/client/store/getters/members.js
@@ -1,3 +1,5 @@
+import memberHasClass from 'common/script/libs/hasClass';
+
export function isBuffed () {
return (member) => {
const buffs = member.stats.buffs;
@@ -6,7 +8,5 @@ export function isBuffed () {
}
export function hasClass () {
- return (member) => {
- return member.stats.lvl >= 10 && !member.preferences.disableClasses && member.flags.classSelected;
- };
+ return memberHasClass;
}
\ No newline at end of file
diff --git a/website/common/errors/apiErrorMessages.js b/website/common/errors/apiErrorMessages.js
index 4857be3d58..a1550fddad 100644
--- a/website/common/errors/apiErrorMessages.js
+++ b/website/common/errors/apiErrorMessages.js
@@ -22,4 +22,6 @@ module.exports = {
missingCustomerId: 'Missing "req.query.customerId"',
missingPaypalBlock: 'Missing "req.session.paypalBlock"',
missingSubKey: 'Missing "req.query.sub"',
+
+ messageIdRequired: '\"messageId\" must be a valid UUID.",',
};
diff --git a/website/common/locales/bg/backgrounds.json b/website/common/locales/bg/backgrounds.json
index cf7d25bfb3..ca90b12bb5 100644
--- a/website/common/locales/bg/backgrounds.json
+++ b/website/common/locales/bg/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Каменист каньон",
"backgroundFlyingOverRockyCanyonNotes": "Погледнете отвисоко, докато прелитате над каменист каньон.",
"backgroundBridgeText": "Мост",
- "backgroundBridgeNotes": "Преминете по страхотен мост"
+ "backgroundBridgeNotes": "Преминете по страхотен мост",
+ "backgrounds092018": "КОМПЛЕКТ 52: септември 2018 г.",
+ "backgroundApplePickingText": "Бране на ябълки",
+ "backgroundApplePickingNotes": "Идете да берете ябълки и се върнете вкъщи с пълни кофи.",
+ "backgroundGiantBookText": "Огромна книга",
+ "backgroundGiantBookNotes": "Четете, докато се разхождате по страниците на огромна книга.",
+ "backgroundCozyBarnText": "Уютен обор",
+ "backgroundCozyBarnNotes": "Починете си с любимците и превозите си в техния уютен обор."
}
\ No newline at end of file
diff --git a/website/common/locales/bg/character.json b/website/common/locales/bg/character.json
index fcb11660fe..eecb6c058d 100644
--- a/website/common/locales/bg/character.json
+++ b/website/common/locales/bg/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Скриване на разпределението на показателните точки",
"quickAllocationLevelPopover": "Всяко ниво Ви дава една точка, която можете да разпределите на показател по свой избор. Можете да го направите ръчно или да оставите играта да реши вместо Вас, използвайки една възможностите за автоматично разпределяне, които можете да намерите в Потребителската иконка > Показатели.",
"notEnoughAttrPoints": "Нямате достатъчно показателни точки.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Стил",
"facialhair": "Лице",
"photo": "Снимка",
diff --git a/website/common/locales/bg/content.json b/website/common/locales/bg/content.json
index 9c654ceb5d..10025ed8ab 100644
--- a/website/common/locales/bg/content.json
+++ b/website/common/locales/bg/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Звездна нощ",
"hatchingPotionRainbow": "Дъга",
"hatchingPotionGlass": "Стъкло",
+ "hatchingPotionGlow": "Светещо в тъмното",
"hatchingPotionNotes": "Излейте това върху яйце и от него ще се излюпи любимец с(ъс) <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Не може да се използва върху яйца за любимци от мисии.",
"foodMeat": "Месо",
diff --git a/website/common/locales/bg/front.json b/website/common/locales/bg/front.json
index bbe5dfc2aa..90eeefec31 100644
--- a/website/common/locales/bg/front.json
+++ b/website/common/locales/bg/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Грешен адрес на е-поща.",
"emailTaken": "Тази е-поща вече се използва от съществуващ профил.",
"newEmailRequired": "Липсва нов адрес на е-поща.",
+ "usernameTime": "Време е да си създадете потребителско име!",
+ "usernameInfo": "Екранното Ви име не е променено, но старото Ви име за вписване вече ще бъде публичното Ви потребителско име. Това потребителско име ще се използва за покани, @споменавания в чата, и за изпращане на съобщения.
Ако искате да научите повече за тази промяна, посетете уикито ни.",
+ "usernameTOSRequirements": "Потребителските имена трябва са съобразени с Условията за ползване и Обществените правила. Ако преди това не сте имали име за вписване, то потребителското Ви име е създадено автоматично.",
"usernameTaken": "Потребителското име е заето.",
"usernameWrongLength": "Потребителското име трябва да бъде с дължина между 1 и 20 знака.",
+ "displayNameWrongLength": "Екранното име трябва да бъде с дължина между 1 и 30 знака.",
"usernameBadCharacters": "Потребителското име може да съдържа само латинските букви от „a“ до „z“, числата от 0 до 9, тире и долна черта.",
+ "nameBadWords": "Имената не може да съдържат неприлични думи.",
+ "confirmUsername": "Потвърждаване на потребителското име",
+ "usernameConfirmed": "Потребителското име е патвърдено",
"passwordConfirmationMatch": "Повторената парола не съвпада с първата.",
"invalidLoginCredentials": "Грешно потребителско име и/или е-поща и/или парола.",
"passwordResetPage": "Нулиране на паролата",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Регистрирайте се чрез <%= social %>",
"loginWithSocial": "Влезте чрез <%= social %>",
"confirmPassword": "Повторете паролата",
- "usernameLimitations": "Потребителското име трябва да бъде с дължина между 1 и 20 знака и може да съдържа само латинските букви от „a“ до „z“, числата от 0 до 9, тире и долна черта.",
+ "usernameLimitations": "Потребителското име трябва да бъде с дължина между 1 и 20 знака и може да съдържа само латинските букви от „a“ до „z“, числата от 0 до 9, тире и долна черта. То не може да съдържа неприлични думи.",
"usernamePlaceholder": "Например: HabitRabbit",
"emailPlaceholder": "Например: име@пример.сървър",
"passwordPlaceholder": "Например: ******************",
@@ -329,6 +336,5 @@
"signup": "Регистриране",
"getStarted": "Първи стъпки",
"mobileApps": "Мобилни приложения",
- "learnMore": "Научете повече",
- "useMobileApps": "Хабитика не работи добре в браузър за мобилно устройство. Препоръчваме Ви да свалите мобилното ни приложение."
+ "learnMore": "Научете повече"
}
\ No newline at end of file
diff --git a/website/common/locales/bg/gear.json b/website/common/locales/bg/gear.json
index 87ac739ee3..b986183945 100644
--- a/website/common/locales/bg/gear.json
+++ b/website/common/locales/bg/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Под водата заклинанията, основаващи се на огън, лед или електричество, може да бъдат опасни за Магьосника. Измагьосването на отровни шипове, обаче, работи безпроблемно! Увеличава интелигентността с <%= int %> и усета с <%= per %>. Ограничена серия: Лятна екипировка 2018 г.",
"weaponSpecialSummer2018HealerText": "Царски русалски тризъбец",
"weaponSpecialSummer2018HealerNotes": "С лек благосклонен жест насочвате лечебна вода на вълни през владенията си. Увеличава интелигентността с <%= int %>. Ограничена серия: Лятна екипировка 2018 г.",
+ "weaponSpecialFall2018RogueText": "Стъкленица на яснотата",
+ "weaponSpecialFall2018RogueNotes": "Когато искате да се върнете на себе си, или се нуждаете от малко помощ, за да вземете правилното решение, поемете дълбоко дъх и си глътнете една глътка. Всичко ще бъде наред! Увеличава силата с <%= str %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "weaponSpecialFall2018WarriorText": "Камшикът на Минос",
+ "weaponSpecialFall2018WarriorNotes": "Недостатъчно дълго, за да се развие зад Вас и да Ви задържи в лабиринта. Е, може би, ако лабиринтът е много малък. Увеличава силата с <%= str %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "weaponSpecialFall2018MageText": "Скиптър на сладостта",
+ "weaponSpecialFall2018MageNotes": "Това не е просто някаква близалка! Светещото кълбо от вълшебна захар на върха на този скиптър има силата да кара добрите навици да залепнат за Вас. Увеличава интелигентността с <%= int %> и усета с <%= per %>. Ограничена серия: Есенна екипировка 2018 г. Оръжие за две ръце.",
+ "weaponSpecialFall2018HealerText": "Гладен скиптър",
+ "weaponSpecialFall2018HealerNotes": "Просто гледайте този скиптър да е нахранен, и той ще Ви възнаграждава с благословиите си. Ако забравите да го нахраните, по-добре си пазете пръстите. Увеличава интелигентността с <%= int %>. Ограничена серия: Есенна екипировка 2018 г.",
"weaponMystery201411Text": "Вилица на изобилието",
"weaponMystery201411Notes": "Наръгайте враговете си или си боцнете от любимата храна — тази универсална вилица може всичко! не променя показателите. Предмет за абонати: ноември 2014 г.",
"weaponMystery201502Text": "Блестящият крилат скиптър на любовта и истината",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Използвайте това, за да изградите имунитет срещу различни невъобразимо опасни отрови. Увеличава интелигентността с <%= int %>. Омагьосан гардероб: комплект „Пиратска принцеса“ (предмет 3 от 4).",
"weaponArmoireJeweledArcherBowText": "Инкрустиран лък за стрелец",
"weaponArmoireJeweledArcherBowNotes": "Този лък от злато и скъпоценни камъни ще изпрати стрелите Ви към целите им с невероятна скорост. Увеличава интелигентността с <%= int %>. Омагьосан гардероб: Инкрустиран стрелкови комплект (предмет 3 от 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Игла за подвързване",
+ "weaponArmoireNeedleOfBookbindingNotes": "Ще се учудите колко здрави могат да бъдат книгите. Тази игла може да пробие всичко и да достигне до сърцето на задачите Ви. Увеличава силата с <%= str %>. Омагьосан гардероб: Подвързачески комплект (предмет 3 от 4).",
"armor": "броня",
"armorCapitalized": "Броня",
"armorBase0Text": "Обикновени дрехи",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Заклинанията за отравяне обикновено се правят незабележимо. Не и с тази цветна броня, с която всичко се казва ясно: внимавайте! Увеличава интелигентността с <%= int %>. Ограничена серия: Лятна екипировка 2018 г.",
"armorSpecialSummer2018HealerText": "Царски русалски одежди",
"armorSpecialSummer2018HealerNotes": "Тези небесно сини одежди показват, че имате… крака за ходене по земята. Дори и царете не са перфектни. Увеличава якостта с <%= con %>. Ограничена серия: Лятна екипировка 2017 г.",
+ "armorSpecialFall2018RogueText": "Дълго палто на алтер егото",
+ "armorSpecialFall2018RogueNotes": "Стил за деня. Удобство и защита за нощта. Увеличава усета с <%= per %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "armorSpecialFall2018WarriorText": "Броня на минотавър",
+ "armorSpecialFall2018WarriorNotes": "Всичко, което Ви е нужно, за да се разхождате из лабиринта си за медитация. Увеличава якостта с <%= con %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "armorSpecialFall2018MageText": "Одежди на майстор на бонбони",
+ "armorSpecialFall2018MageNotes": "В тъканта на тези одежди са втъкани вълшебни бонбони! Но яденето им не е препоръчително. Увеличава интелигентността с <%= int %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "armorSpecialFall2018HealerText": "Месоядна мантия",
+ "armorSpecialFall2018HealerNotes": "Въпреки че е направена от растения, тази мантия не е вегетарианска. Лошите навици я заобикалят от километри. Увеличава якостта с <%= con %>. Ограничена серия: Есенна екипировка 2018 г.",
"armorMystery201402Text": "Одежди на вестоносец",
"armorMystery201402Notes": "Блестящи и здрави, тези одежди имат много джобове за носене на писма. Не променя показателите. Предмет за абонати: февруари 2014 г.",
"armorMystery201403Text": "Броня на горски бродник",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "По тази игрива опашка има светещи петна, които ще осветят пътя Ви в дълбините. Не променя показателите. Предмет за абонати: юни 2018 г.",
"armorMystery201807Text": "Опашка на морски змей",
"armorMystery201807Notes": "Тази могъща опашка ще Ви изстреля с невероятна скорост през морските дълбини! Не променя показателите. Предмет за абонати: юли 2018 г.",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "Броня на дракон от лава",
+ "armorMystery201808Notes": "Тази броня е направена от отчупени люспи на неуловимия (и изключително горещ) дракон от лава. Не променя показателите. Предмет за абонати: август 2018 г.",
+ "armorMystery201809Text": "Броня от есенни листа",
+ "armorMystery201809Notes": "Вие не сте просто малко и страховито листенце, а носите най-красивите цветове за сезона! Не променя показателите. Предмет за абонати: септември 2018 г.",
"armorMystery301404Text": "Изтънчен костюм",
"armorMystery301404Notes": "Спретнат и елегантен! Не променя показателите. Предмет за абонати: февруари 3015 г.",
"armorMystery301703Text": "Изтънчена паунова рокля",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "В тази луксозна дреха има много джобове за криене на оръжия и плячка! Увеличава усета с <%= per %>. Омагьосан гардероб: комплект „Пиратска принцеса“ (предмет 2 от 4).",
"armorArmoireJeweledArcherArmorText": "Инкрустирана броня за стрелец",
"armorArmoireJeweledArcherArmorNotes": "Тази прецизно изработена броня ще Ви защити от стрели и блуждаещи червени ежедневни задачи! Увеличава якостта с <%= con %>. Омагьосан гардероб: Инкрустиран стрелкови комплект (предмет 2 от 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Униформа за подвързване",
+ "armorArmoireCoverallsOfBookbindingNotes": "Всичко, от което се нуждае една униформа, включително джобове за всичко. Чифт очила, дребни монети, златен пръстен… Увеличава якостта с <%= con %> и усета с <%= per %>. Омагьосан гардероб: Подвързачески комплект (предмет 2 от 4).",
"headgear": "шлем",
"headgearCapitalized": "Защита за главата",
"headBase0Text": "Няма защита за главата",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Пригответе убийствения си поглед, за всеки, който се осмели да каже, че изглеждате „сладко“. Увеличава усета с <%= per %>. Ограничена серия: Лятна екипировка 2018 г.",
"headSpecialSummer2018HealerText": "Царска русалска корона",
"headSpecialSummer2018HealerNotes": "Украсена със зеленикаво-сини оттенъци, тази диадема с перки показва господарството Ви над хората, рибите и онези, които са по малко от двете! Увеличава интелигентността с <%= int %>. Ограничена серия: Лятна екипировка 2018 г.",
+ "headSpecialFall2018RogueText": "Лице на алтер егото",
+ "headSpecialFall2018RogueNotes": "Повечето от нас крият вътрешните си борби. Тази маска показва, че всички изпитваме напрежение от битката между добрите и лошите си пориви. Увеличава усета с <%= per %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "headSpecialFall2018WarriorText": "Маска на минотавър",
+ "headSpecialFall2018WarriorNotes": "Тази страховита маска показва, че наистина можете да хванете задачите си за рогата! Увеличава силата с <%= str %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "headSpecialFall2018MageText": "Шапка на майстор на бонбони",
+ "headSpecialFall2018MageNotes": "Тази островърха шапка е подсилена с могъщи заклинание за сладост. Внимавайте, защото ако се намокри, може да стане лепкава! Увеличава усета с <%= per %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "headSpecialFall2018HealerText": "Хищен шлем",
+ "headSpecialFall2018HealerNotes": "Този шлем е направен от месоядно растение, известно със способността си да произвежда зомбита и други неудобства. Увеличава интелигентността с <%= int %>. Ограничена серия: Есенна екипировка 2018 г.",
"headSpecialGaymerxText": "Боен шлем с цветовете на дъгата",
"headSpecialGaymerxNotes": "В чест на конференцията GaymerX, този специален шлем е оцветен с шарка на дъга! GaymerX е игрално изложение в чест на ЛГБТ културата и игрите и е отворено за всички.",
"headMystery201402Text": "Крилат шлем",
@@ -1072,8 +1102,10 @@
"headMystery201806Notes": "Хипнотизиращата светлина, закачена отгоре на този шлем, ще привика всички морски същества на Ваша страна. Не променя показателите. Предмет за абонати: февруари 2018 г.",
"headMystery201807Text": "Шлем на морски змей",
"headMystery201807Notes": "Здравите люспи на този шлем ще Ви защитят от всеки морски враг. Не променя показателите. Предмет за абонати: юли 2018 г.",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201808Text": "Качулка на дракон от лава",
+ "headMystery201808Notes": "Светещите рога на тази качулка ще Ви осветят пътя през подземните пещери. Не променя показателите. Предмет за абонати: август 2018 г.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "Последните цветя на топлите есенни дни напомнят за красотата на този сезон. Не променя показателите. Предмет за абонати: септември 2018 г.",
"headMystery301404Text": "Украсен цилиндър",
"headMystery301404Notes": "Украсен цилиндър за най-изтънчените и високопоставени членове на обществото. Не променя показателите. Предмет за абонати: януари 3015 г.",
"headMystery301405Text": "Обикновен цилиндър",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Изработен от камък, този страховит щит във формата на череп ще всее ужас в рибните неприятели, като същевременно ще сплоти скелетните Ви любимци и превози. Увеличава якостта с <%= con %>. Ограничена серия: Лятна екипировка 2018 г.",
"shieldSpecialSummer2018HealerText": "Царски русалски герб",
"shieldSpecialSummer2018HealerNotes": "Този щит може да създаде мехур от въздух за земните гости на подводното Ви царство. Увеличава якостта с <%= con %>. Ограничена серия: Лятна екипировка 2018 г.",
+ "shieldSpecialFall2018RogueText": "Стъкленица на изкушението",
+ "shieldSpecialFall2018RogueNotes": "Тази стъкленица представлява всички разсейвания и проблеми, които Ви пречат да бъдете по-добри. Опълчете се! Увеличава силата с <%= str %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "shieldSpecialFall2018WarriorText": "Брилянтен щит",
+ "shieldSpecialFall2018WarriorNotes": "Много лъскав, за да обезкуражава досадните горгони, опитващи се да се появяват изненадващо зад ъглите! Увеличава якостта с <%= con %>. Ограничена серия: Есенна екипировка 2018 г.",
+ "shieldSpecialFall2018HealerText": "Гладен щит",
+ "shieldSpecialFall2018HealerNotes": "С отворената си паст, този щит ще поеме всички удари на враговете Ви. Увеличава якостта с <%= con %>. Ограничена серия: Есенна екипировка 2018 г.",
"shieldMystery201601Text": "Решителен убиец",
"shieldMystery201601Notes": "Това острие може да отблъсне всички разсейващи Ви неща. Не променя показателите. Предмет за абонати: януари 2016 г.",
"shieldMystery201701Text": "Спиращ времето щит",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Каква страхотна ваза сътворихте! Какво има вътре? Увеличава интелигентността с <%= int %>. Омагьосан гардероб: комплект „Стъклодухач“ (предмет 4 от 4).",
"shieldArmoirePiraticalSkullShieldText": "Пиратски щит от череп",
"shieldArmoirePiraticalSkullShieldNotes": "Този омагьосан щит шепне къде са местата, където враговете Ви са заровили тайните си съкровища. Слушайте внимателно! Увеличава усета и интелигентността с по <%= attrs %>. Омагьосан гардероб: комплект „Пиратска принцеса“ (предмет 4 от 4).",
+ "shieldArmoireUnfinishedTomeText": "Незавършен том",
+ "shieldArmoireUnfinishedTomeNotes": "Няма как да протакате, когато държите това! Подвързията трябва да бъде завършена, за да могат хората да прочетат книгата! Увеличава интелигентността с <%= int %>. Омагьосан гардероб: Подвързачески комплект (предмет 4 от 4).",
"back": "Аксесоар за гръб",
"backCapitalized": "Аксесоар за гръб",
"backBase0Text": "Няма аксесоар за гръб",
"backBase0Notes": "Няма аксесоар за гръб.",
+ "animalTails": "Животински опашки",
"backMystery201402Text": "Златни крила",
"backMystery201402Notes": "Перата на тези сияйни крила блестят на слънце. Не променя показателите. Предмет за абонати: февруари 2014 г.",
"backMystery201404Text": "Крила на здрачна пеперуда",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Тази мантия някога е принадлежала на самата Изгубената класова повелителка. Увеличава усета с <%= per %>.",
"backSpecialTurkeyTailBaseText": "Пуешка опашка",
"backSpecialTurkeyTailBaseNotes": "Носете гордо пуешката си опашка, докато празнувате! Не променя показателите.",
+ "backBearTailText": "Опашка на мечка",
+ "backBearTailNotes": "С тази опашка приличате на смела мечка! Не променя показателите.",
+ "backCactusTailText": "Опашка на кактус",
+ "backCactusTailNotes": "С тази опашка приличате на бодлив кактус! Не променя показателите.",
+ "backFoxTailText": "Опашка на лисица",
+ "backFoxTailNotes": "С тази опашка приличате на хитра лисица! Не променя показателите.",
+ "backLionTailText": "Опашка на лъв",
+ "backLionTailNotes": "С тази опашка приличате на величествен лъв! Не променя показателите.",
+ "backPandaTailText": "Опашка на панда",
+ "backPandaTailNotes": "С тази опашка приличате на любезна панда! Не променя показателите.",
+ "backPigTailText": "Опашка на прасе",
+ "backPigTailNotes": "С тази опашка приличате на странно прасе! Не променя показателите.",
+ "backTigerTailText": "Опашка на тигър",
+ "backTigerTailNotes": "С тази опашка приличате на свиреп тигър! Не променя показателите.",
+ "backWolfTailText": "Опашка на лъв",
+ "backWolfTailNotes": "С тази опашка приличате на предан вълк! Не променя показателите.",
"body": "Аксесоар за тяло",
"bodyCapitalized": "Аксесоар за тяло",
"bodyBase0Text": "Няма аксесоар за тяло",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "„Очилата се слагат на очите“ — казват хората. „Никому не са нужни защитни очила, които могат да се носят само на главата“ — казват пак те. Ха! Показахте на всички, че това не е вярно! Не променя показателите. Предмет за абонати: август 3015 г.",
"headAccessoryArmoireComicalArrowText": "Забавна стрела",
"headAccessoryArmoireComicalArrowNotes": "Този странен предмет е създаден, за да предизвиква смях! Увеличава силата с <%= str %>. Омагьосан гардероб: независим предмет.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Очила за подвързване",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "С тези очила ще видите ясно всяка задача – била тя голяма или малка! Увеличава усета с <%= per %>. Омагьосан гардероб: Подвързачески комплект (предмет 1 от 4).",
"eyewear": "Предмет за очи",
"eyewearCapitalized": "Предмет за очи",
"eyewearBase0Text": "Няма предмет за очи",
diff --git a/website/common/locales/bg/groups.json b/website/common/locales/bg/groups.json
index ab9eb511f5..507a1923eb 100644
--- a/website/common/locales/bg/groups.json
+++ b/website/common/locales/bg/groups.json
@@ -6,6 +6,7 @@
"innText": "Вие почивате в странноприемницата! Докато сте вътре, ежедневните Ви задачи няма да Ви нараняват в края на деня, но ще продължат да се опресняват всеки ден. Внимавайте: ако участвате в мисия срещу главатар, той ще Ви наранява, когато членовете на групата Ви не изпълняват ежедневните си задачи, освен ако и те не са в странноприемницата! Освен това, докато не напуснете странноприемницата, Вашите щети срещу главатаря няма да бъдат прилагани, както и няма да получите събраните си предмети.",
"innTextBroken": "Вие почивате в странноприемницата, предполагам… Докато сте вътре, ежедневните Ви задачи няма да Ви нараняват в края на деня, но ще продължат да се опресняват всеки ден… Ако участвате в мисия срещу главатар, той ще Ви наранява, когато членовете на групата Ви не изпълняват ежедневните си задачи… освен ако и те не са в странноприемницата! Освен това, докато не напуснете странноприемницата, Вашите щети срещу главатаря няма да бъдат прилагани, както и няма да получите събраните си предмети… толкова съм уморен…",
"innCheckOutBanner": "В момента си почивате в странноприемницата. Докато сте тук ежедневните Ви задачи няма да Ви нанасят щети и няма да напредвате в мисиите си.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Продължаване на щетите",
"helpfulLinks": "Полезни връзки",
"communityGuidelinesLink": "Обществени правила",
diff --git a/website/common/locales/bg/limited.json b/website/common/locales/bg/limited.json
index 135b1f2679..2cb1931c77 100644
--- a/website/common/locales/bg/limited.json
+++ b/website/common/locales/bg/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Лъвски рибен магьосник (магьосник)",
"summer2018MerfolkMonarchSet": "Цар на русалките (лечител)",
"summer2018FisherRogueSet": "Рибар-мошеник (мошеник)",
+ "fall2018MinotaurWarriorSet": "Минотавър (воин)",
+ "fall2018CandymancerMageSet": "Майстор на бонбони (магьосник)",
+ "fall2018CarnivorousPlantSet": "Месоядно растение (лечител)",
+ "fall2018AlterEgoSet": "Алтер его (мошеник)",
"eventAvailability": "Налично за купуване до <%= date(locale) %>.",
"dateEndMarch": "30 април",
"dateEndApril": "19 април",
diff --git a/website/common/locales/bg/messages.json b/website/common/locales/bg/messages.json
index 29b544838c..981b15bd94 100644
--- a/website/common/locales/bg/messages.json
+++ b/website/common/locales/bg/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Идентификаторите на известията са задължителни.",
"unallocatedStatsPoints": "Имате <%= points %> неразпределени показателни точки",
"beginningOfConversation": "Това е началото на разговора Ви с <%= userName %>. Запомнете да спазвате добрия тон, да уважавате другия и да следвате Обществените правила!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Съжаляваме, но този потребител е изтрил профила си."
}
\ No newline at end of file
diff --git a/website/common/locales/bg/questscontent.json b/website/common/locales/bg/questscontent.json
index 90157616df..3eb56de516 100644
--- a/website/common/locales/bg/questscontent.json
+++ b/website/common/locales/bg/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "„СЕГА!“ — даваш знак на групата си всички да хвърлят бумерангите си обратно по кенгуруто. Животното подскача все по-надалеч с всеки удар, докато не побягва панически, оставяйки само малък облак тъмночервен прах, няколко яйца и малко златни монети.
@Mewrose се приближава до мястото, където преди малко стоеше кенгуруто — „Хей, къде отидоха бумерангите?“
„Сигурно са се превърнали в прах, явно от това е бил тъмночервеният пушек, когато завършихме задачите си“ — предполага @stefalupagus.
@LilithofAlfheim присвива очи към хоризонта — „Дали не идва още едно стадо кенгурута към нас?“
Всички се втурват обратно към Хабитград. По-добре да се изправите срещу трудните си задачи, вместо да получите още удари в тила!",
"questKangarooBoss": "Катастрофалното кенгуру",
"questKangarooDropKangarooEgg": "Кенгуру (яйце)",
- "questKangarooUnlockText": "Отключва възможността за купуване на яйца на кенгуру от пазара."
+ "questKangarooUnlockText": "Отключва възможността за купуване на яйца на кенгуру от пазара.",
+ "forestFriendsText": "Пакет мисии „Горски приятели“",
+ "forestFriendsNotes": "Съдържа: „Пролетен дух“, „Ежко-Звережко“ и „Оплетеното дърво“. Наличен до 30 септември."
}
\ No newline at end of file
diff --git a/website/common/locales/bg/subscriber.json b/website/common/locales/bg/subscriber.json
index 09a61ff931..f4c0bee5a9 100644
--- a/website/common/locales/bg/subscriber.json
+++ b/website/common/locales/bg/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "Феноменален паунов комплект",
"mysterySet201806": "Комплект на морския дявол",
"mysterySet201807": "Комплект на морския змей",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Комплект на дракон от лава",
+ "mysterySet201809": "Комплект на есенната броня",
"mysterySet301404": "Стандартен изтънчен комплект",
"mysterySet301405": "Комплект изтънчени принадлежности",
"mysterySet301703": "Изтънчен паунов комплект",
diff --git a/website/common/locales/cs/achievements.json b/website/common/locales/cs/achievements.json
index 93dc3d3615..a569a1cc6f 100644
--- a/website/common/locales/cs/achievements.json
+++ b/website/common/locales/cs/achievements.json
@@ -1,9 +1,9 @@
{
- "achievement": "Achievement",
+ "achievement": "Úspěch",
"share": "Sdílet",
"onwards": "Kupředu!",
"levelup": "Díky dosažení tvých cílů v reálném životě jsi se dostal na vyšší úroveň, a jsi díky tomu plně uzdraven!",
"reachedLevel": "Dosáhl jsi úrovně <%= level %>",
"achievementLostMasterclasser": "Dokončení výprav: Série Mistra třídy",
- "achievementLostMasterclasserText": "Splň všech šestnáct výprav ve sérii výprav Mistra třídy a vyřeš záhadu Ztraceného Mistra!"
+ "achievementLostMasterclasserText": "Splnil všech šestnáct výprav v sérii výprav Mistra třídy a vyřešil záhadu Ztraceného Mistra!"
}
diff --git a/website/common/locales/cs/backgrounds.json b/website/common/locales/cs/backgrounds.json
index fc1d24fb2f..58db49cf8f 100644
--- a/website/common/locales/cs/backgrounds.json
+++ b/website/common/locales/cs/backgrounds.json
@@ -346,32 +346,39 @@
"backgroundFlyingOverWildflowerFieldNotes": "Vznes se nad Pole divokých květin.",
"backgroundFlyingOverAncientForestText": "Prastarý les",
"backgroundFlyingOverAncientForestNotes": "Přeleť přes nebesa Prastarého lesa.",
- "backgrounds052018": "SET 48: Released May 2018",
- "backgroundTerracedRiceFieldText": "Terraced Rice Field",
- "backgroundTerracedRiceFieldNotes": "Enjoy a Terraced Rice Field in the growing season.",
- "backgroundFantasticalShoeStoreText": "Fantastical Shoe Store",
- "backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
- "backgroundChampionsColosseumText": "Champions' Colosseum",
- "backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
- "backgroundDocksNotes": "Fish from atop the Docks.",
- "backgroundRowboatText": "Rowboat",
- "backgroundRowboatNotes": "Sing rounds in a Rowboat.",
- "backgroundPirateFlagText": "Pirate Flag",
- "backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
- "backgroundDarkDeepText": "Dark Deep",
- "backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.",
- "backgroundDilatoryCityText": "City of Dilatory",
- "backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
- "backgroundTidePoolText": "Tide Pool",
- "backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgrounds052018": "SET 48: Vydáno v květnu 2018",
+ "backgroundTerracedRiceFieldText": "Terasovité rýžové pole",
+ "backgroundTerracedRiceFieldNotes": "Vychutnej si terasovité rýžové pole v sezónně růstu.",
+ "backgroundFantasticalShoeStoreText": "Fantastický obchod s obuví",
+ "backgroundFantasticalShoeStoreNotes": "Podívej se po nové obuvi ve Fantastickém obchodě s obuví.",
+ "backgroundChampionsColosseumText": "Koloseum šampionů",
+ "backgroundChampionsColosseumNotes": "Vychutnejte si slávu Kolosea šampionů.",
+ "backgrounds062018": "SET 49: Vydáno v červnu 2018",
+ "backgroundDocksText": "Přístav",
+ "backgroundDocksNotes": "Zarybař si v přístavu.",
+ "backgroundRowboatText": "Loďka",
+ "backgroundRowboatNotes": "Pěj kánony v loďce",
+ "backgroundPirateFlagText": "Pirátská vlajka",
+ "backgroundPirateFlagNotes": "Vyvěs strašlivou pirátskou vlajku.",
+ "backgrounds072018": "SET 50: Vydáno v červenci 2018",
+ "backgroundDarkDeepText": "Temné hlubiny",
+ "backgroundDarkDeepNotes": "Zaplav si v temných hlubinách se světélkujícími živočichy.",
+ "backgroundDilatoryCityText": "Liknavé město",
+ "backgroundDilatoryCityNotes": "Toulej se podmořským Liknavým městem.",
+ "backgroundTidePoolText": "Přílivový bazén",
+ "backgroundTidePoolNotes": "Pozoruj mořský život poblíž přílivového bazénu.",
+ "backgrounds082018": "SET 51: Vydáno v srpnu 2018",
+ "backgroundTrainingGroundsText": "Cvičiště",
+ "backgroundTrainingGroundsNotes": "Zatrénuj si na cvičišti.",
+ "backgroundFlyingOverRockyCanyonText": "Kamenitý kaňon",
+ "backgroundFlyingOverRockyCanyonNotes": "Pohlédni na dechberoucí scenérii při přeletu kamenitého kaňonu.",
+ "backgroundBridgeText": "Most",
+ "backgroundBridgeNotes": "Přejdi přes okouzlující most.",
+ "backgrounds092018": "SET 52: Vydáno v září 2018",
+ "backgroundApplePickingText": "Jablečný sad",
+ "backgroundApplePickingNotes": "Běž si nasbírat plný košík jablek.",
+ "backgroundGiantBookText": "Obrovská kniha",
+ "backgroundGiantBookNotes": "Čti si, zatímco se procházíš po stránkách obří knihy.",
+ "backgroundCozyBarnText": "Útulná stodola",
+ "backgroundCozyBarnNotes": "Odpočiň si se svými mazlíčky ve stáji."
}
\ No newline at end of file
diff --git a/website/common/locales/cs/challenge.json b/website/common/locales/cs/challenge.json
index 256911c53b..d1d507812a 100644
--- a/website/common/locales/cs/challenge.json
+++ b/website/common/locales/cs/challenge.json
@@ -13,8 +13,8 @@
"challengeWinner": "Stal se výhercem následujících výzev",
"challenges": "Výzvy",
"challengesLink": "Challenges",
- "challengePrize": "Challenge Prize",
- "endDate": "Ends",
+ "challengePrize": "Odměna za výzvu",
+ "endDate": "Končí",
"noChallenges": "Zatím nemáš žádné výzvy. Navštiv",
"toCreate": "abys nějakou vytvořil.",
"selectWinner": "Zvolit vítěze a zavřít výzvu:",
@@ -25,9 +25,9 @@
"filter": "Filtr",
"groups": "Skupiny",
"noNone": "Žádné",
- "category": "Category",
+ "category": "Kategorie",
"membership": "Členství",
- "ownership": "Ownership",
+ "ownership": "Vlastnictví",
"participating": "Účastní se",
"notParticipating": "Neúčastní se",
"either": "Obojí",
@@ -131,7 +131,7 @@
"locationRequired": "Location of challenge is required ('Add to')",
"categoiresRequired": "Musí být vybrána jedna nebo více kategorií",
"viewProgressOf": "Zobrazit pokrok",
- "viewProgress": "View Progress",
+ "viewProgress": "Zobrazit pokrok",
"selectMember": "Vyber člena",
"confirmKeepChallengeTasks": "Chceš ponechat úkoly z výzvy?",
"selectParticipant": "Zvol účastníka"
diff --git a/website/common/locales/cs/character.json b/website/common/locales/cs/character.json
index ec452460e5..32d37c4326 100644
--- a/website/common/locales/cs/character.json
+++ b/website/common/locales/cs/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Skrýt přidělení vlastnostních bodů",
"quickAllocationLevelPopover": "S každou další úrovní získáš jeden bod, který můžeš přiřadit k libovolné vlastnosti. Přiřadit body můžeš buď manuálně anebo můžeš nechat hru rozhodnout za tebe na základě některé z možností Automatického Přiřazení, které nalezneš v Uživatel -> Statistiky.",
"notEnoughAttrPoints": "Nemáš dostatek vlastnostních bodů",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Styl",
"facialhair": "Vousy",
"photo": "Fotka",
diff --git a/website/common/locales/cs/content.json b/website/common/locales/cs/content.json
index aa9a888f0d..3aa7d5993e 100644
--- a/website/common/locales/cs/content.json
+++ b/website/common/locales/cs/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Hvězdná Noc",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Nalij ho na vejce a vylíhne se ti <%= potText(locale) %> mazlíček.",
"premiumPotionAddlNotes": "Nelze použít na vejce mazlíčků z výprav.",
"foodMeat": "Maso",
diff --git a/website/common/locales/cs/front.json b/website/common/locales/cs/front.json
index 29f38d2172..aa3148c3cd 100644
--- a/website/common/locales/cs/front.json
+++ b/website/common/locales/cs/front.json
@@ -270,12 +270,19 @@
"notAnEmail": "Neplatná e-mailová adresa.",
"emailTaken": "E-mailová adresa je již použita.",
"newEmailRequired": "Chybějící e-mailová adresa.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "Je čas nastavit si uživatelské jméno!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Potvrdit uživatelské jméno",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Hesla se neshodují.",
"invalidLoginCredentials": "Špatné uživatelské jméno, e-mail nebo heslo.",
- "passwordResetPage": "Reset Password",
+ "passwordResetPage": "Obnovit heslo",
"passwordReset": "If we have your email on file, instructions for setting a new password have been sent to your email.",
"passwordResetEmailSubject": "Obnovení hesla pro Habitica",
"passwordResetEmailText": "If you requested a password reset for <%= username %> on Habitica, head to <%= passwordResetLink %> to set a new one. The link will expire after 24 hours. If you haven't requested a password reset, please ignore this email.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Zaregistruj se pomocí <%= social %>",
"loginWithSocial": "Přihlaš se pomocí <%= social %>",
"confirmPassword": "Potvrdit heslo",
- "usernameLimitations": "Přihlašovací jméno musí být dlouhé 1 až 20 znaků, obsahující pouze písmena od a do z, nebo čísla 0 až 9, nebo pomlčky či podtržítka.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "např., HabitKrálík",
"emailPlaceholder": "např., kralik@priklad.com",
"passwordPlaceholder": "např., ******************",
@@ -329,6 +336,5 @@
"signup": "Zaregistruj se",
"getStarted": "Začni",
"mobileApps": "Mobilní aplikace",
- "learnMore": "Zjisti více",
- "useMobileApps": "Habitica není optimalizována pro mobilní prohlížeče. Doporučujeme si stáhnout naší mobilní aplikaci."
+ "learnMore": "Zjisti více"
}
\ No newline at end of file
diff --git a/website/common/locales/cs/gear.json b/website/common/locales/cs/gear.json
index 711372580c..ba0dc29bf6 100644
--- a/website/common/locales/cs/gear.json
+++ b/website/common/locales/cs/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Vidle hodů",
"weaponMystery201411Notes": "Píchni své nepřátele nebo se pusť do svého oblíbeného jídla - tyhle všestranné vidle zvládnou všechno! Nepřináší žádný benefit.",
"weaponMystery201502Text": "Třpytivá okřídlená hůl lásky a také pravdy",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "zbroj",
"armorCapitalized": "Zbroj",
"armorBase0Text": "Obyčejné oblečení",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Oděv poslíčka",
"armorMystery201402Notes": "Třpytivý a silný, tento oděv má spoustu kapes na dopisy. Nepřináší žádný benefit. Výbava pro předplatitele únor 2014",
"armorMystery201403Text": "Zbroj lesáka",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk oblek",
"armorMystery301404Notes": "Elegantní a fešácký, joj! Nepřináší žádný benefit. Předmět pro předplatitele únor 3015.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Helma duhového bojovníka",
"headSpecialGaymerxNotes": "Ku příležitosti oslav GaymerX je tato speciální helma zdobena zářivým, barevným, duhovým vzorem! GaymerX je herní veletrh oslavující LGBTQ a hry a je otevřený všem.",
"headMystery201402Text": "Okřídlená přilba",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fešný cylindr",
"headMystery301404Notes": "Fešný cylindr pro ty největší džentlmeny. Předmět pro předplatitele leden 2015. Nepřináší žádný benefit.",
"headMystery301405Text": "Obyčejný cylindr",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Kat odhodlání",
"shieldMystery201601Notes": "Tento meč lze použít k odražení všech rozptýlení. Neposkytuje žádný bonus. Předplatitelský předmět ledna 2016.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Příslušenství na záda",
"backCapitalized": "Back Accessory",
"backBase0Text": "Bez příslušenství na zádech",
"backBase0Notes": "Bez příslušenství na zádech.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Zlatá křídla",
"backMystery201402Notes": "Tato lesklá křídla mají pera, která se třpytí na slunci! Nepřináší žádný benefit. Výbava pro předplatitele únor 2014",
"backMystery201404Text": "Měsíční motýlí křídla",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Příslušenství na tělo",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Žádné doplňky",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Brýle jsou na oči,\" říkali. \"Nikdo nechce nosit brýle na čele,\" říkali. Ha! Teď jsi jim to natřel! Nepřináší žádný benefit. Předmět pro předplatitele srpen 3015.",
"headAccessoryArmoireComicalArrowText": "Komický šíp",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Brýle",
"eyewearCapitalized": "Brýle",
"eyewearBase0Text": "Žádné vybavení pro oči",
diff --git a/website/common/locales/cs/groups.json b/website/common/locales/cs/groups.json
index 9e1031cb96..04dbc9c3b8 100644
--- a/website/common/locales/cs/groups.json
+++ b/website/common/locales/cs/groups.json
@@ -6,6 +6,7 @@
"innText": "Odpočíváš v Hostinci! Zatímco tu budeš, tvé Denní úkoly ti na konci dne nijak neublíží, ale vždy se resetují. Ale pozor: pokud jsi v boji s příšerou, ublíží ti nesplněné úkoly tvých přátel v družině, pokud také nejsou v Hostinci! Navíc, jakákoliv újma, kterou uštědříš příšeře (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš.",
"innTextBroken": "Odpočíváš v Hostinci, asi... Zatímco tu budeš, tvé Denní úkoly ti na konci dne nijak neublíží, ale vždy se resetují... Pokud jsi v boji s příšerou, ublíží ti nesplněné úkoly tvých přátel v družině... Pokud také nejsou v Hostinci... Navíc, jakákoliv újma, kterou uštědříš příšeře (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš... Jsem tak unavený...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Pomocné odkazy",
"communityGuidelinesLink": "Zásady komunity",
@@ -369,8 +370,8 @@
"viewMembers": "View Members",
"memberCount": "Member Count",
"recentActivity": "Recent Activity",
- "myGuilds": "My Guilds",
- "guildsDiscovery": "Discover Guilds",
+ "myGuilds": "Mé cechy",
+ "guildsDiscovery": "Veřejné cechy",
"role": "Role",
"guildOrPartyLeader": "Leader",
"guildLeader": "Guild Leader",
@@ -391,7 +392,7 @@
"markdownFormattingHelp": "[Markdown formatting help](http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet)",
"partyDescriptionPlaceholder": "This is our Party's description. It describes what we do in this Party. If you want to learn more about what we do in this Party, read the description. Party on.",
"guildGemCostInfo": "A Gem cost promotes high quality Guilds and is transferred into your Guild's bank.",
- "noGuildsTitle": "You aren't a member of any Guilds.",
+ "noGuildsTitle": "Nejsi členem žádného cechu.",
"noGuildsParagraph1": "Guilds are social groups created by other players that can offer you support, accountability, and encouraging chat.",
"noGuildsParagraph2": "Click the Discover tab to see recommended Guilds based on your interests, browse Habitica's public Guilds, or create your own Guild.",
"privateDescription": "A private Guild will not be displayed in Habitica's Guild directory. New members can be added by invitation only.",
diff --git a/website/common/locales/cs/limited.json b/website/common/locales/cs/limited.json
index 8e71ba2dd2..3f25bae202 100644
--- a/website/common/locales/cs/limited.json
+++ b/website/common/locales/cs/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Dostupný k zakoupení do <%= date(locale) %>.",
"dateEndMarch": "Duben 30",
"dateEndApril": "Duben 19",
diff --git a/website/common/locales/cs/questscontent.json b/website/common/locales/cs/questscontent.json
index 09054b8acd..ef4124302a 100644
--- a/website/common/locales/cs/questscontent.json
+++ b/website/common/locales/cs/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/cs/subscriber.json b/website/common/locales/cs/subscriber.json
index 0a6c021609..877ea231bd 100644
--- a/website/common/locales/cs/subscriber.json
+++ b/website/common/locales/cs/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Standardní steampunkový set",
"mysterySet301405": "Set steampunkových doplňků",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/da/backgrounds.json b/website/common/locales/da/backgrounds.json
index 640f17c227..874a746f9b 100644
--- a/website/common/locales/da/backgrounds.json
+++ b/website/common/locales/da/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/da/character.json b/website/common/locales/da/character.json
index 34bba713ba..490c0e57a2 100644
--- a/website/common/locales/da/character.json
+++ b/website/common/locales/da/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stil",
"facialhair": "Facial",
"photo": "Billede",
diff --git a/website/common/locales/da/content.json b/website/common/locales/da/content.json
index 7006c58790..667daf2fdb 100644
--- a/website/common/locales/da/content.json
+++ b/website/common/locales/da/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Hæld på et æg, og det vil udklække til et <%= potText(locale) %> kæledyr.",
"premiumPotionAddlNotes": "Kan ikke bruges på quest-æg.",
"foodMeat": "Kød",
diff --git a/website/common/locales/da/front.json b/website/common/locales/da/front.json
index 9f28724438..bc236fd7be 100644
--- a/website/common/locales/da/front.json
+++ b/website/common/locales/da/front.json
@@ -27,10 +27,10 @@
"communityForum": "Forum",
"communityKickstarter": "Kickstarter",
"communityReddit": "Reddit",
- "companyAbout": "How It Works",
+ "companyAbout": "Hvordan det virker",
"companyBlog": "Blog",
"devBlog": "Udviklere blog",
- "companyContribute": "Contribute",
+ "companyContribute": "Bidrag",
"companyDonate": "Donér",
"companyPrivacy": "Fortrolighed",
"companyTerms": "Vilkår",
@@ -39,9 +39,9 @@
"dragonsilverQuote": "Jeg kan ikke beskrive hvor mange tids- og opgaveprioriteringssystemer jeg har prøvet over de sidste årtier... [Habitica] er det eneste, der har hjulpet mig med rent faktisk at få ting gjort, i stedet for bare at skrive dem ned på en liste.",
"dreimQuote": "Da jeg sidste år opdagede [Habitica], havde jeg lige dumpet omkring halvdelen af mine eksaminer. Takket være de Daglige har jeg kunnet organisere og disciplinere mig selv, og jeg bestod faktisk alle mine eksaminer med rigtig gode karakterer for en måned siden.",
"elmiQuote": "Hver morgen ser jeg frem til at stå op, så jeg kan tjene noget guld!",
- "forgotPassword": "Forgot Password?",
+ "forgotPassword": "Glemt Kodeord? ",
"emailNewPass": "E-mail et nulstillings-link til kodeord",
- "forgotPasswordSteps": "Enter the email address you used to register your Habitica account.",
+ "forgotPasswordSteps": "Skriv den e-mail adresse du benyttede til at registrere din Habitica konto. ",
"sendLink": "Send link",
"evagantzQuote": "Min allerførste aftale med tandlægen, hvor tandlægen faktisk var positivt overrasket over mine børstevaner. Tak, [Habitica]!",
"examplesHeading": "Spillere bruger Habitica til at styre...",
@@ -101,7 +101,7 @@
"marketing1Lead1Title": "Your Life, the Role Playing Game",
"marketing1Lead1": "Habitica er et computerspil, der hjælper med at forbedre dine vaner i virkeligheden. Det gør dit liv til et spil ved at lave alle dine opgaver (Vaner, Daglige og To-Dos) indtil små monstre, du skal besejre. Jo bedre du er til dette, desto større fremskridt vil du gøre i spillet. Hvis du begår fejl i livet vil din karakter gå tilbage i spillet.",
"marketing1Lead2Title": "Få Lækkert Udstyr",
- "marketing1Lead2": "Improve your habits to build up your avatar. Show off the sweet gear you've earned!",
+ "marketing1Lead2": "Forbedr dine vaner for at ændre din avatar. Vis det fede udstyr du har tjent!",
"marketing1Lead3Title": "Find Tilfældige Præmier",
"marketing1Lead3": "For some, it's the gamble that motivates them: a system called \"stochastic rewards.\" Habitica accommodates all reinforcement and punishment styles: positive, negative, predictable, and random.",
"marketing2Header": "Kæmp med venner, deltag i interessegrupper",
@@ -109,10 +109,10 @@
"marketing2Lead1": "Selvom du selvfølgelig kan spille Habitica selv, bliver det først virkelig godt når I begynder at samarbejde, konkurrere og holde hinanden ansvarlige. Den mest effektive del af ethvert selvforbedringsprogram er social ansvarlighed, og hvad er et bedre miljø for ansvarlighed og konkurrence end et computerspil?",
"marketing2Lead2Title": "Bekæmp monstre",
"marketing2Lead2": "What's a Role Playing Game without battles? Fight monsters with your party. Monsters are \"super accountability mode\" - a day you miss the gym is a day the monster hurts *everyone!*",
- "marketing2Lead3Title": "Challenge Each Other",
- "marketing2Lead3": "Challenges let you compete with friends and strangers. Whoever does the best at the end of a challenge wins special prizes.",
+ "marketing2Lead3Title": "Udfordr Hinanden",
+ "marketing2Lead3": "Udfordringer lader dig konkurrere med venner og fremmede. Den, der er bedst i slutningen af en udfordring vinder særlige præmier.",
"marketing3Header": "Apps og Udvidelser",
- "marketing3Lead1": "The **iPhone & Android** apps let you take care of business on the go. We realize that logging into the website to click buttons can be a drag.",
+ "marketing3Lead1": "**iPhone & Android** apps lader dig klare dine ting på farten. Vi ved, at det nogen gange er for meget at skulle logge ind på websiden for at klikke på knapper.",
"marketing3Lead2Title": "Integrations",
"marketing3Lead2": "Other **3rd Party Tools** tie Habitica into various aspects of your life. Our API provides easy integration for things like the [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), for which you lose points when browsing unproductive websites, and gain points when on productive ones. [See more here](http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
"marketing4Header": "Organisatorisk brug",
@@ -139,24 +139,24 @@
"playButtonFull": "Gå ind i Habitica",
"presskit": "Pressekit",
"presskitDownload": "Download alle billeder:",
- "presskitText": "Thanks for your interest in Habitica! The following images can be used for articles or videos about Habitica. For more information, please contact us at <%= pressEnquiryEmail %>.",
- "pkQuestion1": "What inspired Habitica? How did it start?",
+ "presskitText": "Tak for din interesse i Habitica! De følgende billeder kan bruges til artikler eller videoer om Habitica. For mere information, kontakt os venligst på <%= pressEnquiryEmail %>",
+ "pkQuestion1": "Hvad var inspirationen til Habitica? Hvordan startede det?",
"pkAnswer1": "If you’ve ever invested time in leveling up a character in a game, it’s hard not to wonder how great your life would be if you put all of that effort into improving your real-life self instead of your avatar. We starting building Habitica to address that question.
Habitica officially launched with a Kickstarter in 2013, and the idea really took off. Since then, it’s grown into a huge project, supported by our awesome open-source volunteers and our generous users.",
- "pkQuestion2": "Why does Habitica work?",
+ "pkQuestion2": "Hvorfor virker Habitica? ",
"pkAnswer2": "Forming a new habit is hard because people really need that obvious, instant reward. For example, it’s tough to start flossing, because even though our dentist tells us that it's healthier in the long run, in the immediate moment it just makes your gums hurt.
Habitica's gamification adds a sense of instant gratification to everyday objectives by rewarding a tough task with experience, gold… and maybe even a random prize, like a dragon egg! This helps keep people motivated even when the task itself doesn't have an intrinsic reward, and we've seen people turn their lives around as a result. You can check out success stories here: https://habitversary.tumblr.com",
"pkQuestion3": "Why did you add social features?",
"pkAnswer3": "Social pressure is a huge motivating factor for a lot of people, so we knew that we wanted to have a strong community that would hold each other accountable for their goals and cheer for their successes. Luckily, one of the things that multiplayer video games do best is foster a sense of community among their users! Habitica’s community structure borrows from these types of games; you can form a small Party of close friends, but you can also join a larger, shared-interest groups known as a Guild. Although some users choose to play solo, most decide to form a support network that encourages social accountability through features such as Quests, where Party members pool their productivity to battle monsters together.",
- "pkQuestion4": "Why does skipping tasks remove your avatar’s health?",
- "pkAnswer4": "If you skip one of your daily goals, your avatar will lose health the following day. This serves as an important motivating factor to encourage people to follow through with their goals because people really hate hurting their little avatar! Plus, the social accountability is critical for a lot of people: if you’re fighting a monster with your friends, skipping your tasks hurts their avatars, too.",
+ "pkQuestion4": "Hvorfor mister din avatar liv når du springer over opgaver? ",
+ "pkAnswer4": "Hvis du springer en af dine daglige mål over, vil din avatar miste liv dagen efter. Dette er en vigtig motiveringsfaktor, for at opfordre folk til at opnå deres mål, fordi folk virkelig hader at skade deres lille avatar! Plus, det sociale ansvar er vigtigt for mange folk: hvis du kæmper mod et monster med dine venner, vil det at springe dine opgaver over, også skade deres avatar.",
"pkQuestion5": "What distinguishes Habitica from other gamification programs?",
"pkAnswer5": "One of the ways that Habitica has been most successful at using gamification is that we've put a lot of effort into thinking about the game aspects to ensure that they are actually fun. We've also included many social components, because we feel that some of the most motivating games let you play with friends, and because research has shown that it's easier to form habits when you have accountability to other people.",
- "pkQuestion6": "Who is the typical user of Habitica?",
- "pkAnswer6": "Lots of different people use Habitica! More than half of our users are ages 18 to 34, but we have grandparents using the site with their young grandkids and every age in-between. Often families will join a party and battle monsters together.
Many of our users have a background in games, but surprisingly, when we ran a survey a while back, 40% of our users identified as non-gamers! So it looks like our method can be effective for anyone who wants productivity and wellness to feel more fun.",
- "pkQuestion7": "Why does Habitica use pixel art?",
- "pkAnswer7": "Habitica uses pixel art for several reasons. In addition to the fun nostalgia factor, pixel art is very approachable to our volunteer artists who want to chip in. It's much easier to keep our pixel art consistent even when lots of different artists contribute, and it lets us quickly generate a ton of new content!",
- "pkQuestion8": "How has Habitica affected people's real lives?",
- "pkAnswer8": "You can find lots of testimonials for how Habitica has helped people here: https://habitversary.tumblr.com",
- "pkMoreQuestions": "Do you have a question that’s not on this list? Send an email to admin@habitica.com!",
+ "pkQuestion6": "Hvem er den typiske bruger af Habitica? ",
+ "pkAnswer6": "Mange forskellige mennesker bruger Habitica! Mere end halvdelen af vores brugere er mellem 18 og 34, men vi har også bedsteforældre der bruger siden med deres børnebørn og alle aldre indimellem. Ofte deltager familier i grupper og bekæmper monstre sammen.
Mange af vores brugere kommer fra at spille andre spil, men da vi lavede en undersøgelse for et stykke tid siden, indentificerede 40% af vores brugere overraskende nok ikke som gamere! Så det virker til at vores metode kan være effektiv for alle der vil have produktivitet og velvære til at føles sjovere.",
+ "pkQuestion7": "Hvorfor bruger Habitica pixel art?",
+ "pkAnswer7": "Habitica bruger pixel art af flere grunde. Udover nostalgifaktoren, er pixel art meget tilgængeligt for vores frivillige kunstnere, som har lyst til at bidrage. Det er meget nemmere at beholde vores pixel art overensstemmende, selv når mange forskellige kunstnere bidrager, samt det tillader os hurtigt at frembringe tonsvis af nyt indhold!",
+ "pkQuestion8": "Hvordan har Habitica påvirket folks virkelige liv?",
+ "pkAnswer8": "Du kan finde en masse udtalelser om hvordan Habitica har hjulpet folk her: https://habitversary.tumblr.com",
+ "pkMoreQuestions": "Har du et spørgsmål der ikke er på listen? Send en e-mail til admin@habitica.com!",
"pkVideo": "Video",
"pkPromo": "Promoer",
"pkLogo": "Logoer",
@@ -266,13 +266,20 @@
"missingNewPassword": "Manglende nyt kodeord.",
"invalidEmailDomain": "Du kan ikke registrere med emails med følgende domæner: <%= domains %>",
"wrongPassword": "Forkert kodeord.",
- "incorrectDeletePhrase": "Please type <%= magicWord %> in all caps to delete your account.",
+ "incorrectDeletePhrase": "Skriv venligst <%= magicWord %> i fuld caps for at slette din konto.",
"notAnEmail": "Ugyldig e-mailadresse.",
"emailTaken": "E-mailadressen er allerede brugt til en konto.",
"newEmailRequired": "Manglende ny e-mailadresse.",
- "usernameTaken": "Loginnavn er allerede taget.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Kodeord og godkendelse er ikke ens.",
"invalidLoginCredentials": "Forkert brugernavn og/eller email og/eller kodeord.",
"passwordResetPage": "Nulstil kodeord",
@@ -280,10 +287,10 @@
"passwordResetEmailSubject": "Nulstilling af kodeord til Habitica",
"passwordResetEmailText": "Hvis du har anmodet om nulstilling af kodeordet til <%= username %> på Habitica, så gå til <%= passwordResetLink %> for at vælge et ny kodeord. Linket vil være gyldigt i 24 timer. Hvis du ikke har anmodet om nulstilling af kodeord, så venligst ignorer denne email.",
"passwordResetEmailHtml": "Hvis du har anmodet om nulstilling af kodeordet til <%= username %> på Habitica, så \">klik her for at vælge et nyt kodeord. Linket vil være gyldigt i 24 timer.
Hvis du ikke har anmodet om nulstilling af kodeord, så venligst ignorer denne email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name and password are case-sensitive.\n- You may have signed up with Facebook or Google-sign-in, not email so double-check by trying them.\n- If you forgot your password, click \"Forgot Password\".",
+ "invalidLoginCredentialsLong": "Åh-åh - din e-mailadresse/login navn eller kodeord er forkert.\n- Sørg for at de er skrevet korrekt. Dit login navn og kodeord er versalfølsomt. \n- Måske har du tilmeldt dig via Facebook eller Google-login, i stedet for e-mail, så double-tjek ved at prøve med dem.\n- Hvis du har glemt dit kodekord klik på \"Glemt Kodeord\".",
"invalidCredentials": "Der er ingen konto med disse legitimationsoplysninger.",
"accountSuspended": "This account, User ID \"<%= userId %>\", has been blocked for breaking the [Community Guidelines](https://habitica.com/static/community-guidelines) or [Terms of Service](https://habitica.com/static/terms). For details or to ask to be unblocked, please email our Community Manager at <%= communityManagerEmail %> or ask your parent or guardian to email them. Please copy your User ID into the email and include your Profile Name.",
- "accountSuspendedTitle": "Account has been suspended",
+ "accountSuspendedTitle": "Kontoen er blevet suspenderet",
"unsupportedNetwork": "Dette netværk understøttes ikke i øjeblikket.",
"cantDetachSocial": "Kontoen mangler en anden godkendelsesmetode; kan ikke udføre denne godkendelsesmetode.",
"onlySocialAttachLocal": "Lokal godkendelse kan kun føjes til en social konto.",
@@ -292,43 +299,42 @@
"heroIdRequired": "\"heroID\" skal være et gyldigt Unikt Bruger-ID.",
"cannotFulfillReq": "Din anmodning kan ikke udføres. Kontakt admin@habitica.com hvis fejlen fortsætter.",
"modelNotFound": "Denne model findes ikke.",
- "signUpWithSocial": "Sign up with <%= social %>",
- "loginWithSocial": "Log in with <%= social %>",
+ "signUpWithSocial": "Tilmeld med <%= social %>",
+ "loginWithSocial": "Log in med<%= social %>",
"confirmPassword": "Bekræft kodeord",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
- "confirmPasswordPlaceholder": "Make sure it's the same password!",
+ "confirmPasswordPlaceholder": "Sikr dig at det er det samme kodeord!",
"joinHabitica": "Join Habitica",
- "alreadyHaveAccountLogin": "Already have a Habitica account? Log in.",
- "dontHaveAccountSignup": "Don’t have a Habitica account? Sign up.",
- "motivateYourself": "Motivate yourself to achieve your goals.",
- "timeToGetThingsDone": "It's time to have fun when you get things done! Join over <%= userCountInMillions %> million Habiticans and improve your life one task at a time.",
- "singUpForFree": "Sign Up For Free",
+ "alreadyHaveAccountLogin": "Har du allerede en Habitica konto? Log in",
+ "dontHaveAccountSignup": "Har du endnu ikke en Habitica konto? Tilmeld dig",
+ "motivateYourself": "Motivér dig selv til at fuldføre dine mål.",
+ "timeToGetThingsDone": "Det er tid til at have det sjovt, mens du får ting gjort! Tilslut dig over <%= userCountInMillions %> million Habitører og forbedr dit liv én opgave af gangen.",
+ "singUpForFree": "Tilmeld dig Gratis",
"or": "OR",
"gamifyYourLife": "Gamify Your Life",
"aboutHabitica": "Habitica is a free habit-building and productivity app that treats your real life like a game. With in-game rewards and punishments to motivate you and a strong social network to inspire you, Habitica can help you achieve your goals to become healthy, hard-working, and happy.",
- "trackYourGoals": "Track Your Habits and Goals",
+ "trackYourGoals": "Hold styr på dine Vaner og Mål",
"trackYourGoalsDesc": "Stay accountable by tracking and managing your Habits, Daily goals, and To-Do list with Habitica’s easy-to-use mobile apps and web interface.",
- "earnRewards": "Earn Rewards for Your Goals",
+ "earnRewards": "Optjen Belønninger for Dine Mål",
"earnRewardsDesc": "Check off tasks to level up your Avatar and unlock in-game features such as battle armor, mysterious pets, magic skills, and even quests!",
"battleMonsters": "Bekæmp monstre med dine venner",
"battleMonstersDesc": "Fight monsters with other Habiticans! Use the Gold that you earn to buy in-game or custom rewards, like watching an episode of your favorite TV show.",
"playersUseToImprove": "Players Use Habitica to Improve",
"healthAndFitness": "Sundhed og velvære",
- "healthAndFitnessDesc": "Never motivated to floss? Can't seem to get to the gym? Habitica finally makes it fun to get healthy.",
+ "healthAndFitnessDesc": "Er du aldrig motiveret til at bruge tandtråd? Har du svært ved at komme til fitness? Habitica gør det endelig sjovt at være sund.",
"schoolAndWork": "Skole og arbejde",
"schoolAndWorkDesc": "Whether you're preparing a report for your teacher or your boss, it's easy to keep track of your progress as you tackle your toughest tasks.",
"muchmuchMore": "Og meget, meget mere!",
"muchmuchMoreDesc": "Our fully customizable task list means that you can shape Habitica to fit your personal goals. Work on creative projects, emphasize self-care, or pursue a different dream -- it's all up to you.",
"levelUpAnywhere": "Level Up Anywhere",
"levelUpAnywhereDesc": "Our mobile apps make it simple to keep track of your tasks on-the-go. Accomplish your goals with a single tap, no matter where you are.",
- "joinMany": "Join over 2,000,000 people having fun while accomplishing their goals!",
- "joinToday": "Join Habitica Today",
- "signup": "Sign Up",
+ "joinMany": "Tilslut dig over 2,000,000 andre der har det sjovt, imens de opnår deres mål!",
+ "joinToday": "Tilmeld dig Habitica i dag",
+ "signup": "Tilmeld dig",
"getStarted": "Kom i gang",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Lær mere"
}
\ No newline at end of file
diff --git a/website/common/locales/da/gear.json b/website/common/locales/da/gear.json
index f7d4edae3b..ecc0614342 100644
--- a/website/common/locales/da/gear.json
+++ b/website/common/locales/da/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Høstfests-Høtyv",
"weaponMystery201411Notes": "Stik dine fjender eller grib for dig af dine yndlingsretter - denne høtyv kan det hele! Giver ingen bonusser. November 2014 Abonnentvare.",
"weaponMystery201502Text": "Glinsende Bevinget Stav af Kærlighed og Også Sandhed",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "rustning",
"armorCapitalized": "Armor",
"armorBase0Text": "Almindeligt tøj",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Sendebudsdragt",
"armorMystery201402Notes": "En skinnende og stærk dragt med masser af lommer til at bære breve i. Giver ingen bonusser. Februar 2014 Abonnentting.",
"armorMystery201403Text": "Skovvandrer-rustning",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk-dragt",
"armorMystery301404Notes": "Nydelig og elegant, selvfølgelig! Giver ingen bonusser. Februar 3015 Abonnentting.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Regnbuekrigerhjelm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Bevinget Hjelm",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Smart Tophat",
"headMystery301404Notes": "En smart tophat for de fineste folk! Giver ingen bonusser. Januar 3015 Abonnentting.",
"headMystery301405Text": "Simpel Tophat",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Tids-fryser skjold",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Ryg-udstyr",
"backCapitalized": "Back Accessory",
"backBase0Text": "Intet Ryg-udstyr",
"backBase0Notes": "Intet Ryg-udstyr.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Gyldne Vinger",
"backMystery201402Notes": "Disse skinnende vinger har fjer, der glinser i solen! Giver ingen bonusser. Februar 2014 Abonnentting.",
"backMystery201404Text": "Tusmørkesommerfuglevinger",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Krops-udstyr",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Intet Krops-udstyr",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Briller er til øjnene,\" sagde de. \"Ingen vil have briller, som du kun kan have på hovedet,\" sagde de. Ha! Dér viste du dem! Giver ingen bonusser. August 3015 Abonnentting.",
"headAccessoryArmoireComicalArrowText": "Komisk Pil",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Øjenbeklædning",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "Ingen Øjenbeklædning",
diff --git a/website/common/locales/da/groups.json b/website/common/locales/da/groups.json
index 6952f1126f..ef41562715 100644
--- a/website/common/locales/da/groups.json
+++ b/website/common/locales/da/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/da/limited.json b/website/common/locales/da/limited.json
index 150d3e3498..c0707667bb 100644
--- a/website/common/locales/da/limited.json
+++ b/website/common/locales/da/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Tilgændelig til køb indtil <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "19. april",
diff --git a/website/common/locales/da/questscontent.json b/website/common/locales/da/questscontent.json
index 2d8bc50bd4..0f188775c0 100644
--- a/website/common/locales/da/questscontent.json
+++ b/website/common/locales/da/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/da/subscriber.json b/website/common/locales/da/subscriber.json
index f903ee9968..146390130a 100644
--- a/website/common/locales/da/subscriber.json
+++ b/website/common/locales/da/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standardsæt",
"mysterySet301405": "Steampunk Tilbehørssæt",
"mysterySet301703": "Påfugle-Steampunk-sæt",
diff --git a/website/common/locales/de/backgrounds.json b/website/common/locales/de/backgrounds.json
index ecc8853f24..75698984a6 100644
--- a/website/common/locales/de/backgrounds.json
+++ b/website/common/locales/de/backgrounds.json
@@ -365,13 +365,20 @@
"backgroundDarkDeepNotes": "Schwimme mit biolumineszierenden Wesen in der dunklen Tiefe.",
"backgroundDilatoryCityText": "Dilatory-Stadt",
"backgroundDilatoryCityNotes": "Schlängel durch die Unterwasserstadt Dilatory.",
- "backgroundTidePoolText": "Tide Pool",
- "backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
+ "backgroundTidePoolText": "Gezeitentümpel",
+ "backgroundTidePoolNotes": "Beobachte die Meeresbewohner im Gezeitentümpel.",
"backgrounds082018": "Set 51: Veröffentlicht im August 2018",
"backgroundTrainingGroundsText": "Trainingsgelände",
"backgroundTrainingGroundsNotes": "Übe auf dem Trainingsgelände.",
"backgroundFlyingOverRockyCanyonText": "Felsiger Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Schauen sie runter in eine atemberaubende Szene während Sie über einen Felsigen Canyon fliegen.",
"backgroundBridgeText": "Brücke",
- "backgroundBridgeNotes": "Überquere eine bezaubernde Brücke."
+ "backgroundBridgeNotes": "Überquere eine bezaubernde Brücke.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/de/character.json b/website/common/locales/de/character.json
index a0f5cda3c7..f4be6f616e 100644
--- a/website/common/locales/de/character.json
+++ b/website/common/locales/de/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Attributwertzuweisung ausblenden",
"quickAllocationLevelPopover": "Mit jedem Level erhältst Du einen Punkt, den Du einem Attribut Deiner Wahl zuweisen kannst. Du kannst Deine Punkte manuell verteilen, oder das Spiel entscheiden lassen, indem Du eines der vorgegebenen Verteilungsmuster unter Benutzer Icon > Werte wählst.",
"notEnoughAttrPoints": "Du hast nicht genug Attributpunkte.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stil",
"facialhair": "Bart",
"photo": "Foto",
diff --git a/website/common/locales/de/content.json b/website/common/locales/de/content.json
index 27b9da347b..ff7399bdf2 100644
--- a/website/common/locales/de/content.json
+++ b/website/common/locales/de/content.json
@@ -173,8 +173,8 @@
"questEggSeaSerpentText": "Seeschlangen-Jungtier",
"questEggSeaSerpentMountText": "Seeschlangen-Reittier",
"questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
+ "questEggKangarooText": "Känguru",
+ "questEggKangarooMountText": "Känguru",
"questEggKangarooAdjective": "a keen",
"eggNotes": "Finde ein Schlüpfelixier, das Du über dieses Ei gießen kannst, damit ein <%= eggAdjective(locale) %> <%= eggText(locale) %> schlüpfen kann.",
"hatchingPotionBase": "Normales",
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Sternenklare Nacht",
"hatchingPotionRainbow": "Regenbogen",
"hatchingPotionGlass": "Glas",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Gieße dies über ein Ei und es wird ein <%= potText(locale) %> Haustier daraus schlüpfen.",
"premiumPotionAddlNotes": "Nicht auf Eier von Quest-Haustieren anwendbar.",
"foodMeat": "Fleisch",
diff --git a/website/common/locales/de/front.json b/website/common/locales/de/front.json
index e35fb11041..e0cba3cfc3 100644
--- a/website/common/locales/de/front.json
+++ b/website/common/locales/de/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Ungültige E-Mail-Adresse.",
"emailTaken": "Diese E-Mail-Adresse wird bereits von einem Konto verwendet.",
"newEmailRequired": "Fehlende neue E-Mail-Adresse.",
- "usernameTaken": "Anmeldename ist schon vergeben.",
- "usernameWrongLength": "Der Login-Name muss zwischen 1 und 20 Buchstaben lang sein.",
- "usernameBadCharacters": "Der Login-Name darf nur die Buchstaben von A bis Z, Nummern von 0 bis 9, Bindestriche und Unterstriche enthalten. ",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Die Passwörter stimmen nicht überein.",
"invalidLoginCredentials": "Falscher Benutzername und/oder E-Mail und/oder Passwort.",
"passwordResetPage": "Passwort zurücksetzen",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Bei <%= social %> registrieren",
"loginWithSocial": "Bei <%= social %> anmelden",
"confirmPassword": "Passwort bestätigen",
- "usernameLimitations": "Der Login-Name muss zwischen 1 und 20 Buchstaben lang sein und darf nur die Buchstaben von A bis Z, Nummern von 0 bis 9, Bindestriche und Unterstriche beinhalten. ",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "z.B., HabitRabbit",
"emailPlaceholder": "z.B., rabbit@beispiel.com",
"passwordPlaceholder": "z.B., ******************",
@@ -329,6 +336,5 @@
"signup": "Registrieren",
"getStarted": "Loslegen",
"mobileApps": "Mobile Apps",
- "learnMore": "Mehr Erfahren",
- "useMobileApps": "Habitica ist nicht für mobile Browser optimiert. Wir empfehlen, unsere Mobilen Apps herunterzuladen."
+ "learnMore": "Mehr Erfahren"
}
\ No newline at end of file
diff --git a/website/common/locales/de/gear.json b/website/common/locales/de/gear.json
index b7364b1b54..b8f8ac421e 100644
--- a/website/common/locales/de/gear.json
+++ b/website/common/locales/de/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Forke des Feierns",
"weaponMystery201411Notes": "Erstich Deine Feinde oder verschling Dein Lieblingsessen - diese flexible Forke ist universell einsetzbar! Gewährt keinen Attributbonus. Abonnentengegenstand, November 2014.",
"weaponMystery201502Text": "Schimmernder Flügelstab der Liebe und auch der Wahrheit",
@@ -346,10 +354,12 @@
"weaponArmoireCobblersHammerNotes": "This hammer is specially made for leatherwork. It can do a real number on a red Daily in a pinch, though. Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Cobbler Set (Item 2 of 3).",
"weaponArmoireGlassblowersBlowpipeText": "Glassblower's Blowpipe",
"weaponArmoireGlassblowersBlowpipeNotes": "Use this tube to blow molten glass into beautiful vases, ornaments, and other fancy things. Increases Strength by <%= str %>. Enchanted Armoire: Glassblower Set (Item 1 of 4).",
- "weaponArmoirePoisonedGobletText": "Poisoned Goblet",
+ "weaponArmoirePoisonedGobletText": "Vergifteter Kelch",
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
- "weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
+ "weaponArmoireJeweledArcherBowText": "Juwelenbesetzter Pfeilbogen",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "Rüstung",
"armorCapitalized": "Rüstung",
"armorBase0Text": "Schlichte Kleidung",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Robe des Nachrichtenbringers",
"armorMystery201402Notes": "Schimmernd, stabil und mit vielen Taschen für Briefe. Gewährt keinen Attributbonus. Abonnentengegenstand, Februar 2014.",
"armorMystery201403Text": "Waldwanderer-Rüstung",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunkanzug",
"armorMystery301404Notes": "Adrett und schneidig, hoho! Gewährt keinen Attributbonus. Abonnentengegenstand, Februar 3015.",
"armorMystery301703Text": "Steampunk-Pfauen-Robe",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "Helm",
"headgearCapitalized": "Kopfschutz",
"headBase0Text": "Keine Kopfbedeckung",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Regenbogenkriegerhelm",
"headSpecialGaymerxNotes": "Zur Feier der GaymerX-Konferenz ist dieser spezielle Helm dekoriert mit einem strahlenden, farbenfrohen Regenbogenmuster! GaymerX ist eine Videospiel-Tagung, die LGBTQ und Videospiele feiert und für alle offen ist.",
"headMystery201402Text": "Geflügelter Helm",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Schicker Zylinder",
"headMystery301404Notes": "Ein schicker Zylinder für die feinsten Ehrenleute! Gewährt keinen Attributbonus. Abonnentengegenstand, Januar 3015.",
"headMystery301405Text": "Einfacher Zylinder",
@@ -1168,7 +1200,7 @@
"headArmoireFlutteryWigNotes": "This fine powdered wig has plenty of room for your butterflies to rest if they get tired while doing your bidding. Increases Intelligence, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 2 of 4).",
"headArmoireBirdsNestText": "Vogelnest",
"headArmoireBirdsNestNotes": "Wenn Du merkst, dass sich etwas rührt und Du Tschilpen hörst, könnte es sein, dass Du in Deinem neuen Hut neue Freunde ausgebrütet hast. Erhöht Intelligenz um <%= int %>. Verzauberter Schrank: Unabhängiger Gegenstand.",
- "headArmoirePaperBagText": "Paper Bag",
+ "headArmoirePaperBagText": "Papiertüte",
"headArmoirePaperBagNotes": "This bag is a hilarious but surprisingly protective helm (don't worry, we know you look good under there!). Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
"headArmoireBigWigText": "Big Wig",
"headArmoireBigWigNotes": "Some powdered wigs are for looking more authoritative, but this one is just for laughs! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Töter der Vorsätze",
"shieldMystery201601Notes": "Diese Klinge kann zur Entfernung aller Ablenkungen verwendet werden. Gewährt keinen Attributbonus. Abonnentengegenstand, Januar 2016.",
"shieldMystery201701Text": "Zeitanhalterschild",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Rückenschmuck",
"backCapitalized": "Rückenaccessoire",
"backBase0Text": "Kein Rückenschmuck",
"backBase0Notes": "Kein Rückenschmuck.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Güldene Flügel",
"backMystery201402Notes": "Die Federn dieser leuchtenden Flügel glitzern in der Sonne! Gewährt keinen Attributbonus. Abonnentengegenstand, Februar 2014.",
"backMystery201404Text": "Schmetterlingsflügel des Zwielichts",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Dieser Umhang gehörte einst der Verschwundenen Klassenmeisterin höchstselbst. Erhöht Wahrnehmung um <%= per %>.",
"backSpecialTurkeyTailBaseText": "Truthahnschwanz",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Körperaccessoire",
"bodyCapitalized": "Rückenaccessoire",
"bodyBase0Text": "Kein Kleidungsschmuck",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Brillen sind für die Augen,\" haben sie gesagt. \"Niemand will Brillen, die man nur auf dem Kopf tragen kann,\" haben sie gesagt. Ha! Da hast Du es ihnen aber ordentlich gezeigt! Gewährt keinen Attributbonus. Abonnentengegenstand, August 3015.",
"headAccessoryArmoireComicalArrowText": "Komischer Pfeil",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Brillen",
"eyewearCapitalized": "Brillen & Masken",
"eyewearBase0Text": "Keine Brille",
diff --git a/website/common/locales/de/groups.json b/website/common/locales/de/groups.json
index 0e3cbbb54f..02b32826b3 100644
--- a/website/common/locales/de/groups.json
+++ b/website/common/locales/de/groups.json
@@ -6,6 +6,7 @@
"innText": "Du erholst Dich im Gasthaus! Während Du dort verweilst, werden Dir Deine täglichen Aufgaben keinen Schaden zufügen, aber trotzdem täglich aktualisiert. Vorsicht: Wenn Du an einem Bosskampf teilnimmst, erhältst Du weiterhin Schaden für die verpassten Aufgaben Deiner Gruppenmitglieder, sofern sich diese nicht auch im Gasthaus befinden! Außerdem wird der Schaden, den Du dem Boss zufügst, (und gefundene Gegenstände) erst angewendet, wenn Du das Gasthaus verlässt.",
"innTextBroken": "Du erholst Dich im Gasthaus, schätze ich ... Während Du dort verweilst, werden Dir Deine täglichen Aufgaben keinen Schaden zufügen, aber trotzdem täglich aktualisiert ... Wenn Du an einem Bosskampf teilnimmst, erhältst Du weiterhin Schaden für die verpassten Aufgaben Deiner Gruppenmitglieder ... sofern sich diese nicht auch im Gasthaus befinden ... Außerdem wird Dein Schaden am Boss (oder gesammelte Gegenstände) nicht berücksichtigt, bis Du das Gasthaus verlässt ... So müde ...",
"innCheckOutBanner": "Du hast derzeit in das Gasthaus eingecheckt. Deine Tagesaufgaben können dir nicht schaden und du erzielst keinen Fortschritt bei deinen Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Schaden fortsetzen",
"helpfulLinks": "Weiterführende Links",
"communityGuidelinesLink": "Community-Richtlinien",
@@ -131,11 +132,11 @@
"clearAll": "Lösche alle Nachrichten",
"confirmDeleteAllMessages": "Bist Du sicher, dass Du alle Nachrichten im Posteingang löschen möchtest? Andere Benutzer können immer noch die Nachrichten sehen, die Du ihnen geschickt hast.",
"PMPlaceholderTitle": "Es gibt noch nichts hier",
- "PMPlaceholderDescription": "Select a conversation on the left",
+ "PMPlaceholderDescription": "Wähle links ein Gespräch aus",
"PMPlaceholderTitleRevoked": "Dir wurden Deine Chat Privilegien entzogen.",
"PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.",
"PMReceive": "Receive Private Messages",
- "PMEnabledOptPopoverText": "Private Messages are enabled. Users can contact you via your profile.",
+ "PMEnabledOptPopoverText": "Private Nachrichten sind aktiviert. Benutzer können dich via deinem Profil kontaktieren.",
"PMDisabledOptPopoverText": "Private Messages are disabled. Enable this option to allow users to contact you via your profile.",
"PMDisabledCaptionTitle": "Private Nachrichten sind deaktiviert",
"PMDisabledCaptionText": "You can still send messages, but no one can send them to you.",
@@ -389,7 +390,7 @@
"groupDescription": "Beschreibung",
"guildDescriptionPlaceholder": "Nutze diesen Abschnitt um alles, was Mitglieder der Gilde über Deine Gilde wissen sollten, ausführlicher darzustellen. Nützliche Tipps, hilfreiche Links und ermutigende Worte gehören hier hin!",
"markdownFormattingHelp": "[Markdown Formatierungshilfe](http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet)",
- "partyDescriptionPlaceholder": "This is our Party's description. It describes what we do in this Party. If you want to learn more about what we do in this Party, read the description. Party on.",
+ "partyDescriptionPlaceholder": "Das ist unsere Partybeschreibung. Sie beschreibt, was wir in unserer Party so tun. Wenn Du mehr darüber wissen willst, was wir in unserer Party so machen, lies die Beschreibung. Party on!",
"guildGemCostInfo": "Eine Edelstein-Gebühr fördert die Qualität der Gilde und wird der Gildenbank gutgeschrieben.",
"noGuildsTitle": "Du bist nicht Mitglied einer Gilde.",
"noGuildsParagraph1": "Gilden sind von anderen Spielern erstellte soziale Gruppen, die Dir Unterstützung, Verantwortlichkeit und aufmunternde Unterhaltung bieten können.",
diff --git a/website/common/locales/de/limited.json b/website/common/locales/de/limited.json
index b52d3ddf1d..39ee63db15 100644
--- a/website/common/locales/de/limited.json
+++ b/website/common/locales/de/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Feuerfisch-Magier (Magier)",
"summer2018MerfolkMonarchSet": "Meervolk-Monarch (Heiler)",
"summer2018FisherRogueSet": "Fischdieb (Schurke)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Zum Kauf verfügbar bis zum <%= date(locale) %>.",
"dateEndMarch": "30. April",
"dateEndApril": "19. April",
@@ -132,7 +136,7 @@
"dateEndJune": "14. Juni",
"dateEndJuly": "31. Juli",
"dateEndAugust": "31. August",
- "dateEndSeptember": "September 21",
+ "dateEndSeptember": "21. September",
"dateEndOctober": "31. Oktober",
"dateEndNovember": "30. November",
"dateEndJanuary": "31. Januar",
diff --git a/website/common/locales/de/questscontent.json b/website/common/locales/de/questscontent.json
index 63b154531f..e60f7c6fa4 100644
--- a/website/common/locales/de/questscontent.json
+++ b/website/common/locales/de/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/de/subscriber.json b/website/common/locales/de/subscriber.json
index 7b4874a66c..9037d6226d 100644
--- a/website/common/locales/de/subscriber.json
+++ b/website/common/locales/de/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "Phänomenales Pfauen-Set",
"mysterySet201806": "Anziehendes Anglerfisch-Set",
"mysterySet201807": "Seeschlangen-Set",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Lavadrachen Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk-Standard-Set",
"mysterySet301405": "Steampunk-Zubehör-Set",
"mysterySet301703": "Pfauen-Steampunk-Set",
diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json
index 224f42f04a..caeb1fbd54 100644
--- a/website/common/locales/en/backgrounds.json
+++ b/website/common/locales/en/backgrounds.json
@@ -425,5 +425,13 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
diff --git a/website/common/locales/en/character.json b/website/common/locales/en/character.json
index b9ecd49656..82be34064b 100644
--- a/website/common/locales/en/character.json
+++ b/website/common/locales/en/character.json
@@ -206,6 +206,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/en/content.json b/website/common/locales/en/content.json
index 90f4f94581..547503e8ea 100644
--- a/website/common/locales/en/content.json
+++ b/website/common/locales/en/content.json
@@ -270,6 +270,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.",
"premiumPotionAddlNotes": "Not usable on quest pet eggs.",
diff --git a/website/common/locales/en/front.json b/website/common/locales/en/front.json
index abee223781..8b5448b808 100644
--- a/website/common/locales/en/front.json
+++ b/website/common/locales/en/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json
index 9554c8f1e1..5d7b969db5 100644
--- a/website/common/locales/en/gear.json
+++ b/website/common/locales/en/gear.json
@@ -294,6 +294,15 @@
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+
"weaponMystery201411Text": "Pitchfork of Feasting",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -379,6 +388,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armor",
"armorCapitalized": "Armor",
@@ -649,6 +660,15 @@
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+
"armorMystery201402Text": "Messenger Robes",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Forest Walker Armor",
@@ -719,6 +739,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -814,6 +836,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
@@ -1083,6 +1107,15 @@
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
@@ -1160,6 +1193,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Basic Top Hat",
@@ -1444,6 +1479,13 @@
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1507,11 +1549,14 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Golden Wings",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
@@ -1558,6 +1603,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
@@ -1696,6 +1757,8 @@
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
diff --git a/website/common/locales/en/groups.json b/website/common/locales/en/groups.json
index 75bc3e23cd..4a7c0d5c96 100644
--- a/website/common/locales/en/groups.json
+++ b/website/common/locales/en/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json
index 31cf94aaae..0e18167dc2 100644
--- a/website/common/locales/en/limited.json
+++ b/website/common/locales/en/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/en/questsContent.json b/website/common/locales/en/questsContent.json
index d05dcbcd2b..43b177ab8f 100644
--- a/website/common/locales/en/questsContent.json
+++ b/website/common/locales/en/questsContent.json
@@ -714,5 +714,8 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json
index af2baccd0e..ffa07120c2 100644
--- a/website/common/locales/en/subscriber.json
+++ b/website/common/locales/en/subscriber.json
@@ -148,6 +148,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/en@pirate/backgrounds.json b/website/common/locales/en@pirate/backgrounds.json
index cf0d5bc64a..c6945b88c5 100644
--- a/website/common/locales/en@pirate/backgrounds.json
+++ b/website/common/locales/en@pirate/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/en@pirate/character.json b/website/common/locales/en@pirate/character.json
index 29ce939b04..773a6a59b1 100644
--- a/website/common/locales/en@pirate/character.json
+++ b/website/common/locales/en@pirate/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/en@pirate/content.json b/website/common/locales/en@pirate/content.json
index 0e175ecc15..8ca0443ac9 100644
--- a/website/common/locales/en@pirate/content.json
+++ b/website/common/locales/en@pirate/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Pour this on an egg, an' it'll hatch as a <%= potText(locale) %> pet.",
"premiumPotionAddlNotes": "Ye canna use this on quest pet eggs.",
"foodMeat": "Meat",
diff --git a/website/common/locales/en@pirate/front.json b/website/common/locales/en@pirate/front.json
index db58be3e7c..4d9e947cd8 100644
--- a/website/common/locales/en@pirate/front.json
+++ b/website/common/locales/en@pirate/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/en@pirate/gear.json b/website/common/locales/en@pirate/gear.json
index 4682a6fbae..20d21164fc 100644
--- a/website/common/locales/en@pirate/gear.json
+++ b/website/common/locales/en@pirate/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Pitchfork o' Feasting",
"weaponMystery201411Notes": "Stab yer enemies or dig in to yer favorite vittles - this here versatile pitchfork does it all! It don't benefit ye.\nNovember 2014 Subscriberrr Item",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armor",
"armorCapitalized": "Armor",
"armorBase0Text": "Plain Slops",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Messenger Robes",
"armorMystery201402Notes": "Shimmering an' strong, these robes have many pockets t' carry letters. Don't benefit ye. February 2014 Subscriber Item.",
"armorMystery201403Text": "Forest Walker Armor",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper an' dashing, wot! Don't benefit ye. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration o' th' GaymerX Conference, this special helmet be decorated with a radiant, colorful rainbow pattern! GaymerX be a game convention celebratin' LGTBQ an' gaming an' be open t' everyone.",
"headMystery201402Text": "Winged Helm",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat fer th' finest o' gentlefolk! January 3015 Subscriber Item. Don't benefit ye.",
"headMystery301405Text": "Basic Top Hat",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Golden Wings",
"backMystery201402Notes": "These shinin' wings have feathers that glitter in th' sun! Don't benefit ye. February 2014 Subscriber Item.",
"backMystery201404Text": "Twilight Butterfly Wings",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "No Body Accessory",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Goggles be f'r yer eyes,\" they said. \"Nobody be wantin' goggles that ye can only wear on yer head,\" they said. Hah! Ye sure showed them! Don't benefit ye. August 3015 Subscriber Item.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/en@pirate/groups.json b/website/common/locales/en@pirate/groups.json
index f134cbad1b..515e562754 100644
--- a/website/common/locales/en@pirate/groups.json
+++ b/website/common/locales/en@pirate/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Rules o’ th’ Sea",
diff --git a/website/common/locales/en@pirate/limited.json b/website/common/locales/en@pirate/limited.json
index e9c0119a02..ee92eac0a4 100644
--- a/website/common/locales/en@pirate/limited.json
+++ b/website/common/locales/en@pirate/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/en@pirate/questscontent.json b/website/common/locales/en@pirate/questscontent.json
index 668a7c11b5..b788de17b9 100644
--- a/website/common/locales/en@pirate/questscontent.json
+++ b/website/common/locales/en@pirate/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/en@pirate/subscriber.json b/website/common/locales/en@pirate/subscriber.json
index 0994ba5e2d..f8973cd639 100644
--- a/website/common/locales/en@pirate/subscriber.json
+++ b/website/common/locales/en@pirate/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/en_GB/backgrounds.json b/website/common/locales/en_GB/backgrounds.json
index 0d11fba2b7..ca43ddabeb 100644
--- a/website/common/locales/en_GB/backgrounds.json
+++ b/website/common/locales/en_GB/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/en_GB/character.json b/website/common/locales/en_GB/character.json
index ab605516bd..bfcffb7d02 100644
--- a/website/common/locales/en_GB/character.json
+++ b/website/common/locales/en_GB/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/en_GB/content.json b/website/common/locales/en_GB/content.json
index 7e2e9bf186..380f4119b7 100644
--- a/website/common/locales/en_GB/content.json
+++ b/website/common/locales/en_GB/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.",
"premiumPotionAddlNotes": "Not usable on quest pet eggs.",
"foodMeat": "Meat",
diff --git a/website/common/locales/en_GB/front.json b/website/common/locales/en_GB/front.json
index 4aaab742f9..be6ac70877 100644
--- a/website/common/locales/en_GB/front.json
+++ b/website/common/locales/en_GB/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/en_GB/gear.json b/website/common/locales/en_GB/gear.json
index 5555301559..1b9c735a7e 100644
--- a/website/common/locales/en_GB/gear.json
+++ b/website/common/locales/en_GB/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Pitchfork of Feasting",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favourite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armour",
"armorCapitalized": "Armour",
"armorBase0Text": "Plain Clothing",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Messenger Robes",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Forest Walker Armour",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colourful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Winged Helm",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Basic Top Hat",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Golden Wings",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Twilight Butterfly Wings",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "No Body Accessory",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Goggles are for your eyes,\" they said. \"Nobody wants goggles that you can only wear on your head,\" they said. Hah! You sure showed them! Confers no benefit. August 3015 Subscriber Item.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/en_GB/groups.json b/website/common/locales/en_GB/groups.json
index 32316d07b4..ad84d08b5d 100644
--- a/website/common/locales/en_GB/groups.json
+++ b/website/common/locales/en_GB/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/en_GB/limited.json b/website/common/locales/en_GB/limited.json
index 6a054a9fc9..c8bbca175d 100644
--- a/website/common/locales/en_GB/limited.json
+++ b/website/common/locales/en_GB/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/en_GB/questscontent.json b/website/common/locales/en_GB/questscontent.json
index 93f535eebc..95c924d477 100644
--- a/website/common/locales/en_GB/questscontent.json
+++ b/website/common/locales/en_GB/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/en_GB/subscriber.json b/website/common/locales/en_GB/subscriber.json
index ca18d86af2..c06e78c8c0 100644
--- a/website/common/locales/en_GB/subscriber.json
+++ b/website/common/locales/en_GB/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/es/backgrounds.json b/website/common/locales/es/backgrounds.json
index 9fb01fcf16..7f75fb6142 100644
--- a/website/common/locales/es/backgrounds.json
+++ b/website/common/locales/es/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Cañón rocoso.",
"backgroundFlyingOverRockyCanyonNotes": "Contempla un escenario que quita el aliento mientras vuelas sobre un Cañón rocoso.",
"backgroundBridgeText": "Puente",
- "backgroundBridgeNotes": "Cruzar el puente encantador"
+ "backgroundBridgeNotes": "Cruzar el puente encantador",
+ "backgrounds092018": "CONJUNTO 52: Publicado en septiembre de 2018",
+ "backgroundApplePickingText": "Coger manzanas",
+ "backgroundApplePickingNotes": "Ve a coger manzanas y trae a casa unas cuantas.",
+ "backgroundGiantBookText": "Libro Gigante",
+ "backgroundGiantBookNotes": "Lee mientras paseas por las páginas de un Libro Gigante",
+ "backgroundCozyBarnText": "Granero Confortable",
+ "backgroundCozyBarnNotes": "Relájate con tus mascotas y monturas en su Confortable Granero."
}
\ No newline at end of file
diff --git a/website/common/locales/es/character.json b/website/common/locales/es/character.json
index 0d5d57c474..93afe05eb1 100644
--- a/website/common/locales/es/character.json
+++ b/website/common/locales/es/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Esconder la asignación de puntos",
"quickAllocationLevelPopover": "Cada nivel te da un Punto para asignar a la Estadística que quieras. Puedes hacerlo manualmente o dejar que el juego decida por ti, utilizando una de las opciones de Asignación Automática que encontrarás en Icono de Usuario > Estadísticas.",
"notEnoughAttrPoints": "No tienes suficientes puntos de atributo.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Estilo",
"facialhair": "Facial",
"photo": "Foto",
diff --git a/website/common/locales/es/content.json b/website/common/locales/es/content.json
index 34af4df147..b12021c228 100644
--- a/website/common/locales/es/content.json
+++ b/website/common/locales/es/content.json
@@ -169,13 +169,13 @@
"questEggBadgerAdjective": "un activo",
"questEggSquirrelText": "Ardilla",
"questEggSquirrelMountText": "Ardilla",
- "questEggSquirrelAdjective": "a bushy-tailed",
+ "questEggSquirrelAdjective": "de cola tupida",
"questEggSeaSerpentText": "Serpiente marina",
"questEggSeaSerpentMountText": "Serpiente marina",
- "questEggSeaSerpentAdjective": "a shimmering",
+ "questEggSeaSerpentAdjective": "brillante",
"questEggKangarooText": "Canguro",
"questEggKangarooMountText": "Canguro",
- "questEggKangarooAdjective": "a keen",
+ "questEggKangarooAdjective": "entusiasta",
"eggNotes": "Encuentra una poción de eclosión para verter en este huevo y eclosionará en <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
"hatchingPotionWhite": "Blanco",
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Noche Estrellada",
"hatchingPotionRainbow": "Arco-iris",
"hatchingPotionGlass": "El Vidrio",
+ "hatchingPotionGlow": "que brilla en la oscuridad",
"hatchingPotionNotes": "Vierte esto en un huevo y eclosionará como una mascota <%= potText(locale) %>.",
"premiumPotionAddlNotes": "No puede usarse en huevos de mascota de misión.",
"foodMeat": "Carne",
diff --git a/website/common/locales/es/front.json b/website/common/locales/es/front.json
index a4cd9ff499..2f75f8d70d 100644
--- a/website/common/locales/es/front.json
+++ b/website/common/locales/es/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "La dirección de correo electrónico no es válida.",
"emailTaken": "Ya existe una cuenta con esa dirección de correo electrónico.",
"newEmailRequired": "Falta la nueva dirección de correo electrónico.",
- "usernameTaken": "Nombre de Usuario ocupado.",
- "usernameWrongLength": "El Nombre de Inicio de Sesión debe tener entre 1 y 20 caracteres.",
- "usernameBadCharacters": "El Nombre de Inicio de Sesión debe contener solamente letras de la a a la z, números de 0 a 9, guiones o barra bajas.",
+ "usernameTime": "¡Es la hora de establecer tu nombre de usuario!",
+ "usernameInfo": "Tu nombre mostrado no ha cambiado, pero tu antiguo nombre de inicio de sesión va a convertirse en tu nombre de usuario. Ese nombre de usuario se utilizará para invitaciones, @menciones en los chats y los mensajes.
Si quieres saber más sobre este cambio, visita nuestra wiki.",
+ "usernameTOSRequirements": "Los nombre de usuario deben adecuarse a nuestros Términos de Servicio y Normas de la Comunidad. Si no has establecido un nombre de inicio de sesión, tu nombre de usuario será autogenerado.",
+ "usernameTaken": "Este nombre de usuario ya está cogido.",
+ "usernameWrongLength": "El nombre de usuario debe tener una longitud de entre 1 y 20 caracteres.",
+ "displayNameWrongLength": "Los nombres públicos deben ser de entre 1 y 30 caracteres de longitud.",
+ "usernameBadCharacters": "Los nombres de usuario solo pueden contener letras de la a a las z, números del 0 al 9, guiones o barras bajas.",
+ "nameBadWords": "Los nombres no pueden incluir palabras inadecuadas.",
+ "confirmUsername": "Confirmar nombre de usuario",
+ "usernameConfirmed": "Nombre de usuario confirmado",
"passwordConfirmationMatch": "Las contraseñas no coinciden.",
"invalidLoginCredentials": "El nombre de usuario y/o correo electrónico y/o conseña no son correctos.",
"passwordResetPage": "Restablecer Contraseña",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Registrarse con <%= social %>",
"loginWithSocial": "Conectarse con <%= social %>",
"confirmPassword": "Confirmar contraseña",
- "usernameLimitations": "El Nombre de Inicio de Sesión debe tener entre 1 y 20 caracteres, que deben ser letras de la a a la z, números del 0 al 9, guiones o barra bajas.",
+ "usernameLimitations": "El nombre de usuario debe tener entre 1 y 20 caracteres, que tengan solo letras entre la a y la z, números del 0 al 9, guiones o barras bajas, y no pueden incluir términos inapropiados.",
"usernamePlaceholder": "p.e., HabitRabbit",
"emailPlaceholder": "p.e., rabbit@example.com",
"passwordPlaceholder": "p.e., ******************",
@@ -329,6 +336,5 @@
"signup": "Regístrate",
"getStarted": "Comenzar",
"mobileApps": "Apps para móvil",
- "learnMore": "Saber más",
- "useMobileApps": "Habitica no está optimizada para navegador móvil. Te recomendamos que descargues nuestras apps móviles."
+ "learnMore": "Saber más"
}
\ No newline at end of file
diff --git a/website/common/locales/es/gear.json b/website/common/locales/es/gear.json
index c84e10a9da..7b22637ff7 100644
--- a/website/common/locales/es/gear.json
+++ b/website/common/locales/es/gear.json
@@ -1,5 +1,5 @@
{
- "set": "Juego",
+ "set": "Conjunto",
"equipmentType": "Tipo",
"klass": "Clase",
"groupBy": "Agrupar por <%= type %>",
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Bajo el agua, la magia basada en fuego, hielo o electricidad puede resultar peligrosa para el mago que la maneja. ¡Sin embargo, conjurar espinas venenosas funciona de maravilla! Aumenta la Inteligencia en <%= int %> y la Percepción en <%= per %>. Equipo de Verano Edición Limitada del 2018.",
"weaponSpecialSummer2018HealerText": "Tridente de Monarca Sirena",
"weaponSpecialSummer2018HealerNotes": "Con gesto benevolente, ordenas que el agua curativa fluya a través de tus dominios en forma de ondas. Aumenta la Inteligencia en <%= int %>. Equipo de Verano Edición Limitada del 2018.",
+ "weaponSpecialFall2018RogueText": "Vial de Claridad",
+ "weaponSpecialFall2018RogueNotes": "Cuando necesites volver a la realidad, cuando necesitas un pequeño empuje para hacer la decisión correcta, respira hondo y toma un sorbo. ¡Todo irá bien! Aumenta la Fuerza en <%= str %>. Edición Limitada Equipamiento de Otoño 2018.",
+ "weaponSpecialFall2018WarriorText": "Látigo de Minos",
+ "weaponSpecialFall2018WarriorNotes": "No es lo suficientemente largo para desenrollarse y permitir que te orientes en un laberinto. Bueno, a lo mejor si es un laberinto muy pequeño. Aumenta la Fuerza en <%= str %>. Edición Limitada Equipamiento de Otoño 2018.",
+ "weaponSpecialFall2018MageText": "Bastón de Dulzura",
+ "weaponSpecialFall2018MageNotes": "¡Esta no es una piruleta cualquiera! El orbe brillante de azúcar mágica que corona este bastón tiene el poder de hacer que los buenos hábitos se peguen a ti. Aumenta la Inteligencia en <%= int %> y la Percepción en <%= per %>. Edición Limitada Equipamiento de Otoño 2018. Objeto de dos manos.",
+ "weaponSpecialFall2018HealerText": "Bastón Hambriento",
+ "weaponSpecialFall2018HealerNotes": "Mantén este bastón bien alimentado, y concederá Bendiciones. Si te olvidas de alimentarlo, mantén los dedos fuera de su alcance. Aumenta la Inteligencia en <%= int %>. Edición Limitada Equipamiento de Otoño 2018.",
"weaponMystery201411Text": "Horca de Banquete",
"weaponMystery201411Notes": "Clávasela a tus enemigos o ataca tus comidas favoritas - ¡esta horca versátil vale para todo! No confiere ningún beneficio. Artículo de suscriptor de noviembre 2014.",
"weaponMystery201502Text": "Báculo Reluciente Alado del Amor y También de la Verdad",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Usa esto para desarrollar tu resistencia al polvo de iocane y otros venenos inconcebiblemente peligrosos. Aumenta la Inteligencia en <%= int %>. Armario encantado: Conjunto de Princesa pirata (Artículo 3 de 4).",
"weaponArmoireJeweledArcherBowText": "Arco de arquero enjoyado",
"weaponArmoireJeweledArcherBowNotes": "Este arco de oro y gemas lanzará tus flechas hacia sus objetivos a una velocidad increíble. Aumenta la Inteligencia en <%= int %>. Armario encantado: Conjunto de Arquero Enjoyado (Artículo 3 de 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Aguja de Encuadernar",
+ "weaponArmoireNeedleOfBookbindingNotes": "Te sorprendería saber lo duros que pueden ser los libros. Esta aguja puede pinchar hasta llegar al mismo corazón de tus tareas. Aumenta la Fuerza en <%= str %>. Armario Encantado: Conjunto de Encuadernador (Objeto 3/4).",
"armor": "armadura",
"armorCapitalized": "Armadura",
"armorBase0Text": "Ropa normal",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "La magia venenosa tiene reputación de ser sutil. No la tiene sin embargo esta colorida armadura, cuyo mensaje queda claro para bestia y tarea: ¡cuidado! Aumenta la Inteligencia en <%= int %>. Equipo de Verano Edición Limitada del 2018.",
"armorSpecialSummer2018HealerText": "Ropaje de Monarca Sirena",
"armorSpecialSummer2018HealerNotes": "Estas vestiduras cerúleas revelan que tienes pies que caminan por la tierra... bueno. Ni siquiera se puede esperar que un monarca sea perfecto. Aumenta la Constitución en <%= con %>. Equipo de Verano Edición Limitada del 2018.",
+ "armorSpecialFall2018RogueText": "Hábito de Alter Ego",
+ "armorSpecialFall2018RogueNotes": "Estilo para el día. Comodidad y protección para la noche. Aumenta la Percepción en <%= per %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "armorSpecialFall2018WarriorText": "Casco de Minotauro",
+ "armorSpecialFall2018WarriorNotes": "Completado con cuernos para poder tamborilear una cadencia suave mientras paseas meditativo por tu laberinto. Aumenta la Constitución en <%= con %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "armorSpecialFall2018MageText": "Túnica de Golomante",
+ "armorSpecialFall2018MageNotes": "¡La tela de esta túnica tiene golosinas mágicas tejidas! Pero te recomendamos que no te las comas. Aumenta la Inteligencia en <%= int %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "armorSpecialFall2018HealerText": "Ropajes de Carnívoro",
+ "armorSpecialFall2018HealerNotes": "Hechos con plantas, aunque no necesariamente son vegetarianos. Los Malos Hábitos tienen miedo de acercarse en un círculo de varios kilómetros. Aumenta la Constitución en <%= con %>. Edición Limitada de Equipamiento de Otoño 2018.",
"armorMystery201402Text": "Túnica de Mensajero",
"armorMystery201402Notes": "Reluciente y fuerte, esta túnica tiene muchos bolsillos para llevar cartas. No proporciona ningún beneficio. Artículo de suscriptor de febrero 2014.",
"armorMystery201403Text": "Armadura del Caminante del Bosque",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "Esta cola sinuosa presenta puntos brillantes que iluminan tu camino a través de las profundidades. Sin beneficios. Artículo del suscriptor de junio del 2018.",
"armorMystery201807Text": "Cola de serpiente marina",
"armorMystery201807Notes": "¡Esta poderosa cola te propulsará por el mar a una velocidad increíble! Sin beneficios. Artículo del suscriptor de Julio 2018",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "Armadura de Dragón de Lava",
+ "armorMystery201808Notes": "Esta armadura está hecha de las escamas caídas del esquivo (y extremadamente caliente) Dragón de Lava. No tiene beneficios. Objeto de Suscriptor de agosto de 2018.",
+ "armorMystery201809Text": "Armadura de Hojas de Otoño",
+ "armorMystery201809Notes": "No eres simplemente una pequeña y asustadiza hoja caída: ¡portas los más hermosos colores de la estación! No confiere beneficio. Objeto de suscriptor Septiembre 2018.",
"armorMystery301404Text": "Traje Steampunk",
"armorMystery301404Notes": "¡Sofisticado y elegante! No otorga ningún beneficio. Artículo de suscriptor de febrero 3015.",
"armorMystery301703Text": "Traje de Pavo Real Steampunk",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "¡Esta lujosa prenda tiene muchos bolsillos para ocultar armas y botín! Aumenta la Percepción en <%= per %>. Armario encantado: Conjunto de Princesa pirata (Artículo 2 de 4).",
"armorArmoireJeweledArcherArmorText": "Armadura de arquero enjoyado",
"armorArmoireJeweledArcherArmorNotes": "Esta armadura elegantemente trabajada te protegerá de proyectiles ¡o de tareas Diarias rojas errantes! Aumenta constitución en <%= con %>. Armario encantado: Conjunto de Arquero Enjoyado (Artículo 2 de 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Cubretodo de Encuadernación",
+ "armorArmoireCoverallsOfBookbindingNotes": "Todo lo que necesitas en un conjunto de cubretodo, incluyendo bolsillos para todo. Un par de gafas de bucear, dinero suelto, un anillo de oro... Aumenta la Constitución en <%= con %> y la Percepción en <%= per %>. Armario Encantado: Conjunto de Encuadernador (item 2 de 4).",
"headgear": "casco",
"headgearCapitalized": "Equipo de cabeza",
"headBase0Text": "Sin Equipo de cabeza",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Deslumbra dolorosamente a cualquiera que se atreva a decir que te ves como un \"pez sabroso\". Aumenta la Percepción en <%= per %>. Equipo de Verano Edición Limitada del 2018.",
"headSpecialSummer2018HealerText": "Corona de monarca sirena",
"headSpecialSummer2018HealerNotes": "Adornado con aguamarina, esta aletuda diadema marca el liderazgo de la gente, los peces y aquellos que son un poco de ambos. Aumenta la Inteligencia en <%= int %>. Equipo de Verano Edición Limitada del 2018.",
+ "headSpecialFall2018RogueText": "Cara de Alter Ego",
+ "headSpecialFall2018RogueNotes": "La mayoría de nosotros nos escondemos de nuestras luchas internas. Esta máscara muestra que todos nosotros experimentamos la tensión entre nuestros buenos y malos impulsos. ¡Además, viene con un dulce sombrero! Aumenta la Percepción en <%= per %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "headSpecialFall2018WarriorText": "Careta de Minotauro",
+ "headSpecialFall2018WarriorNotes": "¡Esta terrorífica máscara muestra que realmente se puede coger el toro por los cuernos! Aumenta la Fuerza en <%= str %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "headSpecialFall2018MageText": "Sombrero de Golomante",
+ "headSpecialFall2018MageNotes": "Este sombrero puntiagudo está imbuido de poderosos hechizos dulcificadores. ¡Cuidado, que si se moja se vuelve pegajoso! Aumenta la Percepción en <%= per %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "headSpecialFall2018HealerText": "Yelmo Hambriento",
+ "headSpecialFall2018HealerNotes": "Este yelmo ha sido creado a partir de una planta carnívora conocida por su habilidad de despachar zombies y otras inconveniencias. Tú solo vigila que no se ponga a mascar tu cabeza. Aumenta la Inteligencia en <%= int %>. Edición Limitada de Equipamiento de Otoño 2018.",
"headSpecialGaymerxText": "Casco de Guerrero de Arco Iris",
"headSpecialGaymerxNotes": "Con motivo de la celebración por la Conferencia GaymerX, ¡este casco especial está decorado con un radiante y colorido estampado arco iris! GaymerX es una convención de juegos que celebra a la gente LGBTQ y a los videojuegos, y está abierta a todo el público.",
"headMystery201402Text": "Casco alado",
@@ -1072,8 +1102,10 @@
"headMystery201806Notes": "La luz hipnótica colocada sobre este casco llamará a todas las criaturas del mar a tu lado. ¡Te instamos definitivamente a usar tus poderes de atracción luminosos! Sin beneficios. Artículo del suscriptor de junio 2018.",
"headMystery201807Text": "Yelmo de serpiente marina",
"headMystery201807Notes": "Las resistentes escamas de este yelmo te protegerán de cualquier tipo de enemigo oceánico. Sin beneficios. Artículo del suscriptor de Julio 2018.",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201808Text": "Capucha de Dragón de Lava",
+ "headMystery201808Notes": "Los brillantes cuernos de esta capucha iluminarán tu camino hacia cuevas subterráneas. No confiere beneficio. Objeto de suscriptor de Agosto de 2018.",
+ "headMystery201809Text": "Corona de flores otoñales",
+ "headMystery201809Notes": "Las últimas flores de los días cálidos de otoño nos recuerdan la belleza de esta estación. No confiere beneficio. Objeto de suscriptor de septiembre de 2018.",
"headMystery301404Text": "Sombrero de copa sofisticado",
"headMystery301404Notes": "¡Un sofisticado sombrero de copa solo para los más refinados caballeros! No otorga ningún beneficio. Artículo de Suscriptor de Enero del 3015",
"headMystery301405Text": "Sombrero de copa básico",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Hecho de piedra, este temible escudo con forma de calavera inflige terror a los peces enemigos mientras reúnes a tus mascotas esqueleto y monturas. Aumenta la Constitución en <%= con %>. Equipo de Verano Edición Limitada del 2018.",
"shieldSpecialSummer2018HealerText": "Emblema de monarca sirena",
"shieldSpecialSummer2018HealerNotes": "Este escudo puede producir una cúpula de aire para el beneficio de los visitantes terrestres al visitar tu reino acuático. Aumenta la Constitución en <%= con %>. Equipo de Verano Edición Limitada del 2018.",
+ "shieldSpecialFall2018RogueText": "Vial de la Tentación",
+ "shieldSpecialFall2018RogueNotes": "Este frasco representa todas las distracciones y problemas que te impiden dar lo mejor de ti. ¡Resiste! ¡Te estamos apoyando! Aumenta la Fuerza en <%= str %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "shieldSpecialFall2018WarriorText": "Escudo Brillante",
+ "shieldSpecialFall2018WarriorNotes": "Super brillante para disuadir a cualquier gorgona problemática de asomarse por las esquinas. Aumenta la Constitución en <%= con %>. Edición Limitada de Equipamiento de Otoño 2018.",
+ "shieldSpecialFall2018HealerText": "Escudo Hambriento",
+ "shieldSpecialFall2018HealerNotes": "Con sus fauces bien abiertas, este escudo absorberá todos los golpes de tu enemigo. Aumenta la Constitución en <%= con %>. Edición Limitada de Equipamiento de Otoño 2018.",
"shieldMystery201601Text": "Destructora de Resoluciones",
"shieldMystery201601Notes": "Esta espada se puede usar para desviar a todas las distracciones. No otorga ningún beneficio. Artículo de Suscriptor de Enero 2016.",
"shieldMystery201701Text": "Escudo para congelar el tiempo",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "¡Qué jarrón tan sofisticado has hecho! ¿Qué vas a poner dentro? Aumenta la Inteligencia en <%= int %>. Armario Encantado: Conjunto de Soplador de vidrio (Artículo 4 de 4).",
"shieldArmoirePiraticalSkullShieldText": "Escudo de calavera pirata",
"shieldArmoirePiraticalSkullShieldNotes": "Este escudo encantado susurrará las ubicaciones secretas de los tesoros de tus enemigos, ¡escucha atentamente! Aumenta la Percepción y la Inteligencia en <%= attrs %> cada uno. Armario encantado: Conjunto de Princesa pirata (Artículo 4 de 4).",
+ "shieldArmoireUnfinishedTomeText": "Tomo sin Terminar",
+ "shieldArmoireUnfinishedTomeNotes": "¡Es sencillamente imposible procrastinar con esto entre las manos! ¡Hay que terminar la encuadernación para que la gente pueda leer el libro! Aumenta la Inteligencia en <%= int %>. Armario Encantado: Conjunto de Encuadernador (Objeto 4 de 4).",
"back": "Accesorio en la Espalda",
"backCapitalized": "Accesorio en la Espalda",
"backBase0Text": "Sin Accesorio en la Espalda",
"backBase0Notes": "Sin Accesorio en la Espalda",
+ "animalTails": "Colas de animal",
"backMystery201402Text": "Alas doradas",
"backMystery201402Notes": "¡Estas alas brillantes tienen plumas que resplandecen a la luz del sol! No confiere ningún beneficio. Equipo de suscriptor Febrero 2014.",
"backMystery201404Text": "Alas de mariposa crepuscular",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Esta capa perteneció una vez a la mismísima \"Lost Masterclasser\". Aumenta la Percepción en <%= per %>.",
"backSpecialTurkeyTailBaseText": "Cola de Pavo",
"backSpecialTurkeyTailBaseNotes": "¡Viste tu honorable Cola de Pavo con orgullo mientras lo celebras! Sin beneficios.",
+ "backBearTailText": "Cola de oso",
+ "backBearTailNotes": "¡Esta cola hace que parezcas un valiente oso! No confiere beneficio.",
+ "backCactusTailText": "Cola de cactus",
+ "backCactusTailNotes": "¡Esta cola hace que parezcas un puntiagudo cactus! No confiere beneficio.",
+ "backFoxTailText": "Cola de zorro",
+ "backFoxTailNotes": "¡Esta cola hace que parezcas un astuto zorro! No confiere beneficio.",
+ "backLionTailText": "Cola de león",
+ "backLionTailNotes": "¡Esta cola hace que parezcas un majestuoso león! No confiere beneficio.",
+ "backPandaTailText": "Cola de panda",
+ "backPandaTailNotes": "¡Esta cola hace que parezcas un agradable panda! No confiere beneficio.",
+ "backPigTailText": "Cola de cerdo",
+ "backPigTailNotes": "¡Esta cola hace que parezcas un extravagante cerdo! No confiere beneficio.",
+ "backTigerTailText": "Cola de tigre",
+ "backTigerTailNotes": "¡Esta cola hace que parezcas un fiero tigre! No confiere beneficio.",
+ "backWolfTailText": "Cola de lobo",
+ "backWolfTailNotes": "¡Esta cola hace que parezcas un leal lobo! No confiere beneficio.",
"body": "Accesorio para el cuerpo",
"bodyCapitalized": "Accesorio para el Cuerpo",
"bodyBase0Text": "Sin accesorio en el cuerpo",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Las gafas son para los ojos\" dijeron, \"Nadie quiere gafas que solo se puedan llevar en la cabeza\" dijeron. ¡Ja! ¡Demuéstrales que eso no es así! No confiere ningún beneficio. Artículo de suscriptor de agosto de 3015.",
"headAccessoryArmoireComicalArrowText": "Flecha Cómica",
"headAccessoryArmoireComicalArrowNotes": "¡Este caprichoso artículo es una buena elección para reírse! Aumenta la Fuerza en <%= str %>. Armario encantado: Artículo independiente.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Gafas de Encuadernador",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "¡Estas gafas te ayudarán a reducir cualquier tarea, grande o pequeña! Aumenta la Percepción en <%= per %>. Armario Encantado: Conjunto de Encuadernador (Objeto 1 de 4).",
"eyewear": "Gafas",
"eyewearCapitalized": "Gafas",
"eyewearBase0Text": "Sin Gafas.",
diff --git a/website/common/locales/es/groups.json b/website/common/locales/es/groups.json
index d8268c1472..812b86b459 100644
--- a/website/common/locales/es/groups.json
+++ b/website/common/locales/es/groups.json
@@ -6,6 +6,7 @@
"innText": "¡Estás descansando en la Posada! Mientras estés en ella, tus Tareas diarias no te causarán daño al final del día, pero seguirán restableciéndose cada día. Ten cuidado: si estás participando en una Misión contra un Jefe, el Jefe seguirá haciéndote daño cuando tus compañeros de equipo no cumplan sus Tareas diarias, ¡a no ser que ellos también estén en la Posada! Además, el daño que provoques al Jefe (o los objetos que encuentres) no se contará hasta que salgas de la Posada.",
"innTextBroken": "Estás descansando en la Posada, o eso creo... Mientras estés en ella, tus Tareas diarias no te causarán daño al final del día, pero seguirán restableciéndose cada día... Si estás participando en una Misión contra un Jefe, el Jefe seguirá haciéndote daño cuando tus compañeros de equipo no cumplan sus Tareas diarias... a no ser que ellos también estén en la Posada... Además, el daño que provoques al Jefe (o los objetos que encuentres) no se contará hasta que salgas de la Posada... Qué cansancio...",
"innCheckOutBanner": "Actualmente estás registrado en la Posada. Tus Tareas Diarias no te harán daño y no progresarás en las Misiones.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Reanudar daño",
"helpfulLinks": "Enlaces de interés",
"communityGuidelinesLink": "Directrices de la Comunidad",
@@ -141,7 +142,7 @@
"PMDisabledCaptionText": "Aún puedes enviar mensajes, pero nadie puede enviártelos.",
"block": "Bloquear",
"unblock": "Desbloquear",
- "blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
+ "blockWarning": "Bloqueo - No tendrá efecto si el jugador es un moderador o se convierte en un moderador en el futuro.",
"pm-reply": "Enviar una respuesta",
"inbox": "Bandeja de entrada",
"messageRequired": "Es necesario un mensaje.",
@@ -470,8 +471,8 @@
"whatIsGroupManager": "¿Qué es un Administrador de Grupo?",
"whatIsGroupManagerDesc": "Un administrador de grupo es una función para los usuarios que no da acceso a los detalles de facturación del grupo, pero le capacita para crear, asignar y aprobar tareas compartidas para los miembros del grupo. Asciende a los administradores de grupo desde la lista de miembros.",
"goToTaskBoard": "Ir al Tablón de Tareas",
- "sharedCompletion": "Shared Completion",
- "recurringCompletion": "None - Group task does not complete",
- "singleCompletion": "Single - Completes when any assigned user finishes",
- "allAssignedCompletion": "All - Completes when all assigned users finish"
+ "sharedCompletion": "Terminación compartida",
+ "recurringCompletion": "Ninguno - La tarea de grupo no ha sido completada",
+ "singleCompletion": "Único - Se completa cuando cualquiera de los usuarios a los que haya sido asignada la termina",
+ "allAssignedCompletion": "Todos - Se completa cuando todos los usuarios a los que ha sido asignada la terminan"
}
\ No newline at end of file
diff --git a/website/common/locales/es/limited.json b/website/common/locales/es/limited.json
index 08360c53ab..18eb464d87 100644
--- a/website/common/locales/es/limited.json
+++ b/website/common/locales/es/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Mago Pez León (Mago)",
"summer2018MerfolkMonarchSet": "Monarca Sirena (Sanador)",
"summer2018FisherRogueSet": "Pescador Pícaro (Pícaro)",
+ "fall2018MinotaurWarriorSet": "Minotauro (Guerrero)",
+ "fall2018CandymancerMageSet": "Golomante (Mago)",
+ "fall2018CarnivorousPlantSet": "Planta Carnívora (Sanador)",
+ "fall2018AlterEgoSet": "Alter Ego (Pícaro)",
"eventAvailability": "Disponible para su compra hasta el <%= date(locale) %>.",
"dateEndMarch": "30 de abril",
"dateEndApril": "19 de abril",
@@ -132,7 +136,7 @@
"dateEndJune": "14 de junio",
"dateEndJuly": "31 de Julio",
"dateEndAugust": "Agosto 31",
- "dateEndSeptember": "September 21",
+ "dateEndSeptember": "21 de septiembre",
"dateEndOctober": "31 de octubre",
"dateEndNovember": "30 de noviembre",
"dateEndJanuary": "31 de enero",
diff --git a/website/common/locales/es/messages.json b/website/common/locales/es/messages.json
index 70d64681d8..a79dc9ae23 100644
--- a/website/common/locales/es/messages.json
+++ b/website/common/locales/es/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Se requieren ids de notificación.",
"unallocatedStatsPoints": "Tienes <%= points %> Puntos de Estadísticas sin asignar",
"beginningOfConversation": "Este es el principio de tu conversación con <%= userName %>. ¡Recuerda ser amable, respetuoso y seguir las Normas de la Comunidad!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Lo sentimos, este usuario ha eliminado su cuenta."
}
\ No newline at end of file
diff --git a/website/common/locales/es/overview.json b/website/common/locales/es/overview.json
index 5e5efd54f7..3415e2f077 100644
--- a/website/common/locales/es/overview.json
+++ b/website/common/locales/es/overview.json
@@ -2,13 +2,13 @@
"needTips": "¿Necesitas algunos consejos para comenzar? ¡Aquí tienes una guía clara!",
"step1": "Paso 1: Añade Tareas",
- "webStep1Text": "Habitica es inútil sin metas de la vida real, así que introduce algunas tareas. ¡Puedes añadir más en el futuro conforme se te vayan ocurriendo! Todas las tareas pueden crearse presionando sobre el botón verde de \"Create\".\n* **Establece [Tareas Pendientes](http://habitica.wikia.com/wiki/To-Dos):** Introduce tareas que debes realizar una única vez o raramente en la columna de Tareas Pendientes. ¡Puedes pulsar sobre dichas tareas para editarlas y añadir listas, fechas de vencimiento y muchás cosas más!\n* **Establece [Tareas Diarias](http://habitica.wikia.com/wiki/Dailies):** Introduce en la columan de Tareas Diarias actividades que debes realizar de forma diaria o en días particulares de la semana, mes o año. Presiona sobre la tarea para editar sus fechas de vencimiento y/o inicio. También puedes hacer que venzan de forma cíclica, por ejemplo, cada tres 3 días.\n* **Establece [Hábitos](http://habitica.wikia.com/wiki/Habits):** Introduce hábitos que desees adquirir en la columna de Hábitos. Puedes editarlos para diferenciar aquellos que son buenos :denotado con el signo \"+\": de aquellos que son malos :denotado con el signo \"-\":.\n* **Establece [Recompensas](http://habitica.wikia.com/wiki/Rewards):** Como añadido a las recompensas propias del juego ofrecidas, puedes añadir actividades o premios que quieras usar como motivación en la columna de Recompensas. Es importante que te tomes un descanso y seas indulgente contigo mismo, ¡pero con moderación!.\n* Si necesitas inspiración sobre qué tareas podrías añadir, puedes echar un vistazo a las páginas de la wiki relacionadas a continuación: [Hábitos de muestra](http://habitica.wikia.com/wiki/Sample_Habits), [Ejemplos de Tareas Diarias](http://habitica.wikia.com/wiki/Sample_Dailies), [Ejemplos de Tareas Pendientes](http://habitica.wikia.com/wiki/Sample_To-Dos), y [Ejemplos de Recompensas](http://habitica.wikia.com/wiki/Sample_Custom_Rewards).",
+ "webStep1Text": "Habitica es inútil sin metas de la vida real, así que introduce algunas tareas. ¡Puedes añadir más en el futuro conforme se te vayan ocurriendo! Todas las tareas pueden crearse presionando sobre el botón verde de \"Añadir Tarea\".\n* **Establece [Tareas Pendientes](http://habitica.wikia.com/wiki/To-Dos):** Introduce tareas que debes realizar una única vez o raramente en la columna de Tareas Pendientes. ¡Puedes pulsar sobre dichas tareas para editarlas y añadir listas, fechas de vencimiento y muchás cosas más!\n* **Establece [Tareas Diarias](http://habitica.wikia.com/wiki/Dailies):** Introduce en la columna de Tareas Diarias actividades que debes realizar de forma diaria o en días particulares de la semana, mes o año. Presiona sobre la tarea para editar sus fechas de vencimiento y/o inicio. También puedes hacer que venzan de forma cíclica, por ejemplo, cada tres 3 días.\n* **Establece [Hábitos](http://habitica.wikia.com/wiki/Habits):** Introduce hábitos que desees adquirir en la columna de Hábitos. Puedes editarlos para diferenciar aquellos que son buenos :heavy_plus_sign: de aquellos que son malos :heavy_minus_sign:.\n* **Establece [Recompensas](http://habitica.wikia.com/wiki/Rewards):** Como añadido a las recompensas propias del juego, puedes añadir actividades o premios que quieras usar como motivación en la columna de Recompensas. Es importante que te tomes un descanso y no seas muy duro contigo mismo, ¡pero con moderación!\n* Si necesitas inspiración sobre qué tareas podrías añadir, puedes echar un vistazo a las páginas de la wiki relacionadas a continuación: [Ejemplos de hábitos](http://habitica.wikia.com/wiki/Sample_Habits), [Ejemplos de Tareas Diarias](http://habitica.wikia.com/wiki/Sample_Dailies), [Ejemplos de Tareas Pendientes](http://habitica.wikia.com/wiki/Sample_To-Dos), y [Ejemplos de Recompensas](http://habitica.wikia.com/wiki/Sample_Custom_Rewards).",
- "step2": "Paso 2: Gana puntos cumpliendo tareas",
- "webStep2Text": "Ahora, ¡comienza a enfrentar tus metas de la lista! Al cumplir tareas y tildarlas en Habitica, ganarás puntos de experiencia (PE), que te ayuda a subir de nivel, así como monedas de oro (GP) que te permitirán comprar Recompensas. Si recaes en nalos hábitos o fallas en cumplir tus Diarias, perderás puntos de salud (HP). De esa manera, las barras de Experiencia y de Salud en Habitica sirven como indicador divertido de tu desarrollo hacia tus metas. Empezarás a ver tu vida real mejorando mientras que tu personaje en el juego avanza.",
+ "step2": "Paso 2: Gana puntos cumpliendo con tus tareas en la vida real",
+ "webStep2Text": "Ahora, ¡comienza a enfrentarte a tus metas de la lista! Al cumplir tareas y marcarlas en Habitica, ganarás [Experiencia](http://habitica.wikia.com/wiki/Experience_Points), que te ayudarán a subir de nivel, así como [Oro](http://habitica.wikia.com/wiki/Gold_Points) que te permitirá comprar Recompensas. Si caes en malos hábitos o fallas en cumplir tus Tareas Diarias, perderás [Salud](http://habitica.wikia.com/wiki/Health_Points). De esa manera, las barras de Experiencia y de Salud en Habitica sirven como un indicador divertido de tu progreso hacia tus metas. Empezarás a ver cómo mejora tu vida real mientras tu personaje en el juego avanza.",
"step3": "Paso 3: Personaliza y explora Habitica",
- "webStep3Text": "Una vez estés familiarizado con los básicos, puedes sacar más partido de Habitica con estas fantásticas opciones:\n* Organiza tus tareas con [etiquetas](http://habitica.wikia.com/wiki/Tags) (edita una tarea para añadirla)\n* Personaliza tu [personaje](http://habitica.wikia.com/wiki/Avatar) haciendo click en el icono de usuario en la esquina superior derecha.\n* Compra tu [Equipamiento](http://habitica.wikia.com/wiki/Equipment) en la columna de Recompensas o de las [Tiendas](/shops/market), y cámbialo debajo de [Inventario>Equipamiento](/inventory/equipment).\n* Conecta con otros usuarios mediante la [Taberna](http://habitica.wikia.com/wiki/Tavern).\n* A partir del Nivel 3, eclosiona [Mascotas](http://habitica.wikia.com/wiki/Pets) recogiendo [huevos](http://habitica.wikia.com/wiki/Eggs) y [pociones de eclosión](http://habitica.wikia.com/wiki/Hatching_Potions). [Aliméntalos](http://habitica.wikia.com/wiki/Food) para crear [Monturas](http://habitica.wikia.com/wiki/Mounts).\n* En el nivel 10: Elige una [clase](http://habitica.wikia.com/wiki/Class_System) en concreto y usa las [habilidades](http://habitica.wikia.com/wiki/Skills) específicas de tu Clase (niveles 11 a 14).\n* Forma un grupo con tus amigos (haciendo click en [Grupo](/party) en la barra de navegación) para mantener la cuenta de tus tareas y ganar un Pergamino de misión.\n* Vence a los monstruos y colecciona objetos con [misiones](http://habitica.wikia.com/wiki/Quests) (se te dará una misión en el nivel 15).",
+ "webStep3Text": "Una vez estés familiarizado con los básicos, puedes sacar más partido de Habitica con estas fantásticas opciones:\n* Organiza tus tareas con [etiquetas](http://habitica.wikia.com/wiki/Tags) (edita una tarea para añadirla).\n* Personaliza tu [personaje](http://habitica.wikia.com/wiki/Avatar) haciendo click en el icono de usuario en la esquina superior derecha.\n* Compra tu [Equipamiento](http://habitica.wikia.com/wiki/Equipment) en la columna de Recompensas o en las [Tiendas](/shops/market), y cámbialo en [Inventario>Equipamiento](/inventory/equipment).\n* Conecta con otros usuarios mediante la [Taberna](http://habitica.wikia.com/wiki/Tavern).\n* A partir del Nivel 3, eclosiona [Mascotas](http://habitica.wikia.com/wiki/Pets) recogiendo [huevos](http://habitica.wikia.com/wiki/Eggs) y [pociones de eclosión](http://habitica.wikia.com/wiki/Hatching_Potions). [Aliméntalos](http://habitica.wikia.com/wiki/Food) para crear [Monturas](http://habitica.wikia.com/wiki/Mounts).\n* En el nivel 10: Elige una [clase](http://habitica.wikia.com/wiki/Class_System) en concreto y usa las [habilidades](http://habitica.wikia.com/wiki/Skills) específicas de tu Clase (niveles 11 a 14).\n* Forma un grupo con tus amigos (haciendo click en [Grupo](/party) en la barra de navegación) para mantener la cuenta de tus tareas y ganar un Pergamino de misión.\n* Vence a los monstruos y colecciona objetos con [misiones](http://habitica.wikia.com/wiki/Quests) (se te dará una misión en el nivel 15).",
- "overviewQuestions": "¿Tienes preguntas? ¡Echa un vistazo a las [FAQ](/static/faq/)! Si tu pregunta no aparece mencionada, puedes pedir más ayuda en el [Gremio de Principiantes](/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a).\n\n¡Buena suerte con tus tareas!"
+ "overviewQuestions": "¿Tienes preguntas? ¡Echa un vistazo a las [FAQ](/static/faq/)! Si tu pregunta no aparece mencionada, puedes pedir ayuda en el [Gremio de Principiantes](/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a).\n\n¡Buena suerte con tus tareas!"
}
diff --git a/website/common/locales/es/questscontent.json b/website/common/locales/es/questscontent.json
index 341c2bab5e..c22cdcc226 100644
--- a/website/common/locales/es/questscontent.json
+++ b/website/common/locales/es/questscontent.json
@@ -611,10 +611,12 @@
"questSeaSerpentBoss": "La poderosa serpiente marina",
"questSeaSerpentDropSeaSerpentEgg": "Serpiente marina (huevo)",
"questSeaSerpentUnlockText": "Desbloquear la compra de huevos de serpiente de agua en el Mercado",
- "questKangarooText": "Kangaroo Catastrophe",
- "questKangarooNotes": "Maybe you should have finished that last task… you know, the one you keep avoiding, even though it always comes back around? But @Mewrose and @LilithofAlfheim invited you and @stefalupagus to see a rare kangaroo troop hopping through the Sloensteadi Savannah; how could you say no?! As the troop comes into view, something hits you on the back of the head with a mighty whack!
Shaking the stars from your vision, you pick up the responsible object--a dark red boomerang, with the very task you continually push back etched into its surface. A quick glance around confirms the rest of your party met a similar fate. One larger kangaroo looks at you with a smug grin, like she’s daring you to face her and that dreaded task once and for all!",
- "questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
- "questKangarooBoss": "Catastrophic Kangaroo",
- "questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooText": "Catástrofe del Canguro",
+ "questKangarooNotes": "A lo mejor deberías haber terminado la última tarea... Ya sabes, la que sigues evitando aunque siempre vuelve. ¡Pero @Mewrose y @LilithofAlfheim os han invitado a ti y a @stefalupagus a ver una extraña manada de canguros saltando por Sabana Calmoilento! ¿Cómo negarte? Cuando la manada aparece, ¡algo te golpea por detrás de la cabeza con un poderoso golpe!
Todavía viendo las estrellas, coges el objeto responsable: un boomerang rojo oscuro, con esa tarea que estás todo el rato intentando ignorar. Una mirada rápida confirma que el resto de tu equipo se ha encontrado con un destino similar. ¡Una canguro más grande que el resto te mira con una sonrisilla sucia, como si te estuviera retando a enfrentarte a ella y a la tarea, de una vez y para siempre!",
+ "questKangarooCompletion": "—¡Ahora!\n\nHaces una señal a tu equipo para lanzar los boomerang de vuelta al canguro. La bestia salta más lejos con cada golpe hasta que huye, dejando nada más que una polvareda roja, unos pocos huevos y algunas monedas.
@Mewrose avanza hacia donde estaba el canguro.\n\n—Hey, ¿a dónde han ido los boomerangs?\n\n
—Seguramente se han disuelto en polvo, creando esa nube roja, cuando terminamos nuestras tareas especula @stefalupagus.\n\n
@LilithofAlfheim escudriña el horizonte.\n\n—¿Eso es otra manada de canguros viniendo hacia nosotros?\n\n
Todos vosotros echáis a correr de vuelta a Ciudad de los Hábitos. ¡Mejor enfrentaros a vuestras tareas difíciles que aguantar más golpes en la cabeza!",
+ "questKangarooBoss": "Canguro Catastrófico",
+ "questKangarooDropKangarooEgg": "Canguro (Huevo)",
+ "questKangarooUnlockText": "Desbloquea la posibilidad de compra de huevos de Canguro en el Mercado",
+ "forestFriendsText": "Lote de Misiones de Amigos del Bosque",
+ "forestFriendsNotes": "Contiene \"El espíritu de la primavera\", \"El erizobestia\", y \"La enredadera\". Disponible hasta el 30 de septiembre."
}
\ No newline at end of file
diff --git a/website/common/locales/es/rebirth.json b/website/common/locales/es/rebirth.json
index a21f918634..6e439ee6d2 100644
--- a/website/common/locales/es/rebirth.json
+++ b/website/common/locales/es/rebirth.json
@@ -1,6 +1,6 @@
{
"rebirthNew": "Renacimiento: ¡Nueva aventura disponible!",
- "rebirthUnlock": "¡Has desbloqueado el Renacimiento! Este objeto especial en el Mercado te permite empezar un juego nuevo en nivel 1, manteniendo tus tareas, logros, mascotas, y más. Úsalo para comenzar una nueva vida en Habitica por si sientes que ya lo lograste todo, o para tener la experiencia de nuevas funciones con la perspectiva de un personaje nuevo.",
+ "rebirthUnlock": "¡Has desbloqueado el Renacimiento! Este objeto especial del Mercado te permite empezar un juego nuevo en el nivel 1, manteniendo tus tareas, logros, mascotas, y más. Úsalo para comenzar una nueva vida en Habitica por si sientes que ya lo lograste todo, o para experimentar nuevas funciones con la perspectiva de un personaje nuevo.",
"rebirthBegin": "Renacimiento: Empieza Una Nueva Aventura",
"rebirthStartOver": "Con el renacimiento, tu personaje vuelve al nivel 1.",
"rebirthAdvList1": "Restauras completamente tu salud.",
@@ -15,13 +15,13 @@
"rebirthEarnAchievement": "¡También recibirás un Logro por haber empezado una nueva aventura!",
"beReborn": "Renacer",
"rebirthAchievement": "¡Has comenzado una nueva aventura! Este es Renacimiento <%= number %> para ti, y el Nivel más alto que has conseguido es <%= level %>. Para apilar este Logro, ¡empieza tu aventura siguiente después de haber conseguido un nivel más alto!",
- "rebirthAchievement100": "¡Has comenzado una nueva aventura! Este es Renacimiento <%= number %> para ti, y el Nivel más alto que has conseguido es 100 o mas alto. Para apilar este Logro, ¡empieza tu aventura siguiente después de haber conseguido a lo menos el nivel 100!",
+ "rebirthAchievement100": "¡Has comenzado una nueva aventura! Este es el Renacimiento <%= number %> para ti, y el Nivel más alto que has conseguido es 100 o superior. Para acumular este Logro, ¡empieza tu aventura siguiente después de haber conseguido al menos el nivel 100!",
"rebirthBegan": "Comienza una nueva aventura",
"rebirthText": "Comenzó <%= rebirths %> nuevas aventuras",
- "rebirthOrb": "Usó una Esfera de Renacimiento para comenzar de nuevo después de alcanzar el Nivel <%= level %>.",
- "rebirthOrb100": "Usó una Esfera de Renacimiento para comenzar de nuevo después de alcanzar el Nivel 100 o superior.",
- "rebirthOrbNoLevel": "Usó una Esfera de Renacimiento para comenzar de nuevo.",
- "rebirthPop": "Reinicia instantáneamente tu personaje como un Guerrero de Nivel 1, manteniendo logros, colecciones y equipamiento. Tus tareas y su historial se mantendrán, pero volverán a ser amarillas. Tus rachas desaparecerán excepto para las tareas de los desafíos. Tu Oro, Experiencia, Maná y los efectos de todas tus habilidades desaparecerán. Todo esto tendrá efecto inmediato. Para más información, mirar la página de Orbe de Renacimiento de la wiki.",
+ "rebirthOrb": "Usó un Orbe de Renacimiento para comenzar de nuevo después de alcanzar el Nivel <%= level %>.",
+ "rebirthOrb100": "Usó un Orbe de Renacimiento para comenzar de nuevo después de alcanzar el Nivel 100 o superior.",
+ "rebirthOrbNoLevel": "Usó un Orbe de Renacimiento para comenzar de nuevo.",
+ "rebirthPop": "Reinicia instantáneamente tu personaje como un Guerrero de Nivel 1, manteniendo logros, colecciones y equipamiento. Tus tareas y su historial se mantendrán, pero volverán a ser amarillas. Tus rachas desaparecerán excepto en las tareas de los desafíos. Tu Oro, Experiencia, Maná y los efectos de todas tus habilidades desaparecerán. Todo esto tendrá efecto inmediato. Para más información, mirar la página de Orbe de Renacimiento de la wiki.",
"rebirthName": "Esfera de Renacimiento",
"reborn": "Renacido, nivel máximo <%= reLevel %>",
"confirmReborn": "¿Está seguro?",
diff --git a/website/common/locales/es/subscriber.json b/website/common/locales/es/subscriber.json
index 2d1816943e..5e7e89296d 100644
--- a/website/common/locales/es/subscriber.json
+++ b/website/common/locales/es/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "Conjunto de pavo real fenómeno",
"mysterySet201806": "Conjunto de rape seductor",
"mysterySet201807": "Conjunto de Serpiente Marina",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Conjunto de Dragón de Lava",
+ "mysterySet201809": "Conjunto de Armadura Otoñal",
"mysterySet301404": "El Conjunto Steampunk",
"mysterySet301405": "Accesorios Steampunk",
"mysterySet301703": "Conjunto de Pavo real Steampunk",
diff --git a/website/common/locales/es_419/achievements.json b/website/common/locales/es_419/achievements.json
index ea0294e9ea..169006ddcd 100644
--- a/website/common/locales/es_419/achievements.json
+++ b/website/common/locales/es_419/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Logro",
"share": "Comparte!",
"onwards": "¡Adelante!",
"levelup": "¡Por realizar tus metas de la vida real, has subido de nivel y te has curado por completo!",
diff --git a/website/common/locales/es_419/backgrounds.json b/website/common/locales/es_419/backgrounds.json
index 9a0dc777c0..61ec561bc4 100644
--- a/website/common/locales/es_419/backgrounds.json
+++ b/website/common/locales/es_419/backgrounds.json
@@ -339,39 +339,46 @@
"backgroundElegantBalconyNotes": "Mira el paisaje desde un balcón elegante.",
"backgroundDrivingACoachText": "Conduciendo un carruaje",
"backgroundDrivingACoachNotes": "Disfruta conduciendo un carruaje más allá de los campos de flores",
- "backgrounds042018": "SET 47: Released April 2018",
+ "backgrounds042018": "Conjunto 47: Publicado en abril 2018",
"backgroundTulipGardenText": "Jardín de tulipanes",
"backgroundTulipGardenNotes": "Tiptoe through a Tulip Garden.",
"backgroundFlyingOverWildflowerFieldText": "Field of Wildflowers",
"backgroundFlyingOverWildflowerFieldNotes": "Soar above a Field of Wildflowers.",
- "backgroundFlyingOverAncientForestText": "Ancient Forest",
+ "backgroundFlyingOverAncientForestText": "Bosque antiguo",
"backgroundFlyingOverAncientForestNotes": "Fly over the canopy of an Ancient Forest.",
- "backgrounds052018": "SET 48: Released May 2018",
+ "backgrounds052018": "Conjunto 48: Publicado en mayo 2018",
"backgroundTerracedRiceFieldText": "Terraced Rice Field",
"backgroundTerracedRiceFieldNotes": "Enjoy a Terraced Rice Field in the growing season.",
"backgroundFantasticalShoeStoreText": "Fantastical Shoe Store",
"backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
- "backgroundChampionsColosseumText": "Champions' Colosseum",
+ "backgroundChampionsColosseumText": "Coliseo de los campeones",
"backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
- "backgroundDocksNotes": "Fish from atop the Docks.",
+ "backgrounds062018": "Conjunto 49: Publicado en junio 2018",
+ "backgroundDocksText": "Muelles",
+ "backgroundDocksNotes": "Pescar desde lo alto de los muelles",
"backgroundRowboatText": "Rowboat",
"backgroundRowboatNotes": "Sing rounds in a Rowboat.",
"backgroundPirateFlagText": "Bandera pirata",
"backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
+ "backgrounds072018": "Conjunto 50: Publicado en julio 2018",
"backgroundDarkDeepText": "Dark Deep",
"backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.",
"backgroundDilatoryCityText": "City of Dilatory",
"backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
"backgroundTidePoolText": "Tide Pool",
"backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
+ "backgrounds082018": "Conjunto 51: Publicado en agosto 2018",
+ "backgroundTrainingGroundsText": "Campos de entrenamiento",
"backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
+ "backgroundFlyingOverRockyCanyonText": "Cañón rocoso",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeText": "Puente",
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/es_419/challenge.json b/website/common/locales/es_419/challenge.json
index 86428b199e..60ddfb71e8 100644
--- a/website/common/locales/es_419/challenge.json
+++ b/website/common/locales/es_419/challenge.json
@@ -13,7 +13,7 @@
"challengeWinner": "Fue el ganador en los siguientes desafíos",
"challenges": "Desafíos",
"challengesLink": "Desafíos",
- "challengePrize": "Challenge Prize",
+ "challengePrize": "Premio del desafio",
"endDate": "Termina",
"noChallenges": "Ningún desafío todavía, visita",
"toCreate": "para crear uno.",
diff --git a/website/common/locales/es_419/character.json b/website/common/locales/es_419/character.json
index 8c64d60433..e36636e862 100644
--- a/website/common/locales/es_419/character.json
+++ b/website/common/locales/es_419/character.json
@@ -46,7 +46,7 @@
"mustache": "Bigote",
"flower": "Flor",
"accent": "Accent",
- "headband": "Headband",
+ "headband": "Vincha",
"wheelchair": "Silla de ruedas",
"extra": "Extra",
"basicSkins": "Pieles básicas",
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Ocultar asignación de Puntos de Atributo",
"quickAllocationLevelPopover": "Cada nivel te otorga un punto para asignarlo al atributo de tu elección. Puedes hacerlo manualmente, o puedes dejar que el juego decida por ti usando una de las opciones de Asignación Automática encontradas en Icono del Usuario > Atributos.",
"notEnoughAttrPoints": "No tienes suficientes puntos de Estadistica.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Estilo",
"facialhair": "Cara",
"photo": "Foto",
@@ -219,6 +220,6 @@
"bodyAccess": "Accesorio para el Cuerpo",
"mainHand": "Mano Principal",
"offHand": "Mano Secundaria",
- "statPoints": "Stat Points",
+ "statPoints": "Puntos de estadisticas",
"pts": "pts"
}
\ No newline at end of file
diff --git a/website/common/locales/es_419/communityguidelines.json b/website/common/locales/es_419/communityguidelines.json
index 0932159294..d64850acb0 100644
--- a/website/common/locales/es_419/communityguidelines.json
+++ b/website/common/locales/es_419/communityguidelines.json
@@ -1,27 +1,27 @@
{
"iAcceptCommunityGuidelines": "Acepto cumplir con las Normas de la comunidad",
- "tavernCommunityGuidelinesPlaceholder": "Un amistoso recordatorio: este es un chat para todas las edades, así que ¡por favor mantén el contenido y el lenguaje apropiado! Consulta las Normas de la Comunidad en la barra lateral si tienes preguntas.",
+ "tavernCommunityGuidelinesPlaceholder": "Un recordatorio amistoso: este es un chat para todas las edades, así que ¡por favor mantén apropiados el contenido y el lenguaje! Consulta las Normas de la Comunidad en la barra lateral si tienes preguntas.",
"lastUpdated": "Ultima actualización:",
"commGuideHeadingWelcome": "¡Bienvenido a Habitica!",
- "commGuidePara001": "Saludos, aventurero! Bienvenido a Habitica, la tierra de la productividad, la vida sana y el grifo ocasional. Tenemos una comunidad alegre llena de personas útiles que se apoyan mutuamente en su camino hacia la superación personal. Para encajar, todo lo que se necesita es una actitud positiva, una actitud respetuosa y la comprensión de que todos tienen diferentes habilidades y limitaciones, ¡incluido usted! Los Habiticanos son pacientes entre sí y tratan de ayudar cuando pueden",
- "commGuidePara002": "Para ayudar a mantener a todos seguros, felices y productivos en la comunidad, tenemos algunas pautas. Los hemos elaborado cuidadosamente para que sean tan amigables y fáciles de leer como sea posible. Tómese el tiempo para leerlos antes de comenzar a chatear.",
+ "commGuidePara001": "¡Saludos, aventurero! Bienvenido a Habitica, la tierra de la productividad, la vida sana y el ocasional grifo desbocado. Tenemos una comunidad alegre llena de personas útiles que se apoyan mutuamente en su camino hacia la superación personal. Para encajar, todo lo que se necesita es una actitud positiva, un trato respetuoso y la comprensión de que todos tienen diferentes habilidades y limitaciones, ¡incluido usted! Los habiticanos son pacientes entre sí y tratan de ayudar cuando pueden",
+ "commGuidePara002": "Para ayudar a mantenerlos a todos seguros, felices y productivos en la comunidad, tenemos algunas normas. Las hemos elaborado cuidadosamente para que sean tan agradables y fáciles de leer como sea posible. Tómese el tiempo para leerlas antes de comenzar a conversar.",
"commGuidePara003": "Estas reglas aplican a todos los espacios sociales que usamos, incluyendo (pero no limitadas a) Trello, GitHub, Transifex, y la Wikia (también llamada wiki). Algunas veces, se darán situaciones imprevistas, como una nueva fuente de conflicto o un perverso necromante. Cuando esto pase, los mods pueden actuar editando las normas para mantener a la comunidad a salvo de nuevas amenazas. No temes: serás notificado con un anuncio de Bailey si las normas cambian.",
"commGuidePara004": "Prepara tus plumas y pergaminos para tomar nota, ¡y empecemos!",
"commGuideHeadingInteractions": "Interacciones en Habitica",
- "commGuidePara015": "Habitica tiene dos tipos de de espacios sociales: públicos y privados. Los espacios públicos incluyen la Taberna, Gremios Públicos, GitHub, Trello y la Wiki. Los espacios privados son Gremios privados, chat de grupo y Mensajes Privados. Todos los nombres a mostrar deben cumplir con las Normas del espacio publico. Para cambiar tu nombre, ve a Usuario > Perfil en la página web y haz clic en el botón \"Editar\".",
+ "commGuidePara015": "Habitica tiene dos tipos de de espacios sociales: públicos y privados. Los espacios públicos incluyen la Taberna, Gremios Públicos, GitHub, Trello y la Wiki. Los espacios privados son Gremios privados, chat de grupo y Mensajes Privados. Todos los nombres a mostrar deben cumplir con las normas de espacio publico. Para cambiar tu nombre, ve a Usuario > Perfil en la página web y haz clic en el botón \"Editar\".",
"commGuidePara016": "Cuando navegues los espacios públicos en Habitica, existen algunas reglas generales para mantener la seguridad de todos. ¡Estas deberían ser sencillas para aventureros como tu!",
- "commGuideList02A": "Respétense entre ustedes. Sé cortés, amable , amigable y servicial. Recuerda: los Habiticanos vienen de distintos entornos y han tenido experiencias extremadamente divergentes. ¡Esto es parte de lo que hace a Habitica tan genial! Construir una comunidad significa resperar y celebrar nuestras diferencias así como nuestras similitudes. Estas son algúnas maneras fáciles de respetarnos entre nosotros:",
+ "commGuideList02A": "Respétense entre ustedes. Sé cortés, amable , amigable y servicial. Recuerda: los Habiticanos vienen de distintos contextos y han tenido experiencias extremadamente divergentes. ¡Esto es parte de lo que hace a Habitica tan genial! Construir una comunidad significa respetar y celebrar nuestras diferencias así como nuestras similitudes. Estas son algunas maneras fáciles de respetarnos unos a los otros:",
"commGuideList02B": "Obedece todos los Términos y Condiciones",
- "commGuideList02C": "No publiques imágenes o textos que sean violentos, amenazantes, o sexualmente explícitos/sugestivos, o que promuevan la discriminación, intolerancia, racismo, sexismo, odio, acoso o daño hacia cualquier individuo o grupo. Ni siquiera como una broma. Esto incluye insultos así como declaraciones. No todos tienen el mismo sentido del humor, por lo que algo que tu consideras como broma podría ser hiriente para otros. Ataca a tus Tareas Diarias, no a los demás.",
+ "commGuideList02C": "No publiques imágenes o textos que sean violentos, amenazantes, sexualmente explícitos o sugestivos, o que promuevan la discriminación, intolerancia, racismo, sexismo, odio, acoso o daño hacia cualquier individuo o grupo. Ni siquiera como una broma. Esto incluye tanto insultos como declaraciones. No todos tienen el mismo sentido del humor, por lo que algo que tú consideres como broma podría ser hiriente para otros. Ataca a tus Tareas Diarias, no a los demás.",
"commGuideList02D": "Mantén las discusiones apropiadas para todas las edades. ¡Tenemos muchos Habiticanos jóvenes utilizando el sitio! No ensuciemos a ningún inocente ni obstaculicemos las metas de ningún Habiticano.",
- "commGuideList02E": "Evita las obscenidades. Esto incluye groserías leves basadas en la religión que pueden ser aceptables en otros lugares. Tenemos gente de todos los entornos religiosos y culturales, y queremos asegurarnos de que todos ellos se sientan cómodos en espacios públicos. Si un moderador o miembro del personal te dice que un término no está permitido en Habitica, incluso si no te diste cuenta de que el término era problemático, esa decisión es final. Además, los insultos serán tratados de manera muy severa, ya que también son una violación a los Términos de Sevicio.",
+ "commGuideList02E": "Evita las obscenidades. Esto incluye groserías leves, basadas en la religión, que pueden ser aceptables en otros lugares. Tenemos gente de todos los contextos religiosos y culturales, y queremos asegurarnos de que todos ellos se sientan cómodos en espacios públicos. Si un moderador o miembro del personal te dice que un término no está permitido en Habitica, incluso si no te diste cuenta de que el término era problemático, esa decisión es definitiva. Además, los insultos serán tratados de manera muy severa, ya que también son una violación a los Términos de Sevicio.",
"commGuideList02F": "Evita discusiones extendidas de temas divisivos en la Taberna y donde esté fuera de lugar. Si sientes que alguien ha dicho algo grosero o hiriente, no te enfrentes con ellos. Si alguien menciona algo que está permitido dentro de las normas pero que es hiriente para ti, está bien amablemente dejar que lo sepa. Si está en contra de las normas o los Términos de Servicio, deberías denunciarlo y dejar que un moderador responda. Ante la duda, denuncia la publicación.",
- "commGuideList02G": "Comply immediately with any Mod request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, asking you to move your discussion to a more suitable space, etc.",
- "commGuideList02H": "Tóma el tiempo de reflexionar en lugar de responder con enojo si alguien te indica que algo que dijiste o hiciste lo hizo sentirse incómodo. El poder disculparse sinceramente demuestra una gran fortaleza. Si sientes que la manera en la que te respondió fue inapropiada, contacta a un Mod en vez de confrontarlo públicamente.",
- "commGuideList02I": "Divisive/contentious conversations should be reported to mods by flagging the messages involved or using the Moderator Contact Form. If you feel that a conversation is getting heated, overly emotional, or hurtful, cease to engage. Instead, report the posts to let us know about it. Moderators will respond as quickly as possible. It's our job to keep you safe. If you feel that more context is required, you can report the problem using the Moderator Contact Form.",
+ "commGuideList02G": "Acata inmediatamente la cualquier petición de un moderador. Ésta puede exigir, pero no se limita a, que limites tus publicaciones en un espacio en particular, que edites tu perfil para remover contenido inapropiado, o que muevas la discusión a un espacio más apropiado.",
+ "commGuideList02H": "Tóma el tiempo de reflexionar en lugar de responder con enojo si alguien te indica que algo que dijiste o hiciste lo hizo sentirse incómodo. El poder disculparse sinceramente demuestra una gran fortaleza. Si sientes que la manera en la que esa persona te respondió fue inapropiada, contacta a un Moderador en vez de confrontarla públicamente.",
+ "commGuideList02I": "Toda conversación divisiva o polémica se debe reportar a los moderadores marcando los mensajes involucrados, o bien usando la Forma para contactar a un moderador. Si sientes que una conversación se está haciendo acalorada, excesivamente emotiva, o dañina, deja de participar en ella. En cambio, reporta los mensajes para informarnos al respecto. Los moderadores responderán a la brevedad posible. Mantenerte seguro es nuestro trabajo. Si sientes que se requiere un contexto más amplio para entender el problema, repórtalo usando la Forma para contactar a un moderador.",
"commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. Asking for gems or a subscription in any of the chat spaces or via Private Message is also considered spamming. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam.
It is up to the mods to decide if something constitutes spam or might lead to spam, even if you don’t feel that you have been spamming. For example, advertising a Guild is acceptable once or twice, but multiple posts in one day would probably constitute spam, no matter how useful the Guild is!",
- "commGuideList02K": "Avoid posting large header text in the public chat spaces, particularly the Tavern. Much like ALL CAPS, it reads as if you were yelling, and interferes with the comfortable atmosphere.",
- "commGuideList02L": "We highly discourage the exchange of personal information -- particularly information that can be used to identify you -- in public chat spaces. Identifying information can include but is not limited to: your address, your email address, and your API token/password. This is for your safety! Staff or moderators may remove such posts at their discretion. If you are asked for personal information in a private Guild, Party, or PM, we highly recommend that you politely refuse and alert the staff and moderators by either 1) flagging the message if it is in a Party or private Guild, or 2) filling out the Moderator Contact Form and including screenshots.",
+ "commGuideList02K": "Evita publicar un encabezado con una fuente grande en los espacios públicos de conversación, en particular la Taberna. Tal y como cuando se escribe TODO EN MAYÚSCULAS, se lee como si estuvieras gritando, e interfiere con la atmósfera agradable.",
+ "commGuideList02L": "Disuadimos enfáticamente el intercambio de información personal -- en particular información que puede ser usada para identificarte -- en espacios públicos de conversación. Información que serviría para identificarte incluye, pero no se limita a: tu dirección de domicilio, tu dirección de correo electrónico, y tu clave API o contraseña. ¡Esto es por tu seguridad! El personal o los moderadores pueden remover tales publicaciones a discreción. Si alguien te pide tu información personal en un Gremio Privado, Equipo, o Mensaje Privado, te recomendamos enfáticamente que te niegues cortésmente a hacerlo, y que alertes al personal y los moderadores siguiendo alguno de estas vías: 1) marcando el mensaje si está en tu Equipo o Gremio Privado, o bien 2) completando la Forma para contactar a un moderador, que incluya capturas de pantalla de los mensajes.",
"commGuidePara019": "In private spaces, users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting slurs or any discriminatory, violent, or threatening content. Note that, because Challenge names appear in the winner's public profile, ALL Challenge names must obey the public space guidelines, even if they appear in a private space.",
"commGuidePara020": "Los Mensajes Privados (MPs) tienen algunas normas adicionales. Si alguien te ha bloqueado, no lo contactes en otro lugar para pedirle que te desbloquee. Además, no debes enviar MPs a alguien para solicitar soporte (dado que las respuestas públicas de soporte son útiles para la comunidad). Finalmente, no envíes a MPs a nadie rogando por un regalo de gemas o una suscripción, ya que puede ser considerado como Spam.",
"commGuidePara020A": "If you see a post that you believe is in violation of the public space guidelines outlined above, or if you see a post that concerns you or makes you uncomfortable, you can bring it to the attention of Moderators and Staff by clicking the flag icon to report it. A Staff member or Moderator will respond to the situation as soon as possible. Please note that intentionally reporting innocent posts is an infraction of these Guidelines (see below in “Infractions”). PMs cannot be flagged at this time, so if you need to report a PM, please contact the Mods via the form on the “Contact Us” page, which you can also access via the help menu by clicking “Contact the Moderation Team.” You may want to do this if there are multiple problematic posts by the same person in different Guilds, or if the situation requires some explanation. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.",
diff --git a/website/common/locales/es_419/content.json b/website/common/locales/es_419/content.json
index d5e561dc4e..60e299e41e 100644
--- a/website/common/locales/es_419/content.json
+++ b/website/common/locales/es_419/content.json
@@ -170,11 +170,11 @@
"questEggSquirrelText": "Ardilla",
"questEggSquirrelMountText": "Ardilla",
"questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
+ "questEggSeaSerpentText": "Serpiente de mar",
+ "questEggSeaSerpentMountText": "Serpiente de mar",
"questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
+ "questEggKangarooText": "Canguro",
+ "questEggKangarooMountText": "Canguro",
"questEggKangarooAdjective": "a keen",
"eggNotes": "Encuentra una poción de eclosión para verter sobre este huevo y se convertirá en <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Básico",
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Noche Estrellada",
"hatchingPotionRainbow": "Arcoíris",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Vierte esto sobre un huevo, y nacerá una mascota <%= potText(locale) %>.",
"premiumPotionAddlNotes": "No se puede usar con huevos de mascotas de misión.",
"foodMeat": "Carne",
diff --git a/website/common/locales/es_419/front.json b/website/common/locales/es_419/front.json
index d973185315..64359b1125 100644
--- a/website/common/locales/es_419/front.json
+++ b/website/common/locales/es_419/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Dirección de correo electrónico inválida.",
"emailTaken": "Esta dirección de correo electrónico ya está en uso.",
"newEmailRequired": "El nuevo correo electronico no puede ser encontrado.",
- "usernameTaken": "Nombre de Usuario ya existente.",
- "usernameWrongLength": "El nombre de usuario debe ser de 1 a 20 caracteres de longitud.",
- "usernameBadCharacters": "El nombre de usuario debe contener únicamente letras de la a a la z, números del 0 al 9, Guiones, o Guiones bajos.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "La confirmacion de contraseña y la contraseña no coinciden.",
"invalidLoginCredentials": "Nombre de usuario , email y/o contraseñas incorrectos.",
"passwordResetPage": "Renovar la contraseña",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Inicia sesión con <%= social %>",
"loginWithSocial": "Acceder usando <%= social %>",
"confirmPassword": "Confirma contraseña.",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "ej. ConejodelHabito",
"emailPlaceholder": "ej. conejo@ejemplo.com",
"passwordPlaceholder": "ej. ******************",
@@ -329,6 +336,5 @@
"signup": "Regístrate",
"getStarted": "Empieza",
"mobileApps": "Aplicaciones Móviles",
- "learnMore": "Aprende Más",
- "useMobileApps": "Habitica no esta optimizada para navegadores móviles. Te recomendamos descargar una de nuestras aplicaciones para celular."
+ "learnMore": "Aprende Más"
}
\ No newline at end of file
diff --git a/website/common/locales/es_419/gear.json b/website/common/locales/es_419/gear.json
index 9fadf062ad..ae883fb915 100644
--- a/website/common/locales/es_419/gear.json
+++ b/website/common/locales/es_419/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Horqueta de Banquete",
"weaponMystery201411Notes": "Atraviesa a tus enemigos o ataca tu comida favorita - ¡esta horqueta versátil lo hace todo! No otorga ningún beneficio. Artículo de Suscriptor de Noviembre 2014.",
"weaponMystery201502Text": "Reluciente Báculo Alado del Amor y También de la Verdad",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armadura",
"armorCapitalized": "Armadura",
"armorBase0Text": "Ropa Simple",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Túnica de Mensajero",
"armorMystery201402Notes": "Reluciente y fuerte, esta túnica tiene muchos bolsillos para llevar cartas. No otorga ningún beneficio. Artículo de Suscriptor de Febrero 2014.",
"armorMystery201403Text": "Armadura de Caminante del Bosque",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Traje Steampunk",
"armorMystery301404Notes": "¡Sofisticado y elegante! No otorga ningún beneficio. Artículo de Suscriptor de Febrero 3015.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "Casco",
"headgearCapitalized": "Gorros",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Yelmo de Guerrero Arco Iris",
"headSpecialGaymerxNotes": "Con motivo de la celebración por la Conferencia GaymerX, ¡este casco especial está decorado con un radiante y colorido estampado arco iris! GaymerX es una convención de juegos que celebra a la gente LGBTQ y a los videojuegos, y está abierta a todo el público.",
"headMystery201402Text": "Yelmo Alado",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Galera Elegante",
"headMystery301404Notes": "¡Una galera elegante para los señores más sofisticados! Artículo de Suscriptor de Enero 3015. No otorga ningún beneficio.",
"headMystery301405Text": "Galera Básica",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Destructora de Resoluciones",
"shieldMystery201601Notes": "Esta espada se puede usar para desviar a todas las distracciones. No otorga ningún beneficio. Artículo de Suscriptor de Enero 2016.",
"shieldMystery201701Text": "Escudo congela tiempo",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Accesorio para espalda",
"backCapitalized": "Accesorio de la Espalda",
"backBase0Text": "Sin accesorio para espalda",
"backBase0Notes": "Sin accesorio para espalda.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Alas Doradas",
"backMystery201402Notes": "¡Estas alas brillantes tienen plumas que relucen bajo el sol! No otorgan ningún beneficio. Artículo de Suscriptor de Febrero 2014.",
"backMystery201404Text": "Alas de Mariposa Crepuscular",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Esta capa una vez perteneció a la Masterclasser perdida. Aumenta la percepción por <%= per %>",
"backSpecialTurkeyTailBaseText": "Cola de pavo",
"backSpecialTurkeyTailBaseNotes": "¡Usa tu noble cola de pavo con orgullo mientras celebras! No confiere ningún beneficio.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Accesorio para el cuerpo",
"bodyCapitalized": "Accesorio para el cuerpo",
"bodyBase0Text": "Sin accesorio para el cuerpo",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Las gafas son para tus ojos\", dijeron. \"Nadie quiere gafas que sólo se puedan usar sobre la cabeza\", dijeron. ¡Ja! ¡Claramente les demostraste que estaban equivocados! No otorgan ningún beneficio. Artículo de Suscriptor de Agosto 3015.",
"headAccessoryArmoireComicalArrowText": "Flecha Cómica",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Accesorios para ojos",
"eyewearCapitalized": "gafas",
"eyewearBase0Text": "Sin accesorios para ojos",
diff --git a/website/common/locales/es_419/groups.json b/website/common/locales/es_419/groups.json
index 63dac9a641..e1c333b981 100644
--- a/website/common/locales/es_419/groups.json
+++ b/website/common/locales/es_419/groups.json
@@ -6,6 +6,7 @@
"innText": "¡Estas descansando en la Posada! Mientras estés en la sesión, tus diarias no te harán daño al final del día, pero aun así se renovaran cada día. Advertencia: Si estas participando en una pelea contra un Jefe, el Jefe aun te hará daño por las tareas faltantes de los miembros del Grupo, ¡A menos que también estén descansando en la Posada! Ademas, tu propio daño hacia el Jefe (O los objetos recolectados) no serán aplicados hasta que salgas de la Posada.",
"innTextBroken": "Has entrado a descansar en la Posada, supongo... Mientras permanezcas aquí tus Diarias no te dañarán al finalizar el día, pero sí se renovarán cada día... Si estás participando en una Misión contra un Jefe, las Diarias incompletas de tus compañeros de equipo te seguirán haciendo daño... a menos que ellos también estén descansando en la Posada... Además, tú no dañarás al jefe (ni obtendrás los objetos recolectados) hasta que no hayas salido de la Posada... estoy tan cansado...",
"innCheckOutBanner": "Actualmente estás registrado en la taverna. Tus Diarias no te dañarán y no progresarás hacia Misiones",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Reanudar daño",
"helpfulLinks": "Enlaces Útiles",
"communityGuidelinesLink": "Normas de la Comunidad",
diff --git a/website/common/locales/es_419/limited.json b/website/common/locales/es_419/limited.json
index af1bda210f..f0d2667a0b 100644
--- a/website/common/locales/es_419/limited.json
+++ b/website/common/locales/es_419/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponible para compra hasta el <%= date(locale) %>.",
"dateEndMarch": "30 de Abril",
"dateEndApril": "19 de Abril",
diff --git a/website/common/locales/es_419/questscontent.json b/website/common/locales/es_419/questscontent.json
index a35ed185ad..2684de342b 100644
--- a/website/common/locales/es_419/questscontent.json
+++ b/website/common/locales/es_419/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/es_419/subscriber.json b/website/common/locales/es_419/subscriber.json
index 78bdbc115f..097c816e28 100644
--- a/website/common/locales/es_419/subscriber.json
+++ b/website/common/locales/es_419/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Conjunto Steampunk Estándar ",
"mysterySet301405": "Conjunto de Accesorios Steampunk",
"mysterySet301703": "Conjunto Pavo Real Steampunk",
diff --git a/website/common/locales/fr/backgrounds.json b/website/common/locales/fr/backgrounds.json
index 6c280d44a7..bf10c6a8bf 100644
--- a/website/common/locales/fr/backgrounds.json
+++ b/website/common/locales/fr/backgrounds.json
@@ -367,11 +367,18 @@
"backgroundDilatoryCityNotes": "Serpenter à travers la ville sous-marine de Dilatory.",
"backgroundTidePoolText": "Marre résiduelle",
"backgroundTidePoolNotes": "Observer la vie océanique dans une marre résiduelle",
- "backgrounds082018": "Ensemble 51 ; sorti en août 2018",
+ "backgrounds082018": "Ensemble 51 : sorti en août 2018",
"backgroundTrainingGroundsText": "Terrain d’entraînement",
"backgroundTrainingGroundsNotes": "Joutez sur le terrain d'entraînement.",
"backgroundFlyingOverRockyCanyonText": "Canyon rocheux",
"backgroundFlyingOverRockyCanyonNotes": "Regardez un paysage à couper le souffle pendant que vous volez au dessus d’un canyon rocheux.",
"backgroundBridgeText": "Pont",
- "backgroundBridgeNotes": "Franchissez un charmant ponton"
+ "backgroundBridgeNotes": "Franchissez un charmant ponton",
+ "backgrounds092018": "Ensemble 52 : sorti en Septembre 2018",
+ "backgroundApplePickingText": "Cueillette de pommes",
+ "backgroundApplePickingNotes": "Allez cueillir des pommes et ramenez boisseau chez vous.",
+ "backgroundGiantBookText": "Livre géant",
+ "backgroundGiantBookNotes": "Lisez alors que vous parcourez les pages d'un livre géant.",
+ "backgroundCozyBarnText": "Grange confortable",
+ "backgroundCozyBarnNotes": "Relaxez-vous avec vos familiers et monture dans leur grange confortable."
}
\ No newline at end of file
diff --git a/website/common/locales/fr/character.json b/website/common/locales/fr/character.json
index bbd9ae5f67..be5bb6f01a 100644
--- a/website/common/locales/fr/character.json
+++ b/website/common/locales/fr/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Cacher la répartition des attributs",
"quickAllocationLevelPopover": "Chaque niveau vous rapporte un point que vous pouvez assigner à un attribut de votre choix. Vous pouvez le faire manuellement ou laissez le jeu décider pour vous, en utilisant les options d'attribution automatique qui se trouvent dans l'icône utilisateur -> caractéristiques.",
"notEnoughAttrPoints": "Vous n'avez pas assez de points d'attribut.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Pilosité faciale",
"photo": "Photo",
diff --git a/website/common/locales/fr/communityguidelines.json b/website/common/locales/fr/communityguidelines.json
index 019fc83d37..9706c9b788 100644
--- a/website/common/locales/fr/communityguidelines.json
+++ b/website/common/locales/fr/communityguidelines.json
@@ -56,10 +56,10 @@
"commGuideHeadingModerateInfractions": "Infractions modérées",
"commGuidePara054": "Des infractions modérées n'affectent pas notre communauté, mais ne la rendent pas attractive. Ces infractions auront des conséquences modérées. Lorsqu'elles sont liées à d'autres infractions, les conséquences peuvent devenir plus importantes.",
"commGuidePara055": "Les exemples suivants représentent des infractions modérées. Cette liste n’est pas exhaustive.",
- "commGuideList06A": "Ignorer, manquer de respect ou contester un modérateur. Ceci inclut : se plaindre en public d'un modérateur ou d'un autre utilisateur, ou publiquement glorifier ou défendre des utilisateurs bannis, ou débattre si l'action d'un modérateur était ou non appropriée. Si une règle ou un modérateur vous pose un souci, veuillez contacter l'équipe par courriel (admin@habitica.com).",
+ "commGuideList06A": "Ignorer, contester ou manquer de respect à un modérateur. Ceci inclut : se plaindre en public d'un modérateur ou d'un autre utilisateur, ou publiquement glorifier ou défendre des utilisateurs bannis, ou débattre si l'action d'un modérateur était ou non appropriée. Si une règle ou un modérateur vous pose un souci, veuillez contacter l'équipe par courriel (admin@habitica.com).",
"commGuideList06B": "Modération abusive. Pour clarifier : un rappel sympathique des règles ne pose pas de problème. La modération abusive consiste à ordonner, demander et/ou sous-entendre fortement que quelqu’un doit vous écouter afin de corriger une erreur. Vous pouvez prévenir une personne qu’elle enfreint les règles, mais ne réclamez pas d’action particulière. Par exemple, dire « Juste pour que tu saches, il est déconseillé de jurer dans la taverne donc tu devrais retirer cela » est plus adéquat que dire « Je vais devoir te demander de retirer tes propos ».",
"commGuideList06C": "Signalement intentionnel de messages innocents.",
- "commGuideList06D": "Violations répétées du code de conduite dans l'espace public ",
+ "commGuideList06D": "Violations répétées du code de conduite en espace public ",
"commGuideList06E": "Commissions répétées d'infractions mineures",
"commGuideHeadingMinorInfractions": "Infractions mineures",
"commGuidePara056": "Les infractions mineures, bien que découragées, n’ont que des conséquences minimes. Si elles persistent, elles peuvent mener à des conséquences plus sévères.",
diff --git a/website/common/locales/fr/content.json b/website/common/locales/fr/content.json
index 5e2e44069e..33e6d8ef33 100644
--- a/website/common/locales/fr/content.json
+++ b/website/common/locales/fr/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Nuit étoilée",
"hatchingPotionRainbow": "Arc-en-ciel",
"hatchingPotionGlass": "Verre",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Versez-la sur un œuf et il en sortira un familier <%= potText(locale) %>.",
"premiumPotionAddlNotes": "N'est pas utilisable sur les œufs de quête.",
"foodMeat": "Côtelette",
diff --git a/website/common/locales/fr/front.json b/website/common/locales/fr/front.json
index bb504c592a..6dba1b7d94 100644
--- a/website/common/locales/fr/front.json
+++ b/website/common/locales/fr/front.json
@@ -114,7 +114,7 @@
"marketing3Header": "Applications et extensions",
"marketing3Lead1": "Les applications iPhone et Android vous permettent de vous occuper de vos affaires en déplacement. Nous somme conscients que se connecter sur le site web pour cliquer sur des boutons peut être un frein.",
"marketing3Lead2Title": "Intégrations",
- "marketing3Lead2": "D'autres **outils tiers** connectent Habitica à d'autres aspects de votre vie. Notre API permet l’intégration facile de choses comme l'[extension Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=fr-FR), avec laquelle vous perdez des points en naviguant sur des sites non-productifs, et en gagnez sur des sites productifs. [Plus d'informations ici](http://fr.habitica.wikia.com/wiki/Int%C3%A9grations_d%27Applications_et_d%27Extensions).",
+ "marketing3Lead2": "D'autres **outils tiers** connectent Habitica à d'autres aspects de votre vie. Notre API permet l’intégration facile de choses comme l'[extension Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=fr-FR), avec laquelle vous perdez des points en naviguant sur des sites non-productifs, et en gagnez sur des sites productifs. [Plus d'informations ici](http://fr.habitica.wikia.com/wiki/Extensions,_modules_compl%C3%A9mentaires_et_personnalisations).",
"marketing4Header": "Utilisation par une organisation",
"marketing4Lead1": "L'éducation est un des meilleurs domaines pour la ludification. Nous savons tous à quel point les étudiants sont collés à leurs téléphones ; exploitez ce pouvoir ! Dressez vos élèves les uns contre les autres dans une compétition amicale. Récompensez les bons résultats avec des récompenses rares. Observez leurs notes et leur comportement monter en flèche.",
"marketing4Lead1Title": "La ludification dans l'éducation",
@@ -270,9 +270,16 @@
"notAnEmail": "Adresse courriel invalide.",
"emailTaken": "Adresse courriel déjà utilisée par un utilisateur.",
"newEmailRequired": "Nouvelle adresse courriel manquante.",
- "usernameTaken": "Le nom de connexion est déjà pris.",
- "usernameWrongLength": "La longueur du nom d'utilisateur doit être comprise entre 1 et 20 caractères.",
- "usernameBadCharacters": "Le nom d'utilisateur doit uniquement contenir des caractères alphanumériques (non accentués), des traits d'union et/ou des tirets bas.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "La confirmation du mot de passe ne correspond pas au mot de passe.",
"invalidLoginCredentials": "Nom d'utilisateur, courriel ou mot de passe incorrect.",
"passwordResetPage": "Réinitialiser le mot de passe",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Inscription via <%= social %>",
"loginWithSocial": "Connexion via <%= social %>",
"confirmPassword": "Confirmer le mot de passe",
- "usernameLimitations": "Le nom d'utilisateur doit être long de 1 à 20 caractères, et contenir uniquement des caractères alphanumériques (non accentués), des traits d'union et/ou des tirets bas.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "par exemple Wasabitica",
"emailPlaceholder": "par exemple wasabi@exemple.com",
"passwordPlaceholder": "par exemple ******************",
@@ -329,6 +336,5 @@
"signup": "Inscrivez-vous",
"getStarted": "Commencez",
"mobileApps": "Applications mobiles",
- "learnMore": "En savoir plus",
- "useMobileApps": "Habitica n'est pas optimisé pour un navigateur mobile. Nous vous recommandons de télécharger nos applications mobiles."
+ "learnMore": "En savoir plus"
}
\ No newline at end of file
diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json
index 4f8f33c9fe..d3921e8ca9 100644
--- a/website/common/locales/fr/gear.json
+++ b/website/common/locales/fr/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Sous l’eau, la magie du feu, de la glace ou de l’électricité peut être dangereuse pour le mage qui la détient. Soigner le poison des vives, par contre, est très utile ! Augmente l'Intelligence de <%= int %> et la Perception de <%= per %>. Équipement en édition limitée de l’été 2018.",
"weaponSpecialSummer2018HealerText": "Trident de Sirène Monarque",
"weaponSpecialSummer2018HealerNotes": "D'un geste bienveillant, vous commandez aux eaux revigorantes de couler en vagues à travers votre équipement. Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'été 2018.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Fourche festive",
"weaponMystery201411Notes": "Embrochez vos ennemis ou plantez-la dans votre nourriture préférée : cette fourche multi-fonctions peut tout faire ! N'apporte aucun bonus. Équipement d'abonné·e de novembre 2014.",
"weaponMystery201502Text": "Bâton chatoyant ailé d'amour et aussi de vérité",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Servez-vous de ceci pour augmenter votre résistance à l'iocane en poudre et autres poisons incroyablement dangereux. Augmente l'Intelligence de <%= int %>. Armoire enchantée : ensemble de princesse de la piraterie (objet 3 sur 4).",
"weaponArmoireJeweledArcherBowText": "Arc en joyaux",
"weaponArmoireJeweledArcherBowNotes": "Cet arc en or et en gemmes enverra vos flèches sur leurs cibles à des vitesses incroyables. Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 3 de 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Aiguille de reliure",
+ "weaponArmoireNeedleOfBookbindingNotes": "La robustesse des livres est étonnante. Mais cette aiguille peu percer le cœur de vos corvées. Augmente la force de <%= str %>. Armoire enchantée : Ensemble du relieur (Objet 3 de 4).",
"armor": "armure",
"armorCapitalized": "Armure",
"armorBase0Text": "Habit simple",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "La magie des venins a la réputation d'être subtile. Mais pas pour cette armure colorée, dont le message est clair aux bêtes comme aux tâches : Faites attention ! Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'été 2018.",
"armorSpecialSummer2018HealerText": "Robes de sirène monarque",
"armorSpecialSummer2018HealerNotes": "Ces robes céruléennes révèles que vous avez des pieds terrestres... certes. Même un monarque peut ne pas être parfait. Augmente la constitution de <%= con %>. Équipement en édition limitée de l'été 2018.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Robe du messager",
"armorMystery201402Notes": "Chatoyante et solide, cette robe possède de nombreuses poches dans lesquelles transporter des lettres. N'apporte aucun bonus. Équipement d'abonné·e de février 2014.",
"armorMystery201403Text": "Armure du marcheur sylvain",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "Cette queue sinueuse possède des points lumineux pour éclairer votre chemin dans les profondeurs. Ne confère aucun bonus. Équipement d'abonné·e de juin 2018.",
"armorMystery201807Text": "Queue de serpent de mer",
"armorMystery201807Notes": "Cette nageoire puissante vous propulsera dans les mers à des vitesses incroyables ! Ne confère aucun bonus. Équipement d'abonné·e de juin 2018.",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "Armure de dragon de lave",
+ "armorMystery201808Notes": "Cette armure est faite des écailles perdues par l'insaisissable (et très chaud) dragon de lave. Ne confère aucun bonus. Équipement d'abonnement d'Août 2018.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Tenue steampunk",
"armorMystery301404Notes": "Pimpant et fringuant ! N'apporte aucun bonus. Équipement d'abonné·e de février 3015.",
"armorMystery301703Text": "Toge du paon steampunk",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "Ce vêtement luxueux a de nombreuses poches pour cacher des armes et du butin ! Augmente la perception de <%= per %>. Armoire enchantée : Ensemble de la princesse pirate (Objet 2 de 4).",
"armorArmoireJeweledArcherArmorText": "Armure en joyaux",
"armorArmoireJeweledArcherArmorNotes": "Cette armure soigneusement décorée vous protégera des projectiles ou des Quotidiennes rouges oubliées ! Augmente la constitution de <%= con %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 2 de 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Combinaison de reliure",
+ "armorArmoireCoverallsOfBookbindingNotes": "Tout ce dont vous avez besoin dans une combinaison, avec des poches pour chaque chose. Une paire de lunettes, de la monnaie, un anneau en or... Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : Ensemble du relieur (Objet 2 de 4).",
"headgear": "heaume",
"headgearCapitalized": "Couvre-chef",
"headBase0Text": "Pas de couvre-chef",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Éblouissez dangereusement ceux qui oseraient voir en vous un poisson goûteux. Augmente la perception de <%= per %>. Équipement en édition limitée de l'été 2018.",
"headSpecialSummer2018HealerText": "Couronne de Sirène Monarque",
"headSpecialSummer2018HealerNotes": "Orné d'aigues-marines, ce fin diadème marque l'autorité sur les gens, les poissons, et celles et ceux qui sont un peu des deux ! Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'été 2018.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Heaume de guerrier arc-en-ciel",
"headSpecialGaymerxNotes": "En l'honneur de la conférence GaymerX, cet casque spécial est décoré avec un motif arc-en-ciel aussi radieux que coloré ! GaymerX est une convention célébrant les LGBTQ et les jeux, et est ouverte à tous.",
"headMystery201402Text": "Heaume ailé",
@@ -1072,8 +1102,10 @@
"headMystery201806Notes": "La lumière envoûtante au sommet de ce casque appellera à vos côtés les créatures de la mer. Nous vous enjoignons d'utiliser votre puissance d'attraction phosphorescente pour le bien ! Ne confère aucun bonus. Équipement d'abonnement de Juin 2018.",
"headMystery201807Text": "Casque de serpent de mer",
"headMystery201807Notes": "Les grandes écailles sur ce casque vous protégerons de tout type d'ennemi océanique. Ne confère aucun bonus. Équipement d'abonnement de Juin 2018.",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201808Text": "Capuche de dragon de lave",
+ "headMystery201808Notes": "Les cornes brillantes sur ce capuchon éclaireront votre chemin à travers les cavernes souterraines. Ne confère aucun bonus. Équipement d'abonnement d'Août 2018.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Haut-de-forme fantaisiste",
"headMystery301404Notes": "Un couvre-chef fantaisiste pour les gens de bonne famille les plus élégants ! N'apporte aucun bonus. Équipement d'abonné·e de janvier 3015.",
"headMystery301405Text": "Haut-de-forme classique",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Façonné en pierre, ce redoutable bouclier en forme de crâne inspire la peur aux ennemis poissons tout en rassemblant vos familiers et montures squelettes. Augmente la constitution de <%= con %>. Équipement en édition limitée de l'été 2018.",
"shieldSpecialSummer2018HealerText": "Emblème de sirène monarque",
"shieldSpecialSummer2018HealerNotes": "Ce bouclier peut produire un dôme d'air au bénéfice des visiteurs terrestres de votre royaume aquatique. Augmente la constitution de <%= con %>Équipement en édition limitée de l'été 2018.. ",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Tueuse résolue",
"shieldMystery201601Notes": "Cette lame peut être utilisée pour parer toutes les distractions. N'apporte aucun bonus. Équipement d'abonné·e de janvier 2016.",
"shieldMystery201701Text": "Bouclier du temps transi",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Quel joli vase vous avez fait ! Qu’est-ce que vous allez mettre dedans ? Augmente l’Intelligence de <%= int %>. Armoire enchantée : ensemble du souffleur de verre (objet 4 sur 4).",
"shieldArmoirePiraticalSkullShieldText": "Bouclier-crâne de pirate",
"shieldArmoirePiraticalSkullShieldNotes": "Ce bouclier enchanté va murmurer les emplacements secrets des trésors de vos ennemis - écoutez bien ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : Ensemble de la princesse pirate (Objet 4 de 4).",
+ "shieldArmoireUnfinishedTomeText": "Tome inachevé",
+ "shieldArmoireUnfinishedTomeNotes": "Vous ne pouvez pas procrastiner alors que vous tenez ceci ! La reliure doit être finie pour qu'on puisse lire ce livre ! Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble du relieur (Objet 4 de 4).",
"back": "Accessoire dorsal",
"backCapitalized": "Accessoire dorsal",
"backBase0Text": "Pas d’accessoire dorsal",
"backBase0Notes": "Pas d’accessoire dorsal.",
+ "animalTails": "Queues d'animaux",
"backMystery201402Text": "Ailes d'or",
"backMystery201402Notes": "Ces ailes brillantes ont des plumes qui étincellent au soleil ! N'apportent aucun bonus. Équipement d'abonné·e de février 2014.",
"backMystery201404Text": "Ailes du papillon crépusculaire",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Cette cape a autrefois appartenu à la maîtresse des classes oubliée en personne. Augmente la Perception de <%= per %>.",
"backSpecialTurkeyTailBaseText": "Queue de dindon",
"backSpecialTurkeyTailBaseNotes": "Portez fièrement votre noble queue de dindon tandis que vous célébrez Thanksgiving ! N'apporte aucun bonus.",
+ "backBearTailText": "Queue d'ours",
+ "backBearTailNotes": "Cette queue vous fait ressembler à un Ours courageux ! Ne confère aucun bonus.",
+ "backCactusTailText": "Queue de cactus",
+ "backCactusTailNotes": "Cette queue vous fait ressembler à un cactus piquant ! Ne confère aucun bonus.",
+ "backFoxTailText": "Queue de renard",
+ "backFoxTailNotes": "Cette queue vous fait ressembler à un renard rusé ! Ne confère aucun bonus.",
+ "backLionTailText": "Queue de lion",
+ "backLionTailNotes": "Cette queue vous fait ressembler à un lion royal ! Ne confère aucun bonus.",
+ "backPandaTailText": "Queue de panda",
+ "backPandaTailNotes": "Cette queue vous fait ressembler à un doux panda ! Ne confère aucun bonus.",
+ "backPigTailText": "Queue de cochon",
+ "backPigTailNotes": "Cette queue vous fait ressembler à un cochon capricieux ! Ne confère aucun bonus.",
+ "backTigerTailText": "Queue de tigre",
+ "backTigerTailNotes": "Cette queue vous fait ressembler à un tigre féroce ! Ne confère aucun bonus.",
+ "backWolfTailText": "Queue de loup",
+ "backWolfTailNotes": "Cette queue vous fait ressembler à un loup loyal ! Ne confère aucun bonus.",
"body": "Accessoire de Corps",
"bodyCapitalized": "Accessoire de corps",
"bodyBase0Text": "Pas d'armure.",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Les lunettes c'est pour les yeux,\" disaient-ils. \"Personne ne voudrait de lunettes qu'on ne peut porter que sur la tête\" disaient-ils. Ha ! Vous leur avez bien montré ! N'apportent aucun bonus. Équipement d'abonné·e d'août 3015.",
"headAccessoryArmoireComicalArrowText": "Flèche comique",
"headAccessoryArmoireComicalArrowNotes": "Cet objet saugrenu fait rire à coup sûr ! Augmente la Force de <%= str %>. Armoire enchantée : objet indépendant.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Lunettes de reliure",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "Ces lunettes vous aideront à identifier n'importe quelle tâche, petite ou grande ! Augmente la perception de <%= per %>. Armoire enchantée : Ensemble du relieur (Objet 1 de 4).",
"eyewear": "Lunettes",
"eyewearCapitalized": "Lunettes",
"eyewearBase0Text": "Pas de Lunettes",
diff --git a/website/common/locales/fr/groups.json b/website/common/locales/fr/groups.json
index 9914f73601..1eed216bb3 100644
--- a/website/common/locales/fr/groups.json
+++ b/website/common/locales/fr/groups.json
@@ -6,6 +6,7 @@
"innText": "Vous voici à l'auberge ! Tant que vous y séjournez, vos Quotidiennes non complétées ne vous affectent pas à la fin de la journée ; mais elles vont tout de même se remettre à zéro tous les jours. Attention : si vous êtes en pleine quête contre un boss, il pourra toujours vous blesser pour les Quotidiennes manquées par vos camarades d'équipe, sauf s'ils séjournent aussi à l'auberge ! Et vous ne pourrez vous-même blesser le boss (ou récolter des objets) que lorsque vous quitterez l'auberge.",
"innTextBroken": "Vous créchez à l'auberge, je suppose... Tant que vous y séjournez, vos Quotidiennes non complétées ne vous affectent pas à la fin de la journée ; mais elles vont tout de même se remettre à zéro tous les jours... Si vous êtes en pleine quête contre un boss, il pourra toujours vous blesser pour les Quotidiennes manquées par vos camarades d'équipe... sauf s'ils séjournent aussi à l'auberge... Et vous ne pourrez vous-même blesser le boss (ou récolter des objets) que lorsque vous quitterez l'auberge... si fatigué...",
"innCheckOutBanner": "Vous résidez actuellement à l'Auberge. Vos quotidiennes ne vous causeront aucun dégât et vous ne progresserez pas dans vos quêtes.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Réactiver les dommages",
"helpfulLinks": "Liens utiles",
"communityGuidelinesLink": "Règles de vie en communauté",
diff --git a/website/common/locales/fr/limited.json b/website/common/locales/fr/limited.json
index 8d612d4a7d..471d65769b 100644
--- a/website/common/locales/fr/limited.json
+++ b/website/common/locales/fr/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Mage poisson-lion (Mage)",
"summer2018MerfolkMonarchSet": "Sirène Monarque (Guérisseur)",
"summer2018FisherRogueSet": "Voleur-pêcheur (Voleur)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponible à l'achat jusqu'au <%= date(locale) %>.",
"dateEndMarch": "30 avril",
"dateEndApril": "19 avril",
diff --git a/website/common/locales/fr/messages.json b/website/common/locales/fr/messages.json
index b14165d001..5551fb0ecb 100644
--- a/website/common/locales/fr/messages.json
+++ b/website/common/locales/fr/messages.json
@@ -54,7 +54,7 @@
"messageGroupChatAdminClearFlagCount": "Seul un administrateur peut modifier ce compteur !",
"messageCannotFlagSystemMessages": "Vous ne pouvez pas signaler un message système. Si vous avez besoin de signaler une violation des règles de vie en communauté liée à ce message, veuillez envoyer un courriel avec une capture d'écran à Lemoness à <%= communityManagerEmail %>.",
"messageGroupChatSpam": "Oups, on dirait que vous postez trop de messages ! Merci d'attendre une minute et d'essayer de nouveau. Le fil de discussion de la taverne ne pouvant contenir que 200 messages, Habitica vous encourage à poster des messages plus longs et plus réfléchis, et à répondre en un seul bloc plutôt qu'en plusieurs petits messages. Nous avons hâte d'entendre ce que vous avez à dire. :)",
- "messageCannotLeaveWhileQuesting": "Vous ne pouvez pas accepter cette invitation pendant que vous êtes en quête. Si vous voulez rejoindre cette équipe, vous devez d'abord annuler la quête, ce que vous pouvez faire depuis la page d'équipe. Vous récupérerez le parchemin de quête.",
+ "messageCannotLeaveWhileQuesting": "Vous ne pouvez pas accepter cette invitation tant que vous êtes en quête. Si vous voulez rejoindre cette équipe, vous devez d'abord annuler la quête, ce que vous pouvez faire depuis la page d'équipe. Vous récupérerez le parchemin de quête.",
"messageUserOperationProtected": "chemin `<%= operation %>` n'a pas été sauvegardé car c'est un chemin protégé.",
"messageUserOperationNotFound": "<%= operation %> opération introuvable",
"messageNotificationNotFound": "Notification non trouvée.",
@@ -62,5 +62,5 @@
"notificationsRequired": "Les numéros d'identification (ID) de notification sont requis.",
"unallocatedStatsPoints": "Vous avez <%= points %> points d'attribut non alloués",
"beginningOfConversation": "Ceci marque le commencement de votre conversation avec <%= userName %>. N´oubliez pas de communiquer avec politesse et respect, tout en suivant les règles de vie en communauté !",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Désolé, cet utilisateur a supprimé son compte."
}
\ No newline at end of file
diff --git a/website/common/locales/fr/questscontent.json b/website/common/locales/fr/questscontent.json
index 5f16a380dd..48a7e71f8f 100644
--- a/website/common/locales/fr/questscontent.json
+++ b/website/common/locales/fr/questscontent.json
@@ -65,7 +65,7 @@
"questVice1Completion": "Une fois l'emprise de Vice dissipée, vous sentez revenir une force que vous ne pensiez pas avoir en vous. Félicitations ! Mais un ennemi encore plus terrifiant vous attend...",
"questVice1DropVice2Quest": "Vice, 2e partie (Parchemin)",
"questVice2Text": "Vice, 2e partie : trouvez la tanière de la vouivre",
- "questVice2Notes": "Fiers de vous et de votre aptitude à résister à l'emprise de la vouivre, votre équipe prend la route vers le Mont Habitica. Vous arrivez à l'entrée des cavernes de la montagne et stoppez net. Une houle d'ombre, presque comme un brouillard, s'échappe de l'ouverture. Il est presque impossible de voir quoi que ce soit en face de vous. La lumière de vos lanternes semble s'interrompre brusquement là où commencent les ombres. Il est dit que seule une lumière magique peut percer la brume infernale du dragon. Si vous arrivez à réunir assez de cristaux de lumière, vous pourrez atteindre le dragon. ",
+ "questVice2Notes": "Fière d'elle et de son aptitude à résister à l'emprise de la vouivre, votre équipe prend la route vers le Mont Habitica. Vous arrivez à l'entrée des cavernes de la montagne et stoppez net. Une houle d'ombre, presque comme un brouillard, s'échappe de l'ouverture. Il est presque impossible de voir quoi que ce soit en face de vous. La lumière de vos lanternes semble s'interrompre brusquement là où commencent les ombres. Il est dit que seule une lumière magique peut percer la brume infernale du dragon. Si vous arrivez à réunir assez de cristaux de lumière, vous pourrez atteindre le dragon. ",
"questVice2CollectLightCrystal": "Cristaux de lumière",
"questVice2Completion": "Alors que vous levez le dernier cristal, les ombres disparaissent, et votre chemin se révèlent. Le cœur battant, vous entrez dans la caverne.",
"questVice2DropVice3Quest": "Vice, 3e partie (Parchemin)",
@@ -616,5 +616,7 @@
"questKangarooCompletion": "\"MAINTENANT !\" Vous faites signe à votre groupe de lancer les boomerangs sur la kangourou. La bête saute plus loin à chaque coup jusqu'à ce qu'elle s'enfuit, ne laissant rien de plus qu'un nuage de poussière rouge foncé, quelques œufs et quelques pièces d'or.
@Mewrose marche jusqu'à l'endroit où la kangourou se tenait autrefois. \"Hé, où sont allés les boomerangs ?\"
\"Ils se sont probablement dissous dans la poussière, faisant ce nuage rouge foncé, quand nous avons terminé nos tâches respectives\", spécule @stefalupagus.
@LilithofAlfheim louche à l'horizon. \"Est-ce qu'une autre troupe de kangourou se dirige vers nous ?\"
Vous vous êtes tous introduits dans une course vers Habit City. Mieux vaut affronter vos tâches difficiles que de prendre une autre bosse à l'arrière de la tête !",
"questKangarooBoss": "Kangourou catastrophique",
"questKangarooDropKangarooEgg": "Kangourou (Œuf) ",
- "questKangarooUnlockText": " Déverrouille l'achat d’œufs de kangourou au Marché "
+ "questKangarooUnlockText": " Déverrouille l'achat d’œufs de kangourou au Marché ",
+ "forestFriendsText": "Lot de quête des amis sylvains",
+ "forestFriendsNotes": "Contient \"L'esprit du printemps\", \"La bête hérissée\" et \"L'arbre tortueux\". Disponible jusqu'au 30 Septembre."
}
\ No newline at end of file
diff --git a/website/common/locales/fr/settings.json b/website/common/locales/fr/settings.json
index 97ab66ab61..a281198dd3 100644
--- a/website/common/locales/fr/settings.json
+++ b/website/common/locales/fr/settings.json
@@ -79,7 +79,7 @@
"beeminderDesc": "Laissez Beeminder contrôler automatiquement vos tâches à faire provenant d'Habitica. Vous pouvez vous engager à effectuer un certain nombre de tâches à faire par jour ou par semaine, ou vous pouvez vous engager à diminuer progressivement le nombre de tâches à faire que vous n'avez pas encore effectuées. (Par \"s'engager\" Beeminder vous menace d'avoir à payer de l'argent pour de vrai ! Mais vous pouvez aussi simplement apprécier les graphiques sophistiqués de Beeminder.)",
"chromeChatExtension": "L'extension Habitica Chat Client pour Chrome",
"chromeChatExtensionDesc": "L'extension Habitica Chat Client pour Chrome ajoute une fenêtre de discussion intuitive à l'ensemble du site habitica.com. Elle permet aux utilisateurs et utilisatrices de discuter dans la taverne, avec leur équipe et dans les guildes dont ils sont membres.",
- "otherExtensions": "Autres extensions",
+ "otherExtensions": "Autres extensions",
"otherDesc": "Trouvez d'autres applications, extensions et outils sur le wiki d'Habitica.",
"resetDo": "Allez-y, réinitialisez mon compte !",
"resetComplete": "Réinitialisation terminée !",
diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json
index 306aeafde2..e88c884f29 100644
--- a/website/common/locales/fr/subscriber.json
+++ b/website/common/locales/fr/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "Ensemble du paon phénoménal",
"mysterySet201806": "Ensemble de la lotte envoûtante",
"mysterySet201807": "Ensemble du serpent de mer",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Ensemble du dragon de lave",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Ensemble steampunk de base",
"mysterySet301405": "Ensemble d'accessoires steampunks",
"mysterySet301703": "Ensemble du paon steampunk",
diff --git a/website/common/locales/he/backgrounds.json b/website/common/locales/he/backgrounds.json
index 615d4159a4..96c2a03d21 100644
--- a/website/common/locales/he/backgrounds.json
+++ b/website/common/locales/he/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/he/character.json b/website/common/locales/he/character.json
index 65dc5a7887..3ea6a2fe5a 100644
--- a/website/common/locales/he/character.json
+++ b/website/common/locales/he/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/he/content.json b/website/common/locales/he/content.json
index 3ce2a7a4fa..63cfd26f36 100644
--- a/website/common/locales/he/content.json
+++ b/website/common/locales/he/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "מזוג שיקוי זה על ביצה, והיא תבקע כ: <%= potText(locale) %>.",
"premiumPotionAddlNotes": "לא ניתן לשימוש על ביצי הרפתקאות.",
"foodMeat": "בשר",
diff --git a/website/common/locales/he/front.json b/website/common/locales/he/front.json
index 436766dfeb..6e34fcdd45 100644
--- a/website/common/locales/he/front.json
+++ b/website/common/locales/he/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "כתובת מייל לא תקנית.",
"emailTaken": "כתובת המייל כבר בשימוש על ידי חשבון אחר.",
"newEmailRequired": "חסרה כתובת מייל חדשה.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "אימות הסיסמה לא תואם את הסיסמה הראשונה.",
"invalidLoginCredentials": "שם משתמש או מייל או סיסמה לא נכונים.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/he/gear.json b/website/common/locales/he/gear.json
index d5de24d7f5..00bafd2b80 100644
--- a/website/common/locales/he/gear.json
+++ b/website/common/locales/he/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "קילשון למשתאות",
"weaponMystery201411Notes": "דיקרו את אויבייכם או חפרו לתוך מאכליכם - הקילשון רב-השימושים הזה עושה הכל! לא מקנה ייתרון. נובמבר 2014, חפץ מנויים.",
"weaponMystery201502Text": "מטה מכונף ונוצץ של אהבה וגם אמת",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "שריון",
"armorCapitalized": "שריון",
"armorBase0Text": "בגדים פשוטים",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "גלימות שליח",
"armorMystery201402Notes": "מנצנצות וחזקות, לגלימות אלו כיסים רבים לנשיאת מכתבים. לא מקנות ייתרון. פברואר 2014, חפץ מנויים.",
"armorMystery201403Text": "שריון מהלך היער",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "חליפת סטימפאנק",
"armorMystery301404Notes": "נאה ונמרץ, אה! לא מקנה ייתרון. פברואר 3015, חפץ מנויים.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "ציוד ראש",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "קסדת לוחמי הקשת",
"headSpecialGaymerxNotes": "לרגל חגיגות כנס גיימר-אקס, הקסדה המיוחדת הזו מעוטרת בדוגמה בוהקת של קשת צבעונית! גיימר-אקס הוא כנס שחוגג להט״בים ומשחקים, והוא פתוח לכולם.",
"headMystery201402Text": "קסדה מכונפת",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "כובע ראש מפואר",
"headMystery301404Notes": "כובע ראש מפואר למכובד שבג׳נטלמנים! ינואר 3015, חפץ מנויים. לא מקנה ייתרון.",
"headMystery301405Text": "כובע ראש בסיסי",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "שוחט החלטות",
"shieldMystery201601Notes": "סכין זו יכולה לשמש כדי להדוף הסחות דעת. לא מקנה ייתרון. ינואר 2016, חפץ מנויים.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "אביזר גב",
"backCapitalized": "Back Accessory",
"backBase0Text": "אביזר ללא גב",
"backBase0Notes": "אביזר ללא גב.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "כנפי זהב",
"backMystery201402Notes": "כנפיים זוהרות אלו מכילות נוצות שמנצנצות בשמש! לא מקנות ייתרון. פברואר 2014, חפץ מנויים.",
"backMystery201404Text": "כנפי פרפר הדמדומים",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "אביזר גוף",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "ללא אביזר גוף",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "״משקפיים הן לעייניים,״ הם אמרו. ״אף אחד לא ירצה משקפיים שאפשר לחבוש רק על הראש,״ הם אמרו. הא! בהחלט הראיתם להם! לא מקנות ייתרון. אוגוסט 3015, חפץ מנויים.",
"headAccessoryArmoireComicalArrowText": "חץ קומי",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "לבוש לעיניים",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "ללא לבוש לעיניים",
diff --git a/website/common/locales/he/groups.json b/website/common/locales/he/groups.json
index b5b8830379..7d145a2b74 100644
--- a/website/common/locales/he/groups.json
+++ b/website/common/locales/he/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/he/limited.json b/website/common/locales/he/limited.json
index 554db4c1fc..81d956925e 100644
--- a/website/common/locales/he/limited.json
+++ b/website/common/locales/he/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/he/questscontent.json b/website/common/locales/he/questscontent.json
index 442c1e9de8..008c1baab0 100644
--- a/website/common/locales/he/questscontent.json
+++ b/website/common/locales/he/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/he/subscriber.json b/website/common/locales/he/subscriber.json
index 9bc5745700..9951732749 100644
--- a/website/common/locales/he/subscriber.json
+++ b/website/common/locales/he/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "סט סטימפאנק רגיל",
"mysterySet301405": "סט סטימפאנק אקססוריז",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/hu/backgrounds.json b/website/common/locales/hu/backgrounds.json
index 1ddf78595f..ec8956f594 100644
--- a/website/common/locales/hu/backgrounds.json
+++ b/website/common/locales/hu/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/hu/character.json b/website/common/locales/hu/character.json
index e59ca76d99..50891aea98 100644
--- a/website/common/locales/hu/character.json
+++ b/website/common/locales/hu/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Tulajdonság pont kiosztás elrejtése",
"quickAllocationLevelPopover": "Minden szintlépés ad egy pontot, amit elkölthetsz egy általad választott tulajdonságra. Ezt teheted manuálisan, vagy a játékra is bízhatod a döntést valamelyik automatikus kiosztás opciót választva a Felhasználó ikon -> Statisztika menüpontban.",
"notEnoughAttrPoints": "Nincs elég tulajdonság pontod.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stílus",
"facialhair": "Arc",
"photo": "Fénykép",
diff --git a/website/common/locales/hu/content.json b/website/common/locales/hu/content.json
index 427680539d..7fb539e5d1 100644
--- a/website/common/locales/hu/content.json
+++ b/website/common/locales/hu/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Csillagos éjszaka",
"hatchingPotionRainbow": "Szivárvány",
"hatchingPotionGlass": "Üveg",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Öntsd ezt egy tojásra, és egy <%= potText(locale) %> háziállat fog belőle kikelni.",
"premiumPotionAddlNotes": "Nem használható küldetésben szerzett tojásokhoz.",
"foodMeat": "Hús",
diff --git a/website/common/locales/hu/front.json b/website/common/locales/hu/front.json
index a8172962d5..07c4182593 100644
--- a/website/common/locales/hu/front.json
+++ b/website/common/locales/hu/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Hibás e-mail cím.",
"emailTaken": "Egy felhasználó már használja ezt az e-mail címet.",
"newEmailRequired": "Hiányzó új e-mail cím.",
- "usernameTaken": "Ez a felhasználónév már foglalt.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Jelszó megerősítés nem egyezik meg a jelszóval.",
"invalidLoginCredentials": "Hibás felhasználó név és/vagy e-mail és/vagy jelszó.",
"passwordResetPage": "Jelszó visszaállítás",
@@ -295,7 +302,7 @@
"signUpWithSocial": "<%= social %> regisztráció",
"loginWithSocial": "<%= social %> belépés",
"confirmPassword": "Jelszó megerősítése",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "pl. JellemSzellem",
"emailPlaceholder": "pl. rabbit@example.com",
"passwordPlaceholder": "pl. ******************",
@@ -329,6 +336,5 @@
"signup": "Regisztráció",
"getStarted": "Kezdj hozzá",
"mobileApps": "Mobil alkalmazások",
- "learnMore": "Tudj meg többet",
- "useMobileApps": "A Habitica nem optimális a mobil böngészőben való használathoz. Javasoljuk hogy töltsd le a mobil alkalmazásunkat."
+ "learnMore": "Tudj meg többet"
}
\ No newline at end of file
diff --git a/website/common/locales/hu/gear.json b/website/common/locales/hu/gear.json
index 1bf19dd38a..d5ddbbbfce 100644
--- a/website/common/locales/hu/gear.json
+++ b/website/common/locales/hu/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Víz alatt a tűz, jég, vagy elektromosság alapú varázslatok veszélyesek a mágusra aki használja őket. Ezek a megidézett mérgező tüskék viszont rendkívül hatásosak! Növeli az intelligenciádat <%= int %> ponttal és az észlelésedet <%= per %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"weaponSpecialSummer2018HealerText": "Sellő uralkodó szigony",
"weaponSpecialSummer2018HealerNotes": "Egy jóságos mozdulattal megparancsolod a gyógyító víznek hogy az uralmad alatt lévő területeken kersztülfolyjon. Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "A lakmározás vasvillája",
"weaponMystery201411Notes": "Szúrd le az ellenségeidet vagy túrj bele kedvenc eledeleidbe - ezzel a sokoldalú vasvillával mindent megtehetsz! Nem változtat a tulajdonságaidon. 2014 novemberi előfizetői tárgy.",
"weaponMystery201502Text": "A szeretet csillogó szárnyas botja és az igazságé is",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Használd ezt hogy növeld az ellenállásodat az iokén porral és más elképzelhetetlenül veszélyes mérgekkel szemben. Növeli az intelligenciádat <%= int %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (3. tárgy a 4-ből).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "páncél",
"armorCapitalized": "Páncél",
"armorBase0Text": "Egyszerű ruházat",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "A méregvarázslat a találékonyságáról híres. Nem annyira mint ez a színes páncél, aminek üzenete egyértelmű szörnyek és feladatok számára egyaránt: ide nézz! Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"armorSpecialSummer2018HealerText": "Sellő uralkodó köpeny",
"armorSpecialSummer2018HealerNotes": "Ez az égszínkék öltözék felfedi hogy lábaid vannak... Még egy uralkodó sem lehet tökéletes. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Hírvivő köpeny",
"armorMystery201402Notes": "Csillámlóak és erősek, ezeknek a köpenyeknek sok zsebük van levelek hordásához. Nem változtat a tulajdonságaidon. 2014 februári előfizetői tárgy.",
"armorMystery201403Text": "Erdőjáró páncél",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "Ez az erős farok hatalmas sebességgel hajt végig a tengeren! Nem változtat a tulajdonságaidon. 2018 júliusi előfizetői tárgy.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk öltözet",
"armorMystery301404Notes": "Jól vasalt és lenyűgöző, ugye! Nem változtat a tulajdonságaidon. 3015 februári előfizetői tárgy.",
"armorMystery301703Text": "Steampunk páva köntös",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "Ezen a drága ruhán sok zseb van, hogy könnyen elrejthesd a fegyvereidet és zsákmányodat! Növeli az észlelésedet <%= per %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (2. tárgy a 4-ből).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "sisak",
"headgearCapitalized": "Fejfedő",
"headBase0Text": "Nincs fejfedő",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Bámulj búsan bárkire aki azt mondja úgy nézel ki mint egy \"ínyenchal\". Növeli az észlelésdet <%= per %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"headSpecialSummer2018HealerText": "Sellő uralkodó korona",
"headSpecialSummer2018HealerNotes": "Ez az akvamarinnal díszített uszonyos fejdísz megmutatja ki a vezére embereknek és halaknak, valamint azoknak akik mindkét csoportba tartoznak. Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Szívárványos harci sisak",
"headSpecialGaymerxNotes": "A GaymerX Konferencia ünnepléseként ez a különleges sisak a szívárvány minden színében pompázik! A GaymerX egy játék konferencia, ami az LGBTQ közösséget ünnepli a játékvilágban, valamint elérhető mindenki számára.",
"headMystery201402Text": "Szárnyas sisak",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "Ezen a sisakon találhatő erős pikkelyek megvédenek bármilyen óceáni ellenségtől! Nem változtat a tulajdonságaidon. 2018 júliusi előfizetői tárgy.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Elegáns cilinder",
"headMystery301404Notes": "Egy elegáns cilinder a legelőkelőbb úriembereknek! Nem változtat a tulajdonságaidon. 3015 januári előfizetői tárgy. ",
"headMystery301405Text": "Egyszerű cilinder",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Ez a kőből faragott félelmetes koponyára emlékeztető pajzs rettegést kelt ellenfeleidben, miközben harcba hívod háziállataidat és hátasaidat. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"shieldSpecialSummer2018HealerText": "Sellő uralkodó embléma",
"shieldSpecialSummer2018HealerNotes": "Ez a pajzs képes levegővel töltött búrát létrehozni azoknak a látogatóknak akik a szárazföldről érkeznek víz alatti birodalmadba. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Eskü pusztító",
"shieldMystery201601Notes": "Ez a penge arra használható hogy minden figyelemeleterlést elhárítson. Nem változtat a tulajdonságaidon. 2016 januári előfizetői tárgy.",
"shieldMystery201701Text": "Idő megállító pajzs",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Micsoda díszes vázát készítettél! Mit fogsz bele tenni? Növeli az intelligenciádat <%= int %> ponttal. Elvarázsolt láda: Üvegfúvó szett (4. tárgy a 4-ből).",
"shieldArmoirePiraticalSkullShieldText": "Kalózkodó koponyapajzs",
"shieldArmoirePiraticalSkullShieldNotes": "Ez az elvarázsolt pajzs megsúgja neked azokat a titkos helyeket, ahol ellenfeleid elrejtett kincsei vannak- ide figyelj! Növeli az észlelésedet és az intelligenciádat <%= attrs %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (4. tárgy a 4-ből).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Háti kiegészítő",
"backCapitalized": "Háti kiegészítő",
"backBase0Text": "Nincs háti kiegészítő",
"backBase0Notes": "Nincs háti kiegészítő.",
+ "animalTails": "Állati farkak",
"backMystery201402Text": "Arany szárnyak",
"backMystery201402Notes": "Ezeknek a ragyogó szárnyaknak a tollai csillognak a napfényben! Nem változtat a tulajdonságaidon. 2014 februári előfizetői tárgy.",
"backMystery201404Text": "Szürkületi pillangó szárnyak",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Ez a palást egyszer az elveszett kasztmester birtokában volt. Növeli az észlelésedet <%= per %> ponttal.",
"backSpecialTurkeyTailBaseText": "Pulyka farok",
"backSpecialTurkeyTailBaseNotes": "Viseld büszkén ezt a nemes pulyka farkat amíg ünnepelsz! Nem változtat a tulajdonságaidon.",
+ "backBearTailText": "Medve farok",
+ "backBearTailNotes": "Ettől a faroktól úgy nézel ki, mint egy bátor medve! Nem változtat a tulajdonságaidon.",
+ "backCactusTailText": "Kaktusz farok",
+ "backCactusTailNotes": "Ettől a faroktól úgy nézel ki, mint egy szúrós kaktusz! Nem változtat a tulajdonságaidon.",
+ "backFoxTailText": "Róka farok",
+ "backFoxTailNotes": "Ettől a faroktól úgy nézel ki, mint egy ravasz róka! Nem változtat a tulajdonságaidon.",
+ "backLionTailText": "Oroszlán farok",
+ "backLionTailNotes": "Ettől a faroktól úgy nézel ki, mint egy fejedelmi oroszlán! Nem változtat a tulajdonságaidon.",
+ "backPandaTailText": "Panda farok",
+ "backPandaTailNotes": "Ettől a faroktól úgy nézel ki, mint egy kedves panda! Nem változtat a tulajdonságaidon.",
+ "backPigTailText": "Malac farok",
+ "backPigTailNotes": "Ettől a faroktól úgy nézel ki, mint egy játékos malac! Nem változtat a tulajdonságaidon.",
+ "backTigerTailText": "Tigris farok",
+ "backTigerTailNotes": "Ettől a faroktól úgy nézel ki, mint egy vad tigris! Nem változtat a tulajdonságaidon.",
+ "backWolfTailText": "Farkas farok",
+ "backWolfTailNotes": "Ettől a faroktól úgy nézel ki, mint egy hűséges farkas! Nem változtat a tulajdonságaidon.",
"body": "Test kiegészítő",
"bodyCapitalized": "Test kiegészítő",
"bodyBase0Text": "Nincs test kiegésztő",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"A szemüvegek a szemhez vannak,\" mondták \"Senki sem akar olyan szemüvegeket amit csak a fejeden hordhatsz,\" mondták. Ha! Jól megmutattad nekik! Nem változtat a tulajdonságaidon. 3015 augusztusi előfizetői tárgy.",
"headAccessoryArmoireComicalArrowText": "Tréfás nyílvessző",
"headAccessoryArmoireComicalArrowNotes": "Ez a hóbortos tárgy nem kínál semmilyen bónuszt, de az biztos hogy nagyon jót lehet rajta nevetni! Növeli az erődet <%= str %> ponttal. Elvarázsolt láda: önálló tárgy.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Szemviselet",
"eyewearCapitalized": "Szemviselet",
"eyewearBase0Text": "Nincs szemviselet",
diff --git a/website/common/locales/hu/groups.json b/website/common/locales/hu/groups.json
index b372a65f77..8e5a96072d 100644
--- a/website/common/locales/hu/groups.json
+++ b/website/common/locales/hu/groups.json
@@ -6,6 +6,7 @@
"innText": "A fogadóban pihensz! Amíg itt tartózkodsz a napi feladataid nem okoznak sebzést a nap befejeztével, de új nap kezdetével ugyanúgy frissülnek. Figyelmeztetés: ha egy főellenséggel harcolsz, a csapattagok kihagyott napi feladatai ugyanúgy téged is sebezni fognak, kivéve ha ők is be vannak jelentkezve a fogadóba! A saját sebzésed a főellenség ellen (vagy az összegyűjtött tárgyak) csak akkor lépnek érvénybe ha elhagyod a fogadót.",
"innTextBroken": "Hát úgy néz ki hogy most a fogadóban pihensz... Amíg itt tartózkodsz a napi feladataid nem okoznak sebzést a nap befejeztével, de új nap kezdetével ugyanúgy frissülnek... Ha egy főellenséggel harcolsz, a csapattagok kihagyott napi feladatai ugyanúgy téged is sebezni fognak... kivéve ha ők is be vannak jelentkezve a fogadóba... Továbbá, a saját sebzésed a főellenség ellen (vagy az összegyűjtött tárgyak) csak akkor lépnek érvénybe ha elhagyod a fogadót... annyira fáradt...",
"innCheckOutBanner": "Jelenleg be vagy jelentkezve a fogadóba. A napi feladataid nem fognak sebzést okozni és a küldetésekben sem fogsz haladást elérni.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Sebzés folytatása",
"helpfulLinks": "Hasznos linkek",
"communityGuidelinesLink": "Közösségi irányelvek",
diff --git a/website/common/locales/hu/limited.json b/website/common/locales/hu/limited.json
index 7346c3adf9..b0f864ccc4 100644
--- a/website/common/locales/hu/limited.json
+++ b/website/common/locales/hu/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Tűzhal mágus (mágus)",
"summer2018MerfolkMonarchSet": "Sellő uralkodó (gyógyító)",
"summer2018FisherRogueSet": "Halász tolvaj (tolvaj)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Megvásárolható <%= date(locale) %>-ig.",
"dateEndMarch": "április 30",
"dateEndApril": "április 19",
diff --git a/website/common/locales/hu/questscontent.json b/website/common/locales/hu/questscontent.json
index 76ae9b8043..6a4e4e7aff 100644
--- a/website/common/locales/hu/questscontent.json
+++ b/website/common/locales/hu/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/hu/subscriber.json b/website/common/locales/hu/subscriber.json
index 2f26876b20..165c37aeeb 100644
--- a/website/common/locales/hu/subscriber.json
+++ b/website/common/locales/hu/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Alap steampunk szett",
"mysterySet301405": "Steampunk kiegészítő szett",
"mysterySet301703": "Steampunk páva szett",
diff --git a/website/common/locales/id/backgrounds.json b/website/common/locales/id/backgrounds.json
index 67e0cac8d9..93001bd300 100644
--- a/website/common/locales/id/backgrounds.json
+++ b/website/common/locales/id/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/id/character.json b/website/common/locales/id/character.json
index a705048f8f..895bfb5fbf 100644
--- a/website/common/locales/id/character.json
+++ b/website/common/locales/id/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Sembunyikan Alokasi Atribut",
"quickAllocationLevelPopover": "Kamu akan mendapat satu Poin setiap level untuk dialokasikan kepada satu Atribut pilihanmu. Kamu dapat melakukan ini sendiri, atau biarkan permainan ini memutuskannya untukmu dengan menggunakan salah satu pilihan dari Alokasi Otomatis yang dapat ditemukan di Ikon Pengguna > Atribut.",
"notEnoughAttrPoints": "Kamu tidak memiliki cukup Poin Atribut.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Gaya",
"facialhair": "Wajah",
"photo": "Foto",
diff --git a/website/common/locales/id/content.json b/website/common/locales/id/content.json
index 98c1f26a1c..50e16e23c9 100644
--- a/website/common/locales/id/content.json
+++ b/website/common/locales/id/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Malam Berbintang",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Berikan ini kepada sebuah telur, dan ia akan menetas menjadi binatang peliharaan <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Tidak dapat digunakan kepada telur peliharaan yang didapat dari misi.",
"foodMeat": "Daging",
diff --git a/website/common/locales/id/front.json b/website/common/locales/id/front.json
index 9b4b3ae377..5789a6e3f6 100644
--- a/website/common/locales/id/front.json
+++ b/website/common/locales/id/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Alamat email salah.",
"emailTaken": "Alamat email telah digunakan oleh akun lain.",
"newEmailRequired": "Alamat email baru hilang.",
- "usernameTaken": "Nama Login sudah diambil.",
- "usernameWrongLength": "Nama Login panjangnya harus di antara 1 hingga 20 karakter.",
- "usernameBadCharacters": "Nama Login hanya boleh terdiri dari huruf a sampai z, angka 0 sampai 9, tanda penghubung, atau garis bawah.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Konfirmasi kata sandi tidak cocok dengan kata sandi.",
"invalidLoginCredentials": "Nama pengguna dan/atau email dan/atau kata sandi salah.",
"passwordResetPage": "Reset Kata Sandi",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Daftar dengan <%= social %>",
"loginWithSocial": "Log in dengan <%= social %>",
"confirmPassword": "Konfirmasi Kata Sandi",
- "usernameLimitations": "Nama Login panjangnya harus di antara 1 hingga 20 karakter, hanya boleh terdiri dari huruf a sampai z, atau angka 0 sampai 9, atau tanda penghubung, atau garis bawah.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "contoh: HabitRabbit",
"emailPlaceholder": "contoh: rabbit@example.com",
"passwordPlaceholder": "contoh: ******************",
@@ -329,6 +336,5 @@
"signup": "Daftar",
"getStarted": "Memulai",
"mobileApps": "Aplikasi Handphone",
- "learnMore": "Pelajari Lebih Lanjut",
- "useMobileApps": "Habitica tidak dioptimalkan untuk browser ponsel. Kami sarankan untuk mengunduh aplikasi ponsel kami."
+ "learnMore": "Pelajari Lebih Lanjut"
}
\ No newline at end of file
diff --git a/website/common/locales/id/gear.json b/website/common/locales/id/gear.json
index 5f4dfdd4ce..fc3aa4b926 100644
--- a/website/common/locales/id/gear.json
+++ b/website/common/locales/id/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Garpu Makan",
"weaponMystery201411Notes": "Tusuk musuh atau tusuk makanan - semua bisa dilakukan dengan garpu ini! Tidak menambah status apapun. Item Pelanggan November 2014.",
"weaponMystery201502Text": "Tongkat Cahaya Bersayap dari Cinta dan Juga Kejujuran",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "baju perang",
"armorCapitalized": "Baju Perang",
"armorBase0Text": "Pakaian Biasa",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Jubah Pembawa Pesan",
"armorMystery201402Notes": "Berkilau dan kuat, jubah ini punya banyak kantong untuk membawa surat. Tidak menambah status apapun. Item Pelanggan Februari 2014.",
"armorMystery201403Text": "Baju Penjelajah Hutan",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Baju Steampunk",
"armorMystery301404Notes": "Necis dan keren, iya lah! Tidak menambah status apapun. Item Pelanggan Februari 3015.",
"armorMystery301703Text": "Gaun Merak Steampunk",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Akesoris kepala",
"headBase0Text": "Tidak Ada Perlengkapan Kepala",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Helm Prajurit Pelangi",
"headSpecialGaymerxNotes": "Sebagai Perayaan Konferensi GaymerX, helm spesial ini berhiaskan pelangi yang cerah dan indah! GaymerX adalah konvensi gamer yang merayakan LGBTQ",
"headMystery201402Text": "Helm Bersayap",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Topi Fancy",
"headMystery301404Notes": "Topi paling cocok untuk gentleman! Item pelanggan Januari 3015. Tidak menambah status apapun.",
"headMystery301405Text": "Topi Biasa",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Pedang Resolusi",
"shieldMystery201601Notes": "Pedang ini dapat digunakan untuk menangkis semua gangguan. Tidak menambah status apapun. Item Pelanggan Januari 2016.",
"shieldMystery201701Text": "Perisai Penghenti Waktu",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Aksesori Punggung",
"backCapitalized": "Aksesori Punggung",
"backBase0Text": "Tidak Mengenakan Aksesori Punggung",
"backBase0Notes": "Tidak Mengenakan Aksesori Punggung.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Sayap Emas",
"backMystery201402Notes": "Sayap yang berkilauan ini punya bulu yang nampak indah di bawah sinar matahari! Tidak menambah status apapun. Item Pelanggan Februari 2014.",
"backMystery201404Text": "Sayap Kupu-kupu Temaram",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Jubah ini dulunya dimiliki oleh sang Lost Masterclasser sendiri. Meningkatkan Persepsi sebesar <%= per %>.",
"backSpecialTurkeyTailBaseText": "Ekor Kalkun",
"backSpecialTurkeyTailBaseNotes": "Gunakan Ekor Kalkun bangsawan-mu dengan rasa bangga selagi merayakan! Tidak menambah status apapun.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Aksesori Tubuh",
"bodyCapitalized": "Aksesori Tubuh",
"bodyBase0Text": "Tidak Mengenakan Aksesori Badan",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Kacamata untuk mata,\" kata mereka. \"Tidak ada yang pakai kacamata di kepala,\" kata mereka. Hah! Yang benar saja! Tidak menambah status apapun. Item Pelanggan Agustus 3015.",
"headAccessoryArmoireComicalArrowText": "Panah Kocak",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Kacamata",
"eyewearCapitalized": "Kacamata",
"eyewearBase0Text": "Tidak Mengenakan Kacamata",
diff --git a/website/common/locales/id/groups.json b/website/common/locales/id/groups.json
index b082685dde..d371509de4 100644
--- a/website/common/locales/id/groups.json
+++ b/website/common/locales/id/groups.json
@@ -6,6 +6,7 @@
"innText": "Kamu beristirahat di Penginapan! Ketika menginap, kamu tidak akan dilukai oleh keseharianmu yang belum selesai, tapi mereka tetap akan diperbarui setiap hari. Ingat: jika kamu sedang ikut misi melawan musuh, musuh masih bisa melukaimu lewat keseharian yang tidak diselesaikan teman Party-mu kecuali mereka ada di Penginapan juga! Selain itu kamu tidak akan bisa menyerang musuh (atau menemukan item misi) hingga kamu keluar dari Penginapan.",
"innTextBroken": "Kamu beristirahat di dalam Penginapan, kurasa... Ketika menginap, kamu tidak akan dilukai oleh keseharianmu yang belum selesai, tapi mereka masih akan diperbarui setiap hari... Jika kamu sedang ikut misi melawan musuh, musuh masih bisa melukaimu karena tugas yang tidak diselesaikan teman Party-mu... kecuali mereka ada di Penginapan juga... Selain itu kamu tidak akan bisa menyerang musuh (atau menemukan item misi) jika masih di dalam Penginapan... capek banget...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Tautan Berguna",
"communityGuidelinesLink": "Pedoman Komunitas",
diff --git a/website/common/locales/id/limited.json b/website/common/locales/id/limited.json
index 40e5055ccb..a6819ef7bd 100644
--- a/website/common/locales/id/limited.json
+++ b/website/common/locales/id/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Tersedia untuk dibeli hingga <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "19 April",
diff --git a/website/common/locales/id/questscontent.json b/website/common/locales/id/questscontent.json
index e2afa3f595..83e0165241 100644
--- a/website/common/locales/id/questscontent.json
+++ b/website/common/locales/id/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/id/subscriber.json b/website/common/locales/id/subscriber.json
index 5559c3465b..61a522967e 100644
--- a/website/common/locales/id/subscriber.json
+++ b/website/common/locales/id/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Set Steampunk Standard",
"mysterySet301405": "Set Aksesoris Steampunk",
"mysterySet301703": "Set Merak Steampunk",
diff --git a/website/common/locales/it/achievements.json b/website/common/locales/it/achievements.json
index f6770d5a43..6b05c0aed5 100644
--- a/website/common/locales/it/achievements.json
+++ b/website/common/locales/it/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Traguardi",
"share": "Condividi",
"onwards": "Avanti così!",
"levelup": "Lavorando sui tuoi obiettivi nella vita reale, sei salito/a di livello e hai recuperato tutti i punti Salute!!",
diff --git a/website/common/locales/it/backgrounds.json b/website/common/locales/it/backgrounds.json
index 00351cd186..0dd7ffbe08 100644
--- a/website/common/locales/it/backgrounds.json
+++ b/website/common/locales/it/backgrounds.json
@@ -254,7 +254,7 @@
"backgroundMeanderingCaveText": "Caverna Labirintica",
"backgroundMeanderingCaveNotes": "Esplora la Caverna Labirintica.",
"backgroundMistiflyingCircusText": "Circo di Fantalata",
- "backgroundMistiflyingCircusNotes": "Spassatela nel circo di Fantalata.",
+ "backgroundMistiflyingCircusNotes": "Spassatela nel Circo di Fantalata.",
"backgrounds042017": "SERIE 35: Aprile 2017",
"backgroundBugCoveredLogText": "Tronco ricoperto di insetti",
"backgroundBugCoveredLogNotes": "Ispeziona un tronco ricoperto di insetti.",
@@ -305,73 +305,80 @@
"backgroundTarPitsText": "Pozzi di catrame",
"backgroundTarPitsNotes": "In punta di piedi attraverso i pozzi di catrame",
"backgrounds112017": "SERIE 42: Novembre 2017",
- "backgroundFiberArtsRoomText": "Fiber Arts Room",
- "backgroundFiberArtsRoomNotes": "Spin thread in a Fiber Arts Room.",
+ "backgroundFiberArtsRoomText": "Stanza delle Arti della Fibra",
+ "backgroundFiberArtsRoomNotes": "Fila nella Stanza delle Arti della Fibra",
"backgroundMidnightCastleText": "Castello di mezzanotte",
- "backgroundMidnightCastleNotes": "Passeggiata nei pressi del Castello di mezzanotte",
+ "backgroundMidnightCastleNotes": "Passeggia nei pressi del Castello di mezzanotte",
"backgroundTornadoText": "Tornado",
"backgroundTornadoNotes": "Vola attraverso un Tornado.",
"backgrounds122017": "SERIE 43: Dicembre 2017",
- "backgroundCrosscountrySkiTrailText": "Cross-Country Ski Trail",
- "backgroundCrosscountrySkiTrailNotes": "Glide along a Cross-Country Ski Trail.",
+ "backgroundCrosscountrySkiTrailText": "Pista Campestre da Sci",
+ "backgroundCrosscountrySkiTrailNotes": "Plana lungo una Pista Campestre da Sci.",
"backgroundStarryWinterNightText": "Notte Invernale Stellata",
"backgroundStarryWinterNightNotes": "Ammira una Notte Invernale Stellata.",
"backgroundToymakersWorkshopText": "Laboratorio del giocattolaio",
- "backgroundToymakersWorkshopNotes": "Bask in the wonder of a Toymaker's Workshop.",
+ "backgroundToymakersWorkshopNotes": "Scaldati nella meraviglia del Laboratorio del Giocattolaio.",
"backgrounds012018": "SERIE 44: Gennaio 2018",
"backgroundAuroraText": "Aurora",
- "backgroundAuroraNotes": "Bask in the wintry glow of an Aurora.",
+ "backgroundAuroraNotes": "Stenditi sotto il bagliore invernale dell'Aurora.",
"backgroundDrivingASleighText": "Slitta",
"backgroundDrivingASleighNotes": "Guida una slitta sui campi ricoperti di neve.",
- "backgroundFlyingOverIcySteppesText": "Icy Steppes",
- "backgroundFlyingOverIcySteppesNotes": "Fly over Icy Steppes.",
+ "backgroundFlyingOverIcySteppesText": "Steppe Gelide",
+ "backgroundFlyingOverIcySteppesNotes": "Sorvola le Steppe Gelide.",
"backgrounds022018": "SERIE 45: Febbraio 2018",
- "backgroundChessboardLandText": "Chessboard Land",
- "backgroundChessboardLandNotes": "Play a game in Chessboard Land.",
+ "backgroundChessboardLandText": "Landa della Scacchiera",
+ "backgroundChessboardLandNotes": "Gioca una partita nella Landa della Scacchiera ",
"backgroundMagicalMuseumText": "Museo Magico",
- "backgroundMagicalMuseumNotes": "Tour a Magical Museum.",
+ "backgroundMagicalMuseumNotes": "Visita un Museo Magico.",
"backgroundRoseGardenText": "Giardino di Rose",
- "backgroundRoseGardenNotes": "Dally in a fragrant Rose Garden.",
+ "backgroundRoseGardenNotes": "Gioca in un profumato Giardino di Rose.",
"backgrounds032018": "SERIE 46: Marzo 2018",
"backgroundGorgeousGreenhouseText": "Serra Stupenda",
"backgroundGorgeousGreenhouseNotes": "Cammina per la flora nella Serra Stupenda",
"backgroundElegantBalconyText": "Terrazzo Elegante",
- "backgroundElegantBalconyNotes": "Look out over the landscape from an Elegant Balcony.",
+ "backgroundElegantBalconyNotes": "Guarda fuori il paesaggio da un Terrazzo Elegante.",
"backgroundDrivingACoachText": "Driving a Coach",
"backgroundDrivingACoachNotes": "Enjoy Driving a Coach past fields of flowers.",
"backgrounds042018": "SET 47: Rilasciato in aprile 2018",
"backgroundTulipGardenText": "Giardino di Tulipani",
- "backgroundTulipGardenNotes": "Tiptoe through a Tulip Garden.",
- "backgroundFlyingOverWildflowerFieldText": "Field of Wildflowers",
- "backgroundFlyingOverWildflowerFieldNotes": "Soar above a Field of Wildflowers.",
+ "backgroundTulipGardenNotes": "Cammina sulle punte dei piedi nel Giardino di Tulipani.",
+ "backgroundFlyingOverWildflowerFieldText": "Campo di Fiori Selvatici",
+ "backgroundFlyingOverWildflowerFieldNotes": "Librati sopra un Campo di Fiori Selvatici",
"backgroundFlyingOverAncientForestText": "Antica Foresta",
- "backgroundFlyingOverAncientForestNotes": "Fly over the canopy of an Ancient Forest.",
- "backgrounds052018": "SET 48: Released May 2018",
+ "backgroundFlyingOverAncientForestNotes": "Vola sopra le punte di un'Antica Foresta.",
+ "backgrounds052018": "SET 48: Rilasciato Maggio 2018",
"backgroundTerracedRiceFieldText": "Terraced Rice Field",
"backgroundTerracedRiceFieldNotes": "Enjoy a Terraced Rice Field in the growing season.",
"backgroundFantasticalShoeStoreText": "Fantastical Shoe Store",
"backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
- "backgroundChampionsColosseumText": "Champions' Colosseum",
+ "backgroundChampionsColosseumText": "Colosseo dei Campioni",
"backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
+ "backgrounds062018": "SET 49: Rilasciato Giugno 2018",
+ "backgroundDocksText": "Moli",
"backgroundDocksNotes": "Fish from atop the Docks.",
"backgroundRowboatText": "Rowboat",
"backgroundRowboatNotes": "Sing rounds in a Rowboat.",
- "backgroundPirateFlagText": "Pirate Flag",
- "backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
- "backgroundDarkDeepText": "Dark Deep",
- "backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.",
+ "backgroundPirateFlagText": "Bandiera Pirata",
+ "backgroundPirateFlagNotes": "Fai sventolare una temuta Bandiera Pirata.",
+ "backgrounds072018": "SET 50: Rilasciato Luglio 2018",
+ "backgroundDarkDeepText": "Oscura Profondità",
+ "backgroundDarkDeepNotes": "Nuota nell'Oscura Profondità tra animali bioluminescenti",
"backgroundDilatoryCityText": "City of Dilatory",
"backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
"backgroundTidePoolText": "Tide Pool",
"backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
+ "backgrounds082018": "SET 51: Rilasciato Agosto 2018",
+ "backgroundTrainingGroundsText": "Campo di Addestramento",
+ "backgroundTrainingGroundsNotes": "Allenati presso il Campo di Addestramento.",
+ "backgroundFlyingOverRockyCanyonText": "Canyon Roccioso",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeText": "Ponte",
+ "backgroundBridgeNotes": "Attraversa un incantevole Ponte",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "A Raccogliere Mele",
+ "backgroundApplePickingNotes": "Vai A Raccogliere Mele, e portane a casa un bel cesto.",
+ "backgroundGiantBookText": "Libro Gigante",
+ "backgroundGiantBookNotes": "Leggi mentre cammini tra le pagine del Libro Gigante.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/it/challenge.json b/website/common/locales/it/challenge.json
index a9ada85d78..4bf12eab82 100644
--- a/website/common/locales/it/challenge.json
+++ b/website/common/locales/it/challenge.json
@@ -13,8 +13,8 @@
"challengeWinner": "Ha vinto le seguenti sfide:",
"challenges": "Sfide",
"challengesLink": "Sfide",
- "challengePrize": "Challenge Prize",
- "endDate": "Ends",
+ "challengePrize": "Ricompensa della Sfida",
+ "endDate": "Fini",
"noChallenges": "Ancora nessuna sfida, visita",
"toCreate": "per crearne una.",
"selectWinner": "Scegli un vincitore e chiudi la sfida:",
@@ -25,9 +25,9 @@
"filter": "Filtro",
"groups": "Gruppi",
"noNone": "Nessuno",
- "category": "Category",
+ "category": "Categoria",
"membership": "Partecipazione",
- "ownership": "Ownership",
+ "ownership": "Proprietà",
"participating": "Sto partecipando",
"notParticipating": "Non sto partecipando",
"either": "Entrambi",
@@ -131,7 +131,7 @@
"locationRequired": "E' necessario un luogo della sfida ('Aggiungi a')",
"categoiresRequired": "Una o più categorie devono essere selezionate",
"viewProgressOf": "Vedi i progressi di",
- "viewProgress": "View Progress",
+ "viewProgress": "Vedi il Progresso",
"selectMember": "Seleziona Partecipante",
"confirmKeepChallengeTasks": "Vuoi tenere le attività della sfida?",
"selectParticipant": "Seleziona un partecipante"
diff --git a/website/common/locales/it/character.json b/website/common/locales/it/character.json
index 7dc532b461..08246313cb 100644
--- a/website/common/locales/it/character.json
+++ b/website/common/locales/it/character.json
@@ -45,8 +45,8 @@
"beard": "Barba",
"mustache": "Baffi",
"flower": "Fiore",
- "accent": "Accent",
- "headband": "Headband",
+ "accent": "Accento",
+ "headband": "Fascia per Capelli",
"wheelchair": "Sedia a rotelle",
"extra": "Extra",
"basicSkins": "Skin base",
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Nascondi allocazione delle Statistiche",
"quickAllocationLevelPopover": "Ogni volta che sali di livello ottieni un punto da assegnare ad una Statistica a tua scelta. Puoi farlo manualmente, o lasciare che se ne occupi il gioco selezionando una delle opzioni di allocazione automatica che trovi in (icona utente) > Statistiche.",
"notEnoughAttrPoints": "Non hai abbastanza Punti Statistica.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stile",
"facialhair": "Barba e baffi",
"photo": "Foto",
@@ -219,6 +220,6 @@
"bodyAccess": "Access. busto",
"mainHand": "Mano principale",
"offHand": "Mano secondaria",
- "statPoints": "Stat Points",
+ "statPoints": "Punti Statistiche",
"pts": "punti"
}
\ No newline at end of file
diff --git a/website/common/locales/it/communityguidelines.json b/website/common/locales/it/communityguidelines.json
index ecf495d841..d8d30d8a2e 100644
--- a/website/common/locales/it/communityguidelines.json
+++ b/website/common/locales/it/communityguidelines.json
@@ -3,21 +3,21 @@
"tavernCommunityGuidelinesPlaceholder": "Nota amichevole: questa è una chat per utenti di ogni età, quindi per favore assicurati che il tuo linguaggio e i contenuti che pubblichi siano appropriati. Consulta le Linee guida della community nella sezione \"Link utili\" qui a lato se hai qualche domanda.",
"lastUpdated": "Ultimo aggiornamento:",
"commGuideHeadingWelcome": "Benvenuto ad Habitica!",
- "commGuidePara001": "Greetings, adventurer! Welcome to Habitica, the land of productivity, healthy living, and the occasional rampaging gryphon. We have a cheerful community full of helpful people supporting each other on their way to self-improvement. To fit in, all it takes is a positive attitude, a respectful manner, and the understanding that everyone has different skills and limitations -- including you! Habiticans are patient with one another and try to help whenever they can.",
- "commGuidePara002": "To help keep everyone safe, happy, and productive in the community, we do have some guidelines. We have carefully crafted them to make them as friendly and easy-to-read as possible. Please take the time to read them before you start chatting.",
+ "commGuidePara001": "Salve avventuriero! Benvenuto ad Habitica, la terra della produttività, della vita sana, e occasionalmente di grifoni infuriati. Abbiamo un'allegra community piena di persone che si supportano a vicenda nel tentativo di migliorarsi. Per adattarsi, tutto ciò che serve è un atteggiamento positivo, un comportamento rispettoso, e che si comprenda che ognuno ha differenti abilità e limitazioni -- compreso te! Gli Habiticanti sono pazienti l'un con l'altro e tentano di aiutare ogni volta che possono.",
+ "commGuidePara002": "Per aiutare a mantenere la sicurezza, la felicità e la produttività nella community, abbiamo alcune linee guida. Le abbiamo stilate accuratamente per renderle il più semplici possibile. Per favore, leggile con attenzione prima di iniziare a scrivere.",
"commGuidePara003": "Queste regole si applicano in tutti gli spazi di socializzazione che utilizziamo, ciò include (ma non si limita a) Trello, GitHub, Transifex e Wikia (o Wiki). A volte, sorgono situazioni impreviste, come una nuova fonte di conflitto o un negromante malvagio. Quando ciò accade, i moderatori potrebbero reagire modificando queste linee guida per mantenere la community sicura da nuove minacce. Non temere: se le linee guida cambieranno, verrai avvertito con un annuncio di Bailey.",
"commGuidePara004": "Ora appronta le tue piume e pergamene per prendere nota e iniziamo!",
- "commGuideHeadingInteractions": "Interactions in Habitica",
+ "commGuideHeadingInteractions": "Interazioni su Habitica",
"commGuidePara015": "Habitica has two kinds of social spaces: public, and private. Public spaces include the Tavern, Public Guilds, GitHub, Trello, and the Wiki. Private spaces are Private Guilds, Party chat, and Private Messages. All Display Names must comply with the public space guidelines. To change your Display Name, go on the website to User > Profile and click on the \"Edit\" button.",
"commGuidePara016": "Quando navighi negli spazi pubblici di Habitica, ci sono delle regole generali che bisogna rispettare per mantenere tutti felici e al sicuro. Dovrebbero essere semplici per un avventuriero come te!",
- "commGuideList02A": "Respect each other. Be courteous, kind, friendly, and helpful. Remember: Habiticans come from all backgrounds and have had wildly divergent experiences. This is part of what makes Habitica so cool! Building a community means respecting and celebrating our differences as well as our similarities. Here are some easy ways to respect each other:",
- "commGuideList02B": "Obey all of the Terms and Conditions.",
+ "commGuideList02A": "Rispettarsi a vicenda. Sii cortese, gentile, amichevole e disposto ad aiutare. Ricorda: gli Habiticanti hanno trascorsi diversi e possono quindi avere esperienze molto divergenti. Questo è parte di ciò che rende Habitica così speciale! Costruire una comunità significa rispettarsi ed esaltare le nostre differenze così come le nostre similitudini. Di seguito potrai trovare alcuni consigli per rispettare gli altri ed essere rispettati:",
+ "commGuideList02B": "Obbedisci ai Termini e condizioni di utilizzo.",
"commGuideList02C": "Do not post images or text that are violent, threatening, or sexually explicit/suggestive, or that promote discrimination, bigotry, racism, sexism, hatred, harassment or harm against any individual or group. Not even as a joke. This includes slurs as well as statements. Not everyone has the same sense of humor, and so something that you consider a joke may be hurtful to another. Attack your Dailies, not each other.",
"commGuideList02D": "Keep discussions appropriate for all ages. We have many young Habiticans who use the site! Let's not tarnish any innocents or hinder any Habiticans in their goals.",
"commGuideList02E": "Avoid profanity. This includes milder, religious-based oaths that may be acceptable elsewhere. We have people from all religious and cultural backgrounds, and we want to make sure that all of them feel comfortable in public spaces. If a moderator or staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.",
"commGuideList02F": "Avoid extended discussions of divisive topics in the Tavern and where it would be off-topic. If you feel that someone has said something rude or hurtful, do not engage them. If someone mentions something that is allowed by the guidelines but which is hurtful to you, it’s okay to politely let someone know that. If it is against the guidelines or the Terms of Service, you should flag it and let a mod respond. When in doubt, flag the post.",
"commGuideList02G": "Comply immediately with any Mod request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, asking you to move your discussion to a more suitable space, etc.",
- "commGuideList02H": "Take time to reflect instead of responding in anger if someone tells you that something you said or did made them uncomfortable. There is great strength in being able to sincerely apologize to someone. If you feel that the way they responded to you was inappropriate, contact a mod rather than calling them out on it publicly.",
+ "commGuideList02H": "Rifletti prima di dare una risposta \"arrabbiata\" se qualcuno ti dice che qualcosa che hai detto o fatto lo mette a disagio. C'è una grande forza nel sapersi scusare sinceramente con qualcuno. Se senti che il modo in cui ti hanno risposto è inappropriato, contatta un moderatore invece che arrabbiarti e rispondere male pubblicamente.",
"commGuideList02I": "Divisive/contentious conversations should be reported to mods by flagging the messages involved or using the Moderator Contact Form. If you feel that a conversation is getting heated, overly emotional, or hurtful, cease to engage. Instead, report the posts to let us know about it. Moderators will respond as quickly as possible. It's our job to keep you safe. If you feel that more context is required, you can report the problem using the Moderator Contact Form.",
"commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. Asking for gems or a subscription in any of the chat spaces or via Private Message is also considered spamming. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam.
It is up to the mods to decide if something constitutes spam or might lead to spam, even if you don’t feel that you have been spamming. For example, advertising a Guild is acceptable once or twice, but multiple posts in one day would probably constitute spam, no matter how useful the Guild is!",
"commGuideList02K": "Avoid posting large header text in the public chat spaces, particularly the Tavern. Much like ALL CAPS, it reads as if you were yelling, and interferes with the comfortable atmosphere.",
diff --git a/website/common/locales/it/content.json b/website/common/locales/it/content.json
index 40dc4f0af3..ae85ec195e 100644
--- a/website/common/locales/it/content.json
+++ b/website/common/locales/it/content.json
@@ -163,19 +163,19 @@
"questEggYarnAdjective": "un lanoso",
"questEggPterodactylText": "Pterodattilo",
"questEggPterodactylMountText": "Pterodattilo",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "un fiducioso",
"questEggBadgerText": "Tasso",
"questEggBadgerMountText": "Tasso",
- "questEggBadgerAdjective": "a bustling",
- "questEggSquirrelText": "Squirrel",
- "questEggSquirrelMountText": "Squirrel",
- "questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggBadgerAdjective": "un vivace",
+ "questEggSquirrelText": "Scoiattolo",
+ "questEggSquirrelMountText": "Scoiattolo",
+ "questEggSquirrelAdjective": "una folta coda",
+ "questEggSeaSerpentText": "Serpente di Mare",
+ "questEggSeaSerpentMountText": "Serpente di Mare",
+ "questEggSeaSerpentAdjective": "un scintillante ",
+ "questEggKangarooText": " Canguro",
+ "questEggKangarooMountText": "Canguro",
+ "questEggKangarooAdjective": "un acuto",
"eggNotes": "Trova una pozione per far schiudere questo uovo, e nascerà <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
"hatchingPotionWhite": "Bianco",
@@ -201,7 +201,8 @@
"hatchingPotionFairy": "Fatato",
"hatchingPotionStarryNight": "Notte stellata",
"hatchingPotionRainbow": "Arcobaleno",
- "hatchingPotionGlass": "Glass",
+ "hatchingPotionGlass": " Vetro",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Versa questa pozione su un uovo, e nascerà un animale <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Non utilizzabile su uova di animali ottenute dalle missioni.",
"foodMeat": "Carne",
diff --git a/website/common/locales/it/front.json b/website/common/locales/it/front.json
index ec7100d872..df2fef8a29 100644
--- a/website/common/locales/it/front.json
+++ b/website/common/locales/it/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Indirizzo e-mail non valido.",
"emailTaken": "L'indirizzo email è già stato utilizzato per un altro account.",
"newEmailRequired": "Manca il nuovo indirizzo e-mail.",
- "usernameTaken": "Nome di login già utilizzato.",
- "usernameWrongLength": "Il nome di login deve avere al minimo 1 carattere e al massimo 20.",
- "usernameBadCharacters": "Il nome di login può contenere solo le lettere dell'alfabeto, cifre da 0 a 9, trattini alti \"-\" o bassi \"_\".",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "La password non corrisponde alla conferma.",
"invalidLoginCredentials": "Nome utente e/o email e/o password scorretto/i.",
"passwordResetPage": "Reimposta password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Registrati con <%= social %>",
"loginWithSocial": "Accedi con <%= social %>",
"confirmPassword": "Conferma password",
- "usernameLimitations": "Il nome di login può avere tra 1 e 20 caratteri e può essere composto solo da lettere dell'alfabeto, cifre da 0 a 9, trattini alti \"-\" o bassi \"_\".",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "es. HabitRabbit",
"emailPlaceholder": "es. rabbit@esempio.it",
"passwordPlaceholder": "es. ******************",
@@ -329,6 +336,5 @@
"signup": "Registrati",
"getStarted": "Inizia",
"mobileApps": "App Mobile",
- "learnMore": "Maggiori informazioni",
- "useMobileApps": "Habitica non è ottimizzato per i browser dei dispositivi mobili. Consigliamo di scaricare le nostre app."
+ "learnMore": "Maggiori informazioni"
}
\ No newline at end of file
diff --git a/website/common/locales/it/gear.json b/website/common/locales/it/gear.json
index e549d440c4..416772298a 100644
--- a/website/common/locales/it/gear.json
+++ b/website/common/locales/it/gear.json
@@ -89,7 +89,7 @@
"weaponSpecialCriticalText": "Critico Martello Distruggi-Bug",
"weaponSpecialCriticalNotes": "Questo campione ha annientato un pericoloso nemico su Github, dove molti guerrieri sono caduti. Adornato con le ossa del Bug, questo martello garantisce poderosi colpi critici. Aumenta la Forza e la Percezione di <%= attrs %>.",
"weaponSpecialTakeThisText": "Spada Take This",
- "weaponSpecialTakeThisNotes": "This sword was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.",
+ "weaponSpecialTakeThisNotes": "Questa spada è stata guadagnata partecipando ad una Sfida sponsorizzata creata da Take This. Congratulazioni! Aumenta tutte le statistiche di <%= attrs %>",
"weaponSpecialTridentOfCrashingTidesText": "Tridente delle Maree Fragorose",
"weaponSpecialTridentOfCrashingTidesNotes": "Conferisce l'abilità di comandare i pesci, inoltre colpisce con forza le tue attività. Aumenta l'Intelligenza di <%= int %>.",
"weaponSpecialTaskwoodsLanternText": "Lanterna di Boscocompito",
@@ -246,14 +246,14 @@
"weaponSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
"weaponSpecialWinter2018WarriorText": "Holiday Bow Hammer",
"weaponSpecialWinter2018WarriorNotes": "The sparkly appearance of this bright weapon will dazzle your enemies as you swing it! Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
- "weaponSpecialWinter2018MageText": "Holiday Confetti",
+ "weaponSpecialWinter2018MageText": "Coriandoli delle Vacanze",
"weaponSpecialWinter2018MageNotes": "Magic--and glitter--is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
- "weaponSpecialWinter2018HealerText": "Mistletoe Wand",
+ "weaponSpecialWinter2018HealerText": "Bacchetta di Vischio",
"weaponSpecialWinter2018HealerNotes": "This mistletoe ball is sure to enchant and delight passersby! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
"weaponSpecialSpring2018RogueText": "Buoyant Bullrush",
"weaponSpecialSpring2018RogueNotes": "What might appear to be cute cattails are actually quite effective weapons in the right wings. Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.",
- "weaponSpecialSpring2018WarriorText": "Axe of Daybreak",
- "weaponSpecialSpring2018WarriorNotes": "Made of bright gold, this axe is mighty enough to attack the reddest task! Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.",
+ "weaponSpecialSpring2018WarriorText": "Ascia dell'Alba",
+ "weaponSpecialSpring2018WarriorNotes": "Fatta di oro luccicante, quest'ascia è abbastanza potente da attaccare l'attività più rossa! Aumenta la Forza di <%= str %>. Edizione Limitata oggetti di Primavera 2018.",
"weaponSpecialSpring2018MageText": "Tulip Stave",
"weaponSpecialSpring2018MageNotes": "This magic flower never wilts! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Spring Gear.",
"weaponSpecialSpring2018HealerText": "Garnet Rod",
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Forcone dei festeggiamenti",
"weaponMystery201411Notes": "Infilza i tuoi nemici o inforca i tuoi cibi preferiti - questo versatile forcone può fare di tutto! Non conferisce alcun bonus. Oggetto per abbonati, novembre 2014.",
"weaponMystery201502Text": "Scintillante Scettro Alato dell'Amore e anche della Verità",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armatura",
"armorCapitalized": "Armatura",
"armorBase0Text": "Vestiti semplici",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Vesti del Messaggero",
"armorMystery201402Notes": "Lucenti e robuste, queste vesti hanno diverse tasche per trasportare le lettere. Non conferisce alcun bonus. Oggetto per abbonati, febbraio 2014.",
"armorMystery201403Text": "Armatura del Proteggiforeste",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Completo Steampunk",
"armorMystery301404Notes": "Raffinato, a dir poco impeccabile! Non conferisce alcun bonus. Oggetto per abbonati, febbraio 3015.",
"armorMystery301703Text": "Vestito da Pavone Steampunk",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "elmo",
"headgearCapitalized": "Copricapo",
"headBase0Text": "Nessun elmo",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Elmo del Guerriero Arcobaleno",
"headSpecialGaymerxNotes": "Per celebrare il GaymerX, questo speciale elmo è decorato con un raggiante e colorato tema arcobaleno! Il GaymerX è un evento dedicato al gaming e alla comunità LGBTQ, ed è aperto a tutti.",
"headMystery201402Text": "Elmo Alato",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Cilindro Elegante",
"headMystery301404Notes": "Un cilindro per i più fini gentiluomini! Oggetto per abbonati, gennaio 3015. Non conferisce alcun bonus.",
"headMystery301405Text": "Cilindro Base",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Risoluzione dell'Assassino",
"shieldMystery201601Notes": "Questa lama può essere usata per parare ogni distrazione. Non conferisce alcun bonus. Oggetto per abbonati, gennaio 2016.",
"shieldMystery201701Text": "Scudo ferma-tempo",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Accessorio da schiena",
"backCapitalized": "Accessorio schiena",
"backBase0Text": "Nessun accessorio da schiena",
"backBase0Notes": "Nessun accessorio da schiena.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Ali Dorate",
"backMystery201402Notes": "Le piume di queste lucenti ali brillano alla luce del sole! Non conferisce alcun bonus. Oggetto per abbonati, febbraio 2014.",
"backMystery201404Text": "Ali di Farfalla d'Alba",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Accessorio per il corpo",
"bodyCapitalized": "Accessorio corpo",
"bodyBase0Text": "No accessori da corpo",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Gli occhiali sono per i tuoi occhi\", dicevano. \"Nessuno vuole degli occhiali solo per tenerli in testa\", dicevano. Hah! Ora mostra quanto si sbagliano! Non conferisce alcun bonus. Oggetto per abbonati, agosto 3015.",
"headAccessoryArmoireComicalArrowText": "Freccia Comica",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Occhiali",
"eyewearCapitalized": "Accessorio occhi",
"eyewearBase0Text": "Nessuna benda",
diff --git a/website/common/locales/it/generic.json b/website/common/locales/it/generic.json
index 7dbb788b0c..35c728cc4e 100644
--- a/website/common/locales/it/generic.json
+++ b/website/common/locales/it/generic.json
@@ -87,7 +87,7 @@
"gems": "Gemme",
"gemButton": "Hai <%= number %> Gemme.",
"needMoreGems": "Ti servono più Gemme?",
- "needMoreGemsInfo": "Purchase Gems now, or become a subscriber to buy Gems with Gold, get monthly mystery items, enjoy increased drop caps and more!",
+ "needMoreGemsInfo": "Compra Gemme ora, o diventa un abbonato per comprare Gemme con oro, prendere mensilmente oggetti misteriosi, goditi i drop caps e altro aumentati!",
"moreInfo": "Maggiori informazioni",
"moreInfoChallengesURL": "http://habitica.wikia.com/wiki/Challenges",
"moreInfoTagsURL": "http://habitica.wikia.com/wiki/Tags",
@@ -123,7 +123,7 @@
"menu": "Menù",
"notifications": "Notifiche",
"noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotificationsText": "Le fate delle notifche ti danno un rauco turno di applausi! Ben fatto!",
"clear": "Nascondi",
"endTour": "Fine giro",
"audioTheme": "Tema sonoro",
@@ -200,7 +200,7 @@
"birthdayCardAchievementTitle": "Superbonus Compleanno",
"birthdayCardAchievementText": "Cento di questi giorni! Hai inviato o ricevuto <%= count %> auguri di compleanno.",
"congratsCard": "Cartolina di Congratulazioni",
- "congratsCardExplanation": "You both receive the Congratulatory Companion achievement!",
+ "congratsCardExplanation": "Entrambi ricevete la medaglia ‘Compagno di Congratulazioni’!",
"congratsCardNotes": "Manda una cartolina di Congratulazioni ad un membro della tua squadra.",
"congrats0": "Congratulazioni per il tuo successo!",
"congrats1": "Sono molto fiero di te!",
@@ -210,7 +210,7 @@
"congratsCardAchievementTitle": "Compagno di Congratulazioni",
"congratsCardAchievementText": "È bello festeggiare i successi dei tuoi amici! Mandato o ricevuto <%= count %> cartoline di Congratulazioni.",
"getwellCard": "Cartolina di Pronta Guarigione",
- "getwellCardExplanation": "You both receive the Caring Confidant achievement!",
+ "getwellCardExplanation": "Entrambi riceve la medaglia ‘Confidente Premuroso’!",
"getwellCardNotes": "Manda una cartolina di Pronta Guarigione ad un membro della squadra.",
"getwell0": "Spero che presto tu ti senta meglio!",
"getwell1": "Abbi cura di te! <3",
@@ -266,12 +266,12 @@
"health_wellness": "Salute e benessere",
"self_care": "Cura di sè",
"habitica_official": "Ufficiale Habitica",
- "academics": "Academics",
- "advocacy_causes": "Advocacy + Causes",
+ "academics": "Accademico",
+ "advocacy_causes": "Patrocinio + Cause",
"entertainment": "Intrattenimento",
- "finance": "Finance",
+ "finance": "Finanza",
"health_fitness": "Salute + Fitness",
- "hobbies_occupations": "Hobbies + Occupations",
+ "hobbies_occupations": "Abitudini + Occupazioni",
"location_based": "Basate su luoghi",
"mental_health": "Salute mentale + Cura di sè",
"getting_organized": "Organizzarsi",
diff --git a/website/common/locales/it/groups.json b/website/common/locales/it/groups.json
index 3fb6394bc6..be55a7a7cf 100644
--- a/website/common/locales/it/groups.json
+++ b/website/common/locales/it/groups.json
@@ -5,8 +5,9 @@
"innCheckIn": "Riposa nella Locanda",
"innText": "Stai riposando nella Locanda! Mentre sei qui, le tue Daily non ti danneggeranno alla fine della giornata, ma si resetteranno comunque ogni giorno. Fai attenzione: se stai partecipando ad una missione Boss, il Boss ti danneggerà comunque per le Daily incomplete dei tuoi compagni di squadra, a meno che non stiano riposando anche loro nella Locanda! Inoltre, il tuo danno al Boss (o la raccolta di oggetti) non avrà effetto finché non lasci la Locanda.",
"innTextBroken": "Stai riposando nella Locanda, credo... Mentre sei qui, le tue Daily non ti danneggeranno alla fine della giornata, ma si resetteranno comunque ogni giorno... Se stai partecipando ad una missione Boss, il Boss ti danneggerà comunque per le Daily incomplete dei tuoi compagni di squadra... a meno che non stiano riposando anche loro nella Locanda... Inoltre, il tuo danno al Boss (o la raccolta di oggetti) non avrà effetto finché non lasci la Locanda... che stanchezza...",
- "innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
- "resumeDamage": "Resume Damage",
+ "innCheckOutBanner": "Attualmente sei fermo nella locanda. Le tue Daily non ti danneggieranno e non progredirai nelle missioni.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
+ "resumeDamage": "Riattiva Danni",
"helpfulLinks": "Link utili",
"communityGuidelinesLink": "Linee guida della community",
"lookingForGroup": "Sei in cerca di una squadra? Guarda qui! (in inglese)",
@@ -34,15 +35,15 @@
"communityGuidelines": "Linee guida della community",
"communityGuidelinesRead1": "Per favore leggi le",
"communityGuidelinesRead2": "prima di scrivere.",
- "bannedWordUsed": "Oops! Looks like this post contains a swearword, religious oath, or reference to an addictive substance or adult topic (<%= swearWordsUsed %>). Habitica has users from all backgrounds, so we keep our chat very clean. Feel free to edit your message so you can post it!",
+ "bannedWordUsed": "Ops! Sembra che questo messaggio contenga una parolaccia, una bestemmia, o un riferimento ad una sostanza che crea dipendenza o ad un argomento per adulti (<%= swearWordsUsed %>). Habitica ha utenti di età, provenienza e sensibilità molto diverse, quindi ci teniamo a tenere le nostre chat molto pulite. Sentiti libero/a di modificare il tuo messaggio in modo che tu lo possa pubblicare!",
"bannedSlurUsed": "Il tuo messaggio conteneva un linguaggio inappropriato e i tuoi privilegi legati alle chat sono stati revocati.",
"party": "Squadra",
"createAParty": "Crea una Squadra",
"updatedParty": "Impostazioni squadra aggiornate.",
"errorNotInParty": "Non sei in una Squadra",
"noPartyText": "You are either not in a Party or your Party is taking a while to load. You can either create one and invite friends, or if you want to join an existing Party, have them enter your Unique User ID below and then come back here to look for the invitation:",
- "LFG": "To advertise your new Party or find one to join, go to the <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %> Guild.",
- "wantExistingParty": "Want to join an existing Party? Go to the <%= linkStart %>Party Wanted Guild<%= linkEnd %> and post this User ID:",
+ "LFG": "Per pubblicizzare la tua nuova Squadra o trovarne una a cui unirti, vai alla Gilda <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %>(in Inglese).",
+ "wantExistingParty": "Vuoi unirti ad una squadra? vai nella gilda <%= linkStart %>Party Wanted Guild<%= linkEnd %> e posta il tuo ID Utente:",
"joinExistingParty": "Unisciti a una squadra",
"needPartyToStartQuest": "Ops! Hai bisogno di unirti ad una Squadra o crearne una prima di poter cominciare una missione!",
"createGroupPlan": "Crea",
@@ -106,39 +107,39 @@
"optionalMessage": "Messaggio opzionale",
"yesRemove": "Sì, rimuovili",
"foreverAlone": "Non puoi mettere 'mi piace' ai tuoi stessi messaggi. Non essere quel tipo di persona.",
- "sortBackground": "Sort by Background",
- "sortClass": "Sort by Class",
- "sortDateJoined": "Sort by Join Date",
- "sortLogin": "Sort by Login Date",
- "sortLevel": "Sort by Level",
- "sortName": "Sort by Name",
- "sortTier": "Sort by Tier",
- "ascendingAbbrev": "Asc",
- "descendingAbbrev": "Desc",
+ "sortBackground": "Ordina per Sfondo",
+ "sortClass": "Ordina per Classe",
+ "sortDateJoined": "Ordina per data di iscrizione",
+ "sortLogin": "Ordina per data di accesso",
+ "sortLevel": "Ordina per Livello",
+ "sortName": "Ordina per Nome",
+ "sortTier": "Ordina per Grado",
+ "ascendingAbbrev": "Cres",
+ "descendingAbbrev": "Decr",
"applySortToHeader": "Apply Sort Options to Party Header",
"confirmGuild": "Creare una Gilda per 4 Gemme?",
"leaveGroupCha": "Abbandona la sfida e...",
"confirm": "Conferma",
"leaveGroup": "Abbandona Gilda",
- "leavePartyCha": "Leave Party challenges and...",
+ "leavePartyCha": "Abbandona la Sfida di squadra e ...",
"leaveParty": "Abbandona squadra",
"sendPM": "Invia messaggio privato",
"send": "Invia",
"messageSentAlert": "Messaggio inviato!",
"pmHeading": "Messaggio privato a <%= name %>",
- "pmsMarkedRead": "Your Private Messages have been marked as read",
+ "pmsMarkedRead": "I tuoi Messaggi Privati sono stati segnati come letti",
"possessiveParty": "Squadra di <%= name %>",
"clearAll": "Cancella tutti i messaggi",
"confirmDeleteAllMessages": "Vuoi davvero cancellare tutti i messaggi ricevuti? Gli altri utenti potranno ancora vedere i messaggi che gli hai inviato.",
"PMPlaceholderTitle": "Nothing Here Yet",
- "PMPlaceholderDescription": "Select a conversation on the left",
- "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked",
+ "PMPlaceholderDescription": "Seleziona una conversazione sulla sinistra",
+ "PMPlaceholderTitleRevoked": "I tuoi privilegi legati alle chat sono stati revocati",
"PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.",
"PMReceive": "Receive Private Messages",
"PMEnabledOptPopoverText": "Private Messages are enabled. Users can contact you via your profile.",
"PMDisabledOptPopoverText": "Private Messages are disabled. Enable this option to allow users to contact you via your profile.",
- "PMDisabledCaptionTitle": "Private Messages are disabled",
- "PMDisabledCaptionText": "You can still send messages, but no one can send them to you.",
+ "PMDisabledCaptionTitle": "I Messaggi Privati sono disabilitati",
+ "PMDisabledCaptionText": "Puoi comunque inviare messaggi ma nessuno può inviarli a te",
"block": "Blocca",
"unblock": "Sblocca",
"blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
diff --git a/website/common/locales/it/limited.json b/website/common/locales/it/limited.json
index e107da5bb3..49c3e7a63b 100644
--- a/website/common/locales/it/limited.json
+++ b/website/common/locales/it/limited.json
@@ -36,9 +36,9 @@
"seasonalShopFallTextBroken": "Oh... Benvenuto nel Negozio Stagionale... Abbiamo in vendita oggetti dell'Edizione Stagionale autunnale, o qualcosa del genere... Tutto quello che vedi qui sarà disponibile per l'acquisto durante l'evento \"Fall Festival\" di ogni anno, ma siamo aperti sono fino al 31 ottobre... Penso che dovresti rifornirti ora altrimenti dovrai aspettare... e aspettare... e aspettare... *sigh*",
"seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!",
"seasonalShopRebirth": "Se hai comprato questo equipaggiamento in passato ma attualmente non lo possiedi, potrai riacquistarlo dalla colonna delle Ricompense. All'inizio potrai comprare solo gli oggetti per la tua classe attuale (Guerriero, se non l'hai ancora scelta/cambiata), ma niente paura, gli altri oggetti specifici per le varie classi diventeranno disponibili se ti converti a quella classe.",
- "candycaneSet": "Candy Cane (Mage)",
+ "candycaneSet": "Bastoncino di Zucchero (Mago)",
"skiSet": "Ski-sassin (Rogue)",
- "snowflakeSet": "Snowflake (Healer)",
+ "snowflakeSet": "Fioccodineve (Guaritore)",
"yetiSet": "Addestra-Yeti (Guerriero)",
"northMageSet": "Mago del Nord (Mago)",
"icicleDrakeSet": "Drago Fatato dei Ghiacci (Assassino)",
@@ -111,20 +111,24 @@
"summer2017SeaDragonSet": "Drago Marino (Assassino)",
"fall2017HabitoweenSet": "Guerriero Habitoween (Guerriero)",
"fall2017MasqueradeSet": "Mago Mascherato (Mago)",
- "fall2017HauntedHouseSet": "Haunted House Healer (Healer)",
+ "fall2017HauntedHouseSet": "Guaritore della Casa Infestata (Guaritore)",
"fall2017TrickOrTreatSet": "Dolcetto o scasseggio (Assassino)",
- "winter2018ConfettiSet": "Confetti Mage (Mage)",
- "winter2018GiftWrappedSet": "Gift-Wrapped Warrior (Warrior)",
- "winter2018MistletoeSet": "Mistletoe Healer (Healer)",
- "winter2018ReindeerSet": "Reindeer Rogue (Rogue)",
- "spring2018SunriseWarriorSet": "Sunrise Warrior (Warrior)",
- "spring2018TulipMageSet": "Tulip Mage (Mage)",
+ "winter2018ConfettiSet": "Mago di Coriandoli (Mago)",
+ "winter2018GiftWrappedSet": "Guerriero dei Regali Incartati (Guerriero)",
+ "winter2018MistletoeSet": "Guaritore del Vischio (Guaritore)",
+ "winter2018ReindeerSet": "Cervo Assassino (Assassino)",
+ "spring2018SunriseWarriorSet": "Guerriero dell'Alba (Guerriero)",
+ "spring2018TulipMageSet": "Mago Tulipano (Mago)",
"spring2018GarnetHealerSet": "Garnet Healer (Healer)",
"spring2018DucklingRogueSet": "Duckling Rogue (Rogue)",
"summer2018BettaFishWarriorSet": "Betta Fish Warrior (Warrior)",
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponibile fino al <%= date(locale) %>.",
"dateEndMarch": "30 aprile",
"dateEndApril": "19 aprile",
diff --git a/website/common/locales/it/loadingscreentips.json b/website/common/locales/it/loadingscreentips.json
index 66ed82e4ce..4ad74acc66 100644
--- a/website/common/locales/it/loadingscreentips.json
+++ b/website/common/locales/it/loadingscreentips.json
@@ -14,7 +14,7 @@
"tip12": "Aggiungi una checklist alle tue To-Do per moltiplicare la ricompensa!",
"tip13": "Clicca su \"Etichette\" nella tua pagina principale per rendere un'intricata lista di attività molto più gestibile!",
"tip14": "Puoi aggiungere delle intestazioni (o delle citazioni per ispirarti) alla tua lista come delle Abitudini senza (+/-).",
- "tip15": "Complete all the Masterclasser Quest-lines to learn about Habitica’s secret lore.",
+ "tip15": "Completa tutte le ‘Masterclasser Quest-lines’ per sapere sulla storia segreta di Habitica",
"tip16": "Click the link to the Data Display Tool in the footer for valuable insights on your progress.",
"tip17": "Usa le app per impostare dei promemoria per le tue attività.",
"tip18": "Le abitudini solo positive o solo negative \"sbiadiscono\" gradualmente e tornano gialle.",
@@ -25,7 +25,7 @@
"tip23": "Raggiungi il livello 100 per sbloccare la Sfera della Rinascita gratuitamente e cominciare una nuova avventura!",
"tip24": "Hai una domanda? Vieni a chiedere nella gilda Habitica Help!",
"tip25": "I quattro Gran Galà stagionali iniziano nei pressi dei solstizi e degli equinozi.",
- "tip26": "You can look for a Party or find Party members in the Party Wanted Guild!",
+ "tip26": "Puoi cercare una squadra o trovare nuovi membri nella gilda \"Party Wanted\"!",
"tip27": "Hai fatto una Daily ieri ma hai dimenticato di metterci la spunta? Non preoccuparti! Grazie a una nuova funzione potrai segnare cosa hai fatto ieri prima di cominciare la tua nuova giornata.",
"tip28": "Set a Custom Day Start under User Icon > Settings to control when your day restarts.",
"tip29": "Completa tutte le tue Daily per ottenere un bonus Giorno Perfetto che aumenta le tue statistiche!",
diff --git a/website/common/locales/it/messages.json b/website/common/locales/it/messages.json
index f96a6f82ea..ff0adfa5aa 100644
--- a/website/common/locales/it/messages.json
+++ b/website/common/locales/it/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Sono necessari gli id delle notifiche.",
"unallocatedStatsPoints": "Hai <%= points %> Punti Statistica non allocati",
"beginningOfConversation": "Stai iniziando una conversazione con <%= userName %>. Ricorda di scrivere con gentilezza e rispetto, seguendo le Linee guida della community!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Siamo spiacenti, questo utente ha eliminato il suo account."
}
\ No newline at end of file
diff --git a/website/common/locales/it/npc.json b/website/common/locales/it/npc.json
index e0b18fd503..7dc80ccaba 100644
--- a/website/common/locales/it/npc.json
+++ b/website/common/locales/it/npc.json
@@ -9,8 +9,8 @@
"justinIntroMessage2": "Per cominciare, hai bisogno di un avatar.",
"justinIntroMessage3": "Bene! Ora, su cosa vorresti lavorare durante questo viaggio?",
"introTour": "Eccoci qua! Ho creato alcune Attività basate sui tuoi interessi, così hai già qualcosa con cui partire. Clicca su un'Attività per modificarla oppure aggiungine di nuove!",
- "prev": "Prev",
- "next": "Next",
+ "prev": "Prec",
+ "next": "Succ",
"randomize": "Casuale",
"mattBoch": "Matt Boch",
"mattShall": "Devo portarti il tuo destriero, <%= name %>? Una volta che avrai dato abbastanza cibo al tuo animale da trasformarlo in una cavalcatura, apparirà qui. Fai click su una cavalcatura per montare in sella!",
@@ -48,7 +48,7 @@
"featuredItems": "Oggetti in vetrina!",
"hideLocked": "Nascondi bloccati",
"hidePinned": "Nascondi Preferiti",
- "hideMissing": "Hide Missing",
+ "hideMissing": "Nascondi Mancanti",
"amountExperience": "<%= amount %> Esperienza",
"amountGold": "<%= amount %> Oro",
"namedHatchingPotion": "Pozione di schiusura <%= type %>",
diff --git a/website/common/locales/it/pets.json b/website/common/locales/it/pets.json
index 46f50bbb61..8228efa7f6 100644
--- a/website/common/locales/it/pets.json
+++ b/website/common/locales/it/pets.json
@@ -139,7 +139,7 @@
"clickOnEggToHatch": "Clicca su un Uovo per usare la tua Pozione <%= potionName %> e far nascere un nuovo animale!",
"hatchDialogText": "Versa la tua Pozione <%= potionName %> sul tuo uovo di <%= eggName %>, e nascerà <%= petName %>.",
"clickOnPotionToHatch": "Clicca su una pozione per usarla sul tuo <%= eggName %> e far nascere un nuovo animale!",
- "notEnoughPets": "You have not collected enough pets",
- "notEnoughMounts": "You have not collected enough mounts",
- "notEnoughPetsMounts": "You have not collected enough pets and mounts"
+ "notEnoughPets": "Non hai collezionato abbastanza animali",
+ "notEnoughMounts": "Non hai collezionato abbastanza cavalcature",
+ "notEnoughPetsMounts": "Non hai collezionato abbastanza animali e cavalcature"
}
\ No newline at end of file
diff --git a/website/common/locales/it/questscontent.json b/website/common/locales/it/questscontent.json
index 19dd760f30..9064c0eac8 100644
--- a/website/common/locales/it/questscontent.json
+++ b/website/common/locales/it/questscontent.json
@@ -17,13 +17,13 @@
"questGryphonDropGryphonEgg": "Grifone (uovo)",
"questGryphonUnlockText": "Sblocca l'acquisto delle uova di Grifone nel Mercato",
"questHedgehogText": "La Bestia Spinosa",
- "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 InspectorCaracal did just that. Oops.",
+ "questHedgehogNotes": "I ricci sono delle creature davvero simpatiche, oltre ad essere alcuni degli animali più affettuosi che un Habiticante possa avere al proprio fianco. Ma corre voce che, se gli viene dato del latte dopo la mezzanotte, crescono diventando molto irritabili. E cinquanta volte più grandi del normale. E InspectorCaracal ha fatto proprio questo. Oops.",
"questHedgehogCompletion": "Il tuo gruppo ha calmato con successo il riccio! Dopo essere tornato alle proprie dimensioni normali, zoppica verso le sue uova. Ritorna spingendo alcune di esse verso il tuo gruppo. Speriamo che questi ricci ora apprezzino di più il latte!",
"questHedgehogBoss": "Bestia Spinosa",
"questHedgehogDropHedgehogEgg": "Riccio (uovo)",
"questHedgehogUnlockText": "Sblocca l'acquisto delle uova di Riccio nel Mercato",
"questGhostStagText": "Lo Spirito della Primavera",
- "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,\" InspectorCaracal 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, la primavera. Quel periodo dell'anno in cui il panorama ricomincia a riempirsi di colori. Il freddo e le cime innevate sono andate, come l'inverno. Dove prima regnava il gelo, ora torna a prevalere la briosa vita delle piante. Verdi foglie riempiono le chiome gli alberi, l'erba si tinge del suo colore migliore, un arcobaleno di fiori spunta in ogni luogo, e una bianca e mistica nebbia ricopre le pianure! ... Un momento. Nebbia mistica? \"Oh no\", esclama InspectorCaracal con apprensione, \"Pare che un qualche spirito sia la causa di questa nebbia. Oh, e sta correndo con rabbia verso di te.\"",
"questGhostStagCompletion": "Lo spirito, apparentemente illeso, avvicina il proprio muso al terreno. Una voce pacifica avvolge la tua squadra. \"Chiedo perdono per il mio comportamento. Mi sono appena svegliato dal mio lungo sonno e pare che il mio buon senso non si sia completamente ripreso. Prendete queste come segno di scusa\". Delle uova si materializzano sull'erba accanto allo spirito. Senza dire una parola, lo spirito scappa nella foresta, risvegliando tutti i fiori al suo passaggio.",
"questGhostStagBoss": "Cervo Fantasma",
"questGhostStagDropDeerEgg": "Cervo (uovo)",
@@ -65,9 +65,9 @@
"questVice1Completion": "L'influenza di Vice su di te è dissipata, e senti il sorgere di una forza che non sapevi d'avere ritornare a te. Congratulazioni! Ma un nemico più spaventoso ti attende...",
"questVice1DropVice2Quest": "Vyce, Parte 2 (Pergamena)",
"questVice2Text": "Vyce, Parte 2: Trova la Tana della Viverna",
- "questVice2Notes": "Confident in yourselves and your ability to withstand the influence of Vice the Shadow Wyrm, your Party makes its way to Mt. Habitica. You approach the entrance to the mountain's caverns and pause. Swells of shadows, almost like fog, wisp out from the opening. It is near impossible to see anything in front of you. The light from your lanterns seem to end abruptly where the shadows begin. It is said that only magical light can pierce the dragon's infernal haze. If you can find enough light crystals, you could make your way to the dragon.",
+ "questVice2Notes": "Fiduciosa in se stessa e nella sua abilità di resistere all'influenza di Vyce l'ombra della Viverna, la tua squadra si fa strada sul Monte Habitica. Vi avvicinate all'entrata della caverna del Monte e fate una pausa. Onde d'ombra, quasi come nebbia, fuoriescono dall'entrata. È quasi impossibile vedere qualcosa davanti a voi. La luce delle vostre lanterne terminano improvvisamente dove inizia l'oscurità. Si dice che solo la luce magica può penetrare la nebbia infernale del drago. Se riuscirete a trovare abbastanza cristalli di luce, potrete farvi strada verso il drago.",
"questVice2CollectLightCrystal": "Cristalli di Luce",
- "questVice2Completion": "As you lift the final crystal aloft, the shadows are dispelled, and your path forward is clear. With a quickening heart, you step forward into the cavern.",
+ "questVice2Completion": "Non appena sollevi il cristallo finale in alto, l'ombra si disperde, e la strada davanti a voi è libera. Con il cuore a mille, fai un passo avanti nella caverna.",
"questVice2DropVice3Quest": "Vyce, Parte 3 (Pergamena)",
"questVice3Text": "Vyce, Parte 3: Il Risveglio di Vyce",
"questVice3Notes": "Dopo innumerevoli sforzi, il tuo gruppo ha scoperto la tana di Vyce. Il gigantesco mostro guarda la tua squadra con disgusto. Mentre un'ombra turbina intorno a te, una voce sussurra nella tua testa: \"Altri sciocchi cittadini di Habitica venuti a fermarmi? Che carini. Sarebbe stato più saggio non venire.\" Lo squamoso titano alza di nuovo la testa e si prepara ad attaccare. Questa è la tua occasione! Dai il meglio di te e sconfiggi Vyce volta per tutte!",
@@ -80,15 +80,15 @@
"questMoonstone1Text": "Recidiva, parte 1: La Catena delle Pietre Lunari",
"questMoonstone1Notes": "Una terribile calamità ha colpito gli abitanti di Habitica. Le Cattive Abitudini, ritenute morte da molto tempo, stanno ritornando e meditano vendetta. I piatti restano sporchi, i libri di testo rimangono non letti e la procrastinazione dilaga!
Seguendo le tracce di alcune tue Cattive Abitudini riapparse, scopri il colpevole nelle Paludi del Ristagno: il Negromante Spettrale, Recidivante. Corri verso di lui brandendo le tue armi, che però passano inutilmente attraverso il suo corpo spettrale.
\"Non affannarti\", sibila seccamente con voce rauca. \"Senza una catena di Pietre Lunari, niente può farmi del male - e il maestro gioielliere @aurakami ha disperso ogni Pietra Lunare in tutta Habitica molto tempo fa!\" Ansimando, ti ritiri... ma sai che cosa devi fare.",
"questMoonstone1CollectMoonstone": "Pietre Lunari",
- "questMoonstone1Completion": "At last, you manage to pull the final moonstone from the swampy sludge. It’s time to go fashion your collection into a weapon that can finally defeat Recidivate!",
+ "questMoonstone1Completion": "Alla fine, riesci a togliere l'ultima Pietra lunare dal fango paludoso. È ora di fabbricare con la tua raccolta un'arma che potrà finalmente sconfiggere Recidivante!",
"questMoonstone1DropMoonstone2Quest": "Recidivante, parte 2: Recidivante, il Negromante (Pergamena)",
"questMoonstone2Text": "Recidivante, parte 2: Recidivante, il Negromante",
- "questMoonstone2Notes": "The brave weaponsmith @InspectorCaracal helps you fashion the enchanted moonstones into a chain. You’re ready to confront Recidivate at last, but as you enter the Swamps of Stagnation, a terrible chill sweeps over you.
Rotting breath whispers in your ear. \"Back again? How delightful...\" You spin and lunge, and under the light of the moonstone chain, your weapon strikes solid flesh. \"You may have bound me to the world once more,\" Recidivate snarls, \"but now it is time for you to leave it!\"",
+ "questMoonstone2Notes": "Il coraggioso armaiolo @InspectorCaracal ti aiuta a unire le Pietre Lunari incantate in una catena. Sei finalmente pronto ad affrontare Recidivante, ma non appena entri nelle Paludi del Ristagno, vieni avvolto da un terribile gelo.
Un soffio marcio ti sussurra all'orecchio. \"Di nuovo qui? Che piacere...\". Ti giri, affondi un colpo e, sotto la luce della catena di Pietre Lunari, la tua arma colpisce carne solida. \"Puoi avermi confinato nel mondo ancora una volta\", ringhia Recidivante, \"ma per te ora è il momento di lasciarlo!\"",
"questMoonstone2Boss": "La Negromante",
- "questMoonstone2Completion": "Recidivate staggers backwards under your final blow, and for a moment, your heart brightens – but then she throws back her head and lets out a horrible laugh. What’s happening?",
+ "questMoonstone2Completion": "Recidivante barcolla all'indietro al tuo ultimo colpo e per un momento, il tuo cuore si illumina – ma poi lei butta indietro la testa e lascia uscire un'orribile risata. Cosa sta succedendo?",
"questMoonstone2DropMoonstone3Quest": "Recidivante, parte 3: Recidivante Trasformato (Pergamena)",
"questMoonstone3Text": "Recidivante, parte 3: Recidivante Trasformato",
- "questMoonstone3Notes": "Laughing wickedly, Recidivate crumples to the ground, and you strike at her again with the moonstone chain. To your horror, Recidivate seizes the gems, eyes burning with triumph.
\"Foolish creature of flesh!\" she shouts. \"These moonstones will restore me to a physical form, true, but not as you imagined. As the full moon waxes from the dark, so too does my power flourish, and from the shadows I summon the specter of your most feared foe!\"
A sickly green fog rises from the swamp, and Recidivate’s body writhes and contorts into a shape that fills you with dread – the undead body of Vice, horribly reborn.",
+ "questMoonstone3Notes": "Ridendo perfidamente, Recidivante si accascia a terra, e tu la colpisci con la catena di Pietre Lunari. Con tuo orrore, Recidivante afferra le gemme, i suoi occhi fiammeggianti per il trionfo.
\"Sciocca creatura di carne!\" urla. \"Queste Pietre Lunari mi riportano ad una forma fisica, è vero, ma non nel modo in cui immagini. Come la luna piena cresce dalle tenebre, così anche il mio potere rifiorisce, e dalle ombre io evoco lo spettro del tuo nemico più temuto!\"
Una nebbia verde nauseabonda si alza dalla palude, e il corpo di Recidivante si dibatte e si contorce fino ad assumere una forma che vi riempie di terrore - il corpo non morto di Vyce, orribilmente rinato.",
"questMoonstone3Completion": "Il tuo respiro diventa pesante e il sudore ti punge gli occhi mentre la Viverna non-morta cade. I resti di Recidivante si dissolvono in una sottile nebbia grigia che svanisce rapidamente sotto l'assalto di una brezza rinfrescante. A questa scena fanno da sottofondo le lontane, esultanti grida degli abitanti di Habitica che sconfiggono le loro cattive Abitudini una volta per tutte.
@Baconsaur, il Re delle Bestie, arriva cavalcando un grifone. \"Ho visto la fine della tua battaglia dal cielo, e mi ha molto commosso. Per favore, prendi questa tunica incantata - il tuo coraggio parla di un cuore nobile, e credo che tu debba averla.\"",
"questMoonstone3Boss": "Necro-Vyce",
"questMoonstone3DropRottenMeat": "Carne ammuffita (cibo)",
@@ -97,12 +97,12 @@
"questGoldenknight1Text": "La Cavaliera Dorata, Parte 1: Una Severa Ramanzina",
"questGoldenknight1Notes": "La Cavaliera Dorata si sta intromettendo nelle questioni dei poveri abitanti di Habitica. Non avete terminato tutte le vostre Daily? Registrato un'abitudine negativa? Lei userà questo come motivazione per redarguirvi su come dovreste seguire il suo esempio. Lei è il fulgido esempio di una perfetta cittadina di Habitica, mentre voi non siete altro che un fallimento. Beh, questo non è affatto carino! A tutti capita di sbagliare, nessuno dovrebbe andare incontro a tanta negatività per questo. Forse è giunto il momento di raccogliere alcune testimonianze dagli abitanti e dare alla Cavaliera Dorata una risposta a tono!",
"questGoldenknight1CollectTestimony": "Testimonianze",
- "questGoldenknight1Completion": "Look at all these testimonies! Surely this will be enough to convince the Golden Knight. Now all you need to do is find her.",
+ "questGoldenknight1Completion": "Guarda tutte queste testimonianze! Sicuramente saranno abbastanza per persuadere la Cavaliera Dorata. Ora tutto ciò che serve è trovarla.",
"questGoldenknight1DropGoldenknight2Quest": "La Cavaliera Dorata, Parte 2: Cavaliera d'Oro (Pergamena)",
"questGoldenknight2Text": "La Cavaliera Dorata, Parte 2: Cavaliera d'Oro",
"questGoldenknight2Notes": "Armato di dozzine di testimonianze degli abitanti di Habitica, finalmente affronti la Cavaliera Dorata. Inizi a recitarle le lamentele dei cittadini, una per una. \"E @Pfeffernusse dice che le vostre costanti vanterie...\". La Cavaliera alza la mano per metterti a tacere e ti sbeffeggia, \"Ma per favore, questa gente è solo gelosa del mio successo. Invece di lamentarsi, dovrebbero semplicemente lavorare sodo come me! Forse dovrei mostrarti la forza che si può ottenere grazie ad una diligenza come la mia!\". La Cavaliera impugna la sua mazza chiodata e si prepara ad attaccarti!",
"questGoldenknight2Boss": "Cavaliera d'Oro",
- "questGoldenknight2Completion": "The Golden Knight lowers her Morningstar in consternation. “I apologize for my rash outburst,” she says. “The truth is, it’s painful to think that I’ve been inadvertently hurting others, and it made me lash out in defense… but perhaps I can still apologize?”",
+ "questGoldenknight2Completion": "La Cavaliera Dorata, costernata, abbassa la sua Stella del Mattino. \"Mi scuso per il mio sfogo impulsivo,\" dice \" La verità è che è doloroso pensare che ho inavvertitamente ferito gli altri e questo mi ha fatto mettere sulla difensiva... ma forse posso ancora scusarmi?\"",
"questGoldenknight2DropGoldenknight3Quest": "La Cavaliera Dorata, Parte 3: Il Cavaliere di Ferro (Pergamena)",
"questGoldenknight3Text": "La Cavaliera Dorata, Parte 3: Il Cavaliere di Ferro",
"questGoldenknight3Notes": "@Jon Arinbjorn grida disperatamente per ottenere la tua attenzione. Subito dopo la battaglia, è apparsa una nuova figura. Un cavaliere rivestito di ferro nero come la pece si avvicina lentamente a te, con la spada in mano. La Cavaliera Dorata grida alla figura, \"Padre, no!\" ma il cavaliere non mostra segni di arresto. Si gira verso di te e dice: \"Mi dispiace. Sono stata una sciocca, mi sono montata la testa e non mi sono resa conto di quanto sia stata crudele. Ma mio padre è più spietato di quanto io sia mai stata. Se non verrà fermato ci distruggerà tutti! Tieni, usa la mia mazza chiodata e ferma il Cavaliere di Ferro!\"",
@@ -143,14 +143,14 @@
"questAtom1Notes": "Hai raggiunto le rive del Lago Lavapiatti per un po' di relax... Ma il lago è infestato da piatti da lavare! Come sarà successo? Beh, non puoi permettere che il lago rimanga in questo stato. C'è soltanto una cosa da fare: lavare i piatti e salvare il vostro luogo di villeggiatura! Sarà meglio trovare un po' di sapone per pulire questa porcheria. Molto sapone...",
"questAtom1CollectSoapBars": "Barrette di Sapone",
"questAtom1Drop": "Il Mostro di SnackLess (Pergamena)",
- "questAtom1Completion": "After some thorough scrubbing, all the dishes are stacked safely on the shore! You stand back and proudly survey your hard work.",
+ "questAtom1Completion": "Dopo alcuni lavaggi completi, tutti i piatti sono al sicuro impilati sulla riva! Ti tiri all'indietro mentre osservi il tuo duro lavoro.",
"questAtom2Text": "Attacco del Mondano, Parte 2: Il Mostro Senza-Snack",
"questAtom2Notes": "Phew, questo posto sembra molto più bello con tutti questi piatti puliti. Forse, adesso potrai finalmente rilassarti un po'. Oh - sembrerebbe un cartone della pizza quello che sta galleggiando nel lago. Beh, cosa sarà mai un'altra cosa da pulire in fondo? Ma, dannazione, non è un semplice cartone di pizza! Con uno scatto improvviso la scatola si solleva dall'acqua per rivelare la sua vera natura: è la testa di un mostro. Non può essere! Il leggendario Mostro Senza-Snack? Si dice che abbia vissuto nascosto sin dalla preistoria: una creatura generata dagli avanzi di cibo e dall'immondizia degli antichi abitanti di Habitica. Bleah!",
"questAtom2Boss": "Il Mostro di SnackLess",
"questAtom2Drop": "Il Bucatomante (Pergamena)",
- "questAtom2Completion": "With a deafening cry, and five delicious types of cheese bursting from its mouth, the Snackless Monster falls to pieces. Well done, brave adventurer! But wait... is there something else wrong with the lake?",
+ "questAtom2Completion": "Con un urlo assordante e cinque deliziosi tipi di formaggio che sbucano dalla sua bocca, il Mostro di SnackLess cade a pezzi. Ben fatto, avventuriero coraggioso! Ma aspetta... c'è qualcos'altro di strano con il lago?",
"questAtom3Text": "Attacco del Mondano, Parte 3: Il Bucatomante",
- "questAtom3Notes": "Just when you thought that your trials had ended, Washed-Up Lake begins to froth violently. “HOW DARE YOU!” booms a voice from beneath the water's surface. A robed, blue figure emerges from the water, wielding a magic toilet brush. Filthy laundry begins to bubble up to the surface of the lake. \"I am the Laundromancer!\" he angrily announces. \"You have some nerve - washing my delightfully dirty dishes, destroying my pet, and entering my domain with such clean clothes. Prepare to feel the soggy wrath of my anti-laundry magic!\"",
+ "questAtom3Notes": "Proprio quando pensavi che i tuoi problemi fossero finiti, il lago Washed-Up inizia ad agitarsi violentemente. \"COME OSI!\" scoppia una voce sotto la superficie dell'acqua. Una figura vestita di blu emerge dall'acqua, brandendo uno spazzolone. Del bucato sporco inizia a galleggiare sulla superficie del lago. \"Io sono il Bucatomante!\" dice arrabbiato. \"Hai un bel coraggio - lavare i miei piatti deliziosamente sporchi, distruggere il mio animale domestico ed entrare nella mia proprietà con dei vestiti così puliti. Preparati a sentire la fradicia furia della mia magia anti-bucato!\"",
"questAtom3Completion": "Il pazzo Bucatomante è stato sconfitto! Bucato pulito si deposita a pile intorno a te. Le cose sembrano andare molto bene da queste parti. Mentre inizi a farti strada tra le armature stirate da poco, un bagliore di metallo attrae la tua attenzione, ed il tuo sguardo si posa su un elmo luccicante. Non sai chi possa aver indossato prima questo oggetto luminoso, ma mentre lo indossi, senti la calda presenza di uno spirito generoso. Un peccato che non ci abbiano cucito sopra un'etichetta col nome.",
"questAtom3Boss": "Il Bucatomante",
"questAtom3DropPotion": "Pozione Base",
@@ -295,7 +295,7 @@
"questUnicornDropUnicornEgg": "Unicorno (uovo)",
"questUnicornUnlockText": "Sblocca l'acquisto delle uova di Unicorno nel Mercato",
"questSabretoothText": "Il Gatto Sciabola",
- "questSabretoothNotes": "A roaring monster is terrorizing Habitica! The creature stalks through the wilds and woods, then bursts forth to attack before vanishing again. It's been hunting innocent pandas and frightening the flying pigs into fleeing their pens to roost in the trees. @InspectorCaracal and @icefelis explain that the Zombie Sabre Cat was set free while they were excavating in the ancient, untouched ice-fields of the Stoïkalm Steppes. \"It was perfectly friendly at first – I don't know what happened. Please, you have to help us recapture it! Only a champion of Habitica can subdue this prehistoric beast!\"",
+ "questSabretoothNotes": "Un ruggente mostro sta terrorizzando Habitica! La creatura vaga per i boschi, quindi compare all'improvviso per attaccare prima di scomparire ancora. Sta cacciando innocenti panda e spaventando maiali volanti a tal punto da farli scappare dai loro recinti per posarsi sugli alberi. @InspectorCaracal e @icefelis spiegano che il Gatto sciabola Zombi fu messo in libertà mentre stavano scavando negli antichi e inviolati campi di ghiaccio delle Steppe di Stoïkalm. \"All'inizio era perfettamente amichevole - Non so cosa sia successo. Per favore, devi aiutarci a catturarlo nuovamente! Solo un campione di Habitica può domare questa bestia preistorica!\"",
"questSabretoothCompletion": "Dopo una battaglia lunga e faticosa, bloccate il Gatto Sciabola Zombie a terra. Appena riuscite finalmente ad avvicinarvi, notate una brutta cavità in uno dei suoi denti a sciabola. Comprendendo la vera causa del furore del gatto, riuscite a far otturare la cavità da @Fandekasp, e consigliate a tutti di evitare di alimentare il loro amico con dolci in futuro. Il Gatto Sciabola rifiorisce, e in segno di gratitudine, i suoi domatori ti inviano una generosa ricompensa - una manciata di uova di Dente a Sciabola",
"questSabretoothBoss": "Gatto Sciabola Zombie",
"questSabretoothDropSabretoothEgg": "Dente a sciabola (Uovo)",
@@ -399,7 +399,7 @@
"questFerretDropFerretEgg": "Furetto (uovo)",
"questFerretUnlockText": "Sblocca l'acquisto delle uova di Furetto nel Mercato",
"questDustBunniesText": "I Ferali Conigli della Polvere",
- "questDustBunniesNotes": "It's been a while since you've done any dusting in here, but you're not too worried—a little dust never hurt anyone, right? It's not until you stick your hand into one of the dustiest corners and feel something bite that you remember @InspectorCaracal's warning: leaving harmless dust sit too long causes it to turn into vicious dust bunnies! You'd better defeat them before they cover all of Habitica in fine particles of dirt!",
+ "questDustBunniesNotes": "È passato molto tempo dall'ultima volta che hai spolverato qui, ma la cosa non ti preoccupa troppo - un po' di polvere non ha mai fatto male a nessuno, no? Non appena appoggi la tua mano vicino a uno degli angoli più impolverati e senti qualcosa mordere ricordi l'avvertimento di @InspectorCaracal: lasciare in giro cumuli di innocua polvere per troppo tempo li fa trasformare in feroci conigli polverosi! È meglio che tu li sconfigga prima che ricoprano tutta Habitica di piccole sporche particelle!",
"questDustBunniesCompletion": "I conigli della polvere scompaiono in una nuvola di... beh, polvere. Man mano che si dirada, ti guardi intorno. Avevi dimenticato quanto è bello questo posto quando è pulito. Noti un piccolo cumulo d'oro dove prima c'era la polvere. Ti starai chiedendo come è arrivato lì!",
"questDustBunniesBoss": "Ferali Conigli della Polvere",
"questGroupMoon": "Battaglia Lunare",
@@ -473,7 +473,7 @@
"questButterflyUnlockText": "Sblocca l'acquisto delle uova di bruco nel Mercato",
"questGroupMayhemMistiflying": "Caos a Fantalata",
"questMayhemMistiflying1Text": "Caos a Fantalata, Parte 1: Fantalata fa esperienza di un tremendo fastidio",
- "questMayhemMistiflying1Notes": "Sebbene indovini locali abbiano predetto un tempo piacevole, il pomeriggio è estremamente ventilato, e quindi segui con gratitudine il tuo amico @Kiwibot nella sua casa per sfuggire alla giornata burrascosa.
Nessuno di voi due si aspetta di trovare il Giullare di Aprile che poltrisce al tavolo della cucina.
\"Oh, ciao\", dice. \" Bello vedervi qui. Per favore, lasciatemi offrirvi un po' di questo delizioso tè.\"
\"Ma quello...\"@Kiwibot esordisce. \"Quello è il MIO-\"
\"Si, si, certo,\" dice il Giullare di Aprile, prendendosi un po' di biscotti. \"Ho solo pensato di entrare dentro per avere un attimo di tregua da tutti quei teschi che richiamano il tornado.\" dice sorseggiando con tranquillità dalla sua tazza di tè. \"E comunque, la città di Fantalata è sotto attacco.\"
Sconvolti, tu e i tuoi amici correte alle Stalle e sellate le vostre cavalcature alate più veloci. Mentre vi levate in volto verso la città fluttuante, vedete uno storno di cinguettanti e volanti teschi che stanno assediando la città...e numerosi di questi volgono la loro attenzione verso di voi!",
+ "questMayhemMistiflying1Notes": "Sebbene indovini locali abbiano predetto un tempo piacevole, il pomeriggio è estremamente ventilato, e quindi segui con gratitudine il tuo amico @Kiwibot nella sua casa per sfuggire alla giornata burrascosa.
Nessuno di voi due si aspetta di trovare il Giullare di Aprile che poltrisce al tavolo della cucina.
\"Oh, ciao\", dice. \" Bello vedervi qui. Per favore, lasciatemi offrirvi un po' di questo delizioso tè.\"
\"Ma quello...\"@Kiwibot esordisce. \"Quello è il MIO-\"
\"Si, si, certo,\" dice il Giullare di Aprile, prendendosi un po' di biscotti. \"Ho solo pensato di entrare dentro per avere un attimo di tregua da tutti quei teschi che richiamano il tornado.\" dice sorseggiando con tranquillità dalla sua tazza di tè. \"E comunque, la città di Fantalata è sotto attacco.\"
Sconvolti, tu e i tuoi amici correte alle Stalle e sellate le vostre cavalcature alate più veloci. Mentre vi levate in volo verso la città fluttuante, vedete uno storno di cinguettanti e volanti teschi che stanno assediando la città...e numerosi di questi volgono la loro attenzione verso di voi!",
"questMayhemMistiflying1Completion": "L'ultimo teschio cade dal cielo, con un luccicante completo di vesti arcobaleno incastrato tra i suoi denti, ma il forte vento non si è quietato. C'è qualcos'altro che non va. E dove è quel Giullare di Aprile indolente? Tiri su le vesti, e quindi ti dirigi in picchiata dentro la città.",
"questMayhemMistiflying1Boss": "Sciame di Teschi di Aria",
"questMayhemMistiflying1RageTitle": "Rinascita dello Sciame",
@@ -490,9 +490,9 @@
"questMayhemMistiflying2CollectGreenMistiflies": "Mosche Fatate Verdi",
"questMayhemMistiflying2DropHeadgear": "Cappello del Messaggero Malandrino Arcobaleno (Equipaggiamento per la testa)",
"questMayhemMistiflying3Text": "Caos a Fantalata, Parte 3: un postino è estremamente rude",
- "questMayhemMistiflying3Notes": "The Mistiflies are whirling so thickly through the tornado that it’s hard to see. Squinting, you spot a many-winged silhouette floating at the center of the tremendous storm.
“Oh, dear,” the April Fool sighs, nearly drowned out by the howl of the weather. “Looks like Winny went and got himself possessed. Very relatable problem, that. Could happen to anybody.”
“The Wind-Worker!” @Beffymaroo hollers at you. “He’s Mistiflying’s most talented messenger-mage, since he’s so skilled with weather magic. Normally he’s a very polite mailman!”
As if to counteract this statement, the Wind-Worker lets out a scream of fury, and even with your magic robes, the storm nearly rips you from your mount.
“That gaudy mask is new,” the April Fool remarks. “Perhaps you should relieve him of it?”
It’s a good idea… but the enraged mage isn’t going to give it up without a fight.",
- "questMayhemMistiflying3Completion": "Just as you think you can’t withstand the wind any longer, you manage to snatch the mask from the Wind-Worker’s face. Instantly, the tornado is sucked away, leaving only balmy breezes and sunshine. The Wind-Worker looks around in bemusement. “Where did she go?”
“Who?” your friend @khdarkwolf asks.
“That sweet woman who offered to deliver a package for me. Tzina.” As he takes in the wind-swept city below him, his expression darkens. “Then again, maybe she wasn’t so sweet…”
The April Fool pats him on the back, then hands you two shimmering envelopes. “Here. Why don’t you let this distressed fellow rest, and take charge of the mail for a bit? I hear the magic in those envelopes will make them worth your while.”",
- "questMayhemMistiflying3Boss": "The Wind-Worker",
+ "questMayhemMistiflying3Notes": "Le Mosche Fatate girano intensamente attraverso il tornado che quasi non si vedono. Strizzando gli occhi, noti molte sagome alate volare al centro della terribile tempesta.
\"Oh cielo,\" sospira il Giullare di Aprile, quasi soffocato dall'ululato del tempo. \"Sembra che Winny sia andato ed è stato posseduto. Questo è un bel problema. Poteva succedere a chiunque.\"
\"Il Lavoratore del Vento!\" Ti urla @Beffymaroo. \"È il mago-messaggero più talentuoso di Fantalata da quando è così abile con la magia meteo. Normalmente è un postino molto educato!\"
Come se per contrastare questa affermazione, Il Lavoratore del Vento emette un urlo furioso e anche con le tue vesti magiche, la tempesta quasi ti strappa dalla tua cavalcatura.
\"Quella sgargiante maschera è nuova,\" commenta il Giullare di Aprile. \"Forse dovresti togliergliela?\"
È una buona idea... ma il mago inferocito non ha intenzione di arrendersi senza un combattimento.",
+ "questMayhemMistiflying3Completion": "Proprio quando pensavi di non poter più resistere al vento, riesci a strappare la maschera dalla faccia del Lavoratore del Vento. Istantaneamente, il tornado viene risucchiato via lasciando solamente fragranti brezze e la luce del sole. Il Lavoratore del Vento si guarda intorno disorientato. \"Dov'è andata?\"
\"Chi?\" chiede il tuo amico @khdarkwolf.
\"Quella dolce donna che si è offerta di consegnare il pacco per me. Tzina.\" Mentre riconosce la città fluttuante, la sua espressione si inscurisce. \"Poi di nuovo, forse non era così dolce...\"
Lo Sciocco di Aprile gli da delle pacche sulla schiena, poi vi consegna due buste scintillanti. \"Qui. Perchè non lasci questo angosciato compagno riposare e prendiamo il controllo della posta per un po? Sento la magia in quelle buste, ne varrà la pena.\"",
+ "questMayhemMistiflying3Boss": "Il Lavoratore del Vento",
"questMayhemMistiflying3DropPinkCottonCandy": "Zucchero Filato Rosa (cibo)",
"questMayhemMistiflying3DropShield": "Roguish Rainbow Message (Off-Hand Item)",
"questMayhemMistiflying3DropWeapon": "Roguish Rainbow Message (Main-Hand Item)",
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/it/subscriber.json b/website/common/locales/it/subscriber.json
index 8fb3615091..b5563a9123 100644
--- a/website/common/locales/it/subscriber.json
+++ b/website/common/locales/it/subscriber.json
@@ -41,7 +41,7 @@
"cancelSub": "Annulla abbonamento",
"cancelSubInfoGoogle": "Vai nella sezione \"Account\" > \"Abbonamenti\" dell'app Google Play Store per annullare il tuo abbonamento, o per vedere la data di termine del tuo abbonamento se lo hai già annullato. Questa schermata non è in grado di mostrarti se il tuo abbonamento è stato annullato.",
"cancelSubInfoApple": "Per favore segui le istruzioni ufficiali di Appleper cancellare il tuo abbonamento o se lo hai già cancellato per vedere la data in cui il tuo abbonamento termina. Questa schermata non può mostrarti se il tuo abbonamento è stato cancellato.",
- "cancelSubInfoGroupPlan": "Because you have a free subscription from a Group Plan, you cannot cancel it. It will end when you are no longer in the Group. If you are the Group leader and want to cancel the entire Group Plan, you can do that from the group's \"Payment Details\" tab.",
+ "cancelSubInfoGroupPlan": "Dato che hai un abbonamento gratuito da un Piano per gruppi, non puoi cancellarlo. Terminerà quando non sarai più nel gruppo. Se sei il leader del gruppo e vuoi cancellare l'intero Piano per gruppi, puoi farlo andando sull'etichetta \"Dettagli di pagamento\" del gruppo.",
"canceledSubscription": "Abbonamento annullato",
"cancelingSubscription": "Annullamento dell'abbonamento",
"adminSub": "Abbonamento per amministratori",
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Set steampunk standard",
"mysterySet301405": "Set accessori steampunk",
"mysterySet301703": "Set Pavone Steampunk",
diff --git a/website/common/locales/ja/backgrounds.json b/website/common/locales/ja/backgrounds.json
index 4b156df71d..b16c5a41a0 100644
--- a/website/common/locales/ja/backgrounds.json
+++ b/website/common/locales/ja/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "岩石渓谷",
"backgroundFlyingOverRockyCanyonNotes": "岩石渓谷の上空を飛び越えるような息をのむ光景をのぞきこみましょう。",
"backgroundBridgeText": "橋",
- "backgroundBridgeNotes": "素敵な橋を渡りましょう。"
+ "backgroundBridgeNotes": "素敵な橋を渡りましょう。",
+ "backgrounds092018": "セット52: 2018年9月リリース",
+ "backgroundApplePickingText": "リンゴ狩り",
+ "backgroundApplePickingNotes": "リンゴ狩りに行って、お家にたくさん持ち帰りましょう。",
+ "backgroundGiantBookText": "大きな本",
+ "backgroundGiantBookNotes": "大きな本のページを通って、歩きながら読みましょう。",
+ "backgroundCozyBarnText": "居心地のいい納屋",
+ "backgroundCozyBarnNotes": "あなたのペットや乗騎たちと共に、彼らの居心地のいい納屋でくつろぎましょう。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/character.json b/website/common/locales/ja/character.json
index 679b36daad..7b014ee159 100644
--- a/website/common/locales/ja/character.json
+++ b/website/common/locales/ja/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "割り当てを非表示",
"quickAllocationLevelPopover": "レベルが1上がるごとに、能力値のどれかに割り当てられるポイントを1獲得します。割り当ては手動で行うほかに、ユーザーアイコン > 設定の「自動割り当て」設定でシステムに任せることもできます。",
"notEnoughAttrPoints": "割り当てるポイントが足りません",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "体型",
"facialhair": "顔",
"photo": "写真",
diff --git a/website/common/locales/ja/content.json b/website/common/locales/ja/content.json
index 5cd4dbf2fb..54d3d52b57 100644
--- a/website/common/locales/ja/content.json
+++ b/website/common/locales/ja/content.json
@@ -192,8 +192,8 @@
"hatchingPotionFloral": "花の",
"hatchingPotionAquatic": "水中の",
"hatchingPotionEmber": "熾火の",
- "hatchingPotionThunderstorm": "雷雨",
- "hatchingPotionGhost": "おばけ",
+ "hatchingPotionThunderstorm": "雷雨の",
+ "hatchingPotionGhost": "おばけの",
"hatchingPotionRoyalPurple": "高貴な紫の",
"hatchingPotionHolly": "ひいらぎの",
"hatchingPotionCupid": "キューピッドの",
@@ -201,7 +201,8 @@
"hatchingPotionFairy": "フェアリーの",
"hatchingPotionStarryNight": "星降る夜の",
"hatchingPotionRainbow": "にじ色の",
- "hatchingPotionGlass": "ガラス",
+ "hatchingPotionGlass": "ガラスの",
+ "hatchingPotionGlow": "暗闇で輝く",
"hatchingPotionNotes": "これをたまごにかけると、<%= potText(locale) %> ペットが生まれます。",
"premiumPotionAddlNotes": "クエスト ペットのたまごには使えません。",
"foodMeat": "肉",
diff --git a/website/common/locales/ja/front.json b/website/common/locales/ja/front.json
index b34de4eda6..58b98411e6 100644
--- a/website/common/locales/ja/front.json
+++ b/website/common/locales/ja/front.json
@@ -137,23 +137,23 @@
"password": "パスワード",
"playButton": "遊ぶ",
"playButtonFull": "Habitica をプレー",
- "presskit": "報道関係者向け",
+ "presskit": "記事向けの素材・資料",
"presskitDownload": "すべての画像をダウンロード",
"presskitText": "Habitica に興味をもっていただき、ありがとうございます!以下の画像データは、Habitica に関する記事や動画でお使いいただけます。詳しくは <%= pressEnquiryEmail %> までご連絡ください。",
"pkQuestion1": "Habiticaを作ることになったきっかけは何でしょうか。最初はどんな風に始まりましたか?",
- "pkAnswer1": "If you’ve ever invested time in leveling up a character in a game, it’s hard not to wonder how great your life would be if you put all of that effort into improving your real-life self instead of your avatar. We starting building Habitica to address that question.
Habitica officially launched with a Kickstarter in 2013, and the idea really took off. Since then, it’s grown into a huge project, supported by our awesome open-source volunteers and our generous users.",
+ "pkAnswer1": "あなたがゲームでキャラクターのレベル上げに時間を注いだことがあるなら、こんなことを思わずにはいられないでしょう。「もしもゲームのアバターに代わって現実の自分自身を向上させるために全ての時間を注ぐことができたら、どんなに生活が素晴らしくなるだろう?」と。私たちはそんな課題に取り組むために、Habiticaの設立を始めました。
Habiticaは2013年にKickstarterを使って本格的に始動しました。そしてそのアイデアは実際に好評を博するようになったのです。それ以来、プロジェクトは大きく成長し、素晴らしいオープンソースのボランティアたちや、たくさんのユーザーたちによって支えられています。",
"pkQuestion2": "Habiticaはどういう仕組みで成り立っているのですか?",
"pkAnswer2": "Forming a new habit is hard because people really need that obvious, instant reward. For example, it’s tough to start flossing, because even though our dentist tells us that it's healthier in the long run, in the immediate moment it just makes your gums hurt.
Habitica's gamification adds a sense of instant gratification to everyday objectives by rewarding a tough task with experience, gold… and maybe even a random prize, like a dragon egg! This helps keep people motivated even when the task itself doesn't have an intrinsic reward, and we've seen people turn their lives around as a result. You can check out success stories here: https://habitversary.tumblr.com",
"pkQuestion3": "他のユーザーと交流する、ソーシャル要素を加えたのはなぜですか?",
"pkAnswer3": "Social pressure is a huge motivating factor for a lot of people, so we knew that we wanted to have a strong community that would hold each other accountable for their goals and cheer for their successes. Luckily, one of the things that multiplayer video games do best is foster a sense of community among their users! Habitica’s community structure borrows from these types of games; you can form a small Party of close friends, but you can also join a larger, shared-interest groups known as a Guild. Although some users choose to play solo, most decide to form a support network that encourages social accountability through features such as Quests, where Party members pool their productivity to battle monsters together.",
"pkQuestion4": "タスクをやり残すと自分のアバターの体力が減るのはなぜですか?",
- "pkAnswer4": "If you skip one of your daily goals, your avatar will lose health the following day. This serves as an important motivating factor to encourage people to follow through with their goals because people really hate hurting their little avatar! Plus, the social accountability is critical for a lot of people: if you’re fighting a monster with your friends, skipping your tasks hurts their avatars, too.",
+ "pkAnswer4": "もしあなたが日課の目標のひとつをやり残してしまうと、翌日にあなたのアバターは体力を失うでしょう。これは、人が目標をふまえて最後までやり通すモチベーションの要因として、重要な役割を果たします。なぜなら、人は彼らの小さなアバターが傷つくのを本当に嫌がるからです! 加えて、社会的な責任は多くの人々にとって重大な意味を持ちます。もしあなたが仲間たちと一緒にモンスターと戦っているときタスクをやり残してしまうと、他の仲間たちのアバターもまた傷つくのです。",
"pkQuestion5": "Habiticaと他のゲーミフィケーション・プログラムの違いは何ですか?",
"pkAnswer5": "One of the ways that Habitica has been most successful at using gamification is that we've put a lot of effort into thinking about the game aspects to ensure that they are actually fun. We've also included many social components, because we feel that some of the most motivating games let you play with friends, and because research has shown that it's easier to form habits when you have accountability to other people.",
"pkQuestion6": "Habiticaの典型的なユーザーとはどんな人ですか?",
- "pkAnswer6": "Lots of different people use Habitica! More than half of our users are ages 18 to 34, but we have grandparents using the site with their young grandkids and every age in-between. Often families will join a party and battle monsters together.
Many of our users have a background in games, but surprisingly, when we ran a survey a while back, 40% of our users identified as non-gamers! So it looks like our method can be effective for anyone who wants productivity and wellness to feel more fun.",
+ "pkAnswer6": "たくさんのさまざまな人々がHabiticaを使っています! 半数以上が18~34歳のユーザーですが、おじいさんやおばあさんが彼らの孫たちと共にサイトを使うこともあり、その間のあらゆるの年齢の人々もいます。家族が一緒にパーティーに参加してモンスターと戦うこともよくあるでしょう。
ユーザーの多くはゲームをした経験があります。しかし驚くことに、私たちがしばらく前に調査をしたとき、ユーザーの40%が非ゲーマーだと分かったのです! つまり、私たちの手法は生産性と健全さを求める方なら誰でも効果的により楽しく感じられるようです。",
"pkQuestion7": "Habiticaがドット絵風グラフィック(ピクセルアート)を採用している理由は?",
- "pkAnswer7": "Habitica uses pixel art for several reasons. In addition to the fun nostalgia factor, pixel art is very approachable to our volunteer artists who want to chip in. It's much easier to keep our pixel art consistent even when lots of different artists contribute, and it lets us quickly generate a ton of new content!",
+ "pkAnswer7": "Habiticaはいくつかの理由のため、ピクセルアートを使っています。楽しくてノスタルジックな要素に加えて、ピクセルアートは力を貸したいボランティアのアーティストたちにとっても非常に取っつきやすいのです。たくさんの異なるアーティストたちが貢献するときでも、ピクセルアートは一貫性を保ちやすく、私たちが多数の新しいコンテンツを迅速に作り出すことを可能にしています!",
"pkQuestion8": "Habiticaは人々の現実の生活にどのような影響を与えていますか?",
"pkAnswer8": "こちらで、たくさんの体験談を読むことができます:\nhttps://habitversary.tumblr.com",
"pkMoreQuestions": "このリストにない質問がおありですか? admin@habitica.comまでメールしてください!",
@@ -270,9 +270,16 @@
"notAnEmail": "メールアドレスが無効です。",
"emailTaken": "このメールアドレスは、すでに登録されています。",
"newEmailRequired": "新しいメールアドレスがありません。",
- "usernameTaken": "そのログイン名は既に使われています。",
- "usernameWrongLength": "ログイン名は1-20文字以内の長さでなくてはなりません。",
- "usernameBadCharacters": "ログイン名に使える文字はa-z, 0-9, ハイフン、アンダーバーのみです。",
+ "usernameTime": "あなたのユーザー名を決める時間です!",
+ "usernameInfo": "あなたの表示名は変更されていません。しかし、あなたの古いログイン名はこれからあなたの公開のユーザーネームになります。このユーザーネームは、招待、チャットでの@返信、メッセージなどのために使われるでしょう。
もしこの変更についてより詳しく知りたいときは、私たちのwikiをご覧ください。",
+ "usernameTOSRequirements": "ユーザー名は、私たちのサービスの条項とコミュニティーガイドラインに従わなければなりません。もしあなたが以前にログイン名を設定していなかった場合、あなたのユーザー名は自動生成されました。",
+ "usernameTaken": "そのユーザー名は既に使われています",
+ "usernameWrongLength": "ユーザー名は1~20文字以内の長さでなくてはなりません。",
+ "displayNameWrongLength": "表示名は1~30文字以内の長さでなくてはなりません。",
+ "usernameBadCharacters": "ユーザー名に使える文字は、a~zの英字、0~9の数字、ハイフン、アンダーバーのみです。",
+ "nameBadWords": "名前に不適切な言葉を含めることはできません。",
+ "confirmUsername": "ユーザー名を確認する",
+ "usernameConfirmed": "ユーザー名が確認されました。",
"passwordConfirmationMatch": "パスワードが不一致です。",
"invalidLoginCredentials": "ユーザー名とパスワードのいずれかまたは両方が無効です。",
"passwordResetPage": "パスワードをリセットする",
@@ -295,7 +302,7 @@
"signUpWithSocial": "<%= social %>で登録する",
"loginWithSocial": "<%= social %>でログインする",
"confirmPassword": "新しいパスワードを確認する",
- "usernameLimitations": "ログイン名は1-20文字以内の長さで、a-z, 0-9, ハイフン、アンダーバーだけで構成されていなくてはなりません。",
+ "usernameLimitations": "ユーザー名は1~20文字以内の長さでなくてはなりません。使える文字は、a~zの英字、0~9の数字、ハイフン、アンダーバーのみです。不適切な言葉を含めることはできません。",
"usernamePlaceholder": "例: HabitRabbit",
"emailPlaceholder": "例: rabbit@example.com",
"passwordPlaceholder": "例: ******************",
@@ -329,6 +336,5 @@
"signup": "登録する",
"getStarted": "今すぐ始める",
"mobileApps": "モバイルアプリ",
- "learnMore": "もっと詳しく知る",
- "useMobileApps": "Habiticaはモバイルブラウザ用に最適化はされていません。モバイルアプリのご利用をお勧めします。"
+ "learnMore": "もっと詳しく知る"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/gear.json b/website/common/locales/ja/gear.json
index 50055b00cc..f8b151b253 100644
--- a/website/common/locales/ja/gear.json
+++ b/website/common/locales/ja/gear.json
@@ -244,20 +244,20 @@
"weaponSpecialFall2017HealerNotes": "この明かりは恐怖を打ち払い、あなたが助けに来たことを他の人に知らせてくれます。知能が<%= int %>上がります。2017年秋の限定装備。",
"weaponSpecialWinter2018RogueText": "しましまキャンディのフック",
"weaponSpecialWinter2018RogueNotes": "壁を登ったり、甘い甘いキャンディで敵の目をそらしたりするのにうってつけです。力が <%= str %> 上がります。2017-2018年冬の限定装備。",
- "weaponSpecialWinter2018WarriorText": "Holiday Bow Hammer",
- "weaponSpecialWinter2018WarriorNotes": "The sparkly appearance of this bright weapon will dazzle your enemies as you swing it! Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
- "weaponSpecialWinter2018MageText": "祝日の紙吹雪",
- "weaponSpecialWinter2018MageNotes": "Magic--and glitter--is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
+ "weaponSpecialWinter2018WarriorText": "祝祭のリボンのハンマー",
+ "weaponSpecialWinter2018WarriorNotes": "このキラキラした武器の輝かしい見た目は、振り回すとき敵の目をくらませることができます! 力が <%= str %> 上がります。2017年-2018年冬の限定装備。",
+ "weaponSpecialWinter2018MageText": "祝祭の紙吹雪",
+ "weaponSpecialWinter2018MageNotes": "魔法――そしてキラメキ――それは空中に! 知能が 、<%= int %> 知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
"weaponSpecialWinter2018HealerText": "ヤドリギのつえ",
- "weaponSpecialWinter2018HealerNotes": "This mistletoe ball is sure to enchant and delight passersby! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "weaponSpecialWinter2018HealerNotes": "このヤドリギの球は、通りがかった人々に魔法をかけて絶対に喜ばせます! 知能が <%= int %> 上がります。2017年-2018年冬の限定装備。",
"weaponSpecialSpring2018RogueText": "水に浮かぶ蒲の穂",
"weaponSpecialSpring2018RogueNotes": "かわいいと思われるかもしれない蒲の穂は、実はライトウィングにおいてかなり有効な武器です。力が <%= str %> 上がります。2018年春の限定装備。",
"weaponSpecialSpring2018WarriorText": "夜明けの斧",
"weaponSpecialSpring2018WarriorNotes": "キラキラした金で作られたこの斧は、真っ赤に染まりきったタスクを攻撃するに足る力強さがあります! 力が <%= str %> 上がります。2018年春の限定装備。",
"weaponSpecialSpring2018MageText": "チューリップの杖",
- "weaponSpecialSpring2018MageNotes": "This magic flower never wilts! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Spring Gear.",
+ "weaponSpecialSpring2018MageNotes": "この魔法の花は決して枯れません! 知能が <%= int %> 、知覚が <%= per %> 上がります。2018年春の限定装備。",
"weaponSpecialSpring2018HealerText": "ガーネットのロッド",
- "weaponSpecialSpring2018HealerNotes": "The stones in this staff will focus your power when you cast healing spells! Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.",
+ "weaponSpecialSpring2018HealerNotes": "この杖にある石は、あなたが癒しの呪文を唱えるときに力を集中させるでしょう! 知能が <%= int %> 上がります。2018年春の限定装備。",
"weaponSpecialSummer2018RogueText": "釣り竿",
"weaponSpecialSummer2018RogueNotes": "この軽くて実に壊れにくいロッドとリールは、あなたの DPS (Dragonfish Per Summer) を最大限に発揮するために二刀流で振るうことができます。力が <%= str %> 上がります。2018年夏の限定装備。",
"weaponSpecialSummer2018WarriorText": "ベタのヤス",
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "水の中で、魔道士が火や氷または電気に基づく魔法を振るうことは危険だと分ります。その一方で、魔道士の有毒なトゲは見事にキラリとうまくいきます! 知能が <%= int %> 、知覚が <%= per %> 上がります。2018年夏の限定装備。",
"weaponSpecialSummer2018HealerText": "人魚王のトライデント",
"weaponSpecialSummer2018HealerNotes": "慈悲深い身振りで、あなたの領域へ波のように流れていくよう癒しの水に命じます。知能が <%= int %> 上がります。2018年夏の限定装備。",
+ "weaponSpecialFall2018RogueText": "明晰の小びん",
+ "weaponSpecialFall2018RogueNotes": "あなたが正気を取り戻す必要があるとき、正しい決断をするために少しの後押しが必要なとき、深く息をついてから吸い込みましょう。うまくいきますよ! 力が <%= str %> 上がります。2018年秋の限定装備。",
+ "weaponSpecialFall2018WarriorText": "ミノスのむち",
+ "weaponSpecialFall2018WarriorNotes": "迷路で方向感覚を保つためにあなたの後ろにたらして巻き戻すには、あまり長さが足りません。そうですね、たぶんとても小さな迷路でなら。力が <%= str %> 上がります。2018年秋の限定装備。",
+ "weaponSpecialFall2018MageText": "甘味のつえ",
+ "weaponSpecialFall2018MageNotes": "これはただのペロペロキャンディではありません! このつえの先にある魔法の砂糖の輝くオーブは、あなたを良い習慣に留める力を持っています。知能が <%= int %> 、知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "ごちそうの熊手",
"weaponMystery201411Notes": "敵を突き刺したり、好きな食べ物を掘り出したり - この何にでも使える熊手なら両方できます! 効果なし。2014年11月寄付会員アイテム。",
"weaponMystery201502Text": "キラキラ輝く羽のついた愛と真実のつえ",
@@ -348,8 +356,10 @@
"weaponArmoireGlassblowersBlowpipeNotes": "このチューブで溶かしたガラスを吹いて、美しい花瓶、装飾品などオシャレな物をつくりましょう。力が <%= str %> 上がります。ラッキー宝箱 : ガラス吹き工セット ( 4 個中 1 個目のアイテム)。",
"weaponArmoirePoisonedGobletText": "毒入りのゴブレット",
"weaponArmoirePoisonedGobletNotes": "これを使って猛毒のアイオカンパウダーや他の想像を絶する危険な毒物への耐性をつけましょう。知能が <%= int %> 上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 3 個目のアイテム)。",
- "weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
- "weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireJeweledArcherBowText": "宝石で飾られた弓",
+ "weaponArmoireJeweledArcherBowNotes": "この金と宝石の弓は、ターゲットたちに信じられない速さで矢を放つことができます。知能が <%= int %> 上がります。ラッキー宝箱:宝石飾りの弓使いセット ( 3 個中 3 個目のアイテム)。",
+ "weaponArmoireNeedleOfBookbindingText": "製本の綴じ針",
+ "weaponArmoireNeedleOfBookbindingNotes": "どうしたらこんな丈夫な本ができるのかと、あなたは驚かせることでしょう。この針は、あなたの作業の核心を正しく刺し通すことができます。力が <%= str %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 3 個目のアイテム)。",
"armor": "よろい",
"armorCapitalized": "よろい",
"armorBase0Text": "無地の服",
@@ -570,20 +580,20 @@
"armorSpecialFall2017HealerNotes": "あなたの心は開いたドア、肩は屋根瓦です! 体質が<%= con %>上がります。2017年秋の限定装備。",
"armorSpecialWinter2018RogueText": "トナカイのコスチューム",
"armorSpecialWinter2018RogueNotes": "あなたは柔らかな毛で覆われてとっても可愛く見えますよ。誰があなたを祝祭明けの盗品だなんて疑うでしょう? 知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
- "armorSpecialWinter2018WarriorText": "Wrapping Paper Armor",
- "armorSpecialWinter2018WarriorNotes": "Don't let the papery feel of this armor fool you. It's nearly impossible to rip! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018WarriorText": "ラッピングペーパーのよろい",
+ "armorSpecialWinter2018WarriorNotes": "このよろいの薄い手触りにだまされないで。引き裂くのはほぼ不可能です! 体質が <%= con %> 上がります。2017-2018年冬の限定装備。",
"armorSpecialWinter2018MageText": "きらびやかなタキシード",
- "armorSpecialWinter2018MageNotes": "The ultimate in magical formalwear. Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018MageNotes": "究極の魔法正装。知能が <%= int %> 上がります。2017-2018年冬限定装備。",
"armorSpecialWinter2018HealerText": "ヤドリギのローブ",
- "armorSpecialWinter2018HealerNotes": "These robes are woven with spells for extra holiday joy. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018HealerNotes": "このローブは、極上の祝祭の喜びのために呪文とともに編まれました。体質が <%= con %> 上がります。2017年-2018年冬の限定装備。",
"armorSpecialSpring2018RogueText": "羽根のスーツ",
"armorSpecialSpring2018RogueNotes": "このフワフワの黄色いコスチュームは、あなたがただの無害でかわいいカモちゃんだと敵に思いこませます! 知覚が <%= per %> 上がります。2018年春の限定装備。",
"armorSpecialSpring2018WarriorText": "暁のよろい",
- "armorSpecialSpring2018WarriorNotes": "This colorful plate is forged with the sunrise's fire. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
+ "armorSpecialSpring2018WarriorNotes": "この色鮮やかな板金は、暁の火によって鍛造されました。体質が <%= con %> 上がります。2018年春の限定装備。",
"armorSpecialSpring2018MageText": "チューリップのローブ",
- "armorSpecialSpring2018MageNotes": "Your spell casting can only improve while clad in these soft, silky petals. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.",
+ "armorSpecialSpring2018MageNotes": "あなたが呪文を放つ力は、この柔らかくスベスベな花びらを纏っている間だけ向上できます。知能が <%= int %> 上がります。2018年春の限定装備。",
"armorSpecialSpring2018HealerText": "ガーネットのよろい",
- "armorSpecialSpring2018HealerNotes": "Let this bright armor infuse your heart with power for healing. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
+ "armorSpecialSpring2018HealerNotes": "この輝くよろいによって、あなたの心に癒しの力を満たしてください。体質が <%= con %> 上がります。2018年春の限定装備。",
"armorSpecialSummer2018RogueText": "ポケット付き釣り用ベスト",
"armorSpecialSummer2018RogueNotes": "浮き? 釣り針の箱? 予備の釣り糸? ピッキング用具? 発煙筒? この服には、あなたが夏の釣り休暇に持っていく必要があるものなら何でも入れられるポケットがありますよ! 知覚が <%= per %> 上がります。2018年夏の限定装備。",
"armorSpecialSummer2018WarriorText": "ベタの尾のよろい",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "毒魔法は名状しがたいイメージがありますが、このカラフルな鎧はそうでもありません。生物にもタスクにも明らかに分かるメッセージを発しています。「気をつけろ!」 知能が <%= int %> 上がります。2018年夏の限定装備。",
"armorSpecialSummer2018HealerText": "人魚王のローブ",
"armorSpecialSummer2018HealerNotes": "この空色の式服は、あなたが陸を歩く足を持つことを露わにします… ええとまぁ、王は完璧なはずだとは思いもしませんよ。体質が <%= con %> 上がります。2018年夏の限定装備。",
+ "armorSpecialFall2018RogueText": "オルター・エゴのフロックコート",
+ "armorSpecialFall2018RogueNotes": "その日のスタイル。一夜の安らぎと保護。知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "armorSpecialFall2018WarriorText": "ミノタウロスの板金甲冑",
+ "armorSpecialFall2018WarriorNotes": "あなたが自己の瞑想的な迷宮を歩くとき、心を落ち着かせる拍子を打つためのひづめを備えています。体質が <%= con %> 上がります。2018年秋の限定装備。",
+ "armorSpecialFall2018MageText": "キャンディマンサーのローブ",
+ "armorSpecialFall2018MageNotes": "このローブの布地には、魔法のキャンディが直に織り込まれています! しかしながら、それを食べようなどと試みないことを推奨します。知能が <%= int %> 上がります。2018年秋の限定装備。",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "メッセンジャーのローブ",
"armorMystery201402Notes": "かすかに光って、力強い。このローブは、手紙を運ぶために多くのポケットがついています。効果なし。2014年2月寄付会員アイテム。",
"armorMystery201403Text": "森の散策者のよろい",
@@ -656,12 +674,14 @@
"armorMystery201712Notes": "この魔法のよろいが生み出す光と熱はあなたの心を温めてくれますが、やけどすることはありません! 効果なし。2017年12月寄付会員アイテム。",
"armorMystery201802Text": "ラブ・バッグのよろい",
"armorMystery201802Notes": "この輝くよろいはあなたの心の強さを反映しており、励ましが必要な近くのHabiticanたちにもその力を分け与えます! 効果なし。2018年2月寄付会員アイテム。",
- "armorMystery201806Text": "Alluring Anglerfish Tail",
- "armorMystery201806Notes": "This sinuous tail features glowing spots to light your way through the deep. Confers no benefit. June 2018 Subscriber Item.",
- "armorMystery201807Text": "Sea Serpent Tail",
- "armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201806Text": "誘惑のチョウチンアンコウのしっぽ",
+ "armorMystery201806Notes": "このしなやかなしっぽは、深海であなたが通る道を照らし出すために光り輝く機能があります。効果なし。2018年6月寄付会員アイテム。",
+ "armorMystery201807Text": "シーサーペントのしっぽ",
+ "armorMystery201807Notes": "この力強いしっぽは、信じられないほど素早く海の中を進むことができます! 効果なし。2018年7月寄付会員アイテム。",
+ "armorMystery201808Text": "溶岩竜のよろい",
+ "armorMystery201808Notes": "このよろいは、見つけるのが難しい(そして何よりも温かい)溶岩竜が落としたウロコから作られています。効果なし。2018年8月寄付会員アイテム。",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "スチームパンクスーツ",
"armorMystery301404Notes": "なんて小粋で最先端! 効果なし。3015年2月寄付会員アイテム。",
"armorMystery301703Text": "スチームパンクなクジャクのガウン",
@@ -752,10 +772,12 @@
"armorArmoireGlassblowersCoverallsNotes": "このカバーオールは、あなたが熱く溶かしたガラスで傑作をつくっているときに身を守ってくれます。体質が <%= con %> 上がります。ラッキー宝箱: ガラス吹き工セット( 4 個中 2 個目のアイテム)",
"armorArmoireBluePartyDressText": "青いパーティドレス",
"armorArmoireBluePartyDressNotes": "あなたは鋭敏で、タフで、賢くて、そして何よりもセンスがいい! 知覚、力、そして体質がそれぞれ <%= attrs %> 上がります。ラッキー宝箱 : 青いリボンセット ( 2 個中 2 個目のアイテム)。",
- "armorArmoirePiraticalPrincessGownText": "Piratical Princess Gown",
- "armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
- "armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
- "armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoirePiraticalPrincessGownText": "海賊姫のドレス",
+ "armorArmoirePiraticalPrincessGownNotes": "この豪華なお召し物には、武器と戦利品を隠すためのたくさんのポケットがついています! 知覚が <%= per %> 上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 2 個目のアイテム)。",
+ "armorArmoireJeweledArcherArmorText": "宝石で飾られたよろい",
+ "armorArmoireJeweledArcherArmorNotes": "この優美に作り上げられたよろいは、ミサイルもしくはやりそびれた赤い日課からあなたを守るでしょう! 体質が <%= con %> 上がります。ラッキー宝箱 : 宝石飾りの弓使いセット ( 3 個中 2 個目のアイテム)。",
+ "armorArmoireCoverallsOfBookbindingText": "製本のカバーオール",
+ "armorArmoireCoverallsOfBookbindingNotes": "カバーオールのセットには、あなたが必要なものが全部あります。ゴーグル、小銭、黄金のリング… 全てを入れるポケットも含めてね。体質が <%= con %> 、知覚が <%= per %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 2 個目のアイテム)。",
"headgear": "帽子・兜",
"headgearCapitalized": "帽子・ヘルメット",
"headBase0Text": "頭装備なし",
@@ -976,20 +998,20 @@
"headSpecialNye2017Notes": "しゃれたパーティハットをもらいました! 新年を告げる鐘を聞きながら、誇りをもってかぶりましょう! 効果なし。",
"headSpecialWinter2018RogueText": "トナカイのかぶと",
"headSpecialWinter2018RogueNotes": "ヘッドライトが内蔵された、パーフェクトな祝祭の仮装です!知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
- "headSpecialWinter2018WarriorText": "Giftbox Helm",
- "headSpecialWinter2018WarriorNotes": "This jaunty box top and bow are not only festive, but quite sturdy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
- "headSpecialWinter2018MageText": "Sparkly Top Hat",
- "headSpecialWinter2018MageNotes": "Ready for some extra special magic? This glittery hat is sure to boost all your spells! Increases Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
+ "headSpecialWinter2018WarriorText": "ギフトボックスのかぶと",
+ "headSpecialWinter2018WarriorNotes": "この粋なボックスのフタとリボンは、面白いだけでなくとても頑丈です。力が <%= str %> 上がります。2017年-2018年冬の限定装備。",
+ "headSpecialWinter2018MageText": "輝かしいシルクハット",
+ "headSpecialWinter2018MageNotes": "極上のスペシャルな魔法の準備はできましたか? このピカピカのハットは全ての呪文を必ず強化します! 知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
"headSpecialWinter2018HealerText": "ヤドリギのフード",
- "headSpecialWinter2018HealerNotes": "This fancy hood will keep you warm with happy holiday feelings! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "headSpecialWinter2018HealerNotes": "このオシャレなフードは、幸せな祝祭の気分にあなたを温め続けます! 知能が <%= int %> 上がります。2017年-2018年冬の限定装備。",
"headSpecialSpring2018RogueText": "カモのくちばしのかぶと",
"headSpecialSpring2018RogueNotes": "クワッ クワッ! 実は利口でずるくても、見かけは可愛いらしいのです。知覚が <%= per %> 上がります。2018年春の限定装備。",
"headSpecialSpring2018WarriorText": "陽光の兜",
- "headSpecialSpring2018WarriorNotes": "The brightness of this helm will dazzle any enemies nearby! Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.",
+ "headSpecialSpring2018WarriorNotes": "この兜の輝きは、近づくどんな敵の目もくらませるでしょう! 力が <%= str %> 上がります。2018年春の限定装備。",
"headSpecialSpring2018MageText": "チューリップの兜",
- "headSpecialSpring2018MageNotes": "The fancy petals of this helm will grant you special springtime magic. Increases Perception by <%= per %>. Limited Edition 2018 Spring Gear.",
+ "headSpecialSpring2018MageNotes": "この兜のオシャレな花びらは、あなたに特別な春の魔法を与えるでしょう。知覚が <%= per %> 上がります。2018年春の限定装備。",
"headSpecialSpring2018HealerText": "ガーネットの頭飾り",
- "headSpecialSpring2018HealerNotes": "The polished gems of this circlet will enhance your mental energy. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.",
+ "headSpecialSpring2018HealerNotes": "この頭飾りの磨き上げられた宝石は、あなたの精神エネルギーを高めるでしょう。知能が <%= int %> 上がります。2018年春の限定装備。",
"headSpecialSummer2018RogueText": "釣り用日よけ帽",
"headSpecialSummer2018RogueNotes": "水面上での夏の太陽の不快な眩しい光から守り、安らぎを提供しましょう。もしあなたが影の中で忍びやかにじっとしている方が慣れているなら、特に重要です!知覚が <%= per %> 上がります。2018年夏の限定装備。",
"headSpecialSummer2018WarriorText": "ベタのバルビュータ",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "「美味しそうな魚に見える」とあえて誰かに言われたときは、悲しげにギラリとにらみつけましょう。知覚が <%= per %> 上がります。2018年夏の限定装備。",
"headSpecialSummer2018HealerText": "人魚王のクラウン",
"headSpecialSummer2018HealerNotes": "アクアマリンで飾った、ヒレを持つこの王冠は、人々と魚、そしてその両方の特徴を持つ人魚たちのリーダーである印となります。知能が <%= int %> 上がります。2018年夏の限定装備。",
+ "headSpecialFall2018RogueText": "オルター・エゴの面",
+ "headSpecialFall2018RogueNotes": "私たちの大多数は、内面の苦闘を外から隠しています。このマスクは、私たち皆が経験する良い衝動と悪い衝動の間にある葛藤を見せてくれます。加えて、魅力的な帽子もついています! 知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "headSpecialFall2018WarriorText": "ミノタウロスの面",
+ "headSpecialFall2018WarriorNotes": "この恐ろしいマスクは、あなたが間違いなくタスクに取り組むことができるとツノで示します!力が <%= str %> 上がります。 2018年秋の限定装備。",
+ "headSpecialFall2018MageText": "キャンディマンサーの帽子",
+ "headSpecialFall2018MageNotes": "この先のとがった帽子には、甘味の強力な呪文が染み込んでいます。気を付けて。もしも濡れてしまったら、たぶんベトベトになりますよ! 知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "レインボーの戦士のヘルメット",
"headSpecialGaymerxNotes": "GaymerX カンファレンスを記念し、この特別なヘルメットは晴れやかでカラフルなレインボー柄で彩られています。GaymerX とは、LGTBQ (性的マイノリティー)とゲームを祝う見本市で、だれにでも開かれています。",
"headMystery201402Text": "羽かぶと",
@@ -1060,7 +1090,7 @@
"headMystery201707Notes": "タスクを片付けるための余分な腕がほしくないですか?この半透明のクラゲ型ヘルメットには、あなたに手を貸すたくさんの触手が付いています!効果なし。2017年7月寄付会員アイテム。",
"headMystery201710Text": "いばりんぼの小鬼ヘルム",
"headMystery201710Notes": "このヘルメットはあなたを威圧的に見せてくれます…でも、あなたの奥行き知覚能力には何の恩恵ももたらしません! 効果なし。2017年10月寄付会員アイテム。",
- "headMystery201712Text": "ろうそく術師の冠",
+ "headMystery201712Text": "ろうそく術士の冠",
"headMystery201712Notes": "一番暗い冬の夜でも、この冠が光とぬくもりをもたらしてくれます。効果なし。2017年12月寄付会員アイテム。",
"headMystery201802Text": "ラブ・バッグのかぶと",
"headMystery201802Notes": "このかぶとの触角は可愛いダウジングロッドの役割を持ち、周辺の愛とサポートの気持ちを探知します。効果なし。2018年2月寄付会員アイテム。",
@@ -1068,12 +1098,14 @@
"headMystery201803Notes": "とっても装飾的な見た目ですが、頭飾りの羽根はより高く上昇するために連携させられます! 効果なし。2018年3月寄付会員アイテム。",
"headMystery201805Text": "グッとくるクジャクのかぶと",
"headMystery201805Notes": "このかぶとはあなたを街でもっとも誇り高く最高に美しい(そして恐らく、一番声が大きい)鳥にしてくれます。効果なし。2018年5月寄付会員アイテム。",
- "headMystery201806Text": "Alluring Anglerfish Helm",
- "headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
- "headMystery201807Text": "Sea Serpent Helm",
- "headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201806Text": "誘惑のチョウチンアンコウのかぶと",
+ "headMystery201806Notes": "誘惑する光を頭上に灯したこのかぶとは、全ての海の生き物をあなたのそばへ呼び寄せることができるでしょう。みんなを惹きつけるあなたの輝かしい力を、良いことに使ってくださいね! 効果なし。2018年6月寄付会員アイテム。",
+ "headMystery201807Text": "シーサーペントのかぶと",
+ "headMystery201807Notes": "このかぶとの強力なウロコは、海洋の敵がどんな振る舞いをしてもあなたを守るでしょう。効果なし。2018年7月寄付会員アイテム。",
+ "headMystery201808Text": "溶岩竜のカウル",
+ "headMystery201808Notes": "このカウルの照り輝く角は、地下洞窟を通るあなたの道を照らすでしょう。効果なし。2018年8月寄付会員アイテム。",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "かわいいシルクハット",
"headMystery301404Notes": "良家中の良家の方々のためのかわいいシルクハット! 3015年1月寄付会員アイテム。効果なし。",
"headMystery301405Text": "ベーシックなシルクハット",
@@ -1176,8 +1208,8 @@
"headArmoireGlassblowersHatNotes": "この帽子は、あなたが持っている他のガラス吹き用防護装備に大変ぴったり似合います!知覚が <%= per %> 上がります。ラッキー宝箱 : ガラス吹き工セット ( 4 個中 3 個目のアイテム)。",
"headArmoirePiraticalPrincessHeaddressText": "海賊姫のヘッドドレス",
"headArmoirePiraticalPrincessHeaddressNotes": "オシャレな海賊はこんなオシャレな帽子をかぶることで有名です! 知覚と知能が <%= attrs %> ずつ上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 1 個目のアイテム)。",
- "headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
- "headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireJeweledArcherHelmText": "宝石で飾られたかぶと",
+ "headArmoireJeweledArcherHelmNotes": "このかぶとは飾り立てて見えるかもしれません。しかし、大変に軽く強力でもあるのです。知能が <%= int %> 上がります。ラッキー宝箱:宝石飾りの弓使いセット ( 3 個中 1 個目のアイテム)。",
"offhand": "利き手と反対の手のアイテム",
"offhandCapitalized": "利き手と反対の手のアイテム",
"shieldBase0Text": "利き手と反対の手の装備はありません",
@@ -1321,17 +1353,23 @@
"shieldSpecialWinter2018RogueText": "しましまキャンディのフック",
"shieldSpecialWinter2018RogueNotes": "壁を登ったり、甘い甘いキャンディで敵の目をそらしたりするのにうってつけです。力が <%= str %> 上がります。2017-2018年冬の限定装備。",
"shieldSpecialWinter2018WarriorText": "魔法のギフトバッグ",
- "shieldSpecialWinter2018WarriorNotes": "Just about any useful thing you need can be found in this sack, if you know the right magic words to whisper. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "shieldSpecialWinter2018WarriorNotes": "あなたが必要な役立つものは、ほとんど何でもこの袋の中から見つけることができますよ。ささやくべき正しい魔法の合言葉を知っていたらね。体質が <%= con %> 上がります。 2017-2018年冬の限定装備。",
"shieldSpecialWinter2018HealerText": "ヤドリギのベル",
- "shieldSpecialWinter2018HealerNotes": "What's that sound? The sound of warmth and cheer for all to hear! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "shieldSpecialWinter2018HealerNotes": "あの音はなぁに? みんなが聞くための真心と喜びの音です! 体質が <%= con %> 上がります。 2017-2018年冬の限定装備。",
"shieldSpecialSpring2018WarriorText": "黎明の盾",
- "shieldSpecialSpring2018WarriorNotes": "This sturdy shield glows with the glory of first light. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
+ "shieldSpecialSpring2018WarriorNotes": "この頑丈な盾は、黎明の栄光によって輝きます。体質が <%= con %> 上がります。2018年春の限定装備。",
"shieldSpecialSpring2018HealerText": "ガーネットの盾",
- "shieldSpecialSpring2018HealerNotes": "Despite its fancy appearance, this garnet shield is quite durable! Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
- "shieldSpecialSummer2018WarriorText": "ベタのドクロの楯",
+ "shieldSpecialSpring2018HealerNotes": "オシャレな外見にもかかわらず、このガーネットの盾はとても耐久力があります! 体質が <%= con %> 上がります。2018年春の限定装備。",
+ "shieldSpecialSummer2018WarriorText": "ベタのドクロの盾",
"shieldSpecialSummer2018WarriorNotes": "石から作り上げたこの恐ろしいドクロ型の楯は、あなたの骨のペットと乗騎を呼び集めながら、魚の敵を恐怖におとしいれます。体質が <%= con %> 上がります。2018年夏の限定装備。",
"shieldSpecialSummer2018HealerText": "人魚王のエンブレム",
"shieldSpecialSummer2018HealerNotes": "この楯は、あなたの水の領域を訪れる陸からの客人のために、空気のドームを生みだすことができます。体質が <%= con %> 上がります。2018年夏の限定装備。",
+ "shieldSpecialFall2018RogueText": "誘惑の小びん",
+ "shieldSpecialFall2018RogueNotes": "このびんは、最高の自分自身であろうとするあなたを妨げる、全ての気が散ることや問題ごとを象徴しています。こらえて! 私たちはあなたを応援しています! 力が <%= str %> 上がります。2018年秋の限定装備。",
+ "shieldSpecialFall2018WarriorText": "ぴかぴかに輝く盾",
+ "shieldSpecialFall2018WarriorNotes": "厄介なゴルゴンが曲がり角の辺りでいないいないばぁで遊ぶことを思いとどまらせるくらい、素晴らしくぴかぴかです!体質が <%= con %> 上がります。2018年秋の限定装備。",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "決意の剣",
"shieldMystery201601Notes": "この剣はすべての破壊を退けてくれるでしょう。効果なし。2016年寄付会員アイテム。",
"shieldMystery201701Text": "タイムフリーザー シールド",
@@ -1392,12 +1430,15 @@
"shieldArmoireFancyShoeNotes": "あなたが修理に取り組んでいるとても特別な靴。王侯貴族にふさわしい品です! 知能と知覚が<%= attrs %>上がります。ラッキー宝箱:靴修理職人セット(3つ中3つ目のアイテム)",
"shieldArmoireFancyBlownGlassVaseText": "オシャレな吹きガラスの花瓶",
"shieldArmoireFancyBlownGlassVaseNotes": "あなたがつくった花瓶はなんてオシャレなんでしょう!この中に何を生けますか?知能が <%= int %> 上がります。ラッキー宝箱 : ガラス吹き工セット ( 4 個中 4 個目のアイテム)。",
- "shieldArmoirePiraticalSkullShieldText": "海賊のドクロの楯",
- "shieldArmoirePiraticalSkullShieldNotes": "この魅惑の楯は、敵の財宝がある秘密の場所をささやくでしょう。――よく聞きなさい! 知覚と知能が <%= attrs %> ずつ上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 4 個目のアイテム)。",
+ "shieldArmoirePiraticalSkullShieldText": "海賊のドクロの盾",
+ "shieldArmoirePiraticalSkullShieldNotes": "この魅惑の盾は、敵の財宝がある秘密の場所をささやくでしょう。――よく聞きなさい! 知覚と知能が <%= attrs %> ずつ上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 4 個目のアイテム)。",
+ "shieldArmoireUnfinishedTomeText": "未完成の本",
+ "shieldArmoireUnfinishedTomeNotes": "あなたはこれを持っているとき、簡単には先延ばしができません! 人々がその本を読むためには、製本を終わらせる必要があるのですから! 知能が <%= int %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 4 個目のアイテム ) 。",
"back": "背中のアクセサリー",
"backCapitalized": "背のアクセサリー",
"backBase0Text": "背のアクセサリーなし",
"backBase0Notes": "背のアクセサリーがありません。",
+ "animalTails": "動物のしっぽ",
"backMystery201402Text": "黄金の翼",
"backMystery201402Notes": "この輝く翼は太陽にキラキラ光る羽根でできています! 効果なし。2014年2月寄付会員アイテム。",
"backMystery201404Text": "夕暮れのちょうちょの羽",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "この外套はかつて失われしクラス・マスター本人が所持していたものです。知覚が <%= per %> 上がります。",
"backSpecialTurkeyTailBaseText": "シチメンチョウの尾",
"backSpecialTurkeyTailBaseNotes": "お祝いの間、高貴なシチメンチョウの尾を誇りと共に身につけましょう! 効果なし。",
+ "backBearTailText": "クマのしっぽ",
+ "backBearTailNotes": "このしっぽはあなたを勇ましいクマのように見せます! 効果なし。",
+ "backCactusTailText": "サボテンのしっぽ",
+ "backCactusTailNotes": "このしっぽはあなたをチクチクのサボテンのように見せます! 効果なし。",
+ "backFoxTailText": "キツネのしっぽ",
+ "backFoxTailNotes": "このしっぽはあなたをずる賢いキツネのように見せます! 効果なし。",
+ "backLionTailText": "ライオンのしっぽ",
+ "backLionTailNotes": "このしっぽはあなたを威厳あるライオンのように見せます! 効果なし。",
+ "backPandaTailText": "パンダのしっぽ",
+ "backPandaTailNotes": " このしっぽはあなたを穏やかなパンダのように見せます! 効果なし。",
+ "backPigTailText": "ブタのしっぽ",
+ "backPigTailNotes": "このしっぽはあなたを気まぐれなブタのように見せます! 効果なし。",
+ "backTigerTailText": "トラのしっぽ",
+ "backTigerTailNotes": "このしっぽはあなたを獰猛なトラのように見せます! 効果なし。",
+ "backWolfTailText": "オオカミのしっぽ",
+ "backWolfTailNotes": "このしっぽはあなたを忠誠心あるオオカミのように見せます! 効果なし。",
"body": "胴のアクセサリー",
"bodyCapitalized": "胴のアクセサリー",
"bodyBase0Text": "胴のアクセサリーなし",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "「ゴーグルは目にかけるものだ」、「頭にのせるだけのゴーグルなんてだれも要らないぞ」ってヤツらはいうけど、ハハッ! 見せつけてやりましょう。効果なし。3015年8月寄付会員アイテム。",
"headAccessoryArmoireComicalArrowText": "お笑いの矢",
"headAccessoryArmoireComicalArrowNotes": "この妙なアイテムは笑えるでしょう! 力が<%= str %>上がります。ラッキー宝箱 : 個別のアイテム。",
+ "headAccessoryArmoireGogglesOfBookbindingText": "製本のゴーグル",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "このゴーグルは、大きいのも小さいのも、どんなタスクにも的を絞る助けになるでしょう! 知覚が <%= per %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 1 個目のアイテム)。",
"eyewear": "アイウエア",
"eyewearCapitalized": "アイウェア",
"eyewearBase0Text": "アイウエアなし",
diff --git a/website/common/locales/ja/groups.json b/website/common/locales/ja/groups.json
index 852f462879..acf4a74ef9 100644
--- a/website/common/locales/ja/groups.json
+++ b/website/common/locales/ja/groups.json
@@ -6,6 +6,7 @@
"innText": "あなたはロッジで休んでいます! ロッジにチェックインしている間、一日の終わりに日課が未実施でもダメージを受けません、しかし日課は毎日リフレッシュされます。注意: もしあなたがボスクエストに参加しているのなら、あなたのパーティの仲間が日課をし損ねたとき、その仲間もロッジに泊まっていない限り、あなたはダメージを受けます! また、あなたのボスへのダメージ(または収集したアイテム)はロッジをチェックアウトするまで適用されません。",
"innTextBroken": "ロッジで休んでいるようですね...ロッジに泊まっている間はサボった日課でダメージを受けることはありませんが、日課は毎日更新されます...もしボスクエストに参加している場合、パーティーの仲間がサボった日課の分のボスからのダメージは、ロッジにいても受けてしまいます...もし、そのパーティーの仲間もロッジにいるなら話は別ですが...また、あなたが日課をやらなかった分のダメージ(もしくは集めたアイテム)は、ロッジをチェックアウトするまで無効です...疲れた...",
"innCheckOutBanner": "あなたはロッジで休憩中です。日課をこなさなくてもダメージを受けませんが、クエストを進めることもできません。",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "ダメージを再開",
"helpfulLinks": "便利なリンク集",
"communityGuidelinesLink": "コミュニティー ガイドライン",
@@ -133,15 +134,15 @@
"PMPlaceholderTitle": "ここにはまだ何もありません。",
"PMPlaceholderDescription": "左から会話を選択してください",
"PMPlaceholderTitleRevoked": "あなたのチャットの特権は取り消されました",
- "PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.",
+ "PMPlaceholderDescriptionRevoked": "あなたのチャットの特権は取り消されたため、プライベートメッセージを送ることはできません。もしこのことについて疑問や懸念があるときは、admin@habitica.comへメールを送ってスタッフとの話し合いをお願いします。",
"PMReceive": "プライベートメッセージを受け取る",
- "PMEnabledOptPopoverText": "Private Messages are enabled. Users can contact you via your profile.",
- "PMDisabledOptPopoverText": "Private Messages are disabled. Enable this option to allow users to contact you via your profile.",
+ "PMEnabledOptPopoverText": "プライベートメッセージは有効です。ユーザーはあなたのプロフィールからあなたに連絡できます。",
+ "PMDisabledOptPopoverText": "プライベートメッセージは無効です。ユーザーがあなたのプロフィールからあなたへ連絡をとるのを許可するには、このオプションを有効にしてください。",
"PMDisabledCaptionTitle": "プライベートメッセージは停止されました",
"PMDisabledCaptionText": "あなたはまだメッセージを送ることはできますが、誰もあなたにメッセージを送ることはできません。",
"block": "ブロックする",
"unblock": "ブロックを解除する",
- "blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
+ "blockWarning": "ブロック - もしプレイヤーが現在モデレーターである、もしくは将来モデレーターになった場合は効果がありません。",
"pm-reply": "返信する",
"inbox": "受信トレイ",
"messageRequired": "メッセージが必要です。",
@@ -258,7 +259,7 @@
"userRequestsApproval": "<%= userName %>がタスク承認をもとめています",
"userCountRequestsApproval": "<%= userCount %>人のメンバーが承認を求めています。",
"youAreRequestingApproval": "タスク承認を依頼中です",
- "chatPrivilegesRevoked": "You cannot do that because your chat privileges have been revoked.",
+ "chatPrivilegesRevoked": "あなたのチャットの特権は取り消されているため、それはできません。",
"cannotCreatePublicGuildWhenMuted": "あなたのチャットの特権は取り消されているので、公共ギルドを作成することはできません。",
"cannotInviteWhenMuted": "あなたのチャットの特権は取り消されているので、誰かをギルドやパーティーに招待することはできません。",
"newChatMessagePlainNotification": "<%= groupName %> に <%= authorName %> からの新着メッセージがあります。ここをクリックするとチャットページが開きます!",
@@ -269,11 +270,11 @@
"to": "→ ",
"from": "← ",
"desktopNotificationsText": "パーティーチャットの新しいメッセージをデスクトップ通知するため、あなたの認証が必要です! ブラウザに表示される案内にそって、許可をお願いします。
通知されるのは、Habitica を開いている間だけです。もしお気に召さなければ、ブラウザの設定で無効に設定することもできます。
このメッセージボックスは、決定がなされた後、自動的に閉じます。",
- "confirmAddTag": "「<%= tag %>」を追加します。よろしいですか?",
+ "confirmAddTag": "「<%= tag %>」にこのタスクを割り当てます。よろしいですか?",
"confirmRemoveTag": "「<%= tag %>」を削除します。よろしいですか?",
"groupHomeTitle": "ホーム",
"assignTask": "タスクを割り当てる",
- "claim": "受け取る",
+ "claim": "担当する",
"removeClaim": "担当を解除",
"onlyGroupLeaderCanManageSubscription": "グループの登録管理は、グループリーダーだけが行います",
"yourTaskHasBeenApproved": "あなたのタスク \"<%= taskText %>\" は承認されました。",
@@ -292,9 +293,9 @@
"groupBenefitOneTitle": "共有されたタスクリストを作成",
"groupBenefitOneDescription": "メンバーの誰でも閲覧と編集ができる共有されたタスクリストを設定します。",
"groupBenefitTwoTitle": "タスクをグループ内のメンバーに割り当てる",
- "groupBenefitTwoDescription": "同僚に重要なメールについての回答がほしい?ルームメイトに日用品を運んでほしい?タスクを作成して彼らに割り当てましょう。割り当てたタスクは自動的に彼らのタスク一覧に表示されます。",
- "groupBenefitThreeTitle": "取り組んでいるタスクを確保しておく",
- "groupBenefitThreeDescription": "グループタスクは、クリックひとつであなたのものとして確保できます。誰がどのタスクに取り組んでいるのかはっきりさせておきましょう!",
+ "groupBenefitTwoDescription": "同僚に重要なメールについての回答がほしいですか? ルームメイトに日用品を運んでほしいですか? タスクを作成して彼らに割り当てましょう。割り当てたタスクは自動的に彼らのタスク一覧に表示されます。",
+ "groupBenefitThreeTitle": "取り組んでいるタスクの担当になる",
+ "groupBenefitThreeDescription": "どのグループタスクも、クリックひとつであなたの担当として表明できます。誰がどのタスクに取り組んでいるのかはっきりさせておきましょう!",
"groupBenefitFourTitle": "特別な承認が必要なタスクをマーク",
"groupBenefitFourDescription": "ユーザーがごほうびを得る前に、タスクが本当に完了されたのかを確かめたいですか? 承認の設定を調節することでコントロールを強化できますよ。",
"groupBenefitFiveTitle": "あなたのグループ内だけでチャット",
@@ -303,7 +304,7 @@
"groupBenefitSixDescription": "毎月の限定アイテムやジェムをゴールドで購入できる権利を含む、すべての寄付者特典を手に入れましょう!(もしあなたがすでに寄付会員であれば、古いほうの寄付は中止されますが、「神秘の砂時計」などの寄付の継続特典は残ります。)",
"groupBenefitSevenTitle": "ぴかぴかの限定乗騎、ジャッカロープを手に入れよう",
"groupBenefitEightTitle": "タスク管理を助けるためにグループマネージャーを追加",
- "groupBenefitEightDescription": "グループの責任を分かち合いたいですか? メンバーをグループマネージャーに昇進させ、リーダーがタスクを追加、割り当て、承認するのを手伝ってもらいましょう!",
+ "groupBenefitEightDescription": "グループの責任を分かち合いたいですか? メンバーをグループマネージャーに昇進させ、リーダーがタスクを追加、割り当て、承認するのを手伝ってもらいましょう!",
"groupBenefitMessageLimitTitle": "メッセージの上限を増やす",
"groupBenefitMessageLimitDescription": "あなたのメッセージの上限は2倍になり、最大400件までのメッセージを保存することができます!",
"teamBasedTasks": "チーム基準のタスク",
@@ -321,21 +322,21 @@
"approvalsTitle": "承認待ちのタスク",
"upgradeTitle": "アップグレード",
"blankApprovalsDescription": "あなたのグループが、あなたの承認を必要とするタスクを片付けた場合はここに表示されます!タスクの編集にて承認の条件について設定することができます。",
- "userIsClamingTask": "<%= username %>は<%= task %>と言っています",
+ "userIsClamingTask": "<%= username %>が担当しています:<%= task %>",
"approvalRequested": "承認が申請されました",
"refreshApprovals": "承認の更新",
"refreshGroupTasks": "グループタスクの更新",
- "claimedBy": "確保しているユーザー: <%= claimingUsers %>",
+ "claimedBy": "担当しているユーザー:<%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "あなたへと割り当てられたタスクを削除することはできません。",
"confirmGuildPlanCreation": "このグループを作りますか?",
"onlyGroupLeaderCanInviteToGroupPlan": "寄付が有効化されているグループには,グループのリーダーだけがユーザーを招待できます。",
"paymentDetails": "支払いについての詳細",
- "aboutToJoinCancelledGroupPlan": "あなたはプランが中止されたグループに参加しようとしています。無料の寄付者特典を得ることはできません。",
+ "aboutToJoinCancelledGroupPlan": "あなたはプランが中止されたグループに参加しようとしています。無料の寄付会員特典を得ることはできません。",
"cannotChangeLeaderWithActiveGroupPlan": "グループにアクティブなプランがある間はリーダーを変更できません。",
"leaderCannotLeaveGroupWithActiveGroup": "リーダーはアクティブなプランを持つグループから脱退することはできません。",
- "youHaveGroupPlan": "You have a free subscription because you are a member of a group that has a Group Plan. This will end when you are no longer in the group that has a Group Plan. Any months of extra subscription credit you have will be applied at the end of the Group Plan.",
+ "youHaveGroupPlan": "あなたはグループプランに加入しているグループのメンバーのため、無料で寄付会員特典が受けられます。これはすでにグループプランに加入したグループにいない場合に終了します。あなたが持つ何ヶ月かの余分な寄付会員特典の残高は、グループプランの終了時に適用されます。",
"cancelGroupSub": "グループプランを中止",
- "confirmCancelGroupPlan": "本当にグループプランを中止し、メンバー全員から無料の寄付者特典を含むすべての特典を削除しますか?",
+ "confirmCancelGroupPlan": "本当にグループプランを中止し、メンバー全員から無料の寄付会員特典を含むすべての特典を削除しますか?",
"canceledGroupPlan": "キャンセルされたグループプラン",
"groupPlanCanceled": "グループプランの終了日",
"purchasedGroupPlanPlanExtraMonths": "あなたは <%= months %> カ月分のグループプラン延長クレジットをもっています。",
@@ -381,16 +382,16 @@
"bronzeTier": "ブロンズ段位",
"privacySettings": "プライバシー設定",
"onlyLeaderCreatesChallenges": "リーダーだけが、チャレンジをつくることができます。",
- "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.",
+ "onlyLeaderCreatesChallengesDetail": "このオプションを選ぶと、一般のグループメンバーはグループのためのチャレンジを作成することができません。",
"privateGuild": "プライベート ギルド",
"charactersRemaining": "残り<%= characters %>文字",
"guildSummary": "概要",
"guildSummaryPlaceholder": "他のHabiticanにあなたのチャレンジを宣伝する簡単な紹介文を書きましょう。何がチャレンジの主な目的で、なぜ参加する必要があるのでしょうか? Habiticanたちが探すときに見つけやすいように、有用なキーワードを入れてみましょう!",
"groupDescription": "説明",
- "guildDescriptionPlaceholder": "Use this section to go into more detail about everything that Guild members should know about your Guild. Useful tips, helpful links, and encouraging statements all go here!",
+ "guildDescriptionPlaceholder": "あなたのギルドについてギルドメンバーが知るべき全てのことについて、より詳しい情報を述べるためにこのセクションを使ってください。役立つヒント、有益なリンク、そして励みになる言葉は全てここへどうぞ!",
"markdownFormattingHelp": "[Markdown記法のヘルプ](http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet)",
"partyDescriptionPlaceholder": "私たちのパーティーの説明です。このパーティーで何をするかが書かれています。このパーティーでやることについてもっと知りたい場合、この説明を読んでください。楽しもう。",
- "guildGemCostInfo": "A Gem cost promotes high quality Guilds and is transferred into your Guild's bank.",
+ "guildGemCostInfo": "ジェムの費用によって高品質のギルドへ昇進させます。そして、ジェムはあなたのギルド口座に移されます。",
"noGuildsTitle": "あなたはどのギルドにも所属していません。",
"noGuildsParagraph1": "ギルドはプレイヤー同士で助け合い、責任を共有し、チャットで励まし合うために作られる社交のためのグループです。",
"noGuildsParagraph2": "ギルドを探すタブをクリックして、あなたの興味にもとづいてお勧めされるギルドを確認したり、一般公開されているギルドを探したり、自分のギルドを作ったりしてみましょう。",
@@ -405,7 +406,7 @@
"createParty": "パーティーを作る",
"inviteMembersNow": "すぐにメンバーを招待したいですか?",
"playInPartyTitle": "パーティーに入ってHabiticaをプレーしましょう!",
- "playInPartyDescription": "Take on amazing quests with friends or on your own. Battle monsters, create Challenges, and help yourself stay accountable through Parties.",
+ "playInPartyDescription": "仲間たちと一緒に、または各自で、素晴らしいクエストに挑戦しましょう。モンスターと戦ったり、チャレンジを作ったり…… そして、パーティーを通じてあなた自身を責任ある状態にし続けてみましょう。",
"startYourOwnPartyTitle": "自分のパーティーを作る",
"startYourOwnPartyDescription": "一人でモンスターと戦うか、好きなだけたくさんの友達を招待して戦おう!",
"shartUserId": "ユーザーIDを共有する",
@@ -442,33 +443,33 @@
"worldBossBullet4": "ワールドボスとの戦いの進み具合と怒りの一撃を確認するために、キャンプ場を定期的にチェックしよう",
"worldBoss": "ワールドボス",
"groupPlanTitle": "チームのためにより高度な機能をお求めですか?",
- "groupPlanDesc": "Managing a small team or organizing household chores? Our group plans grant you exclusive access to a private task board and chat area dedicated to you and your group members!",
+ "groupPlanDesc": "小さなチームを管理したい、もしくは家事を整理したいですか? 私たちのグループプランは、プライベートなタスクボードと、あなたのグループメンバー専用のチャットエリアへの独占的なアクセスを提供します!",
"billedMonthly": "毎月の寄付として請求",
"teamBasedTasksList": "チームのタスクリスト",
- "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!",
- "groupManagementControls": "グループ管理コントロール",
- "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.",
+ "teamBasedTasksListDesc": "グループのために見やすく共有されたタスクリストを使ってみましょう。仲間のグループメンバーにタスクを割り当てたり、みんながどんな作業をしているかを明確にするために、それぞれが受け持つタスクの担当を表明してもらいましょう。",
+ "groupManagementControls": "グループのマネジメント・コントロール",
+ "groupManagementControlsDesc": "タスクが本当に完了されたかを確認するためにタスク承認機能を使いましょう。グループメンバーへ任務を共有するためのグループマネージャーを追加し、全てのチームメンバーのためのプライベートなグループチャットを楽しみましょう。",
"inGameBenefits": "ゲーム中のメリット",
- "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.",
+ "inGameBenefitsDesc": "グループメンバーは、限定のジャッカロープの乗騎だけでなく、特別な月ごとの装備セットや、ゴールドでジェムを買う機能など、たくさんの寄付特典を手に入れます。",
"inspireYourParty": "パーティで刺激し合い、一緒に人生をゲーム化しましょう。",
"letsMakeAccount": "まずはアカウントを作成しましょう",
"nameYourGroup": "次に、あなたのグループの名前をつけましょう",
"exampleGroupName": "例: Avengers Academy",
- "exampleGroupDesc": "For those selected to join the training academy for The Avengers Superhero Initiative",
+ "exampleGroupDesc": "敵を討つスーパーヒーローの第一歩として、訓練学校へ入学する選ばれし者たちのために",
"thisGroupInviteOnly": "このグループは招待制です。",
"gettingStarted": "はじめよう",
- "congratsOnGroupPlan": "Congratulations on creating your new Group! Here are a few answers to some of the more commonly asked questions.",
+ "congratsOnGroupPlan": "おめでとうございます! あなたの新しいグループが設立されました。こちらにいくつかのよくある質問と答えがあります。",
"whatsIncludedGroup": "寄付特典に含まれるもの",
- "whatsIncludedGroupDesc": "All members of the Group receive full subscription benefits, including the monthly subscriber items, the ability to buy Gems with Gold, and the Royal Purple Jackalope mount, which is exclusive to users with a Group Plan membership.",
- "howDoesBillingWork": "How does billing work?",
- "howDoesBillingWorkDesc": "Group Leaders are billed based on group member count on a monthly basis. This charge includes the $9 (USD) price for the Group Leader subscription, plus $3 USD for each additional group member. For example: A group of four users will cost $18 USD/month, as the group consists of 1 Group Leader + 3 group members.",
+ "whatsIncludedGroupDesc": "グループのメンバー全員がたくさんの寄付特典を受け取ることができます。月ごとの寄付会員アイテム、ゴールドでジェムを買う機能、そしてグループプランメンバーシップのユーザー限定の、高貴な紫のジャッカロープの乗騎などです。",
+ "howDoesBillingWork": "どのように課金しますか?",
+ "howDoesBillingWorkDesc": "グループリーダーは、月ごとの基準でグループメンバー数に基づいた請求をされます。この料金には、グループリーダーのための $9 (USD) がふくまれ、 さらに各グループメンバーごとに $3 USD が加算されます。 例えば、4人のユーザーのグループは、1人のグループリーダーと3人のグループメンバーで構成されるため、月ごとに $18 USD の費用がかかります。",
"howToAssignTask": "どのようにタスクを割り当てますか?",
- "howToAssignTaskDesc": "Assign any Task to one or more Group members (including the Group Leader or Managers themselves) by entering their usernames in the \"Assign To\" field within the Create Task modal. You can also decide to assign a Task after creating it, by editing the Task and adding the user in the \"Assign To\" field!",
- "howToRequireApproval": "How do you mark a Task as requiring approval?",
- "howToRequireApprovalDesc": "Toggle the \"Requires Approval\" setting to mark a specific task as requiring Group Leader or Manager confirmation. The user who checked off the task won't get their rewards for completing it until it has been approved.",
- "howToRequireApprovalDesc2": "Group Leaders and Managers can approve completed Tasks directly from the Task Board or from the Notifications panel.",
+ "howToAssignTaskDesc": "タスクを作る画面の中の「割り当て対象」フィールドにユーザーネームを記入することで、1人かそれ以上のグループメンバー(グループリーダーやマネージャー自身も含む)にタスクを割り当てましょう。タスクを作った後でも、タスクの編集で「割り当て対象」フィールドにユーザーを追加することで割り当てを決定することもできます。",
+ "howToRequireApproval": "承認を求めるとき、どのようにタスクにマークしますか?",
+ "howToRequireApprovalDesc": "グループリーダーかマネージャーに特定のタスクの承認を要求するときは、「承認を求める」設定に切り替えてマークしましょう。そのタスクに完了のチェックを入れたユーザーは、タスクが承認されるまで完了したことへの報酬を受け取ることはできません。",
+ "howToRequireApprovalDesc2": "グループのリーダーとマネージャーは、タスクボードか告知パネルから直接タスクの完了を承認することができます。",
"whatIsGroupManager": "グループマネージャーとは?",
- "whatIsGroupManagerDesc": "A Group Manager is a user role that do not have access to the group's billing details, but can create, assign, and approve shared Tasks for the Group's members. Promote Group Managers from the Group’s member list.",
+ "whatIsGroupManagerDesc": "グループマネージャーは、グループの請求明細にアクセスすることはできない役割ですが、グループメンバーのために共有タスクを作ったり、指示したり、承認したりすることができます。グループメンバーリストからグループマネージャーに昇進させましょう。",
"goToTaskBoard": "タスクボードに戻る",
"sharedCompletion": "共有タスク",
"recurringCompletion": "なし - グループタスクは完了しません。",
diff --git a/website/common/locales/ja/limited.json b/website/common/locales/ja/limited.json
index 1a33f95d67..05c78af6a8 100644
--- a/website/common/locales/ja/limited.json
+++ b/website/common/locales/ja/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "ミノカサゴの魔道士 (魔道士)",
"summer2018MerfolkMonarchSet": "人魚王 (治療師)",
"summer2018FisherRogueSet": "釣り師の盗賊 (盗賊)",
+ "fall2018MinotaurWarriorSet": "ミノタウロス (戦士)",
+ "fall2018CandymancerMageSet": "キャンディマンサー (魔道士)",
+ "fall2018CarnivorousPlantSet": "食肉植物 (治療師)",
+ "fall2018AlterEgoSet": "オルター・エゴ (盗賊)",
"eventAvailability": "<%= date(locale) %>まで購入できます。",
"dateEndMarch": "4月30日",
"dateEndApril": "4月19日",
diff --git a/website/common/locales/ja/messages.json b/website/common/locales/ja/messages.json
index 499fd862f4..6a3ce005e1 100644
--- a/website/common/locales/ja/messages.json
+++ b/website/common/locales/ja/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "通知 ID が必要です。",
"unallocatedStatsPoints": "<%= points %>ポイントが割り当てできます。",
"beginningOfConversation": "<%= userName %>との会話の始まりです。相手に対して思いやりと敬意を持ち、コミュニティガイドラインを守ることを忘れないでください!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "申し訳ありません。このユーザーはアカウントを削除しています。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/questscontent.json b/website/common/locales/ja/questscontent.json
index 617763e475..897edc6271 100644
--- a/website/common/locales/ja/questscontent.json
+++ b/website/common/locales/ja/questscontent.json
@@ -60,12 +60,12 @@
"questSpiderUnlockText": "市場でクモのたまごを買えるようにする",
"questGroupVice": "バイス、影のウィルム",
"questVice1Text": "バイス・第1 部:ドラゴンの影響から自分を解放する",
- "questVice1Notes": "うわさでは、Habitica 山の洞穴に、恐ろしい魔物がひそんでいる、と。このモンスターの存在は、この国の勇者たちの意思をねじ曲げ、悪いくせと怠け心へと向かわせるのです! このモンスターは、計り知れない力と自らの影を取りこんだ巨大なドラゴン、その名も「バイス」。悪と名付けられた危険な影のウィルム(ドラゴン)。勇敢な Habitica の挑戦者たちよ! 立ち上がり、力を合わせてこの汚らわしい魔物を打ち倒しましょう。ただし、この計り知れない力に立ち向かう自信のある者だけで。
バイス・第1 部 :
あなた自身がすでに魔物の支配下におかれているとしたら、どうやってその魔物とたたかうことができるでしょうか? 怠け心と悪習の犠牲となってはいけません! ドラゴンの暗い影響力と懸命にたたかい、バイスからの支配をはねのけるのです!
",
+ "questVice1Notes": "うわさでは、Habitica 山の洞穴に、恐ろしい魔物がひそんでいるそうです。このモンスターの存在は、この国の勇者たちの意思をねじ曲げ、悪いくせと怠け心へと向かわせるのです! このモンスターは、計り知れない力と自らの影を取りこんだ巨大なドラゴン、その名も「バイス」。悪と名付けられた危険な影のウィルム(ドラゴン)。勇敢な Habitica の挑戦者たちよ! 立ち上がり、力を合わせてこの汚らわしい魔物を打ち倒しましょう。ただし、この計り知れない力に立ち向かう自信のある者だけで。
バイス・第1 部 :
あなた自身がすでに魔物の支配下におかれているとしたら、どうやってその魔物とたたかうことができるでしょうか? 怠け心と悪習の犠牲となってはいけません! ドラゴンの暗い影響力と懸命にたたかい、バイスからの支配をはねのけるのです!
",
"questVice1Boss": "バイスの影",
"questVice1Completion": "あなたを支配していたバイスの影響力は消え去り、いつの間にか取り戻していた力が湧き上がるのをあなたは感じます。おめでとう!しかし、より恐ろしい敵があなたを待ち受けています・・・",
"questVice1DropVice2Quest": "バイス・第 2 部 ( 巻物 )",
"questVice2Text": "バイス・第 2 部:ウィルムの隠れ家を探せ",
- "questVice2Notes": "自分自身とウィルムの影響力に立ち向かえる自分の能力とへの信頼で、あなたのパーティーは Habitica 山へ向かう道を切り開くことができました。山の洞穴の入り口で、足が止まりました。影のうねりです。まるで霧のようであり、目の前で口を開け、押し寄せてくるようです。前を見ることも不可能です。ランタンからの光は、影がはじまるところで、突然さえぎられてしまいます。奇跡の光だけがドラゴンの地獄のかすみを突きぬけることができるといいます。光のクリスタルを十分探し出すことができれば、ドラゴンへの道を進むことができるはずです。",
+ "questVice2Notes": "影のウィルムであるバイスの影響力に立ち向かえる自分自身と 自分の能力への信頼で、あなたのパーティーは Habitica 山へ向かう道を切り開くことができました。山の洞穴の入り口で、足が止まりました。影のうねりです。まるで霧のようであり、目の前で口を開け、押し寄せてくるようです。前を見ることも不可能です。ランタンからの光は、影がはじまるところで、突然さえぎられてしまいます。奇跡の光だけがドラゴンの地獄のかすみを突きぬけることができると言われています。光のクリスタルを十分探し出すことができれば、ドラゴンへの道を進むことができるはずです。 ",
"questVice2CollectLightCrystal": "光のクリスタル",
"questVice2Completion": "最後のクリスタルを高く掲げると影は追い散らされ、目の前に道が開けました。胸の高鳴りとともに、あなたは洞窟へと歩みを進めます。",
"questVice2DropVice3Quest": "バイス・第 3 部 ( 巻物 )",
@@ -73,7 +73,7 @@
"questVice3Notes": "多くの努力の結果、パーティーはバイスの巣を見つけました。この図体の大きいモンスターはパーティーに嫌悪の目を向けます。まわりを影の渦が取り囲み、ささやき声が頭の中に直接ひびいてくるのです。「もっと愚かな Habitica の市民が私を止めにくる? かわいいものだ。来ない方が賢かったのにな」。うろこで覆われた巨人は頭をもたげて攻撃の構えをとっています。これはチャンスです! これまで得たものすべてをくらわせ、バイスを倒し決着をつけましょう!",
"questVice3Completion": "影は洞穴から消え、鋼のような静けさが訪れました。これは驚いた、あなたはやりました! バイスを倒したのです! あなたとパーティーはやっと、ほっと息をつくことでしょう。勇敢なHabitica の挑戦者たち、勝利を楽しみましょう。しかし、バイスとの戦いで学んだことを教訓に、前に進みましょう。まだやるべきタスク、倒すべき今は目に見えないより凶悪な悪魔も残っているのです。",
"questVice3Boss": "バイス、影のウィルム",
- "questVice3DropWeaponSpecial2": "Stephen Weber のドラゴンの棒",
+ "questVice3DropWeaponSpecial2": "ステファン・ウェバーの竜のシャフト",
"questVice3DropDragonEgg": "ドラゴン ( たまご )",
"questVice3DropShadeHatchingPotion": "影のたまごがえしの薬",
"questGroupMoonstone": "復活のリシディヴェート",
@@ -616,5 +616,7 @@
"questKangarooCompletion": "「今だ!」 あなたはカンガルーに向けてブーメランを投げ返すよう仲間たちに合図しました。当たるたびにあの獣は遠くへ飛び跳ねていき、ついに彼女は逃げ出します。あとには赤黒い土埃が立ち込めて、いくつかのたまごと、いくらかのゴールドしか残されていませんでした。
@Mewrose はかつてカンガルーが立っていた場所に歩き進みます。「ねぇ、あのブーメランはどこへ行ったの?」
「あれはたぶん、あの赤黒い土埃が立ち込める中へ消えたんだろう。私たちがそれぞれのタスクを終わらせたときにね。」 @stefalupagus は思いを巡らせました。
@LilithofAlfheim は地平線を眺めます。「また違うカンガルーの群れが私たちの方に向かってきてない?」
あなたたちは全員で一目散にHabiticaの街へ走って帰りました。また後頭部にたんこぶをつくるよりも、難しいタスクに立ち向かった方が良いでしょう!",
"questKangarooBoss": "カタストロフィック・カンガルー",
"questKangarooDropKangarooEgg": "カンガルー (たまご)",
- "questKangarooUnlockText": "市場でカンガルーのたまごを買えるようにする"
+ "questKangarooUnlockText": "市場でカンガルーのたまごを買えるようにする",
+ "forestFriendsText": "「森の仲間たち」クエストセット",
+ "forestFriendsNotes": "「春の精」「巨大ハリネズミ」「混乱の木」のセット。9月30日まで購入できます。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/subscriber.json b/website/common/locales/ja/subscriber.json
index 44389c133d..3a9c01a56e 100644
--- a/website/common/locales/ja/subscriber.json
+++ b/website/common/locales/ja/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "グッとくるクジャクセット",
"mysterySet201806": " 誘惑のチョウチンアンコウ セット",
"mysterySet201807": "シーサーペント セット",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "溶岩竜セット",
+ "mysterySet201809": "秋のよろい セット",
"mysterySet301404": "スチームパンク標準 セット",
"mysterySet301405": "スチームパンク アクセサリー セット",
"mysterySet301703": "クジャクのスチームパンク セット",
diff --git a/website/common/locales/nl/backgrounds.json b/website/common/locales/nl/backgrounds.json
index cf5be22636..a8eaf66072 100644
--- a/website/common/locales/nl/backgrounds.json
+++ b/website/common/locales/nl/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rotsachtig Ravijn",
"backgroundFlyingOverRockyCanyonNotes": "Kijk omlaag naar een verademend landschap wanneer je over een Rotsachtig Ravijn vliegt.",
"backgroundBridgeText": "Brug",
- "backgroundBridgeNotes": "Ga over een charmante Brug."
+ "backgroundBridgeNotes": "Ga over een charmante Brug.",
+ "backgrounds092018": "SET 52: Uitgebracht September 2018",
+ "backgroundApplePickingText": "Appel Plukken",
+ "backgroundApplePickingNotes": "Ga Appels Plukken en breng een er mee naar huis.",
+ "backgroundGiantBookText": "Reuzen Boek",
+ "backgroundGiantBookNotes": "Lees terwijl je door de pagina's van een Reuzen Boek gaat.",
+ "backgroundCozyBarnText": "Gezellige Schuur",
+ "backgroundCozyBarnNotes": "Ontspan met je dieren en rijdieren in hun gezellige schuur"
}
\ No newline at end of file
diff --git a/website/common/locales/nl/character.json b/website/common/locales/nl/character.json
index 6d686cc954..34e886e0fd 100644
--- a/website/common/locales/nl/character.json
+++ b/website/common/locales/nl/character.json
@@ -154,7 +154,7 @@
"optOutOfPMs": "Afmelden",
"chooseClass": "Je klasse kiezen",
"chooseClassLearnMarkdown": "[Leer meer over Habitica's klassesysteem] (http://nl.habitica.wikia.com/wiki/Klasse_systeem)",
- "optOutOfClassesText": "Can't be bothered with classes? Want to choose later? Opt out - you'll be a warrior with no special abilities. You can read about the class system later on the wiki and enable classes at any time under User Icon > Settings.",
+ "optOutOfClassesText": "Geen zin om een klasse te kiezen? Wil je later pas kiezen? Meld je af - je speelt dan een krijger zonder speciale vaardigheden. Je kunt later in de wiki over het klassensysteem lezen en op ieder moment de klassen aanzetten in het menu onder Gebruiker -> Statistieken.",
"selectClass": "Selecteer <%= heroClass %>",
"select": "Selecteren",
"stealth": "Heimelijkheid",
@@ -202,8 +202,9 @@
"int": "INT",
"showQuickAllocation": "Toon verdeling Eigenschapspunten",
"hideQuickAllocation": "Verberg verdeling Eigenschapspunten",
- "quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
- "notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "quickAllocationLevelPopover": "Met ieder niveau verdien je een Punt om toe te wijzen aan een Eigenschap van jouw keuze. Je kunt dit eigenhandig doen of het spel voor je laten bepalen door een van de automatische toewijzingsopties te kiezen in Gebruiker -> Statistieken.",
+ "notEnoughAttrPoints": "Je hebt niet genoeg Eigenschapspunten.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stijl",
"facialhair": "Gezicht",
"photo": "Foto",
diff --git a/website/common/locales/nl/content.json b/website/common/locales/nl/content.json
index ac211c648b..0db81dea24 100644
--- a/website/common/locales/nl/content.json
+++ b/website/common/locales/nl/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Sterrennacht",
"hatchingPotionRainbow": "Regenboog",
"hatchingPotionGlass": "Glas",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Giet dit over een ei, en er zal een <%= potText(locale) %> dierlijke metgezel uitkomen.",
"premiumPotionAddlNotes": "Niet te gebruiken op eieren van queeste-huisdieren.",
"foodMeat": "Vlees",
@@ -245,7 +246,7 @@
"foodCakeCottonCandyBlueA": "een snoep blauwe cake",
"foodCakeCottonCandyPink": "Snoep-roze taart",
"foodCakeCottonCandyPinkThe": "the Candy Pink Cake",
- "foodCakeCottonCandyPinkA": "a Candy Pink Cake",
+ "foodCakeCottonCandyPinkA": "Een Snoep Roze Cake",
"foodCakeShade": "Chocoladetaart",
"foodCakeShadeThe": "de chocolade cake",
"foodCakeShadeA": "een chocolade cake",
@@ -253,17 +254,17 @@
"foodCakeWhiteThe": "the Cream Cake",
"foodCakeWhiteA": "a Cream Cake",
"foodCakeGolden": "Honingtaart",
- "foodCakeGoldenThe": "the Honey Cake",
- "foodCakeGoldenA": "a Honey Cake",
+ "foodCakeGoldenThe": "De Honing Taart",
+ "foodCakeGoldenA": "een Honing Taart",
"foodCakeZombie": "Bedorven taart",
"foodCakeZombieThe": "de rotte cake",
- "foodCakeZombieA": "a Rotten Cake",
+ "foodCakeZombieA": "Een Rotte Taart",
"foodCakeDesert": "Zandtaartje",
"foodCakeDesertThe": "de zand cake",
"foodCakeDesertA": "een zand cake",
"foodCakeRed": "Aardbeientaart",
- "foodCakeRedThe": "the Strawberry Cake",
- "foodCakeRedA": "a Strawberry Cake",
+ "foodCakeRedThe": "De Aardbei Taart",
+ "foodCakeRedA": "een Aardbei Taart",
"foodCandySkeleton": "Kale-beenderensnoep",
"foodCandySkeletonThe": "the Bare Bones Candy",
"foodCandySkeletonA": "Bare Bones Candy",
@@ -278,19 +279,19 @@
"foodCandyCottonCandyPinkA": "Sour Pink Candy",
"foodCandyShade": "Chocoladesnoep",
"foodCandyShadeThe": "the Chocolate Candy",
- "foodCandyShadeA": "Chocolate Candy",
+ "foodCandyShadeA": "Chocolade Snoep",
"foodCandyWhite": "Vanillesnoep",
- "foodCandyWhiteThe": "the Vanilla Candy",
- "foodCandyWhiteA": "Vanilla Candy",
+ "foodCandyWhiteThe": "De Vanile Snoep",
+ "foodCandyWhiteA": "Vanile Snoep",
"foodCandyGolden": "Honingsnoep",
"foodCandyGoldenThe": "the Honey Candy",
- "foodCandyGoldenA": "Honey Candy",
+ "foodCandyGoldenA": "Honing Snoep",
"foodCandyZombie": "Bedorven snoep",
"foodCandyZombieThe": "het bedorven snoep",
- "foodCandyZombieA": "Rotten Candy",
+ "foodCandyZombieA": "Rotte Snoep",
"foodCandyDesert": "Zandsnoep",
"foodCandyDesertThe": "the Sand Candy",
- "foodCandyDesertA": "Sand Candy",
+ "foodCandyDesertA": "Zand Snoep",
"foodCandyRed": "Kaneelsnoep",
"foodCandyRedThe": "een kaneelsnoepje",
"foodCandyRedA": "Kaneelsnoep",
diff --git a/website/common/locales/nl/front.json b/website/common/locales/nl/front.json
index 7995077603..2c4a1ab3ab 100644
--- a/website/common/locales/nl/front.json
+++ b/website/common/locales/nl/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Ongeldig e-mailadres.",
"emailTaken": "E-mailadres is al in gebruik door een account.",
"newEmailRequired": "Ontbrekend nieuw e-mailadres.",
- "usernameTaken": "Loginnaam is al in gebruik.",
- "usernameWrongLength": "Inlognaam moet tussen de 1 en 20 karakters lang zijn.",
- "usernameBadCharacters": "Inlognaam mag alleen bestaan uit letters a t/m z, nummers 0 t/m 9, koppeltekens of liggende streepjes.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Wachtwoordconfirmatie komt niet overeen met wachtwoord.",
"invalidLoginCredentials": "Incorrecte gebruikersnaam en/of e-mail en/of wachtwoord.",
"passwordResetPage": "Reset je wachtwoord",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Aanmelden met <%= social %>",
"loginWithSocial": "Inloggen met <%= social %>",
"confirmPassword": "Wachtwoord bevestigen",
- "usernameLimitations": "De Login Naam moet tussen de 1 en 20 karakters lang zijn, bevat enkel letters a tot z, of nummers 0 tot 9, of hyfen of uncerscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "Bijv., GewoonteDier",
"emailPlaceholder": "Bijv., dier@voorbeeld.com",
"passwordPlaceholder": "bijv., ******************",
@@ -322,13 +329,12 @@
"schoolAndWorkDesc": "Whether you're preparing a report for your teacher or your boss, it's easy to keep track of your progress as you tackle your toughest tasks.",
"muchmuchMore": "En heel veel meer!",
"muchmuchMoreDesc": "Our fully customizable task list means that you can shape Habitica to fit your personal goals. Work on creative projects, emphasize self-care, or pursue a different dream -- it's all up to you.",
- "levelUpAnywhere": "Level Up Anywhere",
- "levelUpAnywhereDesc": "Our mobile apps make it simple to keep track of your tasks on-the-go. Accomplish your goals with a single tap, no matter where you are.",
- "joinMany": "Join over 2,000,000 people having fun while accomplishing their goals!",
+ "levelUpAnywhere": "Ga overal een niveau omhoog",
+ "levelUpAnywhereDesc": "Onze mobiele app maakt het makkelijk om je taken onderweg bij te houden. Verwezelijk je doelen met een klik, waar je ook bent.",
+ "joinMany": "Sluit je aan bij 2 000 000 mensen die plezier hebben tijdens het verwezelijken van hun doelen!",
"joinToday": "Doe vandaag mee met Habitica",
"signup": "Aanmelden",
"getStarted": "Begin",
"mobileApps": "Mobiele apps",
- "learnMore": "Meer informatie",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Meer informatie"
}
\ No newline at end of file
diff --git a/website/common/locales/nl/gear.json b/website/common/locales/nl/gear.json
index 7f57d64f96..f547f9e9e8 100644
--- a/website/common/locales/nl/gear.json
+++ b/website/common/locales/nl/gear.json
@@ -256,9 +256,9 @@
"weaponSpecialSpring2018WarriorNotes": "Gemaakt van helder goud, deze bijl is sterk genoeg om de roodste taken aan te vallen. Verhoogt kracht met <%= str %>. Beperkte oplage 2018 Lenteuitrusting.",
"weaponSpecialSpring2018MageText": "Tulpenstaf",
"weaponSpecialSpring2018MageNotes": "Deze magische bloem verwelkt nooit! Verhoogt Intelligentie met <%= int %> en Perceptie met <%= per %>. Beperkte Oplage 2018 Lente Uitrusting.",
- "weaponSpecialSpring2018HealerText": "Garnet Rod",
+ "weaponSpecialSpring2018HealerText": "Granaat Staf",
"weaponSpecialSpring2018HealerNotes": "De stenen in deze staf zullen je kracht focussen wanneer je genezingstoverspreuken uitspreekt. Verhoogt Intelligentie met <%= int %>. Beperkte Oplage 2018 Lenteuitrusting.",
- "weaponSpecialSummer2018RogueText": "Fishing Rod",
+ "weaponSpecialSummer2018RogueText": "Vis hengel",
"weaponSpecialSummer2018RogueNotes": "This lightweight, practically unbreakable rod and reel can be dual-wielded to maximize your DPS (Dragonfish Per Summer). Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018WarriorText": "Betta Fish Spear",
"weaponSpecialSummer2018WarriorNotes": "Mighty enough for battle, elegant enough for ceremony, this exquisitely crafted spear shows you will protect your home surf no matter what! Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.",
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Feestmaal Hooivork",
"weaponMystery201411Notes": "Steek je vijanden neer of neem een schep van je favoriete eten - met deze hooivork kan het allemaal! Verleent geen voordelen. Abonnee-uitrusting november 2014.",
"weaponMystery201502Text": "Glimmende Gevleugelde Staff der Liefde alsook Wijsheid",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "wapenrusting",
"armorCapitalized": "Pantser",
"armorBase0Text": "Eenvoudige kleding",
@@ -445,7 +455,7 @@
"armorSpecialBirthday2017Text": "Wispelturig feestgewaad",
"armorSpecialBirthday2017Notes": "Fijne verjaardag, Habitica! Draag dit wispelturig feestgewaad om deze wonderbaarlijke dag te vieren. Verleent geen voordelen.",
"armorSpecialBirthday2018Text": "Fantasievolle feestmantel",
- "armorSpecialBirthday2018Notes": "Happy Birthday, Habitica! Wear these Fanciful Party Robes to celebrate this wonderful day. Confers no benefit.",
+ "armorSpecialBirthday2018Notes": "Gefeliciteerd met je verjaardag, Habitica! Draag deze fancy feestmantel om deze prachtige dag te vieren. Verleent geen voordelen.",
"armorSpecialGaymerxText": "Harnas van de Regenboogkrijger",
"armorSpecialGaymerxNotes": "Om de GaymerX-conferentie te vieren is deze speciale wapenrusting gedecoreerd met een stralend, kleurrijk, regenboogpatroon! GaymerX is een game-conventie die LGTBQ en gamen viert en open is voor iedereen.",
"armorSpecialSpringRogueText": "Kittig pakje",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Boodschappersgewaden",
"armorMystery201402Notes": "Het gewaad is glinsterend en sterk en heeft vele zakken om brieven te dragen. Verleent geen voordelen. Abonnee-uitrusting februari 2014.",
"armorMystery201403Text": "Woudlopersharnas",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "This sinuous tail features glowing spots to light your way through the deep. Confers no benefit. June 2018 Subscriber Item.",
"armorMystery201807Text": "Zeeslang staart",
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
- "armorMystery201808Text": "Lava Dragon Armor",
+ "armorMystery201808Text": "Lava Draken Harnas",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunkpak",
"armorMystery301404Notes": "Net en zwierig, niet? Verleent geen voordelen. Abonnee-uitrusting februari 3015.",
"armorMystery301703Text": "Steampunk pauw jurk",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Hoofdbescherming",
"headBase0Text": "Geen hoofduitrusting ",
@@ -968,7 +990,7 @@
"headSpecialFall2017RogueNotes": "Ready for treats? Time to don this festive, glowing helm! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.",
"headSpecialFall2017WarriorText": "Maïssnoephelm",
"headSpecialFall2017WarriorNotes": "This helm might look like a treat, but wayward tasks won't find it so sweet! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.",
- "headSpecialFall2017MageText": "Masquerade Helm",
+ "headSpecialFall2017MageText": "Gemaskerd bal Helm",
"headSpecialFall2017MageNotes": "When you appear in this feathery hat, everyone will be left guessing the identity of the magical stranger in the room! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.",
"headSpecialFall2017HealerText": "Spookslothelm",
"headSpecialFall2017HealerNotes": "Nodig geestige geesten en schattige schepsels uit om je genezende krachten te voelen door deze helm! Verhoogt Intelligentie met<%= int %>. Beperkte Oplage 2017 Herfstuitrusting. ",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Helm van de Regenboogkrijger",
"headSpecialGaymerxNotes": "Om de GaymerX conferentie te vieren, is deze speciale helm gedecoreerd met een stralend, kleurrijk, regenboogpatroon! GaymerX is een game-conventie die LGTBQ en gamen viert en open is voor iedereen.",
"headMystery201402Text": "Gevleugelde helm",
@@ -1062,7 +1092,7 @@
"headMystery201710Notes": "This helm makes you look intimidating... but it won't do any favors for your depth perception! Confers no benefit. October 2017 Subscriber Item.",
"headMystery201712Text": "Candlemancer Crown",
"headMystery201712Notes": "This crown will bring light and warmth to even the darkest winter night. Confers no benefit. December 2017 Subscriber Item.",
- "headMystery201802Text": "Love Bug Helm",
+ "headMystery201802Text": "Lieveheersbeestjes Helm",
"headMystery201802Notes": "The antennae on this helm act as cute dowsing rods, detecting feelings of love and support nearby. Confers no benefit. February 2018 Subscriber Item.",
"headMystery201803Text": "Provocerend Libelle Diadeem",
"headMystery201803Notes": "Although its appearance is quite decorative, you can engage the wings on this circlet for extra lift! Confers no benefit. March 2018 Subscriber Item.",
@@ -1070,10 +1100,12 @@
"headMystery201805Notes": "This helm will make you the proudest and prettiest (possibly also the loudest) bird in town. Confers no benefit. May 2018 Subscriber Item.",
"headMystery201806Text": "Alluring Anglerfish Helm",
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
- "headMystery201807Text": "Sea Serpent Helm",
+ "headMystery201807Text": "Zee Slang Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
- "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Text": "Lava Draken Kap",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Chique hoge hoed",
"headMystery301404Notes": "Een chique hoge hoed voor lieden van deftigen huize! Abonnee-uitrusting januari 3015. Verleent geen voordelen.",
"headMystery301405Text": "Standaard hoge hoed",
@@ -1166,11 +1198,11 @@
"headArmoireCrownOfDiamondsNotes": "This shining crown isn't just a great hat; it will also sharpen your mind! Increases Intelligence by <%= int %>. Enchanted Armoire: King of Diamonds Set (Item 2 of 4).",
"headArmoireFlutteryWigText": "Fluttery Wig",
"headArmoireFlutteryWigNotes": "This fine powdered wig has plenty of room for your butterflies to rest if they get tired while doing your bidding. Increases Intelligence, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 2 of 4).",
- "headArmoireBirdsNestText": "Bird's Nest",
+ "headArmoireBirdsNestText": "VogelNest",
"headArmoireBirdsNestNotes": "If you start feeling movement and hearing chirps, your new hat might have turned into new friends. Increases Intelligence by <%= int %>. Enchanted Armoire: Independent Item.",
"headArmoirePaperBagText": "Papieren Zak",
"headArmoirePaperBagNotes": "This bag is a hilarious but surprisingly protective helm (don't worry, we know you look good under there!). Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
- "headArmoireBigWigText": "Big Wig",
+ "headArmoireBigWigText": "Grote Pruik",
"headArmoireBigWigNotes": "Some powdered wigs are for looking more authoritative, but this one is just for laughs! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
"headArmoireGlassblowersHatText": "Glassblower's Hat",
"headArmoireGlassblowersHatNotes": "This hat mainly just looks good with your other protective glassblowing gear! Increases Perception by <%= per %>. Enchanted Armoire: Glassblower Set (Item 3 of 4).",
@@ -1316,7 +1348,7 @@
"shieldSpecialFall2017RogueNotes": "Defeat your foes with sweetness! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.",
"shieldSpecialFall2017WarriorText": "Candy Corn Shield",
"shieldSpecialFall2017WarriorNotes": "This candy shield has mighty protective powers, so try not to nibble on it! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialFall2017HealerText": "Haunted Orb",
+ "shieldSpecialFall2017HealerText": "Spook Bol",
"shieldSpecialFall2017HealerNotes": "This orb occasionally screeches. We're sorry, we're not sure why. But it sure looks nifty! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
"shieldSpecialWinter2018RogueText": "Pepermunt Haak",
"shieldSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
@@ -1324,7 +1356,7 @@
"shieldSpecialWinter2018WarriorNotes": "Just about any useful thing you need can be found in this sack, if you know the right magic words to whisper. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
"shieldSpecialWinter2018HealerText": "Maretakbel",
"shieldSpecialWinter2018HealerNotes": "What's that sound? The sound of warmth and cheer for all to hear! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
- "shieldSpecialSpring2018WarriorText": "Shield of the Morning",
+ "shieldSpecialSpring2018WarriorText": "Schild van de Ochtend",
"shieldSpecialSpring2018WarriorNotes": "This sturdy shield glows with the glory of first light. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
"shieldSpecialSpring2018HealerText": "Garnet Shield",
"shieldSpecialSpring2018HealerNotes": "Despite its fancy appearance, this garnet shield is quite durable! Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Slachter van Voornemens",
"shieldMystery201601Notes": "Dit zwaard kan gebruikt worden om alle afleidingen af te weren. Verleent geen voordelen. Abonnee-uitrusting januari 2016.",
"shieldMystery201701Text": "Tijd-Stoppers-Schild",
@@ -1340,7 +1378,7 @@
"shieldMystery201708Notes": "Dit grove uit gesmolten steen bestaande schild beschermd je tegen slechte gewoontes, maar brand niet je handen. Verleent geen voordelen. Abonnee-uitrusting augustus 2017",
"shieldMystery201709Text": "Toverspreukenboek",
"shieldMystery201709Notes": "This book will guide you through your forays into sorcery. Confers no benefit. September 2017 Subscriber Item.",
- "shieldMystery201802Text": "Love Bug Shield",
+ "shieldMystery201802Text": "Lieveheersbeestje schild",
"shieldMystery201802Notes": "Although it may look like brittle candy, this shield is resistant to even the strongest Shattering Heartbreak attacks! Confers no benefit. February 2018 Subscriber Item.",
"shieldMystery301405Text": "Klokkenschild",
"shieldMystery301405Notes": "Je hebt alle tijd van de wereld met dit enorme klokkenschild! Verleent geen voordelen. Abonnee-uitrusting juni 3015.",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Onafgewerkt boekdeel",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Lichaamsaccessoire",
"backCapitalized": "Rug Accessoire ",
"backBase0Text": "Geen rugaccessoire",
"backBase0Notes": "Geen rugaccessoire.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Gouden vleugels",
"backMystery201402Notes": "Deze glanzende vleugels hebben veren die schitteren in de zon! Verleent geen voordelen. Abonnee-uitrusting februari 2014.",
"backMystery201404Text": "Vleugels van de Schemervlinder",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Deze mantel behoorde ooit toe aan de Vermiste Masterclasser. Verhoogt perceptie met <%= per %>.",
"backSpecialTurkeyTailBaseText": "Kalkoen Staart",
"backSpecialTurkeyTailBaseNotes": "Pronk met je Kalkoen Staart terwijl je feest viert! Verleent geen voordelen.",
+ "backBearTailText": "Beren Staart",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Staart",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Vossen Staart",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Leeuwen Staart",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Staart",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Varkens Staart",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tijger Staart",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolven Staart",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Lichaamsaccessoire",
"bodyCapitalized": "Lichaamsaccessoire",
"bodyBase0Text": "Geen lichaamsaccessoire",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Veiligheidsbrillen zijn voor je ogen,\" zeiden ze. \"Niemand wil een veiligheidsbril die je alleen maar op je hoofd kunt dragen,\" zeiden ze. Ha! Jij hebt ze laten zien hoe het echt moet! Verleent geen voordelen. Abonnee-uitrusting augustus 3015.",
"headAccessoryArmoireComicalArrowText": "Komische Pijl",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Oogaccessoire",
"eyewearCapitalized": "Oogaccessoire",
"eyewearBase0Text": "Geen oogaccessoire",
@@ -1608,7 +1667,7 @@
"eyewearMystery301703Notes": "Perfect voor een elegante maskerade of om geniepig door een mooi gekleed publiek te bewegen. Verleent geen voordelen. Abonnee-artikel Maart 3017. ",
"eyewearArmoirePlagueDoctorMaskText": "Pestmeestersmasker",
"eyewearArmoirePlagueDoctorMaskNotes": "An authentic mask worn by the doctors who battle the Plague of Procrastination. Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Plague Doctor Set (Item 2 of 3).",
- "eyewearArmoireGoofyGlassesText": "Goofy Glasses",
+ "eyewearArmoireGoofyGlassesText": "Gekke Bril",
"eyewearArmoireGoofyGlassesNotes": "Perfect for going incognito or just making your partymates giggle. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.",
"twoHandedItem": "Tweehandig voorwerp."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/generic.json b/website/common/locales/nl/generic.json
index 1f76ce6717..351b5cfec2 100644
--- a/website/common/locales/nl/generic.json
+++ b/website/common/locales/nl/generic.json
@@ -122,7 +122,7 @@
"error": "Fout",
"menu": "Menu",
"notifications": "Meldingen",
- "noNotifications": "You're all caught up!",
+ "noNotifications": "Je bent volledig klaar",
"noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
"clear": "Leegmaken",
"endTour": "Beëindigen",
@@ -172,9 +172,9 @@
"achievementDysheartenerText": "Helped defeat the Dysheartener during the 2018 Valentine's Event!",
"checkOutProgress": "Moet je mijn vooruitgang in Habitica eens zien!",
"cards": "Kaarten",
- "sentCardToUser": "You sent a card to <%= profileName %>",
- "cardReceivedFrom": "<%= cardType %> from <%= userName %>",
- "cardReceived": "You received a <%= card %>",
+ "sentCardToUser": "Je hebt een kaart verstuurd naar <%= profileName %>",
+ "cardReceivedFrom": "<%= cardType %> van <%= userName %>",
+ "cardReceived": "Je hebt een <%= card %>ontvangen",
"greetingCard": "Kaartje",
"greetingCardExplanation": "Jullie ontvangen allebei de Vrolijke Vriend-prestatie!",
"greetingCardNotes": "Stuur een kaart naar een groepslid.",
@@ -274,16 +274,16 @@
"hobbies_occupations": "Hobbies + bezigheden",
"location_based": "Gebaseerd op locatie",
"mental_health": "Mentale gezondheid + zelfverzorging",
- "getting_organized": "Getting Organized",
+ "getting_organized": "Jezelf Organiseren",
"self_improvement": "zelfverbetering",
"spirituality": "Spiritualiteit",
"time_management": "tijdsmanagement + aansprakelijkheid",
"recovery_support_groups": "Recovery + Support Groups",
- "dismissAll": "Dismiss All",
+ "dismissAll": "Allen afwijzen",
"messages": "Berichten",
"emptyMessagesLine1": "Je hebt geen berichten.",
"emptyMessagesLine2": "Stuur een bericht om een gesprek te beginnen!",
- "userSentMessage": "<%= user %> sent you a message",
+ "userSentMessage": "<%= user %> heeft je een bericht gestuurd",
"letsgo": "Laten we gaan!",
"selected": "Geselecteerd",
"howManyToBuy": "Hoeveel wil je kopen?",
diff --git a/website/common/locales/nl/groups.json b/website/common/locales/nl/groups.json
index d70ed99d3a..5e5f97dbd3 100644
--- a/website/common/locales/nl/groups.json
+++ b/website/common/locales/nl/groups.json
@@ -4,8 +4,9 @@
"innCheckOut": "Uitchecken bij de herberg",
"innCheckIn": "Rust uit in de herberg",
"innText": "Je bent aan het rusten in de herberg! Tijdens je verblijf zullen je dagelijkse taken je geen schade doen op het einde van de dag, maar ze zullen wel elke dag herladen. Opgelet: Als je in een Baas queeste deelneemt, zal de baas je nog steeds schade aanrichten voor de gemiste dagelijkse taken van je gezelschap leden tenzij ze ook in de herberg zijn! Je eigen schade aan de baas (of gecollecteerde items) zullen ook niet toegepast worden tot je je terug uit checkt.",
- "innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
+ "innTextBroken": "Je bent aan het uitrusten in de herberg, zo blijkt... Zolang je hier verblijft, zullen je dagelijkse taken je geen pijn doen aan het eind van de dag, maar ze zullen wel elke dag verversen... Wees gewaarschuwd: als je meedoet aan een Baas queeste met een Eindbaas, zal de Eindbaas je nog steeds pijn doen voor de dagelijkse taken die je Groepsgenoten missen... tenzij ze ook in de herberg verblijven... Je zult zelf ook geen schade toebrengen aan de Eindbaas (of voorwerpen krijgen) totdat je de herberg verlaat... zo moe...",
"innCheckOutBanner": "Je bent momenteel in de Herberg. Je dagelijkse taken zullen je niet verwonden en je zal geen vooruitgang maken in Queesten",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Nuttige links",
"communityGuidelinesLink": "Gemeenschapsrichtlijnen",
@@ -44,7 +45,7 @@
"LFG": "To advertise your new Party or find one to join, go to the <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %> Guild.",
"wantExistingParty": "Want to join an existing Party? Go to the <%= linkStart %>Party Wanted Guild<%= linkEnd %> and post this User ID:",
"joinExistingParty": "Aansluiten bij het gezelschap van iemand anders",
- "needPartyToStartQuest": "Whoops! You need to create or join a Party before you can start a quest!",
+ "needPartyToStartQuest": "Oeps! Je moet een groep aanmaken of je erbij aansluiten voor je een queeste kan beginnen!",
"createGroupPlan": "Aanmake",
"create": "Creëren",
"userId": "Gebruikers-ID",
@@ -52,20 +53,20 @@
"leave": "Verlaten",
"invitedToParty": "You were invited to join the Party <%= party %>",
"invitedToPrivateGuild": "You were invited to join the private Guild <%= guild %>",
- "invitedToPublicGuild": "You were invited to join the Guild <%= guild %>",
- "partyInvitationsText": "You have <%= numberInvites %> Party invitations! Choose wisely, because you can only be in one Party at a time.",
+ "invitedToPublicGuild": "Je werd uitgenodigd om je aan te sluiten bij de Gilde <%= guild %>",
+ "partyInvitationsText": "Je hebt <%= numberInvites %> Gezelschap uitnodigingen! Kies verstandig want je kan maar in 1 gezelschap tegelijkertijd. ",
"joinPartyConfirmationText": "Are you sure you want to join the Party \"<%= partyName %>\"? You can only be in one Party at a time. If you join, all other Party invitations will be rejected.",
"invitationAcceptedHeader": "Je uitnodiging is geaccepteerd",
"invitationAcceptedBody": "<%= username %> heeft je uitnodiging voor <%= groupName %> geaccepteerd!",
"joinNewParty": "Aansluiten bij nieuw gezelschap",
"declineInvitation": "Uitnodiging weigeren",
- "partyLoading1": "Your Party is being summoned. Please wait...",
- "partyLoading2": "Your Party is coming in from battle. Please wait...",
- "partyLoading3": "Your Party is gathering. Please wait...",
- "partyLoading4": "Your Party is materializing. Please wait...",
+ "partyLoading1": "Je Gezelschap wordt opgeroepen. Even geduld...",
+ "partyLoading2": "Je Gezelschap komt terug van te strijd. Even geduld...",
+ "partyLoading3": "Je Gezelschap komt samen. Even Geduld...",
+ "partyLoading4": "Je Gezelschap is aan het materialiseren. Even geduld...",
"systemMessage": "Systeembericht",
- "newMsgGuild": "<%= name %> has new posts",
- "newMsgParty": "Your Party, <%= name %>, has new posts",
+ "newMsgGuild": "<%= name %> heeft nieuwe berichten",
+ "newMsgParty": "Je Gezelschap, <%= name %>, heeft nieuwe berichten",
"chat": "Chat",
"sendChat": "Chat verzenden",
"toolTipMsg": "Recente berichten laden",
@@ -85,7 +86,7 @@
"assignLeader": "Groepsleider aanwijzen",
"members": "Leden",
"memberList": "Ledenlijst",
- "partyList": "Order for Party members in header",
+ "partyList": "Volgorde voor de Gezelschap leden in de bovenbalk",
"banTip": "Lid verwijderen",
"moreMembers": "overige leden",
"invited": "Uitgenodigd",
@@ -200,7 +201,7 @@
"battleWithFriends": "Strijd met je vrienden tegen monsters",
"startPartyWithFriends": "Start een gezelschap met je vrienden!",
"startAParty": "Een gezelschap beginnen",
- "addToParty": "Add someone to your Party",
+ "addToParty": "Voeg iemand aan je Gezelschap toe",
"likePost": "Klik hier als je dit bericht leuk vindt!",
"partyExplanation1": "Speel Habitica met vrienden om verantwoordelijk te blijven!",
"partyExplanation2": "Strijd tegen monsters en maak uitdagingen!",
@@ -208,7 +209,7 @@
"wantToStartParty": "Wil je een gezelschap starten?",
"exclusiveQuestScroll": "Inviting a friend to your Party will grant you an exclusive Quest Scroll to battle the Basi-List together!",
"nameYourParty": "Geef een naam aan je gezelschap",
- "partyEmpty": "You're the only one in your Party. Invite your friends!",
+ "partyEmpty": "Je bent de enige in je Gezelschap. Nodig vrienden uit!",
"partyChatEmpty": "Your Party chat is empty! Type a message in the box above to start chatting.",
"guildChatEmpty": "De gildechat is leeg! Typ een bericht in het bovenstaande vak om een conversatie te beginnen.",
"requestAcceptGuidelines": "If you would like to post messages in the Tavern or any Party or Guild chat, please first read our <%= linkStart %>Community Guidelines<%= linkEnd %> and then click the button below to indicate that you accept them.",
@@ -231,7 +232,7 @@
"inviteMustNotBeEmpty": "De uitnodiging mag niet leeg zijn.",
"partyMustbePrivate": "Groepen moeten privé zijn",
"userAlreadyInGroup": "UserID: <%= userId %>, User \"<%= username %>\" already in that group.",
- "youAreAlreadyInGroup": "You are already a member of this group.",
+ "youAreAlreadyInGroup": "Je bent al lid van deze groep",
"cannotInviteSelfToGroup": "Je kunt jezelf niet voor een groep uitnodigen.",
"userAlreadyInvitedToGroup": "UserID: <%= userId %>, User \"<%= username %>\" already invited to that group.",
"userAlreadyPendingInvitation": "UserID: <%= userId %>, User \"<%= username %>\" already pending invitation.",
diff --git a/website/common/locales/nl/limited.json b/website/common/locales/nl/limited.json
index 16b0d7621c..30b4a975a9 100644
--- a/website/common/locales/nl/limited.json
+++ b/website/common/locales/nl/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Koraalduivel Magiër (Magiër)",
"summer2018MerfolkMonarchSet": "Meermens Majesteit (Heler)",
"summer2018FisherRogueSet": "Vissersdief (Dief)",
+ "fall2018MinotaurWarriorSet": "Minotaurus (Krijger)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Vleesetende plant (Heler)",
+ "fall2018AlterEgoSet": "Alter Ego (Dief)",
"eventAvailability": "Verkrijgbaar voor aankoop tot <%=date(locale) %>.",
"dateEndMarch": "30 april",
"dateEndApril": "19 april",
@@ -132,7 +136,7 @@
"dateEndJune": "14 juni",
"dateEndJuly": "31 juli",
"dateEndAugust": "31 augustus",
- "dateEndSeptember": "September 21",
+ "dateEndSeptember": "21 September",
"dateEndOctober": "31 oktober",
"dateEndNovember": "30 november",
"dateEndJanuary": "31 januari",
diff --git a/website/common/locales/nl/messages.json b/website/common/locales/nl/messages.json
index 9759394df4..787e14f9be 100644
--- a/website/common/locales/nl/messages.json
+++ b/website/common/locales/nl/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Notificatie-id's zijn vereist.",
"unallocatedStatsPoints": "Je hebt <%= points %> niet toegekende statuspunten",
"beginningOfConversation": "Dit is het begin van je gesprek met <%= userName %>. Denk eraan aardig en respectvol te zijn en de gemeenschapsrichtlijnen te volgen!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Soory, deze gebruiker heeft zijn account verwijderd."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/questscontent.json b/website/common/locales/nl/questscontent.json
index f2255f98fc..0a7c09ad60 100644
--- a/website/common/locales/nl/questscontent.json
+++ b/website/common/locales/nl/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/subscriber.json b/website/common/locales/nl/subscriber.json
index e55be71eff..08d922d3ce 100644
--- a/website/common/locales/nl/subscriber.json
+++ b/website/common/locales/nl/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Aantrekkelijke Zeeduivel Set",
"mysterySet201807": "Zee Slangen Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Standaard Steampunkset",
"mysterySet301405": "Opgesmukte Steampunkset",
"mysterySet301703": "Pauw steampunkset",
diff --git a/website/common/locales/pl/backgrounds.json b/website/common/locales/pl/backgrounds.json
index 517978b175..89b33c19ba 100644
--- a/website/common/locales/pl/backgrounds.json
+++ b/website/common/locales/pl/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/pl/character.json b/website/common/locales/pl/character.json
index 31a781704f..4364831f93 100644
--- a/website/common/locales/pl/character.json
+++ b/website/common/locales/pl/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Ukryj przydział Statystyk",
"quickAllocationLevelPopover": "Każdy zdobyty poziom daje Ci jeden punkt, który możesz przydzielić do wybranej przez siebie statystyki. Możesz zrobić to ręcznie lub pozwolić, by gra zdecydowała za Ciebie, używając jednej z opcji automatycznego przydzielania, którą znajdziesz klikając Ikonę Użytkownika > Statystyki",
"notEnoughAttrPoints": "Nie masz wystarczająco Punktów Statystyk.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Styl",
"facialhair": "Zarost",
"photo": "Zdjęcie",
diff --git a/website/common/locales/pl/content.json b/website/common/locales/pl/content.json
index 914f36c389..6ebdf0ada1 100644
--- a/website/common/locales/pl/content.json
+++ b/website/common/locales/pl/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Gwiezdna Noc",
"hatchingPotionRainbow": "Tęcza",
"hatchingPotionGlass": "Szkło",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Wylej go na jajko, a wykluje się z niego <%=potText(locale)%>.",
"premiumPotionAddlNotes": "Nie nadaje się do użytku na jajach otrzymanych za misje.",
"foodMeat": "Mięso",
diff --git a/website/common/locales/pl/front.json b/website/common/locales/pl/front.json
index 2306d005db..9d9a8bb37b 100644
--- a/website/common/locales/pl/front.json
+++ b/website/common/locales/pl/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Nieprawidłowy adres e-mail. ",
"emailTaken": "Adres e-mail jest już używany.",
"newEmailRequired": "Brakuje nowego adresu e-mail.",
- "usernameTaken": "Login zajęty.",
- "usernameWrongLength": "Nazwa użytkownika musi zawierać od 1 do 20 znaków. ",
- "usernameBadCharacters": "Login musi posiadać tylko litery od a do z, cyfry od 0 do 9, łączniki albo podkreślniki.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Potwierdzenie hasła nie jest identyczne z hasłem.",
"invalidLoginCredentials": "Błędna nazwa użytkownika i/lub e-mail i/lub hasło",
"passwordResetPage": "Zresetuj hasło",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Zarejestruj się przez <%= social %>",
"loginWithSocial": "Zaloguj się przez <%= social %>",
"confirmPassword": "Potwierdź hasło",
- "usernameLimitations": "Login musi mieć pomiędzy 1 a 20 znaków, posiadać tylko litery od a do z, cyfry od 0 do 9, łączniki albo podkreślniki.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "np. Zajaczek",
"emailPlaceholder": "np. zajaczek@example.com",
"passwordPlaceholder": "np. ******************",
@@ -329,6 +336,5 @@
"signup": "Zarejestruj się",
"getStarted": "Rozpocznij",
"mobileApps": "Aplikacje mobilne",
- "learnMore": "Dowiedz się więcej",
- "useMobileApps": "Habitica nie jest zoptymalizowana pod przeglądarki mobilne. Zalecamy pobranie naszych aplikacji mobilnych."
+ "learnMore": "Dowiedz się więcej"
}
\ No newline at end of file
diff --git a/website/common/locales/pl/gear.json b/website/common/locales/pl/gear.json
index 2a208c000f..7c12c367da 100644
--- a/website/common/locales/pl/gear.json
+++ b/website/common/locales/pl/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Widły Ucztowania",
"weaponMystery201411Notes": "Dźgaj swoich wrogów lub rzuć się na ulubione potrawy - te wielofunkcyjne widły nadają się do wszystkiego! Brak dodatkowych korzyści. Przedmiot Abonencki Listopad 2014.",
"weaponMystery201502Text": "Lśniąca Skrzydlata Laska Miłości oraz Prawdy",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "zbroja",
"armorCapitalized": "Zbroja",
"armorBase0Text": "Zwykłe ubranie",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Szaty posłańca",
"armorMystery201402Notes": "Połyskujące i wytrzymałe, te szaty mają wiele kieszeni na listy. Brak dodatkowych korzyści. Przedmiot Abonencki, luty 2014.",
"armorMystery201403Text": "Zbroja przemierzania lasów",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunkowy garnitur",
"armorMystery301404Notes": "Elegancki i stylowy! Brak dodatkowych korzyści. Przedmiot Abonencki, luty 2015.",
"armorMystery301703Text": "Steampunkowa pawia suknia",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "hełm",
"headgearCapitalized": "Nakrycie głowy",
"headBase0Text": "Brak nakrycia głowy",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Hełm tęczowego wojownika",
"headSpecialGaymerxNotes": "Aby uczcić porę dumy i konwent GaymerX, ten specjalny hełm jest przyozdobiony lśniącym, kolorowym wzorem tęczy! GaymerX to konwent poświęcony środowisku LGBTQ oraz grom komputerowym i jest otwarty dla wszystkich.",
"headMystery201402Text": "Skrzydlaty hełm",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Szykowny cylinder",
"headMystery301404Notes": "Fantazyjny cylinder dla najwyżej urodzonych. Przedmiot Abonencki, styczeń 2015. Brak dodatkowych korzyści.",
"headMystery301405Text": "Klasyczny cylinder",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Pogromca postanowień",
"shieldMystery201601Notes": "To ostrze jest w stanie odbić wszystko, co rozprasza uwagę. Brak dodatkowych korzyści. Przedmiot Abonencki, styczeń 2016.",
"shieldMystery201701Text": "Tarcza zamrażająca czas",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Dodatki na plecy",
"backCapitalized": "Dodatki na plecy",
"backBase0Text": "Nic na plecach",
"backBase0Notes": "Nic na plecach.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Złote skrzydła",
"backMystery201402Notes": "Te lśniące skrzydła mają migoczące w słońcu pióra. Brak dodatkowych korzyści. Przedmiot abonencki, Luty 2014.",
"backMystery201404Text": "Skrzydła motyla zmierzchu",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Ten płaszcz kiedyś należał do samej Zaginionej Mistrzyni. Zwiększa Percepcję o <%= per %>.",
"backSpecialTurkeyTailBaseText": "Ogon Indyka",
"backSpecialTurkeyTailBaseNotes": "Podczas świętowania noś z dumą swój szlachetny Indyczy Ogon. Nie przynosi żadnych korzyści.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Dodatki na tułów",
"bodyCapitalized": "Dodatki na tułów",
"bodyBase0Text": "Bez ozdoby tułowia",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Gogle nosi się na oczach\", mówili. \"Nikt nie chce gogli które można nosić tylko na głowie\", mówili. Ha! Niech spojrzą na Ciebie! Brak dodatkowych korzyści. Przedmiot Abonencki, sierpień 2015.",
"headAccessoryArmoireComicalArrowText": "Zabawna Strzała",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Okulary",
"eyewearCapitalized": "Okulary",
"eyewearBase0Text": "Brak okularów",
diff --git a/website/common/locales/pl/groups.json b/website/common/locales/pl/groups.json
index df99714e0d..3d6b6a6ecb 100644
--- a/website/common/locales/pl/groups.json
+++ b/website/common/locales/pl/groups.json
@@ -6,6 +6,7 @@
"innText": "Odpoczywasz w Gospodzie! Dopóki jesteś zameldowany, twoje Codzienne nie zadadzą ci obrażeń na koniec dnia, jednak w dalszym ciągu codziennie będą się odświeżać. Uważaj: Jeśli uczestniczysz w misji z bossem, wciąż może on zadać tobie obrażenia, jeśli członkowie twojej Drużyny ominą Codzienne, chyba że również odpoczywają w Gospodzie! Również twoje obrażenia zadane bossowi (lub zebrane przedmioty) nie zostaną uwzględnione, dopóki nie wymeldujesz się z Gospody.",
"innTextBroken": "Odpoczywasz w gospodzie, zgaduję... Dopóki jesteś zameldowany, twoje Codzienne nie zadadzą ci obrażeń na koniec dnia, jednak w dalszym ciągu codziennie będą się odświeżać... Jeśli uczestniczysz w misji z bossem, wciąż może on zadać tobie obrażenia, jeśli członkowie twojej Drużyny ominą Codzienne... chyba że również odpoczywają w gospodzie... Również Twoje obrażenia zadane bossowi (lub zebrane przedmioty) nie zostaną uwzględnione, dopóki nie wymeldujesz się z gospody... jestem taki zmęczony...",
"innCheckOutBanner": "Wpisałeś się aktualnie do Gospody. Twoje Codzienne nie będą Ciebie ranić i nie będziesz robił postępów w Misjach.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Wznów otrzymywanie obrażeń",
"helpfulLinks": "Pomocne odnośniki",
"communityGuidelinesLink": "Wytyczne Społeczności",
diff --git a/website/common/locales/pl/limited.json b/website/common/locales/pl/limited.json
index 18a4a1bc70..54c290a771 100644
--- a/website/common/locales/pl/limited.json
+++ b/website/common/locales/pl/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Dostępny w sprzedaży do <%= date(locale) %>.",
"dateEndMarch": "30 kwietnia",
"dateEndApril": "19 kwietnia",
diff --git a/website/common/locales/pl/questscontent.json b/website/common/locales/pl/questscontent.json
index 740fbca4c0..eecfe4eab4 100644
--- a/website/common/locales/pl/questscontent.json
+++ b/website/common/locales/pl/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/pl/subscriber.json b/website/common/locales/pl/subscriber.json
index da7e373c52..68ea32ff80 100644
--- a/website/common/locales/pl/subscriber.json
+++ b/website/common/locales/pl/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Zestaw Ponętnego Skalara",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Standardowy zestaw steampunkowy",
"mysterySet301405": "Zestaw steampunkowych akcesoriów",
"mysterySet301703": "Zestaw steampunkowego pawia",
diff --git a/website/common/locales/pt/achievements.json b/website/common/locales/pt/achievements.json
index a581934eba..11a5882c04 100644
--- a/website/common/locales/pt/achievements.json
+++ b/website/common/locales/pt/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Conquista",
"share": "Partilhar",
"onwards": "Em frente!",
"levelup": "Ao concretizar os seus objetivos de vida real, você ganhou um nível e está agora completamente curado!",
diff --git a/website/common/locales/pt/backgrounds.json b/website/common/locales/pt/backgrounds.json
index 08fde2d486..5a08c9afb2 100644
--- a/website/common/locales/pt/backgrounds.json
+++ b/website/common/locales/pt/backgrounds.json
@@ -367,11 +367,18 @@
"backgroundDilatoryCityNotes": "Vagueie pelo mar subterrâneo da Cidade de Retardo",
"backgroundTidePoolText": "Piscina de Maré",
"backgroundTidePoolNotes": "Observe a vida marinha perto de uma Piscina de Maré.",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgrounds082018": "CONJUNTO 51: Lançado em Agosto de 2018",
+ "backgroundTrainingGroundsText": "Campo de Treino",
+ "backgroundTrainingGroundsNotes": "Luta no Campo de Treino",
+ "backgroundFlyingOverRockyCanyonText": "Desfiladeiro Rochoso",
+ "backgroundFlyingOverRockyCanyonNotes": "Espreita um cenário avassalador debaixo de ti enquanto voas sobre um Desfiladeiro Rochoso.",
+ "backgroundBridgeText": "Ponte",
+ "backgroundBridgeNotes": "Atravessa uma ponte catita.",
+ "backgrounds092018": "CONJUNTO 52: Lançado em Setembro de 2018",
+ "backgroundApplePickingText": "Apanha da Maçã",
+ "backgroundApplePickingNotes": "Vai à Apanha da Maçã e leva para casa um alqueire.",
+ "backgroundGiantBookText": "Livro Gigante",
+ "backgroundGiantBookNotes": "Lê enquanto caminhas pelas páginas do Livro Gigante",
+ "backgroundCozyBarnText": "Estábulo Aconchegante",
+ "backgroundCozyBarnNotes": "Descontrai com os teus animais de estimação e montadas no seu Estábulo Aconchegante."
}
\ No newline at end of file
diff --git a/website/common/locales/pt/challenge.json b/website/common/locales/pt/challenge.json
index e6e6bafbf0..815b358a89 100644
--- a/website/common/locales/pt/challenge.json
+++ b/website/common/locales/pt/challenge.json
@@ -131,7 +131,7 @@
"locationRequired": "É necessária a Localização do Desafio ('Adicionar a')",
"categoiresRequired": "Uma ou mais categorias devem ser escolhidas",
"viewProgressOf": "Ver o Progresso de",
- "viewProgress": "View Progress",
+ "viewProgress": "Ver Progresso",
"selectMember": "Escolher Membro",
"confirmKeepChallengeTasks": "Deseja manter as tarefas do desafio?",
"selectParticipant": "Escolha um Participante"
diff --git a/website/common/locales/pt/character.json b/website/common/locales/pt/character.json
index b990ab7df7..9d9dd9ac4e 100644
--- a/website/common/locales/pt/character.json
+++ b/website/common/locales/pt/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Esconder Alocação por Característica",
"quickAllocationLevelPopover": "Cada nível vale-te um Ponto para atribuíres a uma Característica à escolha. Podes fazê-lo manualmente ou deixar o jogo decidir por ti usando uma das opções de Alocação Automática que podes encontrar em Ícone de Utilizador > Características.",
"notEnoughAttrPoints": "Não tens Pontos de Características suficientes.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Estilo",
"facialhair": "Facial",
"photo": "Foto",
@@ -219,6 +220,6 @@
"bodyAccess": "Acessórios de Corpo.",
"mainHand": "Mão Principal",
"offHand": "Mão Oposta",
- "statPoints": "Stat Points",
+ "statPoints": "Pontos de Atributo",
"pts": "pts"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/content.json b/website/common/locales/pt/content.json
index acfc5eab4b..fbda31897b 100644
--- a/website/common/locales/pt/content.json
+++ b/website/common/locales/pt/content.json
@@ -163,19 +163,19 @@
"questEggYarnAdjective": "lanudo",
"questEggPterodactylText": "Pterodáctilo",
"questEggPterodactylMountText": "Pterodáctilo",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "um impetuoso",
"questEggBadgerText": "Texugo",
"questEggBadgerMountText": "Texugo",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "um trepidante",
"questEggSquirrelText": "Esquilo",
"questEggSquirrelMountText": "Esquilo",
- "questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSquirrelAdjective": "um felpudo",
+ "questEggSeaSerpentText": "Serpente Marinha",
+ "questEggSeaSerpentMountText": "Serpente Marinha",
+ "questEggSeaSerpentAdjective": "uma cintilante",
+ "questEggKangarooText": "Canguru",
+ "questEggKangarooMountText": "Canguru",
+ "questEggKangarooAdjective": "um acutilante",
"eggNotes": "Ache uma poção de eclosão para usar nesse ovo e ele irá eclodir em um <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Básico/a",
"hatchingPotionWhite": "Branco/a",
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Noite Estrelada",
"hatchingPotionRainbow": "Arco-Íris",
"hatchingPotionGlass": " de Vidro",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Utilize isto num ovo, e ele chocará como um mascote <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Não utilizável nos ovos de mascote de missão.",
"foodMeat": "Carne",
diff --git a/website/common/locales/pt/front.json b/website/common/locales/pt/front.json
index ed321a6721..81e0192799 100644
--- a/website/common/locales/pt/front.json
+++ b/website/common/locales/pt/front.json
@@ -114,7 +114,7 @@
"marketing3Header": "Aplicações e Extensões",
"marketing3Lead1": "As aplicações para **iPhone & Android** permitem-te tratar dos assuntos em movimento. Temos noção de que entrar no site para clicar em botões pode ser aborrecido.",
"marketing3Lead2Title": "Integrações",
- "marketing3Lead2": "Other **3rd Party Tools** tie Habitica into various aspects of your life. Our API provides easy integration for things like the [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), for which you lose points when browsing unproductive websites, and gain points when on productive ones. [See more here](http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
+ "marketing3Lead2": "equipaOutras **Ferramentas de Terceiros** ligam o Habitica a diversos aspectos da tua vida. O nosso API permite uma fácil integração para coisas como a [Chrome Extension] (https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), através da qual perdes pontos se visitares sites pouco produtivos e ganhas se, pelo contrário, visitares sites produtivos. [Vê mais aqui](http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
"marketing4Header": "Utilização Organizacional",
"marketing4Lead1": "A educação é um dos melhores setores para a \"gamificação\". Todos nós sabemos o quanto os alunos estão colados aos telemóveis e jogos hoje em dia; aproveite esse poder! Incite os seus alunos uns contra os outros em competição amigável. Recompense bom comportamento com prémios raros. Veja as notas e comportamento melhorarem.",
"marketing4Lead1Title": "Gamificação na Educação",
@@ -141,13 +141,13 @@
"presskitDownload": "Baixar todas as imagens:",
"presskitText": "Obrigada pelo teu interesse no Habitica! As imagens seguintes podem ser usadas em artigos ou vídeos ou o Habitica. Para mais informações, por favor contacta-nos aqui: <%= pressEnquiryEmail %>.",
"pkQuestion1": "O que inspirou o Habitica? Como é que começou?",
- "pkAnswer1": "If you’ve ever invested time in leveling up a character in a game, it’s hard not to wonder how great your life would be if you put all of that effort into improving your real-life self instead of your avatar. We starting building Habitica to address that question.
Habitica officially launched with a Kickstarter in 2013, and the idea really took off. Since then, it’s grown into a huge project, supported by our awesome open-source volunteers and our generous users.",
+ "pkAnswer1": "Se alguma vez investiste o teu tempo a evoluir uma personagem num jogo, deve ser difícil não imaginares como seria a tua vida se direccionasses esse tipo de esforço a melhorar-te na vida real em vez do teu avatar. O Habitica iniciou-se para dar resposta a esta questão.
O Habitica foi oficialmente laçado através do Kickstarter em 2013, e a ideia desenvolveu-se mesmo. Desde então, cresceu para se tornar um projecto enorme, apoiado pelos nossos incríveis voluntários em open-source e pelos nossos generosos utilizadores.",
"pkQuestion2": "Porque é que o Habitica funciona?",
- "pkAnswer2": "Forming a new habit is hard because people really need that obvious, instant reward. For example, it’s tough to start flossing, because even though our dentist tells us that it's healthier in the long run, in the immediate moment it just makes your gums hurt.
Habitica's gamification adds a sense of instant gratification to everyday objectives by rewarding a tough task with experience, gold… and maybe even a random prize, like a dragon egg! This helps keep people motivated even when the task itself doesn't have an intrinsic reward, and we've seen people turn their lives around as a result. You can check out success stories here: https://habitversary.tumblr.com",
+ "pkAnswer2": "É difícil formar um novo hábito porque as pessoas precisam realmente daquela recompensa imediata e óbvia. Por exemplo, é difícil começar a usar o fio dentário, apesar de o nosso dentista nos dizer que a longo prazo vamos ficar mais saudáveis, porque no preciso momento apenas nos magoa as gengivas.
A ludificação do Habitica adiciona a qualquer objectivo diário uma sensação de gratificação imediata ao recompensar uma tarefa difícil com experiência, ouro... ou até, quem sabe, um prémio aleatório, como um ovo de dragão! Isto ajuda a manter as pessoas motivadas mesmo que a tarefa em si não tenha uma recompensa intrínseca, e já vimos pessoas dar uma completa volta à sua vida como resultado disto. Podes espreitar histórias de sucesso que tais aqui: https://habitversary.tumblr.com",
"pkQuestion3": "Porque é que adicionaram funcionalidades sociais?",
- "pkAnswer3": "Social pressure is a huge motivating factor for a lot of people, so we knew that we wanted to have a strong community that would hold each other accountable for their goals and cheer for their successes. Luckily, one of the things that multiplayer video games do best is foster a sense of community among their users! Habitica’s community structure borrows from these types of games; you can form a small Party of close friends, but you can also join a larger, shared-interest groups known as a Guild. Although some users choose to play solo, most decide to form a support network that encourages social accountability through features such as Quests, where Party members pool their productivity to battle monsters together.",
+ "pkAnswer3": "A pressão social é um factor extremamente motivante para muitas pessoas, pelo que sabíamos que queríamos ter uma comunidade forte que responsabilizasse cada um pelos seus objectivos e que festejasse os seus sucessos. Por sorte, uma das coisas em que os jogos de vídeo multiplayer são fortíssimos é a criar um espírito de comunidade entre os seus utilizadores! A estrutura da comunidade do Habitica é emprestada deste tipo de jogo; podes formar uma pequena Equipa de amigos próximos mas também podes aderir a um grupo maior, que partilhe os teus interesses, conhecido por Guilda. Ainda que alguns jogadores escolham jogar sozinhos, a maioria decide criar uma rede de apoio que encoraje a responsabilização socialmente, através de funcionalidades como as Missões, em que os membros de uma Equipa reúnem a sua produtividade para combaterem monstros em conjunto.",
"pkQuestion4": "Porque é que ignorar tarefas reduz a vida do teu avatar?",
- "pkAnswer4": "If you skip one of your daily goals, your avatar will lose health the following day. This serves as an important motivating factor to encourage people to follow through with their goals because people really hate hurting their little avatar! Plus, the social accountability is critical for a lot of people: if you’re fighting a monster with your friends, skipping your tasks hurts their avatars, too.",
+ "pkAnswer4": "Se saltares um dos teus objectivos diários, no dia seguinte o teu avatar vai perder vida. Isto funciona enquanto factor motivante para encorajar as pessoas a cumprirem os seus objectivos porque toda a gente odeia fazer sofrer o seu pequeno avatar! E mais, a responsabilização social é fulcral para muitos: se estás a lutar contra um monstro com os teus amigos, saltar tarefas também magoa os avatares deles.",
"pkQuestion5": "O que é que distingue o Habitica de outros programas de gamificação?",
"pkAnswer5": "One of the ways that Habitica has been most successful at using gamification is that we've put a lot of effort into thinking about the game aspects to ensure that they are actually fun. We've also included many social components, because we feel that some of the most motivating games let you play with friends, and because research has shown that it's easier to form habits when you have accountability to other people.",
"pkQuestion6": "Quem é o típico utilizador do Habitica?",
@@ -270,9 +270,16 @@
"notAnEmail": "Endereço de e-mail inválido.",
"emailTaken": "Endereço de email já está sendo usado em uma conta.",
"newEmailRequired": "Novo endereço de e-mail em falta.",
- "usernameTaken": "Nome de Utilizador já em uso.",
- "usernameWrongLength": "Nome de Utilizador deve ter entre 1 e 20 caracteres.",
- "usernameBadCharacters": "Nome de Utilizador deve ter apenas letras de a-z, números 0-9, hífens ou subtraços.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "A confirmação da palavra-passe não corresponde com a palavra-passe.",
"invalidLoginCredentials": "Nome de utilizador e/ou e-mail e/ou palavra-passe incorretos.",
"passwordResetPage": "Reinicializar Senha",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Inscrever-se com <%= social %>",
"loginWithSocial": "Iniciar sessão com <%= social %>",
"confirmPassword": "Confirmar Palavra-passe",
- "usernameLimitations": "Nome de Utilizador deve ter entre 1 a 20 caracteres, contendo apenas letras de a-z, ou números 0-9, ou hífens, ou subtraços.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -326,9 +333,8 @@
"levelUpAnywhereDesc": "Our mobile apps make it simple to keep track of your tasks on-the-go. Accomplish your goals with a single tap, no matter where you are.",
"joinMany": "Join over 2,000,000 people having fun while accomplishing their goals!",
"joinToday": "Junta-te ao Habitica Hoje",
- "signup": "Sign Up",
- "getStarted": "Get Started",
- "mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "signup": "Inscrever",
+ "getStarted": "Começar",
+ "mobileApps": "Apps Móveis",
+ "learnMore": "Saber Mais"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/gear.json b/website/common/locales/pt/gear.json
index ca9f6d3036..f60e405e65 100644
--- a/website/common/locales/pt/gear.json
+++ b/website/common/locales/pt/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Debaixo de água, magia baseada em fogo, gelo ou eletricidade podem ser perigosas para o Mago que a use. Invocar espinhos venenosos, no entanto, funciona fenomenalmente! Aumenta Inteligência em <%= int %> e Percepção por <%= per %>. Equipamento de Edição Limitada do Verão de 2018.",
"weaponSpecialSummer2018HealerText": "Tridente de Monarca de Tritões",
"weaponSpecialSummer2018HealerNotes": "Com um gesto benevolente, poderá comandar que água curativas fluam pelos seus domínios em ondas. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada do Verão de 2018.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Forcado de Banquete",
"weaponMystery201411Notes": "Apunhale seus inimigos ou cave pelas suas comidas favoritas - esse garfo versátil faz de tudo! Não confere benefícios. Item de Assinante de Novembro 2014.",
"weaponMystery201502Text": "Cajado Brilhante Alado do Amor e Também Verdade.",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use este objeto para criar resistência a pó de iocane e outros venenos perigosos e inconcebíveis. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto de Princesa Pirata (Item 3 de 4).",
"weaponArmoireJeweledArcherBowText": "Arco de Jóias de Arqueiro",
"weaponArmoireJeweledArcherBowNotes": "Este arco de ouro e gemas irá enviar as suas flechas contra os seus alvos a velocidades incríveis. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto de Joias de Arqueiro (Item 3 em 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armadura",
"armorCapitalized": "Armadura",
"armorBase0Text": "Roupas Modestas",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Magia de veneno tem uma reputação de subtileza. Não tanto com esta armadura colorida cuja mensagem é clara para besta e tarefa: cuidado! Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada do Verão de 2018.",
"armorSpecialSummer2018HealerText": "Mantos do Monarca de Tritões",
"armorSpecialSummer2018HealerNotes": "Estas vestimentas de azul cerúleo revelam que tem pés para andar em terra...bom. Nem de um monarca se pode esperar que seja perfeito. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada do Verão de 2018.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Túnicas do Mensageiro",
"armorMystery201402Notes": "Cintilantes e resistentes, essas túnicas tem vários bolsos para carregar cartas. Não concede benefícios. Item de Assinante de Fevereiro 2014.",
"armorMystery201403Text": "Armadura do Andador da Floresta",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "Esta cauda sinuosa possui manchas brilhantes para iluminar o seu caminho pelas profundezas. Não concede benefícios. Item de Subscritor de Junho de 2018.",
"armorMystery201807Text": "Cauda de Serpente Marinha",
"armorMystery201807Notes": "Esta poderosa cauda irá propeli-lo pelo mar a velocidades incríveis! Não concede benefícios. Item de Subscritor de Julho de 2018.",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "Armadura de Dragão de Lava",
+ "armorMystery201808Notes": "Esta armadura é feita das escamas soltas do elusivo (e extremamente quente) Dragão de Lava. Não concede benefícios. Item de Subscritor de Agosto de 2018.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Fantasia Steampunk",
"armorMystery301404Notes": "Elegante e distinto. Não concede benefícios. Item de Assinante de Fevereiro 3015.",
"armorMystery301703Text": "Vestido do Pavão Steampunk",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "elmo",
"headgearCapitalized": "Capacete",
"headBase0Text": "Nenhum equipamento de cabeça",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Elmo do Guerreiro Arco-Íris",
"headSpecialGaymerxNotes": "Para celebrar a Conferência GaymerX, este elmo especial foi decorado com uma colorida e radiante estampa. A GaymerX é uma conferência de games que celebra a comunidade LGTBQ e jogos, sendo aberta para todo mundo.",
"headMystery201402Text": "Elmo Alado",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Cartola Chique",
"headMystery301404Notes": "Uma cartola chique para as damas e cavalheiros mais finos! Item de Assinante de Janeiro 3015. Não concede benefícios.",
"headMystery301405Text": "Cartola Básica",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Destruidor de Resoluções",
"shieldMystery201601Notes": "Essa lâmina pode ser usada para bloquear todas as distrações. Não concede benefícios. Item de Assinante de Janeiro 2016",
"shieldMystery201701Text": "Escudo Congelador de Tempo",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Acessório de Costas",
"backCapitalized": "Acessório de Costas",
"backBase0Text": "Sem Acessório de Fundo",
"backBase0Notes": "Sem Acessório de Fundo.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Asas Douradas",
"backMystery201402Notes": "Essas asas brilhantes tem penas que reluzem à luz do sol! Não concede benefícios. Item de Assinante de Fevereiro 2014.",
"backMystery201404Text": "Asas de Borboleta de Crepúsculo",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Esta capa pertenceu no passado à Masterclasser perdida em pessoa. Aumenta Percepção em <%= per %>.",
"backSpecialTurkeyTailBaseText": "Cauda de Perú",
"backSpecialTurkeyTailBaseNotes": "Use a sua Cauda de Perú com orgulho enquanto celebra! Não confere benefícios.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Cauda de Lobo",
+ "backWolfTailNotes": "Esta cauda fá-lo parecer um lobo leal! Não confere benefícios.",
"body": "Acessório de Corpo",
"bodyCapitalized": "Acessório de Corpo",
"bodyBase0Text": "Sem Acessório de Corpo",
@@ -1468,8 +1525,8 @@
"bodySpecialSummer2015MageNotes": "Esta fivela não concede nenhum poder, mas é brilhante. Não concede benefícios. Edição Limitada Conjunto de Verão 2015.",
"bodySpecialSummer2015HealerText": "Lenço de Marinheiro",
"bodySpecialSummer2015HealerNotes": "Bão bão bão? Não, não, não! Não concede benefícios. Edição Limitada Conjunto de Verão 2015.",
- "bodySpecialNamingDay2018Text": "Royal Purple Gryphon Cloak",
- "bodySpecialNamingDay2018Notes": "Happy Naming Day! Wear this fancy and feathery cloak as you celebrate Habitica. Confers no benefit.",
+ "bodySpecialNamingDay2018Text": "Capa do Grifo Real Púrpura",
+ "bodySpecialNamingDay2018Notes": "Feliz Dia de Nome! Use esta capa penuda e fina durante a celebração de Habitica. Não confere benefícios.",
"bodyMystery201705Text": "Asas dobradas de Guerreiro Plumado",
"bodyMystery201705Notes": "Estas asas dobradas não parecem apenas ter pinta: elas dar-lhe-ão a velocidade e agilidade de um grifo! Não confere benefícios. Item de Assinante de Maio de 2017.",
"bodyMystery201706Text": "Capa Rasgada de Corsário",
@@ -1558,12 +1615,14 @@
"headAccessoryMystery201510Notes": "Esses chifres amedrontadores são pegajosos. Não concede benefícios. Item de Assinante de Outubro de 2015.",
"headAccessoryMystery201801Text": "Frost Sprite Antlers",
"headAccessoryMystery201801Notes": "These icy antlers shimmer with the glow of winter auroras. Confers no benefit. January 2018 Subscriber Item.",
- "headAccessoryMystery201804Text": "Squirrel Ears",
+ "headAccessoryMystery201804Text": "Orelhas de Esquilo",
"headAccessoryMystery201804Notes": "These fuzzy sound-catchers will ensure you never miss the rustle of a leaf or the sound of an acorn falling! Confers no benefit. April 2018 Subscriber Item.",
"headAccessoryMystery301405Text": "Óculos de Proteção para Cabeça",
"headAccessoryMystery301405Notes": "\"Óculos de proteção são para os olhos,\" eles disseram. \"Ninguém quer óculos que você só pode usar na cabeça,\" eles disseram. Ha! Você mostrou pra eles. Não concede benefícios. Item de Assinante de Agosto 3015.",
"headAccessoryArmoireComicalArrowText": "Flecha cómica.",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Óculos",
"eyewearCapitalized": "Óculos",
"eyewearBase0Text": "Sem Acessório Para os Olhos",
diff --git a/website/common/locales/pt/generic.json b/website/common/locales/pt/generic.json
index 529c5bef26..adf0ada8b2 100644
--- a/website/common/locales/pt/generic.json
+++ b/website/common/locales/pt/generic.json
@@ -122,8 +122,8 @@
"error": "Erro",
"menu": "Menu",
"notifications": "Notificações",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "Já sabes tudo o que se passa!",
+ "noNotificationsText": "As fadas das notificações dão-te uma ruidosa salva de palmas! Bom trabalho!",
"clear": "Limpar",
"endTour": "Finalizar Tour",
"audioTheme": "Tema de Áudio",
diff --git a/website/common/locales/pt/groups.json b/website/common/locales/pt/groups.json
index 70f987cbb3..7296d38ee6 100644
--- a/website/common/locales/pt/groups.json
+++ b/website/common/locales/pt/groups.json
@@ -6,6 +6,7 @@
"innText": "Está a descansar na Estalagem! Enquanto estiver aí hospedado, as sua Tarefas Diárias não o magoarão ao final do dia, mas continuaram a renovar-se cada dia. Dique avisado: se estiver a participar numa Missão contra Líder, o Líder ainda lhe dará dano pela Tarefas Diárias falhadas pelos seus colegas de Equipa a não ser que também estejam na Estalagem! Adicionalmente, o seu próprio dano ao Líder (ou items colectados) não serão aplicados até sair da Estalagem.",
"innTextBroken": "Está a descansar na Estalagem, acho... Enquanto estiver lá hospedado, as suas Tarefas Diárias não o magoarão ao final do dia, mas continuaram a renovar-se todos os dias... Se estiver a participar numa Missão contra Líder, este ainda o poderá danificar devido a Tarefas Diárias incompletas dos seus colegas de Equipa... a não ser que também estejam na Estalagem... Adicionalmente, o seu dano ao Líder (ou items colectados) não serão aplicados até sair da Estalagem... tão cansado...",
"innCheckOutBanner": "Deste entrada na Pousada. As tuas Tarefas Diárias não te vão causar dano e não vais progredir nas Missões.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Retomar Dano",
"helpfulLinks": "Links Prestáveis",
"communityGuidelinesLink": "Guia de Comunidade",
@@ -106,16 +107,16 @@
"optionalMessage": "Mensagem Opcional",
"yesRemove": "Sim, remova-os",
"foreverAlone": "Não é possível curtir a própria mensagem. Não seja aquela pessoa.",
- "sortBackground": "Sort by Background",
- "sortClass": "Sort by Class",
- "sortDateJoined": "Sort by Join Date",
- "sortLogin": "Sort by Login Date",
- "sortLevel": "Sort by Level",
- "sortName": "Sort by Name",
- "sortTier": "Sort by Tier",
+ "sortBackground": "Ordenar por Fundo",
+ "sortClass": "Ordenar por Classe",
+ "sortDateJoined": "Ordenar por Data de Adesão",
+ "sortLogin": "Ordenar por Data de Login",
+ "sortLevel": "Ordenar por Nível",
+ "sortName": "Ordenar por Nome",
+ "sortTier": "Ordenar por Nível",
"ascendingAbbrev": "Asc",
"descendingAbbrev": "Desc",
- "applySortToHeader": "Apply Sort Options to Party Header",
+ "applySortToHeader": "Aplicar opções de ordenação ao Cabeçalho da Equipa",
"confirmGuild": "Criar Guilda por 4 Gemas?",
"leaveGroupCha": "Deixar os desafios da Guilda e...",
"confirm": "Confirmar",
@@ -126,15 +127,15 @@
"send": "Enviar",
"messageSentAlert": "Mensagem enviada",
"pmHeading": "Mensagem privada para <%= name %>",
- "pmsMarkedRead": "Your Private Messages have been marked as read",
+ "pmsMarkedRead": "As suas Mensagens Privadas foram marcadas como lidas",
"possessiveParty": "Equipa de <%= name %>",
"clearAll": "Eliminar Todas as Mensagens",
"confirmDeleteAllMessages": "Tem certeza que desja deletar todas as mensagens na sua caixa de entrada? Outros usuários ainda irão ver as mensagens que você enviou para eles.",
- "PMPlaceholderTitle": "Nothing Here Yet",
- "PMPlaceholderDescription": "Select a conversation on the left",
- "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked",
+ "PMPlaceholderTitle": "Nada aqui ainda",
+ "PMPlaceholderDescription": "Escolha uma conversa à esquerda",
+ "PMPlaceholderTitleRevoked": "Os seus privilégios de conversa foram revogados",
"PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.",
- "PMReceive": "Receive Private Messages",
+ "PMReceive": "Receber Mensagens Privadas",
"PMEnabledOptPopoverText": "Private Messages are enabled. Users can contact you via your profile.",
"PMDisabledOptPopoverText": "Private Messages are disabled. Enable this option to allow users to contact you via your profile.",
"PMDisabledCaptionTitle": "Private Messages are disabled",
diff --git a/website/common/locales/pt/limited.json b/website/common/locales/pt/limited.json
index ef7a9ba903..814724c10b 100644
--- a/website/common/locales/pt/limited.json
+++ b/website/common/locales/pt/limited.json
@@ -24,15 +24,15 @@
"gildedTurkey": "Peru Dourado",
"polarBearPup": "Filhote de Urso Polar",
"jackolantern": "O miserável Jack da Lanterna",
- "ghostJackolantern": "Ghost Jack-O-Lantern",
+ "ghostJackolantern": "Lâmpada de Halloween Fantasmagórica",
"seasonalShop": "Loja Sazonal",
"seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>",
"seasonalShopTitle": "<%= linkStart %>Feiticeira Sazonal<%= linkEnd %>",
"seasonalShopClosedText": "A Loja Sazonal está correntemente fechada! Só abre durante as quatro Grande Galas de Habitica.",
- "seasonalShopSummerText": "Happy Summer Splash!! Would you like to buy some rare items? They’ll only be available until July 31st!",
- "seasonalShopFallText": "Happy Fall Festival!! Would you like to buy some rare items? They’ll only be available until October 31st!",
- "seasonalShopWinterText": "Happy Winter Wonderland!! Would you like to buy some rare items? They’ll only be available until January 31st!",
- "seasonalShopSpringText": "Happy Spring Fling!! Would you like to buy some rare items? They’ll only be available until April 30th!",
+ "seasonalShopSummerText": "Feliz Salpico de Verão!! Gostaria de comprar alguns items raros? Só estarão disponíveis até 31 de Julho!",
+ "seasonalShopFallText": "Feliz Festival de Outono!! Gostaria de comprar alguns items raros? Só estarão disponíveis até 31 de Outubro!",
+ "seasonalShopWinterText": "Feliz Evento de Inverno do País das Maravilhas! Gostaria de comprar alguns items raros? Só estarão disponíveis até 31 de Janeiro!",
+ "seasonalShopSpringText": "Feliz Escapadela de Primavera!! Gostaria de comprar alguns items raros? Só estarão disponíveis até 30 de Abril!",
"seasonalShopFallTextBroken": "Ah... Bem-vindo à Loja Sazonal... Estamos estocando itens da Edição Sazonal de outono, ou algo assim... Tudo aqui ficará a disposição para compra durante o Festival de Outono anual, mas ficaremos abertos apenas até o dia 31 de Outubro... Acho que você deveria fazer seu próprio estoque agora, ou terá que esperar... e esperar... e esperar... *argh*",
"seasonalShopBrokenText": "O meu pavilhão!!!!!!! As minhas decorações!!!! Oh, o Descoraçador destruiu tudo :( Por favor, ajuda a derrotá-lo na Estalagem para que eu possa reconstruir!",
"seasonalShopRebirth": "Se você comprou algum deste equipamento no passado, mas atualmente não possui-lo, você pode recomprá-lo na coluna Recompensas. Inicialmente, você só vai ser capaz de comprar os itens para a sua classe atual (Guerreiro por padrão), mas não tenha medo, os outros itens específicos de classe estarão disponível se você alternar para essa classe.",
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponível para comprar até <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "19 de abril",
diff --git a/website/common/locales/pt/messages.json b/website/common/locales/pt/messages.json
index cda66dea66..ac36d3b9e7 100644
--- a/website/common/locales/pt/messages.json
+++ b/website/common/locales/pt/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "São necessárias as identificações de notificação.",
"unallocatedStatsPoints": "Tens <%= points %> Ponto(s) de Atributo por alocar ",
"beginningOfConversation": "Isto é o início da tua conversa com <%= userName %>. Lembra-te de ser gentil, respeitador, e de seguir as Directrizes da Comunidade.",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Desculpa, este utilizador eliminou a sua conta."
}
\ No newline at end of file
diff --git a/website/common/locales/pt/npc.json b/website/common/locales/pt/npc.json
index 125322e30e..a7fb6d460a 100644
--- a/website/common/locales/pt/npc.json
+++ b/website/common/locales/pt/npc.json
@@ -40,60 +40,60 @@
"displayEggForGold": "Você quer vender um Ovo <%= itemType %>?",
"displayPotionForGold": "Você quer vender uma Poção <%= itemType %>?",
"sellForGold": "Venda por <%= gold %> Ouro",
- "howManyToSell": "How many would you like to sell?",
+ "howManyToSell": "Quantos quer vender?",
"yourBalance": "O seu saldo",
"sell": "Vender",
"buyNow": "Comprar agora",
"sortByNumber": "Número",
"featuredItems": "Items Promovidos!",
- "hideLocked": "Hide locked",
- "hidePinned": "Hide pinned",
- "hideMissing": "Hide Missing",
+ "hideLocked": "Esconder trancados",
+ "hidePinned": "Esconder fixos",
+ "hideMissing": "Esconder em falta",
"amountExperience": "<%= amount %> Experiência",
"amountGold": "<%= amount %> Ouro",
- "namedHatchingPotion": "<%= type %> Hatching Potion",
+ "namedHatchingPotion": "Poção de eclosão de <%= type %>",
"buyGems": "Comprar Gemas",
"purchaseGems": "Comprar Gemas",
"items": "Items",
"AZ": "A-Z",
- "sort": "Sort",
- "sortBy": "Sort By",
- "groupBy2": "Group By",
- "sortByName": "Name",
- "quantity": "Quantity",
- "cost": "Cost",
- "shops": "Shops",
- "custom": "Custom",
- "wishlist": "Wishlist",
- "wrongItemType": "The item type \"<%= type %>\" is not valid.",
- "wrongItemPath": "The item path \"<%= path %>\" is not valid.",
+ "sort": "Ordenar",
+ "sortBy": "Ordenar por",
+ "groupBy2": "Agrupar por",
+ "sortByName": "Nome",
+ "quantity": "Quantidade",
+ "cost": "Custo",
+ "shops": "Lojas",
+ "custom": "Customizado",
+ "wishlist": "Lista de Desejos",
+ "wrongItemType": "O tipo de item \"<%= type %>\" não é válido",
+ "wrongItemPath": "O caminho de item \"<%= path %>\" não é válido.",
"unpinnedItem": "You unpinned <%= item %>! It will no longer display in your Rewards column.",
"cannotUnpinArmoirPotion": "The Health Potion and Enchanted Armoire cannot be unpinned.",
- "purchasedItem": "You bought <%= itemName %>",
+ "purchasedItem": "Você comprou <%= itemName %>",
"ian": "Ian",
"ianText": "Bem-vindo à Loja de Missões! Aqui pode utilizar os Pergaminhos de Missões para lutar contra monstros com os seus amigos. Não se esqueça de verificar os nossos Pergaminhos de Missões refinados para comprar, à direita.",
- "ianTextMobile": "Can I interest you in some quest scrolls? Activate them to battle monsters with your Party!",
+ "ianTextMobile": "Posso interessá-lo em alguns pergaminhos de missão? Ative-os para combater monstros com a sua Equipa!",
"ianBrokenText": "Bem-vindo à Loja de Missões... Aqui pode utilizar os Pergaminhos de Missões para lutar contra monstros com os seus amigos... Não se esqueça de verificar os nossos Pergaminhos de Missões refinados para comprar, à direita...",
- "featuredQuests": "Featured Quests!",
+ "featuredQuests": "Missões Apresentadas!",
"cannotBuyItem": "Você não pode comprar esse item.",
"mustPurchaseToSet": "Deve comprar <%= val %> para colocar em <%= key %>.",
"typeRequired": "Tipo é necessário",
- "positiveAmountRequired": "Positive amount is required",
+ "positiveAmountRequired": "É necessário uma quantidade positiva",
"notAccteptedType": "Tipo deve ser em [ovos, poções de eclosão, poções de eclosão premium, comida, desafios, equipamento]",
"contentKeyNotFound": "Chave não encontrada para Conteúdo <%= type %>",
- "plusGem": "+<%= count %> Gem",
+ "plusGem": "+<%= count %> Gema",
"typeNotSellable": "Tipo não é vendível. Precisa ser um dos seguintes <%= acceptedTypes %>",
"userItemsKeyNotFound": "Chave não encontrada para user.items <%= type %>",
- "userItemsNotEnough": "You do not have enough <%= type %>",
+ "userItemsNotEnough": "Não tem <%= type %> suficientes",
"pathRequired": "Texto do caminho é necessário",
"unlocked": "Itens foram destravados",
"alreadyUnlocked": "Conjunto completo já destravado.",
"alreadyUnlockedPart": "Conjunto completo já parcialmente destravado.",
- "invalidQuantity": "Quantity to purchase must be a number.",
+ "invalidQuantity": "Quantidade a comprar deve ser um número.",
"USD": "(US$) Dólar",
- "newStuff": "New Stuff by Bailey",
- "newBaileyUpdate": "New Bailey Update!",
- "tellMeLater": "Tell Me Later",
+ "newStuff": "Coisas novas de Bailey",
+ "newBaileyUpdate": "Nova atualização de Bailey!",
+ "tellMeLater": "Digam-me Mais Tarde",
"dismissAlert": "Ignorar Este Alerta",
"donateText1": "Adiciona 20 Gemas em sua conta. Gemas são usadas para comprar itens especiais dentro do jogo, como camisetas e estilos de cabelo.",
"donateText2": "Ajude a suportar o Habitica",
@@ -109,9 +109,9 @@
"classStats": "These are your class's Stats; they affect the game-play. Each time you level up, you get one Point to allocate to a particular Stat. Hover over each Stat for more information.",
"autoAllocate": "Distribuição Automática",
"autoAllocateText": "If 'Automatic Allocation' is selected, your avatar gains Stats automatically based on your tasks' Stats, which you can find in TASK > Edit > Advanced Settings > Stat Allocation. Eg, if you hit the gym often, and your 'Gym' Daily is set to 'Strength', you'll gain Strength automatically.",
- "spells": "Skills",
+ "spells": "Habilidades",
"spellsText": "You can now unlock class-specific skills. You'll see your first at level 11. Your mana replenishes 10 points per day, plus 1 point per completed To-Do.",
- "skillsTitle": "Skills",
+ "skillsTitle": "Habilidades",
"toDo": "Afazeres",
"moreClass": "Para mais informação no sistema-classe, consulte Wikia.",
"tourWelcome": "Bem-vindo ao Habitica! Esta é a sua lista de Afazeres. Complete uma tarefa para prosseguir!",
@@ -159,5 +159,5 @@
"welcome4": "Evite maus hábitos que sugam sua Vida (Saúde), ou seu avatar morrerá!",
"welcome5": "Agora você vai customizar o seu avatar e definir as suas tarefas...",
"imReady": "Entre em Habitica",
- "limitedOffer": "Available until <%= date %>"
+ "limitedOffer": "Disponível até <%= date %>"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/pets.json b/website/common/locales/pt/pets.json
index 6961369f82..67a45d1d83 100644
--- a/website/common/locales/pt/pets.json
+++ b/website/common/locales/pt/pets.json
@@ -94,15 +94,15 @@
"keyToPets": "Chave das Casotas dos Animais de Estimação",
"keyToPetsDesc": "Liberta todos os teus Animais de Estimação comuns para os poderes coleccionar de novo. (Animais de Estimação de Missão e Animais de Estimação raros não são afectados.)",
"keyToMounts": "Chave das Casotas das Montadas",
- "keyToMountsDesc": "Release all standard Mounts so you can collect them again. (Quest Mounts and rare Mounts are not affected.)",
+ "keyToMountsDesc": "Solte todas as montadas standard para possa coleciona-las outra vez. (Montadas de Missão e raras não serão afetadas).",
"keyToBoth": "Chave-Mestra das Casotas",
- "keyToBothDesc": "Release all standard Pets and Mounts so you can collect them again. (Quest Pets/Mounts and rare Pets/Mounts are not affected.)",
- "releasePetsConfirm": "Are you sure you want to release your standard Pets?",
- "releasePetsSuccess": "Your standard Pets have been released!",
- "releaseMountsConfirm": "Are you sure you want to release your standard Mounts?",
- "releaseMountsSuccess": "Your standard Mounts have been released!",
- "releaseBothConfirm": "Are you sure you want to release your standard Pets and Mounts?",
- "releaseBothSuccess": "Your standard Pets and Mounts have been released!",
+ "keyToBothDesc": "Solte todas as Mascotes e Montadas standard para possa colecciona-las outra vez. (Mascotes e Montadas de Missão e raras não serão afetadas).",
+ "releasePetsConfirm": "Tem a certeza que quer libertar as suas Mascotes standard?",
+ "releasePetsSuccess": "As suas Mascotes standard foram soltas!",
+ "releaseMountsConfirm": "Tem a certeza que quer libertar as suas Montadas standard?",
+ "releaseMountsSuccess": "As suas Montadas standard foram soltas!",
+ "releaseBothConfirm": "Tem a certeza que quer libertar todas as suas Mascotes e Montadas standard?",
+ "releaseBothSuccess": "As suas Mascotes e Montadas standard foram soltas!",
"petKeyName": "Chave dos Canis",
"petKeyPop": "Deixe seus mascotes vagarem livres, soltando-os para que iniciem suas próprias aventuras, e se dê a emoção do Mestre das Bestas mais uma vez!",
"petKeyBegin": "Chave dos Canis: Experimente <%= title %> mais uma vez!",
@@ -121,8 +121,8 @@
"gemsEach": "gemas cada",
"foodWikiText": "O que é que a sua mascote gosta de comer?",
"foodWikiUrl": "http://habitica.wikia.com/wiki/Food_Preferences",
- "welcomeStable": "Welcome to the Stable!",
- "welcomeStableText": "I'm Matt, the Beast Master. Starting at level 3, you can hatch Pets from Eggs by using Potions you find! When you hatch a Pet from your Inventory, it will appear here! Click a Pet's image to add it to your avatar. Feed them here with the Food you find after level 3, and they'll grow into hardy Mounts.",
+ "welcomeStable": "Bem-Vindo ao Estábulo!",
+ "welcomeStableText": "Eu sou o Matt, o Mestre de Bestas. A partir do nível 3, poderá eclodir Mascotes a partir de Ovos usando Poções que encontre! Quando chocar uma Mascote do seu Inventário, ela irá aparecer aqui! Carregue na imagem da Mascote para a adicionar ao seu avatar. Alimente-as aqui com Comida que encontre a partir do nível 3 e elas crescerão para se tornarem Montadas robustas.",
"petLikeToEat": "O que é que o meu animal de estimação gosta de comer?",
"petLikeToEatText": "Pets will grow no matter what you feed them, but they'll grow faster if you feed them the one food that they like best. Experiment to find out the pattern, or see the answers here:
http://habitica.wikia.com/wiki/Food_Preferences",
"filterByStandard": "Comum",
diff --git a/website/common/locales/pt/questscontent.json b/website/common/locales/pt/questscontent.json
index 1e6d27368c..5bf945616a 100644
--- a/website/common/locales/pt/questscontent.json
+++ b/website/common/locales/pt/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Canguru Catastrófico",
"questKangarooDropKangarooEgg": "Canguru (Ovo)",
- "questKangarooUnlockText": "Desbloqueia ovos para compra de Canguru no Mercado"
+ "questKangarooUnlockText": "Desbloqueia ovos para compra de Canguru no Mercado",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/pt/spells.json b/website/common/locales/pt/spells.json
index 93dee6ffe4..fc3a37f16f 100644
--- a/website/common/locales/pt/spells.json
+++ b/website/common/locales/pt/spells.json
@@ -21,7 +21,7 @@
"spellRogueBackStabText": "Facada nas Costas",
"spellRogueBackStabNotes": "Você trai uma tarefa tola e ganha ouro e EXP! (Baseado em: STR)",
"spellRogueToolsOfTradeText": "Ferramentas do Ofício",
- "spellRogueToolsOfTradeNotes": "Your tricky talents buff your whole Party's Perception! (Based on: Unbuffed PER)",
+ "spellRogueToolsOfTradeNotes": "Os teus talentos traiçoeiros aumentam a Percepção de toda a tua Equipa! (Baseado em: PER)",
"spellRogueStealthText": "Furtividade",
"spellRogueStealthNotes": "With each cast, a few of your undone Dailies won't cause damage tonight. Their streaks and colors won't change. (Based on: PER)",
"spellRogueStealthDaliesAvoided": "<%= originalText %> Número de tarefas diárias evitado: <%= number %>.",
diff --git a/website/common/locales/pt/subscriber.json b/website/common/locales/pt/subscriber.json
index e593ed117b..a2551e7e16 100644
--- a/website/common/locales/pt/subscriber.json
+++ b/website/common/locales/pt/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Conjunto \"Steampunk Padrão\"",
"mysterySet301405": "Conjunto \"Acessórios Steampunk\"",
"mysterySet301703": "Conjunto do Pavão Steampunk",
diff --git a/website/common/locales/pt_BR/backgrounds.json b/website/common/locales/pt_BR/backgrounds.json
index dcc440db25..2b0c805cef 100644
--- a/website/common/locales/pt_BR/backgrounds.json
+++ b/website/common/locales/pt_BR/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Desfiladeiro Rochoso",
"backgroundFlyingOverRockyCanyonNotes": "Olhe abaixo uma cena de tirar o fôlego enquanto você sobrevoa um Desfiladeiro Rochoso.",
"backgroundBridgeText": "Ponte",
- "backgroundBridgeNotes": "Cruze uma encantadora Ponte."
+ "backgroundBridgeNotes": "Cruze uma encantadora Ponte.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/character.json b/website/common/locales/pt_BR/character.json
index 9f5005dbe3..c18ea6c5c2 100644
--- a/website/common/locales/pt_BR/character.json
+++ b/website/common/locales/pt_BR/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Esconder Distribuição de Atributos",
"quickAllocationLevelPopover": "A cada nível que alcançar você terá um Ponto para distribuir em um atributo à sua escolha. Você pode fazer isso manualmente, ou deixar o jogo decidir por você usando uma das opções de Distribuição Automática encontradas em Usuário > Atributos.",
"notEnoughAttrPoints": "Você não possui Pontos de Atributos suficientes.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Estilo",
"facialhair": "Facial",
"photo": "Foto",
diff --git a/website/common/locales/pt_BR/content.json b/website/common/locales/pt_BR/content.json
index 5134532a5d..227d4c3c80 100644
--- a/website/common/locales/pt_BR/content.json
+++ b/website/common/locales/pt_BR/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Noite Estrelada",
"hatchingPotionRainbow": "Arco-Íris",
"hatchingPotionGlass": "Vidro",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Use-a em um ovo e ele chocará como um mascote <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Não utilizável em ovos de mascote de missões.",
"foodMeat": "Carne",
diff --git a/website/common/locales/pt_BR/front.json b/website/common/locales/pt_BR/front.json
index ce665f3285..8102d03b2c 100644
--- a/website/common/locales/pt_BR/front.json
+++ b/website/common/locales/pt_BR/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Endereço de e-mail inválido.",
"emailTaken": "Endereço de e-mail já está sendo usado em uma conta.",
"newEmailRequired": "Faltando novo endereço de e-mail.",
- "usernameTaken": "Nome de Usuário já cadastrado.",
- "usernameWrongLength": "O Nome de Usuário deve conter de 1 a 20 caracteres.",
- "usernameBadCharacters": "O Nome de Usuário deve conter apenas letras de A a Z, números de 0 a 9, hífens ou underlines.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "A confirmação de senha não corresponde à senha.",
"invalidLoginCredentials": "Nome de usuário e/ou e-mail e/ou senha incorretos.",
"passwordResetPage": "Mudar a Senha",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Cadastre-se com <%= social %>",
"loginWithSocial": "Entre com <%= social %>",
"confirmPassword": "Confirmar Senha",
- "usernameLimitations": "O Nome de Usuário deve conter de 1 a 20 caracteres; dentre eles, apenas letras de A a Z, números de 0 a 9, hífens ou underlines.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "Ex: HabitIcante",
"emailPlaceholder": "Ex: habiticante@exemplo.com",
"passwordPlaceholder": "Ex: ******************",
@@ -329,6 +336,5 @@
"signup": "Registre-se",
"getStarted": "Comece Já",
"mobileApps": "Aplicativos Móveis",
- "learnMore": "Aprenda Mais",
- "useMobileApps": "O Habitica não é otimizado para navegadores de dispositivos móveis. Recomendamos o download de nosso aplicativo móvel."
+ "learnMore": "Aprenda Mais"
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/gear.json b/website/common/locales/pt_BR/gear.json
index 153137727c..5c016a7ef8 100644
--- a/website/common/locales/pt_BR/gear.json
+++ b/website/common/locales/pt_BR/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "É bem perigoso mergulhar e ao mesmo tempo invocar magias baseadas em fogo, gelo ou eletricidade. No entanto conjurar espinhos venenosos funcionam maravilhosamente bem. Aumenta Inteligência em <%= int %> e Percepção em <%= per %>. Equipamento de Edição Limitada. Verão de 2018.",
"weaponSpecialSummer2018HealerText": "Tridente do Monarca Atlântico",
"weaponSpecialSummer2018HealerNotes": "Em um gesto benevolente, vossa majestade comanda que flua, em ondas, água curadoras em seus domínios. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Garfo de Banquete",
"weaponMystery201411Notes": "Apunhale seus inimigos ou empilhe suas comidas favoritas - esse versátil garfão faz de tudo! Não concede benefícios. Item de Assinante, Novembro de 2014.",
"weaponMystery201502Text": "Cajado Brilhante Alado do Amor e Também da Verdade",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use isso para reforçar sua resistência a pó de cianeto e outros venenos inconcebivelmente perigosos. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto da Princesa Pirática (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Arco Ornamentado do Arqueiro",
"weaponArmoireJeweledArcherBowNotes": "Este Arco de ouro e gemas irá enviar suas flechas nos seus inimigos em uma incrível velocidade. Aumenta a Inteligência por <%= int %>. Armário Encantado: Conjunto do Arqueiro Ornamentado (Item 3 de 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armadura",
"armorCapitalized": "Armadura",
"armorBase0Text": "Roupas Modestas",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Magia venenosa é famosa pela sua sutiliza. Esta armadura não só tem uma cor vibrante, como também passa uma mensagem bem clara para as tarefas e inimigos: Se cuidem! Aumenta Inteligência em <%= int %> Equipamento de Edição Limitada. Verão de 2018.",
"armorSpecialSummer2018HealerText": "Robes do Monarca Atlântico",
"armorSpecialSummer2018HealerNotes": "Estas vestes cerúleas revelam ... seus pés de anfíbios ... Bem, nem mesmo um monarca pode ser perfeito. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Túnica do Mensageiro",
"armorMystery201402Notes": "Cintilante e resistente, essa túnica tem vários bolsos para carregar cartas. Não concede benefícios. Item de Assinante, Fevereiro de 2014.",
"armorMystery201403Text": "Armadura de Caminhante da Floresta",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": " Esta cauda sinuante apresenta pontos cintilantes para iluminar o seu caminho em meio às profundezas.Item de Assinante, Junho de 2018.",
"armorMystery201807Text": "Cauda da Serpente Marinha",
"armorMystery201807Notes": "Esta cauda poderosa o impulsionará pelo mar a velocidades incríveis! Não concede benefícios. Item de Assinante, Julho de 2018.",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "Armadura Dragão de Lava",
+ "armorMystery201808Notes": "Essa armadura é feita da troca de escamas do furtivo (e extremamente quente) Dragão de Lava. Não concede benefícios. Item de Assinante, Agosto de 2018.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Traje da Revolução Industrial",
"armorMystery301404Notes": "Elegante e distinto! Não concede benefícios. Item de Assinante, Fevereiro de 3015.",
"armorMystery301703Text": "Vestido de Pavão da Revolução Industrial",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "Esse traje exuberante possui muitos bolsos para esconder armas e espólios! Aumenta Percepção em <%= per %>. Armário Encantado: Conjunto da Princesa Pirática (Item 2 de 4).",
"armorArmoireJeweledArcherArmorText": "Armadura do Arqueiro Ornamentado",
"armorArmoireJeweledArcherArmorNotes": "Esta armadura feita delicadamente irá protegê-lo dos projéteis ou das Diárias vermelhas errantes! Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto do Arqueiro Ornamentado (Item 2 de 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "Elmo",
"headgearCapitalized": "Equipamento De Cabeça",
"headBase0Text": "Sem Equipamento de Cabeça",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "O brilho afiado relembra o gosto da dor para aqueles que lhe acharem apetitoso. Aumenta Percepção em <%= per %>. Equipamento de Edição Limitada. Verão de 2018.",
"headSpecialSummer2018HealerText": "Coroa do Monarca Atlântico",
"headSpecialSummer2018HealerNotes": "Adornado com água-marinha, este refinado diadema marca a liderança dos atlantes, peixes e aqueles que são um pouco dos dois! Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Elmo dos Guerreiros Arco-Íris",
"headSpecialGaymerxNotes": "Para celebrar a Conferência GaymerX, este elmo especial foi decorado com uma colorida e radiante estampa. A GaymerX é uma conferência de games que celebra a comunidade LGTBQ e jogos e é aberta para todo mundo.",
"headMystery201402Text": "Elmo Alado",
@@ -1072,8 +1102,10 @@
"headMystery201806Notes": "A luz hipnotizante deste elmo chamará todas as criaturas do mar para perto de você. Nós pedimos que você use seu cintilante poder de atração para o bem! Não confere nenhum benefício. Item de Assinante, Junho de 2018.",
"headMystery201807Text": "Elmo da Serpente Marinha",
"headMystery201807Notes": "As fortes escamas neste elmo irão protegê-lo de qualquer tipo de inimigo oceânico. Não concede benefícios. Item de Assinante, Julho de 2018.",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201808Text": "Capuz Dragão de Lava",
+ "headMystery201808Notes": "Os chifres incandescentes nesse capuz iluminarão seu caminho pelas cavernas subterrâneas. Não concede benefícios. Item de Assinante, Agosto de 2018.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Cartola Chique",
"headMystery301404Notes": "Uma cartola chique para os mais finos cavalheiros e damas! Não concede benefícios. Item de Assinante, Janeiro de 3015.",
"headMystery301405Text": "Cartola Básica",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Talhado em pedra, este temível escudo em forma de crânio enche os peixefóbicos de medo ao lhe ver trotando com sua montaria e mascote de ossos. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada. Verão de 2018.",
"shieldSpecialSummer2018HealerText": "Brasão do Monarca Atlântico",
"shieldSpecialSummer2018HealerNotes": "Este escudo produz um domo de ar para graça dos visitantes terrestres em seu reino aquático. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Destruidora de Resoluções",
"shieldMystery201601Notes": "Essa lâmina pode ser usada para bloquear todas as distrações. Não concede benefícios. Item de Assinante, Janeiro de 2016",
"shieldMystery201701Text": "Escudo Congela-Tempo",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Que vaso luxuoso você fez! O que colocará dentro? Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto do Vidreiro (Item 4 de 4).",
"shieldArmoirePiraticalSkullShieldText": "Escudo da Caveira Pirática",
"shieldArmoirePiraticalSkullShieldNotes": "Este escudo encantado sussurrará as localizações secretas dos tesouros dos seus inimigos- ouça atentamente! Aumenta Percepção e Inteligência em <%= attrs %>cada. Armário Encantado: Conjunto da Princesa Pirática (Item 4 de 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Acessório de Fundo",
"backCapitalized": "Acessório para costas",
"backBase0Text": "Sem Acessório de Fundo",
"backBase0Notes": "Sem Acessório de Fundo.",
+ "animalTails": "Cauda de Animais",
"backMystery201402Text": "Asas Douradas",
"backMystery201402Notes": "Essas asas brilhantes tem penas que reluzem à luz do sol! Não concede benefícios. Item de Assinante, Fevereiro de 2014.",
"backMystery201404Text": "Asas de Borboleta Crepuscular",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Esta capa já pertenceu uma vez à própria Mestre de Classe Perdida. Aumenta Percepção em <%= per %>.",
"backSpecialTurkeyTailBaseText": "Rabo de Peru",
"backSpecialTurkeyTailBaseNotes": "Vista seu nobre Rabo de Peru enquanto celebra as festividades. Não concede benefícios.",
+ "backBearTailText": "Cauda de Urso",
+ "backBearTailNotes": "Esta cauda faz com você pareça com um bravo urso! Não confere benefícios.",
+ "backCactusTailText": "Cauda de Cacto",
+ "backCactusTailNotes": "Esta cauda faz com você pareça com um cacto espinhoso! Não confere benefícios.",
+ "backFoxTailText": "Cauda de Raposa",
+ "backFoxTailNotes": "Esta cauda faz com você pareça com uma raposa astuta! Não confere benefícios.",
+ "backLionTailText": "Cauda de Leão",
+ "backLionTailNotes": "Esta cauda faz com você pareça com um leão real! Não confere benefícios.",
+ "backPandaTailText": "Cauda de Panda",
+ "backPandaTailNotes": "Esta cauda faz com você pareça com um panda gentil! Não confere benefícios.",
+ "backPigTailText": "Cauda de Porco",
+ "backPigTailNotes": "Esta cauda faz com você pareça com um porco extravagante! Não confere benefícios.",
+ "backTigerTailText": "Cauda de Tigre",
+ "backTigerTailNotes": "Esta cauda faz com você pareça com um tigre feroz! Não confere benefícios.",
+ "backWolfTailText": "Cauda de Lobo",
+ "backWolfTailNotes": "Esta cauda faz com você pareça com um lobo leal! Não confere benefícios.",
"body": "Acessório de Corpo",
"bodyCapitalized": "Acessório de corpo",
"bodyBase0Text": "Sem Acessório de Corpo",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Óculos de proteção são para os olhos,\" eles disseram. \"Ninguém quer óculos que você só pode usar na cabeça,\" eles disseram. Ha! Você mostrou pra eles! Não concede benefícios. Item de Assinante, Agosto de 3015.",
"headAccessoryArmoireComicalArrowText": "Flecha Cômica",
"headAccessoryArmoireComicalArrowNotes": "Este item excêntrico serve para dar uma boa gargalhada! Aumenta Força em <%= str %>. Armário Encantado: Item Independente.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Acessório de Olhos",
"eyewearCapitalized": "Óculos",
"eyewearBase0Text": "Sem Acessório Para Olhos",
diff --git a/website/common/locales/pt_BR/groups.json b/website/common/locales/pt_BR/groups.json
index 6132f6ec4d..1544cc9cb6 100644
--- a/website/common/locales/pt_BR/groups.json
+++ b/website/common/locales/pt_BR/groups.json
@@ -6,6 +6,7 @@
"innText": "Você está descansando na Pousada! Durante o check-in, suas Diárias não lhe causarão dano no final do dia, mas elas ainda irão atualizar todos os dias. Fique avisado: se você estiver participando de uma Missão de Chefão, o chefe ainda irá causar dano pelas Diárias perdidas dos membros do seu Grupo, a menos que eles também estejam na Pousada! Além disso, seu próprio dano ao Chefão (ou itens coletados) não será aplicado até que você saia da Pousada.",
"innTextBroken": "Você está descansando na Pousada, eu acho ... Enquanto estiver na Pousada, suas Diárias não vão te machucar no final do dia, mas elas ainda irão atualizar todos os dias ... Se você estiver participando de uma Missão de Chefão, o Chefão ainda irá causar dano pelas Diárias perdidas dos membros do seu Grupo, a menos que eles também estejam na Pousada... Além disso, seu próprio dano ao Chefão (ou itens coletados) não será aplicado até você sair da Pousada... estou tão cansado...",
"innCheckOutBanner": "Você está atualmente na Pousada. Suas Diárias não realizadas não te causarão dano e também não poderá ser feito progresso em Missões enquanto estiver na Pousada.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Reativar Dano",
"helpfulLinks": "Links Úteis",
"communityGuidelinesLink": "Diretrizes da Comunidade",
diff --git a/website/common/locales/pt_BR/limited.json b/website/common/locales/pt_BR/limited.json
index 07e852f1d2..f0ecd9d6ab 100644
--- a/website/common/locales/pt_BR/limited.json
+++ b/website/common/locales/pt_BR/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Leão-Maguinho (Mago)",
"summer2018MerfolkMonarchSet": "Monarca Atlântico (Curandeiro) ",
"summer2018FisherRogueSet": "Pescador Trapaceiro (Gatuno) ",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponível para compra até <%= date(locale) %>.",
"dateEndMarch": "30 de Abril.",
"dateEndApril": "19 de Abril",
diff --git a/website/common/locales/pt_BR/messages.json b/website/common/locales/pt_BR/messages.json
index 39a1cdf016..0b5550b293 100644
--- a/website/common/locales/pt_BR/messages.json
+++ b/website/common/locales/pt_BR/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Os IDs de notificação são obrigatórios.",
"unallocatedStatsPoints": "Você tem <%= points %> Pontos de Atributos não distribuidos",
"beginningOfConversation": "Este é o começo de sua conversa com <%= userName %>. Lembre-se da gentileza, respeito e de seguir as Diretrizes da Comunidade.",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Desculpe, esse usuário deletou sua conta."
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/questscontent.json b/website/common/locales/pt_BR/questscontent.json
index 2575f4a5de..311601e97d 100644
--- a/website/common/locales/pt_BR/questscontent.json
+++ b/website/common/locales/pt_BR/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "\"AGORA!\" Você avisa para que seu grupo lance os bumerangues de volta à canguru. A besta salta para mais longe com cada golpe até que ela foge, deixando nada mais que uma nuvem vermelha escura de poeira, alguns ovos e moedas de Ouro.
@Mewrose se adianta até onde a canguru esteve. \"Ei, aonde foram os bumerangues?\"
\"Eles provavelmente se desfizeram em poeira, deixando aquela nuvem vermelha escura, quando terminamos nossas respectivas tarefas\", especula @stefalupagus.
@LilithofAlfheim fita o horizonte. \"Aquilo é outro bando de cangurus vindo na nossa direção?\"
Vocês todos disparam em corrida de volta à Cidade dos Hábitos. É melhor encarar suas tarefas difíceis a ganhar outro calo na cabeça!",
"questKangarooBoss": "Canguru Catastrófico",
"questKangarooDropKangarooEgg": "Canguru (Ovo)",
- "questKangarooUnlockText": "Desbloqueia Ovos de Canguru compráveis no Mercado"
+ "questKangarooUnlockText": "Desbloqueia Ovos de Canguru compráveis no Mercado",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/subscriber.json b/website/common/locales/pt_BR/subscriber.json
index 070ca0f49a..054d37530c 100644
--- a/website/common/locales/pt_BR/subscriber.json
+++ b/website/common/locales/pt_BR/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "Conjunto do Pavão Phenomenal",
"mysterySet201806": "Peixe-Pescador Atraente",
"mysterySet201807": "Conjunto da Serpente Marinha",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Conjunto Dragão de Lava",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Conjunto \"Revolução Industrial Padrão\"",
"mysterySet301405": "Conjunto \"Acessórios Revolução Industrial\"",
"mysterySet301703": "Conjunto \"Revolução Industrial Pavão\"",
diff --git a/website/common/locales/ro/backgrounds.json b/website/common/locales/ro/backgrounds.json
index 73303bfd32..e0b3a4433f 100644
--- a/website/common/locales/ro/backgrounds.json
+++ b/website/common/locales/ro/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/ro/character.json b/website/common/locales/ro/character.json
index ce3bbb2f60..3c0002e5ae 100644
--- a/website/common/locales/ro/character.json
+++ b/website/common/locales/ro/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Ascunde Alocarea Punctelor",
"quickAllocationLevelPopover": "Fiecare nivel îți oferă un punct pe care-l poți repartiza unui atribut la alegere. Poți face acest lucru manual, sau poți lăsa jocul să decidă pentru tine folosind una din opțiunile de Alocare Automată, aflate în Icon-ul Utilizatorului > Stats.",
"notEnoughAttrPoints": "Nu ai suficiente Puncte.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stil",
"facialhair": "Facial",
"photo": "Poză",
diff --git a/website/common/locales/ro/content.json b/website/common/locales/ro/content.json
index 87074dbeda..1df84a9d99 100644
--- a/website/common/locales/ro/content.json
+++ b/website/common/locales/ro/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Noapte Înstelată",
"hatchingPotionRainbow": "Curcubeu",
"hatchingPotionGlass": "Sticlă",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Toarnă aceasta pe un ou și va ecloza ca un companion <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Neutilizabil pe ouă de companioni obținute din expediții.",
"foodMeat": "Carne",
diff --git a/website/common/locales/ro/front.json b/website/common/locales/ro/front.json
index 263e0b662a..8498391018 100644
--- a/website/common/locales/ro/front.json
+++ b/website/common/locales/ro/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/ro/gear.json b/website/common/locales/ro/gear.json
index 482e0982df..cd72751d18 100644
--- a/website/common/locales/ro/gear.json
+++ b/website/common/locales/ro/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Furca îmbuibării",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Toiagul înnaripat strălucitor al iubirii și totodată al adevărului",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "armură",
"armorCapitalized": "Armor",
"armorBase0Text": "Îmbrăcăminte simplă",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Veșminte de sol",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Armura Drumețului Pădurar",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Coiful curcubeu",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Coif înaripat",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Basic Top Hat",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "Niciun accesoriu pentru spate",
"backBase0Notes": "Niciun accesoriu pentru spate",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Aripi de aur.",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Aripi de fluture de amurg",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Niciun accesoriu pentru corp",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Goggles are for your eyes,\" they said. \"Nobody wants goggles that you can only wear on your head,\" they said. Hah! You sure showed them! Confers no benefit. August 3015 Subscriber Item.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/ro/groups.json b/website/common/locales/ro/groups.json
index e1718d0a21..7d8be58a3d 100644
--- a/website/common/locales/ro/groups.json
+++ b/website/common/locales/ro/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "Momentan ești cazat la Han. Cotidienele tale nu îți vor provoca deteriorări și nu vei putea face progrese în Expediții. ",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Reia Deteriorarea",
"helpfulLinks": "Link-uri utile",
"communityGuidelinesLink": "Ghidurile Comunității",
diff --git a/website/common/locales/ro/limited.json b/website/common/locales/ro/limited.json
index 8532e5ac57..2fb2db3568 100644
--- a/website/common/locales/ro/limited.json
+++ b/website/common/locales/ro/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/ro/questscontent.json b/website/common/locales/ro/questscontent.json
index 5f068a48aa..d1af9b2093 100644
--- a/website/common/locales/ro/questscontent.json
+++ b/website/common/locales/ro/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/ro/subscriber.json b/website/common/locales/ro/subscriber.json
index 4cb64ad08e..82a74a55f6 100644
--- a/website/common/locales/ro/subscriber.json
+++ b/website/common/locales/ro/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/ru/backgrounds.json b/website/common/locales/ru/backgrounds.json
index 23733d36a1..c10142bb54 100644
--- a/website/common/locales/ru/backgrounds.json
+++ b/website/common/locales/ru/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Скалистый каньон",
"backgroundFlyingOverRockyCanyonNotes": "Посмотрите вниз на захватывающий вид пролетая над Скалистым каньоном.",
"backgroundBridgeText": "Мост",
- "backgroundBridgeNotes": "Перейти Мост."
+ "backgroundBridgeNotes": "Перейти Мост.",
+ "backgrounds092018": "Набор 52: Выпущен в сентябре 2018",
+ "backgroundApplePickingText": "Сбор яблок",
+ "backgroundApplePickingNotes": "Иди собирай яблоки и принеси домой ведро.",
+ "backgroundGiantBookText": "Гигантская книга",
+ "backgroundGiantBookNotes": "Читайте, проходя по страницам Гигантской книги.",
+ "backgroundCozyBarnText": "Уютный амбар",
+ "backgroundCozyBarnNotes": "Отдохните со своими питомцами и скакунами в вашем уютном амбаре."
}
\ No newline at end of file
diff --git a/website/common/locales/ru/character.json b/website/common/locales/ru/character.json
index fd95113e92..1b9889c94d 100644
--- a/website/common/locales/ru/character.json
+++ b/website/common/locales/ru/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Спрятать распределение характеристик",
"quickAllocationLevelPopover": "Каждый уровень приносит вам одно очко для распределения на характеристики по вашему выбору. Вы можете сделать это вручную или позволить игре решать для вас, используя автоматическое распределение, находящееся в Пользователь > Характеристики.",
"notEnoughAttrPoints": "У вас недостаточно очков характеристик.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Стиль",
"facialhair": "Лицо",
"photo": "Фото",
diff --git a/website/common/locales/ru/content.json b/website/common/locales/ru/content.json
index 0e87c0ce19..50c77413df 100644
--- a/website/common/locales/ru/content.json
+++ b/website/common/locales/ru/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Ночной звездный",
"hatchingPotionRainbow": "Радужный",
"hatchingPotionGlass": "Стеклянный",
+ "hatchingPotionGlow": "Светящийся-ночью",
"hatchingPotionNotes": "Полейте его на яйцо и из него вылупится <%= potText(locale) %> питомец.",
"premiumPotionAddlNotes": "Несовместим с яйцами квестовых питомцев.",
"foodMeat": "Мясо",
diff --git a/website/common/locales/ru/front.json b/website/common/locales/ru/front.json
index cc9014d685..452c2dcd78 100644
--- a/website/common/locales/ru/front.json
+++ b/website/common/locales/ru/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Неверный адрес электронной почты.",
"emailTaken": "Адрес электронной почты уже используется.",
"newEmailRequired": "Отсутствует новый адрес электронной почты.",
+ "usernameTime": "Время выбрать свое имя пользователя!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
"usernameTaken": "Имя пользователя уже занято.",
"usernameWrongLength": "Имя пользователя должно быть от 1 до 20 символов.",
- "usernameBadCharacters": "Имя пользователя должно содержать только буквы a-z, цифры 0-9 и дефисы или подчеркивания.",
+ "displayNameWrongLength": "Отображаемое имя должно быть от 1 до 30 символов.",
+ "usernameBadCharacters": "Имя пользователя должно содержать только буквы от a-z, цифры 0-9 и дефисы или подчеркивания.",
+ "nameBadWords": "Имя не может содержать не разрешенные слова.",
+ "confirmUsername": "Подтвердите свое имя пользователя",
+ "usernameConfirmed": "Имя пользователя принято",
"passwordConfirmationMatch": "Подтверждение пароля не совпадает с паролем.",
"invalidLoginCredentials": "Неправильное имя пользователя и/или адрес электронной почты и/или пароль.",
"passwordResetPage": "Сбросить пароль",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Зарегистрироваться с помощью <%= social %>",
"loginWithSocial": "Войти с помощью <%= social %>",
"confirmPassword": "Подтвердите пароль",
- "usernameLimitations": "Имя пользователя должно быть длиной от 1 до 20 символов, содержащее буквы от a до z, цифры от 0 до 9, дефисы или подчеркивания.",
+ "usernameLimitations": "Имя пользователя должно быть длиной от 1 до 20 символов, содержащее буквы от a до z, цифры от 0 до 9, дефисы или подчеркивания и не может содержать запрещенные слова.",
"usernamePlaceholder": "например, HabitRabbit",
"emailPlaceholder": "например, rabbit@example.com",
"passwordPlaceholder": "например, ***********",
@@ -329,6 +336,5 @@
"signup": "Регистрация",
"getStarted": "Начать",
"mobileApps": "Мобильные приложения",
- "learnMore": "Подробнее",
- "useMobileApps": "Habitica не оптимизирована для работы с браузером мобильного. Мы рекомендуем использовать наши приложения."
+ "learnMore": "Подробнее"
}
\ No newline at end of file
diff --git a/website/common/locales/ru/gear.json b/website/common/locales/ru/gear.json
index 935c92696a..6414da6f54 100644
--- a/website/common/locales/ru/gear.json
+++ b/website/common/locales/ru/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Подводная магия, основанная на огне, льде или электричестве, может оказаться опасной для мага, владеющего ею. Тем не менее, заклинание ядовитых шипов работает прекрасно! Увеличивает интеллект на <%= int %> и восприятие на <%= per %>. Ограниченный выпуск лета 2018.",
"weaponSpecialSummer2018HealerText": "Трезубец Амфибии",
"weaponSpecialSummer2018HealerNotes": "С доброжелательным жестом, вы приказываете целебной воде течь сквозь ваши владения под волнами. Увеличивает интеллект на <%= int %>. Ограниченный выпуск лета 2018. ",
+ "weaponSpecialFall2018RogueText": "Флакон ясности",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Кнут Минотавра",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Сладостный посох",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Проголодавшийся посох",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Вилы пиршества",
"weaponMystery201411Notes": "Многофункциональные вилы – вонзайте их во врагов, или в свои любимые блюда! Бонусов не дают. Подарок подписчикам ноября 2014.",
"weaponMystery201502Text": "Сверкающий крылатый посох Любви-а-также-Правды",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Используйте это, чтобы выработать иммунитет к иокановому порошку и другим невероятно опасным ядам. Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор пиратской принцессы (предмет 3 из 4).",
"weaponArmoireJeweledArcherBowText": "Инкрустированный Самострел лучника",
"weaponArmoireJeweledArcherBowNotes": "Золото лук с самоцветами отправит ваши стрелы прямо в цель на невообразимой скорости. Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Инкрустированного лучника (Предмет 3 из 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Иголка переплетчика",
+ "weaponArmoireNeedleOfBookbindingNotes": "Вы будете удивлены на сколько книги могут быть сложны. Эта игла может кольнуть прямо в сердце ваших обязанностей. Увеличивает Силу на <%= str %>. Зачарованный сундук: Набор Переплетчика (Предмет 3 из 4).",
"armor": "Броня",
"armorCapitalized": "Броня",
"armorBase0Text": "Обычная одежда",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Магия ядов относится к навыкам хитрости. Но броня ярких оттенков, давая ясно понять хищнику: я ядовитый! Увеличивает интеллект на <%= int %>. Ограниченный выпуск лета 2018.",
"armorSpecialSummer2018HealerText": "Роба Амфибии",
"armorSpecialSummer2018HealerNotes": "Эти лазурные облачения приоткрывают тайну, что у вас есть ноги для ходьбы по суше. Ну... Даже монарх не настолько идеальный. Увеличивает телосложение на <%= con %>. Ограниченный выпуск лета 2018.",
+ "armorSpecialFall2018RogueText": "Сюртук Альтер эго",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Броня Минотавра",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Мантия Сладомастера",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Роба плотоядного",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Облачение посланника",
"armorMystery201402Notes": "Сверкающая и крепкая, эта броня снабжена большим количеством карманов для переноски писем. Бонусов не дает. Подарок подписчикам февраля 2014.",
"armorMystery201403Text": "Доспехи лесовика",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "На этом извилистом хвосте есть светящиеся точки, которые осветят ваш путь в глубинах. Бонусов не даёт. Подарок подписчикам июня 2018.",
"armorMystery201807Text": "Хвост морского змея",
"armorMystery201807Notes": "Этот мощный хвост проведёт вас через всё море на невероятной скорости! Бонусов не даёт. Подарок подписчикам июля 2018.",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "Доспехи Лавового дракона",
+ "armorMystery201808Notes": "Эта броня сделана из чешуйчатых пластин неуловимого (и чрезвычайно горячего) Лавового Дракона. Бонусов не дают. Подарок подписчикам августа 2018.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Стимпанковский костюм",
"armorMystery301404Notes": "Чудной и лихой! Бонусов не дает. Подарок подписчикам февраля 3015.",
"armorMystery301703Text": "Павлинье платье в стиле стимпанк",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "Это дорогое одеяние имеет множество карманов для скрытых оружий и добычи! Увеличивает восприятие на <%= per %>. Зачарованный сундук: Набор пиратской принцессы (предмет 2 из 4).",
"armorArmoireJeweledArcherArmorText": "Инкрустированная Броня лучника",
"armorArmoireJeweledArcherArmorNotes": "Созданная броня защитит вас от снарядов или загадочных красных Ежедневных заданий! Увеличивает телосложение на <%= con %>. Зачарованный сундук: Набор Инкрустированного лучника (Предмет 2 из 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Одежда переплетчика",
+ "armorArmoireCoverallsOfBookbindingNotes": "В рабочей одежде есть все необходимое, включая многофункциональные карманы. Очки, сменка, золотое кольцо ... Увеличивает телосложения на <%= con %> и восприятие на <%= per %>. Зачарованный сундук: Набор Переплетчика (предмет 2 из 4).",
"headgear": "Головной убор",
"headgearCapitalized": "Головной убор",
"headBase0Text": "Нет шлема",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Свирепо бросьте взгляд на всякого, кто посмеет сказать, что вы похожи на «вкусную рыбу». Увеличивает восприятие на <%= per %>. Ограниченный выпуск лета 2018.",
"headSpecialSummer2018HealerText": "Корона Амфибии",
"headSpecialSummer2018HealerNotes": "Эта украшенная аквамарином диадема с плавниками выделяет лидерство народа, рыб, и тех, кто отчасти относится к обеим группам! Увеличивает интеллект на <%= int %>. Ограниченный выпуск лета 2018.",
+ "headSpecialFall2018RogueText": "Лицо Альтер эго",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Морда Минотавра",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Шляпа Сладомансера",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Радужный шлем воина.",
"headSpecialGaymerxNotes": "В честь Конференции GaymerX этот особый шлем выкрашен в яркие радужные цвета! GaymerX это интернациональная игровая конвенция, поддерживающая ЛГБТ+ сообщества и видео игры. Она открыта каждому!",
"headMystery201402Text": "Шлем с крыльями",
@@ -1072,8 +1102,10 @@
"headMystery201806Notes": "Гипнотизирующий свет, исходящий из верхушки этого шлема переведёт всех обитателей моря на вашу сторону. Мы призываем вас использовать ваши привлекающие световые силы для хороших целей! Бонусов не даёт. Подарок подписчикам июня 2018.",
"headMystery201807Text": "Шлем морского змея",
"headMystery201807Notes": "Крепкая чешуя этого шлема даст вам защиту от любого вида океанического врага. Бонусов не даёт. Подарок подписчикам июля 2018.",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201808Text": "Капюшон Лавового дракона",
+ "headMystery201808Notes": "Светящиеся рога на этом капюшоне осветит вам путь в глубоких пещерах. Бонусов не даёт. Подарок подписчикам августа 2018.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Модный цилиндр",
"headMystery301404Notes": "Модный цилиндр для самых уважаемых господ! Подарок подписчикам января 3015. Бонусов не дает.",
"headMystery301405Text": "Обычный цилиндр",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Этот устрашающий, сделанный из камня щит в виде черепа вселит страх в рыб-недругов, пока вы будете выгуливать своих питомцев-скелетов и скакунов. Увеличивает телосложение на <%= con %>. Ограниченный выпуск лета 2018.",
"shieldSpecialSummer2018HealerText": "Герб Амфибии",
"shieldSpecialSummer2018HealerNotes": "Этот щит может создать воздушный купол для удобства проживающих на суше посетителей вашего водяного царства. Увеличивает телосложение на <%= con %>. Ограниченный выпуск лета 2018.",
+ "shieldSpecialFall2018RogueText": "Флакон искушения",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Бриллиантовый щит",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Голодный щит",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Уничтожитель Решительности",
"shieldMystery201601Notes": "Этот клинок может быть использован, чтобы парировать все отвлечения. Бонусов не дает. Подарок подписчикам января 2016.",
"shieldMystery201701Text": "Время-Замораживающий Щит",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Какую красивую вазу вы сделали! Что же вы положите внутрь? Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Стеклодува (предмет 4 из 4).",
"shieldArmoirePiraticalSkullShieldText": "Пиратский щит-череп",
"shieldArmoirePiraticalSkullShieldNotes": "Этот зачарованный щит прошепчет вам потайные места вражеских сокровищ- слушайте внимательно! Увеличивает телосложение и интеллект на <%= attrs %>. Зачарованный сундук: Набор пиратской принцессы (предмет 4 из 4).",
+ "shieldArmoireUnfinishedTomeText": "Незаконченная книга",
+ "shieldArmoireUnfinishedTomeNotes": "Вы просто не можете прокрастинировать, держа в руках это! Нужно закончить переплет, чтобы люди могли читать книгу! Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Переплетчика (предмет 4 из 4).",
"back": "Аксессуар на спину",
"backCapitalized": "Аксессуар на спину",
"backBase0Text": "Нет аксессуаров на спине",
"backBase0Notes": "Нет аксессуаров на спине.",
+ "animalTails": "Хвосты животных",
"backMystery201402Text": "Золотые крылья",
"backMystery201402Notes": "Перья на этих сияющих крыльях сверкают на солнце! Бонусов не дают. Подарок подписчикам февраля 2014.",
"backMystery201404Text": "Крылья Сумеречной бабочки",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Этот плащ когда-то принадлежал самой последней из ордена Мастеров. Увеличивает восприятие на <%= per %>. ",
"backSpecialTurkeyTailBaseText": "Хвост индейки",
"backSpecialTurkeyTailBaseNotes": "Носите ваш превосходный Хвост Индейки с гордостью, пока празднуете. Бонусов не дает.",
+ "backBearTailText": "Медвежий хвост",
+ "backBearTailNotes": "С этим хвостом вы похоже на смелого медведя! Бонусов не дает.",
+ "backCactusTailText": "Кактусовый хвост",
+ "backCactusTailNotes": "С этим хвостом вы похоже на колючий кактус! Бонусов не дает.",
+ "backFoxTailText": "Лисий хвост",
+ "backFoxTailNotes": "С этим хвостом вы похоже на хитрую лису! Бонусов не дает.",
+ "backLionTailText": "Львиный хвост",
+ "backLionTailNotes": "С этим хвостом вы похоже на свирепого льва! Бонусов не дает.",
+ "backPandaTailText": "Панды хвост",
+ "backPandaTailNotes": "С этим хвостом вы похоже на милого панду! Бонусов не дает.",
+ "backPigTailText": "Свинной хвост",
+ "backPigTailNotes": "С этим хвостом вы похоже на капризного поросенка! Бонусов не дает.",
+ "backTigerTailText": "Тигриный хвост",
+ "backTigerTailNotes": "С этим хвостом вы похоже на бесстрашного тигра! Бонусов не дает.",
+ "backWolfTailText": "Волчий хвост",
+ "backWolfTailNotes": "С этим хвостом вы похоже на преданного волка! Бонусов не дает.",
"body": "Аксессуар на тело",
"bodyCapitalized": "Аксессуар на тело",
"bodyBase0Text": "Нет аксессуаров на теле",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Защищать очками надо глаза,\" говорили они. \"Кому сдались защитные очки на макушке,\" говорили они. Ха! Вы им показали! Подарок подписчикам августа 3015. Бонусов не дает.",
"headAccessoryArmoireComicalArrowText": "Забавная Стрела",
"headAccessoryArmoireComicalArrowNotes": "Этот причудливый предмет определенно хорош для потехи! Увеличивает силу на <%= str %>. Зачарованный сундук: независимый предмет.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Очки переплетчика",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "Эти очки помогут вам справиться с любой задачей, большой или малой! Увеличивает восприятие на <%= per %>. Зачарованный сундук: Набор Переплетчика (предмет 1 из 4).",
"eyewear": "Очки",
"eyewearCapitalized": "Очки",
"eyewearBase0Text": "Нет очков или маски",
diff --git a/website/common/locales/ru/groups.json b/website/common/locales/ru/groups.json
index 080b0b0669..694f98efae 100644
--- a/website/common/locales/ru/groups.json
+++ b/website/common/locales/ru/groups.json
@@ -6,6 +6,7 @@
"innText": "Вы отдыхаете в Гостинице! Пропущенные Ежедневные задания не будут причинять вам вреда в конце дня, но отметки об их выполнении будут сбрасываться каждый день. Будьте осторожны: если ваша команда сражается с Боссом, он все же будет наносить вам урон за Ежедневные задания, пропущенные вашими товарищами, если только они также не в Гостинице! Кроме того, нанесенный вами урон Боссу (или найденные предметы) не будут зарегистрированы, пока вы не покинете Гостиницу.",
"innTextBroken": "Вы отдыхаете в Гостинице, я так полагаю... Пропущенные Ежедневные задания не будут причинять вам вреда в конце дня, но отметки об их выполнении будут сбрасываться каждый день... Если вы участвуете в квесте с Боссом, он все же будет наносить вам урон за ежедневные задания, пропущенные вашими товарищами... Если только они не тоже находятся в Гостинице... Также, нанесённый вами урон Боссу (или найденные предметы) не будут засчитаны, пока вы не выпишитесь из Гостиницы... так устал...",
"innCheckOutBanner": "В настоящее время вы остановились в гостинице. Пропуск ежедневных дел не повредит вам, но и вы не получите прогресса в квестах.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Вернуться в игру",
"helpfulLinks": "Полезные ссылки",
"communityGuidelinesLink": "Правила сообщества",
diff --git a/website/common/locales/ru/limited.json b/website/common/locales/ru/limited.json
index 92acbfe66f..14540b367e 100644
--- a/website/common/locales/ru/limited.json
+++ b/website/common/locales/ru/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Крылатковый Маг (Маг)",
"summer2018MerfolkMonarchSet": "Амфибия (Целитель)",
"summer2018FisherRogueSet": "Рыбак-Разбойник (Разбойник)",
+ "fall2018MinotaurWarriorSet": "Минотавр (Воин)",
+ "fall2018CandymancerMageSet": "Сладомансер (Маг)",
+ "fall2018CarnivorousPlantSet": "Хищная мухоловка (Целитель)",
+ "fall2018AlterEgoSet": "Альтер эго (Разбойник)",
"eventAvailability": "Доступно для покупки до <%= date(locale) %>.",
"dateEndMarch": "Апрель 30",
"dateEndApril": "Апрель 19",
@@ -132,7 +136,7 @@
"dateEndJune": "14 Июня",
"dateEndJuly": "31 июля",
"dateEndAugust": "31 августа",
- "dateEndSeptember": "September 21",
+ "dateEndSeptember": "21 Сентября",
"dateEndOctober": "31 октября",
"dateEndNovember": "30 ноября",
"dateEndJanuary": "31 января",
diff --git a/website/common/locales/ru/messages.json b/website/common/locales/ru/messages.json
index 8deee3de8f..803715ce46 100644
--- a/website/common/locales/ru/messages.json
+++ b/website/common/locales/ru/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Необходим идентификатор оповещений.",
"unallocatedStatsPoints": "Вы не распределили <%= points %> очков",
"beginningOfConversation": "Это начало вашего разговора с <%= userName %>. Не забывайте, что общепринятые правила сообщества предписавыют быть добрыми, уважительными!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Приносим свои извинения, этот пользователь удалил свой аккаунт."
}
\ No newline at end of file
diff --git a/website/common/locales/ru/questscontent.json b/website/common/locales/ru/questscontent.json
index aa9a988362..7317855849 100644
--- a/website/common/locales/ru/questscontent.json
+++ b/website/common/locales/ru/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "«СЕЙЧАС!» Вы отдаете приказ своей команде, чтобы бросить бумеранг в кенгуру. Зверь отпрыгивает назад с каждым ударом, до тех пор, пока не спасается прыгством, оставив за собой красноватое облако пыли и несколько яиц с горсткой золотых монет.
@ Мьюроуз идет к месту, где когда-то стоял кенгуру. «Эй, а где бумеранги?»
«Вероятно, они пропали вместе с пылью из красноватого облака, когда мы закончили наши задачи», - размышляет @stefalupagus.
@ LilithofAlfheim прищуривается вдаль. «Это еще один отряд кенгуру, направляющийся к нам?»
Все убегают в «Хабит Сити». Лучше столкнуться с вашими трудными задачами, чем отхватить еще один удар в голову!",
"questKangarooBoss": "Катастрофическая Кенгуру",
"questKangarooDropKangarooEgg": "Кенгуру (Яйцо)",
- "questKangarooUnlockText": "Позволяет покупать на Рынке яйцо Кенгуру."
+ "questKangarooUnlockText": "Позволяет покупать на Рынке яйцо Кенгуру.",
+ "forestFriendsText": "Набор квестов «Лесная братва»",
+ "forestFriendsNotes": "Содержит квесты «Дух весны», «Еж-монстр» и «Запутанное дерево». Акция доступна до 30 сентября."
}
\ No newline at end of file
diff --git a/website/common/locales/ru/subscriber.json b/website/common/locales/ru/subscriber.json
index abd2157163..61b47cbcb6 100644
--- a/website/common/locales/ru/subscriber.json
+++ b/website/common/locales/ru/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "Восхитительный Набор Павлина",
"mysterySet201806": "Притигающий набор удильщика",
"mysterySet201807": "Набор морского змея",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Набор Лавового дракона",
+ "mysterySet201809": "Осенний набор защиты",
"mysterySet301404": "Стандартный Стимпанковый набор",
"mysterySet301405": "Набор аксессуаров в стиле Стимпанка",
"mysterySet301703": "Набор Стимпанк Павлина",
diff --git a/website/common/locales/sk/achievements.json b/website/common/locales/sk/achievements.json
index 6b5990718e..e816e81cc2 100644
--- a/website/common/locales/sk/achievements.json
+++ b/website/common/locales/sk/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Odznak",
"share": "Zdieľaj",
"onwards": "Vpred!",
"levelup": "Plnením cieľov v reálnom živote si získal level a bol si vyliečený!",
diff --git a/website/common/locales/sk/backgrounds.json b/website/common/locales/sk/backgrounds.json
index 9ba6c4f15b..aa9bdcd84b 100644
--- a/website/common/locales/sk/backgrounds.json
+++ b/website/common/locales/sk/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Obrovská kniha",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/sk/challenge.json b/website/common/locales/sk/challenge.json
index f401ad4b95..087c0cab9c 100644
--- a/website/common/locales/sk/challenge.json
+++ b/website/common/locales/sk/challenge.json
@@ -13,7 +13,7 @@
"challengeWinner": "sa stal víťazom nasledujúcich výziev",
"challenges": "Výzvy",
"challengesLink": "Výzvy",
- "challengePrize": "Challenge Prize",
+ "challengePrize": "Odmena",
"endDate": "Ends",
"noChallenges": "Zatial žiadne výzvy, choď na",
"toCreate": "ak chceš nejakú vytvoriť.",
@@ -25,9 +25,9 @@
"filter": "Filter",
"groups": "Skupiny",
"noNone": "Žiadne",
- "category": "Category",
+ "category": "Kategória",
"membership": "Členstvo",
- "ownership": "Ownership",
+ "ownership": "Vlastníctvo",
"participating": "Zúčastnený",
"notParticipating": "Nezúčastnený",
"either": "Oboje",
@@ -131,7 +131,7 @@
"locationRequired": "Umiestnenie výzvy je vyžadované (\"Pridaj k\")",
"categoiresRequired": "Musí byť zvolená jedna alebo viac kategórií",
"viewProgressOf": "Pozri si pokrok",
- "viewProgress": "View Progress",
+ "viewProgress": "Pozri si pokrok",
"selectMember": "Zvoľ člena",
"confirmKeepChallengeTasks": "Chceš si nechať úlohy z výzvy?",
"selectParticipant": "Zvoľ účastníka"
diff --git a/website/common/locales/sk/character.json b/website/common/locales/sk/character.json
index 24a83d6561..ef6164648c 100644
--- a/website/common/locales/sk/character.json
+++ b/website/common/locales/sk/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Fotka",
diff --git a/website/common/locales/sk/content.json b/website/common/locales/sk/content.json
index 5744dd7db5..1aec03de3e 100644
--- a/website/common/locales/sk/content.json
+++ b/website/common/locales/sk/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Vylej tento elixír na vajíčko a vyliahne sa z neho <%= potText(locale) %> zvieratko.",
"premiumPotionAddlNotes": "Nedá sa použiť na vajíčka zvieratiek z výprav.",
"foodMeat": "Mäso",
diff --git a/website/common/locales/sk/front.json b/website/common/locales/sk/front.json
index 0d6656f83a..f1d81c29d4 100644
--- a/website/common/locales/sk/front.json
+++ b/website/common/locales/sk/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Neplatná e-mailová adresa.",
"emailTaken": "E-mailová adresa je už použitá k účtu.",
"newEmailRequired": "Chýba nová e-mailová adresa.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Potvrdenie hesla sa nezhoduje s heslom.",
"invalidLoginCredentials": "Nesprávne používateľské meno a/alebo e-mail a/alebo heslo.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/sk/gear.json b/website/common/locales/sk/gear.json
index 29c85466de..f7dbedf189 100644
--- a/website/common/locales/sk/gear.json
+++ b/website/common/locales/sk/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Pitchfork of Feasting",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "zbroj",
"armorCapitalized": "Armor",
"armorBase0Text": "Prosté ošatenie",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Rúcho posla",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Zálesákove brnenie",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Okrídlená helma",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Basic Top Hat",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Zlaté krídla",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Krídla súmračného motýľa",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Žiadny doplnok na telo",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Goggles are for your eyes,\" they said. \"Nobody wants goggles that you can only wear on your head,\" they said. Hah! You sure showed them! Confers no benefit. August 3015 Subscriber Item.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/sk/groups.json b/website/common/locales/sk/groups.json
index aa1211d76a..38de1267f1 100644
--- a/website/common/locales/sk/groups.json
+++ b/website/common/locales/sk/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/sk/limited.json b/website/common/locales/sk/limited.json
index 261061ff2d..eb7b9f462c 100644
--- a/website/common/locales/sk/limited.json
+++ b/website/common/locales/sk/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/sk/loginincentives.json b/website/common/locales/sk/loginincentives.json
index 52f2724882..e7de9e9a54 100644
--- a/website/common/locales/sk/loginincentives.json
+++ b/website/common/locales/sk/loginincentives.json
@@ -2,7 +2,7 @@
"unlockedReward": "Máš <%= reward %>",
"earnedRewardForDevotion": "You have earned <%= reward %> for being committed to improving your life.",
"nextRewardUnlocksIn": "Check-ins until your next prize: <%= numberOfCheckinsLeft %>",
- "awesome": "Awesome!",
+ "awesome": "Úžasne!",
"totalCount": "<%= count %> total count",
"countLeft": "Check-ins until next reward: <%= count %>",
"incentivesDescription": "When it comes to building habits, consistency is key. Each day you check-in you get closer to a prize.",
diff --git a/website/common/locales/sk/questscontent.json b/website/common/locales/sk/questscontent.json
index 0e429af1ce..b97bcd51c2 100644
--- a/website/common/locales/sk/questscontent.json
+++ b/website/common/locales/sk/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/sk/rebirth.json b/website/common/locales/sk/rebirth.json
index c94077da77..ceadbe7efb 100644
--- a/website/common/locales/sk/rebirth.json
+++ b/website/common/locales/sk/rebirth.json
@@ -11,16 +11,16 @@
"rebirthInList1": "Úlohy, história, výstroj a nastavenia sa nezmenia.",
"rebirthInList2": "Členstvo vo výzvách, cechoch, a družine ostáva.",
"rebirthInList3": "Drahokamy, úroveň podporovateľa na Kickstarteri a prispievateľské levely ostávajú.",
- "rebirthInList4": "Items obtained from Gems or drops (such as pets and mounts) remain.",
+ "rebirthInList4": "Predmety, ktoré si si kúpil za drahokamy alebo ti padli (ako napríklad zvieratká a tátoši) ostávajú.",
"rebirthEarnAchievement": "Za začatie nového dobrodružstva získavaš aj špeciálny odznak!",
"beReborn": "Znovu sa zrodiť",
"rebirthAchievement": "Začal si nové dobrodružstvo! Toto je tvoje znovuzrodenie čislo <%= number %> a najvušší level, ktorý si dosiahol je <%= level %>. Ak chceš tento odznak vylepšiť, začni nové dobrodružstvo po dosiahnutí ešte vyššieho levelu!",
"rebirthAchievement100": "Začal si nové dobrodružstvo! Toto je tvoje znovuzrodenie číslo <%= number %> a najvyšší level, ktorý si získal je 100 alebo vyšší. Ak chceš tento odznak vylepšiť, začni nové dobrodružstvo po dosiahnutí aspoň levelu 100!",
"rebirthBegan": "Začal nové dobrodružstvo",
"rebirthText": "Začal niekoľko nových dobrodružstiev: <%= rebirths %>",
- "rebirthOrb": "Used an Orb of Rebirth to start over after attaining Level <%= level %>.",
- "rebirthOrb100": "Used an Orb of Rebirth to start over after attaining Level 100 or higher.",
- "rebirthOrbNoLevel": "Used an Orb of Rebirth to start over.",
+ "rebirthOrb": "Použil Orb znovuzrodenia, aby začal odznovu, po dosiahnutí levelu <%= level %>.",
+ "rebirthOrb100": "Použil Orb znovuzrodenia, aby začal odznovu, po dosiahnutí levelu 100 alebo vyššieho",
+ "rebirthOrbNoLevel": "Použil Orb znovuzrodenia, aby začal odznovu.",
"rebirthPop": "Instantly restart your character as a Level 1 Warrior while retaining achievements, collectibles, and equipment. Your tasks and their history will remain but they will be reset to yellow. Your streaks will be removed except from challenge tasks. Your Gold, Experience, Mana, and the effects of all Skills will be removed. All of this will take effect immediately. For more information, see the wiki's Orb of Rebirth page.",
"rebirthName": "Orb znovuzrodenia",
"reborn": "Znovuzrodený, najvyšší dosiahnutý level: <%= reLevel %>",
diff --git a/website/common/locales/sk/subscriber.json b/website/common/locales/sk/subscriber.json
index 1de0f2352a..6cf21f38d2 100644
--- a/website/common/locales/sk/subscriber.json
+++ b/website/common/locales/sk/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/sk/tasks.json b/website/common/locales/sk/tasks.json
index 82dc3f043a..e2017c4b2f 100644
--- a/website/common/locales/sk/tasks.json
+++ b/website/common/locales/sk/tasks.json
@@ -1,14 +1,14 @@
{
"clearCompleted": "Zmaž hotové",
"clearCompletedDescription": "Completed To-Dos are deleted after 30 days for non-subscribers and 90 days for subscribers.",
- "clearCompletedConfirm": "Are you sure you want to delete your completed To-Dos?",
- "sureDeleteCompletedTodos": "Are you sure you want to delete your completed To-Dos?",
+ "clearCompletedConfirm": "Si si istý, že chceš zmazať tvoje splnené úlohy?",
+ "sureDeleteCompletedTodos": "Si si istý, že chceš zmazať tvoje splnené úlohy?",
"lotOfToDos": "Tvojich naposledy splnených 30 úloh je ukázaných tu. Staršie splnené úlohy si môžeš pozrieť: Dáta > Nástroj na zobrazenie dát alebo Dáta > Export dát > Používateľské dáta.",
"deleteToDosExplanation": "If you click the button below, all of your completed To-Dos and archived To-Dos will be permanently deleted, except for To-Dos from active challenges and Group Plans. Export them first if you want to keep a record of them.",
"addMultipleTip": "Tip: To add multiple <%= taskType %>, separate each one using a line break (Shift + Enter) and then press \"Enter.\"",
"addsingle": "Pridať jeden",
"addATask": "Pridaj <%= type %>",
- "editATask": "Edit a <%= type %>",
+ "editATask": "Uprav <%= type %>",
"createTask": "Create <%= type %>",
"addTaskToUser": "Pridaj Úlohu",
"scheduled": "Naplánované",
@@ -18,8 +18,8 @@
"newHabit": "Nový návyk",
"newHabitBulk": "Nový návyk (jeden na riadok)",
"habitsDesc": "Habits don't have a rigid schedule. You can check them off multiple times per day.",
- "positive": "Positive",
- "negative": "Negative",
+ "positive": "Pozitív",
+ "negative": "Negatív",
"yellowred": "Slabé",
"greenblue": "Silné",
"edit": "Upraviť",
@@ -32,7 +32,7 @@
"collapseChecklist": "Collapse Checklist",
"text": "Názov",
"extraNotes": "Poznámky",
- "notes": "Notes",
+ "notes": "Poznámky",
"direction/Actions": "Dobrý/zlý",
"advancedSettings": "Advanced Settings",
"taskAlias": "Task Alias",
@@ -76,9 +76,9 @@
"dueDate": "Dokončiť do",
"remaining": "Aktívne",
"complete": "Hotové",
- "complete2": "Complete",
+ "complete2": "Hotové",
"dated": "S dátumom",
- "today": "Today",
+ "today": "Dnes",
"dueIn": "Due <%= dueIn %>",
"due": "Povinné",
"notDue": "Nepovinné",
@@ -165,9 +165,9 @@
"perceptionExample": "Týka sa práce a finančných úloh",
"constitutionExample": "Týka sa zdravia, wellnessu a sociálnej interakcie",
"counterPeriod": "Counter Resets Every",
- "counterPeriodDay": "Day",
- "counterPeriodWeek": "Week",
- "counterPeriodMonth": "Month",
+ "counterPeriodDay": "Deň",
+ "counterPeriodWeek": "Týždeň",
+ "counterPeriodMonth": "Mesiac",
"habitCounter": "Counter (Resets <%= frequency %>)",
"habitCounterUp": "Positive Counter (Resets <%= frequency %>)",
"habitCounterDown": "Negative Counter (Resets <%= frequency %>)",
@@ -180,20 +180,20 @@
"repeatType": "Repeat Type",
"repeatTypeHelpTitle": "What kind of repeat is this?",
"repeatTypeHelp": "Select \"Daily\" if you want this task to repeat every day or every third day, etc. Select \"Weekly\"if you want it to repeat on certain days of the week. If you select \"Monthly\" or \"Yearly\", adjust the Start Date to control which day of the month or year the task will be due on.",
- "weekly": "Weekly",
- "monthly": "Monthly",
- "yearly": "Yearly",
+ "weekly": "Týždenné",
+ "monthly": "Mesačné",
+ "yearly": "Ročné",
"onDays": "On Days",
"summary": "Summary",
"repeatsOn": "Repeats On",
"dayOfWeek": "Day of the Week",
"dayOfMonth": "Day of the Month",
- "month": "Month",
- "months": "Months",
- "week": "Week",
- "weeks": "Weeks",
- "year": "Year",
- "years": "Years",
+ "month": "Mesiac",
+ "months": "Mesiace",
+ "week": "Týždeň",
+ "weeks": "Týždne",
+ "year": "Rok",
+ "years": "Roky",
"groupTasksByChallenge": "Group tasks by challenge title",
"taskNotes": "Task Notes",
"monthlyRepeatHelpContent": "This task will be due every X months",
diff --git a/website/common/locales/sr/backgrounds.json b/website/common/locales/sr/backgrounds.json
index d8eb394ffc..a861f7a76c 100644
--- a/website/common/locales/sr/backgrounds.json
+++ b/website/common/locales/sr/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/sr/character.json b/website/common/locales/sr/character.json
index 27e3430680..03de6f0d14 100644
--- a/website/common/locales/sr/character.json
+++ b/website/common/locales/sr/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/sr/content.json b/website/common/locales/sr/content.json
index 8baac8878c..871e82148e 100644
--- a/website/common/locales/sr/content.json
+++ b/website/common/locales/sr/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Pospite ovo po jajetu, i iz njega će se izleći <%= potText(locale) %> ljubimac.",
"premiumPotionAddlNotes": "Not usable on quest pet eggs.",
"foodMeat": "Meso",
diff --git a/website/common/locales/sr/front.json b/website/common/locales/sr/front.json
index 87e2e13289..a7705caa9d 100644
--- a/website/common/locales/sr/front.json
+++ b/website/common/locales/sr/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/sr/gear.json b/website/common/locales/sr/gear.json
index 281f1b0c9c..6fd5a7c06b 100644
--- a/website/common/locales/sr/gear.json
+++ b/website/common/locales/sr/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Vile za gozbe",
"weaponMystery201411Notes": "Probodite protivnike ili ih koristite kao viljušku dok jedete svoju omiljenu hranu - ove višenamenske vile obavljaju sve poslove s lakoćom. Ne daju nikakav bonus. Predmet za pretplatnike novembar 2014.",
"weaponMystery201502Text": "Svetlucavo krilato žezlo ljubavi, i istine, takođe",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "oklop",
"armorCapitalized": "Armor",
"armorBase0Text": "Obična odeća",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Odora pismonoše",
"armorMystery201402Notes": "Ova svetlucava i izdržljiva odora ima mnoštvo džepova za čuvanje pisama. Ne daje nikakav bonus. Predmet za pretplatnike februar 2014.",
"armorMystery201403Text": "Šumski kamuflažni oklop",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Stimpank odelo",
"armorMystery301404Notes": "Kicoško i zanosno! Ne daje nikakav bonus. Predmet za pretplatnike februar 3015..",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Dugin šlem",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Krilati šlem",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Otmeni cilindar",
"headMystery301404Notes": "Otmeni cilindar za pripadnike visokog društva! Predmet za pretplatnike januar 3015. Ne daje nikakav bonus.",
"headMystery301405Text": "Jednostavni cilindar",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "modni detalj za leđa",
"backCapitalized": "Back Accessory",
"backBase0Text": "Bez ukrasa na leđima",
"backBase0Notes": "Bez ukrasa na leđima.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Zlatna krila",
"backMystery201402Notes": "Ova krila imaju perje koje svetluca na suncu! Ne daje nikakav bonus. Predmet za pretplatnike februar 2014.",
"backMystery201404Text": "Leptirova krila sumraka",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "ukras za telo",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Bez ukrasa na telu",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "Svi tvrde da se zaštitne naočare nose na očima. Kažu da nikom ne trebaju naočare koje se nose na čeli. Ha! Pokažite im da nisu u pravu. Ne daje nikakav bonus.Predmet za pretplatnike avgust 3015.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "naočare",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "Bez naočara",
diff --git a/website/common/locales/sr/groups.json b/website/common/locales/sr/groups.json
index ed435df328..f118767055 100644
--- a/website/common/locales/sr/groups.json
+++ b/website/common/locales/sr/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/sr/limited.json b/website/common/locales/sr/limited.json
index fcc559ce65..bd21cec021 100644
--- a/website/common/locales/sr/limited.json
+++ b/website/common/locales/sr/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/sr/questscontent.json b/website/common/locales/sr/questscontent.json
index 3246e2cc33..e469158118 100644
--- a/website/common/locales/sr/questscontent.json
+++ b/website/common/locales/sr/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/sr/subscriber.json b/website/common/locales/sr/subscriber.json
index f59c5cc746..1fd25f2450 100644
--- a/website/common/locales/sr/subscriber.json
+++ b/website/common/locales/sr/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/sv/backgrounds.json b/website/common/locales/sv/backgrounds.json
index 06a004e6ac..e7d2198e00 100644
--- a/website/common/locales/sv/backgrounds.json
+++ b/website/common/locales/sv/backgrounds.json
@@ -339,7 +339,7 @@
"backgroundElegantBalconyNotes": "Se ut över landskapet från en Elegant Balkong.",
"backgroundDrivingACoachText": "Driving a Coach",
"backgroundDrivingACoachNotes": "Enjoy Driving a Coach past fields of flowers.",
- "backgrounds042018": "SET 47: Released April 2018",
+ "backgrounds042018": "SET 47: Utgiven April 2018",
"backgroundTulipGardenText": "Tulpanträdgård",
"backgroundTulipGardenNotes": "Tippa igenom en Tulpanträdgård.",
"backgroundFlyingOverWildflowerFieldText": "Fält av vildblommor",
@@ -353,25 +353,32 @@
"backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
"backgroundChampionsColosseumText": "Champions' Colosseum",
"backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
- "backgroundDocksNotes": "Fish from atop the Docks.",
- "backgroundRowboatText": "Rowboat",
+ "backgrounds062018": "Set 49: Utgiven Juni 2018",
+ "backgroundDocksText": "Hamnen",
+ "backgroundDocksNotes": "Fiska från hamnen.",
+ "backgroundRowboatText": "Roddbåt",
"backgroundRowboatNotes": "Sing rounds in a Rowboat.",
- "backgroundPirateFlagText": "Pirate Flag",
+ "backgroundPirateFlagText": "Piratflagga",
"backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
+ "backgrounds072018": "SET 50: Utgiven Juli 2018",
"backgroundDarkDeepText": "Dark Deep",
"backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.",
"backgroundDilatoryCityText": "City of Dilatory",
"backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
"backgroundTidePoolText": "Tide Pool",
"backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
+ "backgrounds082018": "SET 51: Utgiven Augusti 2018",
"backgroundTrainingGroundsText": "Training Grounds",
"backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeText": "Bro",
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Utgiven September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/sv/character.json b/website/common/locales/sv/character.json
index 191c2fd82f..3f89686daa 100644
--- a/website/common/locales/sv/character.json
+++ b/website/common/locales/sv/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Göm poängfördelning",
"quickAllocationLevelPopover": "För varje nivå tjänar du ett poäng som du kan tilldela till en egenskap av ditt val. Du kan göra det manuellt eller så kan du låta spelet välja åt dig med hjälp av Automatisk Tilldelning som finns under Användarikon > Egenskaper.",
"notEnoughAttrPoints": "Du har inte tillräckligt med egenskapspoäng.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stil",
"facialhair": "Ansikte",
"photo": "Foto",
diff --git a/website/common/locales/sv/content.json b/website/common/locales/sv/content.json
index 3a94cff4a6..8ce02f94a1 100644
--- a/website/common/locales/sv/content.json
+++ b/website/common/locales/sv/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Stjärnklar Natt",
"hatchingPotionRainbow": "Regnbåge",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Häll den här på ett ägg, så kläcks det som ett <%= potText(locale) %> husdjur.",
"premiumPotionAddlNotes": "Kan ej användas på ägg till uppdragshusdjur",
"foodMeat": "Kött",
diff --git a/website/common/locales/sv/front.json b/website/common/locales/sv/front.json
index c9a563a6f6..6a5ab55c41 100644
--- a/website/common/locales/sv/front.json
+++ b/website/common/locales/sv/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Ogiltig E-postadress.",
"emailTaken": "E-postadressen används redan av ett annat konto.",
"newEmailRequired": "Saknar ny E-postadress.",
- "usernameTaken": "Inloggningsnamn är redan taget.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Lösenordsbekräftning matchar inte lösenord.",
"invalidLoginCredentials": "Fel användarnamn och/eller email och/eller lösenord.",
"passwordResetPage": "Återställ Lösenord",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Bli medlem med <%= social %>",
"loginWithSocial": "Logga in med <%= social %>",
"confirmPassword": "Bekräfta Lösenord",
- "usernameLimitations": "Inloggningsnamn måste vara mellan 1 till 20 tecken lång, bara innehålla bokstäver från a till z, eller nummer 0 till 9, eller bindestreck, eller understräck.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "t.ex., HabitRabbit",
"emailPlaceholder": "t.ex., rabbit@example.com",
"passwordPlaceholder": "t.ex., ******************",
@@ -329,6 +336,5 @@
"signup": "Bli Medlem",
"getStarted": "Kom Igång",
"mobileApps": "Mobil Appar",
- "learnMore": "Lär Dig Mer",
- "useMobileApps": "Habitica är inte optimiserat för mobila webbläsare. Vi rekommenderar att ladda ner våran mobila app."
+ "learnMore": "Lär Dig Mer"
}
\ No newline at end of file
diff --git a/website/common/locales/sv/gear.json b/website/common/locales/sv/gear.json
index 746465f205..d122a8971e 100644
--- a/website/common/locales/sv/gear.json
+++ b/website/common/locales/sv/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Måltidernas högaffel",
"weaponMystery201411Notes": "Hugg dina fiender eller ät din favoritmat - denna mångsidiga högaffel gör allt! Ger ingen fördel. November 2014 Prenumerantobjekt.",
"weaponMystery201502Text": "Glittrig Bevingad Stav av Kärlek och Också Sanning",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "rustning",
"armorCapitalized": "Rustning",
"armorBase0Text": "Vanliga kläder",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Budbärarskrud",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Skogsvandrarrustning",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk-dräkt",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "hjälm",
"headgearCapitalized": "Huvudbonader",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Regnbågsfärgad krigarhjälm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Bevingad hjälm",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Stilig cylinderhatt",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Vanlig cylinderhatt",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Ryggtillbehör",
"backCapitalized": "Back Accessory",
"backBase0Text": "Inget ryggtillbehör",
"backBase0Notes": "Inget ryggtillbehör.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Guldvingar",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Twilight Butterfly Wings",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Kroppstillbehör",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Inget kroppstillbehör",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Goggles are for your eyes,\" they said. \"Nobody wants goggles that you can only wear on your head,\" they said. Hah! You sure showed them! Confers no benefit. August 3015 Subscriber Item.",
"headAccessoryArmoireComicalArrowText": "Komisk Pil",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Ögonskydd",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "Inget ögonskydd",
diff --git a/website/common/locales/sv/groups.json b/website/common/locales/sv/groups.json
index c913e152aa..e804e41184 100644
--- a/website/common/locales/sv/groups.json
+++ b/website/common/locales/sv/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Hjälpfulla Länkar",
"communityGuidelinesLink": "Gemenskapens riktlinjer",
diff --git a/website/common/locales/sv/limited.json b/website/common/locales/sv/limited.json
index 63e00ef381..4917e5ed39 100644
--- a/website/common/locales/sv/limited.json
+++ b/website/common/locales/sv/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Tillgänglig för köp tills <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/sv/messages.json b/website/common/locales/sv/messages.json
index 79e79039ab..ac104cb3bb 100644
--- a/website/common/locales/sv/messages.json
+++ b/website/common/locales/sv/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Notifikations-id krävs.",
"unallocatedStatsPoints": "Du har <%= points %> outdelat Egenskapspoäng",
"beginningOfConversation": "Detta är början av din konversation med <%= userName %>. Kom ihåg att vara trevlig, respektfull, och att följa gemenskapens riktlinjer!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Tyvärr har denna användare raderat sitt konto."
}
\ No newline at end of file
diff --git a/website/common/locales/sv/questscontent.json b/website/common/locales/sv/questscontent.json
index ac417505bf..19f3d40f14 100644
--- a/website/common/locales/sv/questscontent.json
+++ b/website/common/locales/sv/questscontent.json
@@ -52,7 +52,7 @@
"questRoosterBoss": "Tupp",
"questRoosterDropRoosterEgg": "Tupp (ägg)",
"questRoosterUnlockText": "Låser upp köpbara tuppägg på Marknaden",
- "questSpiderText": "FrostSpindeln",
+ "questSpiderText": "Frostspindeln",
"questSpiderNotes": "När vädret går mot kallare tider börjar frost dyka upp på Habiticanernas fönster, likt skira spindelnät.. Utom hos @Arcosine, vars fönster är helt igenfrusna av Frostspindeln som valt att flytta in i hans hem. Kära nån..",
"questSpiderCompletion": "Frostspindeln kollapsar i en liten hög av iskristaller och några av hennes förtrollade ägg. @Arcosine skyndar sig att erbjuda er dem i belöning - kanske kan ni föda upp några snällare spindlar som husdjur?",
"questSpiderBoss": "Spindel",
@@ -271,7 +271,7 @@
"questBurnoutBoss": "Burnout",
"questBurnoutBossRageTitle": "Exhaust Strike",
"questBurnoutBossRageDescription": "When this gauge fills, Burnout will unleash its Exhaust Strike on Habitica!",
- "questBurnoutDropPhoenixPet": "Phoenix (Husdjur)",
+ "questBurnoutDropPhoenixPet": "Fenix (Husdjur)",
"questBurnoutDropPhoenixMount": "Fenix (Riddjur)",
"questBurnoutBossRageQuests": "`Burnout uses EXHAUST STRIKE!`\n\nOh no! Despite our best efforts, we've let some Dailies get away from us, and now Burnout is inflamed with energy! With a crackling snarl, it engulfs Ian the Quest Master in a surge of spectral fire. As fallen quest scrolls smolder, the smoke clears, and you see that Ian has been drained of energy and turned into a drifting Exhaust Spirit!\n\nOnly defeating Burnout can break the spell and restore our beloved Quest Master. Let's keep our Dailies in check and defeat this monster before it attacks again!",
"questBurnoutBossRageSeasonalShop": "`Burnout uses EXHAUST STRIKE!`\n\nAhh!!! Our incomplete Dailies have fed the flames of Burnout, and now it has enough energy to strike again! It lets loose a gout of spectral flame that sears the Seasonal Shop. You're horrified to see that the cheery Seasonal Sorceress has been transformed into a drooping Exhaust Spirit.\n\nWe have to rescue our NPCs! Hurry, Habiticans, complete your tasks and defeat Burnout before it strikes for a third time!",
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/sv/settings.json b/website/common/locales/sv/settings.json
index ebf3f95040..5caf18c587 100644
--- a/website/common/locales/sv/settings.json
+++ b/website/common/locales/sv/settings.json
@@ -3,7 +3,7 @@
"language": "Språk",
"americanEnglishGovern": "I den händelse att det uppstår en oförenlighet i översättningarna, så är den amerikansk engelska versionen styrande.",
"helpWithTranslation": "Skulle du vilja hjälpa till med översättningen av Habitica? Toppen! Besök då detta Trello-kort.",
- "showHeaderPop": "Visa din avatar, hälsa-/erfarenhetsmätare, och sällskap.",
+ "showHeaderPop": "Visa din avatar, hälsa/erfarenhetsmätare, och sällskap.",
"stickyHeader": "Fastklistrat sidhuvud",
"stickyHeaderPop": "Fäster sidhuvudet högst upp på skärmen. Omarkerad betyder att den skrollar bort utom synhåll.",
"newTaskEdit": "Öppna nya uppgifter i redigeringsläge",
@@ -14,7 +14,7 @@
"startAdvCollapsed": "Advanced Settings in tasks start collapsed",
"startAdvCollapsedPop": "With this option set, Advanced Settings will be hidden when you first open a task for editing.",
"dontShowAgain": "Visa inte det här igen",
- "suppressLevelUpModal": "Visa inte popup när jag levlar upp",
+ "suppressLevelUpModal": "Visa inte en popup när jag levlar upp",
"suppressHatchPetModal": "Visa inte en popup när ett husdjur kläcks",
"suppressRaisePetModal": "Visa inte en popup när ett husdjur blir ett riddjur",
"suppressStreakModal": "Visa inte en popup när jag når en följd av bedrifter",
diff --git a/website/common/locales/sv/subscriber.json b/website/common/locales/sv/subscriber.json
index 73b1f803b8..c9c857e94c 100644
--- a/website/common/locales/sv/subscriber.json
+++ b/website/common/locales/sv/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Tillbehör Set",
"mysterySet301703": "Påfågel Steampunk Set",
diff --git a/website/common/locales/tr/backgrounds.json b/website/common/locales/tr/backgrounds.json
index b250641744..69c2bd3beb 100644
--- a/website/common/locales/tr/backgrounds.json
+++ b/website/common/locales/tr/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Kayalık Kanyon",
"backgroundFlyingOverRockyCanyonNotes": "Kayalık Kanyonun üzerinde uçarken aşağıdaki nefes kesici manzaraya bak.",
"backgroundBridgeText": "Köprü",
- "backgroundBridgeNotes": "Sevimli bir Köprüyü geç."
+ "backgroundBridgeNotes": "Büyüleyici bir köprüyü geç.",
+ "backgrounds092018": "SET 52: Eylül 2018'de yayımlandı",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Dev Kitap",
+ "backgroundGiantBookNotes": "Dev Kitabın sayfalarını dolaşırken oku.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/tr/character.json b/website/common/locales/tr/character.json
index 812822927d..51577841e8 100644
--- a/website/common/locales/tr/character.json
+++ b/website/common/locales/tr/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Nitelik Dağılımını gizle",
"quickAllocationLevelPopover": "Her seviye, sana istediğin bir Niteliğe harcaman için bir Puan kazandırır. Bunu elle yapabileceğin gibi, Kullanıcı İkonu -> Nitelikler menüsü altındaki Otomatik Dağıtma ayarlarından biri ile oyunun senin yerine karar vermesini de sağlayabilirsin.",
"notEnoughAttrPoints": "Yeterince Nitelik Puanın yok.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Tarz",
"facialhair": "Sakal & Bıyık",
"photo": "Fotoğraf",
diff --git a/website/common/locales/tr/content.json b/website/common/locales/tr/content.json
index 7a4c01d12d..0d0df929c9 100644
--- a/website/common/locales/tr/content.json
+++ b/website/common/locales/tr/content.json
@@ -166,16 +166,16 @@
"questEggPterodactylAdjective": "güvenen bir",
"questEggBadgerText": "Porsuk",
"questEggBadgerMountText": "Porsuk",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "Kıpır kıpır",
"questEggSquirrelText": "Sincap",
"questEggSquirrelMountText": "Sincap",
- "questEggSquirrelAdjective": "a bushy-tailed",
+ "questEggSquirrelAdjective": "gür kuyruklu",
"questEggSeaSerpentText": "Su Yılanı",
"questEggSeaSerpentMountText": "Su Yılanı",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSeaSerpentAdjective": "Parıltılı",
+ "questEggKangarooText": "Kanguru",
+ "questEggKangarooMountText": "Kanguru",
+ "questEggKangarooAdjective": "istekli bit",
"eggNotes": "Bir kuluçka iksiri bulup bu yumurtanın üzerine döktüğünde yumurtadan <%= eggAdjective(locale) %> <%= eggText(locale) %> çıkacak.",
"hatchingPotionBase": "Sıradan",
"hatchingPotionWhite": "Beyaz",
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Yıldızlı Gece",
"hatchingPotionRainbow": "Gökkuşağı",
"hatchingPotionGlass": "Cam",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Bunu yumurtanın üstüne döktüğünde <%= potText(locale) %> türünde bir hayvan çıkacak.",
"premiumPotionAddlNotes": "Görev yumurtalarıyla kullanılamaz.",
"foodMeat": "Et",
diff --git a/website/common/locales/tr/front.json b/website/common/locales/tr/front.json
index 9b738270bd..821f2dc58c 100644
--- a/website/common/locales/tr/front.json
+++ b/website/common/locales/tr/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Geçersiz e-posta adresi.",
"emailTaken": "Bu e-posta adresi zaten bir kullanıcı hesabında kayıtlı.",
"newEmailRequired": "Yeni e-posta adresi eksik.",
- "usernameTaken": "Giriş İsmi başkası tarafından kullanılıyor.",
- "usernameWrongLength": "Giriş İsmi 1-20 karakter arası uzunlukta olmalıdır.",
- "usernameBadCharacters": "Giriş İsmi yalnızca a'dan z'ye İngilizce harfler, 0'dan 9'a rakamlar, tire ve alt çizgi içerebilir.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Şifre onayı şifreyle uyuşmuyor.",
"invalidLoginCredentials": "Kullanıcı adı ve/veya e-posta ve/veya şifre yanlış.",
"passwordResetPage": "Şifre Sıfırla",
@@ -295,7 +302,7 @@
"signUpWithSocial": "<%= social %> ile kayıt ol",
"loginWithSocial": "<%= social %> ile giriş yap",
"confirmPassword": "Şifreyi Onayla",
- "usernameLimitations": "Giriş İsmi 1-20 karakter arası uzunlukta olmalı; yalnızca a'dan z'ye İngilizce harfler, 0'dan 9'a rakamlar, tire ve alt çizgi içermelidir.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "örn., HabitRabbit",
"emailPlaceholder": "ör., rabbit@example.com",
"passwordPlaceholder": "ör., ******************",
@@ -329,6 +336,5 @@
"signup": "Kaydol",
"getStarted": "Buradan Başla",
"mobileApps": "Mobil Uygulamalar",
- "learnMore": "Daha Fazlasını Öğren",
- "useMobileApps": "Habitica mobil tarayıcı için optimize edilmemiştir. Mobil uygulamalarımızı indirmeni tavsiye ederiz."
+ "learnMore": "Daha Fazlasını Öğren"
}
\ No newline at end of file
diff --git a/website/common/locales/tr/gear.json b/website/common/locales/tr/gear.json
index 07b126e1f9..938046fc16 100644
--- a/website/common/locales/tr/gear.json
+++ b/website/common/locales/tr/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Suyun altında ateş, buz ve elektrik büyüeri, bunu yapan Büyücüye tehlike yaratabilir. Sihirle zehirli iğneler yaratmak ise hiçbir sorun teşkil etmez! Zekayı <%= int %> ve Sezgiyi <%= per %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"weaponSpecialSummer2018HealerText": "Denizhalkı Hükümdarının Üç Dişli Mızrağı",
"weaponSpecialSummer2018HealerNotes": "İyilikçi bir hamle ile şifalı suların ülkene dalga dalga akmasını sağlarsın. Zekayı <%= int %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Hasat Tırmığı",
"weaponMystery201411Notes": "Düşmanlarına saplamak ya da favori yiyeceklerine yumulmak - bu çok kullanışlı tırmık ile hepsini yapabilirsin! Bir fayda sağlamaz. Kasım 2014 Abone Eşyası.",
"weaponMystery201502Text": "Aşkın ve Aynı Zamanda Dürüstlüğün Parıltılı, Kanatlı Asası",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Iocane tozu ve daha başka nice inanılmaz tehlikeli zehre karşı direnç oluşturmak için bunu kullan. Zekayı <%= int %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 3'üncüsü).",
"weaponArmoireJeweledArcherBowText": "Mücehverli Okçu Yayı",
"weaponArmoireJeweledArcherBowNotes": "Altın ve Elmaslardan oluşan bu yay, oklarını hedeflerine inanılmaz bir hızla atar. Zekayı<%= int %> arttırır. Efsunlu Gardırop: Mücehverli Okçu Seti (3 eşyadan 3'üncüsü)",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "zırh",
"armorCapitalized": "Zırh",
"armorBase0Text": "Sade Giysi",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Zehir büyücülüğü kurnazlık üzerine nam salmıştır. Bu rengarenk zırh hariç. Canavarlara ve işlere karşı mesajı oldukça açıktır: dikkat edin! Zekayı <%= int %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"armorSpecialSummer2018HealerText": "Denizhalkı Hükümdarı Cübbesi",
"armorSpecialSummer2018HealerNotes": "Bu gök mavisi cübbenin altından karada yürüyebilen ayakların olduğu fark edilebilir. Yani... Kraliyet mensubu da olsa kimsenin mükemmel olmasını bekleyemezsin. Bünyeyi <%= con %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Haberci Kaftanı",
"armorMystery201402Notes": "Parıltılı ve güçlü olan bu kaftan, mektupları taşımak için birçok cebe sahiptir. Bir fayda sağlamaz. Şubat 2014 Abone Eşyası.",
"armorMystery201403Text": "Orman Yürüyüşçüsü Zırhı",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "Bu kıvrık kuyruk, derinlerde yolunu aydınlatması için ışıldayan beneklere sahiptir. Bir fayda sağlamaz. Haziran 2018 Abone Eşyası.",
"armorMystery201807Text": "Su Yılanı Kuyruğu",
"armorMystery201807Notes": "Bu kuvvetli kuyruk seni suyun içinde inanılmaz bir hızla ileri itecek! Bir fayda sağlamaz. Temmuz 2018 Abone Eşyası.",
- "armorMystery201808Text": "Lava Dragon Armor",
+ "armorMystery201808Text": "Lav Ejderi Zırhı",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Takım",
"armorMystery301404Notes": "Şık ve enerjik, tam gaz! Bir fayda sağlamaz. Şubat 3015 Abone Eşyası.",
"armorMystery301703Text": "Steampunk Tavuskuşu Cübbesi",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "Bu süslü elbise, silahları ve ganimetleri gizlemek için çokça cebe sahiptir! Sezgiyi <%= per %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 2'ncisi).",
"armorArmoireJeweledArcherArmorText": "Mücehverli Okçu Zırhı",
"armorArmoireJeweledArcherArmorNotes": "Bu özenlice yapılmış zırh seni oklardan veya serseri kırmızı Günlük İşlerden koruyacak! Bünyeyi <%= con %> puan arttırır. Efsunlu Gardırop: Mücevherli Okçu Seti (3 Eşyadan 2'ncisi).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "başlık",
"headgearCapitalized": "Başlık",
"headBase0Text": "Başlık Yok",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "\"Leziz bir balığa\" benzediğini söyleyenlerin üstünden acıklı bir bakış at. Sezgiyi <%= per %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"headSpecialSummer2018HealerText": "Denizhalkı Hükümdarı Tacı",
"headSpecialSummer2018HealerNotes": "Akuamarin ile süslenmiş bu yüzgeçli taç halkın, balıkların ve ikisinden de biraz olanların liderliğini simgeler! Zekayı <%= int %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Gökkuşağı Savaşçısı Miğferi",
"headSpecialGaymerxNotes": "GaymerX konferansının şerefine tasarlanan bu miğfer ışıltılı, rengarenk gökkuşağı desenleri ile bezenmiştir. GaymerX, LGBTQ'yu ve oyunculuğu kutlayan bir fuardır ve herkese açıktır.",
"headMystery201402Text": "Kanatlı Miğfer",
@@ -1064,7 +1094,7 @@
"headMystery201712Notes": "Bu taç en karanlık kış gecesine bile aydınlık ve sıcaklık getirecek. Bir fayda sağlamaz. Aralık 2017 Abone Eşyası.",
"headMystery201802Text": "Aşk Böceği Miğferi",
"headMystery201802Notes": "Bu miğferin üstündeki antenler şirin kaynak arama çubukları olarak iş görürler; yakınlardaki sevgi ve destek hislerini tespit ederler. Bir fayda sağlamaz. Şubat 2018 Abone Eşyası.",
- "headMystery201803Text": "Gözüpek Yusufçuk Tacı",
+ "headMystery201803Text": "Gözü Pek Yusufçuk Tacı",
"headMystery201803Notes": "Görüntüsü pek dekoratif olsa da, bu tacın üzerindeki kanatları fazladan havalanmak için kullanabilirsin! Bir fayda sağlamaz. Mart 2018 Abone Eşyası.",
"headMystery201805Text": "Olağanüstü Tavus Kuşu Miğferi",
"headMystery201805Notes": "Bu miğfer seni şehirdeki en gururlu ve en sevimli (muhtemelen aynı zamanda da en gürültücü) kuş yapacak. Bir fayda sağlamaz. Mayıs 2018 Abone Eşyası.",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "Bu miğferin üstündeki güçlü pullar, seni her türlü okyanus sakini düşmanının davranışından koruyacak. Bir fayda sağlamaz. Temmuz 2018 Abone Eşyası.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Süslü Silindir Şapka",
"headMystery301404Notes": "Centilmenlerin en iyisine layık, süslü bir silindir şapka! Ocak 3015 Abone Eşyası. Bir fayda sağlamaz.",
"headMystery301405Text": "Sade Silindir Şapka",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Taşlarla bezeli bu korkusuz, kafatası şeklindeki kalkan, İskelet hayvanlarını ve bineklerini çağırırken balık düşmanlarına korku salar. Bünyeyi <%= con %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"shieldSpecialSummer2018HealerText": "Denizhalkı Hükümdarı Amblemi",
"shieldSpecialSummer2018HealerNotes": "Bu kalkan, sulu diyarlarını ziyaret eden karada yaşayan ziyaretçilerinin faydalanması için bir hava kubbesi oluşturabilir. Bünyeyi <%= con %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Çözüm Katledicisi",
"shieldMystery201601Notes": "Bu pala, tüm dikkat dağınıklığını bertaraf etmekte kullanılabilir. Bir fayda sağlamaz. Ocak 2016 Abone Eşyası.",
"shieldMystery201701Text": "Zaman Dondurucu Kalkan",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Ne kadar da gösterişli bir vazo yaptın! İçine ne koyacaksın? Zekayı <%= int %> puan arttırır. Efsunlu Gardırop: Cam Üfleyicisi Seti (4 Eşyadan 4'üncüsü).",
"shieldArmoirePiraticalSkullShieldText": "Korsani Kafatası Kalkanı",
"shieldArmoirePiraticalSkullShieldNotes": "Bu sihirli kalkan, düşmanlarının ganimetlerinin yerlerini sana fısıldar - iyi dinle! Sezgiyi ve Zekayı <%= attrs %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 4'üncüsü).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Sırt Aksesuarı",
"backCapitalized": "Sırt Aksesuarı",
"backBase0Text": "Sırt Aksesuarı Yok",
"backBase0Notes": "Sırt Aksesuarı Yok.",
+ "animalTails": "Hayvan Kuyrukları",
"backMystery201402Text": "Altın Kanatlar",
"backMystery201402Notes": "Bu ışıltılı kanatlar, güneş altında parıldayan tüylere sahiptir! Bir fayda sağlamaz. Şubat 2014 Abone Eşyası.",
"backMystery201404Text": "Alacakaranlık Kelebeği Kanatları",
@@ -1424,7 +1465,7 @@
"backMystery201709Notes": "Büyü öğrenmek çok fazla okumayı gerektirir ama hiç yoktan çalışırken zevk alırsın! Bir fayda sağlamaz. Eylül 2017 Abone Eşyası.",
"backMystery201801Text": "Buz Perisi Kanatları",
"backMystery201801Notes": "Kar taneleri kadar narin görünseler de bu büyülü kanatlar seni dilediğin yere taşıyabilir! Bir fayda sağlamaz. Ocak 2018 Abone Eşyası.",
- "backMystery201803Text": "Gözüpek Yusufçuk Kanatları",
+ "backMystery201803Text": "Gözü Pek Yusufçuk Kanatları",
"backMystery201803Notes": "Bu renkli ve ışıltılı kanatlar seni yumuşak bahar esintilerinin içinden ve nilüfer göllerinin üzerinden taşıyacak. Bir fayda sağlamaz. Mart 2018 Abone Eşyası.",
"backMystery201804Text": "Sincap Kuyruğu",
"backMystery201804Notes": "Elbette dalların üzerinden atlarken dengeni kurmana yardımcı olacak ama en önemli özelliği şu: MAKSİMUM YUMUŞAKLIK. Bir fayda sağlamaz. Nisan 2018 Abone Eşyası.",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "Bu pelerin bir zamanlar Kayıp Uzmaneleman'ın kendine aitti. Sezgiyi <%= per %> puan arttırır.",
"backSpecialTurkeyTailBaseText": "Hindi Kuyruğu",
"backSpecialTurkeyTailBaseNotes": "Kutlama yaparken asil Hindi Kuyruğunu gururla tak! Bir fayda sağlamaz.",
+ "backBearTailText": "Ayı Kuyruğu",
+ "backBearTailNotes": "Bu kuyruk seni cesur bir ayı gibi gösterecek! Bir fayda sağlamaz.",
+ "backCactusTailText": "Kaktüs Kuyruğu",
+ "backCactusTailNotes": "Bu kuyruk seni dikenli bir kaktüs gibi gösterecek! Bir fayda sağlamaz.",
+ "backFoxTailText": "Tilki Kuyruğu",
+ "backFoxTailNotes": "Bu kuyruk seni cingöz bir tilki gibi gösterecek! Bir fayda sağlamaz.",
+ "backLionTailText": "Aslan Kuyruğu",
+ "backLionTailNotes": "Bu kuyruk seni gösterişli bir aslan gibi gösterecek! Bir fayda sağlamaz.",
+ "backPandaTailText": "Panda Kuyruğu",
+ "backPandaTailNotes": "Bu kuyruk seni nazik bir panda gibi gösterecek! Bir fayda sağlamaz.",
+ "backPigTailText": "Domuz Kuyruğu",
+ "backPigTailNotes": "Bu kuyruk seni esprili bir domuz gibi gösterecek! Bir fayda sağlamaz.",
+ "backTigerTailText": "Kaplan Kuyruğu",
+ "backTigerTailNotes": "Bu kuyruk seni vahşi bir kaplan gibi gösterecek! Bir fayda sağlamaz.",
+ "backWolfTailText": "Kurt Kuyruğu",
+ "backWolfTailNotes": "Bu kuyruk seni sadık bir kurt gibi gösterecek! Bir fayda sağlamaz.",
"body": "Vücut Aksesuarı",
"bodyCapitalized": "Vücut Aksesuarı",
"bodyBase0Text": "Vücut Aksesuarı Yok",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Gözlükler gözler içindir,\" dediler. \"Kimse sadece kafasına takabileceği gözlükler istemez,\" dediler. Hah! Gözlerine soktuğuna emin ol! Bir fayda sağlamaz. Ağustos 3015 Abone Eşyası.",
"headAccessoryArmoireComicalArrowText": "Esprili Ok",
"headAccessoryArmoireComicalArrowNotes": "Bu şakacı eşya etraftakileri güldürmekte başarılıdır! Gücü <%= str %> puan arttırır. Efsunlu Gardırop: Bağımsız Eşya.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Gözlük",
"eyewearCapitalized": "Gözlük",
"eyewearBase0Text": "Gözlük Yok",
diff --git a/website/common/locales/tr/groups.json b/website/common/locales/tr/groups.json
index 8fe5ab5355..2e18bfacd7 100644
--- a/website/common/locales/tr/groups.json
+++ b/website/common/locales/tr/groups.json
@@ -6,6 +6,7 @@
"innText": "Handa dinleniyorsun! Burada iken, Günlük İşlerin gün sonunda sana hasar vermezler ancak her gün yenilenmeye devam ederler. Dikkatli ol: Eğer bir Canavar Görevine katılıyorsan, takım arkadaşların da Handa olmadığı sürece, onların aksattığı Günlük İşler yüzünden Canavar sana da hasar verecektir! Aynı zamanda, Handan ayrılmadığın sürece Canavara vereceğin hasar (veya toplayacağın eşyalar) da sayılmayacaktır.",
"innTextBroken": "Handa dinleniyorsun, sanırım... Burada iken, Günlük İşlerin gün sonunda sana hasar vermezler ancak her gün yenilenmeye devam ederler... Eğer bir Canavar Görevine katılıyorsan, onların aksattığı Günlük İşler yüzünden Canavar sana da hasar verecektir... takım arkadaşların da Handa olmadığı sürece... Aynı zamanda, Handan ayrılmadığın sürece Canavara vereceğin hasar (veya toplayacağın eşyalar) da sayılmayacaktır... çok yorgunum...",
"innCheckOutBanner": "Şu anda Handa dinleniyorsun. Günlük işlerin sana zarar vermez ve görevlere katkıda bulunmazsın.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Handan çıkış yap",
"helpfulLinks": "Yararlı Bağlantılar",
"communityGuidelinesLink": "Topluluk Kuralları",
diff --git a/website/common/locales/tr/limited.json b/website/common/locales/tr/limited.json
index 044113f014..a32a15c792 100644
--- a/website/common/locales/tr/limited.json
+++ b/website/common/locales/tr/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Aslan Balığı Büyücü (Büyücü)",
"summer2018MerfolkMonarchSet": "Denizhalkı Hükümdarı (Şifacı)",
"summer2018FisherRogueSet": "Balıkçı Düzenbaz (Düzenbaz)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "<%= date(locale) %> tarihine kadar satın alınabilir. ",
"dateEndMarch": "30 Nisan",
"dateEndApril": "19 Nisan",
@@ -132,7 +136,7 @@
"dateEndJune": "14 Haziran",
"dateEndJuly": "31 Temmuz",
"dateEndAugust": "31 Ağustos",
- "dateEndSeptember": "September 21",
+ "dateEndSeptember": "21 Eylül",
"dateEndOctober": "31 Ekim",
"dateEndNovember": "30 Kasım",
"dateEndJanuary": "31 Ocak",
diff --git a/website/common/locales/tr/messages.json b/website/common/locales/tr/messages.json
index de012b5424..3fb9f8ac6f 100644
--- a/website/common/locales/tr/messages.json
+++ b/website/common/locales/tr/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "Bildirm ID'leri gerekmektedir.",
"unallocatedStatsPoints": "<%= points %> adet dağıtılmamış Nitelik Puanın var.",
"beginningOfConversation": "Bu <%= userName %> ile konuşmanın başlangıcıdır.Kibar ve saygılı olmayı ve Topluluk Kurallarına uymayı unutma.",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "Üzgünüz, bu kullanıcı hesabını silmiş."
}
\ No newline at end of file
diff --git a/website/common/locales/tr/questscontent.json b/website/common/locales/tr/questscontent.json
index 8135140802..6c40677628 100644
--- a/website/common/locales/tr/questscontent.json
+++ b/website/common/locales/tr/questscontent.json
@@ -615,6 +615,8 @@
"questKangarooNotes": "Maybe you should have finished that last task… you know, the one you keep avoiding, even though it always comes back around? But @Mewrose and @LilithofAlfheim invited you and @stefalupagus to see a rare kangaroo troop hopping through the Sloensteadi Savannah; how could you say no?! As the troop comes into view, something hits you on the back of the head with a mighty whack!
Shaking the stars from your vision, you pick up the responsible object--a dark red boomerang, with the very task you continually push back etched into its surface. A quick glance around confirms the rest of your party met a similar fate. One larger kangaroo looks at you with a smug grin, like she’s daring you to face her and that dreaded task once and for all!",
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
- "questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooDropKangarooEgg": "Kanguru (Yumurta)",
+ "questKangarooUnlockText": "Pazardan Kanguru yumurtaları satın alabilmeni sağlar",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/tr/subscriber.json b/website/common/locales/tr/subscriber.json
index daa9803361..8115e3119b 100644
--- a/website/common/locales/tr/subscriber.json
+++ b/website/common/locales/tr/subscriber.json
@@ -141,12 +141,13 @@
"mysterySet201712": "Mumbükücü Seti",
"mysterySet201801": "Buz Perisi Seti",
"mysterySet201802": "Aşk Böceği Seti",
- "mysterySet201803": "Gözüpek Yusufçuk Seti",
+ "mysterySet201803": "Gözü Pek Yusufçuk Seti",
"mysterySet201804": "Zarif Sincap Seti",
"mysterySet201805": "Olağanüstü Tavus Kuşu Seti",
"mysterySet201806": "Alımlı Fener Balığı Seti",
"mysterySet201807": "Su Yılanı Seti",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "Lav Ejderi Seti",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Standart Steampunk Seti",
"mysterySet301405": "Steampunk Aksesuarları Seti",
"mysterySet301703": "Tavuskuşu Steampunk Seti",
diff --git a/website/common/locales/uk/backgrounds.json b/website/common/locales/uk/backgrounds.json
index 816bf3027c..9d50cb0cea 100644
--- a/website/common/locales/uk/backgrounds.json
+++ b/website/common/locales/uk/backgrounds.json
@@ -373,5 +373,12 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn."
}
\ No newline at end of file
diff --git a/website/common/locales/uk/character.json b/website/common/locales/uk/character.json
index 23216210e2..0e23b4c628 100644
--- a/website/common/locales/uk/character.json
+++ b/website/common/locales/uk/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Стиль",
"facialhair": "Facial",
"photo": "Світлина",
diff --git a/website/common/locales/uk/content.json b/website/common/locales/uk/content.json
index c8f35ffb85..4b4c6aa691 100644
--- a/website/common/locales/uk/content.json
+++ b/website/common/locales/uk/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Вилийте це на яйце, і з нього вилупиться улюбленець<%= potText(locale) %>.",
"premiumPotionAddlNotes": "Неможливо використати на квестових яйцях з улюбленцями.",
"foodMeat": "М'ясо",
diff --git a/website/common/locales/uk/front.json b/website/common/locales/uk/front.json
index 6b9f71e7bd..14fdf187f7 100644
--- a/website/common/locales/uk/front.json
+++ b/website/common/locales/uk/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Зареєструватися",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/uk/gear.json b/website/common/locales/uk/gear.json
index bb267b63d3..55ec3b8d91 100644
--- a/website/common/locales/uk/gear.json
+++ b/website/common/locales/uk/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident",
"weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "Pitchfork of Feasting",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -350,6 +358,8 @@
"weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
"weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "броня",
"armorCapitalized": "Armor",
"armorBase0Text": "Звичайний одяг",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
"armorSpecialSummer2018HealerText": "Merfolk Monarch Robes",
"armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "Мантія посланця",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Броня лісовика",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
"headMystery201402Text": "Крилатий шолом",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Fancy Top Hat",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Basic Top Hat",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Золоті крила",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Twilight Butterfly Wings",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "No Body Accessory",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "\"Goggles are for your eyes,\" they said. \"Nobody wants goggles that you can only wear on your head,\" they said. Hah! You sure showed them! Confers no benefit. August 3015 Subscriber Item.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/uk/groups.json b/website/common/locales/uk/groups.json
index f56b4efddb..49084d920e 100644
--- a/website/common/locales/uk/groups.json
+++ b/website/common/locales/uk/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Корисні посилання",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/uk/limited.json b/website/common/locales/uk/limited.json
index c4a63bd7ca..7307ce1a75 100644
--- a/website/common/locales/uk/limited.json
+++ b/website/common/locales/uk/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
diff --git a/website/common/locales/uk/questscontent.json b/website/common/locales/uk/questscontent.json
index 6ea4be1ace..33082a4dec 100644
--- a/website/common/locales/uk/questscontent.json
+++ b/website/common/locales/uk/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/uk/subscriber.json b/website/common/locales/uk/subscriber.json
index 375e8d81a5..cce9baa277 100644
--- a/website/common/locales/uk/subscriber.json
+++ b/website/common/locales/uk/subscriber.json
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/zh/backgrounds.json b/website/common/locales/zh/backgrounds.json
index 6169e3abdb..d15e9f9a20 100644
--- a/website/common/locales/zh/backgrounds.json
+++ b/website/common/locales/zh/backgrounds.json
@@ -367,11 +367,18 @@
"backgroundDilatoryCityNotes": "在海底的拖延城漫步吧",
"backgroundTidePoolText": "潮汐水池",
"backgroundTidePoolNotes": "在潮汐水池旁观察海洋生物吧",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgrounds082018": "第51组:2018年8月推出",
+ "backgroundTrainingGroundsText": "训练场地",
+ "backgroundTrainingGroundsNotes": "在训练场地中练习。",
+ "backgroundFlyingOverRockyCanyonText": "岩石峡谷",
+ "backgroundFlyingOverRockyCanyonNotes": "当您飞越岩石峡谷时,俯视一个令人惊叹的风景。",
+ "backgroundBridgeText": "桥",
+ "backgroundBridgeNotes": "通过拥有迷人风景的桥",
+ "backgrounds092018": "SET 52: 2018年9月发布",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "鸿篇巨著",
+ "backgroundGiantBookNotes": "慢慢浏览这部鸿篇巨著",
+ "backgroundCozyBarnText": "舒适的谷仓",
+ "backgroundCozyBarnNotes": "与你的宠物和坐骑在舒适的谷仓放松。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/character.json b/website/common/locales/zh/character.json
index aafad04fbc..f959ca7077 100644
--- a/website/common/locales/zh/character.json
+++ b/website/common/locales/zh/character.json
@@ -204,6 +204,7 @@
"hideQuickAllocation": "隐藏属性分配的状态",
"quickAllocationLevelPopover": "每一级您都可以获得一个可自由分配的属性点。你可以手动分配,也可以在用户图标 -> 状态界面中选择让系统为你自动分配。",
"notEnoughAttrPoints": "您没有足够的属性点数。",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "风格",
"facialhair": "面部",
"photo": "图片",
diff --git a/website/common/locales/zh/content.json b/website/common/locales/zh/content.json
index 91dfd06189..17c37cbe0c 100644
--- a/website/common/locales/zh/content.json
+++ b/website/common/locales/zh/content.json
@@ -172,9 +172,9 @@
"questEggSquirrelAdjective": "a bushy-tailed",
"questEggSeaSerpentText": "海蛇",
"questEggSeaSerpentMountText": "海蛇",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
+ "questEggSeaSerpentAdjective": "一个闪闪发光的",
+ "questEggKangarooText": "袋鼠",
+ "questEggKangarooMountText": "袋鼠",
"questEggKangarooAdjective": "a keen",
"eggNotes": "将一瓶孵化药水倒在这个宠物蛋上,你就能孵化出一只<%= eggAdjective(locale) %><%= eggText(locale) %>。",
"hatchingPotionBase": "普通",
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "星夜",
"hatchingPotionRainbow": "彩虹",
"hatchingPotionGlass": "玻璃",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "把它倒在宠物蛋上可以孵化出一只<%= potText(locale) %>宠物。",
"premiumPotionAddlNotes": "无法在任务奖励宠物蛋上使用",
"foodMeat": "肉",
diff --git a/website/common/locales/zh/front.json b/website/common/locales/zh/front.json
index ed897d37c9..116948e8b2 100644
--- a/website/common/locales/zh/front.json
+++ b/website/common/locales/zh/front.json
@@ -270,9 +270,16 @@
"notAnEmail": "无效的电子邮件地址。",
"emailTaken": "邮件地址已经在现有账号中存在",
"newEmailRequired": "缺少新的邮件地址",
- "usernameTaken": "登录用户名已被使用",
- "usernameWrongLength": "用户登录名的长度必须在1至20个字符之间。",
- "usernameBadCharacters": "用户登陆名只能含有字母a至z,数字0至9,连字符,或者下划线。",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit our wiki.",
+ "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "密码不匹配",
"invalidLoginCredentials": "错误的用户名 和/或 电子邮件 和/或 密码。",
"passwordResetPage": "重置密码",
@@ -295,7 +302,7 @@
"signUpWithSocial": "使用<%= social %>注册",
"loginWithSocial": "使用<%= social %>登陆",
"confirmPassword": "确认密码",
- "usernameLimitations": "用户登陆名的长度必须在1至20个字符之间,只含有字母a至z,或数字0至9,或连字符,或下划线。",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "例如HabitRabbit",
"emailPlaceholder": "例如rabbit@example.com",
"passwordPlaceholder": "例如哔——",
@@ -329,6 +336,5 @@
"signup": "注册",
"getStarted": "现在加入我们!",
"mobileApps": "手机客户端",
- "learnMore": "了解更多",
- "useMobileApps": "Habitica并不适合在移动网页端使用。我们建议您下载我们的手机APP。"
+ "learnMore": "了解更多"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/gear.json b/website/common/locales/zh/gear.json
index fa12d21353..1fba902b60 100644
--- a/website/common/locales/zh/gear.json
+++ b/website/common/locales/zh/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "水下使用,魔力基于火,冰或电会对操纵它的法师产生伤害。但是,变幻出的毒刺作用出色!增加 <%= int %> 点智力和 <%= per %>点感知。2018年夏季限量版装备。",
"weaponSpecialSummer2018HealerText": "人鱼王的三叉戟",
"weaponSpecialSummer2018HealerNotes": "你用仁慈的手势指挥着治愈之水的波涛流过你的领土。增加 <%= int %>点智力。2018年夏季限量版装备。",
+ "weaponSpecialFall2018RogueText": "Vial of Clarity",
+ "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018WarriorText": "Whip of Minos",
+ "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "weaponSpecialFall2018MageText": "Staff of Sweetness",
+ "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.",
+ "weaponSpecialFall2018HealerText": "Starving Staff",
+ "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"weaponMystery201411Text": "盛宴之叉",
"weaponMystery201411Notes": "刺伤你的仇敌或是插进你最爱的食物——这把多才多艺的叉子可是无所不能!没有属性加成。2014年11月捐助者物品。",
"weaponMystery201502Text": "爱与真理之微光翅膀法杖",
@@ -348,8 +356,10 @@
"weaponArmoireGlassblowersBlowpipeNotes": "用这只吹管把融化的玻璃吹成漂亮的花瓶、装饰品和其他的漂亮的东西。增加 <%= str %> 点力量。魔法衣橱:玻璃吹制工套装(4件套的第1件)",
"weaponArmoirePoisonedGobletText": "有毒的高脚杯",
"weaponArmoirePoisonedGobletNotes": "用它来抵抗有毒粉末及其他不可思议的危险毒药。增加 <%= int %>点智力。魔法衣橱:海盗公主套装(4件套中的第3件)",
- "weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow",
- "weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).",
+ "weaponArmoireJeweledArcherBowText": "阿切尔宝石弓",
+ "weaponArmoireJeweledArcherBowNotes": "这把黄金和宝石制成的弓会以无以伦比的速度将你的箭射向目标。提升智力<%= int %>点。魔法衣橱:宝石弓箭手套装(3件中的第3件)。",
+ "weaponArmoireNeedleOfBookbindingText": "装订针",
+ "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).",
"armor": "护甲",
"armorCapitalized": "护甲",
"armorBase0Text": "普通服装",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "毒液魔法素以不易察觉闻名。这个色彩斑斓的护甲并非如此,它向猛兽般的任务传递的信息很明确:当心!增加 <%= int %>点智力。2018年夏季限定装备。",
"armorSpecialSummer2018HealerText": "人鱼王的长袍",
"armorSpecialSummer2018HealerNotes": "这些天蓝色的法衣透露着你有可以在陆地上行走的双脚。哪怕是君王也不可能是完美的。增加 <%= con %>点体质。2018年夏季限定装备。",
+ "armorSpecialFall2018RogueText": "Alter Ego Frock Coat",
+ "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018WarriorText": "Minotaur Platemail",
+ "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018MageText": "Candymancer's Robes",
+ "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
+ "armorSpecialFall2018HealerText": "Robes of Carnivory",
+ "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"armorMystery201402Text": "使者长袍",
"armorMystery201402Notes": "闪闪发光又强大,这些衣服有很多携带信件的口袋。没有赋予好处。2014年2月订阅者物品。",
"armorMystery201403Text": "森林行者护甲",
@@ -662,6 +680,8 @@
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
"armorMystery201808Text": "Lava Dragon Armor",
"armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201809Text": "Armor of Autumn Leaves",
+ "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.",
"armorMystery301404Text": "蒸汽朋克套装",
"armorMystery301404Notes": "整洁又精神,真聪明!没有属性加成。3015年2月订阅者物品",
"armorMystery301703Text": "蒸汽朋克孔雀装礼服",
@@ -756,6 +776,8 @@
"armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).",
"armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor",
"armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
+ "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
"headgear": "头饰",
"headgearCapitalized": "头饰",
"headBase0Text": "没有头盔",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.",
"headSpecialSummer2018HealerText": "Merfolk Monarch Crown",
"headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.",
+ "headSpecialFall2018RogueText": "Alter Ego Face",
+ "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018WarriorText": "Minotaur Visage",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "彩虹战士头盔",
"headSpecialGaymerxNotes": "为了庆祝GaymerX会议的召开,这个特殊的头盔i带有炫目多彩的发光彩虹图样!GaymerX是一个向所有人开放并声援LGBTQ的游戏集会。",
"headMystery201402Text": "翼盔",
@@ -1074,6 +1104,8 @@
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
"headMystery201808Text": "Lava Dragon Cowl",
"headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "华丽礼帽",
"headMystery301404Notes": "上流社会佼佼者的华丽礼帽!3015年1月捐赠者物品。没有属性加成。",
"headMystery301405Text": "基础礼帽",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "决心屠戮者",
"shieldMystery201601Notes": "这把剑能挡开所有的干扰。没有属性加成。2016年1月订阅者物品。",
"shieldMystery201701Text": "冻结时间之盾",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "背部挂件",
"backCapitalized": "背部挂件",
"backBase0Text": "没有背部挂件",
"backBase0Notes": "没有背部挂件。",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "黄金之翼",
"backMystery201402Notes": "这双耀眼的翅膀上的羽毛在阳光下闪闪发光!没有属性加成。2014年2月捐赠者物品。",
"backMystery201404Text": "薄暮蝶翼",
@@ -1442,6 +1483,22 @@
"backSpecialAetherCloakNotes": "这件斗篷曾经属于迷失的大法师。增加感知<%= per %>点。",
"backSpecialTurkeyTailBaseText": "火鸡之尾",
"backSpecialTurkeyTailBaseNotes": "在庆祝时记得穿上这条高贵的火鸡尾巴! 没有属性加成。",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "身体配件",
"bodyCapitalized": "身体挂件",
"bodyBase0Text": "没有身体配件",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "“护目镜是戴在眼睛上的,”人们说。“没有人会想要一副只能戴在头上的护目镜。”人们说。哈!你果然让他们长见识了!没有增益效果。3015年8月捐赠者物品。",
"headAccessoryArmoireComicalArrowText": "滑稽的箭",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "眼镜",
"eyewearCapitalized": "眼镜",
"eyewearBase0Text": "没有眼镜",
diff --git a/website/common/locales/zh/generic.json b/website/common/locales/zh/generic.json
index 20606546eb..7d6fd2aea3 100644
--- a/website/common/locales/zh/generic.json
+++ b/website/common/locales/zh/generic.json
@@ -122,8 +122,8 @@
"error": "错误",
"menu": "菜单",
"notifications": "通知",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "您全部都完成了!",
+ "noNotificationsText": "小信使仙女们围着你欢快得鼓起了热烈的掌声!恭喜,做得太棒了!",
"clear": "清除",
"endTour": "结束教程",
"audioTheme": "声音主题",
diff --git a/website/common/locales/zh/groups.json b/website/common/locales/zh/groups.json
index 81963da260..a086608904 100644
--- a/website/common/locales/zh/groups.json
+++ b/website/common/locales/zh/groups.json
@@ -6,6 +6,7 @@
"innText": "你正在酒馆中休息!当你在酒馆中时,你没完成的每日任务不会在一天结束时对你造成伤害,但是它们仍然会每天刷新。注意:如果你正在参与一个Boss战任务,你仍然会因为队友未完成的每日任务受到boss的伤害!同样,你对Boss的伤害(或者收集的道具)在你离开客栈之前不会结算。",
"innTextBroken": "我想……你正在客酒馆中休息。入住酒馆以后,你的每日任务不会在每天结束时因为没完成而减少你的生命值,但它们仍然会每天刷新。但如果你正在参与一场BOSS战,怪物仍然会因为你所在队伍中的队友没完成每日任务而攻击到你,除非你的队友也在酒馆中休息。同样,你对怪物的伤害(或是收集的道具)在从客栈离开前页不会结算。唉好累啊……",
"innCheckOutBanner": "您目前已入住客栈。 你的每日任务不会对你造成伤害,你也不会在任务中取得进度。",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "继续伤害",
"helpfulLinks": "有帮助的链接",
"communityGuidelinesLink": "社区准则",
@@ -138,7 +139,7 @@
"PMEnabledOptPopoverText": "私信功能已被开启,其他用户可以用你的主页联系到你。",
"PMDisabledOptPopoverText": "私信功能已被关闭,开启这项功能可以使其他用户用你的主页联系到你。",
"PMDisabledCaptionTitle": "私信功能已关闭",
- "PMDisabledCaptionText": "You can still send messages, but no one can send them to you.",
+ "PMDisabledCaptionText": "您仍然可以发送消息,但是没有人可以给您发送消息。",
"block": "阻止",
"unblock": "解锁",
"blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
@@ -256,7 +257,7 @@
"confirmApproval": "你肯定你要批准這個任务?",
"confirmNeedsWork": "您确定要将此任务标记为需要处理吗?",
"userRequestsApproval": "<%= userName %>的请求被肯定了",
- "userCountRequestsApproval": "<%= userCount %> members request approval",
+ "userCountRequestsApproval": "<%= userCount %>位成员的要求被批准",
"youAreRequestingApproval": "你在等待请求被肯定",
"chatPrivilegesRevoked": "您不能发送消息因为您的聊天权利已被撤销。",
"cannotCreatePublicGuildWhenMuted": "您不能创建一个公共的工会因为您的聊天权利已被撤销。",
@@ -381,7 +382,7 @@
"bronzeTier": "铜奖",
"privacySettings": "隐私设置",
"onlyLeaderCreatesChallenges": "只有公会会长能创建挑战",
- "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.",
+ "onlyLeaderCreatesChallengesDetail": "选择此选项后,普通组成员无法为该团队创建挑战。",
"privateGuild": "私人公会",
"charactersRemaining": "<%= characters %>剩余字符",
"guildSummary": "概要",
diff --git a/website/common/locales/zh/limited.json b/website/common/locales/zh/limited.json
index 7e7720bf1e..ab29cf14f3 100644
--- a/website/common/locales/zh/limited.json
+++ b/website/common/locales/zh/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "狮子鱼法师(法师)",
"summer2018MerfolkMonarchSet": "人鱼王(医师)",
"summer2018FisherRogueSet": "渔夫盗贼(盗贼)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "在<%= date(locale) %>前可购买。",
"dateEndMarch": "4月30日",
"dateEndApril": "4月19日",
@@ -132,7 +136,7 @@
"dateEndJune": "6月14日",
"dateEndJuly": "7月31日",
"dateEndAugust": "8月31日",
- "dateEndSeptember": "September 21",
+ "dateEndSeptember": "9月21日",
"dateEndOctober": "10月31日",
"dateEndNovember": "11月30日",
"dateEndJanuary": "1月31日",
diff --git a/website/common/locales/zh/messages.json b/website/common/locales/zh/messages.json
index c6f2722a0c..bda0246fce 100644
--- a/website/common/locales/zh/messages.json
+++ b/website/common/locales/zh/messages.json
@@ -62,5 +62,5 @@
"notificationsRequired": "需要Notification ids",
"unallocatedStatsPoints": "你有<%= points %>没分配的属性点",
"beginningOfConversation": "现在开始和<%= userName %>愉快的聊天吧!记住要善待和尊重他人并遵守社区准则!",
- "messageDeletedUser": "Sorry, this user has deleted their account."
+ "messageDeletedUser": "抱歉,此用户已删除其帐户。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/questscontent.json b/website/common/locales/zh/questscontent.json
index 5712c89c6c..26f2b07503 100644
--- a/website/common/locales/zh/questscontent.json
+++ b/website/common/locales/zh/questscontent.json
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/zh/subscriber.json b/website/common/locales/zh/subscriber.json
index 5749e4328a..cfeec0ee84 100644
--- a/website/common/locales/zh/subscriber.json
+++ b/website/common/locales/zh/subscriber.json
@@ -146,7 +146,8 @@
"mysterySet201805": "华丽孔雀套装",
"mysterySet201806": "迷人琵琶鱼套装",
"mysterySet201807": "海蛇套装",
- "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201808": "熔岩龙套装",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "蒸汽朋克标准套装",
"mysterySet301405": "蒸汽朋克配饰套装",
"mysterySet301703": "孔雀蒸汽朋克套装",
diff --git a/website/common/locales/zh_TW/backgrounds.json b/website/common/locales/zh_TW/backgrounds.json
index d71604fce4..6ab0e58167 100644
--- a/website/common/locales/zh_TW/backgrounds.json
+++ b/website/common/locales/zh_TW/backgrounds.json
@@ -367,11 +367,18 @@
"backgroundDilatoryCityNotes": "漫步在海底中的慢吞吞城市。",
"backgroundTidePoolText": "潮汐池",
"backgroundTidePoolNotes": "在潮汐池邊發現了許許多多的海洋生物!!",
- "backgrounds082018": "第51組:2018八月推出",
+ "backgrounds082018": "第 51 組: 2018 年 8 月推出",
"backgroundTrainingGroundsText": "訓練廣場",
- "backgroundTrainingGroundsNotes": "訓練廣場上的水晶",
+ "backgroundTrainingGroundsNotes": "訓練廣場上的鬥爭。",
"backgroundFlyingOverRockyCanyonText": "巨石峽谷",
- "backgroundFlyingOverRockyCanyonNotes": "當你飛越巨石峽谷,別忘了低頭看那令人屏息的美景。",
+ "backgroundFlyingOverRockyCanyonNotes": "當您飛越巨石峽谷,別忘了低頭看那令人屏息的美景。",
"backgroundBridgeText": "橋樑",
- "backgroundBridgeNotes": "穿過一座美麗的橋。"
+ "backgroundBridgeNotes": "穿過一座美麗的小橋。",
+ "backgrounds092018": "第 52 組: 2018 年 9 月推出",
+ "backgroundApplePickingText": "採集蘋果",
+ "backgroundApplePickingNotes": "採集蘋果並抱走一大箱蘋果回家。",
+ "backgroundGiantBookText": "巨大書籍",
+ "backgroundGiantBookNotes": "邊走過巨大書籍邊閱讀書裡的內容。",
+ "backgroundCozyBarnText": "窩心小穀倉",
+ "backgroundCozyBarnNotes": "讓您的寵物與坐騎在窩心小穀倉裡好好地休息。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/character.json b/website/common/locales/zh_TW/character.json
index 086705b54e..375e028528 100644
--- a/website/common/locales/zh_TW/character.json
+++ b/website/common/locales/zh_TW/character.json
@@ -1,5 +1,5 @@
{
- "communityGuidelinesWarning": "請記得你的角色名稱,簡介照片以及簡介內容必須遵守使用者規範(比如說:不可有猥褻行為、不可有成人議題、不可汙辱他人等等)。如果你不確定某些事有沒有合乎規定,歡迎寫信到 <%= hrefBlankCommunityManagerEmail %>!",
+ "communityGuidelinesWarning": "請記得您的角色名稱、簡介照片以及簡介內容皆須遵守社群守則 (比如說: 不允許猥褻行為、不允許成人議題、不允許汙辱他人等等)。如果您不確定某些事有沒有合乎規範,歡迎寫信到 <%= hrefBlankCommunityManagerEmail %>!",
"profile": "基本資料",
"avatar": "客制化角色圖像",
"editAvatar": "編輯角色",
@@ -204,6 +204,7 @@
"hideQuickAllocation": "隱藏屬性分配",
"quickAllocationLevelPopover": "每一次升等,你將獲得一點可自由分配的屬性點。你可以手動選擇,或是讓系統依據在玩家圖像>屬性 中的其中一種分配規則來自種分配屬性點。",
"notEnoughAttrPoints": "你沒足夠的屬性點。",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "樣式",
"facialhair": "臉部",
"photo": "照片",
diff --git a/website/common/locales/zh_TW/communityguidelines.json b/website/common/locales/zh_TW/communityguidelines.json
index e54e23c422..3516a9bc70 100644
--- a/website/common/locales/zh_TW/communityguidelines.json
+++ b/website/common/locales/zh_TW/communityguidelines.json
@@ -1,6 +1,6 @@
{
"iAcceptCommunityGuidelines": "我願意遵守社群守則",
- "tavernCommunityGuidelinesPlaceholder": "友情提示:這裡的討論適合所有年齡層,所以請保持適當的內容和言語!如果您有任何問題,歡迎查閱側邊欄位的社區指南。",
+ "tavernCommunityGuidelinesPlaceholder": "友情提示:這裡的討論適合所有年齡層,所以請保持適當的內容和言語!如果您有任何問題,歡迎查閱側邊欄位的社群守則。",
"lastUpdated": "最後更新:",
"commGuideHeadingWelcome": "歡迎來到 Habitica!",
"commGuidePara001": "您好,冒險者!歡迎來到Habitica,這是個有效率、健康生活、偶有狂暴獅鷲出沒的地方。我們有個愉快的社群,到處充滿著樂於助人的好鄉民,彼此扶持並藉此自我提昇。要融入這裡,您只需態度積極上進、尊重他人,以及能理解每個都擁有不同的長處與短處——包括你自己!Habitica的鄉民待人耐心,只要有能力就會盡力幫助。",
@@ -8,7 +8,7 @@
"commGuidePara003": "這些規則適用在屬於我們的所有社群空間(但也不只限於此),包括 Trello, GitHub, Transifex 以及 Wikia (也就是我們的維基)。有時候會出現一些前所未見的狀況,例如新的衝突或是邪惡的亡靈法師。當這些情況發生,管理員們可能會修改這些指導原則以確保整個社群平安。別擔心,假如指導原則有所更動,Bailey 會發布公告來通知你。",
"commGuidePara004": "拿起你的羽毛筆跟羊皮卷軸,準備做筆記吧!",
"commGuideHeadingInteractions": "在Habitica中與人互動",
- "commGuidePara015": "Habitica有兩種社群空間: 公共的以及私人的。公共空間包含: 公開的公會、Tavern、GitHub、Trello、以及Wiki。私人空間則包含: 私人的公會、隊伍聊天室、以及私人訊息。所有顯示的名字皆須符合公共空間守則。若想要修改顯示名字,請到網頁上的 玩家圖像>基本資料 並點擊「編輯」按鈕。",
+ "commGuidePara015": "Habitica有兩種社群空間: 公共的以及私人的。公共空間包含: 公開的公會、Tavern、GitHub、Trello、以及Wiki。私人空間則包含: 私人的公會、隊伍聊天室、以及私人訊息。所有顯示的名字皆須符合公共空間守則。若想要修改暱稱,請到網頁上的 玩家圖像>基本資料 並點擊「編輯」按鈕。",
"commGuidePara016": "當你在 Habitica 的公共空間四處閒逛時,請務必遵守基本事項,以確保大家的安全與快樂。對於像您這樣的冒險者而言,想必是易如反掌!",
"commGuideList02A": "彼此尊重。成為彬彬有禮、善良且樂於助人的好鄉民。請記得 Habitica的鄉民來自於五湖四海,擁有各式各樣不同的經歷與背景。Habitica正是因為如此才如此多采多姿! 建立一個社群意味著要彼此尊重與欣賞我們之間的相似與相異之處。以下是一些簡單的尊重彼此的方式: ",
"commGuideList02B": "遵守所有的服務條款與條件。",
@@ -114,7 +114,7 @@
"commGuidePara013": "像 Habitica 這麼大的社群裡,鄉民來來去去,有時管理員也需要卸下他們尊貴的外袍,讓自己放鬆一下。下面列舉的是榮譽退休的工作人員與管理員們。雖然他們不再有管理員的權限,但我們仍然想要表彰他們的貢獻!",
"commGuidePara014": "榮譽退休的工作人員與管理員: ",
"commGuideHeadingFinal": "最後一節",
- "commGuidePara067": "勇敢的Habitica鄉民,以上就是我們的社群規範!累了嗎? 擦乾額頭上的汗水,並給您自己一些經驗值作為讀完所有準則的獎勵吧! 如果有任何關於社群規範的問題,請透過管理員聯絡表單與我們聯繫,我們會很樂意地幫助並回答任何問題。",
+ "commGuidePara067": "勇敢的Habitica鄉民們,以上就是我們的社群守則!已經累了嗎? 擦乾額頭上的汗水,並給您自己一些經驗值作為讀完所有準則的獎勵吧! 如果有任何關於社群守則的問題,請透過管理員聯絡表單與我們聯繫,我們會很樂意地幫助並回答任何問題。",
"commGuidePara068": "現在讓我們一同向前進吧,勇敢的冒險家,並擊殺掉一些每日任務吧!",
"commGuideHeadingLinks": "有用的連結",
"commGuideLink01": "Habitica諮詢台: 一個讓使用者提問的友善公會!!",
diff --git a/website/common/locales/zh_TW/content.json b/website/common/locales/zh_TW/content.json
index c76011e8ed..3ab59f4669 100644
--- a/website/common/locales/zh_TW/content.json
+++ b/website/common/locales/zh_TW/content.json
@@ -202,6 +202,7 @@
"hatchingPotionStarryNight": "星夜",
"hatchingPotionRainbow": "彩虹",
"hatchingPotionGlass": "玻璃",
+ "hatchingPotionGlow": "暗黑閃亮",
"hatchingPotionNotes": "把它倒在寵物蛋上可以孵化出一隻<%= potText(locale) %>寵物。",
"premiumPotionAddlNotes": "不能夠在任務寵物蛋上使用。",
"foodMeat": "肉",
diff --git a/website/common/locales/zh_TW/front.json b/website/common/locales/zh_TW/front.json
index ab614e80c4..b077ed4348 100644
--- a/website/common/locales/zh_TW/front.json
+++ b/website/common/locales/zh_TW/front.json
@@ -257,22 +257,29 @@
"altAttrGithub": "GitHub",
"altAttrTrello": "Trello",
"altAttrSlack": "Slack",
- "missingAuthHeaders": "沒有輸入認證標頭碼。",
- "missingAuthParams": "沒有輸入認證參數。",
- "missingUsernameEmail": "沒有輸入使用者名稱或電子郵件。",
- "missingEmail": "沒有輸入電子郵件。",
- "missingUsername": "沒有輸入使用者名稱。",
- "missingPassword": "沒有輸入密碼。",
- "missingNewPassword": "沒有輸入新密碼。",
+ "missingAuthHeaders": "尚未輸入身份驗證標頭。",
+ "missingAuthParams": "尚未輸入認證參數。",
+ "missingUsernameEmail": "尚未輸入使用者名稱或電子郵件。",
+ "missingEmail": "尚未輸入電子郵件。",
+ "missingUsername": "尚未輸入使用者名稱。",
+ "missingPassword": "尚未輸入密碼。",
+ "missingNewPassword": "尚未輸入新密碼。",
"invalidEmailDomain": "您無法利用以下電子郵件的網域申請帳號:<%= domains %>",
"wrongPassword": "密碼錯誤",
"incorrectDeletePhrase": "請用大寫輸入<%= magicWord %>以刪除您的帳號。",
"notAnEmail": "無效的電子郵件。",
"emailTaken": "該電子郵件已經被其他帳戶使用。",
- "newEmailRequired": "沒有輸入新電子郵件地址。",
- "usernameTaken": "使用者名稱以被使用。",
- "usernameWrongLength": "使用者名稱的長度需在1至20個字符之間。",
- "usernameBadCharacters": "使用者名稱只能含有英文字母a至z、數字0至9、連字號-、或是底線_。",
+ "newEmailRequired": "尚未輸入新電子郵件地址。",
+ "usernameTime": "是時候來設定您的使用者名稱了!",
+ "usernameInfo": "您顯示的名稱不會被更改,但您的舊名稱將會成為您的公開使用者名稱。此名稱將會被用來邀請、在聊天時的@標記、還有通知。
想進一步了解這項改變,可以參訪我們的維基頁面。",
+ "usernameTOSRequirements": "使用者名稱必須遵守我們的服務條款和社群規範。如果您之前尚未設定登入名稱,您的使用者名稱將會被自動生產。",
+ "usernameTaken": "此使用者名稱已有人使用。",
+ "usernameWrongLength": "使用者名稱字數必須介於 1 到 20 個字元。",
+ "displayNameWrongLength": "暱稱必須介於 1 到 30 個字元。",
+ "usernameBadCharacters": "使用者名稱只能包含 a-z、0-9、連字號(\"-\")、或下底線(\"_\")。",
+ "nameBadWords": "名稱不能包含任何不適當的字詞。",
+ "confirmUsername": "確認使用者名稱",
+ "usernameConfirmed": "使用者名稱確認",
"passwordConfirmationMatch": "密碼不匹配。",
"invalidLoginCredentials": "錯誤的使用者名稱 和(或) 電子郵件 和(或) 密碼。",
"passwordResetPage": "重設密碼",
@@ -282,7 +289,7 @@
"passwordResetEmailHtml": "如果您已在Habitica上申請重設<%= username %>的密碼,\"點擊這裡以設置一個新的密碼。此連結將於24小時後到期。
如果您未提出重設密碼的申請,請忽略此封郵件。",
"invalidLoginCredentialsLong": "噢,糟了 - 您的電子郵件地址/使用者名稱或是密碼錯誤。\n-請檢查所有資訊是否皆輸入正確。使用者名稱與密碼採用大小寫敏感。\n-您可能使用Facebook或Google註冊而非電子郵件。請嘗試使用它們登入。\n-如果您忘記密碼,請點擊「忘記密碼」。",
"invalidCredentials": "沒有任何帳號使用那些身份驗證資訊。",
- "accountSuspended": "此帳號,UUID\"<%= userId %>\",已因為違反[社群規範](https://habitica.com/static/community-guidelines) 或是[服務條款](https://habitica.com/static/terms) 而遭到封鎖。詳細資訊或想要求解除封鎖,請透過電子郵件寄信給我們的社群管理員<%= communityManagerEmail %>或是請求您的家長或是監護人透過電子郵件寄信。請將您的UUID及使用者名稱複製到電子郵件中。",
+ "accountSuspended": "此帳號,UUID\"<%= userId %>\",已因為違反[社群守則](https://habitica.com/static/community-guidelines) 或是[服務條款](https://habitica.com/static/terms) 而遭到封鎖。詳細資訊或想要求解除封鎖,請透過電子郵件寄信給我們的社群管理員<%= communityManagerEmail %>或是請求您的家長或是監護人透過電子郵件寄信。請將您的UUID及使用者名稱複製到電子郵件中。",
"accountSuspendedTitle": "帳號已遭停用",
"unsupportedNetwork": "當前網路不支援。",
"cantDetachSocial": "帳號缺少另一個驗證方式。無法分離此驗證方法。",
@@ -295,7 +302,7 @@
"signUpWithSocial": "使用<%= social %>註冊。",
"loginWithSocial": "使用<%= social %>登入。",
"confirmPassword": "確認密碼",
- "usernameLimitations": "使用者名稱的長度需在1至20個字符之間,只能含有英文字母a至z、數字0至9、連字號-、或是底線_。",
+ "usernameLimitations": "使用者名稱字數必須介於 1 到 20 個字元。並且只能包含 a-z、0-9、連字號(\"-\")、或下底線(\"_\")。且不得包含任何不適當的字詞。",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "註冊",
"getStarted": "加入我們",
"mobileApps": "行動版APP",
- "learnMore": "了解更多",
- "useMobileApps": "Habitica沒有針對手機版瀏覽器作最佳優化。我們建議您下載行動版app。"
+ "learnMore": "了解更多"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/gear.json b/website/common/locales/zh_TW/gear.json
index fdf9541ced..c9b3320dfe 100644
--- a/website/common/locales/zh_TW/gear.json
+++ b/website/common/locales/zh_TW/gear.json
@@ -3,15 +3,15 @@
"equipmentType": "種類",
"klass": "職業",
"groupBy": "依<%= type %>分組",
- "classBonus": "(這項物品與您的職業匹配,所以它獲得1.5倍的額外屬性加成。)",
+ "classBonus": "(這項裝備與您的職業相匹配,可獲得1.5倍的額外屬性加成。)",
"classArmor": "職業盔甲",
"featuredset": "精選套裝<%= name %>",
"mysterySets": "神秘套裝",
- "gearNotOwned": "您尚未擁有此物品。",
+ "gearNotOwned": "您尚未擁有此裝備。",
"noGearItemsOfType": "您尚未擁有任何此類物品。",
- "noGearItemsOfClass": "您已經擁有所有該職業的裝備! 更多的裝備將在下一個季節時進貨。",
- "classLockedItem": "此物品只有特定的職業才可以擁有。可以到玩家>設定>角色屬性 變更您的職業!",
- "tierLockedItem": "此物品只在您按順序購買了前一項物品時才會解鎖開放。繼續努力吧!",
+ "noGearItemsOfClass": "您已擁有所有您所屬職業的裝備! 更多裝備將於下一個季節時進貨。",
+ "classLockedItem": "此裝備只有特定的職業才可以擁有。可以到玩家>設定>角色屬性 變更您的職業!",
+ "tierLockedItem": "此裝備只在您按順序購買了前一項物品時才會解鎖開放。繼續努力吧!",
"sortByType": "種類",
"sortByPrice": "價錢",
"sortByCon": "體質",
@@ -19,7 +19,7 @@
"sortByStr": "力量",
"sortByInt": "智力",
"weapon": "武器",
- "weaponCapitalized": "主手物品",
+ "weaponCapitalized": "主手裝備",
"weaponBase0Text": "沒有武器",
"weaponBase0Notes": "沒有武器。",
"weaponWarrior0Text": "訓練用劍",
@@ -81,23 +81,23 @@
"weaponSpecial0Text": "闇魂利刃",
"weaponSpecial0Notes": "饕餮敵人的靈魂以助長自己的邪惡。增加 <%= str %> 點力量。",
"weaponSpecial1Text": "水晶利刃",
- "weaponSpecial1Notes": "閃耀的晶面宛如正訴說著一位英雄的傳說。增加全屬性 <%= attrs %>點。",
+ "weaponSpecial1Notes": "閃耀的晶面宛如正訴說著一位英雄的傳說。增加所有屬性各 <%= attrs %> 點。",
"weaponSpecial2Text": "史蒂芬‧韋伯的巨龍長矛",
- "weaponSpecial2Notes": "(Stephen Weber's Shaft of the Dragon) 內部散發著龍的洶湧之力!增加力量和感知各 <%= attrs %> 點。",
+ "weaponSpecial2Notes": "(Stephen Weber's Shaft of the Dragon) 內部散發著龍的洶湧之力!增加力量、感知各 <%= attrs %> 點。",
"weaponSpecial3Text": "馬斯泰恩的碎石流星錘",
"weaponSpecial3Notes": "(Mustaine's Milestone Mashing Morning Star) 看到怪物統統搗爛!增加力量、智力、體質各 <%= attrs %> 點。",
"weaponSpecialCriticalText": "碾蟲大師強力戰鎚",
- "weaponSpecialCriticalNotes": "這位勇者殺死了一個讓無數戰士殞落的 Gitthub敵人。這把戰鎚由臭蟲的骨頭打造,能給敵人帶來強大的致命一擊。增加力量與感知各 <%= attrs %>點。",
+ "weaponSpecialCriticalNotes": "這位勇者殺死了一個讓無數戰士殞落的 Gitthub敵人。這把戰鎚由臭蟲的骨頭打造,能給敵人帶來強大的致命一擊。增加力量、感知各 <%= attrs %>點。",
"weaponSpecialTakeThisText": "收下這把劍",
- "weaponSpecialTakeThisNotes": "這把劍只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %>點。",
+ "weaponSpecialTakeThisNotes": "這把劍只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"weaponSpecialTridentOfCrashingTidesText": "怒潮三叉戟",
"weaponSpecialTridentOfCrashingTidesNotes": "賜予您指揮魚群的力量,再給您擊潰任務的強大觸針。增加 <%= int %> 點智力。",
"weaponSpecialTaskwoodsLanternText": "任務樹林燈籠",
- "weaponSpecialTaskwoodsLanternNotes": "此燈籠在破曉之時即為任務樹林果園(Taskwood Orchards) 的守護靈所擁有。它既能照亮最深沉的黑暗,也能放出強力的法術。增加感知與智力各 <%= attrs %> 點。",
+ "weaponSpecialTaskwoodsLanternNotes": "此燈籠在破曉之時即為任務樹林果園(Taskwood Orchards) 的守護靈所擁有。它既能照亮最深沉的黑暗,也能放出強力的法術。增加感知、智力各 <%= attrs %> 點。",
"weaponSpecialBardInstrumentText": "吟遊詩人古琵琶",
- "weaponSpecialBardInstrumentNotes": "試著用這把宛如附有魔力般的古琵琶彈奏出歡樂愉快的旋律吧!增加智力與感知各 <%= attrs %> 點。",
+ "weaponSpecialBardInstrumentNotes": "試著用這把宛如附有魔力般的古琵琶彈奏出歡樂愉快的旋律吧!增加智力、感知各 <%= attrs %> 點。",
"weaponSpecialLunarScytheText": "月鐮刀",
- "weaponSpecialLunarScytheNotes": "請好好定期為此鐮刀磨光,不然它的力量將會消失無蹤。增加力量與感知各 <%= attrs %> 點。",
+ "weaponSpecialLunarScytheNotes": "請好好定期為此鐮刀磨光,不然它的力量將會消失無蹤。增加力量、感知各 <%= attrs %> 點。",
"weaponSpecialMammothRiderSpearText": "長毛象騎士長矛",
"weaponSpecialMammothRiderSpearNotes": "這把玫瑰石英長矛將會賦予您古老的施術能力。增加 <%= int %> 點智力。",
"weaponSpecialPageBannerText": "書頁旗幟",
@@ -113,7 +113,7 @@
"weaponSpecialTachiText": "太極劍",
"weaponSpecialTachiNotes": "這把輕穎的彎曲長劍可以把您的任務撕成碎片! 增加 <%= str %> 點力量。",
"weaponSpecialAetherCrystalsText": "以太紫水晶護碗",
- "weaponSpecialAetherCrystalsNotes": "這雙水晶護碗曾屬於迷失的職業統治大師(Lost Masterclasser)。全屬性增加 <%= attrs %> 點。",
+ "weaponSpecialAetherCrystalsNotes": "這雙水晶護碗曾屬於迷失的職業統治大師(Lost Masterclasser)。增加所有屬性各 <%= attrs %> 點。",
"weaponSpecialYetiText": "雪怪馴化師長矛",
"weaponSpecialYetiNotes": "這把長矛賜予使用者指揮雪怪的權力。增加 <%= str %> 點力量。 2013-2014冬季限定版裝備",
"weaponSpecialSkiText": "滑雪刺客手杖",
@@ -171,7 +171,7 @@
"weaponSpecialSummer2015HealerText": "潮汐權杖",
"weaponSpecialSummer2015HealerNotes": "出門必備良品,專治暈車暈船!增加 <%= int %> 點智力。 2015年夏季限定版裝備",
"weaponSpecialFall2015RogueText": "戰蝠巨斧",
- "weaponSpecialFall2015RogueNotes": "令人生畏的待辦事項被這把斧頭的揮砍下立馬退避三舍。 增加 <%= str %> 點力量。 2015年秋季限定版裝備",
+ "weaponSpecialFall2015RogueNotes": "那些令人生畏的待辦事項都在這把神斧的揮砍之下瑟瑟發抖。增加 <%= str %> 點力量。 2015年秋季限定版裝備",
"weaponSpecialFall2015WarriorText": "原木片",
"weaponSpecialFall2015WarriorNotes": "萬中選一的武器!如果你是要在玉米田工作或是揍小屁孩的話啦。增加 <%= str %> 點力量。 2015年秋季限定版裝備",
"weaponSpecialFall2015MageText": "附魔棉線",
@@ -245,9 +245,9 @@
"weaponSpecialWinter2018RogueText": "紅色貓薄荷掛鉤",
"weaponSpecialWinter2018RogueNotes": "這件裝備極為適合攀爬圍牆或是用上面附帶的甜美多汁的糖果分散敵人的注意力。增加 <%= str %> 點力量。 2017-2018冬季限定版裝備",
"weaponSpecialWinter2018WarriorText": "慶典領結鎚",
- "weaponSpecialWinter2018WarriorNotes": "揮動這閃亮亮的武器時,其閃耀的外觀勢必會讓敵人搞得眼花撩亂! 增加 <%= str %> 點力量。 2017-2018冬限定季裝備",
+ "weaponSpecialWinter2018WarriorNotes": "揮動這閃亮亮的武器時,其閃耀的外觀勢必會讓敵人搞得眼花撩亂! 增加 <%= str %> 點力量。 2017-2018冬季限定版裝備",
"weaponSpecialWinter2018MageText": "慶典五彩碎紙",
- "weaponSpecialWinter2018MageNotes": "魔法的光芒在空中閃耀! 增加 <%= int %> 點智力和 <%= per %> 點感知。 2017-2018冬季限定裝備",
+ "weaponSpecialWinter2018MageNotes": "魔法的光芒在空中閃耀! 增加 <%= int %> 點智力和 <%= per %> 點感知。 2017-2018冬季限定版裝備",
"weaponSpecialWinter2018HealerText": "槲寄生魔杖",
"weaponSpecialWinter2018HealerNotes": "這團槲寄生必定會讓路過的人感到更加快樂更加具有魅力! 增加 <%= int %> 點智力。 2017-2018冬季限定版裝備",
"weaponSpecialSpring2018RogueText": "俏皮香蒲",
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "不論是在水裡,還是被火、冰或電的法術攻擊都能輕鬆躲避傷害。召喚有毒的刺攻擊敵人時卻意外的出色!增加 <%= int %> 點智力和 <%= per %> 點感知。 2018年夏季限定版裝備",
"weaponSpecialSummer2018HealerText": "人魚帝王三叉戟",
"weaponSpecialSummer2018HealerNotes": "您擺出一個友善的手勢,並指揮治癒之水從您的領海中波濤洶湧地滾滾流出。增加 <%= int %> 點智力。 2018年夏季限定版裝備",
+ "weaponSpecialFall2018RogueText": "清晰藥水瓶",
+ "weaponSpecialFall2018RogueNotes": "當您想要停止做傻事、或是需要一點提神來作一個正確的選擇。可以深呼吸並啜一小口。萬事都變得OK! 增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "weaponSpecialFall2018WarriorText": "米諾斯藤條",
+ "weaponSpecialFall2018WarriorNotes": "(Whip of Minos) 。不夠長到能夠讓您能夠脫離迷宮。甚至是在像這樣那麼小的迷宮裡。增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "weaponSpecialFall2018MageText": "甜蜜蜜法杖",
+ "weaponSpecialFall2018MageNotes": "這可不是一般的棒棒糖! 在這法杖上閃閃發光之魔法糖果擁有能讓好習慣黏在您身旁的能力。增加 <%= int %> 點智力和 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "weaponSpecialFall2018HealerText": "飢餓法杖",
+ "weaponSpecialFall2018HealerNotes": "要時常餵食這根法杖,這樣它就會帶來賜福。一旦忘記餵食,就要記得將它放在手勾不到的地方。增加 <%= int %> 點智力。 2018年秋季限定版裝備",
"weaponMystery201411Text": "盛宴草叉",
"weaponMystery201411Notes": "刺擊您的敵人或是插入您最愛的食物——這把多才多藝的叉子可是無所不能!沒有屬性加成。 2014年11月訂閱者專屬裝備",
"weaponMystery201502Text": "愛與真理之微光翅膀法杖",
@@ -287,9 +295,9 @@
"weaponArmoireMythmakerSwordText": "神話英雄寶劍",
"weaponArmoireMythmakerSwordNotes": "重劍無鋒大巧不工,這把寶劍已經造就了許多神話英雄。增加 <%= attrs %> 點感知和力量。 來自神祕寶箱: 黃金托加長袍套裝(3/3)",
"weaponArmoireIronCrookText": "鋼鐵彎杖",
- "weaponArmoireIronCrookNotes": "純鋼打造,力透杖柄。這鋼鐵彎杖用來放牧效果極好。增加感知與力量各 <%= attrs %> 點。 來自神秘寶箱: 鐵角套裝(3/3)",
+ "weaponArmoireIronCrookNotes": "純鋼打造,力透杖柄。這鋼鐵彎杖用來放牧效果極好。增加感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 鐵角套裝(3/3)",
"weaponArmoireGoldWingStaffText": "金翅法杖",
- "weaponArmoireGoldWingStaffNotes": "法杖上的金翅振翅高飛,永垂不朽。增加各屬性 <%= attrs %> 點。 來自神秘寶箱: 獨立裝備",
+ "weaponArmoireGoldWingStaffNotes": "法杖上的金翅振翅高飛,永垂不朽。增加所有屬性各 <%= attrs %> 點。 來自神秘寶箱: 獨立裝備",
"weaponArmoireBatWandText": "蝙蝠魔杖",
"weaponArmoireBatWandNotes": "這把魔杖可以把任何任務轉變成一隻小蝙蝠!揮一揮,讓牠們飛得遠遠的。增加 <%= int %> 點智力和 <%= per %> 點感知。 來自神祕寶箱: 獨立裝備",
"weaponArmoireShepherdsCrookText": "牧羊人手杖",
@@ -301,9 +309,9 @@
"weaponArmoireGlowingSpearText": "炙光長矛",
"weaponArmoireGlowingSpearNotes": "這支長矛能把任務通通催眠,以便您展開攻擊。增加 <%= str %> 點力量。 來自神祕寶箱: 獨立裝備",
"weaponArmoireBarristerGavelText": "大律師木槌",
- "weaponArmoireBarristerGavelNotes": "通通給我肅靜! 增加力量及體質各 <%= attrs %> 點。 來自神秘寶箱: 大律師套裝(3/3)",
+ "weaponArmoireBarristerGavelNotes": "通通給我肅靜! 增加力量、體質各 <%= attrs %> 點。 來自神秘寶箱: 大律師套裝(3/3)",
"weaponArmoireJesterBatonText": "小丑旗桿",
- "weaponArmoireJesterBatonNotes": "揮動旗桿,妙語連珠,讓最複雜的任務都變得一目了然。增加智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 小丑套裝(3/3)",
+ "weaponArmoireJesterBatonNotes": "揮動旗桿,妙語連珠,讓最複雜的任務都變得一目了然。增加智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 小丑套裝(3/3)",
"weaponArmoireMiningPickaxText": "挖礦十字鎬",
"weaponArmoireMiningPickaxNotes": "從您的任務山堆中挖出最大量的金幣! 增加 <%= per %> 點感知。 來自神祕寶箱: 挖礦大師套裝(3/3)",
"weaponArmoireBasicLongbowText": "基礎級長弓",
@@ -331,7 +339,7 @@
"weaponArmoireBattleAxeText": "古老戰斧",
"weaponArmoireBattleAxeNotes": "這把精製鍛造的鐵斧非常適合與您一同對抗最凶猛的敵人以及最艱困的任務。增加 <%= int %> 點智力和 <%= con %> 點體質。 來自神秘寶箱: 獨立裝備",
"weaponArmoireHoofClippersText": "腳蹄老虎鉗",
- "weaponArmoireHoofClippersNotes": "修剪陪您身經百戰的坐騎們的腳蹄,讓牠們在冒險途中保持安全! 增加力量、智力和體質各 <%= attrs %> 點。 來自神秘寶箱: 蹄鐵工套裝(1/3)",
+ "weaponArmoireHoofClippersNotes": "修剪陪您身經百戰的坐騎們的腳蹄,讓牠們在冒險途中保持安全! 增加力量、智力、體質各 <%= attrs %> 點。 來自神秘寶箱: 蹄鐵工套裝(1/3)",
"weaponArmoireWeaversCombText": "織女的簪釵",
"weaponArmoireWeaversCombNotes": "用這個簪釵將您的織紗捆在一起,作成一塊緊密編織的布料。增加感知 <%= per %> 點和 <%= str %> 點力量。 來自神秘寶箱: 紡織套件(2/3)",
"weaponArmoireLamplighterText": "點燈器",
@@ -339,17 +347,19 @@
"weaponArmoireCoachDriversWhipText": "馬車伕鞭條",
"weaponArmoireCoachDriversWhipNotes": "您的坐騎其實都知道牠們要怎麼做,所以這條鞭子只是裝飾品而已啦 (忽然傳出鞭條的拍打啪噠聲!)。增加 <%= int %> 點智力和 <%= str %> 點力量。 來自神秘寶箱: 馬車伕套裝(3/3)",
"weaponArmoireScepterOfDiamondsText": "鑲鑽權杖",
- "weaponArmoireScepterOfDiamondsNotes": "這支權杖閃爍著溫暖的紅光,他會提高您的戰鬥意志力。增加 <%= str %> 點力量。 來自神秘寶箱: 國王的鑽石套裝(3/4)",
- "weaponArmoireFlutteryArmyText": "飛舞軍團",
- "weaponArmoireFlutteryArmyNotes": "這群好鬥的飛蛾已經磨刀霍霍地準備大顯身手,棒強您最泛紅的任務了! 增加體質、智力和力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(3/4)",
+ "weaponArmoireScepterOfDiamondsNotes": "這支權杖閃爍著溫暖的紅光,他會提高您的戰鬥意志力。增加 <%= str %> 點力量。 來自神秘寶箱: 鑽石之王套裝(3/4)",
+ "weaponArmoireFlutteryArmyText": "翩翩飛舞軍團",
+ "weaponArmoireFlutteryArmyNotes": "這群好鬥的飛蛾已經磨刀霍霍地準備大顯身手,棒強您最泛紅的任務了! 增加體質、智力、力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(3/4)",
"weaponArmoireCobblersHammerText": "鞋匠鐵鎚",
- "weaponArmoireCobblersHammerNotes": "這支是專門用於製造皮革的鐵鎚。但它可以在緊要關頭之時給泛紅的每日任務一擊重拳。增加體質和力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(2/3)",
+ "weaponArmoireCobblersHammerNotes": "這支是專門用於製造皮革的鐵鎚。但它可以在緊要關頭之時給泛紅的每日任務一擊重拳。增加體質、力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(2/3)",
"weaponArmoireGlassblowersBlowpipeText": "玻璃吹製工的吹管",
"weaponArmoireGlassblowersBlowpipeNotes": "用這根管子將熔化的玻璃吹製成漂亮的花瓶、裝飾品、或是其他酷炫的作品。增加 <%= str %> 點力量。 來自神秘寶箱: 玻璃吹製工套裝(1/4)",
"weaponArmoirePoisonedGobletText": "劇毒潔淨高腳杯",
"weaponArmoirePoisonedGobletNotes": "用這高腳杯來盛裝劇毒的粉末以及其他危險的藥水。這個杯子會自動消毒轉變成乾淨可口的飲料。增加 <%= int %> 點智力。 來自神秘寶箱: 海盜公主套裝(3/4)",
"weaponArmoireJeweledArcherBowText": "射手寶石弓箭",
"weaponArmoireJeweledArcherBowNotes": "這套由黃金與鑽石打造的弓箭能讓您射出的箭以光一般的速度擊落目標。增加 <%= int %> 點智力。 來自神祕寶箱: 射手寶石套裝(3/3)",
+ "weaponArmoireNeedleOfBookbindingText": "裝訂針",
+ "weaponArmoireNeedleOfBookbindingNotes": "您將會非常驚訝這書竟然能夠變得這樣堅固。這根裝訂針能刺穿您所有雜務事們的心臟。增加 <%= str %> 點力量。來自神秘寶箱: 圖書裝訂工套裝(3/4)",
"armor": "鎧甲",
"armorCapitalized": "鎧甲",
"armorBase0Text": "便衣",
@@ -397,11 +407,11 @@
"armorSpecial0Text": "影子鎧甲",
"armorSpecial0Notes": "這件鎧甲能代替穿戴者感受到的疼痛,所以當它被擊中時會發出尖叫。增加 <%= con %> 點體質。",
"armorSpecial1Text": "水晶鎧甲",
- "armorSpecial1Notes": "它永垂不朽的力量讓穿戴者漸漸習慣了單調的痛苦。加成所有屬性 <%= attrs %> 點。",
+ "armorSpecial1Notes": "它永垂不朽的力量讓穿戴者漸漸習慣了單調的痛苦。增加所有屬性各 <%= attrs %> 點。",
"armorSpecial2Text": "設計大師的典雅束腰外衣",
- "armorSpecial2Notes": "由Jean Chalard親自操刀設計的束腰外衣。讓您看起來更加格外蓬鬆!增加體質和智力各 <%= attrs %> 點。",
+ "armorSpecial2Notes": "由Jean Chalard親自操刀設計的束腰外衣。讓您看起來更加格外蓬鬆!增加體質、智力各 <%= attrs %> 點。",
"armorSpecialTakeThisText": "收下這套鎧甲",
- "armorSpecialTakeThisNotes": "這套鎧甲只有參加過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
+ "armorSpecialTakeThisNotes": "這套鎧甲只有參加過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"armorSpecialFinnedOceanicArmorText": "魚鰭海洋護甲",
"armorSpecialFinnedOceanicArmorNotes": "雖然看起來很精緻,但這件鎧甲會讓您變得像火紅珊瑚一樣碰不得哦。增加 <%= str %> 點力量。",
"armorSpecialPyromancersRobesText": "烈焰術士長袍",
@@ -409,7 +419,7 @@
"armorSpecialBardRobesText": "吟遊詩人長袍",
"armorSpecialBardRobesNotes": "這五顏六色的長袍或許看起來非常引人注目,但您可以在任何情况下盡情地歡唱自己的歌。增加 <%= per %> 點感知。",
"armorSpecialLunarWarriorArmorText": "月亮戰士鎧甲",
- "armorSpecialLunarWarriorArmorNotes": "這件鎧甲是由月光石及魔法金屬融合打造而成。增加力量及體質各 <%= attrs %> 點。",
+ "armorSpecialLunarWarriorArmorNotes": "這件鎧甲是由月光石及魔法金屬融合打造而成。增加力量、體質各 <%= attrs %> 點。",
"armorSpecialMammothRiderArmorText": "長毛象騎士皮甲",
"armorSpecialMammothRiderArmorNotes": "這套皮甲由毛皮和皮革製做而成,外面覆有釘上薔薇石英的時髦披風。當您在極寒地區冒險時,它能在寒風中庇護您。增加 <%= con %> 點體質。",
"armorSpecialPageArmorText": "書頁鎧甲",
@@ -534,8 +544,8 @@
"armorSpecialFall2016WarriorNotes": "怪異地長滿潮濕的苔癬! 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
"armorSpecialFall2016MageText": "罪惡披風",
"armorSpecialFall2016MageNotes": "當您的斗篷陣陣拍動,您將聽到邪惡的咯咯笑聲。增加 <%= int %> 點智力。 2016年秋季限定版裝備",
- "armorSpecialFall2016HealerText": "蛇髮女怪長袍",
- "armorSpecialFall2016HealerNotes": "(Gorgon Robes) 這件長袍實際上是由石頭變成的。但為甚麼它穿起來如此的舒適? 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
+ "armorSpecialFall2016HealerText": "蛇髮女妖長袍",
+ "armorSpecialFall2016HealerNotes": "(Gorgon) 這件長袍實際上是由石頭變成的。但為甚麼它穿起來如此的舒適? 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
"armorSpecialWinter2017RogueText": "寒霜鎧甲",
"armorSpecialWinter2017RogueNotes": "這件隱密的服裝能夠折射出閃瞎所有任務的光,然後您就可以盡情奪取它們身上的獎品。增加 <%= per %> 點感知。 2016-2017冬季限定版裝備",
"armorSpecialWinter2017WarriorText": "冰棍球鎧甲",
@@ -592,6 +602,14 @@
"armorSpecialSummer2018MageNotes": "惡毒魔法以其隱密而聞名。所以絕對不是指這件鮮艷的鎧甲,因為它傳達給野獸和任務的訊息太明顯了: 你給我注意點! 增加 <%= int %> 點智力。 2018年夏季限量版裝備",
"armorSpecialSummer2018HealerText": "人魚帝王長袍",
"armorSpecialSummer2018HealerNotes": "這件蔚藍色的聖袍能顯露出您能在陸地行走的雙腳……好吧,即使是帝王也不能期望他們是完美的。增加 <%= con %> 點體質。 2018年夏季限量版裝備",
+ "armorSpecialFall2018RogueText": "「另我」教士服",
+ "armorSpecialFall2018RogueNotes": "在早上看起來很時髦,在晚上卻又非常舒適且具有保護性。增加 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "armorSpecialFall2018WarriorText": "彌諾陶洛斯板鏈甲",
+ "armorSpecialFall2018WarriorNotes": "(Minotaur Platemail) 當您走向冥想迷宮時,快用蹄子敲打舒緩的節奏。增加 <%= con %> 點體質。 2018年秋季限定版裝備",
+ "armorSpecialFall2018MageText": "糖果法師長袍",
+ "armorSpecialFall2018MageNotes": "這長袍的布料是由魔法糖果所編織而成的!但是,我們建議您不要嘗試吃它們。增加 <%= int %> 點智力。 2018年秋季限定版裝備",
+ "armorSpecialFall2018HealerText": "肉食植物長袍",
+ "armorSpecialFall2018HealerNotes": "它是由植物所製成,但這不代表它是素食主義者。壞習慣們都非常討厭太靠近這件長袍。增加 <%= con %> 點體質。 2018年秋季限定版裝備",
"armorMystery201402Text": "信使長袍",
"armorMystery201402Notes": "閃閃發光又非常耐用,這件長袍上有許多能攜帶信件的口袋。沒有屬性加成。 2014年2月訂閱者專屬裝備",
"armorMystery201403Text": "森林行者板甲",
@@ -660,8 +678,10 @@
"armorMystery201806Notes": "這件彎彎曲曲的燕尾服以能夠在深海中照亮前路為特色。沒有屬性加成。 2018年6月訂閱者專屬裝備",
"armorMystery201807Text": "大海蛇燕尾服",
"armorMystery201807Notes": "這件強大的燕尾服能驅使您快速漫遊於深海裡! 沒有屬性加成。 2018年7月訂閱者專屬裝備",
- "armorMystery201808Text": "Lava Dragon Armor",
- "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.",
+ "armorMystery201808Text": "熔岩巨龍鎧甲",
+ "armorMystery201808Notes": "這副鎧甲是以難以捉摸(而且非常燙)的熔岩巨龍身上的蛻皮製作而成。沒有屬性加成。 2018年8月訂閱者專屬裝備",
+ "armorMystery201809Text": "秋葉鎧甲",
+ "armorMystery201809Notes": "您不僅是一片既微小又令人恐懼的葉片,您也正在炫耀這個季節裡最美麗的顏色。沒有屬性加成。 2018年9月訂閱者專屬裝備",
"armorMystery301404Text": "蒸汽龐克風套裝",
"armorMystery301404Notes": "精巧又瀟灑,哇嗚!沒有屬性加成。 3015年2月訂閱者專屬裝備",
"armorMystery301703Text": "蒸汽龐克風孔雀禮服",
@@ -675,17 +695,17 @@
"armorArmoireRancherRobesText": "牛仔長袍",
"armorArmoireRancherRobesNotes": "穿著這件奇妙的牛仔長袍,圈住您的坐騎,套上您的寵物!增加 <%= str %> 點力量、 <%= per %> 點感知和 <%= int %> 點智力。 來自神祕寶箱: 牛仔套裝(2/3)",
"armorArmoireGoldenTogaText": "黃金托加長袍",
- "armorArmoireGoldenTogaNotes": "這件閃閃發光的托加長袍只有真英雄才夠格穿戴。增加力量和體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(1/3)",
+ "armorArmoireGoldenTogaNotes": "這件閃閃發光的托加長袍只有真英雄才夠格穿戴。增加力量、體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(1/3)",
"armorArmoireHornedIronArmorText": "鐵角鎧甲",
"armorArmoireHornedIronArmorNotes": "純鋼打造,無懈可擊!增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 鐵角套裝(2/3)",
"armorArmoirePlagueDoctorOvercoatText": "瘟疫醫師大衣",
"armorArmoirePlagueDoctorOvercoatNotes": "怠惰瘟疫主治醫生專用的正式大衣。增加 <%= int %> 點智力、 <%= str %> 點力量和 <%= con %> 點體質。 來自神祕寶箱: 瘟疫醫師套裝(3/3)",
"armorArmoireShepherdRobesText": "牧羊人長袍",
- "armorArmoireShepherdRobesNotes": "布料材質涼爽、透氣,非常適合在沙漠中的大熱天放牧獅鷲。增加力量和感知各 <%= attrs %> 點。 來自神秘寶箱: 牧羊人套裝(2/3)",
+ "armorArmoireShepherdRobesNotes": "布料材質涼爽、透氣,非常適合在沙漠中的大熱天放牧獅鷲。增加力量、感知各 <%= attrs %> 點。 來自神秘寶箱: 牧羊人套裝(2/3)",
"armorArmoireRoyalRobesText": "皇家長袍",
- "armorArmoireRoyalRobesNotes": "偉大的統治者,吾王萬歲!增加體質、智力和感知各 <%= attrs %> 點。 來自神秘寶箱: 皇家套裝(3/3)",
+ "armorArmoireRoyalRobesNotes": "偉大的統治者,吾王萬歲!增加體質、智力、感知各 <%= attrs %> 點。 來自神秘寶箱: 皇家套裝(3/3)",
"armorArmoireCrystalCrescentRobesText": "玄月水晶長袍",
- "armorArmoireCrystalCrescentRobesNotes": "這件魔法長袍會在夜裡發出淡淡冷光。體質和感知各增加 <%= attrs %> 點。 來自神秘寶箱: 玄月水晶套裝 (2/3)",
+ "armorArmoireCrystalCrescentRobesNotes": "這件魔法長袍會在夜裡發出淡淡冷光。增加體質、感知各 <%= attrs %> 點。 來自神秘寶箱: 玄月水晶套裝 (2/3)",
"armorArmoireDragonTamerArmorText": "馴龍師鎧甲",
"armorArmoireDragonTamerArmorNotes": "這件堅硬的鎧甲可以抵擋熊熊烈火。增加 <%= con %> 點體質。 來自神祕寶箱: 馴龍師套裝(3/3)",
"armorArmoireBarristerRobesText": "大律師長袍",
@@ -708,34 +728,34 @@
"armorArmoireVermilionArcherArmorNotes": "這件鎧甲是用特別的附魔朱紅金屬製成,他將帶給您最少的拘束、最大化的保護、和天賦! 增加 <%= per %> 點感知。 來自神祕寶箱: 朱紅射手套裝(2/3)",
"armorArmoireOgreArmorText": "食人魔鎧甲",
"armorArmoireOgreArmorNotes": "這件鎧甲效仿了食人魔堅硬的皮膚,但它的內襯卻是用羊毛製成的,可以任人穿得更為舒適! 增加 <%= con %> 點體質。 來自神祕寶箱: 食人魔套裝(3/3)",
- "armorArmoireIronBlueArcherArmorText": "弓箭手藍鐵鎧甲",
+ "armorArmoireIronBlueArcherArmorText": "弓箭手水藍鐵鎧甲",
"armorArmoireIronBlueArcherArmorNotes": "這件鎧甲能保護您在戰場中免受飛來的弓箭所帶來的傷害! 增加 <%= str %> 點力量。 來自神祕寶箱: 鋼鐵弓箭手套裝(2/3)",
"armorArmoireRedPartyDressText": "赤紅派對洋裝",
- "armorArmoireRedPartyDressNotes": "您很強壯、堅強、聰明、又時尚! 增加力量、體質和智力各 <%= attrs %> 點。 來自神祕寶箱: 赤紅蝴蝶結套裝(2/2)",
+ "armorArmoireRedPartyDressNotes": "您很強壯、堅強、聰明、又時尚! 增加力量、體質、智力各 <%= attrs %> 點。 來自神祕寶箱: 赤紅蝴蝶結套裝(2/2)",
"armorArmoireWoodElfArmorText": "木精靈皮甲",
"armorArmoireWoodElfArmorNotes": "這件皮甲上的樹皮和樹葉能讓您在森林中提供持久的偽裝。增加 <%= per %> 點感知。 來自神祕寶箱: 森林妖精套裝(2/3)",
"armorArmoireRamFleeceRobesText": "牡羊毛長袍",
- "armorArmoireRamFleeceRobesNotes": "這件長袍能讓您在最猛烈的暴風雪中保持溫暖不失溫。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 野蠻牡羊套裝(2/3)",
+ "armorArmoireRamFleeceRobesNotes": "這件長袍能讓您在最猛烈的暴風雪中保持溫暖不失溫。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 牡羊野蠻人套裝(2/3)",
"armorArmoireGownOfHeartsText": "愛心禮服",
"armorArmoireGownOfHeartsNotes": "這套禮服處處皆有飾邊! 帶這還不是全部,他還會增加您內心的堅韌。增加 <%= con %> 點體質。 來自神祕寶箱: 心皇后套裝(2/3)",
"armorArmoireMushroomDruidArmorText": "德魯伊蘑菇鎧甲",
- "armorArmoireMushroomDruidArmorNotes": "這套長著蘑菇的棕色木鎧甲能夠讓您聽見各種森林中生物的低語聲。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 德魯伊蘑菇套裝(2/3)",
+ "armorArmoireMushroomDruidArmorNotes": "Mushroom Druid Armor。 這套長著蘑菇的棕色木鎧甲能夠讓您聽見各種森林中生物的低語聲。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 德魯伊蘑菇套裝(2/3)",
"armorArmoireGreenFestivalYukataText": "慶典草綠浴衣",
- "armorArmoireGreenFestivalYukataNotes": "這件輕盈的浴衣能讓您爽快地享受任何節日慶典。增加體質和感知各 <%= attrs %> 點。 來自神祕寶箱: 節日慶典套裝(1/3)",
+ "armorArmoireGreenFestivalYukataNotes": "這件輕盈的浴衣能讓您爽快地享受任何節日慶典。增加體質、感知各 <%= attrs %> 點。 來自神祕寶箱: 節日慶典套裝(1/3)",
"armorArmoireMerchantTunicText": "束腰外衣",
"armorArmoireMerchantTunicNotes": "這件束腰外衣的大袖子最適合將您賺到的錢塞在裡面! 增加 <%= per %> 點感知。 來自神祕寶箱: 商業大亨套裝(2/3)",
"armorArmoireVikingTunicText": "維京海盜束腰大衣",
"armorArmoireVikingTunicNotes": "這件溫暖的羊毛上衣藏有一件披風,即使被海洋中的強風吹拂,也會覺得格外地舒適。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 維京海盜套裝(1/3)",
"armorArmoireSwanDancerTutuText": "天鵝湖芭蕾舞裙",
- "armorArmoireSwanDancerTutuNotes": "當您穿著這件華麗的芭蕾舞裙旋轉揮舞時,您也將會與風一同扶搖直上飛到九霄雲外! 增加智力和力量各 <%= attrs %> 點。 來自神祕寶箱: 天鵝湖舞者套裝(2/3)",
+ "armorArmoireSwanDancerTutuNotes": "當您穿著這件華麗的芭蕾舞裙旋轉揮舞時,您也將會與風一同扶搖直上飛到九霄雲外! 增加智力、力量各 <%= attrs %> 點。 來自神祕寶箱: 天鵝湖舞者套裝(2/3)",
"armorArmoireAntiProcrastinationArmorText": "反怠惰鎧甲",
"armorArmoireAntiProcrastinationArmorNotes": "浸泡於古老的增長效率魔法之下,這件鐵製鎧甲能帶給您額外的力量來對抗您的任務。增加 <%= str %> 點力量。 來自神祕寶箱: 反怠惰套裝(2/3)",
"armorArmoireYellowPartyDressText": "金黃派對洋裝",
- "armorArmoireYellowPartyDressNotes": "您很敏銳、堅強、聰明又時尚! 增加感知、力量和智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(2/2)",
+ "armorArmoireYellowPartyDressNotes": "您很敏銳、堅強、聰明又時尚! 增加感知、力量、智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(2/2)",
"armorArmoireFarrierOutfitText": "蹄鐵工服飾",
- "armorArmoireFarrierOutfitNotes": "這件結實的工作服能讓您忍受處於最骯髒的馬廄。增加致力、感知和體質各 <%= attrs %> 點。 來自神祕寶箱: 蹄鐵工套裝(2/3)",
- "armorArmoireCandlestickMakerOutfitText": "蠟燭製作師服飾",
- "armorArmoireCandlestickMakerOutfitNotes": "這件結實的衣服可以讓您在製作蠟燭的同時不被高溫的蠟所燙傷。增加 <%= con %> 點體質。 來自神祕寶箱: 蠟燭製作師套裝(1/3)",
+ "armorArmoireFarrierOutfitNotes": "這件結實的工作服能讓您忍受處於最骯髒的馬廄。增加智力、感知、體質各 <%= attrs %> 點。 來自神祕寶箱: 蹄鐵工套裝(2/3)",
+ "armorArmoireCandlestickMakerOutfitText": "蠟燭台製作師服飾",
+ "armorArmoireCandlestickMakerOutfitNotes": "這件結實的衣服可以讓您在製作蠟燭的同時不被高溫的蠟所燙傷。增加 <%= con %> 點體質。 來自神祕寶箱: 蠟燭台製作師套裝(1/3)",
"armorArmoireWovenRobesText": "梭織長袍",
"armorArmoireWovenRobesNotes": "穿上這件多彩的長袍,驕傲地秀一下您的編織作品吧! 增加 <%= con %> 點體質和 <%= int %> 點智力。 來自神祕寶箱: 織布工套裝(1/3)",
"armorArmoireLamplightersGreatcoatText": "點燈伕長大衣",
@@ -743,19 +763,21 @@
"armorArmoireCoachDriverLiveryText": "馬車伕制服",
"armorArmoireCoachDriverLiveryNotes": "這件厚重的長大衣能讓您在駕車途中免受天氣的干擾。此外,它還看起來非常時髦亮麗! 增加 <%= str %> 點力量。 來自神秘寶箱: 馬車伕套裝(1/3)",
"armorArmoireRobeOfDiamondsText": "鑲鑽長袍",
- "armorArmoireRobeOfDiamondsNotes": "這件皇家長袍不僅讓您看起很高尚,還能讓您看見其他人的典雅。增加 <%= per %> 點感知。 來自神秘寶箱: 國王的鑽石套裝(1/4)",
- "armorArmoireFlutteryFrockText": "飛舞連衣裙",
- "armorArmoireFlutteryFrockNotes": "這件輕柔通風的長裙有寬大的裙襬,蝴蝶們可能會誤以為這是巨大的花朵! 增加體質、感知和力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(1/4)",
+ "armorArmoireRobeOfDiamondsNotes": "這件皇家長袍不僅讓您看起很高尚,還能讓您看見其他人的典雅。增加 <%= per %> 點感知。 來自神秘寶箱: 鑽石王者套裝(1/4)",
+ "armorArmoireFlutteryFrockText": "翩翩飛舞連衣裙",
+ "armorArmoireFlutteryFrockNotes": "這件輕柔通風的長裙有寬大的裙襬,蝴蝶們可能會誤以為這是巨大的花朵! 增加體質、感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(1/4)",
"armorArmoireCobblersCoverallsText": "鞋匠工作服",
- "armorArmoireCobblersCoverallsNotes": "這件結實的連體工作服上有很多口袋,可以裝工具、皮革廢料和其他有用的東西! 增加感知和力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(1/3)",
+ "armorArmoireCobblersCoverallsNotes": "這件結實的連體工作服上有很多口袋,可以裝工具、皮革廢料和其他有用的東西! 增加感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(1/3)",
"armorArmoireGlassblowersCoverallsText": "玻璃吹製工工作服",
"armorArmoireGlassblowersCoverallsNotes": "當您在用融化的熱玻璃製作偉大巨作時,這件工作服將能妥善地保護您。增加 <%= con %> 點體質。 來自神秘寶箱: 玻璃吹製工套裝(2/4)",
"armorArmoireBluePartyDressText": "水藍派對洋裝",
- "armorArmoireBluePartyDressNotes": "您很靈敏、堅韌、聰明又時尚! 增加感知、力量和體質各 <%= attrs %> 點。 來自神祕寶箱: 水藍蝴蝶結套裝(2/2) ",
+ "armorArmoireBluePartyDressNotes": "您很靈敏、堅韌、聰明又時尚! 增加感知、力量、體質各 <%= attrs %> 點。 來自神祕寶箱: 水藍蝴蝶結套裝(2/2) ",
"armorArmoirePiraticalPrincessGownText": "海盜公主禮服",
"armorArmoirePiraticalPrincessGownNotes": "這件高檔的禮服有很多口袋能裝許多武器和您的戰利品! 增加 <%= per %> 點感知。 來自神秘寶箱: 海盜公主套裝(2/4)",
"armorArmoireJeweledArcherArmorText": "射手寶石鎧甲",
"armorArmoireJeweledArcherArmorNotes": "這件精心打造的鎧甲能讓您免於受到飛彈或是讓人誤入歧途的深紅色的每日任務所威脅! 增加 <%= con %> 點體質。 來自神祕寶箱: 射手寶石套裝(2/3)",
+ "armorArmoireCoverallsOfBookbindingText": "圖書裝訂工工作服",
+ "armorArmoireCoverallsOfBookbindingNotes": "您需要的所有工具都裝在這件工作服的口袋裡。護目鏡、零錢、金戒指... 樣樣齊全。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神秘寶箱: 圖書裝訂工套裝(2/4)",
"headgear": "頭盔",
"headgearCapitalized": "頭部裝備",
"headBase0Text": "沒有頭部裝備",
@@ -803,11 +825,11 @@
"headSpecial0Text": "黑影頭盔",
"headSpecial0Notes": "鮮血和灰燼、熔岩和黑曜岩分別賜予這頂頭盔意象與力量。增加 <%= int %> 點智力。",
"headSpecial1Text": "水晶頭盔",
- "headSpecial1Notes": "那些以身作則的人最想得到的皇冠。增加所有屬性 <%= attrs %> 點。",
+ "headSpecial1Notes": "那些以身作則的人最想得到的皇冠。增加所有屬性各 <%= attrs %> 點。",
"headSpecial2Text": "無名頭盔",
- "headSpecial2Notes": "不求回報的人對自己許下的誓約。增加智力和力量各 <%= attrs %> 點。",
+ "headSpecial2Notes": "不求回報的人對自己許下的誓約。增加智力、力量各 <%= attrs %> 點。",
"headSpecialTakeThisText": "收下這頂頭盔",
- "headSpecialTakeThisNotes": "這頂頭盔只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
+ "headSpecialTakeThisNotes": "這頂頭盔只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"headSpecialFireCoralCircletText": "火珊瑚飾環",
"headSpecialFireCoralCircletNotes": "這副頭飾是由Habitica中最厲害的煉金術師所操刀設計的。可以讓您在水中呼吸和潛水尋寶! 增加 <%= per %> 點感知。",
"headSpecialPyromancersTurbanText": "烈焰術士包頭巾",
@@ -815,7 +837,7 @@
"headSpecialBardHatText": "吟遊詩人之帽",
"headSpecialBardHatNotes": "替您的帽帽插根羽毛並稱它為「效率飛毛」! 增加 <%= int %> 點智力。",
"headSpecialLunarWarriorHelmText": "月亮戰士頭盔",
- "headSpecialLunarWarriorHelmNotes": "月光會在您戰鬥時賜予您力量! 增加力量和智力各 <%= attrs %> 點。",
+ "headSpecialLunarWarriorHelmNotes": "月光會在您戰鬥時賜予您力量! 增加力量、智力各 <%= attrs %> 點。",
"headSpecialMammothRiderHelmText": "長毛象騎士頭盔",
"headSpecialMammothRiderHelmNotes": "可千萬別被它軟綿綿的外表給騙了! 這頂帽子能賜予您最敏銳的感知! 增加 <%= per %> 點感知。",
"headSpecialPageHelmText": "書頁頭盔",
@@ -891,7 +913,7 @@
"headSpecialSummer2015RogueText": "叛變者帽子",
"headSpecialSummer2015RogueNotes": "這頂海盜帽是從船上掉進海裡的。帽上裝飾著火珊瑚的碎片。增加 <%= per %> 點感知。 2015年夏季限定版裝備",
"headSpecialSummer2015WarriorText": "海洋寶石頭盔",
- "headSpecialSummer2015WarriorNotes": "由辦事拖拉的工匠從深海金屬提煉製作而成。是頂堅固又兼具美觀的頭盔。增加<%= str %>點力量。2015年夏季限定版裝備",
+ "headSpecialSummer2015WarriorNotes": "由怠慢小鎮出生的工匠從深海金屬提煉製作而成。是頂堅固又兼具美觀的頭盔。增加 <%= str %> 點力量。2015年夏季限定版裝備",
"headSpecialSummer2015MageText": "預言家圍巾",
"headSpecialSummer2015MageNotes": "神秘力量閃耀在這條圍巾的絲線中。增加 <%= per %> 點感知。 2015年夏季限定版裝備",
"headSpecialSummer2015HealerText": "水手帽",
@@ -929,7 +951,7 @@
"headSpecialSummer2016MageText": "噴射水柱帽",
"headSpecialSummer2016MageNotes": "附魔藥水正不停地從這頂帽子上噴灑出來。增加 <%= per %> 點感知。 2016年夏季限定版裝備",
"headSpecialSummer2016HealerText": "海馬頭盔",
- "headSpecialSummer2016HealerNotes": "這頂頭盔顯示著它的穿戴者是位由主治怠慢症的魔法治療師海馬所訓練長大的。增加 <%= int %> 點智力。 2016年夏季限定版裝備",
+ "headSpecialSummer2016HealerNotes": "這頂頭盔彰顯著它的穿戴者是位由怠慢小鎮出生的海馬所訓練長大的。增加 <%= int %> 點智力。 2016年夏季限定版裝備",
"headSpecialFall2016RogueText": "黑寡婦頭盔",
"headSpecialFall2016RogueNotes": "頭盔上的蜘蛛腳持續不停地在抽搐。增加 <%= per %> 點感知。 2016年秋季限定版裝備",
"headSpecialFall2016WarriorText": "粗糙樹皮頭盔",
@@ -998,6 +1020,14 @@
"headSpecialSummer2018MageNotes": "用痛苦難耐的強光照射在膽敢叫您「失智魚」的人身上。增加 <%= per %> 點感知。 2018年夏季限定版裝備。",
"headSpecialSummer2018HealerText": "人魚帝王皇冠",
"headSpecialSummer2018HealerNotes": "這頂帶鰭的王冕以海藍寶石點綴,象徵著擁有人類、魚類,還有兼具兩者的生物的統治權!增加 <%= int %> 點智力。 2018年夏季限定版裝備。",
+ "headSpecialFall2018RogueText": "雙重人格面具",
+ "headSpecialFall2018RogueNotes": "絕大多數的人都會將自己內心的糾葛所隱藏。這副面具正表明了我們都經歷了各種好念頭與壞衝動的戰爭。此外,它還配有一頂甜美的帽子! 增加 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "headSpecialFall2018WarriorText": "彌諾陶洛斯面具",
+ "headSpecialFall2018WarriorNotes": "(Minotaur Visage) 這副令人驚悚的面具正表明了您可以只花九牛一毛之力就完成您所有的任務! 增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "headSpecialFall2018MageText": "糖果法師帽",
+ "headSpecialFall2018MageNotes": "這頂帶有尖頭的帽子充滿了強烈的甜蜜蜜咒語。小心,如果它開始融化,將會變得非常黏人! 增加 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "headSpecialFall2018HealerText": "狼吞虎嚥頭盔",
+ "headSpecialFall2018HealerNotes": "這頂頭盔是由一種食肉植物所製成,它以能夠製造殭屍和麻煩而聞名。要小心不要讓它在您頭上咀嚼。增加 <%= int %> 點智力。 2018年秋季限定版裝備",
"headSpecialGaymerxText": "彩虹戰士頭盔",
"headSpecialGaymerxNotes": "為了慶祝GaymerX大會,這頂特別的頭盔飾有炫目多彩、光芒四射的彩虹圖案! GaymerX是一個向所有人開放且支持LGTBQ的遊戲展覽會。",
"headMystery201402Text": "翼盔",
@@ -1072,8 +1102,10 @@
"headMystery201806Notes": "這頂頭盔上非常吸引人的光線能喚使所有海中的生物到您的身旁。我們懇請您使用這個誘人的發光能力於正面的地方! 沒有屬性加成。 2018年6月訂閱者專屬裝備",
"headMystery201807Text": "大海蛇頭盔",
"headMystery201807Notes": "這頂頭盔上堅韌的魚鱗能保護您免於受到任何海洋中敵人的攻擊。沒有屬性加成。 2018年7月訂閱者專屬裝備",
- "headMystery201808Text": "Lava Dragon Cowl",
- "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201808Text": "熔岩巨龍披風",
+ "headMystery201808Notes": "披風上那閃閃發亮的龍角能夠在地底的洞穴中照亮您的路。沒有屬性加成。 2018年8月訂閱者專屬裝備",
+ "headMystery201809Text": "秋季花朵皇冠",
+ "headMystery201809Notes": "來自秋季溫暖日子中的最後一朵花正是紀念此季節中的美麗事物之最佳信物。沒有屬性加成。 2018年9月訂閱者專屬裝備",
"headMystery301404Text": "華麗高頂禮帽",
"headMystery301404Notes": "上流社會佼佼者的華麗高頂禮帽! 沒有屬性加成。3015年1月訂閱者專屬裝備",
"headMystery301405Text": "基礎高頂禮帽",
@@ -1097,25 +1129,25 @@
"headArmoireRoyalCrownText": "皇家王冠",
"headArmoireRoyalCrownNotes": "吾王萬歲萬萬歲,年年有今日歲歲有今朝!增加 <%= str %> 點力量。 來自神秘寶箱: 皇家套裝(1/3)",
"headArmoireGoldenLaurelsText": "黃金桂冠",
- "headArmoireGoldenLaurelsNotes": "這個金色桂冠是用來獎勵那些已經成功克服壞習慣的人們。增加感知和體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(2/3)",
+ "headArmoireGoldenLaurelsNotes": "這個金色桂冠是用來獎勵那些已經成功克服壞習慣的人們。增加感知、體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(2/3)",
"headArmoireHornedIronHelmText": "鐵角頭盔",
"headArmoireHornedIronHelmNotes": "純鋼打造,無懈可擊。這頂鐵角頭盔硬得幾乎無法被打破。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 鐵角套裝(1/3)",
"headArmoireYellowHairbowText": "金黃蝴蝶結頭飾",
- "headArmoireYellowHairbowNotes": "戴上這副金黃色的蝴蝶結頭飾,就能讓您變得更敏銳、強壯,還會變聰明喔! 增加感知、力量和智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(1/2)",
+ "headArmoireYellowHairbowNotes": "戴上這副金黃色的蝴蝶結頭飾,就能讓您變得更敏銳、強壯,還會變聰明喔! 增加感知、力量、智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(1/2)",
"headArmoireRedFloppyHatText": "亮紅寬簷帽",
- "headArmoireRedFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹光芒四射的紅色。增加感知、智力和體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireRedFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹光芒四射的紅色。增加感知、智力、體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoirePlagueDoctorHatText": "瘟疫醫師帽",
"headArmoirePlagueDoctorHatNotes": "怠惰瘟疫主治醫生,值得一頂真實可靠的帽子!增加 <%= str %> 點力量、 <%= int %> 點智力和 <%= con %> 點體質。 來自神祕寶箱: 瘟疫醫師套裝(1/3)",
"headArmoireBlackCatText": "黑貓帽",
- "headArmoireBlackCatNotes": "這頂黑帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireBlackCatNotes": "這頂黑帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoireOrangeCatText": "橘貓帽",
- "headArmoireOrangeCatNotes": "這頂橘帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加力量和體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireOrangeCatNotes": "這頂橘帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加力量、體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoireBlueFloppyHatText": "水藍寬簷帽",
- "headArmoireBlueFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹燦爛的藍色。增加體質、智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireBlueFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹燦爛的藍色。增加體質、智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoireShepherdHeaddressText": "牧羊人頭飾",
"headArmoireShepherdHeaddressNotes": "你戴上這頂頭飾能讓您顯得智力非凡,不過您放養的獅鷲無聊時喜歡咀嚼它。增加 <%= int %> 點智力。 來自神秘寶箱: 牧羊人套裝(3/3)",
"headArmoireCrystalCrescentHatText": "弦月水晶帽",
- "headArmoireCrystalCrescentHatNotes": "這頂帽子的力量會隨著月亮的陰晴圓缺而變化。增加智力和感知各 <%= attrs %> 點。神秘寶箱: 弦月水晶套裝(1/3)",
+ "headArmoireCrystalCrescentHatNotes": "這頂帽子的力量會隨著月亮的陰晴圓缺而變化。增加智力、感知各 <%= attrs %> 點。神秘寶箱: 弦月水晶套裝(1/3)",
"headArmoireDragonTamerHelmText": "馴龍師頭盔",
"headArmoireDragonTamerHelmNotes": "您看起來就像一條真正的龍。這根本是完美的偽裝。增加<%= int %> 點智力。 來自神祕寶箱: 馴龍師套裝(1/3)",
"headArmoireBarristerWigText": "大律師假髮",
@@ -1128,195 +1160,195 @@
"headArmoireBasicArcherCapNotes": "唯有戴上這頂寬鬆的帽子,射手的裝備才算齊全! 增加 <%= per %> 點感知。 來自神祕寶箱: 基礎射手套裝(3/3)",
"headArmoireGraduateCapText": "畢業四方帽",
"headArmoireGraduateCapNotes": "恭喜恭喜! 您有遠見的思維讓自己贏得了這頂思考帽。增加 <%= int %> 點智力。 來自神祕寶箱: 畢業生套裝(3/3)",
- "headArmoireGreenFloppyHatText": "Green Floppy Hat",
- "headArmoireGreenFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹令人愉悅的綠色。增加體質、智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
- "headArmoireCannoneerBandannaText": "Cannoneer Bandanna",
- "headArmoireCannoneerBandannaNotes": "'Tis a cannoneer's life for me! Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: Cannoneer Set (Item 3 of 3).",
- "headArmoireFalconerCapText": "Falconer Cap",
- "headArmoireFalconerCapNotes": "This jaunty cap helps you better understand birds of prey. Increases Intelligence by <%= int %>. Enchanted Armoire: Falconer Set (Item 2 of 3).",
- "headArmoireVermilionArcherHelmText": "Vermilion Archer Helm",
- "headArmoireVermilionArcherHelmNotes": "The magic ruby in this helm will help you aim with laser focus! Increases Perception by <%= per %>. Enchanted Armoire: Vermilion Archer Set (Item 3 of 3).",
- "headArmoireOgreMaskText": "Ogre Mask",
- "headArmoireOgreMaskNotes": "Your enemies will run for the hills when they see an Ogre coming their way! Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Ogre Outfit (Item 1 of 3).",
- "headArmoireIronBlueArcherHelmText": "Iron Blue Archer Helm",
- "headArmoireIronBlueArcherHelmNotes": "Hard-headed? No, you're just well protected. Increases Constitution by <%= con %>. Enchanted Armoire: Iron Archer Set (Item 1 of 3).",
- "headArmoireWoodElfHelmText": "Wood Elf Helm",
- "headArmoireWoodElfHelmNotes": "This helm of leaves may look delicate, but it can protect you from inclement weather and dangerous foes. Increases Constitution by <%= con %>. Enchanted Armoire: Wood Elf Set (Item 1 of 3).",
- "headArmoireRamHeaddressText": "Ram Headdress",
- "headArmoireRamHeaddressNotes": "This elaborate helm is fashioned to look like a ram's head. Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Ram Barbarian Set (Item 1 of 3).",
- "headArmoireCrownOfHeartsText": "Crown of Hearts",
- "headArmoireCrownOfHeartsNotes": "This rosy red crown isn't just eye-catching! It will also strengthen your heart against tough tasks. Increases Strength by <%= str %>. Enchanted Armoire: Queen of Hearts Set (Item 1 of 3).",
- "headArmoireMushroomDruidCapText": "Mushroom Druid Cap",
- "headArmoireMushroomDruidCapNotes": "Harvested deep in a misty forest, this cap grants the wearer knowledge of medicinal plants. Increases Intelligence by <%= int %> and Strength by <%= str %>. Enchanted Armoire: Mushroom Druid Set (Item 1 of 3).",
- "headArmoireMerchantChaperonText": "Merchant Chaperon",
- "headArmoireMerchantChaperonNotes": "This versatile wrapped wool hat will surely make you the most stylish seller in the market! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Merchant Set (Item 1 of 3).",
- "headArmoireVikingHelmText": "Viking Helm",
- "headArmoireVikingHelmNotes": "No horns or wings are found on this helm: those are too easy for enemies to grab! Increases Strength by <%= str %> and Perception by <%= per %>. Enchanted Armoire: Viking Set (Item 2 of 3).",
- "headArmoireSwanFeatherCrownText": "Swan Feather Crown",
- "headArmoireSwanFeatherCrownNotes": "This tiara is lovely and light as a swan's feather! Increases Intelligence by <%= int %>. Enchanted Armoire: Swan Dancer Set (Item 1 of 3).",
- "headArmoireAntiProcrastinationHelmText": "Anti-Procrastination Helm",
- "headArmoireAntiProcrastinationHelmNotes": "This mighty steel helm will help you win the fight to be healthy, happy, and productive! Increases Perception by <%= per %>. Enchanted Armoire: Anti-Procrastination Set (Item 1 of 3).",
- "headArmoireCandlestickMakerHatText": "Candlestick Maker Hat",
- "headArmoireCandlestickMakerHatNotes": "A jaunty hat makes every job more fun, and candlemaking is no exception! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Candlestick Maker Set (Item 2 of 3).",
- "headArmoireLamplightersTopHatText": "Lamplighter's Top Hat",
- "headArmoireLamplightersTopHatNotes": "This jaunty black hat completes your lamp-lighting ensemble! Increases Constitution by <%= con %>. Enchanted Armoire: Lamplighter's Set (Item 3 of 4).",
- "headArmoireCoachDriversHatText": "Coach Driver's Hat",
- "headArmoireCoachDriversHatNotes": "This hat is dressy, but not quite so dressy as a top hat. Make sure you don't lose it as you drive speedily across the land! Increases Intelligence by <%= int %>. Enchanted Armoire: Coach Driver Set (Item 2 of 3).",
- "headArmoireCrownOfDiamondsText": "Crown of Diamonds",
- "headArmoireCrownOfDiamondsNotes": "This shining crown isn't just a great hat; it will also sharpen your mind! Increases Intelligence by <%= int %>. Enchanted Armoire: King of Diamonds Set (Item 2 of 4).",
- "headArmoireFlutteryWigText": "Fluttery Wig",
- "headArmoireFlutteryWigNotes": "This fine powdered wig has plenty of room for your butterflies to rest if they get tired while doing your bidding. Increases Intelligence, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 2 of 4).",
- "headArmoireBirdsNestText": "Bird's Nest",
- "headArmoireBirdsNestNotes": "If you start feeling movement and hearing chirps, your new hat might have turned into new friends. Increases Intelligence by <%= int %>. Enchanted Armoire: Independent Item.",
- "headArmoirePaperBagText": "Paper Bag",
- "headArmoirePaperBagNotes": "This bag is a hilarious but surprisingly protective helm (don't worry, we know you look good under there!). Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
- "headArmoireBigWigText": "Big Wig",
- "headArmoireBigWigNotes": "Some powdered wigs are for looking more authoritative, but this one is just for laughs! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
- "headArmoireGlassblowersHatText": "Glassblower's Hat",
- "headArmoireGlassblowersHatNotes": "This hat mainly just looks good with your other protective glassblowing gear! Increases Perception by <%= per %>. Enchanted Armoire: Glassblower Set (Item 3 of 4).",
- "headArmoirePiraticalPrincessHeaddressText": "Piratical Princess Headdress",
- "headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
- "headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
- "headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
- "offhand": "副手物品",
- "offhandCapitalized": "副手物品",
+ "headArmoireGreenFloppyHatText": "翠綠寬簷帽",
+ "headArmoireGreenFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹令人愉悅的綠色。增加體質、智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireCannoneerBandannaText": "砲兵頭巾",
+ "headArmoireCannoneerBandannaNotes": "這頭巾就是我的生命! 增加智力、感知各 <%= attrs %> 點。 來自神秘寶箱: 砲兵套裝(3/3)",
+ "headArmoireFalconerCapText": "獵鷹者便帽",
+ "headArmoireFalconerCapNotes": "這頂輕巧的便帽能幫助您更容易找到獵物。增加 <%= int %> 點智力。 來自神祕寶箱: 獵鷹者套裝(2/3)",
+ "headArmoireVermilionArcherHelmText": "朱紅射手頭盔",
+ "headArmoireVermilionArcherHelmNotes": "頭盔上的魔法紅石能讓您像雷射光一樣輕易地瞄準目標! 增加 <%= per %> 點感知。 來自神祕寶箱: 朱紅射手套裝(3/3)",
+ "headArmoireOgreMaskText": "食人魔面罩",
+ "headArmoireOgreMaskNotes": "您的敵人一看到您就會馬上退避三舍: 夭壽,食人魔來啦! 增加 <%= attrs %> 點體質。 來自神祕寶箱: 食人魔套裝(1/3)",
+ "headArmoireIronBlueArcherHelmText": "弓箭手水藍鐵頭盔",
+ "headArmoireIronBlueArcherHelmNotes": "您的頭很硬? 不,您只是受到良好保護。增加 <%= con %> 點體質。 來自神祕寶箱: 鋼鐵弓箭手套裝(1/3)",
+ "headArmoireWoodElfHelmText": "木妖精頭盔",
+ "headArmoireWoodElfHelmNotes": "這頂由葉子製作而成的頭盔或許看起來非常脆弱,但它卻可以在惡劣天氣或是在強敵面前保護您。增加 <%= con %> 點體質。 來自神祕寶箱: 木妖精(1/3)",
+ "headArmoireRamHeaddressText": "牡羊頭套",
+ "headArmoireRamHeaddressNotes": "這頂精美的頭盔被塑造成牡羊的樣式。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 牡羊野蠻人套裝(1/3)",
+ "headArmoireCrownOfHeartsText": "愛心皇冠",
+ "headArmoireCrownOfHeartsNotes": "這頂玫瑰紅的皇冠不僅僅只是很搶眼。它還能在您面對艱難的任務時堅定您的心! 增加 <%= str %> 點力量。 來自神祕寶箱: 心皇后套裝(1/3)",
+ "headArmoireMushroomDruidCapText": "德魯伊蘑菇帽",
+ "headArmoireMushroomDruidCapNotes": "Mushroom Druid Cap。 這頂在迷霧森林深處得到的帽子能賜予穿戴者藥用植物的知識。增加 <%= int %> 點智力和 <%= str %> 點力量。 來自神祕寶箱: 德魯伊蘑菇套裝(1/3)",
+ "headArmoireMerchantChaperonText": "中古世紀 Chaperone 頭巾",
+ "headArmoireMerchantChaperonNotes": "這件多功能毛製頭巾絕對會讓您成為市場上最時髦的商人! 增加感知、智力各 <%= attrs %> 點。 來自神祕寶箱: 商人套裝(1/3)",
+ "headArmoireVikingHelmText": "維京海盜頭盔",
+ "headArmoireVikingHelmNotes": "這頂特製的頭盔上不再有犄角的裝飾。因為哪樣會讓敵人輕鬆抓住! 增加 <%= str %> 點力量和 <%= per %> 點感知。 來自神祕寶箱: 維京套裝(2/3)",
+ "headArmoireSwanFeatherCrownText": "天鵝羽毛皇冠",
+ "headArmoireSwanFeatherCrownNotes": "這頂皇冠既可愛又輕巧,彷彿就像是天鵝的羽毛! 增加 <%= int %> 點智力。 來自神祕寶箱: 天鵝湖舞者套裝(1/3)",
+ "headArmoireAntiProcrastinationHelmText": "反怠惰頭盔",
+ "headArmoireAntiProcrastinationHelmNotes": "這頂強韌的鋼鐵頭盔能幫助您戰勝怠惰並保持健康、快樂有效率! 增加 <%= per %> 點感知。 來自神祕寶箱: 反怠惰套裝(1/3)",
+ "headArmoireCandlestickMakerHatText": "蠟燭台製作師帽子",
+ "headArmoireCandlestickMakerHatNotes": "一頂俏皮的帽子能讓工作變得更有趣,而這頂帽子也不例外! 增加感知、智力各 <%= attrs %> 點。 來自神祕寶箱: 蠟燭台製作師套裝(2/3)",
+ "headArmoireLamplightersTopHatText": "點燈伕高頂禮帽",
+ "headArmoireLamplightersTopHatNotes": "這頂優雅的黑色帽子能幫您完成您的點燈任務! 增加 <%= con %> 點體質。 來自神祕寶箱: 點燈伕套裝(3/4)",
+ "headArmoireCoachDriversHatText": "馬車伕禮帽",
+ "headArmoireCoachDriversHatNotes": "這頂帽子相當正式,但又不會像高頂禮帽那樣講究。請小心當您在高速駕駛時可別弄丟了帽子! 增加 <%= int %> 點智力。 來自神祕寶箱: 馬車伕套裝(2/3)",
+ "headArmoireCrownOfDiamondsText": "鑽石皇冠",
+ "headArmoireCrownOfDiamondsNotes": "這頂閃亮亮的皇冠不僅僅只是頂好帽子,他還能磨練您的心靈! 增加 <%= int %> 點智力。 來自神秘寶箱: 鑽石王者套裝(2/4)",
+ "headArmoireFlutteryWigText": "翩翩飛舞假髮",
+ "headArmoireFlutteryWigNotes": "這頂精美的撲粉歐式假髮裡有許許多多的空隙可以讓正聽您的吩咐而勞累的蝴蝶稍作休息、喘口氣。增加智力、感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(2/4)",
+ "headArmoireBirdsNestText": "鳥巢",
+ "headArmoireBirdsNestNotes": "如果您開始感覺到頭上有些陣陣騷動且聽到不間斷吱吱喳喳的鳥聲音,這代表著這頂新帽子已經成為您的新朋友了。增加 <%= int %> 點智力。 來自神秘寶箱: 獨立裝備",
+ "headArmoirePaperBagText": "紙袋",
+ "headArmoirePaperBagNotes": "這個袋子是個看起來很滑稽,戴上後卻意外地非常安全的頭盔 (別擔心,我們知道您戴上這之後看起來狀況非常好! ) 增加 <%= con %> 點體質。 來自神秘寶箱: 獨立裝備",
+ "headArmoireBigWigText": "巨大假髮",
+ "headArmoireBigWigNotes": "撲粉假髮是為了讓人看起來更有威嚴,但這頂假髮只會讓人看了捧腹大笑而已! 增加 <%= str %> 點力量。 來自神祕寶箱: 獨立裝備。",
+ "headArmoireGlassblowersHatText": "玻璃吹製工工作帽",
+ "headArmoireGlassblowersHatNotes": "這頂帽子與您的其他玻璃吹製工套裝穿搭在一起會看起來非常好看唷! 增加 <%= per %> 點感知。 來自神祕寶箱: 玻璃吹製工套裝(3/4)",
+ "headArmoirePiraticalPrincessHeaddressText": "海盜公主頭飾",
+ "headArmoirePiraticalPrincessHeaddressNotes": "自古以來經驗老到的海盜皆是以擁有高檔的頭飾而聞名的! 增加感知、智力各 <%= attrs %> 點。 來自神祕寶箱: 海盜公主套裝(1/4)",
+ "headArmoireJeweledArcherHelmText": "射手寶石頭盔",
+ "headArmoireJeweledArcherHelmNotes": "這頂頭盔不僅看起來非常華麗,它還格外地輕穎和堅固。增加 <%= int %> 點智力。 來自神祕寶箱: 射手寶石套裝(1/3)",
+ "offhand": "副手裝備",
+ "offhandCapitalized": "副手裝備",
"shieldBase0Text": "沒有副手裝備",
- "shieldBase0Notes": "沒有盾牌或其他副手物品。",
- "shieldWarrior1Text": "木盾",
- "shieldWarrior1Notes": "厚木頭製的圓盾。增加<%= con %>體質。",
- "shieldWarrior2Text": "圓盾",
- "shieldWarrior2Notes": "輕便而堅實,快點拿來防禦。提高<%= con %>點體質。",
+ "shieldBase0Notes": "沒有護盾或其他副手裝備。",
+ "shieldWarrior1Text": "木質護盾",
+ "shieldWarrior1Notes": "厚木頭製成的圓盾。增加 <%= con %> 點體質。",
+ "shieldWarrior2Text": "防護盾",
+ "shieldWarrior2Notes": "輕便、堅實,快拿去防護敵人。增加 <%= con %> 點體質。",
"shieldWarrior3Text": "強化盾",
- "shieldWarrior3Notes": "木製,以金屬環框住。提高<%= con %>點體質。",
- "shieldWarrior4Text": "紅色盾牌",
- "shieldWarrior4Notes": "以一陣火焰反擊攻擊。提高<%= con %>點體質。",
- "shieldWarrior5Text": "金色盾牌",
- "shieldWarrior5Notes": "先鋒的閃耀徽章。提高<%= con %>點體質。",
- "shieldHealer1Text": "醫療兵盾牌",
- "shieldHealer1Notes": "便於解除並騰出一隻手包紮。提高<%= con %>點體質。",
- "shieldHealer2Text": "鳶形盾牌",
- "shieldHealer2Notes": "帶有治療標誌的錐形盾牌。提高<%= con %>點體質。",
- "shieldHealer3Text": "保護者盾牌",
- "shieldHealer3Notes": "防衛騎士的傳統盾牌。提高<%= con %>點體質。",
- "shieldHealer4Text": "救主盾",
- "shieldHealer4Notes": "能製止對周遭無辜民眾的攻擊,也能阻擋針對自己的攻擊。提高<%= con %>點體質。",
- "shieldHealer5Text": "皇家盾牌",
- "shieldHealer5Notes": "授予對保家衛國做出最大貢獻的人們。提高<%= con %>點體質。",
- "shieldSpecial0Text": "苦痛骷髏",
- "shieldSpecial0Notes": "看透死亡的面紗,以陰間的慘象使敵人顫抖。提高<%= per %>點感知。",
- "shieldSpecial1Text": "水晶盾",
- "shieldSpecial1Notes": "Shatters arrows and deflects the words of naysayers. Increases all Stats by <%= attrs %>.",
+ "shieldWarrior3Notes": "雖然這是一面木製盾牌,但外環已被金屬框住。增加 <%= con %> 點體質。",
+ "shieldWarrior4Text": "赤紅護盾",
+ "shieldWarrior4Notes": "能夠反彈攻擊並附帶一團火焰。增加 <%= con %> 點體質。",
+ "shieldWarrior5Text": "黃金護盾",
+ "shieldWarrior5Notes": "先鋒部隊的閃耀徽章。增加 <%= con %> 點體質。",
+ "shieldHealer1Text": "醫療兵護盾",
+ "shieldHealer1Notes": "易於摘除以利騰出空手來包紮友軍。增加 <%= con %> 點體質。",
+ "shieldHealer2Text": "鳶形護盾",
+ "shieldHealer2Notes": "帶有治療標誌的錐狀護盾。增加 <%= con %> 點體質。",
+ "shieldHealer3Text": "護衛盾牌",
+ "shieldHealer3Notes": "後衛騎士的傳統護盾。增加 <%= con %> 點體質。",
+ "shieldHealer4Text": "救世主護盾",
+ "shieldHealer4Notes": "能同時制止對周遭無辜百姓及針對自己的攻擊。增加 <%= con %> 點體質。",
+ "shieldHealer5Text": "皇家護盾",
+ "shieldHealer5Notes": "授予對保家衛國做出最大貢獻的人們。莎莎給油! 增加 <%= con %> 點體質。",
+ "shieldSpecial0Text": "苦難骷髏",
+ "shieldSpecial0Notes": "看透死亡的面紗,以陰間的慘象使敵人顫抖。增加 <%= per %> 點感知。",
+ "shieldSpecial1Text": "水晶護盾",
+ "shieldSpecial1Notes": "能夠粉碎弓箭並折射反對者施加的咒語。增加所有屬性各 <%= attrs %> 點。",
"shieldSpecialTakeThisText": "收下這面盾牌",
- "shieldSpecialTakeThisNotes": "這面盾牌只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
- "shieldSpecialGoldenknightText": "Mustaine的碎石流星錘",
- "shieldSpecialGoldenknightNotes": "怪物統統搗碎!增加力量、智力、體質各<%= attrs %>點。",
- "shieldSpecialMoonpearlShieldText": "月亮珍珠盾",
- "shieldSpecialMoonpearlShieldNotes": "被設計用來幫助快速游泳,還能夠形成一點防禦。增加<%= con %>點體質。",
- "shieldSpecialMammothRiderHornText": "Mammoth Rider's Horn",
- "shieldSpecialMammothRiderHornNotes": "One blow on this mighty rose quartz horn and you'll summon powerful magical forces. Increases Strength by <%= str %>.",
- "shieldSpecialDiamondStaveText": "Diamond Stave",
- "shieldSpecialDiamondStaveNotes": "This valuable stave has mystical powers. Increases Intelligence by <%= int %>.",
- "shieldSpecialRoguishRainbowMessageText": "Roguish Rainbow Message",
- "shieldSpecialRoguishRainbowMessageNotes": "This sparkly envelope contains messages of encouragement from Habiticans, and a touch of magic to help speed your deliveries! Increases Intelligence by <%= int %>.",
- "shieldSpecialLootBagText": "Loot Bag",
- "shieldSpecialLootBagNotes": "This bag is ideal for storing all the goodies you've stealthily removed from unsuspecting Tasks! Increases Strength by <%= str %>.",
- "shieldSpecialWintryMirrorText": "Wintry Mirror",
- "shieldSpecialWintryMirrorNotes": "How else to best admire your wintry look? Increases Intelligence by <%= int %>.",
- "shieldSpecialWakizashiText": "Wakizashi",
- "shieldSpecialWakizashiNotes": "This short sword is perfect for close-quarters battles with your Dailies! Increases Constitution by <%= con %>.",
- "shieldSpecialYetiText": "雪怪馴化師盾牌",
- "shieldSpecialYetiNotes": "這塊盾牌映射著雪光。提高<%= con %>點體質。2013-2014冬季限定版裝備。",
- "shieldSpecialSnowflakeText": "雪花盾",
- "shieldSpecialSnowflakeNotes": "每一塊盾牌都是獨一無二的。提高<%= con %>點體質。2013-2014冬季限定版裝備。",
+ "shieldSpecialTakeThisNotes": "這面盾牌只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
+ "shieldSpecialGoldenknightText": "馬斯泰恩的碎石流星錘",
+ "shieldSpecialGoldenknightNotes": "(Mustaine's Milestone Mashing Morning Star) 看到怪物統統搗爛!增加體質、感知各 <%= attrs %> 點。",
+ "shieldSpecialMoonpearlShieldText": "月亮明珠護盾",
+ "shieldSpecialMoonpearlShieldNotes": "專為快速游泳、以及防禦工作所設計之護盾。增加 <%= con %> 點體質。",
+ "shieldSpecialMammothRiderHornText": "長毛象騎士號角",
+ "shieldSpecialMammothRiderHornNotes": "只要一吹響這只強大的玫瑰石英號角就能召喚出最強大的魔力。增加 <%= str %> 點力量。",
+ "shieldSpecialDiamondStaveText": "鑽石魔杖",
+ "shieldSpecialDiamondStaveNotes": "這隻價值連城的魔杖擁有深不可測的魔力。增加 <%= int %> 點智力。",
+ "shieldSpecialRoguishRainbowMessageText": "俏皮彩虹信件",
+ "shieldSpecialRoguishRainbowMessageNotes": "這件閃閃發光的信件包含了來自Habitica鄉民的鼓勵。此外還被賦予神奇的魔力能夠加快完成任務的速度! 增加 <%= int %> 點智力。",
+ "shieldSpecialLootBagText": "戰利品背包",
+ "shieldSpecialLootBagNotes": "這個包包是大量儲存您從大家意想不到的任務中偷來的贓物的絕佳選擇! 增加 <%= str %> 點力量。",
+ "shieldSpecialWintryMirrorText": "寒冬手持鏡",
+ "shieldSpecialWintryMirrorNotes": "有甚麼更好的方法能欣賞您在寒冬中的妝容呢? 增加 <%= int %> 點智力。",
+ "shieldSpecialWakizashiText": "脇差",
+ "shieldSpecialWakizashiNotes": "(Wakizashi) 這把短刀是您正與每日任務近戰時的絕佳選擇! 增加 <%= con %> 點認知。",
+ "shieldSpecialYetiText": "雪怪馴化師護盾",
+ "shieldSpecialYetiNotes": "這面護盾可映射雪光。增加 <%= con %> 點體質。 2013-2014冬季限定版裝備",
+ "shieldSpecialSnowflakeText": "雪花護盾",
+ "shieldSpecialSnowflakeNotes": "每一面護盾都是獨一無二的。增加 <%= con %> 點體質。 2013-2014冬季限定版裝備",
"shieldSpecialSpringRogueText": "鉤爪",
- "shieldSpecialSpringRogueNotes": "用來攀爬高樓的裝備,當然也可以用來抓爛地毯。增加<%= str %>點力量。2014年春季限量版裝備。",
- "shieldSpecialSpringWarriorText": "蛋盾",
- "shieldSpecialSpringWarriorNotes": "蛋盾永遠不會裂開,無論你多用力敲他!增加<%= con %>點體質。2014年春季限量版裝備。",
- "shieldSpecialSpringHealerText": "終極保護的吱吱球",
- "shieldSpecialSpringHealerNotes": "在戰鬥中釋放出令人討厭的持續不斷的吱吱聲來驅趕敵人。增加<%= con %>點體質。2014年春季限量版裝備。",
+ "shieldSpecialSpringRogueNotes": "非常適合用來攀爬高樓,當然也可以用來抓爛地毯。增加 <%= str %> 點力量。 2014年春季限定版裝備",
+ "shieldSpecialSpringWarriorText": "蛋蛋護盾",
+ "shieldSpecialSpringWarriorNotes": "無論您多用力地敲這面護盾,它就是永遠不會出現裂痕!增加 <%= con %> 點體質。 2014年春季限定版裝備",
+ "shieldSpecialSpringHealerText": "終極護衛吱吱球",
+ "shieldSpecialSpringHealerNotes": "在戰鬥中將盡情發出令人厭惡且不間斷的吱吱聲以驅趕敵人。增加 <%= con %> 點體質。 2014年春季限定版裝備",
"shieldSpecialSummerRogueText": "海盜彎刀",
- "shieldSpecialSummerRogueNotes": "退散吧!你將讓那些每日任務自取滅亡!增強力量<%= str %>點。2014夏季限量版裝備。",
+ "shieldSpecialSummerRogueNotes": "停!!您這樣子會讓那些每日任務走上跳板一去不復返!增加 <%= str %> 點力量。 2014年夏季限定版裝備",
"shieldSpecialSummerWarriorText": "漂流木盾",
- "shieldSpecialSummerWarriorNotes": "由沉船的木頭製成,就算最困難的每日任務也能克服。提升體質<%= con %>。2014年夏季限量版裝備。",
- "shieldSpecialSummerHealerText": "淺灘盾",
- "shieldSpecialSummerHealerNotes": "面對這塊閃亮的盾牌,沒人敢攻擊珊瑚礁!增加<%= con %>點體質。2014年夏季限量版裝備。",
- "shieldSpecialFallRogueText": "銀樁",
- "shieldSpecialFallRogueNotes": "能驅走亡靈,也能對狼人造成暴擊,謹記凡事小心為上。增加<%= str %>點力量。2014秋季限量版裝備。",
- "shieldSpecialFallWarriorText": "實驗強力藥劑",
- "shieldSpecialFallWarriorNotes": "潑灑神秘物質的實驗衣。增加<%= con %>點體質。2014秋季限量版裝備。",
- "shieldSpecialFallHealerText": "寶石盾",
- "shieldSpecialFallHealerNotes": "這塊閃亮的盾牌被發掘自一座古墓。增加<%= con %>點體質。2014秋季限量版裝備。",
- "shieldSpecialWinter2015RogueText": "冰刺",
- "shieldSpecialWinter2015RogueNotes": "真的,肯定,絕對從地上拿了它。提升力量<%= str %>。2014-2015冬季限量裝備。",
- "shieldSpecialWinter2015WarriorText": "橡皮糖盾",
- "shieldSpecialWinter2015WarriorNotes": "這塊看起來甜蜜蜜的盾牌其實是由富有營養的植物性凝膠製成的。增加<%= con %>點體質。2014-2015冬季限量裝備。",
- "shieldSpecialWinter2015HealerText": "寬慰之盾",
- "shieldSpecialWinter2015HealerNotes": "這塊盾牌抵擋了刺骨的寒風。增加<%= con %>點體質。2014-2015冬季限量裝備。",
+ "shieldSpecialSummerWarriorNotes": "這面盾牌是由已沉船的漂流木所製成。但就算是最艱難的每日任務也能克服。增加 <%= con %> 點體質。 2014年夏季限定版裝備",
+ "shieldSpecialSummerHealerText": "淺灘護盾",
+ "shieldSpecialSummerHealerNotes": "看到這面閃亮亮的護盾,就沒人敢再來攻擊珊瑚礁!增加 <%= con %> 點體質。 2014年夏季限定版裝備",
+ "shieldSpecialFallRogueText": "銀製鐵樁",
+ "shieldSpecialFallRogueNotes": "可以驅走亡靈,同時也能有效抵禦狼人,因為您應謹記凡事小心為上。增加 <%= str %> 點力量。 2014年秋季限定版裝備",
+ "shieldSpecialFallWarriorText": "科學強效藥水",
+ "shieldSpecialFallWarriorNotes": "灑滿於實驗室大衣上的神祕藥水。增加 <%= con %> 點體質。 2014年秋季限定版裝備",
+ "shieldSpecialFallHealerText": "寶石護盾",
+ "shieldSpecialFallHealerNotes": "這面閃亮亮的護盾被發掘於一座古墓。增加 <%= con %> 點體質。 2014年秋季限定版裝備",
+ "shieldSpecialWinter2015RogueText": "冰柱尖釘",
+ "shieldSpecialWinter2015RogueNotes": "這真的是,完全是,絕對是剛從地上撿起來的。增加 <%= str %> 點力量。 2014-2015冬季限定版裝備",
+ "shieldSpecialWinter2015WarriorText": "果凍糖護盾",
+ "shieldSpecialWinter2015WarriorNotes": "這面看起來甜蜜蜜的護盾其實是由富有營養的植物性凝膠所製作而成的。增加 <%= con %> 點體質。 2014-2015冬季限定版裝備",
+ "shieldSpecialWinter2015HealerText": "鎮靜護盾",
+ "shieldSpecialWinter2015HealerNotes": "這面護盾可抵擋刺骨的寒風。增加 <%= con %> 點體質。 2014-2015冬季限定版裝備",
"shieldSpecialSpring2015RogueText": "霹靂爆破管",
- "shieldSpecialSpring2015RogueNotes": "Don't let the sound fool you - these explosives pack a punch. Increases Strength by <%= str %>. Limited Edition 2015 Spring Gear.",
+ "shieldSpecialSpring2015RogueNotes": "別被它軟弱的聲音給搞糊塗了——這爆炸威力可大得不得了。增加 <%= str %> 點力量。 2015年春季限定版裝備",
"shieldSpecialSpring2015WarriorText": "盤子鐵餅",
- "shieldSpecialSpring2015WarriorNotes": "向你的敵人擲去……或者只是單純地拿著它,因為到了晚飯時間它就會裝滿美味的狗食。提高<%= con %>點體質。2015春季限量版裝備。",
- "shieldSpecialSpring2015HealerText": "印花枕頭",
- "shieldSpecialSpring2015HealerNotes": "你可以把頭靠在這個軟軟的枕頭上,也可以用你可怕的爪子和它玩摔跤。嗷嗚!提高<%= con %>點體質。2015春季限量版裝備。",
+ "shieldSpecialSpring2015WarriorNotes": "向您的敵人擲去……或者也可以一直握著它,因為到了晚飯時間它就會自動裝滿美味的狗食。增加 <%= con %> 點體質。 2015年春季限定版裝備",
+ "shieldSpecialSpring2015HealerText": "圖騰枕頭",
+ "shieldSpecialSpring2015HealerNotes": "您可以把頭靠在這塊軟綿綿的枕頭上,也可以用您可怕的爪子和它玩摔跤。嗷嗚!增加 <%= con %> 點體質。 2015年春季限定版裝備",
"shieldSpecialSummer2015RogueText": "火焰珊瑚",
- "shieldSpecialSummer2015RogueNotes": "這種火珊瑚具有一種能力,可以在水裡散播毒液。提高<%= str %>點力量。2014夏季限量版裝備。",
- "shieldSpecialSummer2015WarriorText": "太陽魚盾",
- "shieldSpecialSummer2015WarriorNotes": "由辦事拖拉的工匠從深海金屬提煉製作而成。是一面閃耀著細沙和海浪的盾牌。增加 <%= con %>點體質。2015夏季限量版裝備。",
- "shieldSpecialSummer2015HealerText": "綑綁之盾",
- "shieldSpecialSummer2015HealerNotes": "用這面盾牌擊退船艙裡的老鼠吧。增加<%= con %>點體質。2015年夏季限量版裝備。",
+ "shieldSpecialSummer2015RogueNotes": "此火珊瑚具有能在水裡散播毒液的能力。增加 <%= str %> 點力量。 2015年夏季限定版裝備",
+ "shieldSpecialSummer2015WarriorText": "太陽魚護盾",
+ "shieldSpecialSummer2015WarriorNotes": "由怠慢小鎮出生的工匠從深海金屬提煉製作而成。是頂堅固又兼具美觀的頭盔。增加 <%= con %> 點體質。2015年夏季限定版裝備",
+ "shieldSpecialSummer2015HealerText": "橡皮膏護盾",
+ "shieldSpecialSummer2015HealerNotes": "用這面盾牌擊退船艙裡的老鼠吧。增加 <%= con %> 點體質。 2015年夏季限定版裝備",
"shieldSpecialFall2015RogueText": "戰蝠巨斧",
- "shieldSpecialFall2015RogueNotes": "令人恐懼的待辦事項看到這把斧頭在晃動時,也給嚇的縮起來。2015秋季限量版裝備。",
- "shieldSpecialFall2015WarriorText": "鳥飼料袋",
- "shieldSpecialFall2015WarriorNotes": "沒錯你是該嚇唬走烏鴉,但是交些朋友也不是什麼壞事!增加 <%= con %>點體質。2015年秋季限量版裝備。",
+ "shieldSpecialFall2015RogueNotes": "都在这把神斧的挥砍之下瑟瑟发抖。增加 <%= str %> 點力量。 2015年秋季限定版裝備",
+ "shieldSpecialFall2015WarriorText": "鳥飼料囊包",
+ "shieldSpecialFall2015WarriorNotes": "沒錯,您是真的該嚇走這些烏鴉,但交些朋友也不是什麼壞事呀!增加 <%= con %> 點體質。 2015年秋季限定版裝備",
"shieldSpecialFall2015HealerText": "攪拌棒",
- "shieldSpecialFall2015HealerNotes": "這根棒子無論攪拌任何東西都不會融化、溶解、更不會起火燃燒!你可以用它戳爆敵方任務。增加<%= con %>點體質。2015年秋季限量版裝備。",
- "shieldSpecialWinter2016RogueText": "可可杯",
- "shieldSpecialWinter2016RogueNotes": "Warming drink, or boiling projectile? You decide... Increases Strength by <%= str %>. Limited Edition 2015-2016 Winter Gear.",
- "shieldSpecialWinter2016WarriorText": "Sled Shield",
- "shieldSpecialWinter2016WarriorNotes": "Use this sled to block attacks, or ride it triumphantly into battle! Increases Constitution by <%= con %>. Limited Edition 2015-2016 Winter Gear.",
- "shieldSpecialWinter2016HealerText": "Pixie Present",
- "shieldSpecialWinter2016HealerNotes": "Open it open it open it open it open it open it!!!!!!!!! Increases Constitution by <%= con %>. Limited Edition 2015-2016 Winter Gear.",
+ "shieldSpecialFall2015HealerNotes": "這根棒子無論攪拌任何東西都不會融化、溶解、更不會起火燃燒!您還可用它狠狠地戳向敵方的任務。增加 <%= con %> 點體質。 2015年秋季限定版裝備",
+ "shieldSpecialWinter2016RogueText": "可可豆馬克杯",
+ "shieldSpecialWinter2016RogueNotes": "這是一杯熱可可,還是炙手可熱的投擲物呢?由您決定!增加 <%= str %> 點力量。 2015-2016冬季限定版裝備",
+ "shieldSpecialWinter2016WarriorText": "雪橇護盾",
+ "shieldSpecialWinter2016WarriorNotes": "用這塊雪橇來格擋攻擊,或者乘著它華麗地進入戰場! 增加 <%= con %> 點體質。 2015-2016冬季限定版裝備",
+ "shieldSpecialWinter2016HealerText": "小仙子禮物",
+ "shieldSpecialWinter2016HealerNotes": "快拆開來快拆開來快拆開來! 因為很重要,所以要說三次!!!!!! 增加 <%= con %> 點感知。 2015-2016冬季限定版裝備",
"shieldSpecialSpring2016RogueText": "鍊火球",
- "shieldSpecialSpring2016RogueNotes": "You've mastered the ball, the club, and the knife. Now you advance to juggling fire! Awoo! Increases Strength <%= str %>. Limited Edition 2016 Spring Gear.",
- "shieldSpecialSpring2016WarriorText": "Cheese Wheel",
- "shieldSpecialSpring2016WarriorNotes": "You braved fiendish traps to procure this defense-boosting food. Increases Constitution by <%= con %>. Limited Edition 2016 Spring Gear.",
- "shieldSpecialSpring2016HealerText": "Floral Buckler",
- "shieldSpecialSpring2016HealerNotes": "The April Fool claims this little shield will block Shiny Seeds. Don't believe him. Increases Constitution by <%= con %>. Limited Edition 2016 Spring Gear.",
- "shieldSpecialSummer2016RogueText": "Electric Rod",
- "shieldSpecialSummer2016RogueNotes": "Anyone who battles you is in for a shocking surprise... Increases Strength by <%= str %>. Limited Edition 2016 Summer Gear.",
- "shieldSpecialSummer2016WarriorText": "Shark Tooth",
- "shieldSpecialSummer2016WarriorNotes": "Bite those tough tasks with this toothy shield! Increases Constitution by <%= con %>. Limited Edition 2016 Summer Gear.",
- "shieldSpecialSummer2016HealerText": "Sea Star Shield",
- "shieldSpecialSummer2016HealerNotes": "Sometimes mistakenly called a Starfish Shield. Increases Constitution by <%= con %>. Limited Edition 2016 Summer Gear.",
- "shieldSpecialFall2016RogueText": "Spiderbite Dagger",
- "shieldSpecialFall2016RogueNotes": "Feel the sting of the spider's bite! Increases Strength by <%= str %>. Limited Edition 2016 Autumn Gear.",
- "shieldSpecialFall2016WarriorText": "Defensive Roots",
- "shieldSpecialFall2016WarriorNotes": "Defend against Dailies with these writhing roots! Increases Constitution by <%= con %>. Limited Edition 2016 Autumn Gear.",
- "shieldSpecialFall2016HealerText": "Gorgon Shield",
- "shieldSpecialFall2016HealerNotes": "Don't admire your own reflection in this. Increases Constitution by <%= con %>. Limited Edition 2016 Autumn Gear.",
- "shieldSpecialWinter2017RogueText": "Ice Axe",
- "shieldSpecialWinter2017RogueNotes": "This axe is great for attack, defense, and ice-climbing! Increases Strength by <%= str %>. Limited Edition 2016-2017 Winter Gear.",
- "shieldSpecialWinter2017WarriorText": "Puck Shield",
- "shieldSpecialWinter2017WarriorNotes": "Made from a giant hockey puck, this shield can stand up to quite a beating. Increases Constitution by <%= con %>. Limited Edition 2016-2017 Winter Gear.",
- "shieldSpecialWinter2017HealerText": "Sugarplum Shield",
- "shieldSpecialWinter2017HealerNotes": "This fibrous armament will help protect you from even the sourest of tasks! Increases Constitution by <%= con %>. Limited Edition 2016-2017 Winter Gear.",
- "shieldSpecialSpring2017RogueText": "Karrotana",
- "shieldSpecialSpring2017RogueNotes": "These blades will make quick work of tasks, but also are handy for slicing vegetables! Yum! Increases Strength by <%= str %>. Limited Edition 2017 Spring Gear.",
- "shieldSpecialSpring2017WarriorText": "Yarn Shield",
- "shieldSpecialSpring2017WarriorNotes": "Every fiber of this shield is woven with protective spells! Try not to play with it (too much). Increases Constitution by <%= con %>. Limited Edition 2017 Spring Gear.",
- "shieldSpecialSpring2017HealerText": "Basket Shield",
- "shieldSpecialSpring2017HealerNotes": "Protective and also handy for holding your many healing herbs and accoutrements. Increases Constitution by <%= con %>. Limited Edition 2017 Spring Gear.",
- "shieldSpecialSummer2017RogueText": "Sea Dragon Fins",
- "shieldSpecialSummer2017RogueNotes": "The edges of these fins are razor-sharp. Increases Strength by <%= str %>. Limited Edition 2017 Summer Gear.",
- "shieldSpecialSummer2017WarriorText": "Scallop Shield",
- "shieldSpecialSummer2017WarriorNotes": "This shell that you just found is both decorative AND defensive! Increases Constitution by <%= con %>. Limited Edition 2017 Summer Gear.",
- "shieldSpecialSummer2017HealerText": "Oyster Shield",
- "shieldSpecialSummer2017HealerNotes": "This magical oyster constantly generates pearls as well as protection. Increases Constitution by <%= con %>. Limited Edition 2017 Summer Gear.",
- "shieldSpecialFall2017RogueText": "Candied Apple Mace",
- "shieldSpecialFall2017RogueNotes": "Defeat your foes with sweetness! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialFall2017WarriorText": "Candy Corn Shield",
- "shieldSpecialFall2017WarriorNotes": "This candy shield has mighty protective powers, so try not to nibble on it! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialFall2017HealerText": "Haunted Orb",
+ "shieldSpecialSpring2016RogueNotes": "您已精通了錘球、棍棒、和小刀。現在您可晉身到雜耍火球! 啊嗚! 增加 <%= str %> 點力量。 2016年春季限定版裝備",
+ "shieldSpecialSpring2016WarriorText": "起司輪盤",
+ "shieldSpecialSpring2016WarriorNotes": "您勇敢地面對惡魔的陷阱並取得這份能夠提升防禦的食物。增加 <%= con %> 點體質。 2016年春季限定版裝備",
+ "shieldSpecialSpring2016HealerText": "花卉圓盾",
+ "shieldSpecialSpring2016HealerNotes": "愚人節宣稱這副小而美的護盾將能阻止閃亮種子的侵襲。千萬別相信它。增加 <%= con %> 點體質。 2016年春季限定版裝備",
+ "shieldSpecialSummer2016RogueText": "電桿",
+ "shieldSpecialSummer2016RogueNotes": "所有與您戰鬥的人都將會得到一份觸目驚心的驚喜... 增加 <%= str %> 點力量。 2016年夏季限定版裝備",
+ "shieldSpecialSummer2016WarriorText": "鯊魚牙齒",
+ "shieldSpecialSummer2016WarriorNotes": "用這副齒盾來盡情撕咬那些艱鉅的任務吧! 增加 <%= con %> 點體質。 2016年夏季限定版裝備",
+ "shieldSpecialSummer2016HealerText": "海星護盾",
+ "shieldSpecialSummer2016HealerNotes": "有時會被誤叫做星海護盾。增加 <%= con %> 點體質。 2016年夏季限定版裝備",
+ "shieldSpecialFall2016RogueText": "蛛咬匕首",
+ "shieldSpecialFall2016RogueNotes": "感受一下被蜘蛛咬到的刺痛感吧! 增加 <%= str %> 點力量。 2016年秋季限定版裝備",
+ "shieldSpecialFall2016WarriorText": "防禦樹根",
+ "shieldSpecialFall2016WarriorNotes": "用這條扭曲的樹根來對抗每日任務吧! 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
+ "shieldSpecialFall2016HealerText": "蛇髮女妖護盾",
+ "shieldSpecialFall2016HealerNotes": "(Gorgon) 千萬別陶醉於這面護盾映射中的自己。增加 <%= con %> 點體質。 2016年秋季限定版裝備",
+ "shieldSpecialWinter2017RogueText": "冰之巨斧",
+ "shieldSpecialWinter2017RogueNotes": "這根斧頭非常適合拿來攻擊、防禦、甚至是攀登冰坡! 增加 <%= str %> 點力量。 2016-2017冬季限定版裝備",
+ "shieldSpecialWinter2017WarriorText": "冰上曲棍球護盾",
+ "shieldSpecialWinter2017WarriorNotes": "這面盾牌是由巨大的冰上曲棍球所製成,能夠禁得起相當大的撞擊力道。增加 <%= con %> 點體質。 2016-2017冬季限定版裝備",
+ "shieldSpecialWinter2017HealerText": "酸梅護盾",
+ "shieldSpecialWinter2017HealerNotes": "這套充滿纖維的裝備就算是碰到最酸溜溜的任務也能夠抵禦下來! 增加 <%= con %> 點體質。 2016-2017冬季限定版裝備",
+ "shieldSpecialSpring2017RogueText": "胡蘿蔔武士刀",
+ "shieldSpecialSpring2017RogueNotes": "這把利刃不但能加速完成任務,而且還非常方便於切蔬菜! Yum! 增加 <%= str %> 點力量。 2017年春季限定版裝備",
+ "shieldSpecialSpring2017WarriorText": "紡紗護盾",
+ "shieldSpecialSpring2017WarriorNotes": "這面護盾上的任何一條纖維皆由防護咒語所編織而成! 千萬不要玩(壞)它。增加 <%= con %> 點體質。 2017年春季限定版裝備",
+ "shieldSpecialSpring2017HealerText": "編織籃護盾",
+ "shieldSpecialSpring2017HealerNotes": "這面護盾不僅能夠用來防禦,對於放置您採集來的草藥和隨身裝備也非常方便。增加 <%= con %> 點體質。 2017年春季限定版裝備",
+ "shieldSpecialSummer2017RogueText": "海龍魚鰭",
+ "shieldSpecialSummer2017RogueNotes": "這些鰭有著像剃刀般鋒利的邊緣。增加 <%= str %> 點力量。 2017年夏季限定版裝備",
+ "shieldSpecialSummer2017WarriorText": "紫扇貝護盾",
+ "shieldSpecialSummer2017WarriorNotes": "您剛找到的貝殼同時兼具裝飾性和防禦性! 增加 <%= con %> 點體質。 2017年夏季限定版裝備",
+ "shieldSpecialSummer2017HealerText": "牡蠣護盾",
+ "shieldSpecialSummer2017HealerNotes": "這顆魔法牡蠣時時刻刻都在為您帶來珍珠和保護。增加 <%= con %> 點體質。 2017年夏季限定版裝備",
+ "shieldSpecialFall2017RogueText": "蘋果糖葫蘆權杖",
+ "shieldSpecialFall2017RogueNotes": "用甜蜜蜜香死您的敵人吧! 增加 <%= str %> 點力量。 2017年限定版秋季裝備",
+ "shieldSpecialFall2017WarriorText": "玉米糖漿護盾",
+ "shieldSpecialFall2017WarriorNotes": "這面糖果護盾擁有非常強力的防禦力量,可別因為一時的嘴饞而去咬它喔! 增加 <%= con %> 點體質。 2017年秋季限定版裝備",
+ "shieldSpecialFall2017HealerText": "幽靈寶珠",
"shieldSpecialFall2017HealerNotes": "This orb occasionally screeches. We're sorry, we're not sure why. But it sure looks nifty! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
"shieldSpecialWinter2018RogueText": "Peppermint Hook",
"shieldSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
@@ -1332,6 +1364,12 @@
"shieldSpecialSummer2018WarriorNotes": "以石頭塑成,這面嚇人的骨頭風格盾牌當你和你的骸骨寵物與坐騎齊聚一堂時,最能給予魚類敵人恐懼。增加<%= con %>點體質。2018年夏季限量版裝備。",
"shieldSpecialSummer2018HealerText": "人魚帝王紋章",
"shieldSpecialSummer2018HealerNotes": "這面盾牌可以製造空氣球體,以供來到你水中王國的陸棲訪客使用。增加<%= con %>點體質。2018年夏季限量版裝備。",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1351,7 +1389,7 @@
"shieldArmoireMidnightShieldText": "午夜之盾",
"shieldArmoireMidnightShieldNotes": "在午夜鐘聲響起時,這面盾牌將會展現它最大的力量!增加<%= con %> 點體質和<%= str %>點力量。神祕寶箱:獨立物品。",
"shieldArmoireRoyalCaneText": "皇家手杖",
- "shieldArmoireRoyalCaneNotes": "皇上吉祥!為此高唱!增加體質、智力和感知各<%= attrs %>點。神秘寶箱:皇家系列(2/3)",
+ "shieldArmoireRoyalCaneNotes": "皇上吉祥!為此高唱!增加體質、智力、感知各<%= attrs %>點。神秘寶箱:皇家系列(2/3)",
"shieldArmoireDragonTamerShieldText": "Dragon Tamer Shield",
"shieldArmoireDragonTamerShieldNotes": "Distract enemies with this dragon-shaped shield. Increases Perception by <%= per %>. Enchanted Armoire: Dragon Tamer Set (Item 2 of 3).",
"shieldArmoireMysticLampText": "神秘之燈",
@@ -1394,10 +1432,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "後背附件",
"backCapitalized": "Back Accessory",
"backBase0Text": "沒有後背附件",
"backBase0Notes": "沒有後背附件。",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "金翅膀",
"backMystery201402Notes": "這雙耀眼翅膀上的羽毛在陽光下閃閃發光!沒有屬性加成。2014年2月訂閱者物品。",
"backMystery201404Text": "暮光蝴蝶翅膀",
@@ -1435,13 +1476,29 @@
"backSpecialWonderconBlackText": "潛行斗篷",
"backSpecialWonderconBlackNotes": "由暗影與低語織成。沒有屬性加成。特別版參與者物品。",
"backSpecialTakeThisText": "收下這雙翅膀",
- "backSpecialTakeThisNotes": "這雙翅膀只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
+ "backSpecialTakeThisNotes": "這雙翅膀只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"backSpecialSnowdriftVeilText": "Snowdrift Veil",
"backSpecialSnowdriftVeilNotes": "This translucent veil makes it appear you are surrounded by an elegant flurry of snow! Confers no benefit.",
"backSpecialAetherCloakText": "Aether Cloak",
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "身體配件",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "沒有身體配件",
@@ -1453,7 +1510,7 @@
"bodySpecialWonderconBlackText": "黑檀木領子",
"bodySpecialWonderconBlackNotes": "一個迷人的黑檀木領子!沒有屬性加成。特別版參與者物品。",
"bodySpecialTakeThisText": "收下這套護肩",
- "bodySpecialTakeThisNotes": "這套護肩只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
+ "bodySpecialTakeThisNotes": "這套護肩只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"bodySpecialAetherAmuletText": "Aether Amulet",
"bodySpecialAetherAmuletNotes": "This amulet has a mysterious history. Increases Constitution and Strength by <%= attrs %> each.",
"bodySpecialSummerMageText": "閃耀披肩",
@@ -1564,6 +1621,8 @@
"headAccessoryMystery301405Notes": "人們說,\"護目鏡是戴在眼睛上的\"。人們說,\"沒有人會想要一個只能戴在頭上的護目鏡\"。哈!你的確是讓他們長見識了!沒有屬性加成。3015年8月訂閱者物品。",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "眼部配件",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "沒有眼部配件",
diff --git a/website/common/locales/zh_TW/generic.json b/website/common/locales/zh_TW/generic.json
index 5e3a5824c9..9dcca55095 100644
--- a/website/common/locales/zh_TW/generic.json
+++ b/website/common/locales/zh_TW/generic.json
@@ -107,15 +107,15 @@
"achievementDilatory": "拖延的救世者",
"achievementDilatoryText": "2014年夏季世界事件中協助打敗了恐怖的拖延巨龍!",
"costumeContest": "變裝比賽",
- "costumeContestText": "Participated in the Habitoween Costume Contest. See some of the awesome entries at blog.habitrpg.com!",
- "costumeContestTextPlural": "Participated in <%= count %> Habitoween Costume Contests. See some of the awesome entries at blog.habitrpg.com!",
+ "costumeContestText": "參加萬聖節變裝大賽。在blog.habitrpg.com看看那些傑出的作品!",
+ "costumeContestTextPlural": "加入<%= count %>萬聖節變裝大賽。去blog.habitrpg.com看看那些傑出的作品!",
"memberSince": "- 加入於",
"lastLoggedIn": "- 最後上線於",
"notPorted": "這個功能未從原版網站中導出。",
"buyThis": "你有<%= gems %>個寶石,用其中的<%= price %>個購買<%= text %>?",
"noReachServer": "暫時連不上伺服器,請稍後再試",
"errorUpCase": "錯誤:",
- "newPassSent": "If we have your email on file, instructions for setting a new password have been sent to your email.",
+ "newPassSent": "如果你的電子郵件住址有在我們的檔案中,設定新密碼的指示將會寄到你的電子郵件信箱。",
"serverUnreach": "暫時連不上伺服器。",
"requestError": "出錯了! 請重新加載頁面, 你的最後行動可能沒有被儲存。",
"seeConsole": "如果錯誤仍然存在,請在 幫助 > 回報問題 告訴我們。如果你熟悉瀏覽器的控制介面,請連同任何錯誤訊息一起回報給我們。",
diff --git a/website/common/locales/zh_TW/groups.json b/website/common/locales/zh_TW/groups.json
index aa06452f1d..57e5b5c095 100644
--- a/website/common/locales/zh_TW/groups.json
+++ b/website/common/locales/zh_TW/groups.json
@@ -6,9 +6,10 @@
"innText": "你正在酒館休息!當你入住後,你的每日任務將不會傷害你,但它們仍然會每日刷新。注意:如果你正在參與一個魔王任務,當你的隊友沒有完成他的每日任務時,魔王的攻擊仍然會傷害到你,除非那位隊友也正在酒館裡休息。另外,當你在酒館內時,你對魔王的攻擊(或是物品收集)將不會生效,直到你離開酒館。",
"innTextBroken": "你正在酒館裡休息,我猜啦......當你入住後,你的每日任務將不會在一日結束時對你造成傷害,但他們仍然會每天刷新。如果你正在進行一個魔王任務,而你的˙隊友沒有完成他的每日任務,魔王仍然會對你造成傷害,除非你的隊友同時也在酒館裡休息。另外,你對魔王的傷害(或是你收集的物品)將不會被計入直到你離開酒館。好累啊......",
"innCheckOutBanner": "你已經入住酒館了。你的每日任務將不會傷害你,而你的任務進度也會暫停。",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "回復傷害",
"helpfulLinks": "有幫助的連結",
- "communityGuidelinesLink": "社群規範",
+ "communityGuidelinesLink": "社群守則",
"lookingForGroup": "尋找團體(需要隊伍)的貼文",
"dataDisplayTool": "數據顯示工具",
"reportProblem": "回報Bug",
@@ -153,9 +154,9 @@
"cannotSendGemsToYourself": "無法寄寶石給你自己。請嘗試訂閱我們。",
"badAmountOfGemsToSend": "數量應該在1和你現有的水晶數量之間。",
"report": "檢舉",
- "abuseFlag": "舉報社群規範違規事件",
+ "abuseFlag": "舉報社群守則違規事件",
"abuseFlagModalHeading": "違規檢舉",
- "abuseFlagModalBody": "你確定你要檢舉這則貼文?你只應該檢舉違反<%= firstLinkStart %>社群規範<%= linkEnd %>和/或<%= secondLinkStart %>服務條款<%= linkEnd %>的貼文。不正確的檢舉不但違反社群規範也可能讓你被懲罰。",
+ "abuseFlagModalBody": "你確定你要檢舉這則貼文?你只應該檢舉違反<%= firstLinkStart %>社群守則<%= linkEnd %>和/或<%= secondLinkStart %>服務條款<%= linkEnd %>的貼文。不正確的檢舉不但違反社群規範也可能讓你被懲罰。",
"abuseFlagModalButton": "舉報違規行為",
"abuseReported": "感謝您舉報這起違規事件。管理員將會被告知。",
"abuseAlreadyReported": "您已經舉報過此留言訊息。",
@@ -196,7 +197,7 @@
"sendGiftPurchase": "購買",
"sendGiftMessagePlaceholder": "私信 (可選)",
"sendGiftSubscription": "<%= months %> 個月的價格: $<%= price %> USD",
- "gemGiftsAreOptional": "請注意Habitica不需要你給任何玩家水晶。乞討水晶的玩家已經違反社群規範,並且這些案例應該要回報至<%= hrefTechAssistanceEmail %>。",
+ "gemGiftsAreOptional": "請注意Habitica不需要你給任何玩家水晶。乞討水晶的玩家已經違反社群守則,並且這些案例應該要回報至<%= hrefTechAssistanceEmail %>。",
"battleWithFriends": "與朋友一起打怪",
"startPartyWithFriends": "和你的朋友們組成一隊!",
"startAParty": "開團",
@@ -211,7 +212,7 @@
"partyEmpty": "你是隊伍中唯一一個人,邀請你的朋友!",
"partyChatEmpty": "你的隊伍聊天室是空的!在上方文字欄輸入訊息以開啟談話。",
"guildChatEmpty": "你的工會對話是空的!在上方空白處輸入一個訊息即可開始對話。",
- "requestAcceptGuidelines": "如果你想張貼訊息在酒館或任何隊伍及公會聊天室,請先閱讀我們的<%= linkStart %>社群規範<%= linkEnd %>並且點選下方的按鈕確認你接受它。",
+ "requestAcceptGuidelines": "如果你想張貼訊息在酒館或任何隊伍及公會聊天室,請先閱讀我們的<%= linkStart %>社群守則<%= linkEnd %>並且點選下方的按鈕確認你接受它。",
"partyUpName": "隊伍參與",
"partyOnName": "龐大隊伍參與",
"partyUpText": "和別人一起加入隊伍吧!在與怪物對戰以及協助他人的途中享受樂趣。",
@@ -238,44 +239,44 @@
"userAlreadyInAParty": "UUID:<%= userId %>,使用者「<%= username %>」已經在隊伍中。",
"userWithIDNotFound": "找不到玩家ID \"<%= userId %>\"",
"userHasNoLocalRegistration": "User does not have a local registration (username, email, password).",
- "uuidsMustBeAnArray": "User ID invites must be an array.",
- "emailsMustBeAnArray": "Email address invites must be an array.",
- "canOnlyInviteMaxInvites": "You can only invite \"<%= maxInvites %>\" at a time",
- "partyExceedsMembersLimit": "Party size is limited to <%= maxMembersParty %> members",
- "onlyCreatorOrAdminCanDeleteChat": "Not authorized to delete this message!",
- "onlyGroupLeaderCanEditTasks": "Not authorized to manage tasks!",
- "onlyGroupTasksCanBeAssigned": "Only group tasks can be assigned",
- "assignedTo": "Assigned To",
- "assignedToUser": "Assigned to <%= userName %>",
- "assignedToMembers": "Assigned to <%= userCount %> members",
- "assignedToYouAndMembers": "Assigned to you and <%= userCount %> members",
- "youAreAssigned": "You are assigned to this task",
- "taskIsUnassigned": "This task is unassigned",
- "confirmClaim": "Are you sure you want to claim this task?",
- "confirmUnClaim": "Are you sure you want to unclaim this task?",
- "confirmApproval": "Are you sure you want to approve this task?",
- "confirmNeedsWork": "Are you sure you want to mark this task as needing work?",
- "userRequestsApproval": "<%= userName %> requests approval",
- "userCountRequestsApproval": "<%= userCount %> members request approval",
- "youAreRequestingApproval": "You are requesting approval",
- "chatPrivilegesRevoked": "You cannot do that because your chat privileges have been revoked.",
- "cannotCreatePublicGuildWhenMuted": "You cannot create a public guild because your chat privileges have been revoked.",
- "cannotInviteWhenMuted": "You cannot invite anyone to a guild or party because your chat privileges have been revoked.",
+ "uuidsMustBeAnArray": "邀請UUID必須是個序列。",
+ "emailsMustBeAnArray": "電子郵件位址邀請必須是個序列。",
+ "canOnlyInviteMaxInvites": "你只能同時邀請\"<%= maxInvites %>\"個人",
+ "partyExceedsMembersLimit": "隊伍最多有<%= maxMembersParty %>個隊員",
+ "onlyCreatorOrAdminCanDeleteChat": "未被授權刪除此訊息!",
+ "onlyGroupLeaderCanEditTasks": "未被授權管理任務!",
+ "onlyGroupTasksCanBeAssigned": "只有群組任務可以分配",
+ "assignedTo": "分配給",
+ "assignedToUser": "分配給<%= userName %>",
+ "assignedToMembers": "分配給<%= userCount %>位成員",
+ "assignedToYouAndMembers": "分配給你以及<%= userCount %>位成員",
+ "youAreAssigned": "你被分配到這個任務",
+ "taskIsUnassigned": "這個任務被取消分配",
+ "confirmClaim": "你確定你要請求這個任務?",
+ "confirmUnClaim": "你確定你要取消請求這個任務?",
+ "confirmApproval": "你確定你要同意這個任務?",
+ "confirmNeedsWork": "你確定你要標註這個任務為需要進行?",
+ "userRequestsApproval": "<%= userName %>個請求批准",
+ "userCountRequestsApproval": "<%= userCount %>位成員的請求批准",
+ "youAreRequestingApproval": "你在請求批准",
+ "chatPrivilegesRevoked": "你無法這樣做因為你的聊天權限已被撤銷。",
+ "cannotCreatePublicGuildWhenMuted": "你無法成立一個公開公會因為你的聊天權限已被撤銷。",
+ "cannotInviteWhenMuted": "你無法邀請任何人到一個公會或隊伍,因為你的聊天權限已被撤銷。",
"newChatMessagePlainNotification": "由 <%= authorName %>發出的新訊息在 <%= groupName %> 。點擊這裡打開聊天頁面!",
"newChatMessageTitle": "新訊息在 <%= groupName %>",
"exportInbox": "匯出訊息",
- "exportInboxPopoverTitle": "Export your messages as HTML",
- "exportInboxPopoverBody": "HTML allows easy reading of messages in a browser. For a machine-readable format, use Data > Export Data",
+ "exportInboxPopoverTitle": "以HTML格式輸出你的訊息",
+ "exportInboxPopoverBody": "HTML使在瀏覽器上的訊息容易閱讀。如果需要機器語言,使用Data>Export Data。",
"to": "收件人:",
"from": "寄件人:",
- "desktopNotificationsText": "We need your permission to enable desktop notifications for new messages in party chat! Follow your browser's instructions to turn them on.
You'll receive these notifications only while you have Habitica open. If you decide you don't like them, they can be disabled in your browser's settings.
This box will close automatically when a decision is made.",
- "confirmAddTag": "Do you want to assign this task to \"<%= tag %>\"?",
- "confirmRemoveTag": "Do you really want to remove \"<%= tag %>\"?",
+ "desktopNotificationsText": "我們需要你的同意來開啟桌面通知,以接收來自隊伍聊天室的新訊息!遵照你瀏覽器的指示來開啟。
你將只在開啟Habitica時收到這些通知。如果你發現你不喜歡他們,你可以在瀏覽器設定中關閉他們。
這個視窗將在決定完成後自動關閉。",
+ "confirmAddTag": "你要分配這項任務到\"<%= tag %>\"嗎?",
+ "confirmRemoveTag": "你真的要移除\"<%= tag %>\"嗎?",
"groupHomeTitle": "首頁",
- "assignTask": "Assign Task",
- "claim": "Claim",
- "removeClaim": "Remove Claim",
- "onlyGroupLeaderCanManageSubscription": "Only the group leader can manage the group's subscription",
+ "assignTask": "分配任務",
+ "claim": "請求",
+ "removeClaim": "移除請求",
+ "onlyGroupLeaderCanManageSubscription": "只有群組負責人可以管理群組的訂閱內容",
"yourTaskHasBeenApproved": "Your task <%= taskText %> has been approved.",
"taskNeedsWork": "<%= managerName %> marked <%= taskText %> as needing additional work.",
"userHasRequestedTaskApproval": "<%= user %> requests approval for <%= taskName %>",
diff --git a/website/common/locales/zh_TW/limited.json b/website/common/locales/zh_TW/limited.json
index fc6b4907ef..a4a2a19dba 100644
--- a/website/common/locales/zh_TW/limited.json
+++ b/website/common/locales/zh_TW/limited.json
@@ -3,47 +3,47 @@
"seasonalEdition": "季節限量版",
"winterColors": "冬天顏色",
"annoyingFriends": "吵鬧的朋友",
- "annoyingFriendsText": "Got snowballed <%= count %> times by party members.",
+ "annoyingFriendsText": "隊友砸了你雪球<%= count %>次。",
"alarmingFriends": "愛嚇人的好友",
- "alarmingFriendsText": "Got spooked <%= count %> times by party members.",
+ "alarmingFriendsText": "被隊友嚇唬了<%= count %>次。",
"agriculturalFriends": "園藝之友",
- "agriculturalFriendsText": "Got transformed into a flower <%= count %> times by party members.",
+ "agriculturalFriendsText": "被隊友變成了鮮花<%= count %>次。",
"aquaticFriends": "水族夥伴",
- "aquaticFriendsText": "Got splashed <%= count %> times by party members.",
+ "aquaticFriendsText": "被隊友潑了<%= count %>次水。",
"valentineCard": "情人節卡片",
"valentineCardExplanation": "因為你們兩個可以忍受這種噁心的互誇文,你們都可以獲得\"崇拜的友情\"徽章!",
"valentineCardNotes": "寄送情人節卡片給隊伍成員。",
"valentine0": "\"玫瑰是鮮紅的\n每日任務是碧藍的\n我很興高采烈的\n能與你在同個隊伍中!\"",
"valentine1": "\"玫瑰是鮮紅的\n紫羅蘭是美好的\n讓我們一起\n與邪惡抗爭!\"",
- "valentine2": "\"玫瑰是鮮紅的\n而這首詩是舊的\n我希望您能喜歡\n因為它價值千金。\"",
+ "valentine2": "\"鮮紅的玫瑰\n古風的詩句\n願你悅納這張卡片\n因它值十金。\"",
"valentine3": "\"玫瑰是鮮紅的\n冰龍是深藍的\n沒有什麼寶藏能比得上\n與你共度的時光!\"",
"valentineCardAchievementTitle": "崇拜的友情",
"valentineCardAchievementText": "哇,你和你的朋友很重視彼此呢!送出了<%= count %> 張情人節卡片。",
"polarBear": "北極熊",
"turkey": "火雞",
- "gildedTurkey": "Gilded Turkey",
+ "gildedTurkey": "金黃火雞",
"polarBearPup": "小北極熊",
"jackolantern": "南瓜燈",
- "ghostJackolantern": "Ghost Jack-O-Lantern",
+ "ghostJackolantern": "南瓜燈之魂",
"seasonalShop": "季節限定商店",
- "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>",
+ "seasonalShopClosedTitle": "<%= linkStart %>萊絲莉<%= linkEnd %>",
"seasonalShopTitle": "<%= linkStart %> 季節魔女 <%= linkEnd %>",
- "seasonalShopClosedText": "The Seasonal Shop is currently closed!! It’s only open during Habitica’s four Grand Galas.",
- "seasonalShopSummerText": "Happy Summer Splash!! Would you like to buy some rare items? They’ll only be available until July 31st!",
- "seasonalShopFallText": "Happy Fall Festival!! Would you like to buy some rare items? They’ll only be available until October 31st!",
- "seasonalShopWinterText": "Happy Winter Wonderland!! Would you like to buy some rare items? They’ll only be available until January 31st!",
- "seasonalShopSpringText": "Happy Spring Fling!! Would you like to buy some rare items? They’ll only be available until April 30th!",
+ "seasonalShopClosedText": "季節商店現在關閉中!!只有Habitica的四個盛大宴會中它才會開啟。",
+ "seasonalShopSummerText": "夏日祭典愉快!!你想要買些稀有的物品嗎?他們只在7/31以前能夠購買!",
+ "seasonalShopFallText": "秋日節慶快樂!!!你想要買些稀有的物品嗎?他們只在10/31前開放購買!",
+ "seasonalShopWinterText": "歡迎來到夢幻之地!!你想要買些稀有的物品嗎?他們只在11/31前開放購買!",
+ "seasonalShopSpringText": "春之祭典快樂!!想要買一些稀有的物品嗎?他們只供購買到四月30日!",
"seasonalShopFallTextBroken": "哦....歡迎來到季節商店...我們目前有秋季季節限定的商品,之類的...這裡的所有東西會在每年的秋季節慶活動中開放購買,但我們只開放到 10 月 31 日...我想你現在就該買起來,不然你就要一直等...一直等...一直等...*嘆氣*",
- "seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!",
- "seasonalShopRebirth": "If you bought any of this equipment in the past but don't currently own it, you can repurchase it in the Rewards Column. Initially, you'll only be able to purchase the items for your current class (Warrior by default), but fear not, the other class-specific items will become available if you switch to that class.",
+ "seasonalShopBrokenText": "我的看臺!!!!!!!!!我的裝飾!!!!!!!!!!!噢!碎心蟻后破壞了所有東西 :( 請幫忙在酒館擊敗她,讓我可以重建!",
+ "seasonalShopRebirth": "如果你之前買了這些裝備裡的任何東西,但是現在沒有他,你可以在獎勵欄位重新購買他。現在,你只能買你現在職業的用品(除了戰士之外),但別怕,其他職業限定的物品將可購買,如果你轉換到那個職業。",
"candycaneSet": "拐杖糖 ( 法師 )",
"skiSet": "滑雪杖 ( 盜賊 )",
"snowflakeSet": "雪花 ( 醫者 )",
"yetiSet": "雪怪馴獸師 ( 戰士 )",
- "northMageSet": "Mage of the North (Mage)",
- "icicleDrakeSet": "Icicle Drake (Rogue)",
- "soothingSkaterSet": "Soothing Skater (Healer)",
- "gingerbreadSet": "Gingerbread Warrior (Warrior)",
+ "northMageSet": "北方魔法師(魔法師)",
+ "icicleDrakeSet": "冰錐巨龍(盜賊)",
+ "soothingSkaterSet": "撫慰溜冰者(醫者)",
+ "gingerbreadSet": "薑餅戰士(戰士)",
"snowDaySet": "酷寒戰士(戰士)",
"snowboardingSet": "Snowboarding Sorcerer (Mage)",
"festiveFairySet": "Festive Fairy (Healer)",
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "獅子魚法師(法師)",
"summer2018MerfolkMonarchSet": "人魚帝王(醫者)",
"summer2018FisherRogueSet": "漁夫盜賊(盜賊)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "可供購買直到<%= date(locale) %>。",
"dateEndMarch": "四月30",
"dateEndApril": "四月19",
diff --git a/website/common/locales/zh_TW/maintenance.json b/website/common/locales/zh_TW/maintenance.json
index a616e9a537..94ee53ffee 100644
--- a/website/common/locales/zh_TW/maintenance.json
+++ b/website/common/locales/zh_TW/maintenance.json
@@ -1,6 +1,6 @@
{
"habiticaBackSoon": "別擔心。Habitica一會兒就回來!",
- "importantMaintenance": "我們在大約晚間10點鐘(太平洋時間)(UTC的早上5點)前會進行一些重要的維修。",
+ "importantMaintenance": "我們在大約晚間10點鐘(太平洋時間的早上5點)前會進行一些重要的維修。",
"maintenance": "維修",
"maintenanceMoreInfo": "你想要更多關於維修的資訊? <%= linkStart %>去瀏覽我們的資訊頁吧!<%= linkEnd %>.",
"noDamageKeepStreaks": "你不會受到傷害或失去連擊!",
@@ -10,10 +10,10 @@
"maintenanceInfoTitle": "在Habitica中最近的維修",
"maintenanceInfoWhat": "發生了甚麼事?",
- "maintenanceInfoWhatText": "On May 21, Habitica will be down for maintenance for most of the day. You will not take any damage or have your account harmed during that weekend, even if you can’t log in to check off your Dailies in time! We will be working very hard to make the downtime as short as possible, and will be posting regular updates on our Twitter account. At the end of the downtime, to thank everyone for their patience, you will all receive a rare pet!",
+ "maintenanceInfoWhatText": "5月21日Habiitca將維護最多一天的時間。那個周末你將不會受到傷害或是使帳戶受損,即使你無法及時登入以勾選你的每日任務!我們會非常努力地使維修時間降到最短,並且更新維修進度在我們的推特上。在維修結束後,為了感謝大家的耐心,你們將會每個人收到一隻罕見的寵物!",
"maintenanceInfoWhy": "為甚麼他會發生?",
- "maintenanceInfoWhyText": "For the past several months, we have been thoroughly revamping Habitica behind-the-scenes. Specifically, we have rewritten the API. While it may not look much different on the surface, it’s a whole new world underneath. This will allow us WAY more flexibility when we want to build features in the future, and lead to improved performance!",
- "maintenanceInfoTechDetails": "Want more details on the technical side of the process? Visit The Forge, our dev blog.",
+ "maintenanceInfoWhyText": "在過去的幾個月哩,我們在後台徹底改進了Habitica。特別的是我們重新寫了API。雖然在前台可能看起來沒有什麼改變,在後台它已經是一個全新的世界。這將使我們在未來想要寫一個新功能的時候有更大的彈性,並且帶來更好的表現!",
+ "maintenanceInfoTechDetails": "想要知道更多有關這個技術過程嗎?造訪The Forge,我們的開發部落格。",
"maintenanceInfoMore": "更多資訊",
"maintenanceInfoAccountChanges": "What changes will I see to my account after the rewrite is complete?",
"maintenanceInfoAccountChangesText": "At first, there won’t be any notable changes aside from performance improvements for features such as Challenges. If you notice any changes that shouldn’t be there, email us at <%= hrefTechAssistanceEmail %> and we will investigate them for you!",
diff --git a/website/common/locales/zh_TW/messages.json b/website/common/locales/zh_TW/messages.json
index c48668fbea..69937b439c 100644
--- a/website/common/locales/zh_TW/messages.json
+++ b/website/common/locales/zh_TW/messages.json
@@ -29,11 +29,11 @@
"messageFoundQuest": "你找到了新任務《<%= questText %>》!",
"messageAlreadyPurchasedGear": " 你曾經買過這個裝備,但是現在沒有了。你可在獎勵欄裡重買一次。",
"messageAlreadyOwnGear": "你已經有這個了物品。到裝備頁裡裝備它吧。",
- "previousGearNotOwned": "You need to purchase a lower level gear before this one.",
+ "previousGearNotOwned": "在購買這件裝備前你需要先購買較低等級的裝備。",
"messageHealthAlreadyMax": "你的生命力已經是最大值。",
"messageHealthAlreadyMin": "喔不!您沒有生命值了,購買治療藥水已經來不及了。但別擔心,您還可以復活!",
"armoireEquipment": "<%= image %> 你在神祕寶箱裡找到稀有的裝備 <%= dropText %>!好棒!",
- "armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropText %>. What's that doing in here?",
+ "armoireFood": "<%= image %>你在神秘寶箱裡找到了<%= dropText %>。這是什麼?",
"armoireExp": "你打開神祕寶箱⋯⋯只得到經驗值。",
"messageInsufficientGems": "寶石不足 !",
"messageAuthPasswordMustMatch": ":password 和 :confirm密碼不配合。",
@@ -52,7 +52,7 @@
"messageGroupChatFlagAlreadyReported": "你已經舉報了這個留言。",
"messageGroupChatNotFound": "找不到留言 !",
"messageGroupChatAdminClearFlagCount": "只有管理員才可以把標記計數清除!",
- "messageCannotFlagSystemMessages": "You cannot flag a system message. If you need to report a violation of the Community Guidelines related to this message, please email a screenshot and explanation to Lemoness at <%= communityManagerEmail %>.",
+ "messageCannotFlagSystemMessages": "你無法標記系統訊息。如果你要檢舉違反社群守則的訊息,請以電子郵件傳送截圖以及說明到<%= communityManagerEmail %>給Lemoness。",
"messageGroupChatSpam": "唉呀,看來您發布了太多訊息!請稍等一分鐘並重新嘗試。酒館聊天一次只能容納 200 個訊息,因此 Habitica 鼓勵發布較長而經過考慮的訊息以及有效的回覆。期待看到您想表達的想法。:)",
"messageCannotLeaveWhileQuesting": "You cannot accept this party invitation while you are in a quest. If you'd like to join this party, you must first abort your quest, which you can do from your party screen. You will be given back the quest scroll.",
"messageUserOperationProtected": "路徑`<%= operation %>`沒有保留,因為它是一個受保護的路徑。",
@@ -61,6 +61,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "通知用ID是必須的。",
"unallocatedStatsPoints": "你有<%= points %>點未分配屬性點",
- "beginningOfConversation": "您與 <%= userName %> 的對話即將開始。記得要和善、尊重,並遵守社群準則!",
+ "beginningOfConversation": "您與 <%= userName %> 的對話即將開始。記得要和善、尊重,並遵守社群守則!",
"messageDeletedUser": "Sorry, this user has deleted their account."
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/npc.json b/website/common/locales/zh_TW/npc.json
index ffd55136bc..eda8ca141c 100644
--- a/website/common/locales/zh_TW/npc.json
+++ b/website/common/locales/zh_TW/npc.json
@@ -24,8 +24,8 @@
"pauseDailies": "暫停傷害",
"unpauseDailies": "停止暫停傷害",
"staffAndModerators": "員工和管理員",
- "communityGuidelinesIntro": "Habitica試著創造對所有年齡和背景的使用者而言都感到歡迎的環境,特別是在像酒館之類的公共空間。如果你有任何問題,請查閱我們的社群規範。",
- "acceptCommunityGuidelines": "我願意遵守社群規範",
+ "communityGuidelinesIntro": "Habitica試著創造對所有年齡和背景的使用者而言都感到歡迎的環境,特別是在像酒館之類的公共空間。如果你有任何問題,請查閱我們的社群守則。",
+ "acceptCommunityGuidelines": "我願意遵守社群守則",
"daniel": "Daniel",
"danielText": "歡迎來到酒館!在這裡坐一下來認識其他人吧。如果你需要休息(休假?生病?),我會讓你入住旅館。一旦入住,你的每日任務會原地凍結,直到退房的隔天。你將不用為錯過每日任務受傷,但是你仍然能點選完成那些任務。",
"danielText2": "警告:如果你正在參與一個boss戰任務,你仍然會因為隊友未完成的每日任務,受到boss的傷害。而且你給boss的傷害(或是收到東西)將會在妳離開旅館時才生效。",
diff --git a/website/common/locales/zh_TW/pets.json b/website/common/locales/zh_TW/pets.json
index 6ce3063950..c5a11add9f 100644
--- a/website/common/locales/zh_TW/pets.json
+++ b/website/common/locales/zh_TW/pets.json
@@ -18,7 +18,7 @@
"veteranWolf": "退伍軍狼",
"veteranTiger": "資深的老虎",
"veteranLion": "資深的獅子",
- "veteranBear": "Veteran Bear",
+ "veteranBear": "退伍熊",
"cerberusPup": "三頭地獄幼犬",
"hydra": "三頭蛇",
"mantisShrimp": "瀨尿蝦",
@@ -27,10 +27,10 @@
"royalPurpleGryphon": "紫禦獅鷲",
"phoenix": "鳳凰",
"magicalBee": "奇幻蜜蜂",
- "hopefulHippogriffPet": "Hopeful Hippogriff",
- "hopefulHippogriffMount": "Hopeful Hippogriff",
+ "hopefulHippogriffPet": "希望鷹馬",
+ "hopefulHippogriffMount": "希望鷹馬",
"royalPurpleJackalope": "紫禦鹿角兔",
- "invisibleAether": "Invisible Aether",
+ "invisibleAether": "隱形乙太",
"rarePetPop1": "按按金色的爪印,看看怎麼為Habitica貢獻而獲得這隻稀有寵物!",
"rarePetPop2": "得到這個寵物的方法!",
"potion": "<%= potionType %> 藥水",
@@ -51,7 +51,7 @@
"noSaddlesAvailable": "你沒有任何鞍。",
"noFood": "你沒有任何食物或鞍。",
"dropsExplanation": "如果不想要再苦苦等待完成任務捲軸後掉落的獎賞的話,使用寶石將可以更快速的得到這些物品哦!點擊這裡瞭解更多掉落系統",
- "dropsExplanationEggs": "Spend Gems to get eggs more quickly, if you don't want to wait for standard eggs to drop, or to repeat Quests to earn Quest eggs. Learn more about the drop system.",
+ "dropsExplanationEggs": "用寶石來更快獲得蛋,如果你不想等待標準蛋掉落或是重新完成任務以獲得任務蛋。了解更多關於掉落物系統。",
"premiumPotionNoDropExplanation": "魔法孵化藥水不能使用在從任務中獲得的蛋上。唯一可以得到魔法孵化藥水的辦法就是在下面購買,而不是從掉落系統中獲得。",
"beastMasterProgress": "寵物大師進度",
"stableBeastMasterProgress": "寵物大師進度:目前找到<%= number %>隻寵物",
@@ -91,18 +91,18 @@
"rideLater": "稍後騎",
"petName": "<%= potion(locale) %> <%= egg(locale) %>",
"mountName": "<%= potion(locale) %> <%= mount(locale) %>",
- "keyToPets": "Key to the Pet Kennels",
- "keyToPetsDesc": "Release all standard Pets so you can collect them again. (Quest Pets and rare Pets are not affected.)",
- "keyToMounts": "Key to the Mount Kennels",
- "keyToMountsDesc": "Release all standard Mounts so you can collect them again. (Quest Mounts and rare Mounts are not affected.)",
- "keyToBoth": "Master Keys to the Kennels",
- "keyToBothDesc": "Release all standard Pets and Mounts so you can collect them again. (Quest Pets/Mounts and rare Pets/Mounts are not affected.)",
- "releasePetsConfirm": "Are you sure you want to release your standard Pets?",
- "releasePetsSuccess": "Your standard Pets have been released!",
- "releaseMountsConfirm": "Are you sure you want to release your standard Mounts?",
- "releaseMountsSuccess": "Your standard Mounts have been released!",
- "releaseBothConfirm": "Are you sure you want to release your standard Pets and Mounts?",
- "releaseBothSuccess": "Your standard Pets and Mounts have been released!",
+ "keyToPets": "寵物之家的鑰匙",
+ "keyToPetsDesc": "釋放所有標準寵物來重新收集牠們。(任務寵物以及稀有寵物將不會被影響。)",
+ "keyToMounts": "坐騎之家的鑰匙",
+ "keyToMountsDesc": "釋放所有的標準坐騎來重新收集牠們。(任務坐騎及稀有坐騎將不會被影響。)",
+ "keyToBoth": "馬廄的大師級鑰匙",
+ "keyToBothDesc": "釋放所有的標準寵物及坐騎來重新收集牠們。(任務寵物/坐騎及稀有寵物/坐騎將不會被影響。)",
+ "releasePetsConfirm": "你確定你要釋放你的標準寵物?",
+ "releasePetsSuccess": "你的標準寵物已經被釋放!",
+ "releaseMountsConfirm": "你確定你要釋放標準坐騎?",
+ "releaseMountsSuccess": "你的標準坐騎已經被釋放!",
+ "releaseBothConfirm": "你確定你要釋放你的標準寵物及坐騎?",
+ "releaseBothSuccess": "你的標準寵物及坐騎已經被釋放!",
"petKeyName": "寵物之家的鑰匙",
"petKeyPop": "讓你的寵物盡情嘶吼,展開自己的旅程,然後再次成為寵物大師吧!",
"petKeyBegin": "寵物之家的鑰匙:再次體驗 <%= title %>吧!",
@@ -121,13 +121,13 @@
"gemsEach": "寶石/次",
"foodWikiText": "我的寵物喜歡吃甚麼?",
"foodWikiUrl": "http://habitica.wikia.com/wiki/Food_Preferences",
- "welcomeStable": "Welcome to the Stable!",
- "welcomeStableText": "I'm Matt, the Beast Master. Starting at level 3, you can hatch Pets from Eggs by using Potions you find! When you hatch a Pet from your Inventory, it will appear here! Click a Pet's image to add it to your avatar. Feed them here with the Food you find after level 3, and they'll grow into hardy Mounts.",
+ "welcomeStable": "歡迎來到馬廄!",
+ "welcomeStableText": "我是寵物大師Matt,等級3開始,你可以使用你找到的孵化藥水來由蛋孵化寵物!當你孵化一隻你背包中的寵物,牠會在這裡出現!點擊一隻寵物的畫像來將牠放到你的角色旁。用你在等級3之後找到的食物餵食牠們,牠們將成長為可靠的坐騎。",
"petLikeToEat": "我的寵物喜歡吃甚麼?",
"petLikeToEatText": "無論你餵寵物吃什麼牠們都會長大,但如果你餵寵物最喜歡的食物給牠們,寵物會成長地比較快。試驗來挖掘關聯,或在這裡看答案:
http://habitica.wikia.com/wiki/Food_Preferences",
"filterByStandard": "標準",
"filterByMagicPotion": "魔法藥水",
- "filterByQuest": "Quest",
+ "filterByQuest": "任務",
"standard": "標準型",
"sortByColor": "顏色",
"sortByHatchable": "可孵化",
diff --git a/website/common/locales/zh_TW/questscontent.json b/website/common/locales/zh_TW/questscontent.json
index f18b4213f9..c94b4a2a5d 100644
--- a/website/common/locales/zh_TW/questscontent.json
+++ b/website/common/locales/zh_TW/questscontent.json
@@ -89,25 +89,25 @@
"questMoonstone2DropMoonstone3Quest": "月光石項鍊第 3 部: Recidivate 的轉化(卷軸)",
"questMoonstone3Text": "月光石項鍊,第3部:Recidivate的轉化",
"questMoonstone3Notes": "Recidivate癱倒在地邪惡地笑著,你再次用月光石項鍊攻擊她。令你害怕的是,Recidivate抓住月光石,眼裡燃燒著勝利的光芒。
「愚蠢的肉身生物啊!」她喊叫著。「這些月光石將會重塑我的實體,但和你想的不同,就像滿月光潔了黑暗,我的力量將不斷湧現,在暗影中我召喚你最害怕敵人的幽魂!」
一陣病態的綠霧自沼澤中上升,而Recidivate的身體翻騰扭曲成你的恐懼──那惡習的不死身軀,可怕地重生。",
- "questMoonstone3Completion": "Your breath comes hard and sweat stings your eyes as the undead Wyrm collapses. The remains of Recidivate dissipate into a thin grey mist that clears quickly under the onslaught of a refreshing breeze, and you hear the distant, rallying cries of Habiticans defeating their Bad Habits for once and for all.
@Baconsaur the beast master swoops down on a gryphon. \"I saw the end of your battle from the sky, and I was greatly moved. Please, take this enchanted tunic – your bravery speaks of a noble heart, and I believe you were meant to have it.\"",
+ "questMoonstone3Completion": "當不死的巨龍終於倒下,你的呼吸困難,汗水刺痛了你的眼睛。Recidivate的遺體化為一陣薄薄的灰霧隨清風吹拂而去,而你聽見遙遠處傳來Habit公民永遠地打敗壞習慣的振臂高呼。
寵物大師@Baconsaur乘著他的獅鷲俯衝下來。「我在天上看到了這場戰役的終結,我非常感動。請收下這件有魔力的長袍──你的勇敢訴說著你高尚的心靈,我相信你值得擁有它。」",
"questMoonstone3Boss": "死靈-惡習",
"questMoonstone3DropRottenMeat": "腐肉 ( 食物 )",
"questMoonstone3DropZombiePotion": "殭屍孵化藥水",
- "questGroupGoldenknight": "The Golden Knight",
- "questGoldenknight1Text": "黃金騎士之鍊,第1部:義正嚴詞",
+ "questGroupGoldenknight": "黃金騎士",
+ "questGoldenknight1Text": "黃金騎士之鍊,第1部:義正詞嚴",
"questGoldenknight1Notes": "黃金騎士得知了可憐的Habitica居民們的情況。你們沒有將每日任務全部完成?點擊了一個不好的習慣?她會以此為理由來不斷的騷擾你,教你怎樣追尋她的腳步。她是完美的Habitica居民光輝的榜樣,而你只不過是一個失敗者。好吧,這一點也不好!所有人都會犯錯。那些犯了錯的人也不應因此就受到這樣的否定。也許現在對你來說正是時候,從受到傷害的Habitica居民們那裡收集一些證據,然後和黃金騎士來一場嚴肅的談話。",
"questGoldenknight1CollectTestimony": "證明",
- "questGoldenknight1Completion": "Look at all these testimonies! Surely this will be enough to convince the Golden Knight. Now all you need to do is find her.",
+ "questGoldenknight1Completion": "看看這麼多的證據!這些一定足以說服黃金騎士了。現在你需要做的事就是去找到她。",
"questGoldenknight1DropGoldenknight2Quest": "黃金騎士之鍊,第2部:金幣騎士 (卷軸)",
"questGoldenknight2Text": "黃金騎士之鍊,第2部:金幣騎士",
"questGoldenknight2Notes": "從無數Habitica居民們那裡收集到證據後,你終於站在黃金騎士的面前。開始陳述Habitica公民們對她的不滿。“還有@Pfeffernusse說你總是不停的討價還價……”騎士舉手打斷你並嘲笑說:“拜托,這些人只是嫉妒我的成功。他們應該像我這樣努力而不是抱怨。或許我該向你展示我靠勤奮獲得的力量!”她舉起了她的流星錘,准備攻擊你!",
"questGoldenknight2Boss": "黃金騎士",
- "questGoldenknight2Completion": "The Golden Knight lowers her Morningstar in consternation. “I apologize for my rash outburst,” she says. “The truth is, it’s painful to think that I’ve been inadvertently hurting others, and it made me lash out in defense… but perhaps I can still apologize?”",
+ "questGoldenknight2Completion": "黃金騎士驚愕地放下她的流星錘。「我為我貿然的爆發道歉」她說「事實上,想到我在不經意間傷害了別人真的很痛苦,而這讓我自然的反擊......但也許我還能夠道歉?」",
"questGoldenknight2DropGoldenknight3Quest": "黃金騎士,第 3 部:鋼鐵騎士 (卷軸)",
"questGoldenknight3Text": "黃金騎士,第 3 部:鋼鐵騎士",
- "questGoldenknight3Notes": "@Jon Arinbjorn 大聲嘶叫期望得到你的注意。在戰鬥過後,有個神秘身影現身。一位全身被染黑的鐵騎士拿著利劍悄悄地靠近你。黃金騎士對著他喊著,「不要啊,父親!」但黑騎士並沒有因此停下來。她看向你,接著說,「真的很抱歉,我太傲慢了,無法看清自己曾經做過的事有多麼殘忍,但我的父親比起我有過之而無不及。如果他再不停手,連我們都會被他給毀了!你拿去吧,用我的流星錘制止鐵騎士吧!」",
+ "questGoldenknight3Notes": "@Jon Arinbjorn 大聲嘶叫期望得到你的注意。在戰鬥過後,有個神秘身影現身。一位全身被染黑的鋼鐵騎士拿著利劍悄悄地靠近你。黃金騎士對著他喊著,「不要啊,父親!」但黑騎士並沒有因此停下來。她看向你,接著說,「真的很抱歉,我太傲慢了,無法看清自己曾經做過的事有多麼殘忍,但我的父親比起我有過之而無不及。如果他再不停手,連我們都會被他給毀了!你拿去吧,用我的流星錘制止鋼鐵騎士吧!」",
"questGoldenknight3Completion": "鏗鏘一聲,鋼鐵騎士雙膝跪地倒下了。\"你太強了,\"他氣喘吁吁說, \"今天,我被輕而易舉地打敗了。\"黃金騎士向你走來,說道:\"謝謝你。我相信我們都從與你的相遇中學會了謙遜。我會和我的父親好好談談,並解釋那些針對我們的怨言。也許是時候向其他Habitica公民道歉了。\"她 考慮了一會兒,又向你轉過身來,\"拿上它吧,作為我們給你的禮物,我希望你能帶上我的流星錘。它現在是你的了。\"",
- "questGoldenknight3Boss": "鐵騎士",
+ "questGoldenknight3Boss": "鋼鐵騎士",
"questGoldenknight3DropHoney": "蜂蜜(食物)",
"questGoldenknight3DropGoldenPotion": "金色孵化藥水",
"questGoldenknight3DropWeapon": "馬斯泰因的碎石流星錘(副手武器)",
@@ -616,5 +616,7 @@
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.
@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”
“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.
@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”
You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
"questKangarooBoss": "Catastrophic Kangaroo",
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market",
+ "forestFriendsText": "Forest Friends Quest Bundle",
+ "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30."
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/rebirth.json b/website/common/locales/zh_TW/rebirth.json
index 61b33a45d2..33ef75f8c8 100644
--- a/website/common/locales/zh_TW/rebirth.json
+++ b/website/common/locales/zh_TW/rebirth.json
@@ -4,7 +4,7 @@
"rebirthBegin": "重生:開始新的冒險",
"rebirthStartOver": "「重生」讓你的角色重返等級 1 !",
"rebirthAdvList1": "生命值完全復原",
- "rebirthAdvList2": "你沒有經驗或金幣。",
+ "rebirthAdvList2": "您沒有經驗或金幣。",
"rebirthAdvList3": "你的習慣、每日任務和待辦事項會重置到黃色;挑戰以外的連擊會重置。",
"rebirthAdvList4": "你會從戰士職業開始,直到你解鎖了新的職業。",
"rebirthInherit": "你的新角色繼承了一些前輩的東西:",
diff --git a/website/common/locales/zh_TW/settings.json b/website/common/locales/zh_TW/settings.json
index fc0bc552d1..6c7d3a8546 100644
--- a/website/common/locales/zh_TW/settings.json
+++ b/website/common/locales/zh_TW/settings.json
@@ -2,7 +2,7 @@
"settings": "設定",
"language": "語言",
"americanEnglishGovern": "不同語言描述不同時,以美式英語為準。",
- "helpWithTranslation": "你想要協助翻譯 Habitica?太好了!請上這個 Trello 板。",
+ "helpWithTranslation": "想要協助翻譯 Habitica?太好了!歡迎到我們的 Trello 板。",
"showHeaderPop": "顯示你的角色、生命值 / 經驗值和隊伍。",
"stickyHeader": "頂部保持不動",
"stickyHeaderPop": "把頂部固定在屏幕上方。如果不選這個選項,當你滾動到頁面下面時,頂部會被滾離頁面。",
@@ -63,7 +63,7 @@
"newUsername": "新帳號",
"dangerZone": "危險區域",
"resetText1": "警告!此功能會重設你角色的多數資料。強烈不建議你這樣做,但是有些人短暫地玩這個網站後,希望能重新開始。",
- "resetText2": "You will lose all your levels, Gold, and Experience points. All your tasks (except those from challenges) will be deleted permanently and you will lose all of their historical data. You will lose all your equipment but you will be able to buy it all back, including all limited edition equipment or subscriber Mystery items that you already own (you will need to be in the correct class to re-buy class-specific gear). You will keep your current class and your pets and mounts. You might prefer to use an Orb of Rebirth instead, which is a much safer option and which will preserve your tasks and equipment.",
+ "resetText2": "你將失去所有的等級、金幣以及經驗值。所有你的任務(除了那些來自挑戰的之外)將會被永久刪除,而你將會失去關於這些所有的歷史數據。你將會失去所有的裝備,但你可以將他們全部買回來,包含所有你已經擁有的限定版裝備或訂閱者神秘物品(但你需要在正確的職業來重新購買職業限定裝備)。你將會留在你現在的職業,並且保留你的寵物及坐騎。你可能比較喜歡使用重生球來代替,它是一個比較安全的方法,可以保留你的任務及裝備。",
"deleteLocalAccountText": "確定嗎?這會永久地刪除你的帳號,並且再也無法恢復!如果希望再次使用 Habitica,需要註冊一個全新的帳號。舊帳號內儲存的和花掉的寶石也無法被退費。如果你非常確定要刪除帳號,在下面的文字欄中輸入。",
"deleteSocialAccountText": "你確定嗎?你的帳戶將被刪除,並且無法回復!如果你想再加入Habitica,你必須申請一個新的帳號,已經存入或花費的水晶將不會被復原。如果你非常確定,請在下方的文字欄中輸入「<%= magicWord %>」。",
"API": "API",
@@ -106,7 +106,7 @@
"email": "Email",
"registerWithSocial": "使用<%= network %>註冊",
"registeredWithSocial": "已使用<%= network %>註冊",
- "loginNameDescription": "This is what you use to log in to Habitica. To change it, use the form below. If instead you want to change the Display Name that appears on your avatar and in chat messages, go to the User Icon > Profile and click the Edit button.",
+ "loginNameDescription": "這是你登入Habitica的方式。如果需要變更,填寫下方的表單。如果你想要變更在聊天室中你角色上的顯示名稱,按下使用者標誌>個人檔案並點擊編輯按鈕。",
"emailNotifications": "電子郵件通知",
"wonChallenge": "你贏得一個挑戰!",
"newPM": "收到的私密訊息",
@@ -114,14 +114,14 @@
"sentGems": "發送寶石!",
"giftedGems": "禮物用寶石",
"giftedGemsInfo": "<%= name %> 贈送你 <%= amount %> 顆寶石。",
- "giftedGemsFull": "Hello <%= username %>, <%= sender %> has sent you <%= gemAmount %> gems!",
+ "giftedGemsFull": "哈囉<%= username %>,<%= sender %>送給你<%= gemAmount %>顆寶石!",
"giftedSubscription": "禮物用訂閱",
"giftedSubscriptionInfo": "<%= name %> 贈送你 <%= months %> 月的訂閱。",
- "giftedSubscriptionFull": "Hello <%= username %>, <%= sender %> has sent you <%= monthCount %> months of subscription!",
- "giftedSubscriptionWinterPromo": "Hello <%= username %>, you received <%= monthCount %> months of subscription as part of our holiday gift-giving promotion!",
+ "giftedSubscriptionFull": "哈囉<%= username %>,<%= sender %>送給了你<%= monthCount %>個月的訂閱者資格!",
+ "giftedSubscriptionWinterPromo": "哈囉<%= username %>,你收到了<%= monthCount %>個月的訂閱者資格作為我們的假期送禮升級的一部份!",
"invitedParty": "邀請至隊伍",
"invitedGuild": "受邀至公會",
- "importantAnnouncements": "Reminders to check in to complete tasks and receive prizes",
+ "importantAnnouncements": "提醒:登入以完成任務以及獲得獎勵",
"weeklyRecaps": "上個星期你的帳戶活動彙整 (注意:這個彙整可能會因為系統效能而關閉,但是我們會快點回復並且趕快寄給你!)",
"onboarding": "指引設定你的Habitica帳號",
"questStarted": "你的任務開始了",
@@ -134,7 +134,7 @@
"unsubscribedTextOthers": "你將不會從Habitica收到任何其他電子郵件。",
"unsubscribeAllEmails": "取消電子郵件訂閱",
"unsubscribeAllEmailsText": "勾選此欄,並且我明白地知道我將取消全部的電子郵件訂閱,Habitica再也沒辦法利用電子郵件提醒我,關於網站或帳戶的重大更改。",
- "unsubscribeAllPush": "Check to Unsubscribe from all Push Notifications",
+ "unsubscribeAllPush": "勾選以停止訂閱所有的推播通知",
"correctlyUnsubscribedEmailType": "從\"<%= emailType %>\"取消訂閱電子郵件。",
"subscriptionRateText": "每 <%= months %> 月定期 $<%= price %> 美金",
"recurringText": "定期",
@@ -158,14 +158,14 @@
"enabled": "啟用",
"webhookURL": "Webhook URL",
"invalidUrl": "無效的網址",
- "invalidEnabled": "the \"enabled\" parameter should be a boolean.",
- "invalidWebhookId": "the \"id\" parameter should be a valid UUID.",
- "missingWebhookId": "The webhook's id is required.",
- "invalidWebhookType": "\"<%= type %>\" is not a valid value for the parameter \"type\".",
- "webhookBooleanOption": "\"<%= option %>\" must be a Boolean value.",
- "webhookIdAlreadyTaken": "A webhook with the id <%= id %> already exists.",
- "noWebhookWithId": "There is no webhook with the id <%= id %>.",
- "regIdRequired": "RegId is required",
+ "invalidEnabled": "\"enabled\"參數應該為一個布林值。",
+ "invalidWebhookId": "\"id\"參數應該為一個有效的UUID。",
+ "missingWebhookId": "需要webhook ID。",
+ "invalidWebhookType": "\"<%= type %>\"對\"type\"參數不是一個有效的值。",
+ "webhookBooleanOption": "\"<%= option %>\"必須為一個布林值。",
+ "webhookIdAlreadyTaken": "webhook搭配這個ID<%= id %>已經存在。",
+ "noWebhookWithId": "沒有webhook搭配這個ID<%= id %>",
+ "regIdRequired": "需要RegId",
"invalidPushClient": "Invalid client. Only Official Habitica clients can receive push notifications.",
"pushDeviceAdded": "Push device added successfully",
"pushDeviceAlreadyAdded": "The user already has the push device",
diff --git a/website/common/locales/zh_TW/subscriber.json b/website/common/locales/zh_TW/subscriber.json
index 287bfa2609..5f59f9a991 100644
--- a/website/common/locales/zh_TW/subscriber.json
+++ b/website/common/locales/zh_TW/subscriber.json
@@ -4,9 +4,9 @@
"subDescription": "用金幣購買寶石、獲得每月的神秘物品、保留歷史進度、日常掉寶率上限加倍、支持開發者。點擊這裡來獲取更多資訊。",
"sendGems": "寄送寶石",
"buyGemsGold": "用金幣購買寶石",
- "buyGemsGoldText": "Alexander the Merchant will sell you Gems at a cost of 20 Gold per Gem. His monthly shipments are initially capped at 25 Gems per month, but for every 3 consecutive months that you are subscribed, this cap increases by 5 Gems, up to a maximum of 50 Gems per month!",
- "mustSubscribeToPurchaseGems": "Must subscribe to purchase gems with GP",
- "reachedGoldToGemCap": "You've reached the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.",
+ "buyGemsGoldText": "商人 Alexander會以每個寶石20金幣的價錢賣給你寶石。他在剛開始每月的可販售量是25個寶石,但每3個月連續訂閱,這個上限會增加5個寶石。最高額度是每個月50個寶石!",
+ "mustSubscribeToPurchaseGems": "必須訂閱以使用金幣獲得寶石",
+ "reachedGoldToGemCap": "你達到了一個月的金幣=>寶石兌換上限<%= convCap %>。我們用這個來避免濫用和刻意耕耘。這個上限會在一個月的前三天內重置。",
"reachedGoldToGemCapQuantity": "Your requested amount <%= quantity %> exceeds the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.",
"retainHistory": "保留額外的歷史記錄",
"retainHistoryText": "讓已完成的代辦事項以及任務的歷史記錄可以保留更久。",
@@ -147,6 +147,7 @@
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
"mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "蒸氣龐克標準套裝",
"mysterySet301405": "蒸氣龐克配件套裝",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js
index 384d858b6d..8827f74c67 100644
--- a/website/common/script/content/appearance/backgrounds.js
+++ b/website/common/script/content/appearance/backgrounds.js
@@ -717,6 +717,20 @@ let backgrounds = {
notes: t('backgroundBridgeNotes'),
},
},
+ backgrounds092018: {
+ apple_picking: {
+ text: t('backgroundApplePickingText'),
+ notes: t('backgroundApplePickingNotes'),
+ },
+ giant_book: {
+ text: t('backgroundGiantBookText'),
+ notes: t('backgroundGiantBookNotes'),
+ },
+ cozy_barn: {
+ text: t('backgroundCozyBarnText'),
+ notes: t('backgroundCozyBarnNotes'),
+ },
+ },
incentiveBackgrounds: {
violet: {
text: t('backgroundVioletText'),
diff --git a/website/common/script/content/constants.js b/website/common/script/content/constants.js
index 161c09f280..f90f7a5ef3 100644
--- a/website/common/script/content/constants.js
+++ b/website/common/script/content/constants.js
@@ -33,6 +33,7 @@ export const EVENTS = {
winter2018: { start: '2017-12-19', end: '2018-02-02' },
spring2018: { start: '2018-03-20', end: '2018-05-02' },
summer2018: { start: '2018-06-19', end: '2018-08-02' },
+ fall2018: { start: '2018-09-20', end: '2018-11-02' },
};
export const SEASONAL_SETS = {
@@ -129,6 +130,37 @@ export const SEASONAL_SETS = {
'summer2018MerfolkMonarchSet',
'summer2018FisherRogueSet',
],
+ fall: [
+ // fall 2014
+ 'vampireSmiterSet',
+ 'monsterOfScienceSet',
+ 'witchyWizardSet',
+ 'mummyMedicSet',
+
+ // fall 2015
+ 'battleRogueSet',
+ 'scarecrowWarriorSet',
+ 'stitchWitchSet',
+ 'potionerSet',
+
+ // fall 2016
+ 'fall2016BlackWidowSet',
+ 'fall2016SwampThingSet',
+ 'fall2016WickedSorcererSet',
+ 'fall2016GorgonHealerSet',
+
+ // fall 2017
+ 'fall2017TrickOrTreatSet',
+ 'fall2017HabitoweenSet',
+ 'fall2017MasqueradeSet',
+ 'fall2017HauntedHouseSet',
+
+ // fall 2018
+ 'fall2018MinotaurWarriorSet',
+ 'fall2018CandymancerMageSet',
+ 'fall2018CarnivorousPlantSet',
+ 'fall2018AlterEgoSet',
+ ],
};
export const GEAR_TYPES = [
diff --git a/website/common/script/content/faq.js b/website/common/script/content/faq.js
index 91870abea9..e66b293ce8 100644
--- a/website/common/script/content/faq.js
+++ b/website/common/script/content/faq.js
@@ -14,6 +14,7 @@ for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
let question = {
question: t(`faqQuestion${i}`),
ios: t(`iosFaqAnswer${i}`),
+ android: t(`androidFaqAnswer${i}`),
web: t(`webFaqAnswer${i}`, {
// TODO: Need to pull these values from nconf
techAssistanceEmail: 'admin@habitica.com',
diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js
index 9763dcd57a..1720dadbcd 100644
--- a/website/common/script/content/gear/sets/armoire.js
+++ b/website/common/script/content/gear/sets/armoire.js
@@ -383,6 +383,15 @@ let armor = {
set: 'jeweledArcher',
canOwn: ownsItem('armor_armoire_JeweledArcherArmor'),
},
+ coverallsOfBookbinding: {
+ text: t('armorArmoireCoverallsOfBookbindingText'),
+ notes: t('armorArmoireCoverallsOfBookbindingNotes', { con: 10, per: 5 }),
+ value: 100,
+ con: 10,
+ per: 5,
+ set: 'bookbinder',
+ canOwn: ownsItem('armor_armoire_coverallsOfBookbinding'),
+ },
};
let body = {
@@ -1032,6 +1041,14 @@ let shield = {
set: 'piraticalPrincess',
canOwn: ownsItem('shield_armoire_piraticalSkullShield'),
},
+ unfinishedTome: {
+ text: t('shieldArmoireUnfinishedTomeText'),
+ notes: t('shieldArmoireUnfinishedTomeNotes', { int: 10 }),
+ value: 100,
+ int: 10,
+ set: 'bookbinder',
+ canOwn: ownsItem('shield_armoire_unfinishedTome'),
+ },
};
let headAccessory = {
@@ -1042,6 +1059,14 @@ let headAccessory = {
str: 10,
canOwn: ownsItem('headAccessory_armoire_comicalArrow'),
},
+ gogglesOfBookbinding: {
+ text: t('headAccessoryArmoireGogglesOfBookbindingText'),
+ notes: t('headAccessoryArmoireGogglesOfBookbindingNotes', { per: 8 }),
+ value: 100,
+ per: 8,
+ set: 'bookbinder',
+ canOwn: ownsItem('headAccessory_armoire_gogglesOfBookbinding'),
+ },
};
let weapon = {
@@ -1356,7 +1381,15 @@ let weapon = {
value: 100,
int: 15,
set: 'jeweledArcher',
- canOwn: ownsItem('weapon_armoire_JeweledArcherBow'),
+ canOwn: ownsItem('weapon_armoire_jeweledArcherBow'),
+ },
+ needleOfBookbinding: {
+ text: t('weaponArmoireNeedleOfBookbindingText'),
+ notes: t('weaponArmoireNeedleOfBookbindingNotes', { str: 8 }),
+ value: 100,
+ str: 8,
+ set: 'bookbinder',
+ canOwn: ownsItem('weapon_armoire_needleOfBookbinding'),
},
};
diff --git a/website/common/script/content/gear/sets/mystery.js b/website/common/script/content/gear/sets/mystery.js
index bb35f495d7..679592bc0e 100644
--- a/website/common/script/content/gear/sets/mystery.js
+++ b/website/common/script/content/gear/sets/mystery.js
@@ -211,6 +211,12 @@ let armor = {
mystery: '201808',
value: 0,
},
+ 201809: {
+ text: t('armorMystery201809Text'),
+ notes: t('armorMystery201809Notes'),
+ mystery: '201809',
+ value: 0,
+ },
301404: {
text: t('armorMystery301404Text'),
notes: t('armorMystery301404Notes'),
@@ -619,6 +625,12 @@ let head = {
mystery: '201808',
value: 0,
},
+ 201809: {
+ text: t('headMystery201809Text'),
+ notes: t('headMystery201809Notes'),
+ mystery: '201809',
+ value: 0,
+ },
301404: {
text: t('headMystery301404Text'),
notes: t('headMystery301404Notes'),
diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js
index 427af1643f..d163bde3f5 100644
--- a/website/common/script/content/gear/sets/special/index.js
+++ b/website/common/script/content/gear/sets/special/index.js
@@ -8,7 +8,7 @@ import takeThisGear from './special-takeThis';
import wonderconGear from './special-wondercon';
import t from '../../../translation';
-const CURRENT_SEASON = '_NONE_';
+const CURRENT_SEASON = 'fall';
let armor = {
0: backerGear.armorSpecial0,
@@ -863,6 +863,9 @@ let armor = {
notes: t('armorSpecialFall2017RogueNotes', { per: 15 }),
value: 90,
per: 15,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -872,6 +875,9 @@ let armor = {
notes: t('armorSpecialFall2017WarriorNotes', { con: 9 }),
value: 90,
con: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Mage: {
event: EVENTS.fall2017,
@@ -881,6 +887,9 @@ let armor = {
notes: t('armorSpecialFall2017MageNotes', { int: 9 }),
value: 90,
int: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -890,6 +899,9 @@ let armor = {
notes: t('armorSpecialFall2017HealerNotes', { con: 15 }),
value: 90,
con: 15,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
winter2018Rogue: {
event: EVENTS.winter2018,
@@ -1005,6 +1017,42 @@ let armor = {
value: 90,
con: 15,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('armorSpecialFall2018RogueText'),
+ notes: t('armorSpecialFall2018RogueNotes', { per: 15 }),
+ value: 90,
+ per: 15,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('armorSpecialFall2018WarriorText'),
+ notes: t('armorSpecialFall2018WarriorNotes', { con: 9 }),
+ value: 90,
+ con: 9,
+ },
+ fall2018Mage: {
+ event: EVENTS.fall2018,
+ specialClass: 'wizard',
+ set: 'fall2018CandymancerMageSet',
+ text: t('armorSpecialFall2018MageText'),
+ notes: t('armorSpecialFall2018MageNotes', { int: 9 }),
+ value: 90,
+ int: 9,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('armorSpecialFall2018HealerText'),
+ notes: t('armorSpecialFall2018HealerNotes', { con: 15 }),
+ value: 90,
+ con: 15,
+ },
};
let back = {
@@ -1029,6 +1077,86 @@ let back = {
value: 0,
canOwn: ownsItem('back_special_turkeyTailBase'),
},
+ bearTail: {
+ gearSet: 'animal',
+ text: t('backBearTailText'),
+ notes: t('backBearTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_bearTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ cactusTail: {
+ gearSet: 'animal',
+ text: t('backCactusTailText'),
+ notes: t('backCactusTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_cactusTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ foxTail: {
+ gearSet: 'animal',
+ text: t('backFoxTailText'),
+ notes: t('backFoxTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_foxTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ lionTail: {
+ gearSet: 'animal',
+ text: t('backLionTailText'),
+ notes: t('backLionTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_lionTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ pandaTail: {
+ gearSet: 'animal',
+ text: t('backPandaTailText'),
+ notes: t('backPandaTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_pandaTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ pigTail: {
+ gearSet: 'animal',
+ text: t('backPigTailText'),
+ notes: t('backPigTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_pigTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ tigerTail: {
+ gearSet: 'animal',
+ text: t('backTigerTailText'),
+ notes: t('backTigerTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_tigerTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ wolfTail: {
+ gearSet: 'animal',
+ text: t('backWolfTailText'),
+ notes: t('backWolfTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_wolfTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
};
let body = {
@@ -2062,6 +2190,9 @@ let head = {
notes: t('headSpecialFall2017RogueNotes', { per: 9 }),
value: 60,
per: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -2071,6 +2202,9 @@ let head = {
notes: t('headSpecialFall2017WarriorNotes', { str: 9 }),
value: 60,
str: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Mage: {
event: EVENTS.fall2017,
@@ -2080,6 +2214,9 @@ let head = {
notes: t('headSpecialFall2017MageNotes', { per: 7 }),
value: 60,
per: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -2089,6 +2226,9 @@ let head = {
notes: t('headSpecialFall2017HealerNotes', { int: 7 }),
value: 60,
int: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
nye2017: {
text: t('headSpecialNye2017Text'),
@@ -2204,6 +2344,42 @@ let head = {
value: 60,
int: 7,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('headSpecialFall2018RogueText'),
+ notes: t('headSpecialFall2018RogueNotes', { per: 9 }),
+ value: 60,
+ per: 9,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('headSpecialFall2018WarriorText'),
+ notes: t('headSpecialFall2018WarriorNotes', { str: 9 }),
+ value: 60,
+ str: 9,
+ },
+ fall2018Mage: {
+ event: EVENTS.fall2018,
+ specialClass: 'wizard',
+ set: 'fall2018CandymancerMageSet',
+ text: t('headSpecialFall2018MageText'),
+ notes: t('headSpecialFall2018MageNotes', { per: 7 }),
+ value: 60,
+ per: 7,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('headSpecialFall2018HealerText'),
+ notes: t('headSpecialFall2018HealerNotes', { int: 7 }),
+ value: 60,
+ int: 7,
+ },
};
let headAccessory = {
@@ -3123,6 +3299,9 @@ let shield = {
notes: t('shieldSpecialFall2017RogueNotes', { str: 8 }),
value: 80,
str: 8,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -3132,6 +3311,9 @@ let shield = {
notes: t('shieldSpecialFall2017WarriorNotes', { con: 7 }),
value: 70,
con: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -3141,6 +3323,9 @@ let shield = {
notes: t('shieldSpecialFall2017HealerNotes', { con: 9 }),
value: 70,
con: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
winter2018Rogue: {
event: EVENTS.winter2018,
@@ -3223,6 +3408,33 @@ let shield = {
value: 70,
con: 9,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('shieldSpecialFall2018RogueText'),
+ notes: t('shieldSpecialFall2018RogueNotes', { str: 8 }),
+ value: 80,
+ str: 8,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('shieldSpecialFall2018WarriorText'),
+ notes: t('shieldSpecialFall2018WarriorNotes', { con: 7 }),
+ value: 70,
+ con: 7,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('shieldSpecialFall2018HealerText'),
+ notes: t('shieldSpecialFall2018HealerNotes', { con: 9 }),
+ value: 70,
+ con: 9,
+ },
};
let weapon = {
@@ -4084,6 +4296,9 @@ let weapon = {
notes: t('weaponSpecialFall2017RogueNotes', { str: 8 }),
value: 80,
str: 8,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -4093,6 +4308,9 @@ let weapon = {
notes: t('weaponSpecialFall2017WarriorNotes', { str: 15 }),
value: 90,
str: 15,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Mage: {
event: EVENTS.fall2017,
@@ -4104,6 +4322,9 @@ let weapon = {
value: 160,
int: 15,
per: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -4113,6 +4334,9 @@ let weapon = {
notes: t('weaponSpecialFall2017HealerNotes', { int: 9 }),
value: 90,
int: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
winter2018Rogue: {
event: EVENTS.winter2018,
@@ -4228,6 +4452,44 @@ let weapon = {
value: 90,
int: 9,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('weaponSpecialFall2018RogueText'),
+ notes: t('weaponSpecialFall2018RogueNotes', { str: 8 }),
+ value: 80,
+ str: 8,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('weaponSpecialFall2018WarriorText'),
+ notes: t('weaponSpecialFall2018WarriorNotes', { str: 15 }),
+ value: 90,
+ str: 15,
+ },
+ fall2018Mage: {
+ event: EVENTS.fall2018,
+ specialClass: 'wizard',
+ set: 'fall2018CandymancerMageSet',
+ twoHanded: true,
+ text: t('weaponSpecialFall2018MageText'),
+ notes: t('weaponSpecialFall2018MageNotes', { int: 15, per: 7 }),
+ value: 160,
+ int: 15,
+ per: 7,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('weaponSpecialFall2018HealerText'),
+ notes: t('weaponSpecialFall2018HealerNotes', { int: 9 }),
+ value: 90,
+ int: 9,
+ },
};
let specialSet = {
diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js
index 074bec7a02..700f6886f1 100644
--- a/website/common/script/content/hatching-potions.js
+++ b/website/common/script/content/hatching-potions.js
@@ -3,7 +3,7 @@ import defaults from 'lodash/defaults';
import each from 'lodash/each';
import t from './translation';
-const CURRENT_SEASON = 'September';
+const CURRENT_SEASON = 'October';
let drops = {
Base: {
@@ -100,7 +100,7 @@ let premium = {
value: 2,
text: t('hatchingPotionSpooky'),
limited: true,
- _season: 'October',
+ _season: '_PENDING_',
},
Ghost: {
value: 2,
@@ -138,6 +138,12 @@ let premium = {
limited: true,
_season: 'July',
},
+ Glow: {
+ value: 2,
+ text: t('hatchingPotionGlow'),
+ limited: true,
+ _season: 'October',
+ },
};
each(drops, (pot, key) => {
diff --git a/website/common/script/content/index.js b/website/common/script/content/index.js
index 1974ebfc0a..fa20b70fa3 100644
--- a/website/common/script/content/index.js
+++ b/website/common/script/content/index.js
@@ -182,6 +182,21 @@ api.bundles = {
type: 'quests',
value: 7,
},
+ forestFriends: {
+ key: 'forestFriends',
+ text: t('forestFriendsText'),
+ notes: t('forestFriendsNotes'),
+ bundleKeys: [
+ 'ghost_stag',
+ 'hedgehog',
+ 'treeling',
+ ],
+ canBuy () {
+ return moment().isBetween('2018-09-11', '2018-10-02');
+ },
+ type: 'quests',
+ value: 7,
+ },
};
/*
diff --git a/website/common/script/content/mystery-sets.js b/website/common/script/content/mystery-sets.js
index 81acc50a0b..33817c4360 100644
--- a/website/common/script/content/mystery-sets.js
+++ b/website/common/script/content/mystery-sets.js
@@ -222,6 +222,10 @@ let mysterySets = {
start: '2018-08-23',
end: '2018-09-02',
},
+ 201809: {
+ start: '2018-09-25',
+ end: '2018-10-02',
+ },
301404: {
start: '3014-03-24',
end: '3014-04-02',
diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js
index 99161f4799..12bf7348b3 100644
--- a/website/common/script/content/shop-featuredItems.js
+++ b/website/common/script/content/shop-featuredItems.js
@@ -9,21 +9,21 @@ const featuredItems = {
},
{
type: 'premiumHatchingPotion',
- path: 'premiumHatchingPotions.Ember',
+ path: 'premiumHatchingPotions.Ghost',
},
{
- type: 'eggs',
- path: 'eggs.Dragon',
+ type: 'premiumHatchingPotion',
+ path: 'premiumHatchingPotions.Glow',
},
{
type: 'card',
- path: 'cardTypes.congrats',
+ path: 'cardTypes.getwell',
},
],
quests: [
{
- type: 'quests',
- path: 'quests.seaserpent',
+ type: 'bundles',
+ path: 'bundles.forestFriends',
},
{
type: 'quests',
diff --git a/website/common/script/index.js b/website/common/script/index.js
index 57eaa890ca..9298468707 100644
--- a/website/common/script/index.js
+++ b/website/common/script/index.js
@@ -110,6 +110,9 @@ api.achievements = achievements;
import randomVal from './libs/randomVal';
api.randomVal = randomVal;
+import hasClass from './libs/hasClass';
+api.hasClass = hasClass;
+
import autoAllocate from './fns/autoAllocate';
import crit from './fns/crit';
import handleTwoHanded from './fns/handleTwoHanded';
@@ -152,8 +155,6 @@ import unlock from './ops/unlock';
import revive from './ops/revive';
import rebirth from './ops/rebirth';
import blockUser from './ops/blockUser';
-import clearPMs from './ops/clearPMs';
-import deletePM from './ops/deletePM';
import reroll from './ops/reroll';
import reset from './ops/reset';
import markPmsRead from './ops/markPMSRead';
@@ -182,8 +183,6 @@ api.ops = {
revive,
rebirth,
blockUser,
- clearPMs,
- deletePM,
reroll,
reset,
markPmsRead,
diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js
index dc2355e3b2..0793c45ee6 100644
--- a/website/common/script/libs/achievements.js
+++ b/website/common/script/libs/achievements.js
@@ -316,4 +316,6 @@ achievs.getAchievementsForProfile = function getAchievementsForProfile (user, la
return result;
};
+achievs.getContribText = contribText;
+
module.exports = achievs;
diff --git a/website/common/script/libs/hasClass.js b/website/common/script/libs/hasClass.js
new file mode 100644
index 0000000000..f9eeabfd5a
--- /dev/null
+++ b/website/common/script/libs/hasClass.js
@@ -0,0 +1,8 @@
+// Check if user has Class system enabled
+module.exports = function hasClass (member) {
+ return (
+ member.stats.lvl >= 10 &&
+ !member.preferences.disableClasses &&
+ member.flags.classSelected
+ );
+};
diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js
index 92db8b86c3..848956c2ac 100644
--- a/website/common/script/libs/shops-seasonal.config.js
+++ b/website/common/script/libs/shops-seasonal.config.js
@@ -1,16 +1,22 @@
-// import { SEASONAL_SETS } from '../content/constants';
+import { SEASONAL_SETS } from '../content/constants';
module.exports = {
- opened: false,
+ opened: true,
- currentSeason: 'Closed',
+ currentSeason: 'Fall',
- dateRange: { start: '2018-06-19', end: '2018-07-31' },
+ dateRange: { start: '2018-09-20', end: '2018-10-31' },
availableSets: [
+ ...SEASONAL_SETS.fall,
],
- pinnedSets: {},
+ pinnedSets: {
+ wizard: 'fall2018CandymancerMageSet',
+ warrior: 'fall2018MinotaurWarriorSet',
+ rogue: 'fall2018AlterEgoSet',
+ healer: 'fall2018CarnivorousPlantSet',
+ },
availableSpells: [
],
@@ -18,5 +24,5 @@ module.exports = {
availableQuests: [
],
- featuredSet: 'strappingSailorSet',
+ featuredSet: 'mummyMedicSet',
};
diff --git a/website/common/script/libs/shops.js b/website/common/script/libs/shops.js
index 68243c98ee..dc21fe20ae 100644
--- a/website/common/script/libs/shops.js
+++ b/website/common/script/libs/shops.js
@@ -104,6 +104,7 @@ function getClassName (classType, language) {
}
}
+// TODO Refactor the `.locked` logic
shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
let result = filter(items, ['pinType', 'marketGear']);
let availableGear = map(updateStore(user), (item) => getItemInfo(user, 'marketGear', item).path);
@@ -116,12 +117,6 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
gear.locked = true;
}
- // @TODO: I'm not sure what the logic for locking is supposed to be
- // But, I am pretty sure if we pin an armoire item, it needs to be unlocked
- if (gear.klass === 'armoire') {
- gear.locked = false;
- }
-
if (Boolean(gear.specialClass) && Boolean(gear.set)) {
let currentSet = gear.set === seasonalShopConfig.pinnedSets[gear.specialClass];
@@ -132,7 +127,6 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
gear.locked = !gear.canOwn(user);
}
-
let itemOwned = user.items.gear.owned[gear.key];
if (itemOwned === false && !availableGear.includes(gear.path)) {
@@ -140,6 +134,12 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
}
gear.owned = itemOwned;
+
+ // @TODO: I'm not sure what the logic for locking is supposed to be
+ // But, I am pretty sure if we pin an armoire item, it needs to be unlocked
+ if (gear.klass === 'armoire') {
+ gear.locked = false;
+ }
}
};
@@ -188,7 +188,8 @@ shops.getMarketGearCategories = function getMarketGear (user, language) {
};
let specialNonClassGear = filter(content.gear.flat, (gear) => {
- return !user.items.gear.owned[gear.key] &&
+ return user.items.gear.owned[gear.key] === false ||
+ !user.items.gear.owned[gear.key] &&
content.classes.indexOf(gear.klass) === -1 &&
content.classes.indexOf(gear.specialClass) === -1 &&
(gear.canOwn && gear.canOwn(user));
diff --git a/website/common/script/ops/clearPMs.js b/website/common/script/ops/clearPMs.js
deleted file mode 100644
index de9760b439..0000000000
--- a/website/common/script/ops/clearPMs.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = function clearPMs (user) {
- user.inbox.messages = {};
- if (user.markModified) user.markModified('inbox.messages');
- return [
- user.inbox.messages,
- ];
-};
diff --git a/website/common/script/ops/deletePM.js b/website/common/script/ops/deletePM.js
deleted file mode 100644
index e780c94274..0000000000
--- a/website/common/script/ops/deletePM.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import get from 'lodash/get';
-
-module.exports = function deletePM (user, req = {}) {
- delete user.inbox.messages[get(req, 'params.id')];
- if (user.markModified) user.markModified(`inbox.messages.${req.params.id}`);
- return [
- user.inbox.messages,
- ];
-};
diff --git a/website/common/script/ops/index.js b/website/common/script/ops/index.js
index dadecd6815..f9407fad67 100644
--- a/website/common/script/ops/index.js
+++ b/website/common/script/ops/index.js
@@ -14,8 +14,6 @@ import addTag from './addTag';
import sortTag from './sortTag';
import updateTag from './updateTag';
import deleteTag from './deleteTag';
-import clearPMs from './clearPMs';
-import deletePM from './deletePM';
import blockUser from './blockUser';
import feed from './feed';
import releasePets from './releasePets';
@@ -50,8 +48,6 @@ module.exports = {
sortTag,
updateTag,
deleteTag,
- clearPMs,
- deletePM,
blockUser,
feed,
releasePets,
diff --git a/website/common/script/ops/stats/allocate.js b/website/common/script/ops/stats/allocate.js
index d65b2e05cb..0db8c59732 100644
--- a/website/common/script/ops/stats/allocate.js
+++ b/website/common/script/ops/stats/allocate.js
@@ -8,6 +8,7 @@ import {
} from '../../libs/errors';
import i18n from '../../i18n';
import errorMessage from '../../libs/errorMessage';
+import hasClass from '../../libs/hasClass';
module.exports = function allocate (user, req = {}) {
let stat = get(req, 'query.stat', 'str');
@@ -16,6 +17,10 @@ module.exports = function allocate (user, req = {}) {
throw new BadRequest(errorMessage('invalidAttribute', {attr: stat}));
}
+ if (!hasClass(user)) {
+ throw new NotAuthorized(i18n.t('classNotSelected', req.language));
+ }
+
if (user.stats.points > 0) {
user.stats[stat]++;
user.stats.points--;
diff --git a/website/common/script/ops/stats/allocateBulk.js b/website/common/script/ops/stats/allocateBulk.js
index 7a68972d03..ad6e2aeedf 100644
--- a/website/common/script/ops/stats/allocateBulk.js
+++ b/website/common/script/ops/stats/allocateBulk.js
@@ -8,6 +8,7 @@ import {
} from '../../libs/errors';
import i18n from '../../i18n';
import errorMessage from '../../libs/errorMessage';
+import hasClass from '../../libs/hasClass';
module.exports = function allocateBulk (user, req = {}) {
const stats = get(req, 'body.stats');
@@ -21,6 +22,10 @@ module.exports = function allocateBulk (user, req = {}) {
throw new BadRequest(errorMessage('invalidAttribute', {attr: invalidStats.join(',')}));
}
+ if (!hasClass(user)) {
+ throw new NotAuthorized(i18n.t('classNotSelected', req.language));
+ }
+
if (user.stats.points <= 0) {
throw new NotAuthorized(i18n.t('notEnoughAttrPoints', req.language));
}
diff --git a/website/common/script/ops/unlock.js b/website/common/script/ops/unlock.js
index bbe4a79109..bbf59c7b2a 100644
--- a/website/common/script/ops/unlock.js
+++ b/website/common/script/ops/unlock.js
@@ -73,6 +73,8 @@ module.exports = function unlock (user, req = {}, analytics) {
if (path.indexOf('gear.') !== -1) {
// Using Object so path[1] won't create an array but an object {path: {1: value}}
setWith(user, pathPart, true, Object);
+ let itemName = pathPart.split('.').pop();
+ removeItemByPath(user, `gear.flat.${itemName}`);
}
// Using Object so path[1] won't create an array but an object {path: {1: value}}
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_apple_picking.png b/website/raw_sprites/spritesmith/backgrounds/background_apple_picking.png
new file mode 100644
index 0000000000..6f48b8d1c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_apple_picking.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_cozy_barn.png b/website/raw_sprites/spritesmith/backgrounds/background_cozy_barn.png
new file mode 100644
index 0000000000..2c13b1568e
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_cozy_barn.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_giant_book.png b/website/raw_sprites/spritesmith/backgrounds/background_giant_book.png
new file mode 100644
index 0000000000..a6dd83d0e7
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_giant_book.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_apple_picking.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_apple_picking.png
new file mode 100644
index 0000000000..4122e672a8
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_apple_picking.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_cozy_barn.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_cozy_barn.png
new file mode 100644
index 0000000000..02a5afdec0
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_cozy_barn.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_giant_book.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_giant_book.png
new file mode 100644
index 0000000000..ed60881aeb
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_giant_book.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_coverallsOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_coverallsOfBookbinding.png
new file mode 100644
index 0000000000..7cd47c9e8c
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_coverallsOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/headAccessory_armoire_gogglesOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/headAccessory_armoire_gogglesOfBookbinding.png
new file mode 100644
index 0000000000..e395171eb1
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/headAccessory_armoire_gogglesOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_unfinishedTome.png b/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_unfinishedTome.png
new file mode 100644
index 0000000000..016cf936f3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_unfinishedTome.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_coverallsOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_coverallsOfBookbinding.png
new file mode 100644
index 0000000000..6bfd8584ba
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_coverallsOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_headAccessory_armoire_gogglesOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_headAccessory_armoire_gogglesOfBookbinding.png
new file mode 100644
index 0000000000..07af00a7e7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_headAccessory_armoire_gogglesOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_unfinishedTome.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_unfinishedTome.png
new file mode 100644
index 0000000000..efaf888fb7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_unfinishedTome.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_needleOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_needleOfBookbinding.png
new file mode 100644
index 0000000000..4248230b9b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_needleOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_coverallsOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_coverallsOfBookbinding.png
new file mode 100644
index 0000000000..4a405dce2f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_coverallsOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_needleOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_needleOfBookbinding.png
new file mode 100644
index 0000000000..c0726418af
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_needleOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_bearTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_bearTail.png
new file mode 100644
index 0000000000..3890a77601
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_bearTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_cactusTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_cactusTail.png
new file mode 100644
index 0000000000..dcf01e079b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_cactusTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_foxTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_foxTail.png
new file mode 100644
index 0000000000..2c8cc5cb63
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_foxTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_lionTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_lionTail.png
new file mode 100644
index 0000000000..5997ff7624
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_lionTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_pandaTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_pandaTail.png
new file mode 100644
index 0000000000..90803059c8
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_pandaTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_pigTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_pigTail.png
new file mode 100644
index 0000000000..bc4d4582b1
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_pigTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_tigerTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_tigerTail.png
new file mode 100644
index 0000000000..6b954ef391
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_tigerTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_wolfTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_wolfTail.png
new file mode 100644
index 0000000000..56706c0e4f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_wolfTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_bearTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_bearTail.png
new file mode 100644
index 0000000000..1db7571e28
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_bearTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_cactusTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_cactusTail.png
new file mode 100644
index 0000000000..698947fc9a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_cactusTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_foxTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_foxTail.png
new file mode 100644
index 0000000000..8a134938f4
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_foxTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_lionTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_lionTail.png
new file mode 100644
index 0000000000..8ff47e562e
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_lionTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pandaTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pandaTail.png
new file mode 100644
index 0000000000..f12461af54
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pandaTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pigTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pigTail.png
new file mode 100644
index 0000000000..6fcb8a6618
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pigTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_tigerTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_tigerTail.png
new file mode 100644
index 0000000000..c7ea3f6b4c
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_tigerTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_wolfTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_wolfTail.png
new file mode 100644
index 0000000000..3486e595cb
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_wolfTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop_back_special_aetherCloak.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_aetherCloak.png
old mode 100755
new mode 100644
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/back/shop_back_special_aetherCloak.png
rename to website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_aetherCloak.png
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_bearTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_bearTail.png
new file mode 100644
index 0000000000..a8160b78ae
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_bearTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_cactusTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_cactusTail.png
new file mode 100644
index 0000000000..09abd9036a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_cactusTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_foxTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_foxTail.png
new file mode 100644
index 0000000000..de458c36d6
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_foxTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_lionTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_lionTail.png
new file mode 100644
index 0000000000..1efdd8f720
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_lionTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pandaTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pandaTail.png
new file mode 100644
index 0000000000..322816bec0
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pandaTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pigTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pigTail.png
new file mode 100644
index 0000000000..c983bd3a8a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pigTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop_back_special_snowdriftVeil.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_snowdriftVeil.png
old mode 100755
new mode 100644
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/back/shop_back_special_snowdriftVeil.png
rename to website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_snowdriftVeil.png
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_tigerTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_tigerTail.png
new file mode 100644
index 0000000000..de05959b68
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_tigerTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop_back_special_turkeyTailBase.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_turkeyTailBase.png
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/back/shop_back_special_turkeyTailBase.png
rename to website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_turkeyTailBase.png
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_wolfTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_wolfTail.png
new file mode 100644
index 0000000000..be9f26086b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_wolfTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Healer.png
new file mode 100644
index 0000000000..53731ba1c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Mage.png
new file mode 100644
index 0000000000..b4dbd6b764
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Rogue.png
new file mode 100644
index 0000000000..d904924418
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Warrior.png
new file mode 100644
index 0000000000..daf7866b04
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Healer.png
new file mode 100644
index 0000000000..3907e94d35
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Mage.png
new file mode 100644
index 0000000000..acebc161b5
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Rogue.png
new file mode 100644
index 0000000000..bca414d73b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Warrior.png
new file mode 100644
index 0000000000..45a8b9cb28
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Healer.png
new file mode 100644
index 0000000000..9e0e925004
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Rogue.png
new file mode 100644
index 0000000000..86691f7878
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Warrior.png
new file mode 100644
index 0000000000..dd74849cd2
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Healer.png
new file mode 100644
index 0000000000..37ca54bb16
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Mage.png
new file mode 100644
index 0000000000..918859e5b3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Rogue.png
new file mode 100644
index 0000000000..804f3a544e
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Warrior.png
new file mode 100644
index 0000000000..ed99372973
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Healer.png
new file mode 100644
index 0000000000..753f0064bb
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Mage.png
new file mode 100644
index 0000000000..1c0ff72228
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Rogue.png
new file mode 100644
index 0000000000..96825aa18c
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Warrior.png
new file mode 100644
index 0000000000..c82eea88c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Healer.png
new file mode 100644
index 0000000000..0a16b12876
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Rogue.png
new file mode 100644
index 0000000000..5c0e2d2b1a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Warrior.png
new file mode 100644
index 0000000000..b37edc50f3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Healer.png
new file mode 100644
index 0000000000..64eeb2e468
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Mage.png
new file mode 100644
index 0000000000..c1a1653052
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Rogue.png
new file mode 100644
index 0000000000..5daa0813bb
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Warrior.png
new file mode 100644
index 0000000000..df73e88fa6
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Healer.png
new file mode 100644
index 0000000000..54b76f24dc
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Mage.png
new file mode 100644
index 0000000000..bbf377ab1f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Rogue.png
new file mode 100644
index 0000000000..b3b085806f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Warrior.png
new file mode 100644
index 0000000000..9fafe6f8a3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Healer.png
new file mode 100644
index 0000000000..c93c786082
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Mage.png
new file mode 100644
index 0000000000..917bbe7d3f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Rogue.png
new file mode 100644
index 0000000000..e84b60616f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Warrior.png
new file mode 100644
index 0000000000..119a1cf489
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/broad_armor_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/broad_armor_mystery_201809.png
new file mode 100644
index 0000000000..71eafe53f4
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/broad_armor_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/head_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/head_mystery_201809.png
new file mode 100644
index 0000000000..bd2a1bea6a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/head_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_armor_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_armor_mystery_201809.png
new file mode 100644
index 0000000000..0dcf8cc154
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_armor_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_head_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_head_mystery_201809.png
new file mode 100644
index 0000000000..19edca0204
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_head_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_set_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_set_mystery_201809.png
new file mode 100644
index 0000000000..5e3fd3926e
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_set_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/slim_armor_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/slim_armor_mystery_201809.png
new file mode 100644
index 0000000000..3126dffe9a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/slim_armor_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/npcs/npc_bailey.png b/website/raw_sprites/spritesmith/npcs/npc_bailey.png
index d5940b986b..ea7bd68e40 100644
Binary files a/website/raw_sprites/spritesmith/npcs/npc_bailey.png and b/website/raw_sprites/spritesmith/npcs/npc_bailey.png differ
diff --git a/website/raw_sprites/spritesmith/npcs/npc_justin.png b/website/raw_sprites/spritesmith/npcs/npc_justin.png
index 08ba7025c2..d1973b48df 100644
Binary files a/website/raw_sprites/spritesmith/npcs/npc_justin.png and b/website/raw_sprites/spritesmith/npcs/npc_justin.png differ
diff --git a/website/raw_sprites/spritesmith/npcs/npc_matt.png b/website/raw_sprites/spritesmith/npcs/npc_matt.png
index 2531f1084b..1cd1006fd3 100644
Binary files a/website/raw_sprites/spritesmith/npcs/npc_matt.png and b/website/raw_sprites/spritesmith/npcs/npc_matt.png differ
diff --git a/website/raw_sprites/spritesmith/quests/scrolls/quest_bundle_forestFriends.png b/website/raw_sprites/spritesmith/quests/scrolls/quest_bundle_forestFriends.png
new file mode 100644
index 0000000000..2bfc50360e
Binary files /dev/null and b/website/raw_sprites/spritesmith/quests/scrolls/quest_bundle_forestFriends.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Glow.png
new file mode 100644
index 0000000000..f90f7ad536
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Glow.png
new file mode 100644
index 0000000000..6655fcb125
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Glow.png
new file mode 100644
index 0000000000..cb277563fd
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Glow.png
new file mode 100644
index 0000000000..053c542a24
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Glow.png
new file mode 100644
index 0000000000..333ba32c89
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Glow.png
new file mode 100644
index 0000000000..59b42d7bf6
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Glow.png
new file mode 100644
index 0000000000..11703b0399
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Glow.png
new file mode 100644
index 0000000000..22eb334d99
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Glow.png
new file mode 100644
index 0000000000..2f7ea46f99
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Glow.png
new file mode 100644
index 0000000000..8558e62bab
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Glow.png
new file mode 100644
index 0000000000..057e5fb116
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Glow.png
new file mode 100644
index 0000000000..83bdfb956b
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Glow.png
new file mode 100644
index 0000000000..73012b1fd0
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Glow.png
new file mode 100644
index 0000000000..eba09c9fd9
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Glow.png
new file mode 100644
index 0000000000..d6f140f351
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Glow.png
new file mode 100644
index 0000000000..4083fd9fa2
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Glow.png
new file mode 100644
index 0000000000..aa592c694f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Glow.png
new file mode 100644
index 0000000000..7bb694c832
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Glow.png
new file mode 100644
index 0000000000..c38258455b
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Glow.png
new file mode 100644
index 0000000000..d3aae46692
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Glow.png
new file mode 100644
index 0000000000..13f399e495
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Glow.png
new file mode 100644
index 0000000000..9eefedd551
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Glow.png
new file mode 100644
index 0000000000..d793a2463f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Glow.png
new file mode 100644
index 0000000000..50dcbc3d49
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Glow.png
new file mode 100644
index 0000000000..68aa53d13b
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Glow.png
new file mode 100644
index 0000000000..ad661940f6
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Glow.png
new file mode 100644
index 0000000000..94798fb87e
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-Glow.png
new file mode 100644
index 0000000000..0db3468f44
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-Glow.png
new file mode 100644
index 0000000000..82fa389e1f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-Glow.png
new file mode 100644
index 0000000000..2ccc314e9d
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-Glow.png
new file mode 100644
index 0000000000..bcc7708ac0
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Glow.png
new file mode 100644
index 0000000000..f1377dd972
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-Glow.png
new file mode 100644
index 0000000000..e5f14dceb5
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-Glow.png
new file mode 100644
index 0000000000..614905fc72
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-Glow.png
new file mode 100644
index 0000000000..f9fd18fbe5
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-Glow.png
new file mode 100644
index 0000000000..a24569e092
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_Glow.png b/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_Glow.png
new file mode 100644
index 0000000000..ac2eab5080
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_Glow.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_animal_tails.png b/website/raw_sprites/spritesmith_large/promo_animal_tails.png
new file mode 100644
index 0000000000..d3ac373513
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_animal_tails.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201808.png b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201808.png
deleted file mode 100644
index 9b5a824a01..0000000000
Binary files a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201808.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201809.png b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201809.png
new file mode 100644
index 0000000000..b3459b672e
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201809.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_fall_festival_2017.png b/website/raw_sprites/spritesmith_large/promo_fall_festival_2017.png
new file mode 100644
index 0000000000..44ccccc8cc
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_fall_festival_2017.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_fall_festival_2018.png b/website/raw_sprites/spritesmith_large/promo_fall_festival_2018.png
new file mode 100644
index 0000000000..641d468138
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_fall_festival_2018.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_forest_friends_bundle.png b/website/raw_sprites/spritesmith_large/promo_forest_friends_bundle.png
new file mode 100644
index 0000000000..072193d723
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_forest_friends_bundle.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_ghost_potions.png b/website/raw_sprites/spritesmith_large/promo_ghost_potions.png
new file mode 100644
index 0000000000..a985b78953
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_ghost_potions.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201808.png b/website/raw_sprites/spritesmith_large/promo_mystery_201808.png
deleted file mode 100644
index d0075f24f1..0000000000
Binary files a/website/raw_sprites/spritesmith_large/promo_mystery_201808.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201809.png b/website/raw_sprites/spritesmith_large/promo_mystery_201809.png
new file mode 100644
index 0000000000..50178e9eac
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png b/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png
new file mode 100644
index 0000000000..cfbcc5bddd
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png differ
diff --git a/website/raw_sprites/spritesmith_large/scene_casting_spells.png b/website/raw_sprites/spritesmith_large/scene_casting_spells.png
deleted file mode 100644
index 38a71b4ff7..0000000000
Binary files a/website/raw_sprites/spritesmith_large/scene_casting_spells.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/scene_painting.png b/website/raw_sprites/spritesmith_large/scene_painting.png
new file mode 100644
index 0000000000..e783fb88de
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/scene_painting.png differ
diff --git a/website/raw_sprites/spritesmith_large/scene_tools.png b/website/raw_sprites/spritesmith_large/scene_tools.png
new file mode 100644
index 0000000000..fc30edbb05
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/scene_tools.png differ
diff --git a/website/server/controllers/api-v3/auth.js b/website/server/controllers/api-v3/auth.js
index 760a9f584b..e8e1119438 100644
--- a/website/server/controllers/api-v3/auth.js
+++ b/website/server/controllers/api-v3/auth.js
@@ -11,61 +11,22 @@ import {
NotFound,
} from '../../libs/errors';
import * as passwordUtils from '../../libs/password';
-import logger from '../../libs/logger';
import { model as User } from '../../models/user';
-import { model as Group } from '../../models/group';
import { model as EmailUnsubscription } from '../../models/emailUnsubscription';
import { sendTxn as sendTxnEmail } from '../../libs/email';
-import { decrypt, encrypt } from '../../libs/encryption';
import { send as sendEmail } from '../../libs/email';
import pusher from '../../libs/pusher';
import common from '../../../common';
import { validatePasswordResetCodeAndFindUser, convertToBcrypt} from '../../libs/password';
+import { encrypt } from '../../libs/encryption';
+import * as authLib from '../../libs/auth';
const BASE_URL = nconf.get('BASE_URL');
const TECH_ASSISTANCE_EMAIL = nconf.get('EMAILS:TECH_ASSISTANCE_EMAIL');
const COMMUNITY_MANAGER_EMAIL = nconf.get('EMAILS:COMMUNITY_MANAGER_EMAIL');
-const USERNAME_LENGTH_MIN = 1;
-const USERNAME_LENGTH_MAX = 20;
let api = {};
-// When the user signed up after having been invited to a group, invite them automatically to the group
-async function _handleGroupInvitation (user, invite) {
- // wrapping the code in a try because we don't want it to prevent the user from signing up
- // that's why errors are not translated
- try {
- let {sentAt, id: groupId, inviter} = JSON.parse(decrypt(invite));
-
- // check that the invite has not expired (after 7 days)
- if (sentAt && moment().subtract(7, 'days').isAfter(sentAt)) {
- let err = new Error('Invite expired.');
- err.privateData = invite;
- throw err;
- }
-
- let group = await Group.getGroup({user, optionalMembership: true, groupId, fields: 'name type'});
- if (!group) throw new NotFound('Group not found.');
-
- if (group.type === 'party') {
- user.invitations.party = {id: group._id, name: group.name, inviter};
- user.invitations.parties.push(user.invitations.party);
- } else {
- user.invitations.guilds.push({id: group._id, name: group.name, inviter});
- }
-
- // award the inviter with 'Invited a Friend' achievement
- inviter = await User.findById(inviter);
- if (!inviter.achievements.invitedFriend) {
- inviter.achievements.invitedFriend = true;
- inviter.addNotification('INVITED_FRIEND_ACHIEVEMENT');
- await inviter.save();
- }
- } catch (err) {
- logger.error(err);
- }
-}
-
function hasBackupAuth (user, networkToRemove) {
if (user.auth.local.username) {
return true;
@@ -78,6 +39,8 @@ function hasBackupAuth (user, networkToRemove) {
return hasAlternateNetwork;
}
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/auth/local/register Register
* @apiDescription Register a new user with email, login name, and password or attach local auth to a social user
@@ -98,115 +61,7 @@ api.registerLocal = {
})],
url: '/user/auth/local/register',
async handler (req, res) {
- let existingUser = res.locals.user; // If adding local auth to social user
-
- req.checkBody({
- username: {
- notEmpty: true,
- errorMessage: res.t('missingUsername'),
- // TODO use the constants in the error message above
- isLength: {options: {min: USERNAME_LENGTH_MIN, max: USERNAME_LENGTH_MAX}, errorMessage: res.t('usernameWrongLength')},
- matches: {options: /^[-_a-zA-Z0-9]+$/, errorMessage: res.t('usernameBadCharacters')},
- },
- email: {
- notEmpty: true,
- errorMessage: res.t('missingEmail'),
- isEmail: {errorMessage: res.t('notAnEmail')},
- },
- password: {
- notEmpty: true,
- errorMessage: res.t('missingPassword'),
- equals: {options: [req.body.confirmPassword], errorMessage: res.t('passwordConfirmationMatch')},
- },
- });
-
- let validationErrors = req.validationErrors();
- if (validationErrors) throw validationErrors;
-
- let { email, username, password } = req.body;
-
- // Get the lowercase version of username to check that we do not have duplicates
- // So we can search for it in the database and then reject the choosen username if 1 or more results are found
- email = email.toLowerCase();
- username = username.trim();
- let lowerCaseUsername = username.toLowerCase();
-
- // Search for duplicates using lowercase version of username
- let user = await User.findOne({$or: [
- {'auth.local.email': email},
- {'auth.local.lowerCaseUsername': lowerCaseUsername},
- ]}, {'auth.local': 1}).exec();
-
- if (user) {
- if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken'));
- // Check that the lowercase username isn't already used
- if (lowerCaseUsername === user.auth.local.lowerCaseUsername) throw new NotAuthorized(res.t('usernameTaken'));
- }
-
- let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase
- let newUser = {
- auth: {
- local: {
- username,
- lowerCaseUsername,
- email,
- hashed_password, // eslint-disable-line camelcase,
- passwordHashMethod: 'bcrypt',
- },
- },
- preferences: {
- language: req.language,
- },
- };
-
- if (existingUser) {
- let hasSocialAuth = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(network => {
- if (existingUser.auth.hasOwnProperty(network.key)) {
- return existingUser.auth[network.key].id;
- }
- });
- if (!hasSocialAuth) throw new NotAuthorized(res.t('onlySocialAttachLocal'));
- existingUser.auth.local = newUser.auth.local;
- newUser = existingUser;
- } else {
- newUser = new User(newUser);
- newUser.registeredThrough = req.headers['x-client']; // Not saved, used to create the correct tasks based on the device used
- }
-
- // we check for partyInvite for backward compatibility
- if (req.query.groupInvite || req.query.partyInvite) {
- await _handleGroupInvitation(newUser, req.query.groupInvite || req.query.partyInvite);
- }
-
- let savedUser = await newUser.save();
-
- if (existingUser) {
- res.respond(200, savedUser.toJSON().auth.local); // We convert to toJSON to hide private fields
- } else {
- let userJSON = savedUser.toJSON();
- userJSON.newUser = true;
- res.respond(201, userJSON);
- }
-
- // Clean previous email preferences and send welcome email
- EmailUnsubscription
- .remove({email: savedUser.auth.local.email})
- .then(() => {
- if (!existingUser) sendTxnEmail(savedUser, 'welcome');
- });
-
- if (!existingUser) {
- res.analytics.track('register', {
- category: 'acquisition',
- type: 'local',
- gaLabel: 'local',
- uuid: savedUser._id,
- headers: req.headers,
- user: savedUser,
- });
- }
-
- return null;
+ await authLib.registerLocal(req, res, { isV3: true });
},
};
@@ -398,9 +253,7 @@ api.loginSocial = {
*/
api.pusherAuth = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/pusher',
async handler (req, res) {
let user = res.locals.user;
@@ -468,9 +321,7 @@ api.pusherAuth = {
**/
api.updateUsername = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/update-username',
async handler (req, res) {
let user = res.locals.user;
@@ -524,9 +375,7 @@ api.updateUsername = {
**/
api.updatePassword = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/update-password',
async handler (req, res) {
let user = res.locals.user;
@@ -636,9 +485,7 @@ api.resetPassword = {
*/
api.updateEmail = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/update-email',
async handler (req, res) {
let user = res.locals.user;
@@ -725,9 +572,7 @@ api.resetPasswordSetNewOne = {
api.deleteSocial = {
method: 'DELETE',
url: '/user/auth/social/:network',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let network = req.params.network;
diff --git a/website/server/controllers/api-v3/challenges.js b/website/server/controllers/api-v3/challenges.js
index 7419949ea0..6405eb59ad 100644
--- a/website/server/controllers/api-v3/challenges.js
+++ b/website/server/controllers/api-v3/challenges.js
@@ -184,9 +184,7 @@ let api = {};
api.createChallenge = {
method: 'POST',
url: '/challenges',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -235,9 +233,7 @@ api.createChallenge = {
api.joinChallenge = {
method: 'POST',
url: '/challenges/:challengeId/join',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -251,7 +247,7 @@ api.joinChallenge = {
if (challenge.isMember(user)) throw new NotAuthorized(res.t('userAlreadyInChallenge'));
let group = await Group.getGroup({user, groupId: challenge.group, fields: basicGroupFields, optionalMembership: true});
- if (!group || !challenge.hasAccess(user, group)) throw new NotFound(res.t('challengeNotFound'));
+ if (!group || !challenge.canJoin(user, group)) throw new NotFound(res.t('challengeNotFound'));
challenge.memberCount += 1;
@@ -294,9 +290,7 @@ api.joinChallenge = {
api.leaveChallenge = {
method: 'POST',
url: '/challenges/:challengeId/leave',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let keep = req.body.keep === 'remove-all' ? 'remove-all' : 'keep-all';
@@ -345,9 +339,7 @@ api.leaveChallenge = {
api.getUserChallenges = {
method: 'GET',
url: '/challenges/user',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const CHALLENGES_PER_PAGE = 10;
const page = req.query.page;
@@ -508,9 +500,7 @@ api.getGroupChallenges = {
api.getChallenge = {
method: 'GET',
url: '/challenges/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
@@ -664,9 +654,7 @@ api.exportChallengeCsv = {
api.updateChallenge = {
method: 'PUT',
url: '/challenges/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
@@ -708,9 +696,7 @@ api.updateChallenge = {
api.deleteChallenge = {
method: 'DELETE',
url: '/challenges/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -755,9 +741,7 @@ api.deleteChallenge = {
api.selectChallengeWinner = {
method: 'POST',
url: '/challenges/:challengeId/selectWinner/:winnerId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -806,9 +790,7 @@ api.selectChallengeWinner = {
api.cloneChallenge = {
method: 'POST',
url: '/challenges/:challengeId/clone',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/chat.js b/website/server/controllers/api-v3/chat.js
index 59c0f98b68..310e341d8c 100644
--- a/website/server/controllers/api-v3/chat.js
+++ b/website/server/controllers/api-v3/chat.js
@@ -1,7 +1,7 @@
import { authWithHeaders } from '../../middlewares/auth';
import { model as Group } from '../../models/group';
import { model as User } from '../../models/user';
-import { model as Chat } from '../../models/chat';
+import { chatModel as Chat } from '../../models/message';
import {
BadRequest,
NotFound,
@@ -62,9 +62,7 @@ function textContainsBannedSlur (message) {
api.getChat = {
method: 'GET',
url: '/groups/:groupId/chat',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -103,9 +101,7 @@ function getBannedWordsFromText (message) {
api.postChat = {
method: 'POST',
url: '/groups/:groupId/chat',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -227,9 +223,7 @@ api.postChat = {
api.likeChat = {
method: 'POST',
url: '/groups/:groupId/chat/:chatId/like',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -286,9 +280,7 @@ api.likeChat = {
api.flagChat = {
method: 'POST',
url: '/groups/:groupId/chat/:chatId/flag',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const chatReporter = chatReporterFactory('Group', req, res);
const message = await chatReporter.flag();
@@ -317,9 +309,7 @@ api.flagChat = {
api.clearChatFlags = {
method: 'Post',
url: '/groups/:groupId/chat/:chatId/clearflags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -389,9 +379,7 @@ api.clearChatFlags = {
api.seenChat = {
method: 'POST',
url: '/groups/:groupId/chat/seen',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -457,9 +445,7 @@ api.seenChat = {
api.deleteChat = {
method: 'DELETE',
url: '/groups/:groupId/chat/:chatId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
diff --git a/website/server/controllers/api-v3/coupon.js b/website/server/controllers/api-v3/coupon.js
index f18644306e..7acc406a44 100644
--- a/website/server/controllers/api-v3/coupon.js
+++ b/website/server/controllers/api-v3/coupon.js
@@ -4,10 +4,11 @@ import {
authWithSession,
} from '../../middlewares/auth';
import { ensureSudo } from '../../middlewares/ensureAccessRight';
-import { model as Coupon } from '../../models/coupon';
import _ from 'lodash';
+import * as couponsLib from '../../libs/coupons';
import couponCode from 'coupon-code';
import apiError from '../../libs/apiError';
+import { model as Coupon } from '../../models/coupon';
let api = {};
@@ -68,9 +69,7 @@ api.getCoupons = {
api.generateCoupons = {
method: 'POST',
url: '/coupons/generate/:event',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- }), ensureSudo],
+ middlewares: [authWithHeaders(), ensureSudo],
async handler (req, res) {
req.checkParams('event', apiError('eventRequired')).notEmpty();
req.checkQuery('count', apiError('countRequired')).notEmpty().isNumeric();
@@ -83,6 +82,8 @@ api.generateCoupons = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/coupons/enter/:code Redeem a coupon code
* @apiName RedeemCouponCode
@@ -95,19 +96,12 @@ api.generateCoupons = {
api.enterCouponCode = {
method: 'POST',
url: '/coupons/enter/:code',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
- let user = res.locals.user;
-
- req.checkParams('code', res.t('couponCodeRequired')).notEmpty();
-
- let validationErrors = req.validationErrors();
- if (validationErrors) throw validationErrors;
-
- await Coupon.apply(user, req, req.params.code);
- res.respond(200, user);
+ const user = res.locals.user;
+ await couponsLib.enterCode(req, res, user);
+ const userToJSON = await user.toJSONWithInbox();
+ res.respond(200, userToJSON);
},
};
@@ -125,7 +119,6 @@ api.validateCoupon = {
url: '/coupons/validate/:code',
middlewares: [authWithHeaders({
optional: true,
- userFieldsToExclude: ['inbox'],
})],
async handler (req, res) {
req.checkParams('code', res.t('couponCodeRequired')).notEmpty();
diff --git a/website/server/controllers/api-v3/groups.js b/website/server/controllers/api-v3/groups.js
index f386cba456..73d41e2957 100644
--- a/website/server/controllers/api-v3/groups.js
+++ b/website/server/controllers/api-v3/groups.js
@@ -109,9 +109,7 @@ let api = {};
api.createGroup = {
method: 'POST',
url: '/groups',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let group = new Group(Group.sanitize(req.body));
@@ -182,9 +180,7 @@ api.createGroup = {
api.createGroupPlan = {
method: 'POST',
url: '/groups/create-plan',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let group = new Group(Group.sanitize(req.body.groupToCreate));
@@ -293,9 +289,7 @@ api.createGroupPlan = {
api.getGroups = {
method: 'GET',
url: '/groups',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -443,9 +437,7 @@ api.getGroup = {
api.updateGroup = {
method: 'PUT',
url: '/groups/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -508,9 +500,7 @@ api.updateGroup = {
api.joinGroup = {
method: 'POST',
url: '/groups/:groupId/join',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let inviter;
@@ -682,9 +672,7 @@ api.joinGroup = {
api.rejectGroupInvite = {
method: 'POST',
url: '/groups/:groupId/reject-invite',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -759,9 +747,7 @@ function _removeMessagesFromMember (member, groupId) {
api.leaveGroup = {
method: 'POST',
url: '/groups/:groupId/leave',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty();
@@ -848,9 +834,7 @@ function _sendMessageToRemoved (group, removedUser, message, isInGroup) {
api.removeGroupMember = {
method: 'POST',
url: '/groups/:groupId/removeMember/:memberId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1176,7 +1160,7 @@ async function _inviteByEmail (invite, group, inviter, req, res) {
api.inviteToGroup = {
method: 'POST',
url: '/groups/:groupId/invite',
- middlewares: [authWithHeaders({})],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1249,9 +1233,7 @@ api.inviteToGroup = {
api.addGroupManager = {
method: 'POST',
url: '/groups/:groupId/add-manager',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let managerId = req.body.managerId;
@@ -1300,9 +1282,7 @@ api.addGroupManager = {
api.removeGroupManager = {
method: 'POST',
url: '/groups/:groupId/remove-manager',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let managerId = req.body.managerId;
@@ -1355,9 +1335,7 @@ api.removeGroupManager = {
api.getGroupPlans = {
method: 'GET',
url: '/group-plans',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js
index d009d536b6..21dfdadbb0 100644
--- a/website/server/controllers/api-v3/hall.js
+++ b/website/server/controllers/api-v3/hall.js
@@ -61,9 +61,7 @@ let api = {};
api.getPatrons = {
method: 'GET',
url: '/hall/patrons',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkQuery('page').optional().isInt({min: 0}, apiError('queryPageInteger'));
@@ -123,9 +121,7 @@ api.getPatrons = {
api.getHeroes = {
method: 'GET',
url: '/hall/heroes',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let heroes = await User
.find({
diff --git a/website/server/controllers/api-v3/inbox.js b/website/server/controllers/api-v3/inbox.js
new file mode 100644
index 0000000000..54a577de46
--- /dev/null
+++ b/website/server/controllers/api-v3/inbox.js
@@ -0,0 +1,29 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as inboxLib from '../../libs/inbox';
+
+let api = {};
+
+/* NOTE most inbox routes are either in the user or members controller */
+
+/**
+ * @api {get} /api/v3/inbox/messages Get inbox messages for a user
+ * @apiName GetInboxMessages
+ * @apiGroup Inbox
+ * @apiDescription Get inbox messages for a user
+ *
+ * @apiSuccess {Array} data An array of inbox messages
+ */
+api.getInboxMessages = {
+ method: 'GET',
+ url: '/inbox/messages',
+ middlewares: [authWithHeaders()],
+ async handler (req, res) {
+ const user = res.locals.user;
+
+ const userInbox = await inboxLib.getUserInbox(user);
+
+ res.respond(200, userInbox);
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/api-v3/members.js b/website/server/controllers/api-v3/members.js
index d0c8f2e8bb..ff09a2cd8a 100644
--- a/website/server/controllers/api-v3/members.js
+++ b/website/server/controllers/api-v3/members.js
@@ -32,6 +32,62 @@ let api = {};
*
* @apiSuccess {Object} data The member object
*
+ * @apiSuccess (Object) data.inbox Basic information about person's inbox
+ * @apiSuccess (Object) data.stats Includes current stats and buffs
+ * @apiSuccess (Object) data.profile Includes name
+ * @apiSuccess (Object) data.preferences Includes info about appearance and public prefs
+ * @apiSuccess (Object) data.party Includes basic info about current party and quests
+ * @apiSuccess (Object) data.items Basic inventory information includes quests, food, potions, eggs, gear, special items
+ * @apiSuccess (Object) data.achievements Lists current achievements
+ * @apiSuccess (Object) data.auth Includes latest timestamps
+ *
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "success": true,
+ * "data": {
+ * "_id": "99999999-9999-9999-9999-8f14c101aeff",
+ * "inbox": {
+ * "optOut": false
+ * },
+ * "stats": {
+ * ---INCLUDES STATS AND BUFFS---
+ * },
+ * "profile": {
+ * "name": "Ezra"
+ * },
+ * "preferences": {
+ * ---INCLUDES INFO ABOUT APPEARANCE AND PUBLIC PREFS---
+ * },
+ * "party": {
+ * "_id": "12345678-0987-abcd-82a6-837c81db4c1e",
+ * "quest": {
+ * "RSVPNeeded": false,
+ * "progress": {}
+ * },
+ * },
+ * "items": {
+ * "lastDrop": {
+ * "count": 0,
+ * "date": "2017-01-15T02:41:35.009Z"
+ * },
+ * ----INCLUDES QUESTS, FOOD, POTIONS, EGGS, GEAR, CARDS, SPECIAL ITEMS (E.G. SNOWBALLS)----
+ * }
+ * },
+ * "achievements": {
+ * "partyUp": true,
+ * "habitBirthdays": 2,
+ * },
+ * "auth": {
+ * "timestamps": {
+ * "loggedin": "2017-03-05T12:30:54.545Z",
+ * "created": "2017-01-12T03:30:11.842Z"
+ * }
+ * },
+ * "id": "99999999-9999-9999-9999-8f14c101aeff"
+ * }
+ * }
+ *)
+ *
* @apiUse UserNotFound
*/
api.getMember = {
@@ -302,15 +358,28 @@ function _getMembersForItem (type) {
* @apiParam (Query) {Boolean} includeAllPublicFields Query parameter available only when fetching a party. If === `true` then all public fields for members will be returned (like when making a request for a single member)
*
* @apiSuccess {Array} data An array of members, sorted by _id
+ *
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "success": true,
+ * "data": [
+ * {
+ * "_id": "00000001-1111-9999-9000-111111111111",
+ * "profile": {
+ * "name": "Jiminy"
+ * },
+ * "id": "00000001-1111-9999-9000-111111111111"
+ * },
+ * }
+ *
+ *
* @apiUse ChallengeNotFound
* @apiUse GroupNotFound
*/
api.getMembersForGroup = {
method: 'GET',
url: '/groups/:groupId/members',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
handler: _getMembersForItem('group-members'),
};
@@ -325,15 +394,28 @@ api.getMembersForGroup = {
*
* @apiSuccess {array} data An array of invites, sorted by _id
*
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "success": true,
+ * "data": [
+ * {
+ * "_id": "99f3cb9d-4af8-4ca4-9b82-6b2a6bf59b7a",
+ * "profile": {
+ * "name": "DoomSmoocher"
+ * },
+ * "id": "99f3cb9d-4af8-4ca4-9b82-6b2a6bf59b7a"
+ * }
+ * ]
+ * }
+ *
+ *
* @apiUse ChallengeNotFound
* @apiUse GroupNotFound
*/
api.getInvitesForGroup = {
method: 'GET',
url: '/groups/:groupId/invites',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
handler: _getMembersForItem('group-invites'),
};
@@ -359,9 +441,7 @@ api.getInvitesForGroup = {
api.getMembersForChallenge = {
method: 'GET',
url: '/challenges/:challengeId/members',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
handler: _getMembersForItem('challenge-members'),
};
@@ -375,15 +455,55 @@ api.getMembersForChallenge = {
*
* @apiSuccess {Object} data Return an object with member _id, profile.name and a tasks object with the challenge tasks for the member
*
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "data": {
+ * "_id": "b0413351-405f-416f-8787-947ec1c85199",
+ * "profile": {"name": "MadPink"},
+ * "tasks": [
+ * {
+ * "_id": "9cd37426-0604-48c3-a950-894a6e72c156",
+ * "text": "Make sure the place where you sleep is quiet, dark, and cool.",
+ * "updatedAt": "2017-06-17T17:44:15.916Z",
+ * "createdAt": "2017-06-17T17:44:15.916Z",
+ * "reminders": [],
+ * "group": {
+ * "approval": {
+ * "requested": false,
+ * "approved": false,
+ * "required": false
+ * },
+ * "assignedUsers": []
+ * },
+ * "challenge": {
+ * "taskId": "6d3758b1-071b-4bfa-acd6-755147a7b5f6",
+ * "id": "4db6bd82-b829-4bf2-bad2-535c14424a3d",
+ * "shortName": "Take This June 2017"
+ * },
+ * "attribute": "str",
+ * "priority": 1,
+ * "value": 0,
+ * "notes": "",
+ * "type": "todo",
+ * "checklist": [],
+ * "collapseChecklist": false,
+ * "completed": false,
+ * },
+ * "startDate": "2016-09-01T05:00:00.000Z",
+ * "everyX": 1,
+ * "frequency": "weekly",
+ * "id": "b207a15e-8bfd-4aa7-9e64-1ba89699da06"
+ * }
+ * ]
+ * }
+ *
* @apiUse ChallengeNotFound
* @apiUse UserNotFound
*/
api.getChallengeMemberProgress = {
method: 'GET',
url: '/challenges/:challengeId/members/:memberId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
req.checkParams('memberId', res.t('memberIdRequired')).notEmpty().isUUID();
@@ -466,7 +586,7 @@ api.getObjectionsToInteraction = {
* @apiParam (Body) {String} message Body parameter - The message
* @apiParam (Body) {UUID} toUserId Body parameter - The user to contact
*
- * @apiSuccess {Object} data An empty Object
+ * @apiSuccess {Object} data.message The message just sent
*
* @apiUse UserNotFound
*/
@@ -489,7 +609,7 @@ api.sendPrivateMessage = {
const objections = sender.getObjectionsToInteraction('send-private-message', receiver);
if (objections.length > 0 && !sender.isAdmin()) throw new NotAuthorized(res.t(objections[0]));
- const newMessage = await sender.sendMessage(receiver, { receiverMsg: message });
+ const messageSent = await sender.sendMessage(receiver, { receiverMsg: message });
if (receiver.preferences.emailNotifications.newPM !== false) {
sendTxnEmail(receiver, 'new-pm', [
@@ -510,7 +630,7 @@ api.sendPrivateMessage = {
);
}
- res.respond(200, { message: newMessage });
+ res.respond(200, {message: messageSent});
},
};
@@ -519,7 +639,7 @@ api.sendPrivateMessage = {
* @apiName TransferGems
* @apiGroup Member
*
- * @apiParam (Body) {String} message The message
+ * @apiParam (Body) {String} message The message to the user
* @apiParam (Body) {UUID} toUserId The toUser _id
* @apiParam (Body) {Integer} gemAmount The number of gems to send
*
@@ -554,6 +674,7 @@ api.transferGems = {
receiver.balance += amount;
sender.balance -= amount;
+ // @TODO necessary? Also saved when sending the inbox message
let promises = [receiver.save(), sender.save()];
await Promise.all(promises);
diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js
index 2bf134db24..91885602fb 100644
--- a/website/server/controllers/api-v3/news.js
+++ b/website/server/controllers/api-v3/news.js
@@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth';
let api = {};
// @TODO export this const, cannot export it from here because only routes are exported from controllers
-const LAST_ANNOUNCEMENT_TITLE = 'AUGUST SUBSCRIBER ITEMS AND WIKI SPOTLIGHT ON CUSTOMIZING THE HABITICA EXPERIENCE';
+const LAST_ANNOUNCEMENT_TITLE = 'SLEEPY AVATARS; LAST CHANCE FOR AUTUMNAL ARMOR SET AND FOREST FRIENDS BUNDLE';
const worldDmg = { // @TODO
bailey: false,
};
@@ -30,27 +30,24 @@ api.getNews = {
${res.t('newStuff')}
- 8/23/2018 - ${LAST_ANNOUNCEMENT_TITLE}
+ 9/27/2018 - ${LAST_ANNOUNCEMENT_TITLE}
-
- Subscribers also receive the ability to buy Gems for Gold -- the longer you subscribe, the more Gems you can buy per month! There are other perks as well, such as longer access to uncompressed data and a cute Jackalope pet. Best of all, subscriptions let us keep Habitica running. Thank you very much for your support -- it means a lot to us.
+ Is Your Avatar Asleep?
+ Hey Habiticans! You may have noticed we experienced a server outage on 25-September. During this issue, we put all users in the Inn to prevent any unfair damage. To check out of the Inn and resume damage from Dailies as well as boss damage in Quests, go to Menu>Social>Tavern>Details (on mobile) or Guilds>Tavern (on web) and tap the orange banner that says "Resume Damage."
+ Thank you all for your patience and support during the outage. We are always grateful for our exceptionally wonderful community! <3
+
+ Last Chance for Autumnal Armor Set
+ Reminder: this weekend is your last chance to subscribe and receive the Autumnal Set! Subscribing also lets you buy Gems for Gold. The longer your subscription, the more Gems you get!
+ Thanks so much for your support! You help keep Habitica running.
by Beffymaroo
-
+
+ Last Chance for Forest Friends Quest Bundle
+ This is also the final week to buy the discounted Forest Friends Pet Quest Bundle, featuring the Deer, Hedgehog, and Treeling quests all for seven Gems! Be sure to grab this bundle from the Quest Shop before it scampers into the underbrush!
+ by Beffymaroo and SabreCat
+ Art by Uncommon Criminal, InspectorCaracal, Leephon, aurakami, FuzzyTrees, PainterProphet, and plumilla
+ Writing by Daniel the Bard, Flutter Bee, and Lemoness
`,
});
@@ -68,9 +65,7 @@ api.getNews = {
*/
api.tellMeLaterNews = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/news/tell-me-later',
async handler (req, res) {
const user = res.locals.user;
diff --git a/website/server/controllers/api-v3/notifications.js b/website/server/controllers/api-v3/notifications.js
index 48fc61f304..114017c2d8 100644
--- a/website/server/controllers/api-v3/notifications.js
+++ b/website/server/controllers/api-v3/notifications.js
@@ -23,9 +23,7 @@ let api = {};
api.readNotification = {
method: 'POST',
url: '/notifications/:notificationId/read',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -67,9 +65,7 @@ api.readNotification = {
api.readNotifications = {
method: 'POST',
url: '/notifications/read',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -117,9 +113,7 @@ api.readNotifications = {
api.seeNotification = {
method: 'POST',
url: '/notifications/:notificationId/see',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -168,9 +162,7 @@ api.seeNotification = {
api.seeNotifications = {
method: 'POST',
url: '/notifications/see',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/pushNotifications.js b/website/server/controllers/api-v3/pushNotifications.js
index 4f0586d5ad..27c37f7812 100644
--- a/website/server/controllers/api-v3/pushNotifications.js
+++ b/website/server/controllers/api-v3/pushNotifications.js
@@ -22,9 +22,7 @@ let api = {};
api.addPushDevice = {
method: 'POST',
url: '/user/push-devices',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const user = res.locals.user;
@@ -72,9 +70,7 @@ api.addPushDevice = {
api.removePushDevice = {
method: 'DELETE',
url: '/user/push-devices/:regId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const user = res.locals.user;
diff --git a/website/server/controllers/api-v3/quests.js b/website/server/controllers/api-v3/quests.js
index 95b9ec4c83..e6206009e4 100644
--- a/website/server/controllers/api-v3/quests.js
+++ b/website/server/controllers/api-v3/quests.js
@@ -55,9 +55,7 @@ let api = {};
api.inviteToQuest = {
method: 'POST',
url: '/groups/:groupId/quests/invite/:questKey',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let questKey = req.params.questKey;
@@ -171,9 +169,7 @@ api.inviteToQuest = {
api.acceptQuest = {
method: 'POST',
url: '/groups/:groupId/quests/accept',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -232,9 +228,7 @@ api.acceptQuest = {
api.rejectQuest = {
method: 'POST',
url: '/groups/:groupId/quests/reject',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -297,9 +291,7 @@ api.rejectQuest = {
api.forceStart = {
method: 'POST',
url: '/groups/:groupId/quests/force-start',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -357,9 +349,7 @@ api.forceStart = {
api.cancelQuest = {
method: 'POST',
url: '/groups/:groupId/quests/cancel',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
// Cancel a quest BEFORE it has begun (i.e., in the invitation stage)
// Quest scroll has not yet left quest owner's inventory so no need to return it.
@@ -413,9 +403,7 @@ api.cancelQuest = {
api.abortQuest = {
method: 'POST',
url: '/groups/:groupId/quests/abort',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
// Abort a quest AFTER it has begun (see questCancel for BEFORE)
let user = res.locals.user;
@@ -482,9 +470,7 @@ api.abortQuest = {
api.leaveQuest = {
method: 'POST',
url: '/groups/:groupId/quests/leave',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
diff --git a/website/server/controllers/api-v3/shops.js b/website/server/controllers/api-v3/shops.js
index 11c0c8fac0..32c46bcd9d 100644
--- a/website/server/controllers/api-v3/shops.js
+++ b/website/server/controllers/api-v3/shops.js
@@ -15,9 +15,7 @@ let api = {};
api.getMarketItems = {
method: 'GET',
url: '/shops/market',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -38,9 +36,7 @@ api.getMarketItems = {
api.getMarketGear = {
method: 'GET',
url: '/shops/market-gear',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -64,9 +60,7 @@ api.getMarketGear = {
api.getQuestShopItems = {
method: 'GET',
url: '/shops/quests',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -88,9 +82,7 @@ api.getQuestShopItems = {
api.getTimeTravelerShopItems = {
method: 'GET',
url: '/shops/time-travelers',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -112,9 +104,7 @@ api.getTimeTravelerShopItems = {
api.getSeasonalShopItems = {
method: 'GET',
url: '/shops/seasonal',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -136,9 +126,7 @@ api.getSeasonalShopItems = {
api.getBackgroundShopItems = {
method: 'GET',
url: '/shops/backgrounds',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/tags.js b/website/server/controllers/api-v3/tags.js
index 520db3edbf..9b8ea2a596 100644
--- a/website/server/controllers/api-v3/tags.js
+++ b/website/server/controllers/api-v3/tags.js
@@ -38,9 +38,7 @@ let api = {};
api.createTag = {
method: 'POST',
url: '/tags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -66,9 +64,7 @@ api.createTag = {
api.getTags = {
method: 'GET',
url: '/tags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
res.respond(200, user.tags);
@@ -93,9 +89,7 @@ api.getTags = {
api.getTag = {
method: 'GET',
url: '/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -132,9 +126,7 @@ api.getTag = {
api.updateTag = {
method: 'PUT',
url: '/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -176,9 +168,7 @@ api.updateTag = {
api.reorderTags = {
method: 'POST',
url: '/reorder-tags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -217,9 +207,7 @@ api.reorderTags = {
api.deleteTag = {
method: 'DELETE',
url: '/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/tasks.js b/website/server/controllers/api-v3/tasks.js
index 39a12edf55..0ee33b26a5 100644
--- a/website/server/controllers/api-v3/tasks.js
+++ b/website/server/controllers/api-v3/tasks.js
@@ -158,9 +158,7 @@ let requiredGroupFields = '_id leader tasksOrder name';
api.createUserTasks = {
method: 'POST',
url: '/tasks/user',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let tasks = await createTasks(req, res, {user});
@@ -232,9 +230,7 @@ api.createUserTasks = {
api.createChallengeTasks = {
method: 'POST',
url: '/tasks/challenge/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
@@ -328,9 +324,7 @@ api.getUserTasks = {
api.getChallengeTasks = {
method: 'GET',
url: '/tasks/challenge/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
let types = Tasks.tasksTypes.map(type => `${type}s`);
@@ -380,9 +374,7 @@ api.getChallengeTasks = {
api.getTask = {
method: 'GET',
url: '/tasks/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let taskId = req.params.taskId;
@@ -436,9 +428,7 @@ api.getTask = {
api.updateTask = {
method: 'PUT',
url: '/tasks/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -552,9 +542,7 @@ api.updateTask = {
api.scoreTask = {
method: 'POST',
url: '/tasks/:taskId/score/:direction',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('direction', res.t('directionUpDown')).notEmpty().isIn(['up', 'down']);
@@ -728,9 +716,7 @@ api.scoreTask = {
api.moveTask = {
method: 'POST',
url: '/tasks/:taskId/move/to/:position',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty();
req.checkParams('position', res.t('positionRequired')).notEmpty().isNumeric();
@@ -799,9 +785,7 @@ api.moveTask = {
api.addChecklistItem = {
method: 'POST',
url: '/tasks/:taskId/checklist',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -861,9 +845,7 @@ api.addChecklistItem = {
api.scoreCheckListItem = {
method: 'POST',
url: '/tasks/:taskId/checklist/:itemId/score',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -917,9 +899,7 @@ api.scoreCheckListItem = {
api.updateChecklistItem = {
method: 'PUT',
url: '/tasks/:taskId/checklist/:itemId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -984,9 +964,7 @@ api.updateChecklistItem = {
api.removeChecklistItem = {
method: 'DELETE',
url: '/tasks/:taskId/checklist/:itemId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -1049,9 +1027,7 @@ api.removeChecklistItem = {
api.addTagToTask = {
method: 'POST',
url: '/tasks/:taskId/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1100,9 +1076,7 @@ api.addTagToTask = {
api.removeTagFromTask = {
method: 'DELETE',
url: '/tasks/:taskId/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1147,9 +1121,7 @@ api.removeTagFromTask = {
api.unlinkAllTasks = {
method: 'POST',
url: '/tasks/unlink-all/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
req.checkQuery('keep', apiError('keepOrRemoveAll')).notEmpty().isIn(['keep-all', 'remove-all']);
@@ -1216,9 +1188,7 @@ api.unlinkAllTasks = {
api.unlinkOneTask = {
method: 'POST',
url: '/tasks/unlink-one/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkQuery('keep', apiError('keepOrRemove')).notEmpty().isIn(['keep', 'remove']);
@@ -1268,9 +1238,7 @@ api.unlinkOneTask = {
api.clearCompletedTodos = {
method: 'POST',
url: '/tasks/clearCompletedTodos',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1321,9 +1289,7 @@ api.clearCompletedTodos = {
api.deleteTask = {
method: 'DELETE',
url: '/tasks/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
diff --git a/website/server/controllers/api-v3/tasks/groups.js b/website/server/controllers/api-v3/tasks/groups.js
index 25b0d690ca..f89dea55cf 100644
--- a/website/server/controllers/api-v3/tasks/groups.js
+++ b/website/server/controllers/api-v3/tasks/groups.js
@@ -42,9 +42,7 @@ let api = {};
api.createGroupTasks = {
method: 'POST',
url: '/tasks/group/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty().isUUID();
@@ -88,9 +86,7 @@ api.createGroupTasks = {
api.getGroupTasks = {
method: 'GET',
url: '/tasks/group/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty().isUUID();
req.checkQuery('type', res.t('invalidTasksType')).optional().isIn(types);
@@ -123,9 +119,7 @@ api.getGroupTasks = {
api.groupMoveTask = {
method: 'POST',
url: '/group-tasks/:taskId/move/to/:position',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty();
req.checkParams('position', res.t('positionRequired')).notEmpty().isNumeric();
@@ -176,9 +170,7 @@ api.groupMoveTask = {
api.assignTask = {
method: 'POST',
url: '/tasks/:taskId/assign/:assignedUserId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('assignedUserId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -245,9 +237,7 @@ api.assignTask = {
api.unassignTask = {
method: 'POST',
url: '/tasks/:taskId/unassign/:assignedUserId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('assignedUserId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -297,9 +287,7 @@ api.unassignTask = {
api.approveTask = {
method: 'POST',
url: '/tasks/:taskId/approve/:userId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('userId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -397,9 +385,7 @@ api.approveTask = {
api.taskNeedsWork = {
method: 'POST',
url: '/tasks/:taskId/needs-work/:userId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('userId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -496,9 +482,7 @@ api.taskNeedsWork = {
api.getGroupApprovals = {
method: 'GET',
url: '/approvals/group/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty().isUUID();
diff --git a/website/server/controllers/api-v3/user.js b/website/server/controllers/api-v3/user.js
index 651033919a..a52de6b76c 100644
--- a/website/server/controllers/api-v3/user.js
+++ b/website/server/controllers/api-v3/user.js
@@ -8,9 +8,6 @@ import {
basicFields as basicGroupFields,
model as Group,
} from '../../models/group';
-import {
- model as User,
-} from '../../models/user';
import * as Tasks from '../../models/task';
import _ from 'lodash';
import * as passwordUtils from '../../libs/password';
@@ -22,6 +19,8 @@ import {
sendTxn as txnEmail,
} from '../../libs/email';
import Queue from '../../libs/queue';
+import * as inboxLib from '../../libs/inbox';
+import * as userLib from '../../libs/user';
import nconf from 'nconf';
import get from 'lodash/get';
@@ -35,6 +34,8 @@ const DELETE_CONFIRMATION = 'DELETE';
let api = {};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {get} /api/v3/user Get the authenticated user's profile
* @apiName UserGet
@@ -47,7 +48,7 @@ let api = {};
* Flags (including armoire, tutorial, tour etc...)
* Guilds
* History (including timestamps and values)
- * Inbox (includes message history)
+ * Inbox
* Invitations (to parties/guilds)
* Items (character's full inventory)
* New Messages (flags for groups/guilds that have new messages)
@@ -83,20 +84,7 @@ api.getUser = {
middlewares: [authWithHeaders()],
url: '/user',
async handler (req, res) {
- let user = res.locals.user;
- let userToJSON = user.toJSON();
-
- // Remove apiToken from response TODO make it private at the user level? returned in signup/login
- delete userToJSON.apiToken;
-
- if (!req.query.userFields) {
- let {daysMissed} = user.daysUserHasMissed(new Date(), req);
- userToJSON.needsCron = false;
- if (daysMissed > 0) userToJSON.needsCron = true;
- User.addComputedStatsToJSONObj(userToJSON.stats, userToJSON);
- }
-
- return res.respond(200, userToJSON);
+ await userLib.get(req, res, { isV3: true });
},
};
@@ -128,9 +116,7 @@ api.getUser = {
*/
api.getBuyList = {
method: 'GET',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/inventory/buy',
async handler (req, res) {
let list = _.cloneDeep(common.updateStore(res.locals.user));
@@ -173,9 +159,7 @@ api.getBuyList = {
*/
api.getInAppRewardsList = {
method: 'GET',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/in-app-rewards',
async handler (req, res) {
let list = common.inAppRewards(res.locals.user);
@@ -191,78 +175,7 @@ api.getInAppRewardsList = {
},
};
-let updatablePaths = [
- '_ABtests.counter',
-
- 'flags.customizationsNotification',
- 'flags.showTour',
- 'flags.tour',
- 'flags.tutorial',
- 'flags.communityGuidelinesAccepted',
- 'flags.welcomed',
- 'flags.cardReceived',
- 'flags.warnedLowHealth',
- 'flags.newStuff',
-
- 'achievements',
-
- 'party.order',
- 'party.orderAscending',
- 'party.quest.completed',
- 'party.quest.RSVPNeeded',
-
- 'preferences',
- 'profile',
- 'stats',
- 'inbox.optOut',
- 'tags',
-];
-
-// This tells us for which paths users can call `PUT /user`.
-// The trick here is to only accept leaf paths, not root/intermediate paths (see http://goo.gl/OEzkAs)
-let acceptablePUTPaths = _.reduce(require('./../../models/user').schema.paths, (accumulator, val, leaf) => {
- let found = _.find(updatablePaths, (rootPath) => {
- return leaf.indexOf(rootPath) === 0;
- });
-
- if (found) accumulator[leaf] = true;
-
- return accumulator;
-}, {});
-
-let restrictedPUTSubPaths = [
- 'stats.class',
-
- 'preferences.disableClasses',
- 'preferences.sleep',
- 'preferences.webhooks',
-];
-
-_.each(restrictedPUTSubPaths, (removePath) => {
- delete acceptablePUTPaths[removePath];
-});
-
-let requiresPurchase = {
- 'preferences.background': 'background',
- 'preferences.shirt': 'shirt',
- 'preferences.size': 'size',
- 'preferences.skin': 'skin',
- 'preferences.hair.bangs': 'hair.bangs',
- 'preferences.hair.base': 'hair.base',
- 'preferences.hair.beard': 'hair.beard',
- 'preferences.hair.color': 'hair.color',
- 'preferences.hair.flower': 'hair.flower',
- 'preferences.hair.mustache': 'hair.mustache',
-};
-
-let checkPreferencePurchase = (user, path, item) => {
- let itemPath = `${path}.${item}`;
- let appearance = _.get(common.content.appearances, itemPath);
- if (!appearance) return false;
- if (appearance.price === 0) return true;
-
- return _.get(user.purchased, itemPath);
-};
+/* NOTE this route has also an API v4 version */
/**
* @api {put} /api/v3/user Update the user
@@ -297,67 +210,7 @@ api.updateUser = {
middlewares: [authWithHeaders()],
url: '/user',
async handler (req, res) {
- let user = res.locals.user;
-
- let promisesForTagsRemoval = [];
-
- _.each(req.body, (val, key) => {
- let purchasable = requiresPurchase[key];
-
- if (purchasable && !checkPreferencePurchase(user, purchasable, val)) {
- throw new NotAuthorized(res.t('mustPurchaseToSet', { val, key }));
- }
-
- if (acceptablePUTPaths[key] && key !== 'tags') {
- _.set(user, key, val);
- } else if (key === 'tags') {
- if (!Array.isArray(val)) throw new BadRequest('mustBeArray');
-
- const removedTagsIds = [];
-
- const oldTags = [];
-
- // Keep challenge and group tags
- user.tags.forEach(t => {
- if (t.group) {
- oldTags.push(t);
- } else {
- removedTagsIds.push(t.id);
- }
- });
-
- user.tags = oldTags;
-
- val.forEach(t => {
- let oldI = removedTagsIds.findIndex(id => id === t.id);
- if (oldI > -1) {
- removedTagsIds.splice(oldI, 1);
- }
-
- user.tags.push(t);
- });
-
- // Remove from all the tasks
- // NOTE each tag to remove requires a query
-
- promisesForTagsRemoval = removedTagsIds.map(tagId => {
- return Tasks.Task.update({
- userId: user._id,
- }, {
- $pull: {
- tags: tagId,
- },
- }, {multi: true}).exec();
- });
- } else {
- throw new NotAuthorized(res.t('messageUserOperationProtected', { operation: key }));
- }
- });
-
-
- await Promise.all([user.save()].concat(promisesForTagsRemoval));
-
- return res.respond(200, user);
+ await userLib.update(req, res, { isV3: true });
},
};
@@ -488,7 +341,7 @@ api.getUserAnonymized = {
middlewares: [authWithHeaders()],
url: '/user/anonymized',
async handler (req, res) {
- let user = res.locals.user.toJSON();
+ let user = await res.locals.user.toJSONWithInbox();
user.stats.toNextLevel = common.tnl(user.stats.lvl);
user.stats.maxHealth = common.maxHealth;
user.stats.maxMP = common.statsComputed(res.locals.user).maxMP;
@@ -513,6 +366,7 @@ api.getUserAnonymized = {
_.forEach(user.inbox.messages, (msg) => {
msg.text = 'inbox message text';
});
+
_.forEach(user.tags, (tag) => {
tag.name = 'tag';
tag.challenge = 'challenge';
@@ -556,9 +410,7 @@ api.getUserAnonymized = {
*/
api.sleep = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/sleep',
async handler (req, res) {
let user = res.locals.user;
@@ -602,9 +454,7 @@ const buyKnownKeys = ['armoire', 'mystery', 'potion', 'quest', 'special'];
*/
api.buy = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -668,9 +518,7 @@ api.buy = {
*/
api.buyGear = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-gear/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -710,9 +558,7 @@ api.buyGear = {
*/
api.buyArmoire = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-armoire',
async handler (req, res) {
let user = res.locals.user;
@@ -752,9 +598,7 @@ api.buyArmoire = {
*/
api.buyHealthPotion = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-health-potion',
async handler (req, res) {
let user = res.locals.user;
@@ -796,9 +640,7 @@ api.buyHealthPotion = {
*/
api.buyMysterySet = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-mystery-set/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -841,9 +683,7 @@ api.buyMysterySet = {
*/
api.buyQuest = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-quest/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -883,9 +723,7 @@ api.buyQuest = {
*/
api.buySpecialSpell = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-special-spell/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -929,9 +767,7 @@ api.buySpecialSpell = {
*/
api.hatch = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/hatch/:egg/:hatchingPotion',
async handler (req, res) {
let user = res.locals.user;
@@ -983,9 +819,7 @@ api.hatch = {
*/
api.equip = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/equip/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1020,9 +854,7 @@ api.equip = {
*/
api.feed = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/feed/:pet/:food',
async handler (req, res) {
let user = res.locals.user;
@@ -1066,9 +898,7 @@ api.feed = {
*/
api.changeClass = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/change-class',
async handler (req, res) {
let user = res.locals.user;
@@ -1089,9 +919,7 @@ api.changeClass = {
*/
api.disableClasses = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/disable-classes',
async handler (req, res) {
let user = res.locals.user;
@@ -1123,9 +951,7 @@ api.disableClasses = {
*/
api.purchase = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/purchase/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1172,9 +998,7 @@ api.purchase = {
*/
api.userPurchaseHourglass = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/purchase-hourglass/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1226,9 +1050,7 @@ api.userPurchaseHourglass = {
*/
api.readCard = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/read-card/:cardType',
async handler (req, res) {
let user = res.locals.user;
@@ -1270,9 +1092,7 @@ api.readCard = {
*/
api.userOpenMysteryItem = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/open-mystery-item',
async handler (req, res) {
let user = res.locals.user;
@@ -1304,9 +1124,7 @@ api.userOpenMysteryItem = {
*/
api.userReleasePets = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/release-pets',
async handler (req, res) {
let user = res.locals.user;
@@ -1355,9 +1173,7 @@ api.userReleasePets = {
*/
api.userReleaseBoth = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/release-both',
async handler (req, res) {
let user = res.locals.user;
@@ -1393,9 +1209,7 @@ api.userReleaseBoth = {
*/
api.userReleaseMounts = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/release-mounts',
async handler (req, res) {
let user = res.locals.user;
@@ -1425,9 +1239,7 @@ api.userReleaseMounts = {
*/
api.userSell = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/sell/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1470,9 +1282,7 @@ api.userSell = {
*/
api.userUnlock = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/unlock',
async handler (req, res) {
let user = res.locals.user;
@@ -1498,9 +1308,7 @@ api.userUnlock = {
*/
api.userRevive = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/revive',
async handler (req, res) {
let user = res.locals.user;
@@ -1510,6 +1318,8 @@ api.userRevive = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/rebirth Use Orb of Rebirth on user
* @apiName UserRebirth
@@ -1540,27 +1350,10 @@ api.userRevive = {
*/
api.userRebirth = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/rebirth',
async handler (req, res) {
- let user = res.locals.user;
- let tasks = await Tasks.Task.find({
- userId: user._id,
- type: {$in: ['daily', 'habit', 'todo']},
- ...Tasks.taskIsGroupOrChallengeQuery,
- }).exec();
-
- let rebirthRes = common.ops.rebirth(user, tasks, req, res.analytics);
-
- let toSave = tasks.map(task => task.save());
-
- toSave.push(user.save());
-
- await Promise.all(toSave);
-
- res.respond(200, ...rebirthRes);
+ await userLib.rebirth(req, res, { isV3: true });
},
};
@@ -1591,6 +1384,8 @@ api.blockUser = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {delete} /api/v3/user/messages/:id Delete a message
* @apiName deleteMessage
@@ -1625,12 +1420,15 @@ api.deleteMessage = {
url: '/user/messages/:id',
async handler (req, res) {
let user = res.locals.user;
- let deletePMRes = common.ops.deletePM(user, req);
- await user.save();
- res.respond(200, ...deletePMRes);
+
+ await inboxLib.deleteMessage(user, req.params.id);
+
+ res.respond(200, ...[await inboxLib.getUserInbox(user, false)]);
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {delete} /api/v3/user/messages Delete all messages
* @apiName clearMessages
@@ -1647,9 +1445,10 @@ api.clearMessages = {
url: '/user/messages',
async handler (req, res) {
let user = res.locals.user;
- let clearPMsRes = common.ops.clearPMs(user, req);
- await user.save();
- res.respond(200, ...clearPMsRes);
+
+ await inboxLib.clearPMs(user);
+
+ res.respond(200, ...[]);
},
};
@@ -1658,7 +1457,7 @@ api.clearMessages = {
* @apiName markPmsRead
* @apiGroup User
*
- * @apiSuccess {Object} data user.inbox.messages
+ * @apiSuccess {Object} data user.inbox.newMessages
*
* @apiSuccessExample {json}
* {"success":true,"data":[0,"Your private messages have been marked as read"],"notifications":[]}
@@ -1676,6 +1475,8 @@ api.markPmsRead = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/reroll Reroll a user using the Fortify Potion
* @apiName UserReroll
@@ -1700,29 +1501,15 @@ api.markPmsRead = {
*/
api.userReroll = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/reroll',
async handler (req, res) {
- let user = res.locals.user;
- let query = {
- userId: user._id,
- type: {$in: ['daily', 'habit', 'todo']},
- ...Tasks.taskIsGroupOrChallengeQuery,
- };
- let tasks = await Tasks.Task.find(query).exec();
- let rerollRes = common.ops.reroll(user, tasks, req, res.analytics);
-
- let promises = tasks.map(task => task.save());
- promises.push(user.save());
-
- await Promise.all(promises);
-
- res.respond(200, ...rerollRes);
+ await userLib.reroll(req, res, { isV3: true });
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/reset Reset user
* @apiName UserReset
@@ -1746,32 +1533,10 @@ api.userReroll = {
*/
api.userReset = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/reset',
async handler (req, res) {
- let user = res.locals.user;
-
- let tasks = await Tasks.Task.find({
- userId: user._id,
- ...Tasks.taskIsGroupOrChallengeQuery,
- }).select('_id type challenge group').exec();
-
- let resetRes = common.ops.reset(user, tasks);
-
- await Promise.all([
- Tasks.Task.remove({_id: {$in: resetRes[0].tasksToRemove}, userId: user._id}),
- user.save(),
- ]);
-
- res.analytics.track('account reset', {
- uuid: user._id,
- hitType: 'event',
- category: 'behavior',
- });
-
- res.respond(200, ...resetRes);
+ await userLib.reset(req, res, { isV3: true });
},
};
@@ -1799,9 +1564,7 @@ api.userReset = {
*/
api.setCustomDayStart = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/custom-day-start',
async handler (req, res) {
let user = res.locals.user;
@@ -1839,9 +1602,7 @@ api.setCustomDayStart = {
*/
api.togglePinnedItem = {
method: 'GET',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/toggle-pinned-item/:type/:path',
async handler (req, res) {
let user = res.locals.user;
@@ -1879,9 +1640,7 @@ api.togglePinnedItem = {
api.movePinnedItem = {
method: 'POST',
url: '/user/move-pinned-item/:path/move/to/:position',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('path', res.t('taskIdRequired')).notEmpty();
req.checkParams('position', res.t('positionRequired')).notEmpty().isNumeric();
diff --git a/website/server/controllers/api-v3/user/spells.js b/website/server/controllers/api-v3/user/spells.js
index c7c0492d26..8740458427 100644
--- a/website/server/controllers/api-v3/user/spells.js
+++ b/website/server/controllers/api-v3/user/spells.js
@@ -1,25 +1,12 @@
import { authWithHeaders } from '../../../middlewares/auth';
-import common from '../../../../common';
import {
- model as Group,
-} from '../../../models/group';
-import {
- NotAuthorized,
- NotFound,
-} from '../../../libs/errors';
-import {
- castTaskSpell,
- castMultiTaskSpell,
- castSelfSpell,
- castPartySpell,
- castUserSpell,
+ castSpell,
} from '../../../libs/spells';
-import apiError from '../../../libs/apiError';
-
-const partyMembersFields = 'profile.name stats achievements items.special';
let api = {};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/class/cast/:spellId Cast a skill (spell) on a target
* @apiName UserCast
@@ -72,90 +59,9 @@ api.castSpell = {
middlewares: [authWithHeaders()],
url: '/user/class/cast/:spellId',
async handler (req, res) {
- let user = res.locals.user;
- let spellId = req.params.spellId;
- let targetId = req.query.targetId;
- const quantity = req.body.quantity || 1;
-
- // optional because not required by all targetTypes, presence is checked later if necessary
- req.checkQuery('targetId', res.t('targetIdUUID')).optional().isUUID();
-
- let reqValidationErrors = req.validationErrors();
- if (reqValidationErrors) throw reqValidationErrors;
-
- let klass = common.content.spells.special[spellId] ? 'special' : user.stats.class;
- let spell = common.content.spells[klass][spellId];
-
- if (!spell) throw new NotFound(apiError('spellNotFound', {spellId}));
- if (spell.mana > user.stats.mp) throw new NotAuthorized(res.t('notEnoughMana'));
- if (spell.value > user.stats.gp && !spell.previousPurchase) throw new NotAuthorized(res.t('messageNotEnoughGold'));
- if (spell.lvl > user.stats.lvl) throw new NotAuthorized(res.t('spellLevelTooHigh', {level: spell.lvl}));
-
- let targetType = spell.target;
-
- if (targetType === 'task') {
- const results = await castTaskSpell(res, req, targetId, user, spell, quantity);
- res.respond(200, {
- user: results[0],
- task: results[1],
- });
- } else if (targetType === 'self') {
- await castSelfSpell(req, user, spell, quantity);
- res.respond(200, { user });
- } else if (targetType === 'tasks') { // new target type in v3: when all the user's tasks are necessary
- const response = await castMultiTaskSpell(req, user, spell, quantity);
- res.respond(200, response);
- } else if (targetType === 'party' || targetType === 'user') {
- const party = await Group.getGroup({groupId: 'party', user});
- // arrays of users when targetType is 'party' otherwise single users
- let partyMembers;
-
- if (targetType === 'party') {
- partyMembers = await castPartySpell(req, party, partyMembers, user, spell, quantity);
- } else {
- partyMembers = await castUserSpell(res, req, party, partyMembers, targetId, user, spell, quantity);
- }
-
- let partyMembersRes = Array.isArray(partyMembers) ? partyMembers : [partyMembers];
-
- // Only return some fields.
- // See comment above on why we can't just select the necessary fields when querying
- partyMembersRes = partyMembersRes.map(partyMember => {
- return common.pickDeep(partyMember.toJSON(), common.$w(partyMembersFields));
- });
-
- res.respond(200, {
- partyMembers: partyMembersRes,
- user,
- });
-
- if (party && !spell.silent) {
- if (targetType === 'user') {
- const newChatMessage = party.sendChat({
- message: `\`${common.i18n.t('chatCastSpellUser', {username: user.profile.name, spell: spell.text(), target: partyMembers.profile.name}, 'en')}\``,
- info: {
- type: 'spell_cast_user',
- user: user.profile.name,
- class: klass,
- spell: spellId,
- target: partyMembers.profile.name,
- },
- });
- await newChatMessage.save();
- } else {
- const newChatMessage = party.sendChat({
- message: `\`${common.i18n.t('chatCastSpellParty', {username: user.profile.name, spell: spell.text()}, 'en')}\``,
- info: {
- type: 'spell_cast_party',
- user: user.profile.name,
- class: klass,
- spell: spellId,
- },
- });
- await newChatMessage.save();
- }
- }
- }
+ await castSpell(req, res, {
+ isV3: true,
+ });
},
};
diff --git a/website/server/controllers/api-v3/user/stats.js b/website/server/controllers/api-v3/user/stats.js
index 658a3e4fbd..c3d3ed74e1 100644
--- a/website/server/controllers/api-v3/user/stats.js
+++ b/website/server/controllers/api-v3/user/stats.js
@@ -27,9 +27,7 @@ let api = {};
*/
api.allocate = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/allocate',
async handler (req, res) {
let user = res.locals.user;
@@ -69,9 +67,7 @@ api.allocate = {
*/
api.allocateBulk = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/allocate-bulk',
async handler (req, res) {
let user = res.locals.user;
@@ -128,9 +124,7 @@ api.allocateBulk = {
*/
api.allocateNow = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/allocate-now',
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/webhook.js b/website/server/controllers/api-v3/webhook.js
index 0084caea85..094e280088 100644
--- a/website/server/controllers/api-v3/webhook.js
+++ b/website/server/controllers/api-v3/webhook.js
@@ -73,9 +73,7 @@ let api = {};
*/
api.addWebhook = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/webhook',
async handler (req, res) {
let user = res.locals.user;
@@ -135,9 +133,7 @@ api.addWebhook = {
*/
api.updateWebhook = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/webhook/:id',
async handler (req, res) {
let user = res.locals.user;
@@ -188,9 +184,7 @@ api.updateWebhook = {
*/
api.deleteWebhook = {
method: 'DELETE',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/webhook/:id',
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v4/auth.js b/website/server/controllers/api-v4/auth.js
new file mode 100644
index 0000000000..ce194aefd1
--- /dev/null
+++ b/website/server/controllers/api-v4/auth.js
@@ -0,0 +1,38 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as authLib from '../../libs/auth';
+
+const api = {};
+
+/*
+* NOTE most user routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/auth/local/register Register
+ * @apiDescription Register a new user with email, login name, and password or attach local auth to a social user
+ * @apiName UserRegisterLocal
+ * @apiGroup User
+ *
+ * @apiParam (Body) {String} username Login name of the new user. Must be 1-36 characters, containing only a-z, 0-9, hyphens (-), or underscores (_).
+ * @apiParam (Body) {String} email Email address of the new user
+ * @apiParam (Body) {String} password Password for the new user
+ * @apiParam (Body) {String} confirmPassword Password confirmation
+ *
+ * @apiSuccess {Object} data The user object, if local auth was just attached to a social user then only user.auth.local
+ */
+api.registerLocal = {
+ method: 'POST',
+ middlewares: [authWithHeaders({
+ optional: true,
+ })],
+ url: '/user/auth/local/register',
+ async handler (req, res) {
+ await authLib.registerLocal(req, res, { isV3: false });
+ },
+};
+
+module.exports = api;
\ No newline at end of file
diff --git a/website/server/controllers/api-v4/coupon.js b/website/server/controllers/api-v4/coupon.js
new file mode 100644
index 0000000000..dde0f8c8d0
--- /dev/null
+++ b/website/server/controllers/api-v4/coupon.js
@@ -0,0 +1,34 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as couponsLib from '../../libs/coupons';
+
+/*
+* NOTE most coupons routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+const api = {};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/coupons/enter/:code Redeem a coupon code
+ * @apiName RedeemCouponCode
+ * @apiGroup Coupon
+ *
+ * @apiParam (Path) {String} code The coupon code to apply
+ *
+ * @apiSuccess {Object} data User object
+ */
+api.enterCouponCode = {
+ method: 'POST',
+ url: '/coupons/enter/:code',
+ middlewares: [authWithHeaders()],
+ async handler (req, res) {
+ const user = res.locals.user;
+ await couponsLib.enterCode(req, res, user);
+ res.respond(200, user);
+ },
+};
+
+module.exports = api;
\ No newline at end of file
diff --git a/website/server/controllers/api-v4/inbox.js b/website/server/controllers/api-v4/inbox.js
index f2684d9e9b..bfceab993c 100644
--- a/website/server/controllers/api-v4/inbox.js
+++ b/website/server/controllers/api-v4/inbox.js
@@ -1,28 +1,74 @@
import { authWithHeaders } from '../../middlewares/auth';
-import { toArray, orderBy } from 'lodash';
+import apiError from '../../libs/apiError';
+import * as inboxLib from '../../libs/inbox';
+import {
+ NotFound,
+} from '../../libs/errors';
-let api = {};
+const api = {};
/* NOTE most inbox routes are either in the user or members controller */
-/**
- * @api {get} /api/v3/inbox/messages Get inbox messages for a user
- * @apiPrivate
- * @apiName GetInboxMessages
- * @apiGroup Inbox
- * @apiDescription Get inbox messages for a user
- *
- * @apiSuccess {Array} data An array of inbox messages
- */
-api.getInboxMessages = {
- method: 'GET',
- url: '/inbox/messages',
- middlewares: [authWithHeaders()],
- async handler (req, res) {
- const messagesObj = res.locals.user.inbox.messages;
- const messagesArray = orderBy(toArray(messagesObj), ['timestamp'], ['desc']);
+/* NOTE the getInboxMessages route is implemented in v3 only */
- res.respond(200, messagesArray);
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {delete} /api/v4/inbox/messages/:messageId Delete a message
+ * @apiName deleteMessage
+ * @apiGroup User
+ *
+ * @apiParam (Path) {UUID} messageId The id of the message to delete
+ *
+ * @apiSuccess {Object} data Empty object
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {}
+ * }
+ */
+api.deleteMessage = {
+ method: 'DELETE',
+ middlewares: [authWithHeaders()],
+ url: '/inbox/messages/:messageId',
+ async handler (req, res) {
+ req.checkParams('messageId', apiError('messageIdRequired')).notEmpty().isUUID();
+
+ const validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ const messageId = req.params.messageId;
+ const user = res.locals.user;
+
+ const deleted = await inboxLib.deleteMessage(user, messageId);
+ if (!deleted) throw new NotFound(res.t('messageGroupChatNotFound'));
+
+ res.respond(200);
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {delete} /api/v4/inbox/clear Delete all messages
+ * @apiName clearMessages
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data Empty object
+ *
+ * @apiSuccessExample {json}
+ * {"success":true,"data":{},"notifications":[]}
+ */
+api.clearMessages = {
+ method: 'DELETE',
+ middlewares: [authWithHeaders()],
+ url: '/inbox/clear',
+ async handler (req, res) {
+ const user = res.locals.user;
+
+ await inboxLib.clearPMs(user);
+
+ res.respond(200, {});
},
};
diff --git a/website/server/controllers/api-v4/user.js b/website/server/controllers/api-v4/user.js
new file mode 100644
index 0000000000..01cc9e7034
--- /dev/null
+++ b/website/server/controllers/api-v4/user.js
@@ -0,0 +1,209 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as userLib from '../../libs/user';
+
+const api = {};
+
+/*
+* NOTE most user routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {get} /api/v4/user Get the authenticated user's profile
+ * @apiName UserGet
+ * @apiGroup User
+ *
+ * @apiDescription The user profile contains data related to the authenticated user including (but not limited to);
+ * Achievements
+ * Authentications (including types and timestamps)
+ * Challenges
+ * Flags (including armoire, tutorial, tour etc...)
+ * Guilds
+ * History (including timestamps and values)
+ * Inbox (without messages in v4)
+ * Invitations (to parties/guilds)
+ * Items (character's full inventory)
+ * New Messages (flags for groups/guilds that have new messages)
+ * Notifications
+ * Party (includes current quest information)
+ * Preferences (user selected prefs)
+ * Profile (name, photo url, blurb)
+ * Purchased (includes purchase history, gem purchased items, plans)
+ * PushDevices (identifiers for mobile devices authorized)
+ * Stats (standard RPG stats, class, buffs, xp, etc..)
+ * Tags
+ * TasksOrder (list of all ids for dailys, habits, rewards and todos)
+ *
+ * @apiParam (Query) {UUID} userFields A list of comma separated user fields to be returned instead of the entire document. Notifications are always returned.
+ *
+ * @apiExample {curl} Example use:
+ * curl -i https://habitica.com/api/v3/user?userFields=achievements,items.mounts
+ *
+ * @apiSuccess {Object} data The user object
+ *
+ * @apiSuccessExample {json} Result:
+ * {
+ * "success": true,
+ * "data": {
+ * -- User data included here, for details of the user model see:
+ * -- https://github.com/HabitRPG/habitica/tree/develop/website/server/models/user
+ * }
+ * }
+ *
+*/
+api.getUser = {
+ method: 'GET',
+ middlewares: [authWithHeaders()],
+ url: '/user',
+ async handler (req, res) {
+ await userLib.get(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {put} /api/v4/user Update the user
+ * @apiName UserUpdate
+ * @apiGroup User
+ *
+ * @apiDescription Some of the user items can be updated, such as preferences, flags and stats.
+ ^
+ * @apiParamExample {json} Request-Example:
+ * {
+ * "achievements.habitBirthdays": 2,
+ * "profile.name": "MadPink",
+ * "stats.hp": 53,
+ * "flags.warnedLowHealth":false,
+ * "preferences.allocationMode":"flat",
+ * "preferences.hair.bangs": 3
+ * }
+ *
+ * @apiSuccess {Object} data The updated user object, the result is identical to the get user call
+ *
+ * @apiError (401) {NotAuthorized} messageUserOperationProtected Returned if the change is not allowed.
+ *
+ * @apiErrorExample {json} Error-Response:
+ * {
+ * "success": false,
+ * "error": "NotAuthorized",
+ * "message": "path `stats.class` was not saved, as it's a protected path."
+ * }
+ */
+api.updateUser = {
+ method: 'PUT',
+ middlewares: [authWithHeaders()],
+ url: '/user',
+ async handler (req, res) {
+ await userLib.update(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/rebirth Use Orb of Rebirth on user
+ * @apiName UserRebirth
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data.user
+ * @apiSuccess {Array} data.tasks User's modified tasks (no rewards)
+ * @apiSuccess {String} message Success message
+ *
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {
+ * },
+ * "message": "You have been reborn!"
+ * {
+ * "type": "REBIRTH_ACHIEVEMENT",
+ * "data": {},
+ * "id": "424d69fa-3a6d-47db-96a4-6db42ed77a43"
+ * }
+ * ]
+ * }
+ *
+ * @apiError {NotAuthorized} Not enough gems
+ *
+ * @apiErrorExample {json}
+ * {"success":false,"error":"NotAuthorized","message":"Not enough Gems"}
+ */
+api.userRebirth = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/rebirth',
+ async handler (req, res) {
+ await userLib.rebirth(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/reroll Reroll a user using the Fortify Potion
+ * @apiName UserReroll
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data.user
+ * @apiSuccess {Object} data.tasks User's modified tasks (no rewards)
+ * @apiSuccess {Object} message Success message
+ *
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {
+ * },
+ * "message": "Fortify complete!"
+ * }
+ *
+ * @apiError {NotAuthorized} Not enough gems
+ *
+ * @apiErrorExample {json}
+ * {"success":false,"error":"NotAuthorized","message":"Not enough Gems"}
+ */
+api.userReroll = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/reroll',
+ async handler (req, res) {
+ await userLib.reroll(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/reset Reset user
+ * @apiName UserReset
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data.user
+ * @apiSuccess {Array} data.tasksToRemove IDs of removed tasks
+ * @apiSuccess {String} message Success message
+ *
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {--TRUNCATED--},
+ * "tasksToRemove": [
+ * "ebb8748c-0565-431e-9036-b908da25c6b4",
+ * "12a1cecf-68eb-40a7-b282-4f388c32124c"
+ * ]
+ * },
+ * "message": "Reset complete!"
+ * }
+ */
+api.userReset = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/reset',
+ async handler (req, res) {
+ await userLib.reset(req, res, { isV3: false });
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/api-v4/user/spells.js b/website/server/controllers/api-v4/user/spells.js
new file mode 100644
index 0000000000..b167a1aa0a
--- /dev/null
+++ b/website/server/controllers/api-v4/user/spells.js
@@ -0,0 +1,74 @@
+import { authWithHeaders } from '../../../middlewares/auth';
+import {
+ castSpell,
+} from '../../../libs/spells';
+
+let api = {};
+
+/*
+* NOTE most spells routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/class/cast/:spellId Cast a skill (spell) on a target
+ * @apiName UserCast
+ * @apiGroup User
+ *
+
+ * @apiParam (Path) {String=fireball, mpheal, earth, frost, smash, defensiveStance, valorousPresence, intimidate, pickPocket, backStab, toolsOfTrade, stealth, heal, protectAura, brightness, healAll} spellId The skill to cast.
+ * @apiParam (Query) {UUID} targetId Query parameter, necessary if the spell is cast on a party member or task. Not used if the spell is case on the user or the user's current party.
+ * @apiParamExample {json} Query example:
+ * Cast "Pickpocket" on a task:
+ * https://habitica.com/api/v3/user/class/cast/pickPocket?targetId=fd427623...
+ *
+ * Cast "Tools of the Trade" on the party:
+ * https://habitica.com/api/v3/user/class/cast/toolsOfTrade
+ *
+ * @apiSuccess data Will return the modified targets. For party members only the necessary fields will be populated. The user is always returned.
+ *
+ * @apiDescription Skill Key to Name Mapping
+ * Mage
+ * fireball: "Burst of Flames"
+ * mpheal: "Ethereal Surge"
+ * earth: "Earthquake"
+ * frost: "Chilling Frost"
+ *
+ * Warrior
+ * smash: "Brutal Smash"
+ * defensiveStance: "Defensive Stance"
+ * valorousPresence: "Valorous Presence"
+ * intimidate: "Intimidating Gaze"
+ *
+ * Rogue
+ * pickPocket: "Pickpocket"
+ * backStab: "Backstab"
+ * toolsOfTrade: "Tools of the Trade"
+ * stealth: "Stealth"
+ *
+ * Healer
+ * heal: "Healing Light"
+ * protectAura: "Protective Aura"
+ * brightness: "Searing Brightness"
+ * healAll: "Blessing"
+ *
+ * @apiError (400) {NotAuthorized} Not enough mana.
+ * @apiUse TaskNotFound
+ * @apiUse PartyNotFound
+ * @apiUse UserNotFound
+ */
+api.castSpell = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/class/cast/:spellId',
+ async handler (req, res) {
+ await castSpell(req, res, {
+ isV3: false,
+ });
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/top-level/dataexport.js b/website/server/controllers/top-level/dataexport.js
index af59996f4f..70cb25a91a 100644
--- a/website/server/controllers/top-level/dataexport.js
+++ b/website/server/controllers/top-level/dataexport.js
@@ -1,5 +1,6 @@
import { authWithSession } from '../../middlewares/auth';
import { model as User } from '../../models/user';
+import * as inboxLib from '../../libs/inbox';
import * as Tasks from '../../models/task';
import {
NotFound,
@@ -81,15 +82,23 @@ api.exportUserHistory = {
},
};
-// Convert user to json and attach tasks divided by type
+// Convert user to json and attach tasks divided by type and inbox messages
// at user.tasks[`${taskType}s`] (user.tasks.{dailys/habits/...})
async function _getUserDataForExport (user, xmlMode = false) {
let userData = user.toJSON();
userData.tasks = {};
- let tasks = await Tasks.Task.find({
- userId: user._id,
- }).exec();
+ userData.inbox.messages = {};
+
+ const [tasks, messages] = await Promise.all([
+ Tasks.Task.find({
+ userId: user._id,
+ }).exec(),
+
+ inboxLib.getUserInbox(user, false),
+ ]);
+
+ userData.inbox.messages = messages;
_(tasks)
.map(task => task.toJSON())
@@ -296,18 +305,14 @@ api.exportUserPrivateMessages = {
url: '/export/inbox.html',
middlewares: [authWithSession],
async handler (req, res) {
- let user = res.locals.user;
+ const user = res.locals.user;
const timezoneOffset = user.preferences.timezoneOffset;
const dateFormat = user.preferences.dateFormat.toUpperCase();
const TO = res.t('to');
const FROM = res.t('from');
- let inbox = Object.keys(user.inbox.messages).map(key => user.inbox.messages[key]);
-
- inbox = _.sortBy(inbox, function sortBy (num) {
- return num.sort * -1;
- });
+ const inbox = await inboxLib.getUserInbox(user);
let messages = '';
diff --git a/website/server/libs/auth/index.js b/website/server/libs/auth/index.js
new file mode 100644
index 0000000000..39658dee61
--- /dev/null
+++ b/website/server/libs/auth/index.js
@@ -0,0 +1,171 @@
+import {
+ NotAuthorized,
+ NotFound,
+} from '../../libs/errors';
+import * as passwordUtils from '../../libs/password';
+import { model as User } from '../../models/user';
+import { model as EmailUnsubscription } from '../../models/emailUnsubscription';
+import { sendTxn as sendTxnEmail } from '../../libs/email';
+import common from '../../../common';
+import logger from '../../libs/logger';
+import { decrypt } from '../../libs/encryption';
+import { model as Group } from '../../models/group';
+import moment from 'moment';
+
+const USERNAME_LENGTH_MIN = 1;
+const USERNAME_LENGTH_MAX = 20;
+
+// When the user signed up after having been invited to a group, invite them automatically to the group
+async function _handleGroupInvitation (user, invite) {
+ // wrapping the code in a try because we don't want it to prevent the user from signing up
+ // that's why errors are not translated
+ try {
+ let {sentAt, id: groupId, inviter} = JSON.parse(decrypt(invite));
+
+ // check that the invite has not expired (after 7 days)
+ if (sentAt && moment().subtract(7, 'days').isAfter(sentAt)) {
+ let err = new Error('Invite expired.');
+ err.privateData = invite;
+ throw err;
+ }
+
+ let group = await Group.getGroup({user, optionalMembership: true, groupId, fields: 'name type'});
+ if (!group) throw new NotFound('Group not found.');
+
+ if (group.type === 'party') {
+ user.invitations.party = {id: group._id, name: group.name, inviter};
+ user.invitations.parties.push(user.invitations.party);
+ } else {
+ user.invitations.guilds.push({id: group._id, name: group.name, inviter});
+ }
+
+ // award the inviter with 'Invited a Friend' achievement
+ inviter = await User.findById(inviter);
+ if (!inviter.achievements.invitedFriend) {
+ inviter.achievements.invitedFriend = true;
+ inviter.addNotification('INVITED_FRIEND_ACHIEVEMENT');
+ await inviter.save();
+ }
+ } catch (err) {
+ logger.error(err);
+ }
+}
+
+export async function registerLocal (req, res, { isV3 = false }) {
+ const existingUser = res.locals.user; // If adding local auth to social user
+
+ req.checkBody({
+ username: {
+ notEmpty: true,
+ errorMessage: res.t('missingUsername'),
+ // TODO use the constants in the error message above
+ isLength: {options: {min: USERNAME_LENGTH_MIN, max: USERNAME_LENGTH_MAX}, errorMessage: res.t('usernameWrongLength')},
+ matches: {options: /^[-_a-zA-Z0-9]+$/, errorMessage: res.t('usernameBadCharacters')},
+ },
+ email: {
+ notEmpty: true,
+ errorMessage: res.t('missingEmail'),
+ isEmail: {errorMessage: res.t('notAnEmail')},
+ },
+ password: {
+ notEmpty: true,
+ errorMessage: res.t('missingPassword'),
+ equals: {options: [req.body.confirmPassword], errorMessage: res.t('passwordConfirmationMatch')},
+ },
+ });
+
+ let validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ let { email, username, password } = req.body;
+
+ // Get the lowercase version of username to check that we do not have duplicates
+ // So we can search for it in the database and then reject the choosen username if 1 or more results are found
+ email = email.toLowerCase();
+ username = username.trim();
+ let lowerCaseUsername = username.toLowerCase();
+
+ // Search for duplicates using lowercase version of username
+ let user = await User.findOne({$or: [
+ {'auth.local.email': email},
+ {'auth.local.lowerCaseUsername': lowerCaseUsername},
+ ]}, {'auth.local': 1}).exec();
+
+ if (user) {
+ if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken'));
+ // Check that the lowercase username isn't already used
+ if (lowerCaseUsername === user.auth.local.lowerCaseUsername) throw new NotAuthorized(res.t('usernameTaken'));
+ }
+
+ let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase
+ let newUser = {
+ auth: {
+ local: {
+ username,
+ lowerCaseUsername,
+ email,
+ hashed_password, // eslint-disable-line camelcase,
+ passwordHashMethod: 'bcrypt',
+ },
+ },
+ preferences: {
+ language: req.language,
+ },
+ };
+
+ if (existingUser) {
+ let hasSocialAuth = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(network => {
+ if (existingUser.auth.hasOwnProperty(network.key)) {
+ return existingUser.auth[network.key].id;
+ }
+ });
+ if (!hasSocialAuth) throw new NotAuthorized(res.t('onlySocialAttachLocal'));
+ existingUser.auth.local = newUser.auth.local;
+ newUser = existingUser;
+ } else {
+ newUser = new User(newUser);
+ newUser.registeredThrough = req.headers['x-client']; // Not saved, used to create the correct tasks based on the device used
+ }
+
+ // we check for partyInvite for backward compatibility
+ if (req.query.groupInvite || req.query.partyInvite) {
+ await _handleGroupInvitation(newUser, req.query.groupInvite || req.query.partyInvite);
+ }
+
+ let savedUser = await newUser.save();
+
+ let userToJSON;
+ if (isV3) {
+ userToJSON = await savedUser.toJSONWithInbox();
+ } else {
+ userToJSON = savedUser.toJSON();
+ }
+
+ if (existingUser) {
+ res.respond(200, userToJSON.auth.local); // We convert to toJSON to hide private fields
+ } else {
+ let userJSON = userToJSON;
+ userJSON.newUser = true;
+ res.respond(201, userJSON);
+ }
+
+ // Clean previous email preferences and send welcome email
+ EmailUnsubscription
+ .remove({email: savedUser.auth.local.email})
+ .then(() => {
+ if (!existingUser) sendTxnEmail(savedUser, 'welcome');
+ });
+
+ if (!existingUser) {
+ res.analytics.track('register', {
+ category: 'acquisition',
+ type: 'local',
+ gaLabel: 'local',
+ uuid: savedUser._id,
+ headers: req.headers,
+ user: savedUser,
+ });
+ }
+
+ return null;
+}
\ No newline at end of file
diff --git a/website/server/libs/bannedWords.js b/website/server/libs/bannedWords.js
index a694cf2672..7b50c77b85 100644
--- a/website/server/libs/bannedWords.js
+++ b/website/server/libs/bannedWords.js
@@ -108,6 +108,8 @@ let bannedWords = [
'fucker',
'fuckers',
'f\\*ck',
+ 'fuckhead',
+ 'fuckheads',
'motherfucker',
'motherfuckers',
'motherfucking',
diff --git a/website/server/libs/chat/group-chat.js b/website/server/libs/chat/group-chat.js
index 55a6089c94..72edb4d52d 100644
--- a/website/server/libs/chat/group-chat.js
+++ b/website/server/libs/chat/group-chat.js
@@ -1,4 +1,4 @@
-import { model as Chat } from '../../models/chat';
+import { chatModel as Chat } from '../../models/message';
import { MAX_CHAT_COUNT, MAX_SUBBED_GROUP_CHAT_COUNT } from '../../models/group';
// @TODO: Don't use this method when the group can be saved.
diff --git a/website/server/libs/chatReporting/groupChatReporter.js b/website/server/libs/chatReporting/groupChatReporter.js
index f883b6716d..1e06d24d5c 100644
--- a/website/server/libs/chatReporting/groupChatReporter.js
+++ b/website/server/libs/chatReporting/groupChatReporter.js
@@ -9,7 +9,7 @@ import {
import { getGroupUrl, sendTxn } from '../email';
import slack from '../slack';
import { model as Group } from '../../models/group';
-import { model as Chat } from '../../models/chat';
+import { chatModel as Chat } from '../../models/message';
import apiError from '../apiError';
const COMMUNITY_MANAGER_EMAIL = nconf.get('EMAILS:COMMUNITY_MANAGER_EMAIL');
diff --git a/website/server/libs/coupons/index.js b/website/server/libs/coupons/index.js
new file mode 100644
index 0000000000..e32c469962
--- /dev/null
+++ b/website/server/libs/coupons/index.js
@@ -0,0 +1,10 @@
+import { model as Coupon } from '../../models/coupon';
+
+export async function enterCode (req, res, user) {
+ req.checkParams('code', res.t('couponCodeRequired')).notEmpty();
+
+ let validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ await Coupon.apply(user, req, req.params.code);
+}
\ No newline at end of file
diff --git a/website/server/libs/inbox/index.js b/website/server/libs/inbox/index.js
new file mode 100644
index 0000000000..5f5fd76658
--- /dev/null
+++ b/website/server/libs/inbox/index.js
@@ -0,0 +1,47 @@
+import { inboxModel as Inbox } from '../../models/message';
+import { toArray, orderBy } from 'lodash';
+
+export async function getUserInbox (user, asArray = true) {
+ const messages = (await Inbox
+ .find({ownerId: user._id})
+ .exec()).map(msg => msg.toJSON());
+
+ const messagesObj = Object.assign({}, user.inbox.messages); // copy, shallow clone
+
+ if (asArray) {
+ messages.push(...toArray(messagesObj));
+
+ return orderBy(messages, ['timestamp'], ['desc']);
+ } else {
+ messages.forEach(msg => messagesObj[msg._id] = msg);
+
+ return messagesObj;
+ }
+}
+
+export async function deleteMessage (user, messageId) {
+ if (user.inbox.messages[messageId]) { // compatibility
+ delete user.inbox.messages[messageId];
+ user.markModified(`inbox.messages.${messageId}`);
+ await user.save();
+ } else {
+ const message = await Inbox.findOne({_id: messageId, ownerId: user._id }).exec();
+ if (!message) return false;
+ await Inbox.remove({_id: message._id, ownerId: user._id}).exec();
+ }
+
+ return true;
+}
+
+export async function clearPMs (user) {
+ user.inbox.newMessages = 0;
+
+ // compatibility
+ user.inbox.messages = {};
+ user.markModified('inbox.messages');
+
+ await Promise.all([
+ user.save(),
+ Inbox.remove({ownerId: user._id}).exec(),
+ ]);
+}
diff --git a/website/server/libs/routes.js b/website/server/libs/routes.js
index 5d9864940b..85a7141300 100644
--- a/website/server/libs/routes.js
+++ b/website/server/libs/routes.js
@@ -52,7 +52,7 @@ module.exports.walkControllers = function walkControllers (router, filePath, ove
.readdirSync(filePath)
.forEach(fileName => {
if (!fs.statSync(filePath + fileName).isFile()) {
- walkControllers(router, `${filePath}${fileName}/`);
+ walkControllers(router, `${filePath}${fileName}/`, overrides);
} else if (fileName.match(/\.js$/)) {
let controller = require(filePath + fileName); // eslint-disable-line global-require
module.exports.readController(router, controller, overrides);
diff --git a/website/server/libs/spells.js b/website/server/libs/spells.js
index 61f4d83ccb..bb826b5de3 100644
--- a/website/server/libs/spells.js
+++ b/website/server/libs/spells.js
@@ -3,7 +3,15 @@ import * as Tasks from '../models/task';
import {
NotFound,
BadRequest,
+ NotAuthorized,
} from './errors';
+import common from '../../common';
+import {
+ model as Group,
+} from '../models/group';
+import apiError from '../libs/apiError';
+
+const partyMembersFields = 'profile.name stats achievements items.special';
// @TODO: After refactoring individual spells, move quantity to the calculations
@@ -116,4 +124,112 @@ async function castUserSpell (res, req, party, partyMembers, targetId, user, spe
return partyMembers;
}
-export {castTaskSpell, castMultiTaskSpell, castSelfSpell, castPartySpell, castUserSpell};
+async function castSpell (req, res, {isV3 = false}) {
+ const user = res.locals.user;
+ const spellId = req.params.spellId;
+ const targetId = req.query.targetId;
+ const quantity = req.body.quantity || 1;
+
+ // optional because not required by all targetTypes, presence is checked later if necessary
+ req.checkQuery('targetId', res.t('targetIdUUID')).optional().isUUID();
+
+ let reqValidationErrors = req.validationErrors();
+ if (reqValidationErrors) throw reqValidationErrors;
+
+ let klass = common.content.spells.special[spellId] ? 'special' : user.stats.class;
+ let spell = common.content.spells[klass][spellId];
+
+ if (!spell) throw new NotFound(apiError('spellNotFound', {spellId}));
+ if (spell.mana > user.stats.mp) throw new NotAuthorized(res.t('notEnoughMana'));
+ if (spell.value > user.stats.gp && !spell.previousPurchase) throw new NotAuthorized(res.t('messageNotEnoughGold'));
+ if (spell.lvl > user.stats.lvl) throw new NotAuthorized(res.t('spellLevelTooHigh', {level: spell.lvl}));
+
+ let targetType = spell.target;
+
+ if (targetType === 'task') {
+ const results = await castTaskSpell(res, req, targetId, user, spell, quantity);
+ let userToJson = results[0];
+
+ if (isV3) userToJson = await userToJson.toJSONWithInbox();
+
+ res.respond(200, {
+ user: userToJson,
+ task: results[1],
+ });
+ } else if (targetType === 'self') {
+ await castSelfSpell(req, user, spell, quantity);
+
+ let userToJson = user;
+ if (isV3) userToJson = await userToJson.toJSONWithInbox();
+
+ res.respond(200, {
+ user: userToJson,
+ });
+ } else if (targetType === 'tasks') { // new target type in v3: when all the user's tasks are necessary
+ const response = await castMultiTaskSpell(req, user, spell, quantity);
+ if (isV3) response.user = await response.user.toJSONWithInbox();
+ res.respond(200, response);
+ } else if (targetType === 'party' || targetType === 'user') {
+ const party = await Group.getGroup({groupId: 'party', user});
+ // arrays of users when targetType is 'party' otherwise single users
+ let partyMembers;
+
+ if (targetType === 'party') {
+ partyMembers = await castPartySpell(req, party, partyMembers, user, spell, quantity);
+ } else {
+ partyMembers = await castUserSpell(res, req, party, partyMembers, targetId, user, spell, quantity);
+ }
+
+ let partyMembersRes = Array.isArray(partyMembers) ? partyMembers : [partyMembers];
+
+ // Only return some fields.
+ // See comment above on why we can't just select the necessary fields when querying
+ partyMembersRes = partyMembersRes.map(partyMember => {
+ return common.pickDeep(partyMember.toJSON(), common.$w(partyMembersFields));
+ });
+
+ let userToJson = user;
+ if (isV3) userToJson = await userToJson.toJSONWithInbox();
+
+ res.respond(200, {
+ partyMembers: partyMembersRes,
+ user: userToJson,
+ });
+
+ if (party && !spell.silent) {
+ if (targetType === 'user') {
+ const newChatMessage = party.sendChat({
+ message: `\`${common.i18n.t('chatCastSpellUser', {username: user.profile.name, spell: spell.text(), target: partyMembers.profile.name}, 'en')}\``,
+ info: {
+ type: 'spell_cast_user',
+ user: user.profile.name,
+ class: klass,
+ spell: spellId,
+ target: partyMembers.profile.name,
+ },
+ });
+ await newChatMessage.save();
+ } else {
+ const newChatMessage = party.sendChat({
+ message: `\`${common.i18n.t('chatCastSpellParty', {username: user.profile.name, spell: spell.text()}, 'en')}\``,
+ info: {
+ type: 'spell_cast_party',
+ user: user.profile.name,
+ class: klass,
+ spell: spellId,
+ },
+ });
+ await newChatMessage.save();
+ }
+ }
+ }
+}
+
+export {
+ castTaskSpell,
+ castMultiTaskSpell,
+ castSelfSpell,
+ castPartySpell,
+ castUserSpell,
+ castSpell,
+};
diff --git a/website/server/libs/user/index.js b/website/server/libs/user/index.js
new file mode 100644
index 0000000000..2889241de9
--- /dev/null
+++ b/website/server/libs/user/index.js
@@ -0,0 +1,242 @@
+import common from '../../../common';
+import * as Tasks from '../../models/task';
+import _ from 'lodash';
+import {
+ BadRequest,
+ NotAuthorized,
+} from '../../libs/errors';
+import { model as User } from '../../models/user';
+
+export async function get (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+ let userToJSON;
+
+ if (isV3) {
+ userToJSON = await user.toJSONWithInbox();
+ } else {
+ userToJSON = user.toJSON();
+ }
+
+ // Remove apiToken from response TODO make it private at the user level? returned in signup/login
+ delete userToJSON.apiToken;
+
+ if (!req.query.userFields) {
+ let {daysMissed} = user.daysUserHasMissed(new Date(), req);
+ userToJSON.needsCron = false;
+ if (daysMissed > 0) userToJSON.needsCron = true;
+ User.addComputedStatsToJSONObj(userToJSON.stats, userToJSON);
+ }
+
+ return res.respond(200, userToJSON);
+}
+
+const updatablePaths = [
+ '_ABtests.counter',
+
+ 'flags.customizationsNotification',
+ 'flags.showTour',
+ 'flags.tour',
+ 'flags.tutorial',
+ 'flags.communityGuidelinesAccepted',
+ 'flags.welcomed',
+ 'flags.cardReceived',
+ 'flags.warnedLowHealth',
+ 'flags.newStuff',
+
+ 'achievements',
+
+ 'party.order',
+ 'party.orderAscending',
+ 'party.quest.completed',
+ 'party.quest.RSVPNeeded',
+
+ 'preferences',
+ 'profile',
+ 'stats',
+ 'inbox.optOut',
+ 'tags',
+];
+
+// This tells us for which paths users can call `PUT /user`.
+// The trick here is to only accept leaf paths, not root/intermediate paths (see http://goo.gl/OEzkAs)
+let acceptablePUTPaths = _.reduce(require('./../../models/user').schema.paths, (accumulator, val, leaf) => {
+ let found = _.find(updatablePaths, (rootPath) => {
+ return leaf.indexOf(rootPath) === 0;
+ });
+
+ if (found) accumulator[leaf] = true;
+
+ return accumulator;
+}, {});
+
+const restrictedPUTSubPaths = [
+ 'stats.class',
+
+ 'preferences.disableClasses',
+ 'preferences.sleep',
+ 'preferences.webhooks',
+];
+
+_.each(restrictedPUTSubPaths, (removePath) => {
+ delete acceptablePUTPaths[removePath];
+});
+
+const requiresPurchase = {
+ 'preferences.background': 'background',
+ 'preferences.shirt': 'shirt',
+ 'preferences.size': 'size',
+ 'preferences.skin': 'skin',
+ 'preferences.hair.bangs': 'hair.bangs',
+ 'preferences.hair.base': 'hair.base',
+ 'preferences.hair.beard': 'hair.beard',
+ 'preferences.hair.color': 'hair.color',
+ 'preferences.hair.flower': 'hair.flower',
+ 'preferences.hair.mustache': 'hair.mustache',
+};
+
+function checkPreferencePurchase (user, path, item) {
+ let itemPath = `${path}.${item}`;
+ let appearance = _.get(common.content.appearances, itemPath);
+ if (!appearance) return false;
+ if (appearance.price === 0) return true;
+
+ return _.get(user.purchased, itemPath);
+}
+
+export async function update (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+
+ let promisesForTagsRemoval = [];
+
+ _.each(req.body, (val, key) => {
+ let purchasable = requiresPurchase[key];
+
+ if (purchasable && !checkPreferencePurchase(user, purchasable, val)) {
+ throw new NotAuthorized(res.t('mustPurchaseToSet', { val, key }));
+ }
+
+ if (acceptablePUTPaths[key] && key !== 'tags') {
+ _.set(user, key, val);
+ } else if (key === 'tags') {
+ if (!Array.isArray(val)) throw new BadRequest('mustBeArray');
+
+ const removedTagsIds = [];
+
+ const oldTags = [];
+
+ // Keep challenge and group tags
+ user.tags.forEach(t => {
+ if (t.group) {
+ oldTags.push(t);
+ } else {
+ removedTagsIds.push(t.id);
+ }
+ });
+
+ user.tags = oldTags;
+
+ val.forEach(t => {
+ let oldI = removedTagsIds.findIndex(id => id === t.id);
+ if (oldI > -1) {
+ removedTagsIds.splice(oldI, 1);
+ }
+
+ user.tags.push(t);
+ });
+
+ // Remove from all the tasks
+ // NOTE each tag to remove requires a query
+
+ promisesForTagsRemoval = removedTagsIds.map(tagId => {
+ return Tasks.Task.update({
+ userId: user._id,
+ }, {
+ $pull: {
+ tags: tagId,
+ },
+ }, {multi: true}).exec();
+ });
+ } else {
+ throw new NotAuthorized(res.t('messageUserOperationProtected', { operation: key }));
+ }
+ });
+
+
+ await Promise.all([user.save()].concat(promisesForTagsRemoval));
+
+ let userToJSON = user;
+
+ if (isV3) userToJSON = await user.toJSONWithInbox();
+
+ return res.respond(200, userToJSON);
+}
+
+export async function reset (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+
+ const tasks = await Tasks.Task.find({
+ userId: user._id,
+ ...Tasks.taskIsGroupOrChallengeQuery,
+ }).select('_id type challenge group').exec();
+
+ const resetRes = common.ops.reset(user, tasks);
+ if (isV3) {
+ resetRes[0].user = await resetRes[0].user.toJSONWithInbox();
+ }
+
+ await Promise.all([
+ Tasks.Task.remove({_id: {$in: resetRes[0].tasksToRemove}, userId: user._id}),
+ user.save(),
+ ]);
+
+ res.analytics.track('account reset', {
+ uuid: user._id,
+ hitType: 'event',
+ category: 'behavior',
+ });
+
+ res.respond(200, ...resetRes);
+}
+
+export async function reroll (req, res, { isV3 = false }) {
+ let user = res.locals.user;
+ let query = {
+ userId: user._id,
+ type: {$in: ['daily', 'habit', 'todo']},
+ ...Tasks.taskIsGroupOrChallengeQuery,
+ };
+ let tasks = await Tasks.Task.find(query).exec();
+ const rerollRes = common.ops.reroll(user, tasks, req, res.analytics);
+ if (isV3) {
+ rerollRes[0].user = await rerollRes[0].user.toJSONWithInbox();
+ }
+
+ let promises = tasks.map(task => task.save());
+ promises.push(user.save());
+
+ await Promise.all(promises);
+
+ res.respond(200, ...rerollRes);
+}
+
+export async function rebirth (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+ const tasks = await Tasks.Task.find({
+ userId: user._id,
+ type: {$in: ['daily', 'habit', 'todo']},
+ ...Tasks.taskIsGroupOrChallengeQuery,
+ }).exec();
+
+ const rebirthRes = common.ops.rebirth(user, tasks, req, res.analytics);
+ if (isV3) {
+ rebirthRes[0].user = await rebirthRes[0].user.toJSONWithInbox();
+ }
+
+ const toSave = tasks.map(task => task.save());
+
+ toSave.push(user.save());
+
+ await Promise.all(toSave);
+
+ res.respond(200, ...rebirthRes);
+}
\ No newline at end of file
diff --git a/website/server/middlewares/appRoutes.js b/website/server/middlewares/appRoutes.js
index f735771cef..781cfdcb07 100644
--- a/website/server/middlewares/appRoutes.js
+++ b/website/server/middlewares/appRoutes.js
@@ -33,7 +33,16 @@ app.use('/api/v3', v3Router);
// A list of v3 routes in the format METHOD-URL to skip
const v4RouterOverrides = [
- // 'GET-/status', Example to override the GET /status api call
+ 'POST-/user/auth/local/register',
+ 'GET-/user',
+ 'PUT-/user',
+ 'POST-/user/class/cast/:spellId',
+ 'POST-/user/rebirth',
+ 'POST-/user/reset',
+ 'POST-/user/reroll',
+ 'DELETE-/user/messages/:id',
+ 'DELETE-/user/messages',
+ 'POST-/coupons/enter/:code',
];
const v4Router = express.Router(); // eslint-disable-line new-cap
diff --git a/website/server/models/challenge.js b/website/server/models/challenge.js
index a094814fe7..bb18888928 100644
--- a/website/server/models/challenge.js
+++ b/website/server/models/challenge.js
@@ -66,6 +66,11 @@ schema.statics.sanitizeUpdate = function sanitizeUpdate (updateObj) {
return this.sanitize(updateObj, noUpdate);
};
+// Returns true if user is the leader/owner of the challenge
+schema.methods.isLeader = function isChallengeLeader (user) {
+ return this.leader === user._id;
+};
+
// Returns true if user is a member of the challenge
schema.methods.isMember = function isChallengeMember (user) {
return user.challenges.indexOf(this._id) !== -1;
@@ -73,20 +78,21 @@ schema.methods.isMember = function isChallengeMember (user) {
// Returns true if the user can modify (close, selectWinner, ...) the challenge
schema.methods.canModify = function canModifyChallenge (user) {
- return user.contributor.admin || this.leader === user._id;
+ return user.contributor.admin || this.isLeader(user);
};
-// Returns true if user has access to the challenge (can join)
-schema.methods.hasAccess = function hasAccessToChallenge (user, group) {
+// Returns true if user can join the challenge
+schema.methods.canJoin = function canJoinChallenge (user, group) {
if (group.type === 'guild' && group.privacy === 'public') return true;
+ if (this.isLeader(user)) return true; // for when leader has left private group that contains the challenge
return user.getGroups().indexOf(this.group) !== -1;
};
// Returns true if user can view the challenge
-// Different from hasAccess because you can see challenges of groups you've been removed from if you're partecipating in them
+// Different from canJoin because you can see challenges of groups you've been removed from if you're participating in them
schema.methods.canView = function canViewChallenge (user, group) {
if (this.isMember(user)) return true;
- return this.hasAccess(user, group);
+ return this.canJoin(user, group);
};
// Sync challenge to user, including tasks and tags.
diff --git a/website/server/models/chat.js b/website/server/models/chat.js
deleted file mode 100644
index c5789ecbb6..0000000000
--- a/website/server/models/chat.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import mongoose from 'mongoose';
-import baseModel from '../libs/baseModel';
-
-const schema = new mongoose.Schema({
- timestamp: Date,
- user: String,
- text: String,
- info: {type: mongoose.Schema.Types.Mixed},
- contributor: {type: mongoose.Schema.Types.Mixed},
- backer: {type: mongoose.Schema.Types.Mixed},
- uuid: String,
- id: String,
- groupId: {type: String, ref: 'Group'},
- flags: {type: mongoose.Schema.Types.Mixed, default: {}},
- flagCount: {type: Number, default: 0},
- likes: {type: mongoose.Schema.Types.Mixed},
- userStyles: {type: mongoose.Schema.Types.Mixed},
- _meta: {type: mongoose.Schema.Types.Mixed},
-}, {
- minimize: false, // Allow for empty flags to be saved
-});
-
-schema.plugin(baseModel, {
- noSet: ['_id'],
-});
-
-export const model = mongoose.model('Chat', schema);
diff --git a/website/server/models/group.js b/website/server/models/group.js
index f3dc2998f8..ace248440d 100644
--- a/website/server/models/group.js
+++ b/website/server/models/group.js
@@ -7,7 +7,11 @@ import {
import shared from '../../common';
import _ from 'lodash';
import { model as Challenge} from './challenge';
-import { model as Chat } from './chat';
+import {
+ chatModel as Chat,
+ setUserStyles,
+ messageDefaults,
+} from './message';
import * as Tasks from './task';
import validator from 'validator';
import { removeFromArray } from '../libs/collectionManipulators';
@@ -72,17 +76,7 @@ export let schema = new Schema({
leader: {type: String, ref: 'User', validate: [validator.isUUID, 'Invalid uuid.'], required: true},
type: {type: String, enum: ['guild', 'party'], required: true},
privacy: {type: String, enum: ['private', 'public'], default: 'private', required: true},
- chat: Array,
- /*
- # [{
- # timestamp: Date
- # user: String
- # text: String
- # contributor: String
- # uuid: String
- # id: String
- # }]
- */
+ chat: Array, // Used for backward compatibility, but messages aren't stored here
leaderOnly: { // restrict group actions to leader (members can't do them)
challenges: {type: Boolean, default: false, required: true},
// invites: {type: Boolean, default: false, required: true},
@@ -564,85 +558,9 @@ schema.methods.getMemberCount = async function getMemberCount () {
return await User.count(query).exec();
};
-// info: An object containing relevant information about a system message,
-// so it can be translated to any language.
-export function chatDefaults (msg, user, info = {}) {
- const id = shared.uuid();
- const message = {
- id,
- _id: id,
- text: msg.substring(0, 3000),
- info,
- timestamp: Number(new Date()),
- likes: {},
- flags: {},
- flagCount: 0,
- };
-
- if (user) {
- _.defaults(message, {
- uuid: user._id,
- contributor: user.contributor && user.contributor.toObject(),
- backer: user.backer && user.backer.toObject(),
- user: user.profile.name,
- });
- } else {
- message.uuid = 'system';
- }
-
- return message;
-}
-
-function setUserStyles (newMessage, user) {
- let userStyles = {};
- userStyles.items = {gear: {}};
-
- let userCopy = user;
- if (user.toObject) userCopy = user.toObject();
-
- if (userCopy.items) {
- userStyles.items.gear = {};
- userStyles.items.gear.costume = Object.assign({}, userCopy.items.gear.costume);
- userStyles.items.gear.equipped = Object.assign({}, userCopy.items.gear.equipped);
-
- userStyles.items.currentMount = userCopy.items.currentMount;
- userStyles.items.currentPet = userCopy.items.currentPet;
- }
-
-
- if (userCopy.preferences) {
- userStyles.preferences = {};
- if (userCopy.preferences.style) userStyles.preferences.style = userCopy.preferences.style;
- userStyles.preferences.hair = userCopy.preferences.hair;
- userStyles.preferences.skin = userCopy.preferences.skin;
- userStyles.preferences.shirt = userCopy.preferences.shirt;
- userStyles.preferences.chair = userCopy.preferences.chair;
- userStyles.preferences.size = userCopy.preferences.size;
- userStyles.preferences.chair = userCopy.preferences.chair;
- userStyles.preferences.background = userCopy.preferences.background;
- userStyles.preferences.costume = userCopy.preferences.costume;
- }
-
- if (userCopy.stats) {
- userStyles.stats = {};
- userStyles.stats.class = userCopy.stats.class;
- if (userCopy.stats.buffs) {
- userStyles.stats.buffs = {
- seafoam: userCopy.stats.buffs.seafoam,
- shinySeed: userCopy.stats.buffs.shinySeed,
- spookySparkles: userCopy.stats.buffs.spookySparkles,
- snowball: userCopy.stats.buffs.snowball,
- };
- }
- }
-
- newMessage.userStyles = userStyles;
- newMessage.markModified('userStyles');
-}
-
schema.methods.sendChat = function sendChat (options = {}) {
const {message, user, metaData, info = {}} = options;
- let newMessage = chatDefaults(message, user, info);
+ let newMessage = messageDefaults(message, user, info);
let newChatMessage = new Chat();
newChatMessage = Object.assign(newChatMessage, newMessage);
newChatMessage.groupId = this._id;
@@ -655,17 +573,6 @@ schema.methods.sendChat = function sendChat (options = {}) {
newChatMessage._meta = metaData;
}
- // @TODO: Completely remove the code below after migration
- // this.chat.unshift(newMessage);
-
- let maxCount = MAX_CHAT_COUNT;
-
- if (this.isSubscribed()) {
- maxCount = MAX_SUBBED_GROUP_CHAT_COUNT;
- }
-
- this.chat.splice(maxCount);
-
// do not send notifications for guilds with more than 5000 users and for the tavern
if (NO_CHAT_NOTIFICATIONS.indexOf(this._id) !== -1 || this.memberCount > LARGE_GROUP_COUNT_MESSAGE_CUTOFF) {
return newChatMessage;
diff --git a/website/server/models/message.js b/website/server/models/message.js
new file mode 100644
index 0000000000..7968ef394e
--- /dev/null
+++ b/website/server/models/message.js
@@ -0,0 +1,126 @@
+import mongoose from 'mongoose';
+import baseModel from '../libs/baseModel';
+import { v4 as uuid } from 'uuid';
+import { defaults } from 'lodash';
+
+const defaultSchema = () => ({
+ id: String,
+ timestamp: Date,
+ text: String,
+ info: {type: mongoose.Schema.Types.Mixed},
+
+ // sender properties
+ user: String, // profile name
+ contributor: {type: mongoose.Schema.Types.Mixed},
+ backer: {type: mongoose.Schema.Types.Mixed},
+ uuid: String, // sender uuid
+ userStyles: {type: mongoose.Schema.Types.Mixed},
+
+ flags: {type: mongoose.Schema.Types.Mixed, default: {}},
+ flagCount: {type: Number, default: 0},
+ likes: {type: mongoose.Schema.Types.Mixed},
+ _meta: {type: mongoose.Schema.Types.Mixed},
+});
+
+const chatSchema = new mongoose.Schema({
+ ...defaultSchema(),
+ groupId: {type: String, ref: 'Group'},
+}, {
+ minimize: false, // Allow for empty flags to be saved
+});
+
+chatSchema.plugin(baseModel, {
+ noSet: ['_id'],
+});
+
+const inboxSchema = new mongoose.Schema({
+ sent: {type: Boolean, default: false}, // if the owner sent this message
+ // the uuid of the user where the message is stored,
+ // we store two copies of each inbox messages:
+ // one for the sender and one for the receiver
+ ownerId: {type: String, ref: 'User'},
+ ...defaultSchema(),
+}, {
+ minimize: false, // Allow for empty flags to be saved
+});
+
+inboxSchema.plugin(baseModel, {
+ noSet: ['_id'],
+});
+
+export const chatModel = mongoose.model('Chat', chatSchema);
+export const inboxModel = mongoose.model('Inbox', inboxSchema);
+
+export function setUserStyles (newMessage, user) {
+ let userStyles = {};
+ userStyles.items = {gear: {}};
+
+ let userCopy = user;
+ if (user.toObject) userCopy = user.toObject();
+
+ if (userCopy.items) {
+ userStyles.items.gear = {};
+ userStyles.items.gear.costume = Object.assign({}, userCopy.items.gear.costume);
+ userStyles.items.gear.equipped = Object.assign({}, userCopy.items.gear.equipped);
+
+ userStyles.items.currentMount = userCopy.items.currentMount;
+ userStyles.items.currentPet = userCopy.items.currentPet;
+ }
+
+
+ if (userCopy.preferences) {
+ userStyles.preferences = {};
+ if (userCopy.preferences.style) userStyles.preferences.style = userCopy.preferences.style;
+ userStyles.preferences.hair = userCopy.preferences.hair;
+ userStyles.preferences.skin = userCopy.preferences.skin;
+ userStyles.preferences.shirt = userCopy.preferences.shirt;
+ userStyles.preferences.chair = userCopy.preferences.chair;
+ userStyles.preferences.size = userCopy.preferences.size;
+ userStyles.preferences.chair = userCopy.preferences.chair;
+ userStyles.preferences.background = userCopy.preferences.background;
+ userStyles.preferences.costume = userCopy.preferences.costume;
+ }
+
+ if (userCopy.stats) {
+ userStyles.stats = {};
+ userStyles.stats.class = userCopy.stats.class;
+ if (userCopy.stats.buffs) {
+ userStyles.stats.buffs = {
+ seafoam: userCopy.stats.buffs.seafoam,
+ shinySeed: userCopy.stats.buffs.shinySeed,
+ spookySparkles: userCopy.stats.buffs.spookySparkles,
+ snowball: userCopy.stats.buffs.snowball,
+ };
+ }
+ }
+
+ newMessage.userStyles = userStyles;
+ newMessage.markModified('userStyles');
+}
+
+export function messageDefaults (msg, user, info = {}) {
+ const id = uuid();
+ const message = {
+ id,
+ _id: id,
+ text: msg.substring(0, 3000),
+ info,
+ timestamp: Number(new Date()),
+ likes: {},
+ flags: {},
+ flagCount: 0,
+ };
+
+ if (user) {
+ defaults(message, {
+ uuid: user._id,
+ contributor: user.contributor && user.contributor.toObject(),
+ backer: user.backer && user.backer.toObject(),
+ user: user.profile.name,
+ });
+ } else {
+ message.uuid = 'system';
+ }
+
+ return message;
+}
diff --git a/website/server/models/task.js b/website/server/models/task.js
index 52b1a0450b..7614f46903 100644
--- a/website/server/models/task.js
+++ b/website/server/models/task.js
@@ -169,9 +169,13 @@ TaskSchema.statics.findByIdOrAlias = async function findByIdOrAlias (identifier,
// Sanitize user tasks linked to a challenge
// See http://habitica.wikia.com/wiki/Challenges#Challenge_Participant.27s_Permissions for more info
TaskSchema.statics.sanitizeUserChallengeTask = function sanitizeUserChallengeTask (taskObj) {
- let initialSanitization = this.sanitize(taskObj);
+ const initialSanitization = this.sanitize(taskObj);
- return _.pick(initialSanitization, ['streak', 'checklist', 'attribute', 'reminders', 'tags', 'notes', 'collapseChecklist', 'alias', 'yesterDaily', 'counterDown', 'counterUp']);
+ return _.pick(initialSanitization, [
+ 'streak', 'checklist', 'attribute', 'reminders',
+ 'tags', 'notes', 'collapseChecklist',
+ 'alias', 'yesterDaily', 'counterDown', 'counterUp',
+ ]);
};
// Sanitize checklist objects (disallowing id)
diff --git a/website/server/models/user/methods.js b/website/server/models/user/methods.js
index fe5beb8ed9..ea5575fbf0 100644
--- a/website/server/models/user/methods.js
+++ b/website/server/models/user/methods.js
@@ -2,15 +2,21 @@ import moment from 'moment';
import common from '../../../common';
import {
- chatDefaults,
TAVERN_ID,
model as Group,
} from '../group';
-import {defaults, map, flatten, flow, compact, uniq, partialRight} from 'lodash';
-import {model as UserNotification} from '../userNotification';
+import {
+ messageDefaults,
+ setUserStyles,
+ inboxModel as Inbox,
+} from '../message';
+
+import { defaults, map, flatten, flow, compact, uniq, partialRight } from 'lodash';
+import { model as UserNotification } from '../userNotification';
import schema from './schema';
import payments from '../../libs/payments/payments';
+import * as inboxLib from '../../libs/inbox';
import amazonPayments from '../../libs/payments/amazon';
import stripePayments from '../../libs/payments/stripe';
import paypalPayments from '../../libs/payments/paypal';
@@ -101,16 +107,19 @@ schema.methods.getObjectionsToInteraction = function getObjectionsToInteraction
* @return N/A
*/
schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, options) {
- let sender = this;
- let senderMsg = options.senderMsg || options.receiverMsg;
+ const sender = this;
+ const senderMsg = options.senderMsg || options.receiverMsg;
// whether to save users after sending the message, defaults to true
- let saveUsers = options.save === false ? false : true;
+ const saveUsers = options.save === false ? false : true;
+
+ const newReceiverMessage = new Inbox({
+ ownerId: userToReceiveMessage._id,
+ });
+ Object.assign(newReceiverMessage, messageDefaults(options.receiverMsg, sender));
+ setUserStyles(newReceiverMessage, sender);
- const newMessage = chatDefaults(options.receiverMsg, sender);
- common.refPush(userToReceiveMessage.inbox.messages, newMessage);
userToReceiveMessage.inbox.newMessages++;
userToReceiveMessage._v++;
- userToReceiveMessage.markModified('inbox.messages');
/* @TODO disabled until mobile is ready
@@ -134,14 +143,31 @@ schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, o
*/
- common.refPush(sender.inbox.messages, defaults({sent: true}, chatDefaults(senderMsg, userToReceiveMessage)));
- sender.markModified('inbox.messages');
+ const sendingToYourself = userToReceiveMessage._id === sender._id;
- if (saveUsers) {
- await Promise.all([userToReceiveMessage.save(), sender.save()]);
+ // Do not add the message twice when sending it to yourself
+ let newSenderMessage;
+
+ if (!sendingToYourself) {
+ newSenderMessage = new Inbox({
+ sent: true,
+ ownerId: sender._id,
+ });
+ Object.assign(newSenderMessage, messageDefaults(senderMsg, userToReceiveMessage));
+ setUserStyles(newSenderMessage, userToReceiveMessage);
}
- return newMessage;
+ const promises = [newReceiverMessage.save()];
+ if (!sendingToYourself) promises.push(newSenderMessage.save());
+
+ if (saveUsers) {
+ promises.push(sender.save());
+ if (!sendingToYourself) promises.push(userToReceiveMessage.save());
+ }
+
+ await Promise.all(promises);
+
+ return sendingToYourself ? newReceiverMessage : newSenderMessage;
};
/**
@@ -366,3 +392,16 @@ schema.methods.isMemberOfGroupPlan = async function isMemberOfGroupPlan () {
schema.methods.isAdmin = function isAdmin () {
return this.contributor && this.contributor.admin;
};
+
+// When converting to json add inbox messages from the Inbox collection
+// for backward compatibility in API v3.
+schema.methods.toJSONWithInbox = async function userToJSONWithInbox () {
+ const user = this;
+ const toJSON = user.toJSON();
+
+ if (toJSON.inbox) {
+ toJSON.inbox.messages = await inboxLib.getUserInbox(user, false);
+ }
+
+ return toJSON;
+};
diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js
index 81d7386d5c..2e258d6424 100644
--- a/website/server/models/user/schema.js
+++ b/website/server/models/user/schema.js
@@ -558,11 +558,13 @@ let schema = new Schema({
tags: [TagSchema],
inbox: {
- newMessages: {type: Number, default: 0},
- blocks: {type: Array, default: () => []},
+ // messages are stored in the Inbox collection, this path will be removed
+ // as soon as the migration has run and all the messages have been removed from here
messages: {type: Schema.Types.Mixed, default: () => {
return {};
}},
+ newMessages: {type: Number, default: 0},
+ blocks: {type: Array, default: () => []},
optOut: {type: Boolean, default: false},
},
tasksOrder: {