Translate login and a bunch of manage pages

indiachan-spamvector
Thomas Lynch 1 year ago
parent dd29e42716
commit 557ff57db4
  1. 179
      locales/en.json
  2. 121
      locales/pt.json
  3. 4
      views/pages/editstaff.pug
  4. 18
      views/pages/login.pug
  5. 10
      views/pages/manageassets.pug
  6. 6
      views/pages/managebans.pug
  7. 22
      views/pages/managecustompages.pug
  8. 24
      views/pages/managelogs.pug
  9. 8
      views/pages/managemypermissions.pug
  10. 14
      views/pages/managerecent.pug
  11. 8
      views/pages/managereports.pug
  12. 32
      views/pages/managestaff.pug

@ -1,5 +1,7 @@
{
".html name": ".html name",
"(You)": "(You)",
"(You)s": "(You)s",
"%s characters": {
"one": "%s character",
"other": "%s characters"
@ -69,13 +71,30 @@
"one": "%s year from now",
"other": "%s years from now"
},
"24h time": "24h time",
"2FA Code": "2FA Code",
"6 digits": "6 digits",
"a-zA-Z0-9-_ only": "a-zA-Z0-9-_ only",
"Ability to create new boards.": "Ability to create new boards.",
"Ability to register an account.": "Ability to register an account.",
"Ability to see raw IPs in moderation interfaces.": "Ability to see raw IPs in moderation interfaces.",
"Access board bans. Ability to unban, edit, or deny appeals.": "Access board bans. Ability to unban, edit, or deny appeals.",
"Access board logs. Ability to search/filter.": "Access board logs. Ability to search/filter.",
"Access board settings. Ability to change any settings. Settings page will show transfer/delete forms for those with \"Board Owner\" permission.": "Access board settings. Ability to change any settings. Settings page will show transfer/delete forms for those with \"Board Owner\" permission.",
"Access global bans. Ability to unban, edit, or deny appeals.": "Access global bans. Ability to unban, edit, or deny appeals.",
"Access global logs. Ability to search/filter": "Access global logs. Ability to search/filter",
"Access global settings. Ability to change any settings.": "Access global settings. Ability to change any settings.",
"Access news posting. Ability to add, edit, or delete newsposts.": "Access news posting. Ability to add, edit, or delete newsposts.",
"Access roles list. Ability to edit roles": "Access roles list. Ability to edit roles",
"Access the accounts list. Ability to search/sort. Ability to edit permissions of any user.": "Access the accounts list. Ability to search/sort. Ability to edit permissions of any user.",
"Access the global board list. Ability to search/filter. Also grants the ability to transfer or delete any board.": "Access the global board list. Ability to search/filter. Also grants the ability to transfer or delete any board.",
"Access to board assets and custompages. Ability to upload, create, edit, delete.": "Access to board assets and custompages. Ability to upload, create, edit, delete.",
"Access to staff management, and ability to add or remove permissions from others. Can only be given by somebody else with \"Board Owner\" permission. Use with caution!": "Access to staff management, and ability to add or remove permissions from others. Can only be given by somebody else with \"Board Owner\" permission. Use with caution!",
"Account": "Account",
"Accounts": "Accounts",
"Actions": "Actions",
"Active sessions": "Active sessions",
"Add": "Add",
"Add Asset (Max %s)": {
"one": "Add Asset (Max %s)",
"other": "Add Assets (Max %s)"
@ -85,18 +104,22 @@
"other": "Add Banners (Max %s)"
},
"Add Boards": "Add Boards",
"Add Custom Page": "Add Custom Page",
"Add Flag (Max %s)": {
"one": "Add Flag (Max %s)",
"other": "Add Flags (Max %s)"
},
"Add layer": "Add layer",
"Add News": "Add News",
"Add Staff": "Add Staff",
"Admin": "Admin",
"Airbrush": "Airbrush",
"alphanumeric only": "alphanumeric only",
"Always reveal text spoilers": "Always reveal text spoilers",
"Appeal": "Appeal",
"Appealable?": "Appealable?",
"Apply": "Apply",
"Arbitrary assets that can be used for other purposes e.g. custom CSS": "Arbitrary assets that can be used for other purposes e.g. custom CSS",
"Archive": "Archive",
"Are you sure? Changing the canvas will clear all layers and history and disable replay recording.": "Are you sure? Changing the canvas will clear all layers and history and disable replay recording.",
"Are you sure? Your work will be lost.": "Are you sure? Your work will be lost.",
@ -105,6 +128,7 @@
"one": "Asset",
"other": "Assets"
},
"Assets": "Assets",
"Attempting to reconnect...": "Attempting to reconnect...",
"Ban duration e.g. 7d": "Ban duration e.g. 7d",
"Ban Poster": "Ban Poster",
@ -116,19 +140,37 @@
"other": "Banners"
},
"Bans": "Bans",
"Bans & Appeals": "Bans & Appeals",
"Bans currently in place against your IP": "Bans currently in place against your IP",
"Block Bypass": "Block Bypass",
"Blur": "Blur",
"Board": "Board",
"Board List": "Board List",
"Board Management": "Board Management",
"Board Owner": "Board Owner",
"Board Staff": "Board Staff",
"Board URI": "Board URI",
"Board-specific permissions": "Board-specific permissions",
"Boards": "Boards",
"Boards you are staff on": "Boards you are staff on",
"Boards you own": "Boards you own",
"Bold": "Bold",
"Bucket": "Bucket",
"Bump Order": "Bump Order",
"Bumplocked": "Bumplocked",
"Bypass": "Bypass",
"Bypass all bans.": "Bypass all bans.",
"Bypass all post filters.": "Bypass all post filters.",
"Bypass Bans": "Bypass Bans",
"Bypass Captcha": "Bypass Captcha",
"Bypass captcha.": "Bypass captcha.",
"Bypass Filters": "Bypass Filters",
"Bypass Ratelimits": "Bypass Ratelimits",
"Bypass ratelimits for getting new captchas, editing posts, editing board settings, etc.": "Bypass ratelimits for getting new captchas, editing posts, editing board settings, etc.",
"Bypass Spamcheck": "Bypass Spamcheck",
"Bypass the basic anti-flood spamcheck for too frequent similar posting.": "Bypass the basic anti-flood spamcheck for too frequent similar posting.",
"Bypasses": "Bypasses",
"Cache": "Cache",
"Canvas height in pixels": "Canvas height in pixels",
"Canvas width in pixels": "Canvas width in pixels",
"Captcha text": "Captcha text",
@ -136,6 +178,8 @@
"Change password": "Change password",
"Change Password": "Change Password",
"Close": "Close",
"Code Block": "Code Block",
"Code theme": "Code theme",
"Color": "Color",
"comma separated": "comma separated",
"Confirm New Password": "Confirm New Password",
@ -146,15 +190,25 @@
"Could not load the replay: ": "Could not load the replay: ",
"Create": "Create",
"Create a board": "Create a board",
"Create Account": "Create Account",
"Create Board": "Create Board",
"Creation Date": "Creation Date",
"Crisp image rendering": "Crisp image rendering",
"Current Staff": "Current Staff",
"Currently blocked": "Currently blocked",
"Custom": "Custom",
"Custom CSS": "Custom CSS",
"Custom Pages": "Custom Pages",
"Customisation": "Customisation",
"Customise": "Customise",
"Cyclic": "Cyclic",
"Date Added": "Date Added",
"Default name": "Default name",
"Delete": "Delete",
"Delete Assets": "Delete Assets",
"Delete Banners": "Delete Banners",
"Delete Files": "Delete Files",
"Delete Flags": "Delete Flags",
"Delete from IP globally": "Delete from IP globally",
"Delete from IP in thread": "Delete from IP in thread",
"Delete from IP on board": "Delete from IP on board",
@ -166,9 +220,13 @@
"Deny Appeal": "Deny Appeal",
"Descending": "Descending",
"Description": "Description",
"Detected": "Detected",
"Dice Roll": "Dice Roll",
"Disable board custom CSS": "Disable board custom CSS",
"Disconnected": "Disconnected",
"Dismiss Global Reports": "Dismiss Global Reports",
"Dismiss Reports": "Dismiss Reports",
"Do NOT import untrusted settings data!": "Do NOT import untrusted settings data!",
"Double click to highlight (%s)": {
"other": "Double click to highlight (%s)"
},
@ -179,10 +237,12 @@
"Edit": "Edit",
"Edit Account": "Edit Account",
"Edit account permissions for": "Edit account permissions for",
"Edit board permissions for \"%s\"": "Edit board permissions for \"%s\"",
"Edit Custom Page": "Edit Custom Page",
"Edit Duration": "Edit Duration",
"Edit News": "Edit News",
"Edit newspost": "Edit Newspost",
"Edit Newspost": "Editar notícia",
"Edit Note": "Edit Note",
"Edit Post": "Edit Post",
"Edit Role": "Edit Role",
@ -196,6 +256,7 @@
"Existing Password": "Existing Password",
"Expiry": "Expiry",
"Export": "Export",
"Export does not include post password or (You)'s": "Export does not include post password or (You)'s",
"Failed reconnecting": "Failed reconnecting",
"faq": "faq",
"Faster": "Faster",
@ -214,23 +275,36 @@
"one": "Flag",
"other": "Flags"
},
"Flags that can be applied to posts if custom flags are enabled in board settings": "Flags that can be applied to posts if custom flags are enabled in board settings",
"Flow": "Flow",
"focus to load captcha": "focus to load captcha",
"Fortune": "Fortune",
"Full control of the board, equivalent to the BO. Can delete and/or transfer the board. Can only be given by somebody else with \"Board Owner\" permission. Use with caution!": "Full control of the board, equivalent to the BO. Can delete and/or transfer the board. Can only be given by somebody else with \"Board Owner\" permission. Use with caution!",
"Full control. Use with caution!": "Full control. Use with caution!",
"Gapless": "Gapless",
"General": "General",
"General board staff permission. Access mod index, catalog, recent posts and reports. Ability to submit mod actions. Bypass board-specific bans and post filters.": "General board staff permission. Access mod index, catalog, recent posts and reports. Ability to submit mod actions. Bypass board-specific bans and post filters.",
"General global staff permission. Access to recent posts and reports. Ability to submit global actions.": "General global staff permission. Access to recent posts and reports. Ability to submit global actions.",
"Geographic Flag": "Geographic Flag",
"Global": "Global",
"Global Ban Poster": "Global Ban Poster",
"Global Ban Reporters": "Global Ban Reporters",
"Global Bans": "Global Bans",
"Global Board Owner": "Global Board Owner",
"Global Board Staff": "Global Board Staff",
"Global Logs": "Global Logs",
"Global Management": "Global Management",
"Global post history for %s": "Global post history for %s",
"Global Report": "Global Report",
"Global Settings": "Global Settings",
"Global Staff": "Global Staff",
"Greentext": "Greentext",
"Hidden images": "Hidden images",
"Hidden User": "Hidden User",
"Hide": "Hide",
"Hide deleted post content": "Hide deleted post content",
"Hide post stubs": "Hide post stubs",
"Hide thumbnails": "Hide thumbnails",
"Hide Username": "Hide Username",
"Hide Username In Modlog": "Hide Username In Modlog",
"Home": "Home",
@ -239,8 +313,13 @@
"I'm sure": "I'm sure",
"ID": "ID",
"if enabled": "if enabled",
"Image loading bars": "Image loading bars",
"Images randomly chosen and displayed at the top of most pages on the board": "Images randomly chosen and displayed at the top of most pages on the board",
"Import": "Import",
"Import/Export Settings": "Import/Export Settings",
"Include Default Boards": "Include Default Boards",
"Index": "Index",
"Inline Monospace": "Inline Monospace",
"Internal server error": "Internal server error",
"Invalid dimensions.": "Invalid dimensions.",
"IP": "IP",
@ -249,6 +328,7 @@
"IPV6": "IPV6",
"Issue Date": "Issue Date",
"Issuer": "Issuer",
"Italic": "Italic",
"Last Active": "Last Active",
"Last edited": "Last edited",
"Latest Activity": "Latest Activity",
@ -256,18 +336,24 @@
"Layer": "Layer",
"Layer limit reached.": "Layer limit reached.",
"Layers": "Layers",
"Links": "Links",
"Live posts": "Live posts",
"Live posts off": "Live posts off",
"loading": "loading",
"Loading replay…": "Loading replay…",
"Local First": "Local First",
"Local Stats": "Local Stats",
"Local time": "Local time",
"Locked": "Locked",
"Log Message": "Log Message",
"Log out": "Log out",
"Login": "Login",
"Logs": "Logs",
"Lokinet SNApp": "Lokinet SNApp",
"Loop audio/video": "Loop audio/video",
"Make links clickable": "Make links clickable",
"Manage": "Manage",
"Manage Custom Pages": "Manage Custom Pages",
"Manage News": "Manage News",
"Max %s": {
"one": "Max %s",
@ -305,16 +391,22 @@
"No Filters": "No Filters",
"No Logs.": "No Logs.",
"No posts.": "No posts.",
"No reports.": "No reports.",
"No results.": "No results.",
"No video/audio files in this thread.": "No video/audio files in this thread.",
"No.": "No.",
"Non-appealable Ban": "Non-appealable Ban",
"Non-color IDs": "Non-color IDs",
"None": "None",
"Not blocked": "Not blocked",
"Not Shown": "Not Shown",
"Note": "Note",
"Note: Setting board management permissions on an account/role level will grant them globally i.e for all boards.\nTo make somebody a normal board owner/staff, transfer them the board or give them the appropriate permissions in the board staff permission editing interface.": "Note: Setting board management permissions on an account/role level will grant them globally i.e for all boards.\nTo make somebody a normal board owner/staff, transfer them the board or give them the appropriate permissions in the board staff permission editing interface.",
"Nothing": "Nothing",
"Notifications": "Notifications",
"Now": "Now",
"OK": "OK",
"Only notify (You)s": "Only notify (You)s",
"Opacity": "Opacity",
"Open": "Open",
"Or, apply a role": "Or, apply a role",
@ -332,11 +424,16 @@
"Pen": "Pen",
"Pencil": "Pencil",
"Permissions": "Permissions",
"Pinktext": "Pinktext",
"Pipette": "Pipette",
"Play": "Play",
"Playlist": "Playlist",
"Please enable JavaScript to solve the captcha.": "Please enable JavaScript to solve the captcha.",
"Popularity": "Popularity",
"Post Filters": "Post Filters",
"Post history for %s": "Post history for %s",
"Post password": "Post password",
"Post styling": "Post styling",
"Post(s)": "Post(s)",
"Posts": "Posts",
"Posts must include a message or file": "Posts must include a message or file",
@ -347,11 +444,14 @@
"Pressure": "Pressure",
"Pruned IP": "Pruned IP",
"Range": "Range",
"Raw IPs": "Raw IPs",
"Reason": "Reason",
"Recent": "w",
"Recent Posts": "Recept Posts",
"Recording replay": "Recording replay",
"Recursive post hide": "Recursive post hide",
"Redo": "Redo",
"Regex?": "Regex?",
"Register": "Register",
"Register an account": "Register an account",
"Regular User": "Regular User",
@ -374,11 +474,14 @@
"Right click to replace with the current color": "Right click to replace with the current color",
"Role": "Role",
"Roles": "Roles",
"Root": "Root",
"rules": "rules",
"Save": "Save",
"Save As": "Save As",
"Scan the QR Code in an authenticator app, and submit the code": "Scan the QR Code in an authenticator app, and submit the code",
"Scroll to new posts": "Scroll to new posts",
"Search": "Search",
"See Global Post History": "See Global Post History",
"Seen?": "Visto?",
"Select/Drop/Paste files": {
"one": "Select/Drop/Paste file",
@ -389,12 +492,15 @@
"Setup 2FA (TOTP)": "Setup 2FA (TOTP)",
"SFW": "SFW",
"Show": "Show",
"Show (You)s": "Show (You)s",
"Show Post Actions": "Show Post Actions",
"Show Post In Ban": "Show Post In Ban",
"Show relative time": "Show relative time",
"Shown": "Shown",
"Single": "Single",
"Size": "Size",
"Slower": "Slower",
"Smooth scrolling": "Smooth scrolling",
"Socket error": "Socket error",
"Sort": "Sort",
"Sort By": "Sort By",
@ -405,20 +511,26 @@
"Staff Boards": "Staff Boards",
"Sticky": "Sticky",
"Sticky priority, 0 = unsticky": "Sticky priority, 0 = unsticky",
"Strikethrough": "Strikethrough",
"Strip Filename": "Strip Filename",
"Subject": "Subject",
"Submit": "Submit",
"Success": "Success",
"Supports post styling": "Supports post styling",
"Switch color palette": "Switch color palette",
"Tags": "Tags",
"Tegaki": "Tegaki",
"Tegaki Size": "Tegaki Size",
"The active layer is not visible.": "The active layer is not visible.",
"Theme": "Theme",
"There are currently %s public boards, %s in total. Sitewide, %s posts have been made in the last day, %s in the last hour, %s in total.": "There are currently %s public boards, %s in total. Sitewide, %s posts have been made in the last day, %s in the last hour, %s in total.",
"There are currently %s sites and %s boards in the known webring. Across all webring boards, %s posts have been made in the last hour, %s in total.": "There are currently %s sites and %s boards in the known webring. Across all webring boards, %s posts have been made in the last hour, %s in total.",
"Thread from": "Thread from",
"Thread No.": "Thread No.",
"Thread watcher": "Thread watcher",
"Thread Watcher": "Thread Watcher",
"Tip": "Tip",
"Title": "Title",
"Toggle Bumplock": "Toggle Bumplock",
"Toggle Cycle": "Toggle Cycle",
"Toggle Lock": "Toggle Lock",
@ -429,8 +541,10 @@
"Two Factor Authentication Setup": "Two Factor Authentication Setup",
"Type": "Type",
"Unban": "Unban",
"Underline": "Underline",
"Undo": "Undo",
"Unknown": "Unknown",
"Unlimit media height": "Unlimit media height",
"Unlink Files": "Unlink Files",
"Unregistered User": "Unregistered User",
"Update": "Update",
@ -438,11 +552,28 @@
"Upgrade Ban": "Upgrade Ban",
"URI e.g. /uri/": "URI e.g. /uri/",
"URI or tags": "URI or tags",
"Use bold": "Use bold",
"Use code blocks": "Use code blocks",
"Use detected": "Use detected",
"Use dice rolls": "Use dice rolls",
"Use fortunes": "Use fortunes",
"Use greentext": "Use greentext",
"Use inline monospace": "Use inline monospace",
"Use italics": "Use italics",
"Use pinktext": "Use pinktext",
"Use spoilers": "Use spoilers",
"Use strikethrough": "Use strikethrough",
"Use titles": "Use titles",
"Use underline": "Use underline",
"USER WAS BANNED FOR THIS POST": "USER WAS BANNED FOR THIS POST",
"Username": "Username",
"Users": "Users",
"Value": "Value",
"Video/Audio volume": "Video/Audio volume",
"View": "View",
"View Raw IPs": "View Raw IPs",
"Watch": "Watch",
"Watchlist": "Watchlist",
"Webring": "Webring",
"Webring Stats": "Webring Stats",
"Welcome": "Welcome",
@ -453,51 +584,5 @@
"You moderate": "You moderate",
"You own": "You own",
"Your upload was too large": "Your upload was too large",
"Success": "Success",
"OK": "OK",
"Live posts": "Live posts",
"Notifications": "Notifications",
"Only notify (You)s": "Only notify (You)s",
"Scroll to new posts": "Scroll to new posts",
"Local time": "Local time",
"24h time": "24h time",
"Show relative time": "Show relative time",
"Non-color IDs": "Non-color IDs",
"Hide post stubs": "Hide post stubs",
"Hide deleted post content": "Hide deleted post content",
"Disable board custom CSS": "Disable board custom CSS",
"Hide thumbnails": "Hide thumbnails",
"Recursive post hide": "Recursive post hide",
"Loop audio/video": "Loop audio/video",
"Unlimit media height": "Unlimit media height",
"Crisp image rendering": "Crisp image rendering",
"Image loading bars": "Image loading bars",
"Always reveal text spoilers": "Always reveal text spoilers",
"Show (You)s": "Show (You)s",
"Smooth scrolling": "Smooth scrolling",
"Thread watcher": "Thread watcher",
"Video/Audio volume": "Video/Audio volume",
"Default name": "Default name",
"Post password": "Post password",
"Theme": "Theme",
"Code theme": "Code theme",
"(You)s": "(You)s",
"Watchlist": "Watchlist",
"Hidden images": "Hidden images",
"Cache": "Cache",
"Tegaki Size": "Tegaki Size",
"Custom CSS": "Custom CSS",
"Post Filters": "Post Filters",
"Type": "Type",
"Value": "Value",
"Regex?": "Regex?",
"Add": "Add",
"Import/Export Settings": "Import/Export Settings",
"Do NOT import untrusted settings data!": "Do NOT import untrusted settings data!",
"Export does not include post password or (You)'s": "Export does not include post password or (You)'s",
"Export": "Export",
"Import": "Import",
"Zoom": "Zoom"
}
}

