null
",
+ "headers.acao-help": "To deny access to all sites, leave empty",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"traffic-management": "Traffic Management",
diff --git a/public/language/en-GB/admin/settings/user.json b/public/language/en-GB/admin/settings/user.json
index bdabb075e9..b8f51c9288 100644
--- a/public/language/en-GB/admin/settings/user.json
+++ b/public/language/en-GB/admin/settings/user.json
@@ -37,6 +37,7 @@
"min-username-length": "Minimum Username Length",
"max-username-length": "Maximum Username Length",
"min-password-length": "Minimum Password Length",
+ "min-password-strength": "Minimum Password Strength",
"max-about-me-length": "Maximum About Me Length",
"terms-of-use": "Forum Terms of Use (Leave blank to disable)",
"user-search": "User Search",
diff --git a/public/language/en-GB/modules.json b/public/language/en-GB/modules.json
index 5f258128f8..8f8e4ad1ed 100644
--- a/public/language/en-GB/modules.json
+++ b/public/language/en-GB/modules.json
@@ -20,6 +20,7 @@
"chat.three_months": "3 Months",
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
"chat.add-users-to-room": "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?",
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
diff --git a/public/language/en-GB/user.json b/public/language/en-GB/user.json
index 7b79af9ce7..2f5e588881 100644
--- a/public/language/en-GB/user.json
+++ b/public/language/en-GB/user.json
@@ -63,6 +63,7 @@
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as %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.",
+ "weak_password": "Weak password.",
"upload_picture": "Upload picture",
"upload_a_picture": "Upload a picture",
diff --git a/public/language/hu/global.json b/public/language/hu/global.json
index ea60f7dd9b..c05367f938 100644
--- a/public/language/hu/global.json
+++ b/public/language/hu/global.json
@@ -61,7 +61,7 @@
"reputation": "Hírnév",
"read_more": "tovább olvas",
"more": "Több",
- "posted_ago_by_guest": "Vendég hozzászólás %1",
+ "posted_ago_by_guest": "%1 vendég hozzászólás",
"posted_ago_by": "%2 hozzászólás %1",
"posted_ago": "%1 hozzászólás",
"posted_in": "hozzászólt itt: %1",
@@ -103,5 +103,5 @@
"cookies.message": "A weboldal sütiket használ, a legjobb weboldalas élmény érdekében.",
"cookies.accept": "Értem!",
"cookies.learn_more": "Tudnivalók",
- "edited": "Edited"
+ "edited": "Szerkesztett"
}
\ No newline at end of file
diff --git a/public/language/hu/recent.json b/public/language/hu/recent.json
index bddd57893f..95004a40a6 100644
--- a/public/language/hu/recent.json
+++ b/public/language/hu/recent.json
@@ -4,7 +4,7 @@
"week": "Hét",
"month": "Hónap",
"year": "Év",
- "alltime": "Minden idők",
+ "alltime": "Bármikor",
"no_recent_topics": "Nincs friss témakör.",
"no_popular_topics": "Nincs népszerű témakör.",
"there-is-a-new-topic": "Van egy új témakör.",
diff --git a/public/language/nl/global.json b/public/language/nl/global.json
index 73eb607f24..f18dccae8d 100644
--- a/public/language/nl/global.json
+++ b/public/language/nl/global.json
@@ -103,5 +103,5 @@
"cookies.message": "Deze website gebruikt cookies om je ervan te verzekeren dat je de beste ervaring krijgt tijdens het gebruik van onze website.",
"cookies.accept": "Begrepen",
"cookies.learn_more": "Meer",
- "edited": "Edited"
+ "edited": "Bewerkt"
}
\ No newline at end of file
diff --git a/public/language/nl/groups.json b/public/language/nl/groups.json
index 912765ec55..0cf86d03a7 100644
--- a/public/language/nl/groups.json
+++ b/public/language/nl/groups.json
@@ -27,7 +27,7 @@
"details.disableJoinRequests": "Groepsverzoeken uitschakelen",
"details.grant": "Toekennen/herroepen van eigendom",
"details.kick": "Kick",
- "details.kick_confirm": "Are you sure you want to remove this member from the group?",
+ "details.kick_confirm": "Weet u zeker dat u de gebruiker wilt verwijderen uit de groep?",
"details.owner_options": "Groepsadministratie",
"details.group_name": "Groepsnaam",
"details.member_count": "Ledentelling",
@@ -54,5 +54,5 @@
"upload-group-cover": "Upload groepscover",
"bulk-invite-instructions": "Vul een lijst is met gebruikersnamen gescheiden met komma's om deze uit te nodigen voor deze groep",
"bulk-invite": "Massa uitnodiging",
- "remove_group_cover_confirm": "Are you sure you want to remove the cover picture?"
+ "remove_group_cover_confirm": "Weet u zeker dat u de cover foto wilt verwijderen?"
}
\ No newline at end of file
diff --git a/public/language/nl/modules.json b/public/language/nl/modules.json
index 34c8925ae7..59d0396464 100644
--- a/public/language/nl/modules.json
+++ b/public/language/nl/modules.json
@@ -13,7 +13,7 @@
"chat.contacts": "Contacten",
"chat.message-history": "Berichtengeschiedenis",
"chat.pop-out": "Chatvenster opbrengen bij chat",
- "chat.minimize": "Minimize",
+ "chat.minimize": "Verkleinen",
"chat.maximize": "Maximaliseren",
"chat.seven_days": "7 dagen",
"chat.thirty_days": "30 dagen",
diff --git a/public/language/nl/notifications.json b/public/language/nl/notifications.json
index a15226841a..29b4234fb7 100644
--- a/public/language/nl/notifications.json
+++ b/public/language/nl/notifications.json
@@ -10,14 +10,14 @@
"return_to": "Terug naar %1",
"new_notification": "Nieuwe notificatie",
"you_have_unread_notifications": "Je hebt nieuwe notificaties.",
- "all": "All",
- "topics": "Topics",
- "replies": "Replies",
+ "all": "Alles",
+ "topics": "Onderwerpen",
+ "replies": "Antwoorden",
"chat": "Chats",
- "follows": "Follows",
+ "follows": "Volgt",
"upvote": "Upvotes",
- "new-flags": "New Flags",
- "my-flags": "Flags assigned to me",
+ "new-flags": "Nieuwe markeringen",
+ "my-flags": "Markeringen toegewezen aan mij",
"bans": "Bans",
"new_message_from": "Nieuw bericht van %1",
"upvoted_your_post_in": "%1 heeft voor een bericht gestemd in %2.",
@@ -28,9 +28,9 @@
"user_flagged_post_in": "%1 rapporteerde een bericht in %2",
"user_flagged_post_in_dual": "%1 en %2 rapporteerde een bericht in %3",
"user_flagged_post_in_multiple": "%1 en %2 andere rapporteede een bericht in %3",
- "user_flagged_user": "%1 flagged a user profile (%2)",
- "user_flagged_user_dual": "%1 and %2 flagged a user profile (%3)",
- "user_flagged_user_multiple": "%1 and %2 others flagged a user profile (%3)",
+ "user_flagged_user": "%1 markeerde een gebruikersprofiel (%2)",
+ "user_flagged_user_dual": "%1 en %2 markeerden een gebruikersprofiel (%3)",
+ "user_flagged_user_multiple": "%1 en %2 anderen markeerde een gebruikersprofiel (%3)",
"user_posted_to": "%1 heeft een reactie geplaatst in %2",
"user_posted_to_dual": "%1 en %2 hebben een reactie geplaatst in: %3",
"user_posted_to_multiple": "%1 en %2 hebben een reactie geplaatst in: %3",
@@ -40,7 +40,7 @@
"user_started_following_you_multiple": "%1 en %2 andere volgen jou nu.",
"new_register": "%1 heeft een registratie verzoek aangevraagd.",
"new_register_multiple": "Er is/zijn %1 registratieverzoek(en) die wacht(en) op goedkeuring.",
- "flag_assigned_to_you": "Flag %1 has been assigned to you",
+ "flag_assigned_to_you": "Flag %1 is aan u toegewezen",
"email-confirmed": "E-mailadres bevestigd",
"email-confirmed-message": "Bedankt voor het bevestigen van je e-mailadres. Je account is nu volledig geactiveerd.",
"email-confirm-error-message": "Er was een probleem met het bevestigen van dit e-mailadres. Misschien is de code niet goed ingevoerd of was de beschikbare tijd inmiddels verstreken.",
diff --git a/public/language/nl/pages.json b/public/language/nl/pages.json
index 816f62be22..64441b8b54 100644
--- a/public/language/nl/pages.json
+++ b/public/language/nl/pages.json
@@ -6,7 +6,7 @@
"popular-month": "De populaire onderwerpen van deze maand",
"popular-alltime": "De populaire onderwerpen",
"recent": "Recente onderwerpen",
- "flagged-content": "Flagged Content",
+ "flagged-content": "Gemarkeerde content",
"ip-blacklist": "IP zwarte lijst",
"users/online": "Online Gebruikers",
"users/latest": "Meest recente gebruikers",
@@ -27,7 +27,7 @@
"group": "%1's groep",
"chats": "Chats",
"chat": "Chatten met %1",
- "flags": "Flags",
+ "flags": "Markeringen",
"flag-details": "Flag %1 Details",
"account/edit": "\"%1\" aanpassen",
"account/edit/password": "Wachtwoord van \"%1\" aanpassen",
diff --git a/public/language/tr/notifications.json b/public/language/tr/notifications.json
index 578b8c2ffc..4efbae1f80 100644
--- a/public/language/tr/notifications.json
+++ b/public/language/tr/notifications.json
@@ -10,17 +10,17 @@
"return_to": "Geri dön.",
"new_notification": "Yeni bildirim",
"you_have_unread_notifications": "Okunmamış bildirimleriniz var.",
- "all": "All",
- "topics": "Topics",
- "replies": "Replies",
- "chat": "Chats",
- "follows": "Follows",
+ "all": "Hepsi",
+ "topics": "Başlıklar",
+ "replies": "Yanıtlar",
+ "chat": "Sohbetler",
+ "follows": "Takip ediyor",
"upvote": "Upvotes",
- "new-flags": "New Flags",
+ "new-flags": "Yeni Bayrak",
"my-flags": "Flags assigned to me",
- "bans": "Bans",
+ "bans": "Yasaklamalar",
"new_message_from": "%1 size bir mesaj gönderdi",
- "upvoted_your_post_in": "%1 iletinizi beğendi. %2",
+ "upvoted_your_post_in": "%1 iletinizi beğendi. %2.",
"upvoted_your_post_in_dual": "%1 ve %2 %3 içindeki gönderini beğendi.",
"upvoted_your_post_in_multiple": "%1 ve %2 iki kişi daha %3 içindeki gönderini beğendi.",
"moved_your_post": "%1 senin iletin %2 taşındı",
diff --git a/public/language/tr/user.json b/public/language/tr/user.json
index 0b3e1b576d..05dcd10d0a 100644
--- a/public/language/tr/user.json
+++ b/public/language/tr/user.json
@@ -131,5 +131,5 @@
"info.email-history": "Email Geçmişi",
"info.moderation-note": "Moderasyon Notu",
"info.moderation-note.success": "Moderasyon notu kaydedildi",
- "info.moderation-note.add": "Add note"
+ "info.moderation-note.add": "Not ekle"
}
\ No newline at end of file
diff --git a/public/language/uk/admin/manage/flags.json b/public/language/uk/admin/manage/flags.json
deleted file mode 100644
index df1fcb01cb..0000000000
--- a/public/language/uk/admin/manage/flags.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "daily": "Щоденні скарги",
- "by-user": "Скарги за користувачем",
- "by-user-search": "Пошук оскаржених постів за іменем користувача",
- "category": "Категорія",
- "sort-by": "Сортувати за",
- "sort-by.most-flags": "Найбільше скарг",
- "sort-by.most-recent": "Найсвіжіші",
- "search": "Шукати",
- "dismiss-all": "Відхилити всі",
- "none-flagged": "Скарг немає!",
- "posted-in": "Запощено в %1",
- "read-more": "Читати далі",
- "flagged-x-times": "Цей пост було оскаржено %1 раз(ів):",
- "dismiss": "Відхилити цю скаргу",
- "delete-post": "Видалити цей пост",
-
- "alerts.confirm-delete-post": "Ви точно бажаєте видалити цей пост?"
-}
\ No newline at end of file
diff --git a/public/language/uk/user.json b/public/language/uk/user.json
index c8bd7ca5b2..bad807379e 100644
--- a/public/language/uk/user.json
+++ b/public/language/uk/user.json
@@ -131,5 +131,5 @@
"info.email-history": "Історія електронної пошти",
"info.moderation-note": "Коментар модератора",
"info.moderation-note.success": "Коментар модератора збережено",
- "info.moderation-note.add": "Add note"
+ "info.moderation-note.add": "Додати коментар"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/advanced/database.json b/public/language/zh-CN/admin/advanced/database.json
index 0388631265..5519709794 100644
--- a/public/language/zh-CN/admin/advanced/database.json
+++ b/public/language/zh-CN/admin/advanced/database.json
@@ -26,7 +26,7 @@
"redis.blocked-clients": "阻止的客户端",
"redis.used-memory": "已使用内存",
"redis.memory-frag-ratio": "内存碎片比率",
- "redis.total-connections-recieved": "已接收连接总数",
+ "redis.total-connections-recieved": "已接收的连接总数",
"redis.total-commands-processed": "已执行命令总数",
"redis.iops": "每秒实时操作数",
"redis.keyspace-hits": "Keyspace 命中",
diff --git a/public/language/zh-CN/admin/advanced/events.json b/public/language/zh-CN/admin/advanced/events.json
index 3c890a81eb..85d741ff27 100644
--- a/public/language/zh-CN/admin/advanced/events.json
+++ b/public/language/zh-CN/admin/advanced/events.json
@@ -2,5 +2,5 @@
"events": "事件",
"no-events": "暂无事件。",
"control-panel": "事件控制面板",
- "delete-events": "删除事件"
+ "delete-events": "清除事件"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/extend/plugins.json b/public/language/zh-CN/admin/extend/plugins.json
index 06edee6076..21446a0de9 100644
--- a/public/language/zh-CN/admin/extend/plugins.json
+++ b/public/language/zh-CN/admin/extend/plugins.json
@@ -1,6 +1,6 @@
{
"installed": "已安装",
- "active": "生效中",
+ "active": "激活",
"inactive": "未生效",
"out-of-date": "已过期",
"none-found": "无插件。",
diff --git a/public/language/zh-CN/admin/extend/widgets.json b/public/language/zh-CN/admin/extend/widgets.json
index 3c3d76eff3..36c987b0f9 100644
--- a/public/language/zh-CN/admin/extend/widgets.json
+++ b/public/language/zh-CN/admin/extend/widgets.json
@@ -13,7 +13,7 @@
"container.alert": "警报",
"alert.confirm-delete": "确认删除此窗口部件?",
- "alert.updated": "窗口部件升级",
- "alert.update-success": "已成功升级窗口部件"
+ "alert.updated": "窗口部件更新",
+ "alert.update-success": "已成功更新窗口部件"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/general/dashboard.json b/public/language/zh-CN/admin/general/dashboard.json
index f44b053421..9a17c65e68 100644
--- a/public/language/zh-CN/admin/general/dashboard.json
+++ b/public/language/zh-CN/admin/general/dashboard.json
@@ -33,7 +33,7 @@
"control-panel": "系统控制",
"reload": "重载",
"restart": "重启",
- "restart-warning": "重新载入或重启 NodeBB 会丢弃数秒内所有的连接。",
+ "restart-warning": "重载或重启 NodeBB 会丢失数秒内所有的连接。",
"maintenance-mode": "维护模式",
"maintenance-mode-title": "点击此处设置 NodeBB 的维护模式",
"realtime-chart-updates": "实时图表更新",
diff --git a/public/language/zh-CN/admin/manage/categories.json b/public/language/zh-CN/admin/manage/categories.json
index a881fce346..77aa93ec68 100644
--- a/public/language/zh-CN/admin/manage/categories.json
+++ b/public/language/zh-CN/admin/manage/categories.json
@@ -12,57 +12,57 @@
"ext-link": "外部链接",
"upload-image": "上传图片",
"delete-image": "移除",
- "category-image": "板块图片",
- "parent-category": "父板块",
- "optional-parent-category": "(可选)父板块",
+ "category-image": "版块图片",
+ "parent-category": "父版块",
+ "optional-parent-category": "(可选)父版块",
"parent-category-none": "(无)",
"copy-settings": "复制设置",
- "optional-clone-settings": "(可选) 从板块复制设置",
- "purge": "删除板块",
+ "optional-clone-settings": "(可选) 从版块复制设置",
+ "purge": "删除版块",
"enable": "启用",
"disable": "禁用",
"edit": "编辑",
- "select-category": "选择板块",
- "set-parent-category": "设置父板块",
+ "select-category": "选择版块",
+ "set-parent-category": "设置父版块",
- "privileges.description": "您可以在此部分中配置此板块的访问控制权限。 可以根据每个用户或每个组授予权限。 您可以通过在下面的表格中搜索,将新用户添加到此表中。",
- "privileges.warning": "注意 strong>:权限设置会立即生效。 调整这些设置后,无需保存。",
+ "privileges.description": "您可以在此部分中配置此版块的访问控制权限。 可以根据每个用户或每个组授予权限。 您可以通过在下面的表格中搜索,将新用户添加到此表中。",
+ "privileges.warning": "注意:权限设置会立即生效。 调整这些设置后,无需保存。",
"privileges.section-viewing": "查看权限",
"privileges.section-posting": "发帖权限",
"privileges.section-moderation": "审核权限",
"privileges.section-user": "用户",
"privileges.search-user": "添加用户",
- "privileges.no-users": "此类别中没有用户特定的权限。",
- "privileges.section-group": "用户组",
- "privileges.group-private": "这个用户组是私密的",
- "privileges.search-group": "添加用户组",
+ "privileges.no-users": "此版块中没有用户特定的权限。",
+ "privileges.section-group": "群组",
+ "privileges.group-private": "这个群组是私密的",
+ "privileges.search-group": "添加群组",
"privileges.copy-to-children": "复制到子版块",
- "privileges.copy-from-category": "从板块复制",
- "privileges.inherit": "如果 registered-users code> 组被授予特定权限,所有其他组都会收到隐式权限 strong>,即使它们未被明确定义/检查。 将显示此隐式权限,因为所有用户都是 registered-users code> 用户组的一部分,因此无需显式授予其他组的权限。",
+ "privileges.copy-from-category": "从版块复制",
+ "privileges.inherit": "如果 registered-users
组被授予特定权限,所有其他组都会收到隐式权限,即使它们未被明确定义/检查。 将显示此隐式权限,因为所有用户都是 registered-users
群组的一部分,因此无需显式授予其他组的权限。",
- "analytics.back": "返回板块列表",
- "analytics.title": "“%1”板块的统计",
- "analytics.pageviews-hourly": "图1 strong> – 此板块的每小时页面浏览量 small>",
- "analytics.pageviews-daily": "图2 strong> – 此板块的每日页面浏览量",
- "analytics.topics-daily": "图3 strong> – 每日在此板块中创建的主题 small>",
- "analytics.posts-daily": "图4 strong> – 每日在此板块中每日发布的帖子 small>",
+ "analytics.back": "返回版块列表",
+ "analytics.title": "“%1”版块的统计",
+ "analytics.pageviews-hourly": "图1 – 此版块的每小时页面浏览量",
+ "analytics.pageviews-daily": "图2 – 此版块的每日页面浏览量",
+ "analytics.topics-daily": "图3 – 每日在此版块中创建的主题",
+ "analytics.posts-daily": "图4 – 每日在此版块中每日发布的帖子",
"alert.created": "创建",
- "alert.create-success": "板块创建成功!",
- "alert.none-active": "您没有有效的板块。",
- "alert.create": "创建一个板块",
- "alert.confirm-moderate": "您确定要将审核权限授予此用户组吗? strong>此群组是公开的,任何用户都可以随意加入。",
- "alert.confirm-purge": "您确定要清除此板块“%1”吗? p>
警告! strong> 板块将被清除! h5> 清除板块将删除所有主题和帖子,并从数据库中删除板块。 如果您想暂时 em>移除板块,请使用停用板块。 p>",
- "alert.purge-success": "板块已删除!",
+ "alert.create-success": "版块创建成功!",
+ "alert.none-active": "您没有有效的版块。",
+ "alert.create": "创建一个版块",
+ "alert.confirm-moderate": "您确定要将审核权限授予此群组吗?此群组是公开的,任何用户都可以随意加入。",
+ "alert.confirm-purge": "您确定要清除此版块“%1”吗?
警告! 版块将被清除!
清除版块将删除所有主题和帖子,并从数据库中删除版块。 如果您想暂时移除版块,请使用停用版块。
",
+ "alert.purge-success": "版块已删除!",
"alert.copy-success": "设置已复制!",
- "alert.set-parent-category": "设置父板块",
- "alert.updated": "板块已更新",
- "alert.updated-success": "板块ID %1 成功更新。",
- "alert.upload-image": "上传板块图片",
+ "alert.set-parent-category": "设置父版块",
+ "alert.updated": "版块已更新",
+ "alert.updated-success": "版块ID %1 成功更新。",
+ "alert.upload-image": "上传版块图片",
"alert.find-user": "查找用户",
"alert.user-search": "在这里查找用户…",
- "alert.find-group": "查找用户组",
- "alert.group-search": "在此处搜索用户组..."
+ "alert.find-group": "查找群组",
+ "alert.group-search": "在此处搜索群组..."
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/manage/groups.json b/public/language/zh-CN/admin/manage/groups.json
index f2b90b98a0..131199f22c 100644
--- a/public/language/zh-CN/admin/manage/groups.json
+++ b/public/language/zh-CN/admin/manage/groups.json
@@ -1,31 +1,31 @@
{
- "name": "用户组名",
- "description": "用户组描述",
- "system": "系统用户组",
+ "name": "群组名",
+ "description": "群组描述",
+ "system": "系统群组",
"edit": "编辑",
- "search-placeholder": "索索",
- "create": "创建用户组",
- "description-placeholder": "一个关于你的用户组的简短描述",
+ "search-placeholder": "搜索",
+ "create": "创建群组",
+ "description-placeholder": "一个关于你的群组的简短描述",
"create-button": "创建",
- "alerts.create-failure": "哦不!创建您的用户组时出现问题。 请稍后再试!
",
- "alerts.confirm-delete": "确认要删除这个用户组么?",
+ "alerts.create-failure": "哦不!创建您的群组时出现问题。 请稍后再试!
",
+ "alerts.confirm-delete": "确认要删除这个群组么?",
"edit.name": "名字",
"edit.description": "描述",
"edit.user-title": "成员标题",
- "edit.icon": "用户组标志",
+ "edit.icon": "群组标志",
"edit.label-color": "群组标签颜色",
"edit.show-badge": "显示徽章",
- "edit.private-details": "启用此选项后,加入用户组的请求将需要组长审批。",
- "edit.private-override": "警告:系统禁用了私有用户组,优先于该选项。",
+ "edit.private-details": "启用此选项后,加入群组的请求将需要群组所有者审批。",
+ "edit.private-override": "警告:系统已禁用了私有群组,优先级高于该选项。",
"edit.disable-requests": "禁止加入请求",
"edit.hidden": "隐藏",
- "edit.hidden-details": "启用此选项后,此用户组将不在用户组列表展现,并且用户只能被手动邀请加入",
- "edit.add-user": "向此小组添加成员",
+ "edit.hidden-details": "启用此选项后,此群组将不在群组列表展现,并且用户只能被手动邀请加入",
+ "edit.add-user": "向此群组添加成员",
"edit.add-user-search": "搜索用户",
"edit.members": "成员列表",
- "control-panel": "小组控制面板",
+ "control-panel": "群组控制面板",
"revert": "重置",
"edit.no-users-found": "没有找到用户",
diff --git a/public/language/zh-CN/admin/manage/registration.json b/public/language/zh-CN/admin/manage/registration.json
index 26ec422c98..aa46fcdb49 100644
--- a/public/language/zh-CN/admin/manage/registration.json
+++ b/public/language/zh-CN/admin/manage/registration.json
@@ -1,6 +1,6 @@
{
- "queue": "队列",
- "description": "注册队列里面没有用户。
要开启这项功能,请去设置 → 用户 → 用户注册 并设置注册类型为“管理员批准”。",
+ "queue": "申请",
+ "description": "注册申请队列里面还没有用户申请。
要开启这项功能,请去设置 → 用户 → 用户注册 并设置注册类型为“管理员批准”。",
"list.name": "姓名",
"list.email": "邮件",
diff --git a/public/language/zh-CN/admin/manage/users.json b/public/language/zh-CN/admin/manage/users.json
index d8570e5977..8201df27c6 100644
--- a/public/language/zh-CN/admin/manage/users.json
+++ b/public/language/zh-CN/admin/manage/users.json
@@ -30,9 +30,9 @@
"search.username": "通过用户名",
"search.username-placeholder": "输入你想找的用户名",
"search.email": "通过邮箱",
- "search.email-placeholder": "输入你想找的邮箱地址",
+ "search.email-placeholder": "输入你想查询的邮箱地址",
"search.ip": "通过IP地址",
- "search.ip-placeholder": "输入你想找的IP",
+ "search.ip-placeholder": "输入你想查询的IP",
"search.not-found": "未找到用户!",
"inactive.3-months": "3个月",
diff --git a/public/language/zh-CN/admin/menu.json b/public/language/zh-CN/admin/menu.json
index 1a6771b20e..37f31c027a 100644
--- a/public/language/zh-CN/admin/menu.json
+++ b/public/language/zh-CN/admin/menu.json
@@ -11,8 +11,8 @@
"manage/categories": "版块",
"manage/tags": "话题",
"manage/users": "用户",
- "manage/registration": "注册队列",
- "manage/groups": "用户组",
+ "manage/registration": "注册申请",
+ "manage/groups": "群组",
"manage/ip-blacklist": "IP 黑名单",
"section-settings": "设置",
@@ -20,7 +20,7 @@
"settings/reputation": "声望",
"settings/email": "邮件",
"settings/user": "用户",
- "settings/group": "用户组",
+ "settings/group": "群组",
"settings/guest": "游客",
"settings/uploads": "上传",
"settings/post": "发帖",
diff --git a/public/language/zh-CN/admin/settings/advanced.json b/public/language/zh-CN/admin/settings/advanced.json
index 07184f136b..eb9bced36e 100644
--- a/public/language/zh-CN/admin/settings/advanced.json
+++ b/public/language/zh-CN/admin/settings/advanced.json
@@ -10,7 +10,7 @@
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"traffic-management": "流量管理",
- "traffic.help": "NodeBB 拥有在高流量情况下自动拒绝请求的模块。 您可以在这里调整这些设置,虽然默认值就很棒。",
+ "traffic.help": "NodeBB 拥有在高流量情况下自动拒绝请求的模块。尽管默认值就很棒,但您可以在这里调整这些设置。",
"traffic.enable": "启用流量管理",
"traffic.event-lag": "事件循环滞后阈值(毫秒)",
"traffic.event-lag-help": "降低此值会减少页面加载的等待时间,但也会向更多用户显示“过载”消息。(需要重新启动)",
diff --git a/public/language/zh-CN/admin/settings/cookies.json b/public/language/zh-CN/admin/settings/cookies.json
index a03212d78d..d8b00e8295 100644
--- a/public/language/zh-CN/admin/settings/cookies.json
+++ b/public/language/zh-CN/admin/settings/cookies.json
@@ -6,6 +6,6 @@
"consent.link-text": "政策链接文本",
"consent.blank-localised-default": "留空以便使用 NodeBB 本地默认值",
"settings": "设置",
- "cookie-domain": "会话 cookie 域名",
+ "cookie-domain": "Session cookie 域名",
"blank-default": "留空以保持默认"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/settings/group.json b/public/language/zh-CN/admin/settings/group.json
index d19d417f86..bd1771dd57 100644
--- a/public/language/zh-CN/admin/settings/group.json
+++ b/public/language/zh-CN/admin/settings/group.json
@@ -1,12 +1,12 @@
{
"general": "通用",
- "private-groups": "私有用户组",
- "private-groups.help": "启用此选项后,加入用户组需要组长审批(默认启用)。",
- "private-groups.warning": "注意!如果这个选项未启用并且你有私有用户组,那么你的用户组将变为公共的。",
- "allow-creation": "允许创建用户组",
- "allow-creation-help": "如果启用,用户就可以创建用户组(默认:不启用)",
- "max-name-length": "用户组名字的最大长度",
- "cover-image": "用户组封面图片",
+ "private-groups": "私有群组",
+ "private-groups.help": "启用此选项后,加入用户组需要群组所有者审批(默认启用)。",
+ "private-groups.warning": "注意!如果这个选项未启用并且你有私有群组,那么你的群组将变为公共的。",
+ "allow-creation": "允许创建群组",
+ "allow-creation-help": "如果启用,用户就可以创建群组(默认:不启用)",
+ "max-name-length": "群组名字的最大长度",
+ "cover-image": "群组封面图片",
"default-cover": "默认封面图片",
"default-cover-help": "为没有上传封面图片的群组添加以逗号分隔的默认封面图片"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/settings/pagination.json b/public/language/zh-CN/admin/settings/pagination.json
index ec44dd3661..b4e16d4f7f 100644
--- a/public/language/zh-CN/admin/settings/pagination.json
+++ b/public/language/zh-CN/admin/settings/pagination.json
@@ -3,7 +3,7 @@
"enable": "在主题和帖子使用分页替代无限滚动浏览。",
"topics": "话题分页",
"posts-per-page": "每页帖子数",
- "categories": "板块分页",
+ "categories": "版块分页",
"topics-per-page": "每页主题数",
"initial-num-load": "最初加载未读,最新,热门的话题"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/settings/post.json b/public/language/zh-CN/admin/settings/post.json
index a5869c1fc1..857f72b98e 100644
--- a/public/language/zh-CN/admin/settings/post.json
+++ b/public/language/zh-CN/admin/settings/post.json
@@ -6,21 +6,21 @@
"sorting.most-votes": "最多投票",
"sorting.topic-default": "默认主题排序",
"restrictions": "发帖限制",
- "restrictions.seconds-between": "发帖间隔",
- "restrictions.seconds-between-new": "对于新用户的发帖间隔",
+ "restrictions.seconds-between": "发帖间隔(单位:秒)",
+ "restrictions.seconds-between-new": "对于新用户的发帖间隔(单位:秒)",
"restrictions.rep-threshold": "取消发帖限制所需的声望值",
- "restrictions.seconds-defore-new": "见习时间",
- "restrictions.seconds-edit-after": "用户在发布后允许编辑帖子的秒数。 (0为禁用) ",
- "restrictions.seconds-delete-after": "允许在发布后删除帖子的秒数。 (0为禁用) ",
+ "restrictions.seconds-defore-new": "见习时间(单位:秒)",
+ "restrictions.seconds-edit-after": "用户在发布后允许编辑帖子的时间(0为禁用,单位:秒)",
+ "restrictions.seconds-delete-after": "用户在发布后允许删除帖子的时间(0为禁用,单位:秒)",
"restrictions.replies-no-delete": "在用户被禁止删除自己的主题后的回复数。 (0为禁用) ",
"restrictions.min-title-length": "最小标题长度",
"restrictions.max-title-length": "最大标题长度",
"restrictions.min-post-length": "最小帖子长度",
"restrictions.max-post-length": "最大帖子长度",
- "restrictions.days-until-stale": "主题过期时间",
+ "restrictions.days-until-stale": "主题过期时间(单位:天)",
"restrictions.stale-help": "如果某个主题被视为“过时”,则会向尝试回复该主题的用户显示警告。",
"timestamp": "时间戳",
- "timestamp.cut-off": "日期截止日期 (天) ",
+ "timestamp.cut-off": "日期截止日期(单位:天)",
"timestamp.cut-off-help": "日期&时间将以相对方式 (例如,“3小时前” / “5天前”) 显示,并且会依照访客语言时区转换。在某一时刻之后,可以切换该文本以显示本地化日期本身 (例如2016年11月5日15:30) 。
(默认值: 30
或一个月) 。 设置为0可始终显示日期,留空以始终显示相对时间。",
"teaser": "预览帖子",
"teaser.last-post": "最后– 显示最新的帖子,包括原帖,如果没有回复",
@@ -35,7 +35,7 @@
"signature.no-images": "禁用签名中的图片",
"signature.max-length": "签名最大长度",
"composer": "编辑器设置",
- "composer-help": "以下设置控制所示后期编辑器的功能和/或外观\n\\t\\t\\t\\t当用户创建新主题或回复现有主题时。",
+ "composer-help": "以下设置控制所示后期编辑器的功能和/或外观\n\t\t\t\t当用户创建新主题或回复现有主题时。",
"composer.show-help": "显示“帮助”选项卡",
"composer.enable-plugin-help": "允许插件将内容添加到帮助选项卡",
"composer.custom-help": "自定义帮助文本",
diff --git a/public/language/zh-CN/admin/settings/reputation.json b/public/language/zh-CN/admin/settings/reputation.json
index e6f9640f81..ec3f657d1e 100644
--- a/public/language/zh-CN/admin/settings/reputation.json
+++ b/public/language/zh-CN/admin/settings/reputation.json
@@ -3,7 +3,7 @@
"disable": "禁用声望系统",
"disable-down-voting": "禁用 踩",
"votes-are-public": "所有投票是公开的",
- "thresholds": "活动阈值",
+ "thresholds": "活动闸值",
"min-rep-downvote": "踩帖子所需要声望的最小值",
"min-rep-flag": "举报帖子需要的最小声望"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/admin/settings/uploads.json b/public/language/zh-CN/admin/settings/uploads.json
index 6c52e63b11..2a4c42f933 100644
--- a/public/language/zh-CN/admin/settings/uploads.json
+++ b/public/language/zh-CN/admin/settings/uploads.json
@@ -3,7 +3,7 @@
"allow-files": "允许用户上传普通文件",
"private": "使上传的文件私有化",
"max-image-width": "缩小图片到指定宽度(单位像素)",
- "max-image-width-help": "(像素单位,默认760像素,设置为0以禁用)",
+ "max-image-width-help": "(像素单位,默认 760 px,设置为0以禁用)",
"max-file-size": "最大文件尺寸(单位 KiB)",
"max-file-size-help": "(单位 KiB,默认2048KiB)",
"allow-topic-thumbnails": "允许用户上传主题缩略图",
@@ -16,11 +16,11 @@
"default-avatar": "访客默认头像",
"upload": "上传",
"profile-image-dimension": "个人资料相片尺寸",
- "profile-image-dimension-help": "(使用像素作为单位,默认:128px)",
+ "profile-image-dimension-help": "(使用 px 作为单位,默认:128px)",
"max-profile-image-size": "个人资料相片最大大小",
- "max-profile-image-size-help": "(单位KiB,默认256KiB)",
+ "max-profile-image-size-help": "(单位 KiB ,默认256KiB)",
"max-cover-image-size": "最大封面图片文件大小",
- "max-cover-image-size-help": "(单位kb,默认:2048KiB)",
+ "max-cover-image-size-help": "(单位 KiB ,默认:2048KiB)",
"keep-all-user-images": "在服务器上保留旧头像和旧的资料封面",
"profile-covers": "资料封面",
"default-covers": "默认封面图片",
diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json
index 8d30a90366..7b13c89b95 100644
--- a/public/language/zh-CN/admin/settings/user.json
+++ b/public/language/zh-CN/admin/settings/user.json
@@ -33,11 +33,11 @@
"registration-type.help": "通常 - 用户可以通过/register页面注册
\n管理员批准 - 用户注册请求会被放入 请求队列 待管理员批准。
\n管理员批准 IP地址 - 新用户不受影响,已存在帐户的IP地址注册需要管理员批准。
\n邀请制 - 用户可以通过 用户 页面邀请其它用户。
\n管理员邀请制 - 只有管理员可以通过 用户 和 admin/manage/users 页面邀请其它用户。
\n无注册 - 不开放用户注册。
",
"registration.max-invites": "每个用户最大邀请数",
"max-invites": "每个用户最大邀请数",
- "max-invites-help": "无限制填0。管理员没有邀请限制
仅在邀请制时可用",
+ "max-invites-help": "无限制填 0 。管理员没有邀请限制
仅在邀请制时可用",
"min-username-length": "最小用户名长度",
"max-username-length": "最大用户名长度",
"min-password-length": "最小密码长度",
- "max-about-me-length": "最大自我介绍长度",
+ "max-about-me-length": "自我介绍的最大长度",
"terms-of-use": "论坛使用条款 (留空即可禁用)",
"user-search": "用户搜索",
"user-search-results-per-page": "展示的结果数量",
diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json
index d7f706ff2c..a59beaf451 100644
--- a/public/language/zh-CN/error.json
+++ b/public/language/zh-CN/error.json
@@ -8,7 +8,7 @@
"invalid-pid": "无效帖子 ID",
"invalid-uid": "无效用户 ID",
"invalid-username": "无效用户名",
- "invalid-email": "无效电子邮箱",
+ "invalid-email": "无效的电子邮箱",
"invalid-title": "无效标题!",
"invalid-user-data": "无效用户数据",
"invalid-password": "无效密码",
@@ -29,14 +29,14 @@
"username-too-long": "用户名太长",
"password-too-long": "密码太长",
"user-banned": "用户已禁止",
- "user-banned-reason": "抱歉,此帐号已经被封号 (原因:%1)",
+ "user-banned-reason": "抱歉,此帐号已经被封禁 (原因:%1)",
"user-too-new": "抱歉,您需要等待 %1 秒后,才可以发帖!",
"blacklisted-ip": "对不起,您的 IP 地址已被社区禁用。如果您认为这是一个错误,请与管理员联系。",
"ban-expiry-missing": "请提供此次禁言结束日期",
"no-category": "版块不存在",
"no-topic": "主题不存在",
"no-post": "帖子不存在",
- "no-group": "用户组不存在",
+ "no-group": "群组不存在",
"no-user": "用户不存在",
"no-teaser": "主题预览不存在",
"no-privileges": "您没有权限执行此操作。",
@@ -80,13 +80,13 @@
"invalid-image-type": "无效的图像类型。允许的类型有:%1",
"invalid-image-extension": "无效的图像扩展",
"invalid-file-type": "无效文件格式,允许的格式有:%1",
- "group-name-too-short": "用户组名太短",
- "group-name-too-long": "用户组名太长",
- "group-already-exists": "用户组已存在",
- "group-name-change-not-allowed": "不允许更改用户组名称",
- "group-already-member": "已经是此用户组的成员",
- "group-not-member": "不是此用户组的成员",
- "group-needs-owner": "用户组需要指定至少一名组长",
+ "group-name-too-short": "群组名太短",
+ "group-name-too-long": "群组名太长",
+ "group-already-exists": "群组已存在",
+ "group-name-change-not-allowed": "不允许更改群组名称",
+ "group-already-member": "已经是此群组的成员",
+ "group-not-member": "不是此群组的成员",
+ "group-needs-owner": "群组需要指定至少一名群组所有者",
"group-already-invited": "您已邀请该用户",
"group-already-requested": "已提交您的请求",
"post-already-deleted": "此帖已被删除",
diff --git a/public/language/zh-CN/global.json b/public/language/zh-CN/global.json
index f864947bf4..6555431231 100644
--- a/public/language/zh-CN/global.json
+++ b/public/language/zh-CN/global.json
@@ -31,7 +31,7 @@
"header.tags": "话题",
"header.popular": "热门",
"header.users": "会员",
- "header.groups": "用户组",
+ "header.groups": "群组",
"header.chats": "聊天",
"header.notifications": "通知",
"header.search": "搜索",
@@ -45,7 +45,7 @@
"alert.success": "成功",
"alert.error": "错误",
"alert.banned": "封禁",
- "alert.banned.message": "您刚刚被封禁,现在您将退出登录。",
+ "alert.banned.message": "您刚刚被封禁了,现在您将登出站点。",
"alert.unfollow": "您已取消关注 %1!",
"alert.follow": "您已关注 %1!",
"online": "在线",
diff --git a/public/language/zh-CN/groups.json b/public/language/zh-CN/groups.json
index f99c7d23b1..3deaf8cb3a 100644
--- a/public/language/zh-CN/groups.json
+++ b/public/language/zh-CN/groups.json
@@ -1,35 +1,35 @@
{
- "groups": "用户组",
- "view_group": "查看用户组",
- "owner": "组长",
- "new_group": "创建用户组",
- "no_groups_found": "尚无用户组信息",
+ "groups": "群组",
+ "view_group": "查看群组",
+ "owner": "群组所有者",
+ "new_group": "创建群组",
+ "no_groups_found": "尚无群组信息",
"pending.accept": "接受",
"pending.reject": "拒绝",
- "pending.accept_all": "接受全部",
- "pending.reject_all": "拒绝全部",
+ "pending.accept_all": "全部同意",
+ "pending.reject_all": "全部拒绝",
"pending.none": "暂时没有待加入的成员",
"invited.none": "暂时没有接受邀请的成员",
"invited.uninvite": "取消邀请",
- "invited.search": "选择用户加入用户组",
+ "invited.search": "选择用户加入群组",
"invited.notification_title": "您已被邀请加入 %1",
- "request.notification_title": "来自 %1 的用户组成员请求",
+ "request.notification_title": "来自 %1 的群组成员请求",
"request.notification_text": "%1 已被邀请加入 %2",
"cover-save": "保存",
"cover-saving": "正在保存",
- "details.title": "用户组信息",
+ "details.title": "群组信息",
"details.members": "成员列表",
"details.pending": "待加入成员",
"details.invited": "已邀请成员",
- "details.has_no_posts": "此用户组的会员尚未发表任何帖子。",
+ "details.has_no_posts": "此群组的会员尚未发表任何帖子。",
"details.latest_posts": "最新帖子",
"details.private": "私有",
"details.disableJoinRequests": "禁止申请加入用户组",
"details.grant": "授予/取消管理权",
"details.kick": "踢出用户组",
- "details.kick_confirm": "您确定要将此成员从用户组中移除吗?",
- "details.owner_options": "用户组管理",
- "details.group_name": "用户组名",
+ "details.kick_confirm": "您确定要将此成员从群组中移除吗?",
+ "details.owner_options": "群组管理",
+ "details.group_name": "群组名",
"details.member_count": "用户组成员数",
"details.creation_date": "创建时间",
"details.description": "描述",
@@ -38,21 +38,21 @@
"details.change_colour": "更改颜色",
"details.badge_text": "徽章文本",
"details.userTitleEnabled": "显示组内称号",
- "details.private_help": "启用此选项后,加入用户组需要组长审批。",
+ "details.private_help": "启用此选项后,加入群组需要组长审批。",
"details.hidden": "隐藏",
- "details.hidden_help": "启用此选项后,用户组将不在用户组列表中展现,成员只能通过邀请加入。",
- "details.delete_group": "删除用户组",
- "details.private_system_help": "系统禁用了私有用户组,这个选项不起任何作用",
- "event.updated": "用户组信息已更新",
- "event.deleted": "用户组 \"%1\" 已被删除",
+ "details.hidden_help": "启用此选项后,群组将不在群组列表中展现,成员只能通过邀请加入。",
+ "details.delete_group": "删除群组",
+ "details.private_system_help": "系统禁用了私有群组,这个选项不起任何作用",
+ "event.updated": "群组信息已更新",
+ "event.deleted": "群组 \"%1\" 已被删除",
"membership.accept-invitation": "接受邀请",
"membership.invitation-pending": "邀请中",
- "membership.join-group": "加入用户组",
- "membership.leave-group": "退出用户组",
+ "membership.join-group": "加入群组",
+ "membership.leave-group": "退出群组",
"membership.reject": "拒绝",
- "new-group.group_name": "组名: ",
- "upload-group-cover": "上传组封面",
- "bulk-invite-instructions": "输入您要邀请加入此用户组的用户名,多个用户以逗号分隔",
+ "new-group.group_name": "群组名: ",
+ "upload-group-cover": "上传群组封面",
+ "bulk-invite-instructions": "输入您要邀请加入此群组的用户名,多个用户以逗号分隔",
"bulk-invite": "批量邀请",
"remove_group_cover_confirm": "确定要移除封面图片吗?"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/modules.json b/public/language/zh-CN/modules.json
index 94874032f2..235ec2c80b 100644
--- a/public/language/zh-CN/modules.json
+++ b/public/language/zh-CN/modules.json
@@ -20,7 +20,7 @@
"chat.three_months": "3个月",
"chat.delete_message_confirm": "确认删除此消息吗?",
"chat.add-users-to-room": "向此聊天室中添加成员",
- "composer.compose": "编写",
+ "composer.compose": "编写帮助",
"composer.show_preview": "显示预览",
"composer.hide_preview": "隐藏预览",
"composer.user_said_in": "%1 在 %2 中说:",
@@ -38,7 +38,7 @@
"composer.upload-picture": "上传图片",
"composer.upload-file": "上传文件",
"composer.zen_mode": "无干扰模式",
- "composer.select_category": "选择一个板块",
+ "composer.select_category": "选择一个版块",
"bootbox.ok": "确认",
"bootbox.cancel": "取消",
"bootbox.confirm": "确认",
diff --git a/public/language/zh-CN/notifications.json b/public/language/zh-CN/notifications.json
index ae58756a48..850c504005 100644
--- a/public/language/zh-CN/notifications.json
+++ b/public/language/zh-CN/notifications.json
@@ -24,7 +24,7 @@
"upvoted_your_post_in_dual": "%1 和 %2 在 %3 赞了您的帖子。",
"upvoted_your_post_in_multiple": "%1 和 %2 个其他人在 %3 赞了您的帖子。",
"moved_your_post": "您的帖子已被 %1 移动到了 %2",
- "moved_your_topic": "%1 移动到了 %2",
+ "moved_your_topic": "%1 移动了 %2",
"user_flagged_post_in": "%1 在 %2 标记了一个帖子",
"user_flagged_post_in_dual": "%1 和 %2 在 %3 举报了一个帖子",
"user_flagged_post_in_multiple": "%1 和 %2 个其他人在 %3 举报了一个帖子",
@@ -42,7 +42,7 @@
"new_register_multiple": "有 %1 条注册申请等待批准。",
"flag_assigned_to_you": "举报 %1 已经被指派给你",
"email-confirmed": "电子邮箱已确认",
- "email-confirmed-message": "感谢您验证您的电子邮箱。您的帐户现已全面激活。",
- "email-confirm-error-message": "验证您电子邮箱地址时出现了问题。可能是因为验证码无效或已过期。",
+ "email-confirmed-message": "感谢您验证您的电子邮箱。您的帐户现已完全激活。",
+ "email-confirm-error-message": "验证的您电子邮箱地址时出现了问题。可能是因为验证码无效或已过期。",
"email-confirm-sent": "确认邮件已发送。"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/pages.json b/public/language/zh-CN/pages.json
index 533df5539c..c76c550395 100644
--- a/public/language/zh-CN/pages.json
+++ b/public/language/zh-CN/pages.json
@@ -22,9 +22,9 @@
"registration-complete": "注册完成",
"login": "登录帐号",
"reset": "重置帐户密码",
- "categories": "板块",
- "groups": "用户组",
- "group": "%1 的用户组",
+ "categories": "版块",
+ "groups": "群组",
+ "group": "%1 的群组",
"chats": "聊天",
"chat": "与 %1 聊天",
"flags": "举报",
@@ -38,7 +38,7 @@
"account/followers": "关注 %1 的人",
"account/posts": "%1 发布的帖子",
"account/topics": "%1 创建的主题",
- "account/groups": "%1 的用户组",
+ "account/groups": "%1 的群组",
"account/bookmarks": "%1 收藏的帖子",
"account/settings": "用户设置",
"account/watched": "主题已被 %1 关注",
diff --git a/public/language/zh-CN/register.json b/public/language/zh-CN/register.json
index 11a0706cc9..af02bf10dd 100644
--- a/public/language/zh-CN/register.json
+++ b/public/language/zh-CN/register.json
@@ -12,7 +12,7 @@
"password_placeholder": "输入密码",
"confirm_password": "确认密码",
"confirm_password_placeholder": "再次输入密码",
- "register_now_button": "马上注册",
+ "register_now_button": "立即注册",
"alternative_registration": "其他方式注册",
"terms_of_use": "使用条款",
"agree_to_terms_of_use": "我同意使用条款",
diff --git a/public/language/zh-CN/search.json b/public/language/zh-CN/search.json
index 4633e600ed..2d6b500297 100644
--- a/public/language/zh-CN/search.json
+++ b/public/language/zh-CN/search.json
@@ -6,8 +6,8 @@
"titles": "标题",
"titles-posts": "标题和回帖",
"posted-by": "发表",
- "in-categories": "在版面",
- "search-child-categories": "搜索子版面",
+ "in-categories": "在版块",
+ "search-child-categories": "搜索子版块",
"has-tags": "有标签",
"reply-count": "回复数",
"at-least": "至少",
@@ -31,7 +31,7 @@
"number-of-views": "查看数",
"topic-start-date": "主题开始日期",
"username": "用户名",
- "category": "板块",
+ "category": "版块",
"descending": "倒序",
"ascending": "顺序",
"save-preferences": "保存设置",
diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json
index 5491cffe0d..cbd70048ef 100644
--- a/public/language/zh-CN/topic.json
+++ b/public/language/zh-CN/topic.json
@@ -38,7 +38,7 @@
"login_to_subscribe": "请注册或登录后,再订阅此主题。",
"markAsUnreadForAll.success": "将全部主题标为未读。",
"mark_unread": "标记为未读",
- "mark_unread.success": "未读话题",
+ "mark_unread.success": "主题已被标记为未读。",
"watch": "关注",
"unwatch": "取消关注",
"watch.title": "当此主题有新回复时,通知我",
@@ -48,7 +48,7 @@
"not-watching": "未关注",
"ignoring": "忽略中",
"watching.description": "有新回复时通知我。
在未读主题中显示。",
- "not-watching.description": "不要在有新回复时通知我。
如果这个分类未被忽略则在未读主题中显示。",
+ "not-watching.description": "不要在有新回复时通知我。
如果这个版块未被忽略则在未读主题中显示。",
"ignoring.description": "不要在有新回复时通知我。
不要在未读主题中显示该主题。",
"thread_tools.title": "主题工具",
"thread_tools.markAsUnreadForAll": "标记全部未读",
@@ -70,8 +70,8 @@
"post_delete_confirm": "确定删除此帖吗?",
"post_restore_confirm": "确定恢复此帖吗?",
"post_purge_confirm": "确认清除此回帖吗?",
- "load_categories": "正在载入板块",
- "disabled_categories_note": "停用的板块为灰色",
+ "load_categories": "正在载入版块",
+ "disabled_categories_note": "停用的版块为灰色",
"confirm_move": "移动",
"confirm_fork": "分割",
"bookmark": "书签",
diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json
index 1b0307e789..1f7842a16c 100644
--- a/public/language/zh-CN/user.json
+++ b/public/language/zh-CN/user.json
@@ -1,5 +1,5 @@
{
- "banned": "封禁",
+ "banned": "已封禁",
"offline": "离线",
"username": "用户名",
"joindate": "注册日期",
@@ -8,7 +8,7 @@
"confirm_email": "确认电子邮箱",
"account_info": "账户信息",
"ban_account": "封禁账户",
- "ban_account_confirm": "您确定封禁这位用户吗?",
+ "ban_account_confirm": "您确定要封禁这位用户吗?",
"unban_account": "解禁账户",
"delete_account": "删除帐号",
"delete_account_confirm": "确认要删除您的帐户吗?
此操作是不可逆转的,您将无法恢复您的任何数据
请输入您的用户名,确认您想要删除此帐户。",
@@ -108,8 +108,8 @@
"scroll_to_my_post": "在提交回复之后显示新回复",
"follow_topics_you_reply_to": "关注你回复过的主题",
"follow_topics_you_create": "关注你创建的主题",
- "grouptitle": "用户组标题",
- "no-group-title": "不展示用户组称号",
+ "grouptitle": "群组标题",
+ "no-group-title": "不展示群组称号",
"select-skin": "选择皮肤",
"select-homepage": "选择首页",
"homepage": "首页",
@@ -117,8 +117,8 @@
"custom_route": "自定义首页路由",
"custom_route_help": "输入路由名称,前面不需要斜杠 ( 例如, \"recent\" 或 \"popular\" )",
"sso.title": "单点登录服务",
- "sso.associated": "关联到",
- "sso.not-associated": "点击这里关联",
+ "sso.associated": "已关联到",
+ "sso.not-associated": "点击这里来关联",
"info.latest-flags": "最新举报",
"info.no-flags": "没有找到被举报的帖子",
"info.ban-history": "最近封禁历史",
@@ -129,7 +129,7 @@
"info.banned-no-reason": "没有原因",
"info.username-history": "历史用户名",
"info.email-history": "历史邮箱",
- "info.moderation-note": "版主留言",
- "info.moderation-note.success": "修改未保存",
- "info.moderation-note.add": "添加注解"
+ "info.moderation-note": "版主备注",
+ "info.moderation-note.success": "版主备注已保存",
+ "info.moderation-note.add": "添加备注"
}
\ No newline at end of file
diff --git a/public/language/zh-CN/users.json b/public/language/zh-CN/users.json
index a6a2267467..bdc9eda8de 100644
--- a/public/language/zh-CN/users.json
+++ b/public/language/zh-CN/users.json
@@ -15,7 +15,7 @@
"recent_topics": "最新主题",
"popular_topics": "热门主题",
"unread_topics": "未读主题",
- "categories": "版面",
+ "categories": "版块",
"tags": "话题",
"no-users-found": "未找到匹配的用户!"
}
\ No newline at end of file
diff --git a/public/less/admin/admin.less b/public/less/admin/admin.less
index bcf6ddca58..a37682ab83 100644
--- a/public/less/admin/admin.less
+++ b/public/less/admin/admin.less
@@ -1,5 +1,6 @@
-@import "./bootstrap/bootstrap";
-@import "./bootswatch";
+@import "../../node_modules/bootstrap/less/bootstrap";
+@import "./paper/variables";
+@import "./paper/bootswatch";
@import "./mixins";
@import "./vars";
diff --git a/public/less/admin/bootstrap/.csscomb.json b/public/less/admin/bootstrap/.csscomb.json
deleted file mode 100644
index 40695a4782..0000000000
--- a/public/less/admin/bootstrap/.csscomb.json
+++ /dev/null
@@ -1,304 +0,0 @@
-{
- "always-semicolon": true,
- "block-indent": 2,
- "color-case": "lower",
- "color-shorthand": true,
- "element-case": "lower",
- "eof-newline": true,
- "leading-zero": false,
- "remove-empty-rulesets": true,
- "space-after-colon": 1,
- "space-after-combinator": 1,
- "space-before-selector-delimiter": 0,
- "space-between-declarations": "\n",
- "space-after-opening-brace": "\n",
- "space-before-closing-brace": "\n",
- "space-before-colon": 0,
- "space-before-combinator": 1,
- "space-before-opening-brace": 1,
- "strip-spaces": true,
- "unitless-zero": true,
- "vendor-prefix-align": true,
- "sort-order": [
- [
- "position",
- "top",
- "right",
- "bottom",
- "left",
- "z-index",
- "display",
- "float",
- "width",
- "min-width",
- "max-width",
- "height",
- "min-height",
- "max-height",
- "-webkit-box-sizing",
- "-moz-box-sizing",
- "box-sizing",
- "-webkit-appearance",
- "padding",
- "padding-top",
- "padding-right",
- "padding-bottom",
- "padding-left",
- "margin",
- "margin-top",
- "margin-right",
- "margin-bottom",
- "margin-left",
- "overflow",
- "overflow-x",
- "overflow-y",
- "-webkit-overflow-scrolling",
- "-ms-overflow-x",
- "-ms-overflow-y",
- "-ms-overflow-style",
- "clip",
- "clear",
- "font",
- "font-family",
- "font-size",
- "font-style",
- "font-weight",
- "font-variant",
- "font-size-adjust",
- "font-stretch",
- "font-effect",
- "font-emphasize",
- "font-emphasize-position",
- "font-emphasize-style",
- "font-smooth",
- "-webkit-hyphens",
- "-moz-hyphens",
- "hyphens",
- "line-height",
- "color",
- "text-align",
- "-webkit-text-align-last",
- "-moz-text-align-last",
- "-ms-text-align-last",
- "text-align-last",
- "text-emphasis",
- "text-emphasis-color",
- "text-emphasis-style",
- "text-emphasis-position",
- "text-decoration",
- "text-indent",
- "text-justify",
- "text-outline",
- "-ms-text-overflow",
- "text-overflow",
- "text-overflow-ellipsis",
- "text-overflow-mode",
- "text-shadow",
- "text-transform",
- "text-wrap",
- "-webkit-text-size-adjust",
- "-ms-text-size-adjust",
- "letter-spacing",
- "-ms-word-break",
- "word-break",
- "word-spacing",
- "-ms-word-wrap",
- "word-wrap",
- "-moz-tab-size",
- "-o-tab-size",
- "tab-size",
- "white-space",
- "vertical-align",
- "list-style",
- "list-style-position",
- "list-style-type",
- "list-style-image",
- "pointer-events",
- "-ms-touch-action",
- "touch-action",
- "cursor",
- "visibility",
- "zoom",
- "flex-direction",
- "flex-order",
- "flex-pack",
- "flex-align",
- "table-layout",
- "empty-cells",
- "caption-side",
- "border-spacing",
- "border-collapse",
- "content",
- "quotes",
- "counter-reset",
- "counter-increment",
- "resize",
- "-webkit-user-select",
- "-moz-user-select",
- "-ms-user-select",
- "-o-user-select",
- "user-select",
- "nav-index",
- "nav-up",
- "nav-right",
- "nav-down",
- "nav-left",
- "background",
- "background-color",
- "background-image",
- "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
- "filter:progid:DXImageTransform.Microsoft.gradient",
- "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
- "filter",
- "background-repeat",
- "background-attachment",
- "background-position",
- "background-position-x",
- "background-position-y",
- "-webkit-background-clip",
- "-moz-background-clip",
- "background-clip",
- "background-origin",
- "-webkit-background-size",
- "-moz-background-size",
- "-o-background-size",
- "background-size",
- "border",
- "border-color",
- "border-style",
- "border-width",
- "border-top",
- "border-top-color",
- "border-top-style",
- "border-top-width",
- "border-right",
- "border-right-color",
- "border-right-style",
- "border-right-width",
- "border-bottom",
- "border-bottom-color",
- "border-bottom-style",
- "border-bottom-width",
- "border-left",
- "border-left-color",
- "border-left-style",
- "border-left-width",
- "border-radius",
- "border-top-left-radius",
- "border-top-right-radius",
- "border-bottom-right-radius",
- "border-bottom-left-radius",
- "-webkit-border-image",
- "-moz-border-image",
- "-o-border-image",
- "border-image",
- "-webkit-border-image-source",
- "-moz-border-image-source",
- "-o-border-image-source",
- "border-image-source",
- "-webkit-border-image-slice",
- "-moz-border-image-slice",
- "-o-border-image-slice",
- "border-image-slice",
- "-webkit-border-image-width",
- "-moz-border-image-width",
- "-o-border-image-width",
- "border-image-width",
- "-webkit-border-image-outset",
- "-moz-border-image-outset",
- "-o-border-image-outset",
- "border-image-outset",
- "-webkit-border-image-repeat",
- "-moz-border-image-repeat",
- "-o-border-image-repeat",
- "border-image-repeat",
- "outline",
- "outline-width",
- "outline-style",
- "outline-color",
- "outline-offset",
- "-webkit-box-shadow",
- "-moz-box-shadow",
- "box-shadow",
- "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
- "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
- "opacity",
- "-ms-interpolation-mode",
- "-webkit-transition",
- "-moz-transition",
- "-ms-transition",
- "-o-transition",
- "transition",
- "-webkit-transition-delay",
- "-moz-transition-delay",
- "-ms-transition-delay",
- "-o-transition-delay",
- "transition-delay",
- "-webkit-transition-timing-function",
- "-moz-transition-timing-function",
- "-ms-transition-timing-function",
- "-o-transition-timing-function",
- "transition-timing-function",
- "-webkit-transition-duration",
- "-moz-transition-duration",
- "-ms-transition-duration",
- "-o-transition-duration",
- "transition-duration",
- "-webkit-transition-property",
- "-moz-transition-property",
- "-ms-transition-property",
- "-o-transition-property",
- "transition-property",
- "-webkit-transform",
- "-moz-transform",
- "-ms-transform",
- "-o-transform",
- "transform",
- "-webkit-transform-origin",
- "-moz-transform-origin",
- "-ms-transform-origin",
- "-o-transform-origin",
- "transform-origin",
- "-webkit-animation",
- "-moz-animation",
- "-ms-animation",
- "-o-animation",
- "animation",
- "-webkit-animation-name",
- "-moz-animation-name",
- "-ms-animation-name",
- "-o-animation-name",
- "animation-name",
- "-webkit-animation-duration",
- "-moz-animation-duration",
- "-ms-animation-duration",
- "-o-animation-duration",
- "animation-duration",
- "-webkit-animation-play-state",
- "-moz-animation-play-state",
- "-ms-animation-play-state",
- "-o-animation-play-state",
- "animation-play-state",
- "-webkit-animation-timing-function",
- "-moz-animation-timing-function",
- "-ms-animation-timing-function",
- "-o-animation-timing-function",
- "animation-timing-function",
- "-webkit-animation-delay",
- "-moz-animation-delay",
- "-ms-animation-delay",
- "-o-animation-delay",
- "animation-delay",
- "-webkit-animation-iteration-count",
- "-moz-animation-iteration-count",
- "-ms-animation-iteration-count",
- "-o-animation-iteration-count",
- "animation-iteration-count",
- "-webkit-animation-direction",
- "-moz-animation-direction",
- "-ms-animation-direction",
- "-o-animation-direction",
- "animation-direction"
- ]
- ]
-}
diff --git a/public/less/admin/bootstrap/.csslintrc b/public/less/admin/bootstrap/.csslintrc
deleted file mode 100644
index 005b86236c..0000000000
--- a/public/less/admin/bootstrap/.csslintrc
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "adjoining-classes": false,
- "box-sizing": false,
- "box-model": false,
- "compatible-vendor-prefixes": false,
- "floats": false,
- "font-sizes": false,
- "gradients": false,
- "important": false,
- "known-properties": false,
- "outline-none": false,
- "qualified-headings": false,
- "regex-selectors": false,
- "shorthand": false,
- "text-indent": false,
- "unique-headings": false,
- "universal-selector": false,
- "unqualified-attributes": false
-}
diff --git a/public/less/admin/bootstrap/alerts.less b/public/less/admin/bootstrap/alerts.less
deleted file mode 100644
index c4199db927..0000000000
--- a/public/less/admin/bootstrap/alerts.less
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// Alerts
-// --------------------------------------------------
-
-
-// Base styles
-// -------------------------
-
-.alert {
- padding: @alert-padding;
- margin-bottom: @line-height-computed;
- border: 1px solid transparent;
- border-radius: @alert-border-radius;
-
- // Headings for larger alerts
- h4 {
- margin-top: 0;
- // Specified for the h4 to prevent conflicts of changing @headings-color
- color: inherit;
- }
-
- // Provide class for links that match alerts
- .alert-link {
- font-weight: @alert-link-font-weight;
- }
-
- // Improve alignment and spacing of inner content
- > p,
- > ul {
- margin-bottom: 0;
- }
-
- > p + p {
- margin-top: 5px;
- }
-}
-
-// Dismissible alerts
-//
-// Expand the right padding and account for the close button's positioning.
-
-.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
-.alert-dismissible {
- padding-right: (@alert-padding + 20);
-
- // Adjust close link position
- .close {
- position: relative;
- top: -2px;
- right: -21px;
- color: inherit;
- }
-}
-
-// Alternate styles
-//
-// Generate contextual modifier classes for colorizing the alert.
-
-.alert-success {
- .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
-}
-
-.alert-info {
- .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
-}
-
-.alert-warning {
- .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
-}
-
-.alert-danger {
- .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
-}
diff --git a/public/less/admin/bootstrap/badges.less b/public/less/admin/bootstrap/badges.less
deleted file mode 100644
index 6ee16dca41..0000000000
--- a/public/less/admin/bootstrap/badges.less
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// Badges
-// --------------------------------------------------
-
-
-// Base class
-.badge {
- display: inline-block;
- min-width: 10px;
- padding: 3px 7px;
- font-size: @font-size-small;
- font-weight: @badge-font-weight;
- color: @badge-color;
- line-height: @badge-line-height;
- vertical-align: middle;
- white-space: nowrap;
- text-align: center;
- background-color: @badge-bg;
- border-radius: @badge-border-radius;
-
- // Empty badges collapse automatically (not available in IE8)
- &:empty {
- display: none;
- }
-
- // Quick fix for badges in buttons
- .btn & {
- position: relative;
- top: -1px;
- }
-
- .btn-xs &,
- .btn-group-xs > .btn & {
- top: 0;
- padding: 1px 5px;
- }
-
- // Hover state, but only for links
- a& {
- &:hover,
- &:focus {
- color: @badge-link-hover-color;
- text-decoration: none;
- cursor: pointer;
- }
- }
-
- // Account for badges in navs
- .list-group-item.active > &,
- .nav-pills > .active > a > & {
- color: @badge-active-color;
- background-color: @badge-active-bg;
- }
-
- .list-group-item > & {
- float: right;
- }
-
- .list-group-item > & + & {
- margin-right: 5px;
- }
-
- .nav-pills > li > a > & {
- margin-left: 3px;
- }
-}
diff --git a/public/less/admin/bootstrap/bootstrap.less b/public/less/admin/bootstrap/bootstrap.less
deleted file mode 100644
index f0aa08f3a6..0000000000
--- a/public/less/admin/bootstrap/bootstrap.less
+++ /dev/null
@@ -1,56 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-// Core variables and mixins
-@import "variables.less";
-@import "mixins.less";
-
-// Reset and dependencies
-@import "normalize.less";
-@import "print.less";
-@import "glyphicons.less";
-
-// Core CSS
-@import "scaffolding.less";
-@import "type.less";
-@import "code.less";
-@import "grid.less";
-@import "tables.less";
-@import "forms.less";
-@import "buttons.less";
-
-// Components
-@import "component-animations.less";
-@import "dropdowns.less";
-@import "button-groups.less";
-@import "input-groups.less";
-@import "navs.less";
-@import "navbar.less";
-@import "breadcrumbs.less";
-@import "pagination.less";
-@import "pager.less";
-@import "labels.less";
-@import "badges.less";
-@import "jumbotron.less";
-@import "thumbnails.less";
-@import "alerts.less";
-@import "progress-bars.less";
-@import "media.less";
-@import "list-group.less";
-@import "panels.less";
-@import "responsive-embed.less";
-@import "wells.less";
-@import "close.less";
-
-// Components w/ JavaScript
-@import "modals.less";
-@import "tooltip.less";
-@import "popovers.less";
-@import "carousel.less";
-
-// Utility classes
-@import "utilities.less";
-@import "responsive-utilities.less";
diff --git a/public/less/admin/bootstrap/breadcrumbs.less b/public/less/admin/bootstrap/breadcrumbs.less
deleted file mode 100644
index cb01d503fb..0000000000
--- a/public/less/admin/bootstrap/breadcrumbs.less
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// Breadcrumbs
-// --------------------------------------------------
-
-
-.breadcrumb {
- padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
- margin-bottom: @line-height-computed;
- list-style: none;
- background-color: @breadcrumb-bg;
- border-radius: @border-radius-base;
-
- > li {
- display: inline-block;
-
- + li:before {
- content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
- padding: 0 5px;
- color: @breadcrumb-color;
- }
- }
-
- > .active {
- color: @breadcrumb-active-color;
- }
-}
diff --git a/public/less/admin/bootstrap/button-groups.less b/public/less/admin/bootstrap/button-groups.less
deleted file mode 100644
index 16db0c6135..0000000000
--- a/public/less/admin/bootstrap/button-groups.less
+++ /dev/null
@@ -1,244 +0,0 @@
-//
-// Button groups
-// --------------------------------------------------
-
-// Make the div behave like a button
-.btn-group,
-.btn-group-vertical {
- position: relative;
- display: inline-block;
- vertical-align: middle; // match .btn alignment given font-size hack above
- > .btn {
- position: relative;
- float: left;
- // Bring the "active" button to the front
- &:hover,
- &:focus,
- &:active,
- &.active {
- z-index: 2;
- }
- }
-}
-
-// Prevent double borders when buttons are next to each other
-.btn-group {
- .btn + .btn,
- .btn + .btn-group,
- .btn-group + .btn,
- .btn-group + .btn-group {
- margin-left: -1px;
- }
-}
-
-// Optional: Group multiple button groups together for a toolbar
-.btn-toolbar {
- margin-left: -5px; // Offset the first child's margin
- &:extend(.clearfix all);
-
- .btn,
- .btn-group,
- .input-group {
- float: left;
- }
- > .btn,
- > .btn-group,
- > .input-group {
- margin-left: 5px;
- }
-}
-
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
- border-radius: 0;
-}
-
-// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
-.btn-group > .btn:first-child {
- margin-left: 0;
- &:not(:last-child):not(.dropdown-toggle) {
- .border-right-radius(0);
- }
-}
-// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
- .border-left-radius(0);
-}
-
-// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
-.btn-group > .btn-group {
- float: left;
-}
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
- border-radius: 0;
-}
-.btn-group > .btn-group:first-child:not(:last-child) {
- > .btn:last-child,
- > .dropdown-toggle {
- .border-right-radius(0);
- }
-}
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
- .border-left-radius(0);
-}
-
-// On active and open, don't show outline
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-
-
-// Sizing
-//
-// Remix the default button sizing classes into new ones for easier manipulation.
-
-.btn-group-xs > .btn { &:extend(.btn-xs); }
-.btn-group-sm > .btn { &:extend(.btn-sm); }
-.btn-group-lg > .btn { &:extend(.btn-lg); }
-
-
-// Split button dropdowns
-// ----------------------
-
-// Give the line between buttons some depth
-.btn-group > .btn + .dropdown-toggle {
- padding-left: 8px;
- padding-right: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
- padding-left: 12px;
- padding-right: 12px;
-}
-
-// The clickable button for toggling the menu
-// Remove the gradient and set the same inset shadow as the :active state
-.btn-group.open .dropdown-toggle {
- .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
-
- // Show no shadow for `.btn-link` since it has no other button styles.
- &.btn-link {
- .box-shadow(none);
- }
-}
-
-
-// Reposition the caret
-.btn .caret {
- margin-left: 0;
-}
-// Carets in other button sizes
-.btn-lg .caret {
- border-width: @caret-width-large @caret-width-large 0;
- border-bottom-width: 0;
-}
-// Upside down carets for .dropup
-.dropup .btn-lg .caret {
- border-width: 0 @caret-width-large @caret-width-large;
-}
-
-
-// Vertical button groups
-// ----------------------
-
-.btn-group-vertical {
- > .btn,
- > .btn-group,
- > .btn-group > .btn {
- display: block;
- float: none;
- width: 100%;
- max-width: 100%;
- }
-
- // Clear floats so dropdown menus can be properly placed
- > .btn-group {
- &:extend(.clearfix all);
- > .btn {
- float: none;
- }
- }
-
- > .btn + .btn,
- > .btn + .btn-group,
- > .btn-group + .btn,
- > .btn-group + .btn-group {
- margin-top: -1px;
- margin-left: 0;
- }
-}
-
-.btn-group-vertical > .btn {
- &:not(:first-child):not(:last-child) {
- border-radius: 0;
- }
- &:first-child:not(:last-child) {
- .border-top-radius(@btn-border-radius-base);
- .border-bottom-radius(0);
- }
- &:last-child:not(:first-child) {
- .border-top-radius(0);
- .border-bottom-radius(@btn-border-radius-base);
- }
-}
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
- border-radius: 0;
-}
-.btn-group-vertical > .btn-group:first-child:not(:last-child) {
- > .btn:last-child,
- > .dropdown-toggle {
- .border-bottom-radius(0);
- }
-}
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
- .border-top-radius(0);
-}
-
-
-// Justified button groups
-// ----------------------
-
-.btn-group-justified {
- display: table;
- width: 100%;
- table-layout: fixed;
- border-collapse: separate;
- > .btn,
- > .btn-group {
- float: none;
- display: table-cell;
- width: 1%;
- }
- > .btn-group .btn {
- width: 100%;
- }
-
- > .btn-group .dropdown-menu {
- left: auto;
- }
-}
-
-
-// Checkbox and radio options
-//
-// In order to support the browser's form validation feedback, powered by the
-// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
-// `display: none;` or `visibility: hidden;` as that also hides the popover.
-// Simply visually hiding the inputs via `opacity` would leave them clickable in
-// certain cases which is prevented by using `clip` and `pointer-events`.
-// This way, we ensure a DOM element is visible to position the popover from.
-//
-// See https://github.com/twbs/bootstrap/pull/12794 and
-// https://github.com/twbs/bootstrap/pull/14559 for more information.
-
-[data-toggle="buttons"] {
- > .btn,
- > .btn-group > .btn {
- input[type="radio"],
- input[type="checkbox"] {
- position: absolute;
- clip: rect(0,0,0,0);
- pointer-events: none;
- }
- }
-}
diff --git a/public/less/admin/bootstrap/buttons.less b/public/less/admin/bootstrap/buttons.less
deleted file mode 100644
index 9cbb8f416f..0000000000
--- a/public/less/admin/bootstrap/buttons.less
+++ /dev/null
@@ -1,166 +0,0 @@
-//
-// Buttons
-// --------------------------------------------------
-
-
-// Base styles
-// --------------------------------------------------
-
-.btn {
- display: inline-block;
- margin-bottom: 0; // For input.btn
- font-weight: @btn-font-weight;
- text-align: center;
- vertical-align: middle;
- touch-action: manipulation;
- cursor: pointer;
- background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
- border: 1px solid transparent;
- white-space: nowrap;
- .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
- .user-select(none);
-
- &,
- &:active,
- &.active {
- &:focus,
- &.focus {
- .tab-focus();
- }
- }
-
- &:hover,
- &:focus,
- &.focus {
- color: @btn-default-color;
- text-decoration: none;
- }
-
- &:active,
- &.active {
- outline: 0;
- background-image: none;
- .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
- }
-
- &.disabled,
- &[disabled],
- fieldset[disabled] & {
- cursor: @cursor-disabled;
- .opacity(.65);
- .box-shadow(none);
- }
-
- a& {
- &.disabled,
- fieldset[disabled] & {
- pointer-events: none; // Future-proof disabling of clicks on `` elements
- }
- }
-}
-
-
-// Alternate buttons
-// --------------------------------------------------
-
-.btn-default {
- .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
-}
-.btn-primary {
- .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
-}
-// Success appears as green
-.btn-success {
- .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
-}
-// Info appears as blue-green
-.btn-info {
- .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
-}
-// Warning appears as orange
-.btn-warning {
- .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
-}
-// Danger and error appear as red
-.btn-danger {
- .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
-}
-
-
-// Link buttons
-// -------------------------
-
-// Make a button look and behave like a link
-.btn-link {
- color: @link-color;
- font-weight: normal;
- border-radius: 0;
-
- &,
- &:active,
- &.active,
- &[disabled],
- fieldset[disabled] & {
- background-color: transparent;
- .box-shadow(none);
- }
- &,
- &:hover,
- &:focus,
- &:active {
- border-color: transparent;
- }
- &:hover,
- &:focus {
- color: @link-hover-color;
- text-decoration: @link-hover-decoration;
- background-color: transparent;
- }
- &[disabled],
- fieldset[disabled] & {
- &:hover,
- &:focus {
- color: @btn-link-disabled-color;
- text-decoration: none;
- }
- }
-}
-
-
-// Button Sizes
-// --------------------------------------------------
-
-.btn-lg {
- // line-height: ensure even-numbered height of button next to large input
- .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);
-}
-.btn-sm {
- // line-height: ensure proper height of button next to small input
- .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
-}
-.btn-xs {
- .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
-}
-
-
-// Block button
-// --------------------------------------------------
-
-.btn-block {
- display: block;
- width: 100%;
-}
-
-// Vertically space out multiple block buttons
-.btn-block + .btn-block {
- margin-top: 5px;
-}
-
-// Specificity overrides
-input[type="submit"],
-input[type="reset"],
-input[type="button"] {
- &.btn-block {
- width: 100%;
- }
-}
diff --git a/public/less/admin/bootstrap/carousel.less b/public/less/admin/bootstrap/carousel.less
deleted file mode 100644
index 252011e9e2..0000000000
--- a/public/less/admin/bootstrap/carousel.less
+++ /dev/null
@@ -1,270 +0,0 @@
-//
-// Carousel
-// --------------------------------------------------
-
-
-// Wrapper for the slide container and indicators
-.carousel {
- position: relative;
-}
-
-.carousel-inner {
- position: relative;
- overflow: hidden;
- width: 100%;
-
- > .item {
- display: none;
- position: relative;
- .transition(.6s ease-in-out left);
-
- // Account for jankitude on images
- > img,
- > a > img {
- &:extend(.img-responsive);
- line-height: 1;
- }
-
- // WebKit CSS3 transforms for supported devices
- @media all and (transform-3d), (-webkit-transform-3d) {
- .transition-transform(~'0.6s ease-in-out');
- .backface-visibility(~'hidden');
- .perspective(1000px);
-
- &.next,
- &.active.right {
- .translate3d(100%, 0, 0);
- left: 0;
- }
- &.prev,
- &.active.left {
- .translate3d(-100%, 0, 0);
- left: 0;
- }
- &.next.left,
- &.prev.right,
- &.active {
- .translate3d(0, 0, 0);
- left: 0;
- }
- }
- }
-
- > .active,
- > .next,
- > .prev {
- display: block;
- }
-
- > .active {
- left: 0;
- }
-
- > .next,
- > .prev {
- position: absolute;
- top: 0;
- width: 100%;
- }
-
- > .next {
- left: 100%;
- }
- > .prev {
- left: -100%;
- }
- > .next.left,
- > .prev.right {
- left: 0;
- }
-
- > .active.left {
- left: -100%;
- }
- > .active.right {
- left: 100%;
- }
-
-}
-
-// Left/right controls for nav
-// ---------------------------
-
-.carousel-control {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- width: @carousel-control-width;
- .opacity(@carousel-control-opacity);
- font-size: @carousel-control-font-size;
- color: @carousel-control-color;
- text-align: center;
- text-shadow: @carousel-text-shadow;
- background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug
- // We can't have this transition here because WebKit cancels the carousel
- // animation if you trip this while in the middle of another animation.
-
- // Set gradients for backgrounds
- &.left {
- #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));
- }
- &.right {
- left: auto;
- right: 0;
- #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));
- }
-
- // Hover/focus state
- &:hover,
- &:focus {
- outline: 0;
- color: @carousel-control-color;
- text-decoration: none;
- .opacity(.9);
- }
-
- // Toggles
- .icon-prev,
- .icon-next,
- .glyphicon-chevron-left,
- .glyphicon-chevron-right {
- position: absolute;
- top: 50%;
- margin-top: -10px;
- z-index: 5;
- display: inline-block;
- }
- .icon-prev,
- .glyphicon-chevron-left {
- left: 50%;
- margin-left: -10px;
- }
- .icon-next,
- .glyphicon-chevron-right {
- right: 50%;
- margin-right: -10px;
- }
- .icon-prev,
- .icon-next {
- width: 20px;
- height: 20px;
- line-height: 1;
- font-family: serif;
- }
-
-
- .icon-prev {
- &:before {
- content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
- }
- }
- .icon-next {
- &:before {
- content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
- }
- }
-}
-
-// Optional indicator pips
-//
-// Add an unordered list with the following class and add a list item for each
-// slide your carousel holds.
-
-.carousel-indicators {
- position: absolute;
- bottom: 10px;
- left: 50%;
- z-index: 15;
- width: 60%;
- margin-left: -30%;
- padding-left: 0;
- list-style: none;
- text-align: center;
-
- li {
- display: inline-block;
- width: 10px;
- height: 10px;
- margin: 1px;
- text-indent: -999px;
- border: 1px solid @carousel-indicator-border-color;
- border-radius: 10px;
- cursor: pointer;
-
- // IE8-9 hack for event handling
- //
- // Internet Explorer 8-9 does not support clicks on elements without a set
- // `background-color`. We cannot use `filter` since that's not viewed as a
- // background color by the browser. Thus, a hack is needed.
- // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
- //
- // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
- // set alpha transparency for the best results possible.
- background-color: #000 \9; // IE8
- background-color: rgba(0,0,0,0); // IE9
- }
- .active {
- margin: 0;
- width: 12px;
- height: 12px;
- background-color: @carousel-indicator-active-bg;
- }
-}
-
-// Optional captions
-// -----------------------------
-// Hidden by default for smaller viewports
-.carousel-caption {
- position: absolute;
- left: 15%;
- right: 15%;
- bottom: 20px;
- z-index: 10;
- padding-top: 20px;
- padding-bottom: 20px;
- color: @carousel-caption-color;
- text-align: center;
- text-shadow: @carousel-text-shadow;
- & .btn {
- text-shadow: none; // No shadow for button elements in carousel-caption
- }
-}
-
-
-// Scale up controls for tablets and up
-@media screen and (min-width: @screen-sm-min) {
-
- // Scale up the controls a smidge
- .carousel-control {
- .glyphicon-chevron-left,
- .glyphicon-chevron-right,
- .icon-prev,
- .icon-next {
- width: (@carousel-control-font-size * 1.5);
- height: (@carousel-control-font-size * 1.5);
- margin-top: (@carousel-control-font-size / -2);
- font-size: (@carousel-control-font-size * 1.5);
- }
- .glyphicon-chevron-left,
- .icon-prev {
- margin-left: (@carousel-control-font-size / -2);
- }
- .glyphicon-chevron-right,
- .icon-next {
- margin-right: (@carousel-control-font-size / -2);
- }
- }
-
- // Show and left align the captions
- .carousel-caption {
- left: 20%;
- right: 20%;
- padding-bottom: 30px;
- }
-
- // Move up the indicators
- .carousel-indicators {
- bottom: 20px;
- }
-}
diff --git a/public/less/admin/bootstrap/close.less b/public/less/admin/bootstrap/close.less
deleted file mode 100644
index 6d5bfe087a..0000000000
--- a/public/less/admin/bootstrap/close.less
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Close icons
-// --------------------------------------------------
-
-
-.close {
- float: right;
- font-size: (@font-size-base * 1.5);
- font-weight: @close-font-weight;
- line-height: 1;
- color: @close-color;
- text-shadow: @close-text-shadow;
- .opacity(.2);
-
- &:hover,
- &:focus {
- color: @close-color;
- text-decoration: none;
- cursor: pointer;
- .opacity(.5);
- }
-
- // Additional properties for button version
- // iOS requires the button element instead of an anchor tag.
- // If you want the anchor version, it requires `href="#"`.
- // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
- button& {
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- -webkit-appearance: none;
- }
-}
diff --git a/public/less/admin/bootstrap/code.less b/public/less/admin/bootstrap/code.less
deleted file mode 100644
index a08b4d48c4..0000000000
--- a/public/less/admin/bootstrap/code.less
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// Code (inline and block)
-// --------------------------------------------------
-
-
-// Inline and block code styles
-code,
-kbd,
-pre,
-samp {
- font-family: @font-family-monospace;
-}
-
-// Inline code
-code {
- padding: 2px 4px;
- font-size: 90%;
- color: @code-color;
- background-color: @code-bg;
- border-radius: @border-radius-base;
-}
-
-// User input typically entered via keyboard
-kbd {
- padding: 2px 4px;
- font-size: 90%;
- color: @kbd-color;
- background-color: @kbd-bg;
- border-radius: @border-radius-small;
- box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
-
- kbd {
- padding: 0;
- font-size: 100%;
- font-weight: bold;
- box-shadow: none;
- }
-}
-
-// Blocks of code
-pre {
- display: block;
- padding: ((@line-height-computed - 1) / 2);
- margin: 0 0 (@line-height-computed / 2);
- font-size: (@font-size-base - 1); // 14px to 13px
- line-height: @line-height-base;
- word-break: break-all;
- word-wrap: break-word;
- color: @pre-color;
- background-color: @pre-bg;
- border: 1px solid @pre-border-color;
- border-radius: @border-radius-base;
-
- // Account for some code outputs that place code tags in pre tags
- code {
- padding: 0;
- font-size: inherit;
- color: inherit;
- white-space: pre-wrap;
- background-color: transparent;
- border-radius: 0;
- }
-}
-
-// Enable scrollable blocks of code
-.pre-scrollable {
- max-height: @pre-scrollable-max-height;
- overflow-y: scroll;
-}
diff --git a/public/less/admin/bootstrap/component-animations.less b/public/less/admin/bootstrap/component-animations.less
deleted file mode 100644
index 0bcee910ac..0000000000
--- a/public/less/admin/bootstrap/component-animations.less
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// Component animations
-// --------------------------------------------------
-
-// Heads up!
-//
-// We don't use the `.opacity()` mixin here since it causes a bug with text
-// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
-
-.fade {
- opacity: 0;
- .transition(opacity .15s linear);
- &.in {
- opacity: 1;
- }
-}
-
-.collapse {
- display: none;
-
- &.in { display: block; }
- tr&.in { display: table-row; }
- tbody&.in { display: table-row-group; }
-}
-
-.collapsing {
- position: relative;
- height: 0;
- overflow: hidden;
- .transition-property(~"height, visibility");
- .transition-duration(.35s);
- .transition-timing-function(ease);
-}
diff --git a/public/less/admin/bootstrap/dropdowns.less b/public/less/admin/bootstrap/dropdowns.less
deleted file mode 100644
index f6876c1a9b..0000000000
--- a/public/less/admin/bootstrap/dropdowns.less
+++ /dev/null
@@ -1,216 +0,0 @@
-//
-// Dropdown menus
-// --------------------------------------------------
-
-
-// Dropdown arrow/caret
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- margin-left: 2px;
- vertical-align: middle;
- border-top: @caret-width-base dashed;
- border-top: @caret-width-base solid ~"\9"; // IE8
- border-right: @caret-width-base solid transparent;
- border-left: @caret-width-base solid transparent;
-}
-
-// The dropdown wrapper (div)
-.dropup,
-.dropdown {
- position: relative;
-}
-
-// Prevent the focus on the dropdown toggle when closing dropdowns
-.dropdown-toggle:focus {
- outline: 0;
-}
-
-// The dropdown menu (ul)
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: @zindex-dropdown;
- display: none; // none by default, but block on "open" of the menu
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0; // override default ul
- list-style: none;
- font-size: @font-size-base;
- text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
- background-color: @dropdown-bg;
- border: 1px solid @dropdown-fallback-border; // IE8 fallback
- border: 1px solid @dropdown-border;
- border-radius: @border-radius-base;
- .box-shadow(0 6px 12px rgba(0,0,0,.175));
- background-clip: padding-box;
-
- // Aligns the dropdown menu to right
- //
- // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
- &.pull-right {
- right: 0;
- left: auto;
- }
-
- // Dividers (basically an hr) within the dropdown
- .divider {
- .nav-divider(@dropdown-divider-bg);
- }
-
- // Links within the dropdown menu
- > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: @line-height-base;
- color: @dropdown-link-color;
- white-space: nowrap; // prevent links from randomly breaking onto new lines
- }
-}
-
-// Hover/Focus state
-.dropdown-menu > li > a {
- &:hover,
- &:focus {
- text-decoration: none;
- color: @dropdown-link-hover-color;
- background-color: @dropdown-link-hover-bg;
- }
-}
-
-// Active state
-.dropdown-menu > .active > a {
- &,
- &:hover,
- &:focus {
- color: @dropdown-link-active-color;
- text-decoration: none;
- outline: 0;
- background-color: @dropdown-link-active-bg;
- }
-}
-
-// Disabled state
-//
-// Gray out text and ensure the hover/focus state remains gray
-
-.dropdown-menu > .disabled > a {
- &,
- &:hover,
- &:focus {
- color: @dropdown-link-disabled-color;
- }
-
- // Nuke hover/focus effects
- &:hover,
- &:focus {
- text-decoration: none;
- background-color: transparent;
- background-image: none; // Remove CSS gradient
- .reset-filter();
- cursor: @cursor-disabled;
- }
-}
-
-// Open state for the dropdown
-.open {
- // Show the menu
- > .dropdown-menu {
- display: block;
- }
-
- // Remove the outline when :focus is triggered
- > a {
- outline: 0;
- }
-}
-
-// Menu positioning
-//
-// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
-// menu with the parent.
-.dropdown-menu-right {
- left: auto; // Reset the default from `.dropdown-menu`
- right: 0;
-}
-// With v3, we enabled auto-flipping if you have a dropdown within a right
-// aligned nav component. To enable the undoing of that, we provide an override
-// to restore the default dropdown menu alignment.
-//
-// This is only for left-aligning a dropdown menu within a `.navbar-right` or
-// `.pull-right` nav component.
-.dropdown-menu-left {
- left: 0;
- right: auto;
-}
-
-// Dropdown section headers
-.dropdown-header {
- display: block;
- padding: 3px 20px;
- font-size: @font-size-small;
- line-height: @line-height-base;
- color: @dropdown-header-color;
- white-space: nowrap; // as with > li > a
-}
-
-// Backdrop to catch body clicks on mobile, etc.
-.dropdown-backdrop {
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
- z-index: (@zindex-dropdown - 10);
-}
-
-// Right aligned dropdowns
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto;
-}
-
-// Allow for dropdowns to go bottom up (aka, dropup-menu)
-//
-// Just add .dropup after the standard .dropdown class and you're set, bro.
-// TODO: abstract this so that the navbar fixed styles are not placed here?
-
-.dropup,
-.navbar-fixed-bottom .dropdown {
- // Reverse the caret
- .caret {
- border-top: 0;
- border-bottom: @caret-width-base dashed;
- border-bottom: @caret-width-base solid ~"\9"; // IE8
- content: "";
- }
- // Different positioning for bottom up menu
- .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 2px;
- }
-}
-
-
-// Component alignment
-//
-// Reiterate per navbar.less and the modified component alignment there.
-
-@media (min-width: @grid-float-breakpoint) {
- .navbar-right {
- .dropdown-menu {
- .dropdown-menu-right();
- }
- // Necessary for overrides of the default right aligned menu.
- // Will remove come v4 in all likelihood.
- .dropdown-menu-left {
- .dropdown-menu-left();
- }
- }
-}
diff --git a/public/less/admin/bootstrap/forms.less b/public/less/admin/bootstrap/forms.less
deleted file mode 100644
index 9377d3846b..0000000000
--- a/public/less/admin/bootstrap/forms.less
+++ /dev/null
@@ -1,613 +0,0 @@
-//
-// Forms
-// --------------------------------------------------
-
-
-// Normalize non-controls
-//
-// Restyle and baseline non-control form elements.
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
- // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
- // so we reset that to ensure it behaves more like a standard block element.
- // See https://github.com/twbs/bootstrap/issues/12359.
- min-width: 0;
-}
-
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: @line-height-computed;
- font-size: (@font-size-base * 1.5);
- line-height: inherit;
- color: @legend-color;
- border: 0;
- border-bottom: 1px solid @legend-border-color;
-}
-
-label {
- display: inline-block;
- max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
- margin-bottom: 5px;
- font-weight: bold;
-}
-
-
-// Normalize form controls
-//
-// While most of our form styles require extra classes, some basic normalization
-// is required to ensure optimum display with or without those classes to better
-// address browser inconsistencies.
-
-// Override content-box in Normalize (* isn't specific enough)
-input[type="search"] {
- .box-sizing(border-box);
-}
-
-// Position radios and checkboxes better
-input[type="radio"],
-input[type="checkbox"] {
- margin: 4px 0 0;
- margin-top: 1px \9; // IE8-9
- line-height: normal;
-}
-
-input[type="file"] {
- display: block;
-}
-
-// Make range inputs behave like textual form controls
-input[type="range"] {
- display: block;
- width: 100%;
-}
-
-// Make multiple select elements height not fixed
-select[multiple],
-select[size] {
- height: auto;
-}
-
-// Focus for file, radio, and checkbox
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
- .tab-focus();
-}
-
-// Adjust output element
-output {
- display: block;
- padding-top: (@padding-base-vertical + 1);
- font-size: @font-size-base;
- line-height: @line-height-base;
- color: @input-color;
-}
-
-
-// Common form controls
-//
-// Shared size and type resets for form controls. Apply `.form-control` to any
-// of the following form controls:
-//
-// select
-// textarea
-// input[type="text"]
-// input[type="password"]
-// input[type="datetime"]
-// input[type="datetime-local"]
-// input[type="date"]
-// input[type="month"]
-// input[type="time"]
-// input[type="week"]
-// input[type="number"]
-// input[type="email"]
-// input[type="url"]
-// input[type="search"]
-// input[type="tel"]
-// input[type="color"]
-
-.form-control {
- display: block;
- width: 100%;
- height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
- padding: @padding-base-vertical @padding-base-horizontal;
- font-size: @font-size-base;
- line-height: @line-height-base;
- color: @input-color;
- background-color: @input-bg;
- background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
- border: 1px solid @input-border;
- border-radius: @input-border-radius; // Note: This has no effect on