Merge remote-tracking branch 'refs/remotes/origin/master' into develop

v1.18.x
Baris Usakli 8 years ago
commit 5167c1aa4f

@ -60,14 +60,14 @@
"nodebb-plugin-emoji-extended": "1.1.1",
"nodebb-plugin-emoji-one": "1.2.1",
"nodebb-plugin-markdown": "7.1.1",
"nodebb-plugin-mentions": "2.1.1",
"nodebb-plugin-mentions": "2.1.2",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.5.0",
"nodebb-rewards-essentials": "0.0.9",
"nodebb-theme-lavender": "4.0.1",
"nodebb-theme-persona": "5.0.9",
"nodebb-theme-lavender": "4.0.2",
"nodebb-theme-persona": "5.0.11",
"nodebb-theme-slick": "1.1.0",
"nodebb-theme-vanilla": "6.0.6",
"nodebb-theme-vanilla": "6.0.7",
"nodebb-widget-essentials": "3.0.0",
"nodemailer": "2.6.4",
"nodemailer-sendmail-transport": "1.0.0",

@ -10,7 +10,7 @@
"custom-class": "Benutzderdefinierte Klasse",
"num-recent-replies": "Anzahl neuer Antworten",
"ext-link": "Externer Link",
"is-section": "Treat this category as a section",
"is-section": "Behandle diese Kategorie als Abschnitt",
"upload-image": "Bild hochladen",
"delete-image": "Entfernen",
"category-image": "Kategoriebild",

@ -32,9 +32,9 @@
"notif.post.unsub.info": "La notificación de este mensaje se te ha enviado debido a tus ajustes de subscripción.",
"test.text1": "Este es un email de prueba para verificar que el envío de email está ajustado correctamente para tu NodeBB",
"unsub.cta": "Haz click aquí para modificar los ajustes.",
"banned.subject": "You have been banned from %1",
"banned.text1": "The user %1 has been banned from %2.",
"banned.text2": "This ban will last until %1.",
"banned.text3": "This is the reason why you have been banned:",
"banned.subject": "Has sido baneado de %1",
"banned.text1": "El usuario %1 ha sido baneado de %2.",
"banned.text2": "Este ban dura hasta %1.",
"banned.text3": "La razón por la que has sido baneado: ",
"closing": "¡Gracias!"
}

@ -1,6 +1,6 @@
{
"invalid-data": "Datos no válidos",
"invalid-json": "Invalid JSON",
"invalid-json": "JSON no válido",
"not-logged-in": "No has iniciado sesión.",
"account-locked": "Tu cuenta ha sido bloqueada temporalmente.",
"search-requires-login": "¡Buscar requiere estar registrado! Por favor, entra o regístrate.",
@ -13,7 +13,7 @@
"invalid-title": "¡Título no válido!",
"invalid-user-data": "Datos de usuario no válidos",
"invalid-password": "Contraseña no válida",
"invalid-login-credentials": "Invalid login credentials",
"invalid-login-credentials": "Datos de acceso no válidos",
"invalid-username-or-password": "Por favor especifica tanto un usuario como contraseña",
"invalid-search-term": "Término de búsqueda inválido",
"csrf-invalid": "El acceso ha fallado porque tu sesión ha expirado. Por favor prueba otra vez.",
@ -32,7 +32,7 @@
"password-too-long": "Contraseña muy corta",
"user-banned": "Usuario baneado",
"user-banned-reason": "Lo siento, esta cuenta ha sido baneada ( Razon: %1 )",
"user-banned-reason-until": "Sorry, this account has been banned until %1 (Reason: %2)",
"user-banned-reason-until": "Lo siento, esta cuenta ha sido baneada hasta %1 ( Razon: %2 )",
"user-too-new": "Lo sentimos, es necesario que esperes %1 segundo(s) antes poder hacer tu primera publicación",
"blacklisted-ip": "Lo sentimos, tu dirección IP ha sido baneada de esta comunidad. Si crees que debe de haber un error, por favor contacte con un administrador.",
"ban-expiry-missing": "Por favor pon una fecha de fin del ban",
@ -107,7 +107,7 @@
"chat-disabled": "El sistema de chat está deshabilitado",
"too-many-messages": "Has enviado demasiados mensajes, por favor espera un poco.",
"invalid-chat-message": "Mensaje de Chat inválido",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"chat-message-too-long": "Los mensajes de chat no pueden ser mas largo de %1 caracteres.",
"cant-edit-chat-message": "No tienes permiso para editar este mensaje",
"cant-remove-last-user": "No puedes eliminar el último usuario",
"cant-delete-chat-message": "No tienes permiso para eliminar este mensaje",

@ -17,7 +17,7 @@
"filter-targetUid": "Indicador UID",
"filter-type": "Tipo de indicador",
"filter-type-all": "Todo el contenido",
"filter-type-post": "Post",
"filter-type-post": "Mensaje",
"filter-state": "estado",
"filter-assignee": "UID asignado",
"filter-cid": "Categoria",
@ -56,5 +56,5 @@
"modal-reason-offensive": "Ofensivo",
"modal-reason-custom": "Razón para reportar este contenido...",
"modal-submit": "Enviar reporte",
"modal-submit-success": "Content has been flagged for moderation."
"modal-submit-success": "El contenido se ha reportado para moderación."
}

@ -104,6 +104,6 @@
"cookies.accept": "De Acuerdo!",
"cookies.learn_more": "Quiero saber más",
"edited": "Editado",
"disabled": "Disabled",
"select": "Select"
"disabled": "Desahabilitado",
"select": "Seleccionar"
}

