Skip to content

Product: split translation into in-group vs Language Threads #9

Description

@daopunk

Goal

Treat translation as two products, not one:

Product Audience Behavior
In-group translation Smaller / V1 use case Translate (or dual-post) inside a single Signal group — the original product shape (!translate-on / per-user-in-group, etc.)
Language Threads High-functioning large mutual-aid groups Parallel sidecar groups per language, bridged to a bilingual main chat

This branch / PR implements Language Threads. In-group translation should be a separate product that can ship and deploy on its own timeline.

Why

  • Language Threads optimize for scale and monolingual lanes (many members, many langs, less dual-posting in main).
  • In-group translation optimizes for one room, simpler mental model, V1 behavior organizers already know.
  • Shipping both in one bot binary/CVM blurs product boundaries and ops (memory, feature flags, support).

Scope

  • Document and name the two products clearly (user-facing + ops).
  • Package / configure in-group translation so it can run without Language Thread sidecar APIs.
  • Package / configure Language Threads so it can run without requiring in-group !translate-on as the primary path.
  • Separate deploy stories (compose/env/CVM) where it helps; shared Signal CLI still allowed if contracts stay clean.
  • Re-enable or restore in-group commands in the in-group product (currently unregistered on the Language Threads alpha surface).

Interoperability

  • Transcription (separate product / CVM) should work with either translation product — see the transcription issue.
  • The two translation products do not need to be mutually composable in one chat (pick one translation mode per deployment / group). They should both compose with transcription.

Related

Acceptance hints

  • Clear README / docs per product
  • An operator can deploy Language Threads without enabling in-group auto-translate, and vice versa
  • Transcription CVM can be pointed at either product via documented config

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions