mirror of
https://github.com/gorhill/uBlock.git
synced 2024-11-05 18:32:30 +01:00
574 lines
20 KiB
JSON
574 lines
20 KiB
JSON
{
|
||
"extName":{
|
||
"message":"uBlock",
|
||
"description":"extension name."
|
||
},
|
||
"extShortDesc":{
|
||
"message":"Finalmente, um bloqueador eficaz. Com baixo consumo de CPU e memória.",
|
||
"description":"this will be in the chrome web store: must be 132 characters or less"
|
||
},
|
||
"dashboardName":{
|
||
"message":"uBlock — Painel",
|
||
"description":"English: uBlock — Dashboard"
|
||
},
|
||
"settingsPageName":{
|
||
"message":"Preferências",
|
||
"description":"appears as tab name in dashboard"
|
||
},
|
||
"3pPageName":{
|
||
"message":"Filtros de terceiros",
|
||
"description":"appears as tab name in dashboard"
|
||
},
|
||
"1pPageName":{
|
||
"message":"Meus filtros",
|
||
"description":"appears as tab name in dashboard"
|
||
},
|
||
"rulesPageName":{
|
||
"message":"Minhas regras",
|
||
"description":"appears as tab name in dashboard"
|
||
},
|
||
"whitelistPageName":{
|
||
"message":"Lista Branca",
|
||
"description":"appears as tab name in dashboard"
|
||
},
|
||
"statsPageName":{
|
||
"message":"uBlock — Registro de pedidos de rede",
|
||
"description":"Title for the network request log window"
|
||
},
|
||
"aboutPageName":{
|
||
"message":"Sobre",
|
||
"description":"appears as tab name in dashboard"
|
||
},
|
||
"popupPowerSwitchInfo":{
|
||
"message":"Clique: desativar\/ativar o uBlock para o site atual.\n\nCtrl+Clique: desativar o uBlock apenas nesta página.",
|
||
"description":"English: Click: disable\/enable uBlock for this site.\n\nCtrl+click: disable uBlock only on this page."
|
||
},
|
||
"popupBlockedRequestPrompt":{
|
||
"message":"pedidos bloqueados",
|
||
"description":"English: requests blocked"
|
||
},
|
||
"popupBlockedOnThisPagePrompt":{
|
||
"message":"nesta página",
|
||
"description":"English: on this page"
|
||
},
|
||
"popupBlockedStats":{
|
||
"message":"{{count}} ou {{percent}}%",
|
||
"description":"Example: 15 or 13%"
|
||
},
|
||
"popupBlockedSinceInstallPrompt":{
|
||
"message":"desde a instalação",
|
||
"description":"English: since install"
|
||
},
|
||
"popupOr":{
|
||
"message":"ou",
|
||
"description":"English: or"
|
||
},
|
||
"popupTipDashboard":{
|
||
"message":"Clique para abrir o painel",
|
||
"description":"English: Click to open the dashboard"
|
||
},
|
||
"popupTipPicker":{
|
||
"message":"Entrar no modo de selecionar elemento",
|
||
"description":"English: Enter element picker mode"
|
||
},
|
||
"popupTipLog":{
|
||
"message":"Ir para registro de pedidos",
|
||
"description":"English: Go to request log"
|
||
},
|
||
"popupSiteInlineScriptEnabled":{
|
||
"message":"Inline <code>script<\/code> tags está <b>permitido<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSiteInlineScriptDisabled":{
|
||
"message":"Inline <code>script<\/code> tags está <b>bloqueado<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite1pScriptEnabled":{
|
||
"message":"1st-party scripts está <b>permitido<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite1pScriptDisabled":{
|
||
"message":"1st-party scripts está <b>bloqueado<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite3pScriptEnabled":{
|
||
"message":"3rd-party scripts está <b>permitido<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite3pScriptDisabled":{
|
||
"message":"3rd-party scripts está <b>bloqueado<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite1pFrameEnabled":{
|
||
"message":"1st-party frames está <b>permitido<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite1pFrameDisabled":{
|
||
"message":"1st-party frames está <b>bloqueado<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite3pFrameEnabled":{
|
||
"message":"3rd-party frames está <b>permitido<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupSite3pFrameDisabled":{
|
||
"message":"3rd-party frames está <b>bloqueado<\/b> neste site",
|
||
"description":""
|
||
},
|
||
"popupDefaultInlineScriptEnabled":{
|
||
"message":"Inline <code>script<\/code> tags está <b>permitido<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefaultInlineScriptDisabled":{
|
||
"message":"Inline <code>script<\/code> tags está <b>bloqueado<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault1pScriptEnabled":{
|
||
"message":"1st-party scripts está <b>permitido<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault1pScriptDisabled":{
|
||
"message":"1st-party scripts está <b>bloqueado<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault3pScriptEnabled":{
|
||
"message":"3rd-party scripts está <b>permitido<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault3pScriptDisabled":{
|
||
"message":"3rd-party scripts está <b>bloqueado<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault1pFrameEnabled":{
|
||
"message":"1st-party frames está <b>permitido<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault1pFrameDisabled":{
|
||
"message":"1st-party frames está <b>bloqueado<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault3pFrameEnabled":{
|
||
"message":"3rd-party frames está <b>permitido<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupDefault3pFrameDisabled":{
|
||
"message":"3rd-party frames está <b>bloqueado<\/b> em todos os lugares por padrão",
|
||
"description":""
|
||
},
|
||
"popupAnyRulePrompt":{
|
||
"message":"tudo",
|
||
"description":""
|
||
},
|
||
"popupImageRulePrompt":{
|
||
"message":"Imagens",
|
||
"description":""
|
||
},
|
||
"popup3pAnyRulePrompt":{
|
||
"message":"3rd-party",
|
||
"description":""
|
||
},
|
||
"popupInlineScriptRulePrompt":{
|
||
"message":"inline scripts",
|
||
"description":""
|
||
},
|
||
"popup1pScriptRulePrompt":{
|
||
"message":"1st-party scripts",
|
||
"description":""
|
||
},
|
||
"popup3pScriptRulePrompt":{
|
||
"message":"3rd-party scripts",
|
||
"description":""
|
||
},
|
||
"popup3pFrameRulePrompt":{
|
||
"message":"3rd-party frames",
|
||
"description":""
|
||
},
|
||
"popupHitDomainCountPrompt":{
|
||
"message":"domínios conectados",
|
||
"description":"appears in popup"
|
||
},
|
||
"popupHitDomainCount":{
|
||
"message":"{{count}} de {{total}}",
|
||
"description":"appears in popup"
|
||
},
|
||
"pickerCreate":{
|
||
"message":"Criar",
|
||
"description":"English: Create"
|
||
},
|
||
"pickerPick":{
|
||
"message":"Selecionar",
|
||
"description":"English: Pick"
|
||
},
|
||
"pickerQuit":{
|
||
"message":"Sair",
|
||
"description":"English: Quit"
|
||
},
|
||
"pickerNetFilters":{
|
||
"message":"Filtros de rede",
|
||
"description":"English: Net filters"
|
||
},
|
||
"pickerCosmeticFilters":{
|
||
"message":"Filtros cosméticos",
|
||
"description":"English: Cosmetic filters"
|
||
},
|
||
"pickerCosmeticFiltersHint":{
|
||
"message":"Clique, Ctrl-clique",
|
||
"description":"English: Click, Ctrl-click"
|
||
},
|
||
"pickerContextMenuEntry":{
|
||
"message":"Bloquear elemento",
|
||
"description":"English: Block element"
|
||
},
|
||
"settingsCollapseBlockedPrompt":{
|
||
"message":"Ocultar os espaços ocupados por elementos bloqueados",
|
||
"description":"English: Hide placeholders of blocked elements"
|
||
},
|
||
"settingsIconBadgePrompt":{
|
||
"message":"Mostrar o número de pedidos bloqueados no ícone",
|
||
"description":"English: Show the number of blocked requests on the icon"
|
||
},
|
||
"settingsContextMenuPrompt":{
|
||
"message":"Utilizar o menu de contexto onde apropriado",
|
||
"description":"English: Make use of context menu where appropriate"
|
||
},
|
||
"settingsAdvancedUserPrompt":{
|
||
"message":"Eu sou um usuário avançado (<a href='https:\/\/github.com\/gorhill\/uBlock\/wiki\/Advanced-user-features'>Leitura necessária<\/a>)",
|
||
"description":"English: "
|
||
},
|
||
"settingsExperimentalPrompt":{
|
||
"message":"Ativar os recursos experimentais (<a href='https:\/\/github.com\/gorhill\/uBlock\/wiki\/Experimental-features'>Sobre<\/a>)",
|
||
"description":"English: Enable experimental features"
|
||
},
|
||
"settingsStorageUsed":{
|
||
"message":"Armazenamento usado: {{value}} bytes",
|
||
"description":"English: Storage used: {{}} bytes"
|
||
},
|
||
"settingsLastRestorePrompt":{
|
||
"message":"Última restauração:",
|
||
"description":"English: Last restore:"
|
||
},
|
||
"settingsLastBackupPrompt":{
|
||
"message":"Último backup:",
|
||
"description":"English: Last backup:"
|
||
},
|
||
"3pListsOfBlockedHostsPrompt":{
|
||
"message":"{{netFilterCount}} filtros de rede + {{cosmeticFilterCount}} filtros cosméticos de:",
|
||
"description":"English: {{netFilterCount}} network filters + {{cosmeticFilterCount}} cosmetic filters from:"
|
||
},
|
||
"3pListsOfBlockedHostsPerListStats":{
|
||
"message":"{{used}} usado(s) de {{total}}",
|
||
"description":"English: {{used}} used out of {{total}}"
|
||
},
|
||
"3pAutoUpdatePrompt1":{
|
||
"message":"Atualizar automaticamente as listas de filtros.",
|
||
"description":"English: Auto-update filter lists."
|
||
},
|
||
"3pUpdateNow":{
|
||
"message":"Atualizar agora",
|
||
"description":"English: Update now"
|
||
},
|
||
"3pPurgeAll":{
|
||
"message":"Limpar todos os caches",
|
||
"description":"English: Purge all caches"
|
||
},
|
||
"3pParseAllABPHideFiltersPrompt1":{
|
||
"message":"Analisar e aplicar filtros cosméticos.",
|
||
"description":"English: Parse and enforce Adblock+ element hiding filters."
|
||
},
|
||
"3pParseAllABPHideFiltersInfo":{
|
||
"message":"<p>Esta opção permite a análise e aplicação de <a href=\"https:\/\/adblockplus.org\/en\/faq_internal#elemhide\">filtros de “esconder elementos” compatível com Adblock Plus<\/a>. Estes filtros são essencialmente cosméticos, eles servem para ocultar elementos em uma página da web que são consideradas um incômodo visual, e que não pode ser bloqueado pelo motor de filtragem com base em pedidos de rede.<\/p><p>Ativando este recurso aumenta o consumo de memória do <i>uBlock<\/i>.<\/p>",
|
||
"description":"English: see English messages.json"
|
||
},
|
||
"3pListsOfBlockedHostsHeader":{
|
||
"message":"Listas de hosts bloqueados",
|
||
"description":"English: Lists of blocked hosts"
|
||
},
|
||
"3pApplyChanges":{
|
||
"message":"Aplicar alterações",
|
||
"description":"English: Apply changes"
|
||
},
|
||
"3pGroupAds":{
|
||
"message":"Anúncios",
|
||
"description":"English: Ads"
|
||
},
|
||
"3pGroupPrivacy":{
|
||
"message":"Privacidade",
|
||
"description":"English: Privacy"
|
||
},
|
||
"3pGroupMalware":{
|
||
"message":"Domínios de malware",
|
||
"description":"English: Malware domains"
|
||
},
|
||
"3pGroupSocial":{
|
||
"message":"Social",
|
||
"description":"English: Social"
|
||
},
|
||
"3pGroupMultipurpose":{
|
||
"message":"Multiuso",
|
||
"description":"English: Multipurpose"
|
||
},
|
||
"3pGroupRegions":{
|
||
"message":"Regiões, idiomas",
|
||
"description":"English: Regions, languages"
|
||
},
|
||
"3pGroupCustom":{
|
||
"message":"Personalizada",
|
||
"description":"English: Custom"
|
||
},
|
||
"3pExternalListsHint":{
|
||
"message":"Uma URL por linha. As linhas prefixadas com ‘!’ serão ignoradas. URLs inválidas serão silenciosamente ignoradas.",
|
||
"description":"English: One URL per line. Lines prefixed with ‘!’ will be ignored. Invalid URLs will be silently ignored."
|
||
},
|
||
"3pExternalListsApply":{
|
||
"message":"Analisar e aplicar",
|
||
"description":"English: Parse"
|
||
},
|
||
"3pExternalListPurge":{
|
||
"message":"limpar cache",
|
||
"description":"English: purge cache"
|
||
},
|
||
"3pExternalListNew":{
|
||
"message":"nova versão disponível",
|
||
"description":"English: new version available"
|
||
},
|
||
"3pExternalListObsolete":{
|
||
"message":"desatualizada",
|
||
"description":"English: outdated"
|
||
},
|
||
"3pLastUpdate":{
|
||
"message":"Última atualização: {{ago}}",
|
||
"description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
|
||
},
|
||
"1pFormatHint":{
|
||
"message":"Adicione um filtro por linha. Um filtro pode ser um simples hostname ou um filtro compatível com o Adblock Plus. Linhas prefixadas com ‘!’ serão ignoradas.",
|
||
"description":"English: One filter per line. A filter can be a plain hostname, or an Adblock Plus-compatible filter. Lines prefixed with ‘!’ will be ignored."
|
||
},
|
||
"1pImport":{
|
||
"message":"Importar e adicionar",
|
||
"description":"English: Import and append"
|
||
},
|
||
"1pExport":{
|
||
"message":"Exportar",
|
||
"description":"English: Export"
|
||
},
|
||
"1pExportFilename":{
|
||
"message":"meus-filtros-estáticos-do-ublock_{{datetime}}.txt",
|
||
"description":"English: my-ublock-static-filters_{{datetime}}.txt"
|
||
},
|
||
"1pApplyChanges":{
|
||
"message":"Aplicar alterações",
|
||
"description":"English: Apply changes"
|
||
},
|
||
"rulesPermanentHeader":{
|
||
"message":"Regras permanentes",
|
||
"description":"header"
|
||
},
|
||
"rulesTemporaryHeader":{
|
||
"message":"Regras temporárias",
|
||
"description":"header"
|
||
},
|
||
"rulesRevert":{
|
||
"message":"Reverter",
|
||
"description":"This will remove all temporary rules"
|
||
},
|
||
"rulesCommit":{
|
||
"message":"Aplicar",
|
||
"description":"This will persist temporary rules"
|
||
},
|
||
"rulesEdit":{
|
||
"message":"Editar",
|
||
"description":"Will enable manual-edit mode (textarea)"
|
||
},
|
||
"rulesEditSave":{
|
||
"message":"Salvar",
|
||
"description":"Will save manually-edited content and exit manual-edit mode"
|
||
},
|
||
"rulesEditDiscard":{
|
||
"message":"Descartar",
|
||
"description":"Will discard manually-edited content and exit manual-edit mode"
|
||
},
|
||
"rulesImport":{
|
||
"message":"Importar do arquivo...",
|
||
"description":""
|
||
},
|
||
"rulesExport":{
|
||
"message":"Exportar para arquivo",
|
||
"description":""
|
||
},
|
||
"rulesDefaultFileName":{
|
||
"message":"minhas-regras-dinâmicas-do-ublock.txt",
|
||
"description":"default file name to use"
|
||
},
|
||
"rulesHint":{
|
||
"message":"Lista de suas regras de filtragem dinâmica.",
|
||
"description":"English: List of your dynamic filtering rules."
|
||
},
|
||
"rulesFormatHint":{
|
||
"message":"Regras de sintaxe: <code>origem de destino tipo de ação<\/code> (<a href='https:\/\/github.com\/gorhill\/uBlock\/wiki\/Dynamic-filtering:-rule-syntax'>documentação completa<\/a>).",
|
||
"description":"English: dynamic rule syntax and full documentation."
|
||
},
|
||
"whitelistPrompt":{
|
||
"message":"Sua lista de exceções de nomes de host para qual o uBlock será desativado. Uma entrada por linha. hostnames inválidos serão silenciosamente ignorados.",
|
||
"description":"English: Your list of host names for which uBlock will be disabled. One host name per line. Invalid host names will be silently ignored."
|
||
},
|
||
"whitelistImport":{
|
||
"message":"Importar e adicionar",
|
||
"description":"English: Import and append"
|
||
},
|
||
"whitelistExport":{
|
||
"message":"Exportar",
|
||
"description":"English: Export"
|
||
},
|
||
"whitelistExportFilename":{
|
||
"message":"minha-listabranca-ublock_{{datetime}}.txt",
|
||
"description":"English: my-ublock-whitelist_{{datetime}}.txt"
|
||
},
|
||
"whitelistApply":{
|
||
"message":"Aplicar alterações",
|
||
"description":"English: Apply changes"
|
||
},
|
||
"logNetRequestsPrompt":{
|
||
"message":"Ativar o registro de pedidos de rede",
|
||
"description":"English: Enable the logging of network requests"
|
||
},
|
||
"logNetRequestsHelp":{
|
||
"message":"Ativando essa opção você pode inspecionar os detalhes dos pedidos de rede. O registro de pedidos de rede aumenta o consumo de memória do uBlock. Uma vez que muitos usuários pararem de usar esse recurso ele será desativado por padrão.",
|
||
"description":"English: see _locales\/en\/messages.log"
|
||
},
|
||
"logBlockedRequestsHeader":{
|
||
"message":"Pedidos bloqueados",
|
||
"description":"English: Blocked requests"
|
||
},
|
||
"logAllowedRequestsHeader":{
|
||
"message":"Pedidos permitidos",
|
||
"description":"English: Allowed requests"
|
||
},
|
||
"logRequestsHeaderType":{
|
||
"message":"Tipo",
|
||
"description":"English: Type"
|
||
},
|
||
"logRequestsHeaderDomain":{
|
||
"message":"Domínio",
|
||
"description":"English: Domain"
|
||
},
|
||
"logRequestsHeaderURL":{
|
||
"message":"URL",
|
||
"description":"English: URL"
|
||
},
|
||
"logRequestsHeaderFilter":{
|
||
"message":"Filtro",
|
||
"description":"English: Filter"
|
||
},
|
||
"logBlockedRequestsEmpty":{
|
||
"message":"Não há pedidos bloqueados registrado nesta página",
|
||
"description":"English: No blocked requests logged for this page"
|
||
},
|
||
"logAllowedRequestsEmpty":{
|
||
"message":"Não há pedidos não-bloqueados registrado nesta página",
|
||
"description":"English: No non-blocked requests logged for this page"
|
||
},
|
||
"logBehindTheScene":{
|
||
"message":"Por trás da cena",
|
||
"description":"Pretty name for behind-the-scene network requests"
|
||
},
|
||
"logFilterPrompt":{
|
||
"message":"filtrar entradas de registro",
|
||
"description":"English: filter log entries"
|
||
},
|
||
"logMaxEntriesTip":{
|
||
"message":"Número máximo de entradas de registro",
|
||
"description":"Tooltip informaing that the input field is to set the maximum number of entries in the log"
|
||
},
|
||
"aboutChangelog":{
|
||
"message":"Registro de alterações",
|
||
"description":"English: Change log"
|
||
},
|
||
"aboutWiki":{
|
||
"message":"Wiki",
|
||
"description":"English: project' wiki on Github"
|
||
},
|
||
"aboutCode":{
|
||
"message":"Código-fonte (GPLv3)",
|
||
"description":"English: Source code (GPLv3)"
|
||
},
|
||
"aboutContributors":{
|
||
"message":"Contribuidores",
|
||
"description":"English: Contributors"
|
||
},
|
||
"aboutBackupDataButton":{
|
||
"message":"Backup do arquivo",
|
||
"description":"English: Backup to file"
|
||
},
|
||
"aboutBackupFilename":{
|
||
"message":"meu-ublock-backup_{{datetime}}.txt",
|
||
"description":"English: my-ublock-backup_{{datetime}}.txt"
|
||
},
|
||
"aboutRestoreDataButton":{
|
||
"message":"Restaurar do arquivo...",
|
||
"description":"English: Restore from file..."
|
||
},
|
||
"aboutResetDataButton":{
|
||
"message":"Restaurar as configurações padrão...",
|
||
"description":"English: Reset to default settings..."
|
||
},
|
||
"aboutRestoreDataConfirm":{
|
||
"message":"Todas as suas configurações serão substituídas pelos dados do backup salvo em {{time}}, e o uBlock será reiniciado. \n\nDeseja substituir todas as configurações existentes usando os dados do backup?",
|
||
"description":"Message asking user to confirm restore"
|
||
},
|
||
"aboutRestoreDataError":{
|
||
"message":"Os dados não podem ser lidos ou são inválidos",
|
||
"description":"Message to display when an error occurred during restore"
|
||
},
|
||
"aboutResetDataConfirm":{
|
||
"message":"Todas as suas configurações serão apagadas, e o uBlock será reiniciado. \n\nDeseja restaurar as configurações de fábrica do uBlock?",
|
||
"description":"Message asking user to confirm reset"
|
||
},
|
||
"errorCantConnectTo":{
|
||
"message":"Não foi possível conectar à {{url}}",
|
||
"description":"English: Network error: unable to connect to {{url}}"
|
||
},
|
||
"subscriberConfirm":{
|
||
"message":"uBlock: Adicionar a seguinte URL à sua lista de filtros personalizados?\n\nTítulo: \"{{title}}\"\nURL: {{url}}",
|
||
"description":"English: The message seen by the user to confirm subscription to a ABP filter list"
|
||
},
|
||
"elapsedOneMinuteAgo":{
|
||
"message":"um minuto atrás",
|
||
"description":"English: a minute ago"
|
||
},
|
||
"elapsedManyMinutesAgo":{
|
||
"message":"{{value}} minutos atrás",
|
||
"description":"English: {{value}} minutes ago"
|
||
},
|
||
"elapsedOneHourAgo":{
|
||
"message":"uma hora atrás",
|
||
"description":"English: an hour ago"
|
||
},
|
||
"elapsedManyHoursAgo":{
|
||
"message":"{{value}} horas atrás",
|
||
"description":"English: {{value}} hours ago"
|
||
},
|
||
"elapsedOneDayAgo":{
|
||
"message":"um dia atrás",
|
||
"description":"English: a day ago"
|
||
},
|
||
"elapsedManyDaysAgo":{
|
||
"message":"{{value}} dias atrás",
|
||
"description":"English: {{value}} days ago"
|
||
},
|
||
"showDashboardButton":{
|
||
"message":"Mostrar Painel",
|
||
"description":"Firefox\/Fennec-specific: Show Dashboard"
|
||
},
|
||
"showNetworkLogButton":{
|
||
"message":"Mostrar Registro de Pedidos de Rede",
|
||
"description":"Firefox\/Fennec-specific: Show Network Request Log"
|
||
},
|
||
"fennecMenuItemBlockingOff":{
|
||
"message":"desativado",
|
||
"description":"Firefox-specific: appears as 'uBlock (off)'"
|
||
},
|
||
"dummy":{
|
||
"message":"Esta entrada deve ser a última",
|
||
"description":"so we dont need to deal with comma for last entry"
|
||
}
|
||
} |