@ -27,7 +27,7 @@
"details.disableJoinRequests": "Desactivar las peticiones de unión",
"details.grant": "Conceder/Rescindir Propiedad",
"details.kick": "Expulsar",
"details.kick_confirm": "Are you sure you want to remove this member from the group?",
"details.kick_confirm": "¿ Estás seguro de que quieres eliminar a este miembro del grupo ?",
"details.owner_options": "Administración De Grupo",
"details.group_name": "Nombre de Grupo",
"details.member_count": "Numero de Miembros",
@ -54,5 +54,5 @@
"upload-group-cover": "Cargar foto para el grupo",
"bulk-invite-instructions": "Escribe una lista de nombres de usuario separados por comas a invitar a este grupo",
"bulk-invite": "Invitación multiple",
"remove_group_cover_confirm": "Are you sure you want to remove the cover picture?"
"remove_group_cover_confirm": "¿ Estás seguro de que quieres eliminar la imagen de portada?"
}

@ -13,14 +13,14 @@
"chat.contacts": "Contactos",
"chat.message-history": "Historial de mensajes",
"chat.pop-out": "Mostrar en ventana independiente",
"chat.minimize": "Minimize",
"chat.minimize": "Minimizar",
"chat.maximize": "Maximizar",
"chat.seven_days": "7 días",
"chat.thirty_days": "30 días",
"chat.three_months": "3 meses",
"chat.delete_message_confirm": "¿Estás seguro de que deseas eliminar este mensaje?",
"chat.add-users-to-room": "Añadir usuarios a la sala",
"chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?",
"chat.confirm-chat-with-dnd-user": "Este usuario está en modo No molestar. ¿ Estás seguro de que quieres chatear con él ?",
"composer.compose": "Crear",
"composer.show_preview": "Ver Previsualización",
"composer.hide_preview": "Ocultar Previsualización",

@ -10,15 +10,15 @@
"return_to": "Regresar a %1",
"new_notification": "Nueva notificación",
"you_have_unread_notifications": "Tienes notificaciones sin leer.",
"all": "All",
"topics": "Topics",
"replies": "Replies",
"all": "Todo",
"topics": "Temas",
"replies": "Respuestas",
"chat": "Chats",
"follows": "Follows",
"upvote": "Upvotes",
"new-flags": "New Flags",
"my-flags": "Flags assigned to me",
"bans": "Bans",
"follows": "Seguidores",
"upvote": "Votos positivos",
"new-flags": "Nuevos reportes",
"my-flags": "Reportado asignado a mí",
"bans": "Baneos",
"new_message_from": "Nuevo mensaje de <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> ha votado positivamente tu respuesta en <strong>%2</strong>.",
"upvoted_your_post_in_dual": "<strong>%1</strong> y <strong>%2</strong> han votado positivamente tu respuesta en <strong>%3</strong>.",
@ -28,9 +28,9 @@
"user_flagged_post_in": "<strong>%1</strong> ha reportado una respuesta en <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> y <strong>%2</strong> han reportado un post en <strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> y otras %2 personas han reportado un post en <strong>%3</strong>",
"user_flagged_user": "<strong>%1</strong> flagged a user profile (%2)",
"user_flagged_user_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a user profile (%3)",
"user_flagged_user_multiple": "<strong>%1</strong> and %2 others flagged a user profile (%3)",
"user_flagged_user": "<strong>%1</strong> reportó el perfil (%2) ",
"user_flagged_user_dual": "<strong>%1</strong> y <strong>%2</strong> reportaron el perfil (%3)",
"user_flagged_user_multiple": "<strong>%1</strong> y otros %2 reportaron el perfil (%3) ",
"user_posted_to": "<strong>%1</strong> ha respondido a: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> y <strong>%2</strong> han respondido a <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> y otras %2 personas han respondido a: <strong>%3</strong>",
@ -40,7 +40,7 @@
"user_started_following_you_multiple": "<strong>%1</strong> y otras %2 personas comenzaron a seguirte.",
"new_register": "<strong>%1</strong> envió una solicitud de registro.",
"new_register_multiple": "Hay <strong>%1</strong> peticiones de registros pendientes de revisión",
"flag_assigned_to_you": "<strong>Flag %1</strong> has been assigned to you",
"flag_assigned_to_you": "<strong>Reporte %1</strong> te ha sido asignado.",
"email-confirmed": "Correo electrónico confirmado",
"email-confirmed-message": "Gracias por validar tu correo electrónico. Tu cuenta ya está completamente activa.",
"email-confirm-error-message": "Hubo un problema al validar tu cuenta de correo electrónico. Quizá el código era erróneo o expiró...",

@ -6,7 +6,7 @@
"popular-month": "Temas populares del mes",
"popular-alltime": "Temas populares de siempre",
"recent": "Temas recientes",
"flagged-content": "Flagged Content",
"flagged-content": "Contenido reportado",
"ip-blacklist": "Lista negra de IPS",
"users/online": "Conectados",
"users/latest": "Últimos usuarios",
@ -27,8 +27,8 @@
"group": "Grupo de %1",
"chats": "Chats",
"chat": "Chatear con %1",
"flags": "Flags",
"flag-details": "Flag %1 Details",
"flags": "Reportes",
"flag-details": "Detalle de reporte %1",
"account/edit": "Editar \"%1\"",
"account/edit/password": "Editar contraseña de \"%1\"",
"account/edit/username": "Editar nombre de usuario de \"%1\"",

@ -12,7 +12,7 @@
"reply-count": "Número de Respuestas",
"at-least": "De mínimo",
"at-most": "De máximo",
"relevance": "Relevance",
"relevance": "Relevancia",
"post-time": "Fecha de publicación",
"newer-than": "Más reciente que",
"older-than": "Más antiguo que",

@ -13,9 +13,9 @@
"notify_me": "Serás notificado cuando haya nuevas respuestas en este tema",
"quote": "Citar",
"reply": "Responder",
"replies_to_this_post": "%1 Replies",
"one_reply_to_this_post": "1 Reply",
"last_reply_time": "Last reply",
"replies_to_this_post": "%1 Respuestas",
"one_reply_to_this_post": "1 Respuesta",
"last_reply_time": "Última respuesta",
"reply-as-topic": "Responder como tema",
"guest-login-reply": "Accede para responder",
"edit": "Editar",
@ -59,7 +59,7 @@
"thread_tools.unlock": "Reabrir tema",
"thread_tools.move": "Mover tema",
"thread_tools.move_all": "Mover todo",
"thread_tools.select_category": "Select Category",
"thread_tools.select_category": "Seleccionar categoría",
"thread_tools.fork": "Dividir tema",
"thread_tools.delete": "Borrar tema",
"thread_tools.delete-posts": "Eliminar publicaciones",

@ -33,7 +33,7 @@
"chat": "Chat",
"chat_with": "Continuar chat con %1",
"new_chat_with": "Empezar chat con %1",
"flag-profile": "Flag Profile",
"flag-profile": "Perfil de reporte",
"follow": "Seguir",
"unfollow": "Dejar de seguir",
"more": "Más",
@ -60,14 +60,14 @@
"username_taken_workaround": "El nombre de usuario que has solicitada ya está siendo usado, por tanto lo hemos alterado ligeramente. Ahora eres conocido como <strong>%1</strong>.",
"password_same_as_username": "Tu Constraseña es igual al nombre de Usuario, por favor seleccione otra Constraseña.",
"password_same_as_email": "Tu contraseña es igual que tu dirección de correo, por favor elige otra contraseña.",
"weak_password": "Weak password.",
"weak_password": "Clase débil",
"upload_picture": "Subir foto",
"upload_a_picture": "Subir una foto",
"remove_uploaded_picture": "Borrar Imagen subida",
"upload_cover_picture": "Subir imagen de portada",
"remove_cover_picture_confirm": "Are you sure you want to remove the cover picture?",
"crop_picture": "Crop picture",
"upload_cropped_picture": "Crop and upload",
"remove_cover_picture_confirm": "¿ Estás seguro de borrar la imágen de portada ?",
"crop_picture": "Recortar imágen",
"upload_cropped_picture": "Recortar y subir",
"settings": "Opciones",
"show_email": "Mostrar mi correo electrónico",
"show_fullname": "Mostrar mi nombre completo",
@ -132,5 +132,5 @@
"info.email-history": "HIstórico de Email",
"info.moderation-note": "Nota de Moderación",
"info.moderation-note.success": "Nota de moderación guardada",
"info.moderation-note.add": "Add note"
"info.moderation-note.add": "Añadir nota"
}

@ -114,8 +114,8 @@
"select-skin": "انتخاب یک پوسته",
"select-homepage": "انتخاب صفحه اصلی",
"homepage": "صفحه اصلی",
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
"custom_route": "Custom Homepage Route",
"homepage_description": "یک صفحه را به عنوان خانه انتخاب کنید یا با انتخاب \"هیچکدام\" صفحه‌ی پیش فرض برای شما انتخاب می‌شود. ",
"custom_route": "مسیر صفحه‌ی اختصاصی",
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
"sso.title": "Single Sign-on Services",
"sso.associated": "Associated with",
@ -132,5 +132,5 @@
"info.email-history": "تاریخچه رایانامه",
"info.moderation-note": "یادداشت مدیر",
"info.moderation-note.success": "یادداشت مدیر ذخیره شد",
"info.moderation-note.add": "Add note"
"info.moderation-note.add": "افزودن یادداشت"
}

@ -24,7 +24,7 @@
"digest.day": "יום",
"digest.week": "שבוע",
"digest.month": "חודש",
"digest.subject": "Digest for %1",
"digest.subject": "מקבץ עבור %1",
"notif.chat.subject": "הודעת צ'אט חדשה התקבלה מ%1",
"notif.chat.cta": "לחץ כאן כדי להמשיך את השיחה",
"notif.chat.unsub.info": "התראה הצ'אט הזו נשלחה אליך על-פי הגדרות החשבון שלך.",

@ -60,7 +60,7 @@
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
"cant-delete-topic-has-reply": "אינך יכול למחוק נושא אחרי שכבר הגיבו בו.",
"cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"cant-delete-topic-has-replies": "לא ניתן למחוק את הנושא לאחר שקיבל %1 תגובות",
"content-too-short": "אנא הכנס פוסט ארוך יותר. פוסטים חייבים להכיל לפחות %1 תווים.",
"content-too-long": "אנא הכנס פוסט קצר יותר. פוסטים חייבים להיות קצרים יותר מ-%1 תווים.",
"title-too-short": "אנא הכנס כותרת ארוכה יותר. כותרות חייבות להכיל לפחות %1 תווים.",
@ -129,6 +129,6 @@
"cant-kick-self": "אינך יכול להסיר את עצמך מהקבוצה",
"no-users-selected": "לא נבחרו משתמשים",
"invalid-home-page-route": "כתובת דף הבית הינה שגויה",
"invalid-session": "Session Mismatch",
"invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page."
"invalid-session": "סשן לא תקין",
"invalid-session-text": "נראה שסשן ההתחברות שלך כבר לא פעיל. אנא טען מחדש את העמוד."
}

