Bundle
@negriniainda/dsh-locale-ptbr
Brazilian Portuguese (pt-BR) locale plugin for DeepSeek Harness — translates the Web UI and auto-activates for Portuguese browsers.
- Source
- negriniainda
- License
- MIT
- Updated
- Updated 20 days ago
Readme
# @negriniainda/dsh-locale-ptbr Plugin de **Português do Brasil (pt-BR)** para o [DeepSeek Harness](https://github.com/deepseek-ai/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](UPSTREAM.md) para o caminho de suporte de primeira classe. ## Instalação ```sh dsh plugin --profile web add @negriniainda/dsh-locale-ptbr ``` ## Como funciona - **Registro dos dicionários** — `lib/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ário | Resultado | |---|---| | Navegador em `pt`/`pt-BR`/`pt-PT`, sem escolha explícita | Interface em **pt-BR** automaticamente | | Usuário escolheu `English` ou `中文` nas Configurações | A escolha explícita é respeitada | | Usuário seleciona `Português (Brasil)` no menu de idioma | Interface 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. ```sh # 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*.
Install
dsh plugin --profile web add github:negriniainda/dsh-locale-ptbr
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install negriniainda-dsh-locale-ptbr from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.