diff --git a/package.json b/package.json
index 8523785316..fde24ac2ec 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
- "version": "1.1.0",
+ "version": "1.1.2",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -57,7 +57,7 @@
"nodebb-plugin-spam-be-gone": "0.4.9",
"nodebb-rewards-essentials": "0.0.9",
"nodebb-theme-lavender": "3.0.13",
- "nodebb-theme-persona": "4.1.19",
+ "nodebb-theme-persona": "4.1.20",
"nodebb-theme-vanilla": "5.1.9",
"nodebb-widget-essentials": "2.0.10",
"nodemailer": "2.0.0",
diff --git a/public/language/ar/register.json b/public/language/ar/register.json
index 3c61bf8b34..c6ccf2231e 100644
--- a/public/language/ar/register.json
+++ b/public/language/ar/register.json
@@ -1,6 +1,6 @@
{
"register": "تسجيل",
- "cancel_registration": "Cancel Registration",
+ "cancel_registration": "إلغاء التسجيل",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من العامة.",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم .",
"help.minimum_password_length": "كلمة المرور يجب أن تكون على الأقل بها 1% أحرف",
diff --git a/public/language/ar/user.json b/public/language/ar/user.json
index 6d6b236865..0654ea0a71 100644
--- a/public/language/ar/user.json
+++ b/public/language/ar/user.json
@@ -6,7 +6,7 @@
"postcount": "عدد المشاركات",
"email": "البريد الإلكتروني",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
- "account_info": "Account Info",
+ "account_info": "معلومات الحساب",
"ban_account": "Ban Account",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "Unban Account",
diff --git a/public/language/nl/login.json b/public/language/nl/login.json
index 9704cc7ce7..e6d21e1fa6 100644
--- a/public/language/nl/login.json
+++ b/public/language/nl/login.json
@@ -8,5 +8,5 @@
"failed_login_attempt": "Aanmelden mislukt",
"login_successful": "Je bent succesvol ingelogd!",
"dont_have_account": "Geen gebruikersaccount?",
- "logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
+ "logged-out-due-to-inactivity": "Je bent uitgelogt van het admin control panel vanwege inactiviteit."
}
\ No newline at end of file
diff --git a/public/language/nl/topic.json b/public/language/nl/topic.json
index d938fb6c50..337f02bbea 100644
--- a/public/language/nl/topic.json
+++ b/public/language/nl/topic.json
@@ -27,7 +27,7 @@
"flag": "Markeren",
"locked": "Gesloten",
"pinned": "Pinned",
- "moved": "Moved",
+ "moved": "Verplaatst",
"bookmark_instructions": "Klik hier om terug te keren naar de laatst gelezen post in deze thread.",
"flag_title": "Bericht aan beheerders melden",
"flag_success": "Dit bericht is gerapporteerd aan de beheerder.",
diff --git a/public/language/sl/category.json b/public/language/sl/category.json
index f2c156394d..63495a5f90 100644
--- a/public/language/sl/category.json
+++ b/public/language/sl/category.json
@@ -1,6 +1,6 @@
{
"category": "Kategorija",
- "subcategories": "Podkategorija",
+ "subcategories": "Podkategorije",
"new_topic_button": "Nova tema",
"guest-login-post": "Za objavljanje moraš biti prijavljen",
"no_topics": "V tej kategoriji ni tem.
Boš odprl novo temo?",
@@ -10,11 +10,11 @@
"share_this_category": "Deli to kategorijo",
"watch": "Spremljaj",
"ignore": "Ne spremljaj",
- "watching": "Watching",
- "ignoring": "Ignoring",
- "watching.description": "Show topics in unread",
- "ignoring.description": "Do not show topics in unread",
+ "watching": "Spremljanje",
+ "ignoring": "Prezri",
+ "watching.description": "Pokaži teme v neprebrano",
+ "ignoring.description": "Ne pokaži teme v neprebrano",
"watch.message": "Trenutno spremljaš nove objave v tej kategoriji",
"ignore.message": "Ne spremljaš novih objav v tej kategoriji",
- "watched-categories": "Watched categories"
+ "watched-categories": "Spremljane kategorije"
}
\ No newline at end of file
diff --git a/public/language/sl/email.json b/public/language/sl/email.json
index b214e979b6..dcc9b48946 100644
--- a/public/language/sl/email.json
+++ b/public/language/sl/email.json
@@ -1,36 +1,36 @@
{
- "password-reset-requested": "Zahtevana ponastavitev gesla - %1!",
+ "password-reset-requested": "Zahtevana je ponastavitev gesla - %1!",
"welcome-to": "Pozdravljeni na %1",
"invite": "Povabilo od %1",
"greeting_no_name": "Živjo",
"greeting_with_name": "Živjo %1",
"welcome.text1": "Hvala, ker ste se registrirali na %1!",
- "welcome.text2": "Za popolno aktivacijo vašega računa morate potrditi elektronski naslov s katerim ste se registrirali.",
- "welcome.text3": "Administrator je odobril prošnjo za registracijo. Sedaj se lahko registrirate z vašim uporabniškim imenom in geslom.",
- "welcome.cta": "Kliknite za potrditev vašega elektronskega naslova",
+ "welcome.text2": "Za popolno aktivacijo vašega računa morate potrditi e-poštni naslov s katerim ste se registrirali.",
+ "welcome.text3": "Srbnik je odobril prošnjo za registracijo. Sedaj se lahko registrirate z vašim uporabniškim imenom in geslom.",
+ "welcome.cta": "Kliknite za potrditev vašega e-poštnega naslova",
"invitation.text1": "%1 te je povabil, da se pridružiš %2",
- "invitation.ctr": "Klikni tu za kreiranje vašega računa.",
+ "invitation.ctr": "Klikni tu in ustvari svoj račun.",
"reset.text1": "Dobili smo zahtevo za ponastavitev vašega gesla. Če niste zahtevali ponastavitve gesla, prosimo prezrite to sporočilo.",
"reset.text2": "Za nadaljevanje ponastavitve gesla prosimo kliknite na sledečo povezavo:",
"reset.cta": "Kliknite tu za ponastavitev gesla",
"reset.notify.subject": "Geslo uspešno spremenjeno",
"reset.notify.text1": "Obveščamo vas, da je bilo na %1 uspešno spremenjeno vaše geslo.",
- "reset.notify.text2": "Če niste dali te zahteve, prosimo nemudoma kontaktirajte administratorja.",
+ "reset.notify.text2": "Če niste dali te zahteve, prosimo nemudoma obvestite skrbnika.",
"digest.notifications": "Imate eno neprebrano obvestilo na %1:",
"digest.latest_topics": "Zadnja tema na %1",
"digest.cta": "Kliknite tu za obisk %1",
- "digest.unsub.info": "Ta izvleček je bil poslan zaradi vaših nastavitev obvestil.",
- "digest.no_topics": "V preteklosti ni bilo aktivnih tem na %1",
- "digest.day": "day",
- "digest.week": "week",
- "digest.month": "month",
- "digest.subject": "Digest for %1",
- "notif.chat.subject": "Novo sporočilo prejeto na %1",
+ "digest.unsub.info": "Ta izvleček vam je bil poslan zaradi vaših nastavitev naročnine.",
+ "digest.no_topics": "%1, ki je pretekel ni imel aktivnih tem.",
+ "digest.day": "dan",
+ "digest.week": "teden",
+ "digest.month": "mesec",
+ "digest.subject": "Povzetek za %1",
+ "notif.chat.subject": "Novo sporočilo klepeta prejeto na %1",
"notif.chat.cta": "Kliknite tu za nadaljevanje pogovora",
- "notif.chat.unsub.info": "Obvestilu o pogovoru je bilo poslano zaradi vaših nastavitev obvestil.",
- "notif.post.cta": "Kliknite tu za celotno temo.",
- "notif.post.unsub.info": "Obvestilo o odgovoru je bilo poslano zaradi vaših nastavitev obvestil.",
- "test.text1": "To je testno elektronsko sporočilo za preverjanje prejemnika, če je pravilno nastavil NodeBB.",
+ "notif.chat.unsub.info": "Obvestilo o klepetu vam je bilo poslano zaradi vaših nastavitev naročnine.",
+ "notif.post.cta": "Kliknite tu, če želite prebrati celotno temo.",
+ "notif.post.unsub.info": "Obvestilo o objavi je bilo poslano zaradi vaših nastavitev naročnine.",
+ "test.text1": "To je testno elektronsko sporočilo, služi preverjanju pravilnosti nastavite podsistema za pošiljanje NodeBB poštnih sporočil.",
"unsub.cta": "Kliknite tu za spremembo nastavitev.",
"closing": "Hvala!"
}
\ No newline at end of file
diff --git a/public/language/sl/error.json b/public/language/sl/error.json
index be36f337e3..aa23d38025 100644
--- a/public/language/sl/error.json
+++ b/public/language/sl/error.json
@@ -26,8 +26,8 @@
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"username-too-short": "Uporabniško ime je prekratko",
"username-too-long": "Uporabniško ime je predolgo",
- "password-too-long": "Password too long",
- "user-banned": "Uporabnik je blokiran",
+ "password-too-long": "Geslo je predolgo",
+ "user-banned": "Uporabnik je izločen",
"user-too-new": "Oprostite, počakajte %1 sekund pred vašo prvo objavo",
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
"ban-expiry-missing": "Please provide an end date for this ban",
@@ -69,15 +69,15 @@
"guest-upload-disabled": "Guest uploading has been disabled",
"already-favourited": "You have already bookmarked this post",
"already-unfavourited": "You have already unbookmarked this post",
- "cant-ban-other-admins": "Ne morete blokirati drugih administratorjev!",
- "cant-remove-last-admin": "Ste edini administrator. Dodajte novega administratorja preden boste odstranili sebe.",
+ "cant-ban-other-admins": "Ne morete izločiti drugih skrbnikov!",
+ "cant-remove-last-admin": "Ste edini skrbnik. Preden se boste odstranili, dodajte novega skrbnika.",
"cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
"invalid-image-type": "Nedovoljen format slike. Dovoljeni formati so: %1",
- "invalid-image-extension": "Nedovoljena končnica slike",
- "invalid-file-type": "Nedovoljen format datoteke. Dovoljeni formati so: %1",
+ "invalid-image-extension": "Nedovoljena pripona slike",
+ "invalid-file-type": "Nedovoljena vrsta datoteke. Dovoljene vrste so: %1",
"group-name-too-short": "Ime skupine je prekratko",
- "group-name-too-long": "Group name too long",
- "group-already-exists": "Skupina še obstaja",
+ "group-name-too-long": "Ime skupine je predolgo",
+ "group-already-exists": "Skupina že obstaja",
"group-name-change-not-allowed": "Sprememba imena skupine ni dovoljena",
"group-already-member": "Already part of this group",
"group-not-member": "Not a member of this group",
@@ -85,26 +85,26 @@
"group-already-invited": "Ta uporabnik je že bil povabljen",
"group-already-requested": "Vaša prošnja za članstvo je že bila sprejeta.",
"post-already-deleted": "Ta objava je že bila izbrisana",
- "post-already-restored": "Ta objava je že bila razveljavljena",
+ "post-already-restored": "Ta objava je že bila obnovljena",
"topic-already-deleted": "Ta tema je že bila izbrisana",
- "topic-already-restored": "Ta tema je že bila razveljavljena",
+ "topic-already-restored": "Ta tema je že bila obnovljena",
"cant-purge-main-post": "Ne morete odstraniti prve objave, prosimo izbrišite temo.",
"topic-thumbnails-are-disabled": "Sličice teme so onemogočene.",
"invalid-file": "Nedovoljena datoteka",
- "uploads-are-disabled": "Nalaganje je onemogočeno",
+ "uploads-are-disabled": "Prenosi so onemogočeni",
"signature-too-long": "Vaš podpis ne sme biti daljši od %1 znak(ov).",
"about-me-too-long": "Rubrika \"O meni\" ne sme biti daljša od %1 znak(ov).",
"cant-chat-with-yourself": "Ne morete klepetati s seboj!",
- "chat-restricted": "Uporabnik je omejil klepetanje. Za možnost klepetanja vas mora uporabnik slediti",
- "chat-disabled": "Chat system disabled",
+ "chat-restricted": "Uporabnik je omejil klepetanje. Za možnost klepetanja vas mora uporabnik spremljati",
+ "chat-disabled": "Klepet je onemogočen",
"too-many-messages": "Poslali ste veliko število sporočil, prosimo počakajte nekaj časa.",
- "invalid-chat-message": "Invalid chat message",
- "chat-message-too-long": "Chat message is too long",
+ "invalid-chat-message": "Neveljavno sporočilo klepeta",
+ "chat-message-too-long": "Sporočilo klepeta je predolgo",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"already-voting-for-this-post": "You have already voted for this post.",
- "reputation-system-disabled": "Možnost ugleda je onemogočena.",
+ "reputation-system-disabled": "Sistem za ugled je onemogočen.",
"downvoting-disabled": "Negativno glasovanje je onemogočeno",
"not-enough-reputation-to-downvote": "Nimate dovolj ugleda za negativno glasovanje",
"not-enough-reputation-to-flag": "Nimate dovolj ugleda za prijavo te objave",
@@ -112,7 +112,7 @@
"reload-failed": "NodeBB je zaznal težavo pri osveževanju: ",
"registration-error": "Napaka pri registraciji",
"parse-error": "Nekaj je šlo narobe pri pridobivanju odgovora s strežnika",
- "wrong-login-type-email": "Uporabite svoj e-mail naslov za prijavo",
+ "wrong-login-type-email": "Uporabite svoj e-poštni naslov za prijavo",
"wrong-login-type-username": "Uporabite svoje uporabniško ime za prijavo",
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
"no-session-found": "No login session found!",
diff --git a/public/language/sl/global.json b/public/language/sl/global.json
index f26add34d6..5dd5474601 100644
--- a/public/language/sl/global.json
+++ b/public/language/sl/global.json
@@ -52,8 +52,8 @@
"best": "Best",
"upvoters": "Upvoters",
"upvoted": "Upvoted",
- "downvoters": "Downvoters",
- "downvoted": "Downvoted",
+ "downvoters": "Negativnih glasovalcev",
+ "downvoted": "Negativno glasovano",
"views": "Ogledi",
"reputation": "Ugled",
"read_more": "preberi več",
diff --git a/public/language/sl/pages.json b/public/language/sl/pages.json
index 27eebd626a..e89f935421 100644
--- a/public/language/sl/pages.json
+++ b/public/language/sl/pages.json
@@ -39,7 +39,7 @@
"account/settings": "Uporabniške nastavitve",
"account/watched": "Teme, ki jih spremlja uporabnik %1",
"account/upvoted": "Posts upvoted by %1",
- "account/downvoted": "Posts downvoted by %1",
+ "account/downvoted": "Negativno glasovane objave od %1",
"account/best": "Best posts made by %1",
"confirm": "Email Confirmed",
"maintenance.text": "%1 je trenutno v prenovi. Prosimo pridite nazaj kasneje.",
diff --git a/public/language/sl/tags.json b/public/language/sl/tags.json
index 4fbbab14d8..954005559f 100644
--- a/public/language/sl/tags.json
+++ b/public/language/sl/tags.json
@@ -3,5 +3,5 @@
"tags": "Oznake",
"enter_tags_here": "Tu vpišite oznake, med %1 in %2 znaki.",
"enter_tags_here_short": "Vpišite oznake...",
- "no_tags": "Ni še oznak."
+ "no_tags": "Nobene oznake še ni."
}
\ No newline at end of file
diff --git a/public/language/sl/topic.json b/public/language/sl/topic.json
index 225d18110b..cc00affa99 100644
--- a/public/language/sl/topic.json
+++ b/public/language/sl/topic.json
@@ -13,7 +13,7 @@
"notify_me": "Bodi obveščen o novih odgovorih na to temo",
"quote": "Citiraj",
"reply": "Odgovori",
- "reply-as-topic": "Reply as topic",
+ "reply-as-topic": "Odgovori z temo",
"guest-login-reply": "Prijavi se za odgovor",
"edit": "Uredi",
"delete": "Izbriši",
@@ -26,44 +26,44 @@
"tools": "Orodja",
"flag": "Prijavi",
"locked": "Zaklenjeno",
- "pinned": "Pinned",
- "moved": "Moved",
- "bookmark_instructions": "Click here to return to the last read post in this thread.",
- "flag_title": "Prijavi to objavo v pregled administratorju",
+ "pinned": "Pripeto",
+ "moved": "Premaknjeno",
+ "bookmark_instructions": "Klikni tukaj za vrnitev na zadnje prebrano objavo v tej niti",
+ "flag_title": "Označi to objavo za vodenje",
"flag_success": "Ta objava je bila prijavljena v pregled administratorju.",
- "deleted_message": "Ta tema je bila izbrisana. Le uporabniki s pravicami teme jo lahko vidijo.",
- "following_topic.message": "Sedaj boste dobili obvestila, ko bo nekdo objavil v to temo.",
+ "deleted_message": "Ta tema je bila izbrisana. Le uporabniki s pravicami upravljanja tem jo lahko vidijo.",
+ "following_topic.message": "Ob objavi v to temo, boste od sedaj dobivali obvestila. ",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
"login_to_subscribe": "Prosimo prijavite ali registrirajte se za naročanje o tej temi.",
"markAsUnreadForAll.success": "Tema označena kot neprebrana za vse.",
- "mark_unread": "Mark unread",
- "mark_unread.success": "Topic marked as unread.",
+ "mark_unread": "Označi kot neprebrano",
+ "mark_unread.success": "Tema označena kot neprebrana.",
"watch": "Spremljaj",
"unwatch": "Ne spremljaj",
"watch.title": "Bodi obveščen o novih odgovorih v tej temi",
"unwatch.title": "Prenehaj spremljati to temo",
"share_this_post": "Deli to objavo",
- "watching": "Watching",
- "not-watching": "Not Watching",
- "ignoring": "Ignoring",
+ "watching": "Spremljano",
+ "not-watching": "Ni spremljano",
+ "ignoring": "Prezri",
"watching.description": "Notify me of new replies.
Show topic in unread.",
"not-watching.description": "Do not notify me of new replies.
Show topic in unread if category is not ignored.",
"ignoring.description": "Do not notify me of new replies.
Do not show topic in unread.",
"thread_tools.title": "Orodja teme",
"thread_tools.markAsUnreadForAll": "Označi kot neprebrano",
- "thread_tools.pin": "Prilepi temo",
- "thread_tools.unpin": "Odlepi temo",
+ "thread_tools.pin": "Pripni temo",
+ "thread_tools.unpin": "Odpni temo",
"thread_tools.lock": "Zakleni temo",
"thread_tools.unlock": "Odkleni temo",
- "thread_tools.move": "Prestavi temo",
- "thread_tools.move_all": "Prestavi vse",
+ "thread_tools.move": "Premakni temo",
+ "thread_tools.move_all": "Premakni vse",
"thread_tools.fork": "Razcepi temo",
"thread_tools.delete": "Izbriši temo",
- "thread_tools.delete-posts": "Delete Posts",
+ "thread_tools.delete-posts": "Izbriši objave",
"thread_tools.delete_confirm": "Ste prepričani, da želite izbrisati to temo?",
- "thread_tools.restore": "Razveljavi temo",
- "thread_tools.restore_confirm": "Ste prepričani, da želite razveljaviti to temo?",
+ "thread_tools.restore": "Obnovi temo",
+ "thread_tools.restore_confirm": "Ste prepričani, da želite obnoviti to temo?",
"thread_tools.purge": "Očisti temo",
"thread_tools.purge_confirm": "Ste prepričani, da želite očistiti to temo?",
"topic_move_success": "Ta tema je bila uspešno prestavljena v %1",
@@ -74,9 +74,9 @@
"disabled_categories_note": "Onemogočene kategorije so obarvane sivo",
"confirm_move": "Premakni",
"confirm_fork": "Razcepi",
- "favourite": "Bookmark",
- "favourites": "Bookmarks",
- "favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
+ "favourite": "Zaznamek",
+ "favourites": "Zaznamki",
+ "favourites.has_no_favourites": "Zaznamovali še niste nobenih objav.",
"loading_more_posts": "Nalagam več objav",
"move_topic": "Premakni temo",
"move_topics": "Premakni teme",
diff --git a/public/language/sl/uploads.json b/public/language/sl/uploads.json
index 1622cb5693..85ee20d0c2 100644
--- a/public/language/sl/uploads.json
+++ b/public/language/sl/uploads.json
@@ -1,6 +1,6 @@
{
- "uploading-file": "Uploading the file...",
- "select-file-to-upload": "Select a file to upload!",
- "upload-success": "File uploaded successfully!",
- "maximum-file-size": "Maximum %1 kb"
+ "uploading-file": "Prenašanje datoteke ...",
+ "select-file-to-upload": "Izberete datoteko, ki jo želite prenesti!",
+ "upload-success": "Datoteka je bila uspešno prenesena!",
+ "maximum-file-size": "Največ %1 kb "
}
\ No newline at end of file
diff --git a/public/language/sl/user.json b/public/language/sl/user.json
index 57a2b00c47..330d37b7ee 100644
--- a/public/language/sl/user.json
+++ b/public/language/sl/user.json
@@ -1,19 +1,19 @@
{
- "banned": "Blokirani",
+ "banned": "Izločen",
"offline": "Odjavljeni",
"username": "Uporabniško ime",
"joindate": "Datum pridružitve",
"postcount": "Število objav",
"email": "E-pošta",
"confirm_email": "Potrdi e-poštni naslov",
- "account_info": "Account Info",
- "ban_account": "Blokiraj račun",
- "ban_account_confirm": "Ali želiš blokirati uporabnika?",
- "unban_account": "Odblokiraj račun",
+ "account_info": "Podatki računa",
+ "ban_account": "Izločen račun",
+ "ban_account_confirm": "Ali želiš izločiti uporabnika?",
+ "unban_account": "Ponovno vključi račun",
"delete_account": "Izbriši račun",
"delete_account_confirm": "Ali želiš izbrisati račun?
S potrditvijo bodo izbrisani vsi podatki, ki jih ne bo več možno obnoviti.
Vpiši svoje uporabniško ime za dokončanje procesa.",
"delete_this_account_confirm": "Ali želiš izbrisati račun?
S potrditvijo bodo izbrisani vsi podatki, ki jih ne bo več možno obnoviti.
",
- "account-deleted": "Account deleted",
+ "account-deleted": "Račun je izbrisan",
"fullname": "Ime in priimek",
"website": "Spletna stran",
"location": "Lokacija",
@@ -23,25 +23,25 @@
"profile": "Profil",
"profile_views": "Ogledi",
"reputation": "Naziv",
- "favourites": "Bookmarks",
- "watched": "Zgodovina ogledov",
- "followers": "Sledilci",
- "following": "Sledim",
+ "favourites": "Zaznamki",
+ "watched": "Spremljano",
+ "followers": "Spremljevalci",
+ "following": "Spremljano",
"aboutme": "O meni",
"signature": "Podpis",
"birthday": "Rojstni datum",
"chat": "Klepet",
- "chat_with": "Chat with %1",
+ "chat_with": "Klepet z %1",
"follow": "Spremljaj",
"unfollow": "Ne spremljaj",
"more": "Več",
- "profile_update_success": "Prosil je bil uspešno posodobljen.",
+ "profile_update_success": "Profil je bil uspešno posodobljen.",
"change_picture": "Spremeni sliko",
- "change_username": "Change Username",
- "change_email": "Change Email",
+ "change_username": "Spremeni uporabniško ime",
+ "change_email": "Spremeni e-poštni naslov",
"edit": "Uredi",
- "edit-profile": "Edit Profile",
- "default_picture": "Default Icon",
+ "edit-profile": "Uredi profil",
+ "default_picture": "Privzeta ikona",
"uploaded_picture": "Naloži fotografijo",
"upload_new_picture": "Naloži novo fotografijo",
"upload_new_picture_from_url": "Naloži novo fotografijo s spletnega naslova",
@@ -56,12 +56,12 @@
"confirm_password": "Potrdi geslo",
"password": "Geslo",
"username_taken_workaround": "Predlagano uporabniško ime je že zasedeno, zato predlagamo %1",
- "password_same_as_username": "Your password is the same as your username, please select another password.",
- "password_same_as_email": "Your password is the same as your email, please select another password.",
+ "password_same_as_username": "Vaše geslo je enako kot vaše uporabniško ime, prosim izberite drugačno geslo.",
+ "password_same_as_email": "Vaše geslo je enako kot vaše e-poštni naslov, prosim izberite drugačno geslo.",
"upload_picture": "Naloži fotografijo",
"upload_a_picture": "Naloži fotografijo",
- "remove_uploaded_picture": "Remove Uploaded Picture",
- "upload_cover_picture": "Upload cover picture",
+ "remove_uploaded_picture": "Odstrani preneseno sliko ",
+ "upload_cover_picture": "Prenesi fotografijo naslovnice",
"settings": "Nastavitve.",
"show_email": "Pokaži moj e-poštni naslov.",
"show_fullname": "Pokaži moj ime in priimek.",
@@ -80,9 +80,9 @@
"has_no_posts": "Uporabnik še ni ustvaril nobene objave.",
"has_no_topics": "Uporabnik še ni odprl nobene teme.",
"has_no_watched_topics": "Uporabnik še ne spremlja nobene teme.",
- "has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
- "has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
- "has_no_voted_posts": "This user has no voted posts",
+ "has_no_upvoted_posts": "Uporabnik še ni pritrdil nobeni objavi.",
+ "has_no_downvoted_posts": "Uporabnik še ni ne pritrdil nobeni objavi.",
+ "has_no_voted_posts": "Uporabnik še nima nobene pritrditve objavam",
"email_hidden": "Skrit e-poštni naslov",
"hidden": "skrit",
"paginate_description": "Uporabi oštevilčenje strani namesto neskončnega drsenja",
@@ -93,14 +93,14 @@
"open_links_in_new_tab": "Zunanje povezave odpri v novem zavihku",
"enable_topic_searching": "Omogoči iskanje znotraj teme",
"topic_search_help": "Če omogočite, bo iskanje prepisalo brskalnikove prevzete nastavitve in vam omogočilo iskanje skozi celotno temo.",
- "delay_image_loading": "Delay Image Loading",
+ "delay_image_loading": "Zakasnitev pri nalaganju slike",
"image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view",
"scroll_to_my_post": "After posting a reply, show the new post",
- "follow_topics_you_reply_to": "Watch topics that you reply to",
- "follow_topics_you_create": "Watch topics you create",
+ "follow_topics_you_reply_to": "Spremljanj teme, na katere si odgovoril",
+ "follow_topics_you_create": "Spremljanj teme, ki si jih ustvaril",
"grouptitle": "Group Title",
"no-group-title": "Skupina nima imena",
- "select-skin": "Izberi obliko",
+ "select-skin": "Izberi preobleko",
"select-homepage": "Select a Homepage",
"homepage": "Homepage",
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
diff --git a/public/src/admin/advanced/errors.js b/public/src/admin/advanced/errors.js
index 2e72bcceb5..52d6427240 100644
--- a/public/src/admin/advanced/errors.js
+++ b/public/src/admin/advanced/errors.js
@@ -29,7 +29,7 @@ define('admin/advanced/errors', ['Chart'], function(Chart) {
dailyLabels = dailyLabels.slice(-7);
if (utils.isMobile()) {
- Chart.defaults.global.showTooltips = false;
+ Chart.defaults.global.tooltips.enabled = false;
}
var data = {
@@ -38,12 +38,12 @@ define('admin/advanced/errors', ['Chart'], function(Chart) {
datasets: [
{
label: "",
- fillColor: "rgba(186,139,175,0.2)",
- strokeColor: "rgba(186,139,175,1)",
- pointColor: "rgba(186,139,175,1)",
- pointStrokeColor: "#fff",
- pointHighlightFill: "#fff",
- pointHighlightStroke: "rgba(186,139,175,1)",
+ backgroundColor: "rgba(186,139,175,0.2)",
+ borderColor: "rgba(186,139,175,1)",
+ pointBackgroundColor: "rgba(186,139,175,1)",
+ pointHoverBackgroundColor: "#fff",
+ pointBorderColor: "#fff",
+ pointHoverBorderColor: "rgba(186,139,175,1)",
data: ajaxify.data.analytics['not-found']
}
]
@@ -53,12 +53,12 @@ define('admin/advanced/errors', ['Chart'], function(Chart) {
datasets: [
{
label: "",
- fillColor: "rgba(151,187,205,0.2)",
- strokeColor: "rgba(151,187,205,1)",
- pointColor: "rgba(151,187,205,1)",
- pointStrokeColor: "#fff",
- pointHighlightFill: "#fff",
- pointHighlightStroke: "rgba(151,187,205,1)",
+ backgroundColor: "rgba(151,187,205,0.2)",
+ borderColor: "rgba(151,187,205,1)",
+ pointBackgroundColor: "rgba(151,187,205,1)",
+ pointHoverBackgroundColor: "#fff",
+ pointBorderColor: "#fff",
+ pointHoverBorderColor: "rgba(151,187,205,1)",
data: ajaxify.data.analytics['toobusy']
}
]
@@ -67,13 +67,41 @@ define('admin/advanced/errors', ['Chart'], function(Chart) {
notFoundCanvas.width = $(notFoundCanvas).parent().width();
tooBusyCanvas.width = $(tooBusyCanvas).parent().width();
- new Chart(notFoundCanvas.getContext('2d')).Line(data['not-found'], {
- responsive: true,
- animation: false
+
+ new Chart(notFoundCanvas.getContext('2d'), {
+ type: 'line',
+ data: data['not-found'],
+ options: {
+ responsive: true,
+ legend: {
+ display: false
+ },
+ scales: {
+ yAxes: [{
+ ticks: {
+ beginAtZero: true
+ }
+ }]
+ }
+ }
});
- new Chart(tooBusyCanvas.getContext('2d')).Line(data['toobusy'], {
- responsive: true,
- animation: false
+
+ new Chart(tooBusyCanvas.getContext('2d'), {
+ type: 'line',
+ data: data['toobusy'],
+ options: {
+ responsive: true,
+ legend: {
+ display: false
+ },
+ scales: {
+ yAxes: [{
+ ticks: {
+ beginAtZero: true
+ }
+ }]
+ }
+ }
});
};
diff --git a/public/src/admin/general/dashboard.js b/public/src/admin/general/dashboard.js
index 1071c76b0d..1224d2ace2 100644
--- a/public/src/admin/general/dashboard.js
+++ b/public/src/admin/general/dashboard.js
@@ -165,8 +165,7 @@ define('admin/general/dashboard', ['semver', 'Chart'], function(semver, Chart) {
trafficLabels = utils.getHoursArray();
if (isMobile) {
- Chart.defaults.global.showTooltips = false;
- Chart.defaults.global.animation = false;
+ Chart.defaults.global.tooltips.enabled = false;
}
var data = {
diff --git a/src/plugins/load.js b/src/plugins/load.js
index a70fce41ab..70aea70ccd 100644
--- a/src/plugins/load.js
+++ b/src/plugins/load.js
@@ -153,22 +153,22 @@ module.exports = function(Plugins) {
}
Plugins.clientScripts = Plugins.clientScripts.concat(pluginData.scripts.map(function(file) {
- return path.join(__dirname, '../../node_modules/', pluginData.id, file);
- }));
+ return resolveModulePath(path.join(__dirname, '../../node_modules/', pluginData.id, file), file);
+ })).filter(Boolean);
}
if (Array.isArray(pluginData.acpScripts)) {
if (global.env === 'development') {
- winston.verbose('[plugins] Found ' + pluginData.acpScripts.length + ' js file(s) for plugin ' + pluginData.id);
+ winston.verbose('[plugins] Found ' + pluginData.acpScripts.length + ' ACP js file(s) for plugin ' + pluginData.id);
}
Plugins.acpScripts = Plugins.acpScripts.concat(pluginData.acpScripts.map(function(file) {
- return path.join(__dirname, '../../node_modules/', pluginData.id, file);
- }));
+ return resolveModulePath(path.join(__dirname, '../../node_modules/', pluginData.id, file), file);
+ })).filter(Boolean);
}
callback();
- };
+ }
function mapClientModules(pluginData, callback) {
if (!pluginData.hasOwnProperty('modules')) {
@@ -201,14 +201,16 @@ module.exports = function(Plugins) {
}
for (var name in pluginData.modules) {
- modules[name] = path.join('./node_modules/', pluginData.id, pluginData.modules[name]);
+ if (pluginData.modules.hasOwnProperty(name)) {
+ modules[name] = path.join('./node_modules/', pluginData.id, pluginData.modules[name]);
+ }
}
meta.js.scripts.modules = _.extend(meta.js.scripts.modules, modules);
}
callback();
- };
+ }
function loadLanguages(pluginData, callback) {
if (typeof pluginData.languages !== 'string') {
@@ -265,6 +267,30 @@ module.exports = function(Plugins) {
});
}
+ function resolveModulePath(fullPath, relPath) {
+ /**
+ * With npm@3, dependencies can become flattened, and appear at the root level.
+ * This method resolves these differences if it can.
+ */
+ var atRootLevel = fullPath.match(/node_modules/g).length === 1;
+
+ try {
+ fs.statSync(fullPath);
+ winston.verbose('[plugins/load] File found: ' + fullPath);
+ return fullPath;
+ } catch (e) {
+ // File not visible to the calling process, ascend to root level if possible and try again
+ if (!atRootLevel && relPath) {
+ winston.verbose('[plugins/load] File not found: ' + fullPath + ' (Ascending)');
+ return resolveModulePath(path.join(__dirname, '../..', relPath));
+ } else {
+ // Already at root level, file was simply not found
+ winston.warn('[plugins/load] File not found: ' + fullPath + ' (Ignoring)');
+ return null;
+ }
+ }
+ }
+
Plugins.loadPluginInfo = function(pluginPath, callback) {
async.parallel({
package: function(next) {
diff --git a/src/socket.io/user.js b/src/socket.io/user.js
index c38bcc5bbf..44c17ea476 100644
--- a/src/socket.io/user.js
+++ b/src/socket.io/user.js
@@ -1,7 +1,7 @@
'use strict';
var async = require('async');
-
+var winston = require('winston');
var user = require('../user');
var topics = require('../topics');
@@ -91,7 +91,17 @@ SocketUser.reset.send = function(socket, email, callback) {
return callback(new Error('[[error:invalid-data]]'));
}
- user.reset.send(email, callback);
+ user.reset.send(email, function(err) {
+ if (err && err.message !== '[[error:invalid-email]]') {
+ return callback(err);
+ }
+ if (err && err.message === '[[error:invalid-email]]') {
+ winston.verbose('[user/reset] Invalid email attempt: ' + email);
+ return setTimeout(callback, 2500);
+ }
+
+ callback();
+ });
};
SocketUser.reset.commit = function(socket, data, callback) {