@ -10,7 +10,7 @@
"500.title": "שגיאה פנימית.",
"500.message": "אופס! נראה שמשהו השתבש!",
"400.title": "בקשה שגויה",
"400.message": "It looks like this link is malformed, please double-check and try again. Otherwise, return to the <a href='%1/'>home page</a>.",
"400.message": "נראה שהלינק הזה לא תקין, בדוק ונסה שוב. אחרת, חזור ל<a href='%1/'>עמוד הבית</a>.",
"register": "הרשמה",
"login": "התחברות",
"please_log_in": "אנא התחבר",
@ -74,7 +74,7 @@
"norecentposts": "אין פוסטים מהזמן האחרון",
"norecenttopics": "אין נושאים מהזמן החרון",
"recentposts": "פוסטים אחרונים",
"recentips": "כתובות IP שנכנסו למערכת לאחרונה",
"recentips": "כתובות IP שהתחברו למערכת לאחרונה",
"moderator_tools": "כלי מוד",
"away": "לא נמצא",
"dnd": "נא לא להפריע",
@ -99,11 +99,11 @@
"allowed-file-types": "פורמטי הקבצים המורשים הם %1",
"unsaved-changes": "יש לך שינויים שאינם נשמרו. האם הנך בטוח שברצונך להמשיך?",
"reconnecting-message": "נראה שההתחברות שלך אל %1 אבדה, אנא המתן בזמן שהמערכת מנסה לחבר אותך מחדש",
"play": "Play",
"cookies.message": "This website uses cookies to ensure you get the best experience on our website.",
"cookies.accept": "Got it!",
"play": "נגן",
"cookies.message": "אתר זה משתמש ב cookies על מנת לשפר את חוויות המשתמש.",
"cookies.accept": "קיבלתי!",
"cookies.learn_more": "למד עוד",
"edited": "נערך",
"disabled": "Disabled",
"select": "Select"
"disabled": "לא מאופשר",
"select": "בחר"
}

@ -52,7 +52,7 @@
"membership.reject": "דחה",
"new-group.group_name": "שם קבוצה",
"upload-group-cover": "העלה תמונת נושא לקבוצה",
"bulk-invite-instructions": "Enter a list of comma separated usernames to invite to this group",
"bulk-invite": "Bulk Invite",
"bulk-invite-instructions": "הזן רשימה מופרדת בפסיק של משתמשים שתרצה להזמין לקבוצה זו.",
"bulk-invite": "הזמן מספר משתמשים",
"remove_group_cover_confirm": "האם אתה בטוח שאתה רוצה להסיר את תמונת הקאבר?"
}

@ -8,5 +8,5 @@
"failed_login_attempt": "ההתחברות נכשלה",
"login_successful": "התחברת בהצלחה!",
"dont_have_account": "אין לך חשבון עדיין?",
"logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
"logged-out-due-to-inactivity": "התנתקת מפאנל האדמין בגלל חוסר אקטיביות"
}

@ -6,21 +6,21 @@
"chat.user_typing": "%1 מקליד ...",
"chat.user_has_messaged_you": "ל%1 יש הודעה עבורך.",
"chat.see_all": "צפה בכל הצ'אטים",
"chat.mark_all_read": "Mark all chats read",
"chat.mark_all_read": "סמן את כל הצ'אטים כ'נקראו'",
"chat.no-messages": "אנא בחר נמען על מנת לראות את היסטוריית הצ'אט איתו",
"chat.no-users-in-room": "אין משתמשים בחדר הזה",
"chat.recent-chats": "צ'אטים אחרונים",
"chat.contacts": "אנשי קשר",
"chat.message-history": "היסטוריית הודעות",
"chat.pop-out": "הוצא את חלון הצ'אט",
"chat.minimize": "Minimize",
"chat.minimize": "צמצם",
"chat.maximize": "הרחב",
"chat.seven_days": "7 ימים",
"chat.thirty_days": "30 ימים",
"chat.three_months": "3 חודשים",
"chat.delete_message_confirm": "האם אתה בטוח שברצונך למחוק הודעה זו?",
"chat.add-users-to-room": "הוסף משתמשים לצ'אט",
"chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?",
"chat.confirm-chat-with-dnd-user": "משתמש זה שינה את הסטטוס שלו ל 'לא להפריע'. אתה עדיין מעוניין לשוחח איתו?",
"composer.compose": "צור",
"composer.show_preview": "הצג תצוגה מקדימה",
"composer.hide_preview": "הסתר תצוגה מקדימה",
@ -30,17 +30,17 @@
"composer.submit_and_lock": "אשר ונעל",
"composer.toggle_dropdown": "הדלק/כבה את התפריט הנפתח",
"composer.uploading": "העלאה %1",
"composer.formatting.bold": "Bold",
"composer.formatting.italic": "Italic",
"composer.formatting.list": "List",
"composer.formatting.strikethrough": "Strikethrough",
"composer.formatting.link": "Link",
"composer.formatting.picture": "Picture",
"composer.upload-picture": "Upload Image",
"composer.upload-file": "Upload File",
"composer.zen_mode": "Zen Mode",
"composer.select_category": "Select a category",
"bootbox.ok": "בסדר",
"composer.formatting.bold": "מודגש",
"composer.formatting.italic": "נטוי",
"composer.formatting.list": "רשימה",
"composer.formatting.strikethrough": "קו פוסל",
"composer.formatting.link": "לינק",
"composer.formatting.picture": "תמונה",
"composer.upload-picture": "העלה תמונה",
"composer.upload-file": "העלה קובץ",
"composer.zen_mode": "מצב זן",
"composer.select_category": "בחר קטגוריה",
"bootbox.ok": "אוקיי",
"bootbox.cancel": "בטל",
"bootbox.confirm": "אשר",
"cover.dragging_title": "מיקום תמונת הנושא",

