Back to home@negriniainda

dsh-locale-ptbr

Brazilian Portuguese (pt-BR) locale plugin for DeepSeek Harness — translates the Web UI and auto-activates for Portuguese browsers.

Stars
0
Language
JavaScript
Created
Aug 17, 2026
Updated
Aug 17, 2026
GitHub repo

Introduction

@negriniainda/dsh-locale-ptbr

Plugin de Português do Brasil (pt-BR) para o DeepSeek Harness (DSH).

Traduz a interface web (menus, configurações, conversa, barra lateral, espaços de trabalho, subagentes, fluxos de trabalho etc.) para português brasileiro e ativa o idioma automaticamente em navegadores configurados em português.

Status: o runtime oficial de idiomas do DSH embute apenas zh e en e não expõe uma API pública para registrar um terceiro idioma selecionável. Este plugin registra os dicionários via API pública e aplica uma pequena ponte isolada para tornar pt-BR selecionável e ativá-lo automaticamente. Veja UPSTREAM.md para o caminho de suporte de primeira classe.

Instalação

dsh plugin --profile web add @negriniainda/dsh-locale-ptbr

Como funciona

  • Registro dos dicionárioslib/dicts.js contém a tradução completa, namespace por namespace, espelhando os conjuntos de chaves en/zh oficiais. O cliente (lib/client.js, gerado) registra cada dicionário no runtime de idiomas via locale.register(ns, 'pt-BR', dict).
  • Ponte de ativação — como a lista de idiomas selecionáveis está congelada em zh/en, o plugin adiciona pt-BR à lista e ativa o idioma quando o navegador está em português e o usuário não fez uma escolha explícita de zh/en. A ponte é defensiva (com feature detection e try/catch): se o upstream mudar a estrutura interna, o plugin degrada sem quebrar nada — os dicionários continuam registrados e prontos.

Comportamento

CenárioResultado
Navegador em pt/pt-BR/pt-PT, sem escolha explícitaInterface em pt-BR automaticamente
Usuário escolheu English ou 中文 nas ConfiguraçõesA escolha explícita é respeitada
Usuário seleciona Português (Brasil) no menu de idiomaInterface muda para pt-BR na sessão

Limitações conhecidas

  • A seleção manual de Português (Brasil) vale para a sessão atual; como o schema oficial de preferência só aceita zh/en, o valor pt-BR não persiste no arquivo de configurações oficial. A ativação automática por navegador em português cobre o caso mais comum.
  • Alguns textos fixos ainda não passam pelo runtime de idiomas (mesma limitação documentada pelo próprio dsh-client-locale). A cobertura melhora conforme o upstream expõe mais textos via locale seats.

Arquivos

  • lib/dicts.js — todos os dicionários pt-BR (fonte de verdade; editável).
  • lib/client.js — plugin do navegador gerado por scripts/build.mjs (formato do carregador).
  • lib/index.js — lado host (no-op intencional).
  • cordis.patch.yml — camada do bundle (insere o plugin na composição).
  • scripts/build.mjs — gera lib/client.js a partir de lib/dicts.js.
  • STRINGS.md — lista completa para revisão (original em inglês × tradução).
  • UPSTREAM.md — mudanças para tornar pt-BR um idioma de primeira classe no repositório oficial.

Publicação / distribuição

O DSH não tem um repositório central de plugins (marketplace). "Publicar" = distribuir o pacote por um dos canais abaixo e marcar o repositório do GitHub com o tópico dsh-plugin para descoberta (é o que o CONTRIBUTING.md oficial recomenda).

O pacote já está no formato de bundle (dsh.bundle + cordis.patch.yml) e de plugin de navegador (dsh.client + lib/client.js pré-compilado), então o dsh plugin add o ativa como uma camada.

# 1. Local (checkout)
dsh plugin --profile web add ./dsh-locale-ptbr

# 2. Tarball (sem registrar nada)
pnpm pack                                   # gera negriniainda-dsh-locale-ptbr-0.1.2.tgz
dsh plugin --profile web add ./negriniainda-dsh-locale-ptbr-0.1.2.tgz

# 3. npm (recomendado para distribuição pública)
npm publish                                 # roda `prepare` → reconstrói lib/client.js
dsh plugin --profile web add @negriniainda/dsh-locale-ptbr

# 4. GitHub direto (pnpm ≥10 pede allowlist para o script `prepare`)
dsh plugin --profile web add github:negriniainda/dsh-locale-ptbr

Sempre que editar lib/dicts.js, rode node scripts/build.mjs (ou pnpm build) para regenerar lib/client.js antes de publicar.

Revisão

Se você fala português nativamente, revise STRINGS.md e envie correções de terminologia — os termos centrais usados foram: sessão, espaço de trabalho, subagente, predefinição, provedor, chave de API, janela de contexto, Acesso total.