@ -1,5 +1,7 @@
{
".html name": ".html nome",
"(You)": "(You)",
"(You)s": "(You)s",
"%s characters": {
"one": "%s caracter",
"other": "%s caracteres"
@ -69,6 +71,7 @@
"one": "%s ano desde agora",
"other": "%s anos desde agora"
},
"24h time": "Hora 24h",
"2FA Code": "Código 2FA",
"6 digits": "6 digitos",
"a-zA-Z0-9-_ only": "a-zA-Z0-9-_ apenas",
@ -91,27 +94,32 @@
"Accounts": "Contas",
"Actions": "Ações",
"Active sessions": "Sessões ativas",
"Add": "Adicionar",
"Add Asset (Max %s)": {
"one": "Add Asset (Max %s)",
"other": "Add Assets (Max %s)"
"one": "Adicionar Asset (Máx %s)",
"other": "Adicionar Assets (Máx %s)"
},
"Add Banner (Max %s)": {
"one": "Add Banner (Max %s)",
"other": "Add Banners (Max %s)"
"one": "Adicionar Banner (Máx %s)",
"other": "Adicionar Banners (Máx %s)"
},
"Add Boards": "Adicionar Tábuas",
"Add Custom Page": "Adicionar Página",
"Add Flag (Max %s)": {
"one": "Add Flag (Max %s)",
"other": "Add Flags (Max %s)"
"one": "Adicionar Flag (Máx %s)",
"other": "Adicionar Flags (Máx %s)"
},
"Add layer": "Adicionar camada",
"Add News": "Add News",
"Add Staff": "Adicionar Staff",
"Admin": "Admin",
"Airbrush": "Aerógrafo",
"alphanumeric only": "Alfanumérico apenas",
"Always reveal text spoilers": "Mostrar sempre spoilers texto",
"Appeal": "Recurso",
"Appealable?": "Recurso?",
"Apply": "Aplicar",
"Arbitrary assets that can be used for other purposes e.g. custom CSS": "Assets específicos podem ser usados na tábua e.g. CSS personalizado",
"Archive": "Arquivo",
"Are you sure? Changing the canvas will clear all layers and history and disable replay recording.": "Tens a certeza? Mudar a tela irá limpar todas as camadas, histórico e desligar a gravação de repetição.",
"Are you sure? Your work will be lost.": "Tens a certeza? O teu trabalho será perdido.",
@ -120,6 +128,7 @@
"one": "Asset",
"other": "Assets"
},
"Assets": "Assets",
"Attempting to reconnect...": "A ligar...",
"Ban duration e.g. 7d": "Duração do ban e.g. 7d",
"Ban Poster": "Banir Utilizador",
@ -131,6 +140,7 @@
"other": "Banners"
},
"Bans": "Bans",
"Bans & Appeals": "Bans & Recursos",
"Bans currently in place against your IP": "Bans colocados no teu IP",
"Block Bypass": "Bypass",
"Blur": "Desfoque",
@ -140,6 +150,7 @@
"Board Owner": "Board Owner",
"Board Staff": "Board Staff",
"Board URI": "Board URI",
"Board-specific permissions": "Permissões de tábuas",
"Boards": "Tábuas",
"Boards you are staff on": "Tábuas em que fazes parte do staff",
"Boards you own": "Administrador das tábuas",
@ -159,6 +170,7 @@
"Bypass Spamcheck": "Bypass Spamcheck",
"Bypass the basic anti-flood spamcheck for too frequent similar posting.": "Bypass the basic anti-flood spamcheck for too frequent similar posting.",
"Bypasses": "Bypasses",
"Cache": "Cache",
"Canvas height in pixels": "Altura da tela em pixeis",
"Canvas width in pixels": "Largura da tela em pixeis",
"Captcha text": "Código captcha",
@ -167,6 +179,7 @@
"Change Password": "Change Password",
"Close": "Fechar",
"Code Block": "Code Block",
"Code theme": "Tema código",
"Color": "Cor",
"comma separated": "separado por vírgula",
"Confirm New Password": "Confirm New Password",
@ -180,14 +193,22 @@
"Create Account": "Create Account",
"Create Board": "Criar Tábua",
"Creation Date": "Criação",
"Crisp image rendering": "Crisp image rendering",
"Current Staff": "Staff Atual",
"Currently blocked": "Currently blocked",
"Custom": "Custom",
"Custom CSS": "CSS",
"Custom Pages": "Páginas",
"Customisation": "Customisation",
"Customise": "Personalizar",
"Cyclic": "Cyclic",
"Date Added": "Data Adicionado",
"Default name": "Nome default",
"Delete": "Apagar",
"Delete Assets": "Apagar Assets",
"Delete Banners": "Apagar Banners",
"Delete Files": "Apagar Ficheiros",
"Delete Flags": "Apagar Flags",
"Delete from IP globally": "Apagar do IP Globalmente",
"Delete from IP in thread": "Apagar do IP no Fio",
"Delete from IP on board": "Apagar do IP na Tábua",
@ -201,9 +222,11 @@
"Description": "Descrição",
"Detected": "Detected",
"Dice Roll": "Dice Roll",
"Disable board custom CSS": "Desativar CSS das tábuas",
"Disconnected": "Desligado",
"Dismiss Global Reports": "Dismiss Global Reports",
"Dismiss Reports": "Dismiss Denúncias",
"Do NOT import untrusted settings data!": "Não importes coisas em que não confies!",
"Double click to highlight (%s)": {
"other": "Carrega duas vezes para ver (%s)"
},
@ -214,6 +237,7 @@
"Edit": "Editar",
"Edit Account": "Edit Account",
"Edit account permissions for": "Edit account permissions for",
"Edit board permissions for \"%s\"": "Edit board permissions for \"%s\"",
"Edit Custom Page": "Editar página",
"Edit Duration": "Alterar Duração",
"Edit News": "Editar Notícias",
@ -231,6 +255,7 @@
"Existing Password": "Existing Password",
"Expiry": "Expira",
"Export": "Exportar",
"Export does not include post password or (You)'s": "Exportar não inclui passwords ou (You)'s",
"Failed reconnecting": "Erro a ligar",
"faq": "faq",
"Faster": "Mais rápido",
@ -249,6 +274,7 @@
"one": "Flag",
"other": "Flags"
},
"Flags that can be applied to posts if custom flags are enabled in board settings": "O especial pode ser mostrado na publicação se custom flags estiver ativado nas opções da tábua",
"Flow": "Fluidez",
"focus to load captcha": "Seleciona para carregar captcha",
"Fortune": "Fortune",
@ -272,8 +298,12 @@
"Global Settings": "Opções Globais",
"Global Staff": "Global Staff",
"Greentext": "Greentext",
"Hidden images": "Imagens escondidas",
"Hidden User": "Esconder",
"Hide": "Esconder",
"Hide deleted post content": "Esconder publicações apagadas",
"Hide post stubs": "Esconder totalmente publicações",
"Hide thumbnails": "Esconder thumbnails",
"Hide Username": "Esconder Username",
"Hide Username In Modlog": "Esconder Username",
"Home": "Início",
@ -282,6 +312,10 @@
"I'm sure": "Tenho a certeza",
"ID": "ID",
"if enabled": "opcional, se ativo",
"Image loading bars": "Barras de carregamento",
"Images randomly chosen and displayed at the top of most pages on the board": "Banners são mostradas aleatóriamente no topo da tábua",
"Import": "Importar",
"Import/Export Settings": "Importar/Exportar Opções",
"Include Default Boards": "Incluir tábuas default",
"Index": "Index",
"Inline Monospace": "Inline Monospace",
@ -302,19 +336,23 @@
"Layer limit reached.": "Limite de camadas excedido.",
"Layers": "Camadas",
"Links": "Links",
"Live posts": "Publicações em direto",
"Live posts off": "Direto desligado",
"loading": "loading",
"Loading replay…": "A carregar repetição...",
"Local First": "Locais Primeiro",
"Local Stats": "Informações",
"Local time": "Hora local",
"Locked": "Locked",
"Log Message": "Mensagem Log",
"Log out": "Log out",
"Login": "Entrar",
"Logs": "Logs",
"Lokinet SNApp": "Lokinet SNApp",
"Loop audio/video": "Loop áudio/vídeo",
"Make links clickable": "Make links clickable",
"Manage": "Gerir",
"Manage Custom Pages": "Gerir Páginas",
"Manage News": "Manage News",
"Max %s": {
"one": "Max %s",
@ -352,17 +390,22 @@
"No Filters": "No Filters",
"No Logs.": "No Logs.",
"No posts.": "Sem publicações.",
"No reports.": "Sem denúncias.",
"No results.": "No results.",
"No video/audio files in this thread.": "No video/audio files in this thread.",
"No.": "/#/",
"Non-appealable Ban": "Ban sem Recurso",
"Non-color IDs": "IDs sem cor",
"None": "Nada",
"Not blocked": "Not blocked",
"Not Shown": "Not Shown",
"Note": "Nota",
"Note: Setting board management permissions on an account/role level will grant them globally i.e for all boards.\nTo make somebody a normal board owner/staff, transfer them the board or give them the appropriate permissions in the board staff permission editing interface.": "Note: Setting board management permissions on an account/role level will grant them globally i.e for all boards.\nTo make somebody a normal board owner/staff, transfer them the board or give them the appropriate permissions in the board staff permission editing interface.",
"Nothing": "Nenhuma",
"Notifications": "Notificações",
"Now": "Agora",
"OK": "OK",
"Only notify (You)s": "Apenas notificar (You)s",
"Opacity": "Opacidade",
"Open": "Abrir",
"Or, apply a role": "Or, apply a role",
@ -379,13 +422,16 @@
"Payload Too Large": "Payload Too Large",
"Pen": "Caneta",
"Pencil": "Lápis",
"Permissions": "Permissions",
"Permissions": "Permissões",
"Pinktext": "Pinktext",
"Pipette": "Pipeta",
"Play": "Reproduzir",
"Playlist": "Playlist",
"Please enable JavaScript to solve the captcha.": "Necessita JavaScript.",
"Popularity": "Popularidade",
"Post Filters": "Filtros",
"Post history for %s": "Post history for %s",
"Post password": "Password publicação",
"Post styling": "Post styling",
"Post(s)": "Publicação",
"Posts": "Publicações",
@ -402,7 +448,9 @@
"Recent": "Recentes",
"Recent Posts": "Recept Posts",
"Recording replay": "A gravar repetição",
"Recursive post hide": "Esconder recursivo",
"Redo": "Refazer",
"Regex?": "Regex?",
"Register": "Registar",
"Register an account": "Registar conta",
"Regular User": "Regular User",
@ -430,7 +478,9 @@
"Save": "Guardar",
"Save As": "Guardar Como",
"Scan the QR Code in an authenticator app, and submit the code": "Usa a câmara do dispositivo na aplicação para detetar o código QR e depois escreve-o:",
"Scroll to new posts": "Scroll para novas publicações",
"Search": "Procurar",
"See Global Post History": "See Global Post History",
"Seen?": "Visto?",
"Select/Drop/Paste files": {
"one": "Seleciona/Arrasta/Cola ficheiro",
@ -441,12 +491,15 @@
"Setup 2FA (TOTP)": "Configurar 2FA (TOTP)",
"SFW": "SFW",
"Show": "Mostrar",
"Show (You)s": "Mostrar (You)s",
"Show Post Actions": "Denunciar/Moderar",
"Show Post In Ban": "Mostrar Publicação no Ban",
"Show relative time": "Hora relativa",
"Shown": "Shown",
"Single": "Único",
"Size": "Tamanho",
"Slower": "Mais devagar",
"Smooth scrolling": "Smooth scrolling",
"Socket error": "Erro socket",
"Sort": "Ordenar",
"Sort By": "Ordem",
@ -461,15 +514,19 @@
"Strip Filename": "Limpar Nome",
"Subject": "Assunto",
"Submit": "Enviar",
"Success": "Success",
"Supports post styling": "Suporta formatação",
"Switch color palette": "Trocar paleta",
"Tags": "Tags",
"Tegaki": "Tegaki",
"Tegaki Size": "Tegaki",
"The active layer is not visible.": "A camada activa não está visível.",
"Theme": "Tema",
"There are currently %s public boards, %s in total. Sitewide, %s posts have been made in the last day, %s in the last hour, %s in total.": "Existem %s tábuas públicas, %s no total. Foram feitas %s publicações no último dia, %s na última hora, %s no total.",
"There are currently %s sites and %s boards in the known webring. Across all webring boards, %s posts have been made in the last hour, %s in total.": "There are currently %s sites and %s boards in the known webring. Across all webring boards, %s posts have been made in the last hour, %s in total.",
"Thread from": "Thread from",
"Thread No.": "Fio n.º",
"Thread watcher": "Fios favoritos",
"Thread Watcher": "Favoritos",
"Tip": "Ponta",
"Title": "Title",
@ -486,6 +543,7 @@
"Underline": "Underline",
"Undo": "Desfazer",
"Unknown": "Unknown",
"Unlimit media height": "Não limitar tamanho ficheiros abertos",
"Unlink Files": "Unlink Ficheiros",
"Unregistered User": "Unregistered User",
"Update": "Update",
@ -509,9 +567,12 @@
"USER WAS BANNED FOR THIS POST": "UTILIZADOR FOI BANIDO",
"Username": "Username",
"Users": "Utilizadores",
"Value": "Valor",
"Video/Audio volume": "Volume vídeo/áudio",
"View": "View",
"View Raw IPs": "View Raw IPs",
"Watch": "+Favorito",
"Watchlist": "Favoritos",
"Webring": "Webring",
"Webring Stats": "Informações Webring",
"Welcome": "Sobre",
@ -522,51 +583,5 @@
"You moderate": "Que moderas",
"You own": "Que administras",
"Your upload was too large": "Your upload was too large",
"Success": "Success",
"OK": "OK",
"Live posts": "Publicações em direto",
"Notifications": "Notificações",
"Only notify (You)s": "Apenas notificar (You)s",
"Scroll to new posts": "Scroll para novas publicações",
"Local time": "Hora local",
"24h time": "Hora 24h",
"Show relative time": "Hora relativa",
"Non-color IDs": "IDs sem cor",
"Hide post stubs": "Esconder totalmente publicações",
"Hide deleted post content": "Esconder publicações apagadas",
"Disable board custom CSS": "Desativar CSS das tábuas",
"Hide thumbnails": "Esconder thumbnails",
"Recursive post hide": "Esconder recursivo",
"Loop audio/video": "Loop áudio/vídeo",
"Unlimit media height": "Não limitar tamanho ficheiros abertos",
"Crisp image rendering": "Crisp image rendering",
"Image loading bars": "Barras de carregamento",
"Always reveal text spoilers": "Mostrar sempre spoilers texto",
"Show (You)s": "Mostrar (You)s",
"Smooth scrolling": "Smooth scrolling",
"Thread watcher": "Fios favoritos",
"Video/Audio volume": "Volume vídeo/áudio",
"Default name": "Nome default",
"Post password": "Password publicação",
"Theme": "Tema",
"Code theme": "Tema código",
"(You)s": "(You)s",
"Watchlist": "Favoritos",
"Hidden images": "Imagens escondidas",
"Cache": "Cache",
"Tegaki Size": "Tegaki",
"Custom CSS": "CSS",
"Post Filters": "Filtros",
"Type": "Tipo",
"Value": "Valor",
"Regex?": "Regex?",
"Add": "Adicionar",
"Import/Export Settings": "Importar/Exportar Opções",
"Do NOT import untrusted settings data!": "Não importes coisas em que não confies!",
"Export does not include post password or (You)'s": "Exportar não inclui passwords ou (You)'s",
"Export": "Exportar",
"Import": "Importar",
"Zoom": "Zoom"
}

@ -10,11 +10,11 @@ block content
br
+managenav('staff', true)
hr(size=1)
h4.mv-5 Edit board permissions for "#{staffUsername}"
h4.mv-5 #{__('Edit board permissions for "%s"', staffUsername)}
|
if permissions.get(Permissions.MANAGE_GLOBAL_ACCOUNTS)
|
a(href=`/globalmanage/editaccount/${staffUsername}.html`) [__('Edit Account Permissions')]
a(href=`/globalmanage/editaccount/${staffUsername}.html`) [#{__('Edit Account Permissions')}]
- const jsonPermissions = staffPermissions.toJSON();
.form-wrapper.flexleft
form(action=`/forms/board/${board._id}/editstaff` method='POST')

@ -1,23 +1,23 @@
extends ../layout.pug
block head
title Login
title #{__('Login')}
block content
h1.board-title Login
h1.board-title #{__('Login')}
.form-wrapper.flex-center.mv-10
form.form-post(action='/forms/login' method='POST')
input(type='hidden' name='goto' value=goto)
.row
.label Username
.label #{__('Username')}
input(type='text', name='username', maxlength='50' required)
.row
.label Password
.label #{__('Password')}
input(type='password', name='password', maxlength='100' required)
.row
.label 2FA Code
input(type='number' name='twofactor' placeholder='if enabled')
input(type='submit', value='Submit')
p: a(href='/register.html') Register
p: a(href='/changepassword.html') Change Password
.label #{__('2FA Code')}
input(type='number' name='twofactor' placeholder=__('if enabled'))
input(type='submit', value=__('Login'))
p: a(href='/register.html') #{__('Register')}
p: a(href='/changepassword.html') #{__('Change Password')}

@ -4,10 +4,10 @@ include ../mixins/boardheader.pug
include ../mixins/fileform.pug
block head
title /#{board._id}/ - Assets
title /#{board._id}/ - #{__('Assets')}
block content
+boardheader('Assets')
+boardheader(__('Assets'))
br
+managenav('assets')
hr(size=1)
@ -15,16 +15,16 @@ block content
`/forms/board/${board._id}/addbanners`, `/forms/board/${board._id}/deletebanners`,
'checkedbanners', board.banners, board.banners, `/banner/${board._id}`,
'asset-banner', false, false,
'Images randomly chosen and displayed at the top of most pages on the board')
__('Images randomly chosen and displayed at the top of most pages on the board'))
hr(size=1)
+fileform('flag', globalLimits.flagFiles.max, globalLimits.flagFiles.total,
`/forms/board/${board._id}/addflags`, `/forms/board/${board._id}/deleteflags`,
'checkedflags', Object.values(board.flags), Object.keys(board.flags),
`/flag/${board._id}`, 'asset-flag', true, false,
'Flags that can be applied to posts if custom flags are enabled in board settings')
__('Flags that can be applied to posts if custom flags are enabled in board settings'))
hr(size=1)
+fileform('asset', globalLimits.assetFiles.max, globalLimits.assetFiles.total,
`/forms/board/${board._id}/addassets`, `/forms/board/${board._id}/deleteassets`,
'checkedassets', board.assets, board.assets,
`/asset/${board._id}`, 'asset-generic', false, true,
'Arbitrary assets that can be used for other purposes e.g. custom CSS')
__('Arbitrary assets that can be used for other purposes e.g. custom CSS'))

@ -4,13 +4,13 @@ include ../mixins/managenav.pug
include ../mixins/boardheader.pug
block head
title /#{board._id}/ - Bans & Appeals
title /#{board._id}/ - #{__('Bans & Appeals')}
block content
+boardheader('Bans')
+boardheader(__('Bans'))
br
+managenav('bans')
hr(size=1)
h4.mv-5 Bans & Appeals:
h4.mv-5 #{__('Bans & Appeals')}:
form(action=`/forms/board/${board._id}/editbans` method='POST' enctype='application/x-www-form-urlencoded')
include ../includes/managebanform.pug

@ -4,30 +4,30 @@ include ../mixins/managenav.pug
include ../mixins/custompage.pug
block head
title /#{board._id}/ - Custom Pages
title /#{board._id}/ - #{__('Custom Pages')}
block content
+boardheader('Custom Pages')
+boardheader(__('Custom Pages'))
br
+managenav('custompages')
hr(size=1)
h4.mv-5 Add Custom Page:
h4.mv-5 #{__('Add Custom Page')}:
.form-wrapper.flexleft
form.form-post(action=`/forms/board/${board._id}/addcustompages`, enctype='application/x-www-form-urlencoded', method='POST')
input(type='hidden' name='_csrf' value=csrf)
.row
.label .html name
input(type='text' name='page' pattern='[a-zA-Z0-9-_]+' title='a-zA-Z0-9-_ only' required)
.label #{__('.html name')}
input(type='text' name='page' pattern='[a-zA-Z0-9-_]+' placeholder=__('a-zA-Z0-9-_ only') required)
.row
.label Title
.label #{__('Title')}
input(type='text' name='title' required)
.row
.label Message
textarea(name='message' rows='10' placeholder='Supports post styling' required)
input(type='submit', value='Submit')
.label #{__('Message')}
textarea(name='message' rows='10' placeholder=__('Supports post styling') required)
input(type='submit', value=__('Submit'))
if customPages.length > 0
hr(size=1)
h4.no-m-p Manage Custom Pages:
h4.no-m-p #{__('Manage Custom Pages')}:
.form-wrapper.flexleft
form.form-post(action=`/forms/board/${board._id}/deletecustompages`, enctype='application/x-www-form-urlencoded', method='POST')
input(type='hidden' name='_csrf' value=csrf)
@ -35,4 +35,4 @@ block content
+custompage(page, true)
if customPages.length === 1
.anchor
input(type='submit', value='Delete')
input(type='submit', value=__('Delete'))

@ -6,32 +6,32 @@ include ../mixins/boardheader.pug
include ../mixins/postlink.pug
block head
title /#{board._id}/ - Logs
title /#{board._id}/ - #{__('Logs')}
block content
+boardheader('Logs')
+boardheader(__('Logs'))
br
+managenav('logs')
hr(size=1)
.form-wrapper.flexleft
h4.no-m-p Search:
h4.no-m-p #{__('Search')}:
form.form-post.mv-5(action=`/${board._id}/manage/logs.html` method='GET')
input(type='hidden' value=page)
.row
.label Username
.label #{__('Username')}
input(type='text' name='username' value=username)
input(type='submit', value='Filter')
input(type='submit', value=__('Filter'))
h4.no-m-p Logs:
if logs && logs.length > 0
.table-container.flex-center.mv-10.text-center
table.fw
tr
th Date
th User
th IP
th Actions
th Posts
th Log Message
th #{__('Date')}
th #{__('User')}
th #{__('IP')}
th #{__('Actions')}
th #{__('Posts')}
th #{__('Log Message')}
for log in logs
tr
- const logDate = new Date(log.date);
@ -55,4 +55,4 @@ block content
.pages.mv-5
include ../includes/pages.pug
else
p No logs.
p #{__('No logs.')}

@ -4,17 +4,17 @@ include ../mixins/boardheader.pug
include ../mixins/mypermissions.pug
block head
title /#{board._id}/ - My Permissions
title /#{board._id}/ - #{__('My Permissions')}
block content
+boardheader('My Permissions')
+boardheader(__('My Permissions'))
br
+managenav('staff')
hr(size=1)
h4.mv-5 Board-specific permissions
h4.mv-5 #{__('Board-specific permissions')}
|
if permissions.get(Permissions.MANAGE_BOARD_STAFF) && user.staffBoards.includes(board._id)
|
a(href=`/${board._id}/manage/editstaff/${user.username}.html`) [Edit]
a(href=`/${board._id}/manage/editstaff/${user.username}.html`) [#{__('Edit')}]
- const jsonPermissions = permissions.toJSON();
+mypermissions(jsonPermissions, true)

@ -5,32 +5,32 @@ include ../mixins/managenav.pug
include ../mixins/boardheader.pug
block head
title /#{board._id}/ - Recent Posts
title /#{board._id}/ - #{__('Recent Posts')}
block content
+boardheader('Recent Posts')
+boardheader(__('Recent Posts'))
br
.wrapbar
+managenav('recent')
if page === 1 && !postId && !queryIp
.jsonly#livetext(data-view-raw-ip=(viewRawIp?'true':'false') data-room=`${board._id}-manage-recent-${viewRawIp === true ? 'raw' : 'hashed'}`)
.dot#livecolor
| Connecting...
input.postform-style.ml-5.di#updatepostsbutton(type='button' value='Update')
| #{__('Connecting...')}
input.postform-style.ml-5.di#updatepostsbutton(type='button' value=__('Update'))
form(action=`/forms/board/${board._id}/modactions` method='POST' enctype='application/x-www-form-urlencoded')
input(type='hidden' name='_csrf' value=csrf)
if posts.length === 0
hr(size=1)
p No posts.
p #{__('No posts.')}
else
hr(size=1)
- const ip = viewRawIp === true ? posts[0].ip.raw : posts[0].ip.cloak;
if postId || (queryIp && queryIp === ip)
h4.no-m-p Post history for #{ip}
h4.no-m-p #{__('Post history for %s', ip)}
|
if permissions.get(Permissions.MANAGE_GLOBAL_GENERAL)
|
a(href=`/globalmanage/recent.html?ip=${encodeURIComponent(ip)}`) [See Global Post History]
a(href=`/globalmanage/recent.html?ip=${encodeURIComponent(ip)}`) [#{__('See Global Post History')}]
hr(size=1)
for p in posts
.thread

@ -5,17 +5,17 @@ include ../mixins/managenav.pug
include ../mixins/boardheader.pug
block head
title /#{board._id}/ - Reports
title /#{board._id}/ - #{__('Reports')}
block content
+boardheader('Reports')
+boardheader(__('Reports'))
br
+managenav('reports')
hr(size=1)
h4.no-m-p Reports:
h4.no-m-p #{__('Reports')}:
form(action=`/forms/board/${board._id}/modactions` method='POST' enctype='application/x-www-form-urlencoded')
if reports.length === 0
p No reports.
p #{__('No reports.')}
else
input(type='hidden' name='_csrf' value=csrf)
for report in reports

@ -3,23 +3,23 @@ include ../mixins/managenav.pug
include ../mixins/boardheader.pug
block head
title /#{board._id}/ - Staff
title /#{board._id}/ - #{__('Staff')}
block content
+boardheader('Staff')
+boardheader(__('Staff'))
br
+managenav('staff')
hr(size=1)
.form-wrapper.flexleft
h4.no-m-p Add Staff:
h4.no-m-p #{__('Add Staff')}:
form.form-post.mv-5(action=`/forms/board/${board._id}/addstaff` method='POST' enctype='application/x-www-form-urlencoded')
input(type='hidden' name='_csrf' value=csrf)
.row
.label Username
.label #{__('Username')}
input(type='text' name='username' required)
input(type='submit', value='Add')
input(type='submit', value=__('Add'))
hr(size=1)
h4.no-m-p Current Staff:
h4.no-m-p #{__('Current Staff')}:
//-ew
- const staffEntries = Object.entries(board.staff).sort((a, b) => new Date(a[1].addedDate) - new Date(b[1].addedDate));
if staffEntries.length > 0
@ -29,25 +29,25 @@ block content
table
tr
th
th Username
th Date Added
th Logs
th Permissions
th #{__('Username')}
th #{__('Date Added')}
th #{__('Logs')}
th #{__('Permissions')}
for staff in staffEntries
tr
td: input(type='checkbox' name='checkedstaff' value=staff[0])
td #{staff[0]}#{user.username === staff[0] ? ' (You)' : ''}
td #{staff[0]}#{user.username === staff[0] ? ' '+__('(You)') : ''}
td
time.reltime(datetime=staff[1].addedDate) #{staff[1].addedDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: a(href=`/${board._id}/manage/logs.html?username=${staff[0]}`) [View]
td: a(href=`/${board._id}/manage/logs.html?username=${staff[0]}`) [#{__('View')}]
td
if user.username !== staff[0]
a(href=`/${board._id}/manage/editstaff/${staff[0]}.html`) [Edit]
a(href=`/${board._id}/manage/editstaff/${staff[0]}.html`) [#{__('Edit')}]
else
a(href=`/${board._id}/manage/mypermissions.html`) [View]
a(href=`/${board._id}/manage/mypermissions.html`) [#{__('View')}]
h4.no-m-p Delete Selected:
h4.no-m-p #{__('Delete Selected')}:
input(type='submit', value='Delete')
else
p None.
p #{__('None')}

Loading…
Cancel
Save