@ -16,8 +16,8 @@
"chat": "צ'אטים",
"follows": "עוקבים",
"upvote": "הצבעות בעד",
"new-flags": "New Flags",
"my-flags": "Flags assigned to me",
"new-flags": "דיווחים חדשים",
"my-flags": "דיווחים שהוקצו עבורי",
"bans": "הרחקות",
"new_message_from": "הודעה חדשה מ <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> הצביע בעד הפוסט שלך ב <strong>%2</strong>",
@ -28,9 +28,9 @@
"user_flagged_post_in": "<strong>%1</strong> דיווח על פוסט ב <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> ו<strong>%2</strong> סימנו פוסט ב<strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> ו%2 נוספים סימנו פוסט ב<strong>%3</strong>",
"user_flagged_user": "<strong>%1</strong> flagged a user profile (%2)",
"user_flagged_user_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a user profile (%3)",
"user_flagged_user_multiple": "<strong>%1</strong> and %2 others flagged a user profile (%3)",
"user_flagged_user": "<strong>%1</strong> דיווח על משתמש (%2)",
"user_flagged_user_dual": "<strong>%1</strong> ו - <strong>%2</strong> דיווחו על משתמש (%3)",
"user_flagged_user_multiple": "<strong>%1</strong> ו-%2 נוספים דיווחו על משתמש (%3)",
"user_posted_to": "<strong>%1</strong> פרסם תגובה ל: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> ו<strong>%2</strong> הגיבו ל: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> ו%2 אחרים הגיבו ל: <strong>%3</strong>",
@ -39,8 +39,8 @@
"user_started_following_you_dual": "<strong>%1</strong> ו<strong>%1</strong> התחילו לעקוב אחריך.",
"user_started_following_you_multiple": "<strong>%1</strong> ו%2 התחילו לעקוב אחריך.",
"new_register": "<strong>%1</strong> שלח בקשת הרשמה.",
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
"flag_assigned_to_you": "<strong>Flag %1</strong> has been assigned to you",
"new_register_multiple": "ישנן <strong>%1</strong> בקשות הרשמה שמחכות לבדיקה.",
"flag_assigned_to_you": "<strong>דיווח %1</strong> הוקצה עבורך",
"email-confirmed": "כתובת המייל אושרה",
"email-confirmed-message": "תודה שאישרת את כתובת המייל שלך. החשבון שלך פעיל כעת.",
"email-confirm-error-message": "אירעה שגיאה בעת אישור המייל שלך. ייתכן כי הקוד היה שגוי או פג תוקף.",

@ -6,20 +6,20 @@
"popular-month": "נושאים חמים החודש",
"popular-alltime": "הנושאים החמים בכל הזמנים",
"recent": "נושאים אחרונים",
"flagged-content": "Flagged Content",
"ip-blacklist": "IP Blacklist",
"flagged-content": "תוכן מדווח",
"ip-blacklist": "רשימת IP שחורה",
"users/online": "משתמשים מחוברים",
"users/latest": "משתמשים אחרונים",
"users/sort-posts": "משתמשים עם המונה הגבוה ביותר",
"users/sort-reputation": "משתמשים עם המוניטין הגבוה ביותר",
"users/banned": "משתמשים מורחקים",
"users/most-flags": "Most flagged users",
"users/most-flags": "משתמשים שדווחו הכי הרבה",
"users/search": "חיפוש משתמשים",
"notifications": "התראות",
"tags": "תגיות",
"tag": "נושאים שתוייגו תחת \"%1\"",
"register": "יצירת חשבון",
"registration-complete": "Registration complete",
"registration-complete": "ההרשמה הושלמה",
"login": "התחבר לחשבונך",
"reset": "איפוס סיסמה למשתמש",
"categories": "קטגוריות",
@ -27,19 +27,19 @@
"group": "קבוצת %1",
"chats": "הודעות פרטיות",
"chat": "שלחו הודעה פרטית ל%1",
"flags": "Flags",
"flag-details": "Flag %1 Details",
"flags": "דיווחים",
"flag-details": "פרטי דיווח %1",
"account/edit": "לערוך את \"%1\"",
"account/edit/password": "עורך את הסיסמה של \"%1\"",
"account/edit/username": "עורך את שם המשתמש של \"%1\"",
"account/edit/email": "עורך את כתובת המייל של \"%1\"",
"account/info": "Account Info",
"account/info": "פרטי חשבון",
"account/following": "אנשים ש%1 עוקב אחריהם",
"account/followers": "אנשים שעוקבים אחרי %1",
"account/posts": "הודעות שפורסמו על ידי %1",
"account/topics": "נושאים שנוצרו על ידי %1",
"account/groups": "הקבוצות של %1",
"account/bookmarks": "%1's Bookmarked Posts",
"account/bookmarks": "הפוסטים השמורים של %1",
"account/settings": "הגדרות משתמש",
"account/watched": "נושאים שנצפו על ידי %1",
"account/upvoted": "פוסטים שהוצבעו לטובה על ידי %1",

@ -8,11 +8,11 @@
"posted-by": "פורסם על-ידי",
"in-categories": "בקטגוריות",
"search-child-categories": "חפש בתת קטגוריות",
"has-tags": "Has tags",
"has-tags": "עם תגיות",
"reply-count": "כמות תגובות",
"at-least": "לפחות",
"at-most": "לכל היותר",
"relevance": "Relevance",
"relevance": "רלוונטיות",
"post-time": "זמן הפוסט",
"newer-than": "חדש מ",
"older-than": "ישן מ",

@ -9,5 +9,5 @@
"topics_marked_as_read.success": "נושאים שמסומנים כנקרא!",
"all-topics": "כל הנושאים",
"new-topics": "נושאים חדשים",
"watched-topics": "Watched Topics"
"watched-topics": "נושאים שאתה עוקב אחריהם"
}

@ -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": "מעלה את הקובץ...",
"select-file-to-upload": "בחר קובץ להעלאה!",
"upload-success": "הקובץ הועלה בהצלחה!",
"maximum-file-size": "מקסימום %1 קילובייט"
}

@ -31,9 +31,9 @@
"signature": "חתימה",
"birthday": "יום הולדת",
"chat": "צ'אט",
"chat_with": "Continue chat with %1",
"new_chat_with": "Start new chat with %1",
"flag-profile": "Flag Profile",
"chat_with": "המשך צ'אט עם %1",
"new_chat_with": "התחל צ'אט עם %1",
"flag-profile": "דווח על משתמש",
"follow": "עקוב",
"unfollow": "הפסק לעקוב",
"more": "עוד",
@ -42,7 +42,7 @@
"change_username": "שנה שם משתמש",
"change_email": "שנה מייל",
"edit": "ערוך",
"edit-profile": "Edit Profile",
"edit-profile": "ערוך פרופיל",
"default_picture": "אייקון ברירת מחדל",
"uploaded_picture": "התמונה הועלתה",
"upload_new_picture": "העלה תמונה חדשה",
@ -60,14 +60,14 @@
"username_taken_workaround": "שם המשתמש שבחרת כבר תפוס, אז שינינו אותו מעט. שם המשתמש שלך כעת הוא <strong>%1</strong>",
"password_same_as_username": "הסיסמה שלך זהה לשם המשתמש, אנא בחר סיסמה שונה.",
"password_same_as_email": "הסיסמה שלך זהה לכתובת המייל שלך, אנא בחר סיסמה שונה.",
"weak_password": "Weak password.",
"weak_password": "סיסמה חלשה.",
"upload_picture": "העלה תמונה",
"upload_a_picture": "העלה תמונה",
"remove_uploaded_picture": "מחק את התמונה שהועלתה",
"upload_cover_picture": "העלה תמונת נושא",
"remove_cover_picture_confirm": "Are you sure you want to remove the cover picture?",
"crop_picture": "Crop picture",
"upload_cropped_picture": "Crop and upload",
"remove_cover_picture_confirm": "האם אתה בטוח שאתה רוצה למחוק את תמונת הקאבר?",
"crop_picture": "חתוך תמונה",
"upload_cropped_picture": "חתוך והעלה",
"settings": "הגדרות",
"show_email": "פרסם את כתובת האימייל שלי",
"show_fullname": "הצג את שמי המלא",
@ -95,21 +95,21 @@
"topics_per_page": "כמות נושאים בעמוד",
"posts_per_page": "כמות פוסטים בעמוד",
"notification_sounds": "נגן סאונד כשמתקבלת התראה",
"notifications_and_sounds": "Notifications & Sounds",
"incoming-message-sound": "Incoming message sound",
"outgoing-message-sound": "Outgoing message sound",
"notification-sound": "Notification sound",
"no-sound": "No sound",
"notifications_and_sounds": "התראות וצלילים",
"incoming-message-sound": "צליל הודעה נכנסת",
"outgoing-message-sound": "צליל הודעה יוצאת",
"notification-sound": "צליל הודעה",
"no-sound": "ללא צליל",
"browsing": "הגדרות צפייה",
"open_links_in_new_tab": "פתח קישורים חיצוניים בכרטיסייה חדשה",
"enable_topic_searching": "הפעל חיפוש בתוך נושא",
"topic_search_help": "אם מאופשר, החיפוש בתוך הנושא יעקוף את שיטת החיפוש של הדפדפן, ויאפשר לך לחפש בכל הנושא - ולא רק במה שמוצג על המסך",
"delay_image_loading": "Delay Image Loading",
"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",
"grouptitle": "Group Title",
"delay_image_loading": "עכב טעינת תמונות",
"image_load_delay_help": "אם מאופשר, תמונות שנמצאות בתחתית העמוד יטענו רק כאשר תגלול אליהן",
"scroll_to_my_post": "הצג את הפוסט לאחר פרסום התגובה",
"follow_topics_you_reply_to": "עקוב אחר נושאים שהגבת עליהם",
"follow_topics_you_create": "עקוב אחר נושאים שפרסמת",
"grouptitle": "כותרת הקבוצה",
"no-group-title": "ללא כותרת לקבוצה",
"select-skin": "בחר מראה",
"select-homepage": "בחר דף בית",
@ -120,17 +120,17 @@
"sso.title": "שירות יחיד להתחברות",
"sso.associated": "משוייך עם",
"sso.not-associated": "לחץ כאן כדי לשייך",
"info.latest-flags": "Latest Flags",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-permanently": "Banned permanently",
"info.latest-flags": "דיווחים אחרונים",
"info.no-flags": "לא נמצאו פוסטים שמשתמשים דיווחו עליהם",
"info.ban-history": "היסטוריית הרחקות",
"info.no-ban-history": "משתמש זה מעולם לא הורחק",
"info.banned-until": "הורחק עד %1",
"info.banned-permanently": "הורחק לצמיתות",
"info.banned-reason-label": "סיבה",
"info.banned-no-reason": "No reason given.",
"info.username-history": "Username History",
"info.email-history": "Email History",
"info.moderation-note": "Moderation Note",
"info.moderation-note.success": "Moderation note saved",
"info.moderation-note.add": "Add note"
"info.banned-no-reason": "לא ניתנה סיבה.",
"info.username-history": "היסטוריית שם משתמש",
"info.email-history": "היסטוריית אימייל",
"info.moderation-note": "הערת מודרטור",
"info.moderation-note.success": "הערת מודרטור נשמרה",
"info.moderation-note.add": "הוסף הערה"
}

@ -2,7 +2,7 @@
"latest_users": "משתמשים אחרונים",
"top_posters": "מפרסמים הכי הרבה",
"most_reputation": "המוניטין הגבוה ביותר",
"most_flags": "Most Flags",
"most_flags": "הכי הרבה דיווחי משתמשים",
"search": "חיפוש",
"enter_username": "הכנס שם משתמש לחיפוש",
"load_more": "טען עוד",

@ -10,7 +10,7 @@
"custom-class": "사용자 정의 클래스",
"num-recent-replies": "최근 답장 갯수",
"ext-link": "외부 링크",
"is-section": "Treat this category as a section",
"is-section": "이 게시판을 섹션으로 취급",
"upload-image": "이미지 업로드",
"delete-image": "삭제",
"category-image": "게시판 이미지",

@ -104,6 +104,6 @@
"cookies.accept": "알겠습니다!",
"cookies.learn_more": "더 보기",
"edited": "수정 되었습니다.",
"disabled": "Disabled",
"select": "Select"
"disabled": "비활성화",
"select": "선택"
}

@ -59,7 +59,7 @@
"thread_tools.unlock": "잠금 해제",
"thread_tools.move": "이동",
"thread_tools.move_all": "모두 이동",
"thread_tools.select_category": "Select Category",
"thread_tools.select_category": "게시판 선택",
"thread_tools.fork": "주제 분리",
"thread_tools.delete": "삭제",
"thread_tools.delete-posts": "포스트 삭제",

@ -19,7 +19,7 @@ define('admin/manage/category', [
});
$('#category-selector').on('change', function () {
ajaxify.go('admin/manage/categories/' + $(this).val());
ajaxify.go('admin/manage/categories/' + $(this).val() + window.location.hash);
});
function enableColorPicker(idx, inputEl) {

@ -8,6 +8,7 @@ define('categorySelector', function () {
categorySelector.init = function (_el, callback) {
callback = callback || function () {};
el = _el;
selectedCategory = null;
el.on('click', '[data-cid]', function () {
var categoryEl = $(this);
categorySelector.selectCategory(categoryEl.attr('data-cid'));

@ -617,7 +617,7 @@
// Add directional code if necessary
adaptor.translate('[[language:dir]]', function (value) {
if (value) {
if (value && !$('html').attr('data-dir')) {
jQuery('html').css('direction', value).attr('data-dir', value);
}
});

@ -8,6 +8,7 @@ var user = require('../user');
var meta = require('../meta');
var plugins = require('../plugins');
var navigation = require('../navigation');
var translator = require('../translator');
var controllers = {
api: require('../controllers/api'),
@ -97,6 +98,11 @@ module.exports = function (middleware) {
}
db.get('uid:' + req.uid + ':confirm:email:sent', next);
},
languageDirection: function (next) {
translator.translate('[[language:dir]]', res.locals.config.userLang, function (translated) {
next(null, translated);
});
},
navigation: async.apply(navigation.get),
tags: async.apply(meta.tags.parse, req, res.locals.metaTags, res.locals.linkTags),
banned: async.apply(user.isBanned, req.uid),
@ -135,6 +141,7 @@ module.exports = function (middleware) {
templateValues.maintenanceHeader = parseInt(meta.config.maintenanceMode, 10) === 1 && !results.isAdmin;
templateValues.defaultLang = meta.config.defaultLang || 'en-GB';
templateValues.userLang = res.locals.config.userLang;
templateValues.languageDirection = results.languageDirection;
templateValues.privateUserInfo = parseInt(meta.config.privateUserInfo, 10) === 1;
templateValues.privateTagListing = parseInt(meta.config.privateTagListing, 10) === 1;

@ -83,7 +83,13 @@ middleware.routeTouchIcon = function (req, res) {
if (meta.config['brand:touchIcon'] && validator.isURL(meta.config['brand:touchIcon'])) {
return res.redirect(meta.config['brand:touchIcon']);
}
return res.sendFile(path.join(__dirname, '../../public', meta.config['brand:touchIcon'] || '/logo.png'), {
var iconPath = '../../public';
if (meta.config['brand:touchIcon']) {
iconPath += meta.config['brand:touchIcon'].replace(/assets\/uploads/, 'uploads');
} else {
iconPath += '/logo.png';
}
return res.sendFile(path.join(__dirname, iconPath), {
maxAge: req.app.enabled('cache') ? 5184000000 : 0,
});
};

@ -263,7 +263,8 @@ function generateTopicsFeed(feedOptions, feedTopics, callback) {
if (topicData.teaser && topicData.teaser.user) {
feedItem.description = topicData.teaser.content;
feedItem.author = topicData.teaser.user.username;
return next(null, feedItem);
feed.item(feedItem);
return next();
}
topics.getMainPost(topicData.tid, feedOptions.uid, function (err, mainPost) {

@ -181,7 +181,7 @@ module.exports = function (app, middleware, hotswapIds, callback) {
];
app.use(relativePath, function (req, res, next) {
if (deprecatedPaths.some(function (path) { return req.path.startsWith(path); })) {
winston.warn('[deprecated] Accessing `' + req.path.slice(1) + '` from `/` is deprecated. ' +
winston.verbose('[deprecated] Accessing `' + req.path.slice(1) + '` from `/` is deprecated. ' +
'Use `/assets' + req.path + '` to access this file.');
res.redirect(relativePath + '/assets' + req.path + '?' + meta.config['cache-buster']);
} else {
@ -190,7 +190,7 @@ module.exports = function (app, middleware, hotswapIds, callback) {
});
// DEPRECATED
app.use(relativePath + '/api/language', function (req, res) {
winston.warn('[deprecated] Accessing language files from `/api/language` is deprecated. ' +
winston.verbose('[deprecated] Accessing language files from `/api/language` is deprecated. ' +
'Use `/assets/language' + req.path + '.json` for prefetch paths.');
res.redirect(relativePath + '/assets/language' + req.path + '.json?' + meta.config['cache-buster']);
});

@ -22,7 +22,7 @@ require('./posts/bookmarks')(SocketPosts);
require('./posts/tools')(SocketPosts);
SocketPosts.reply = function (socket, data, callback) {
if (!data || !data.tid || !data.content) {
if (!data || !data.tid || (parseInt(meta.config.minimumPostLength, 10) !== 0 && !data.content)) {
return callback(new Error('[[error:invalid-data]]'));
}

@ -15,7 +15,7 @@ module.exports = function (SocketPosts) {
SocketPosts.edit = function (socket, data, callback) {
if (!socket.uid) {
return callback(new Error('[[error:not-logged-in]]'));
} else if (!data || !data.pid || !data.content) {
} else if (!data || !data.pid || (parseInt(meta.config.minimumPostLength, 10) !== 0 && !data.content)) {
return callback(new Error('[[error:invalid-data]]'));
}
@ -30,7 +30,7 @@ module.exports = function (SocketPosts) {
return callback(new Error('[[error:not-enough-tags, ' + meta.config.minimumTagsPerTopic + ']]'));
} else if (data.tags && data.tags.length > parseInt(meta.config.maximumTagsPerTopic, 10)) {
return callback(new Error('[[error:too-many-tags, ' + meta.config.maximumTagsPerTopic + ']]'));
} else if (contentLen < parseInt(meta.config.minimumPostLength, 10)) {
} else if (parseInt(meta.config.minimumPostLength, 10) !== 0 && contentLen < parseInt(meta.config.minimumPostLength, 10)) {
return callback(new Error('[[error:content-too-short, ' + meta.config.minimumPostLength + ']]'));
} else if (contentLen > parseInt(meta.config.maximumPostLength, 10)) {
return callback(new Error('[[error:content-too-long, ' + meta.config.maximumPostLength + ']]'));

@ -104,6 +104,7 @@ module.exports = function (Topics) {
if (data.content) {
data.content = utils.rtrim(data.content);
}
check(data.content, meta.config.minimumPostLength, meta.config.maximumPostLength, 'content-too-short', 'content-too-long', next);
},
function (next) {
@ -345,7 +346,7 @@ module.exports = function (Topics) {
item = S(item).stripTags().s.trim();
}
if (!item || item.length < parseInt(min, 10)) {
if (item === null || item === undefined || item.length < parseInt(min, 10)) {
return callback(new Error('[[error:' + minError + ', ' + min + ']]'));
} else if (item.length > parseInt(max, 10)) {
return callback(new Error('[[error:' + maxError + ', ' + max + ']]'));

@ -4,6 +4,7 @@ var async = require('async');
var assert = require('assert');
var nconf = require('nconf');
var path = require('path');
var request = require('request');
var db = require('./mocks/databasemock');
var categories = require('../src/categories');
@ -247,12 +248,19 @@ describe('Upload Controllers', function () {
});
it('should upload touch icon', function (done) {
var touchiconAssetPath = '/assets/uploads/system/touchicon-orig.png';
helpers.uploadFile(nconf.get('url') + '/api/admin/uploadTouchIcon', path.join(__dirname, '../test/files/test.png'), {}, jar, csrf_token, function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(Array.isArray(body));
assert.equal(body[0].url, '/assets/uploads/system/touchicon-orig.png');
done();
assert.equal(body[0].url, touchiconAssetPath);
meta.config['brand:touchIcon'] = touchiconAssetPath;
request(nconf.get('url') + '/apple-touch-icon', function (err, res, body) {
assert.ifError(err);
assert.equal(res.statusCode, 200);
assert(body);
done();
});
});
});
});

@ -991,20 +991,31 @@ describe('User', function () {
describe('digests', function () {
var uid;
before(function (done) {
User.create({ username: 'digestuser', email: 'test@example.com' }, function (err, _uid) {
async.waterfall([
function (next) {
User.create({ username: 'digestuser', email: 'test@example.com' }, next);
},
function (_uid, next) {
uid = _uid;
User.updateDigestSetting(uid, 'day', next);
},
function (next) {
User.setSetting(uid, 'dailyDigestFreq', 'day', next);
},
], done);
});
it('should send digests', function (done) {
User.digest.execute({ interval: 'day' }, function (err) {
assert.ifError(err);
uid = _uid;
done();
});
});
it('should send digests', function (done) {
User.updateDigestSetting(uid, 'day', function (err) {
it('should not send digests', function (done) {
User.digest.execute({ interval: 'month' }, function (err) {
assert.ifError(err);
User.digest.execute({ interval: 'day' }, function (err) {
assert.ifError(err);
done();
});
done();
});
});
});

Loading…
Cancel
Save