Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 145 additions & 0 deletions crates/tui/src/localization.rs
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,22 @@ pub const PLANNED_QA_LOCALES: &[LocaleSpec] = &[
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum MessageId {
ComposerPlaceholder,
ComposerTitle,
ComposerTitleDraft,
ComposerEmptyHeader,
ComposerEmptyModel,
ComposerEmptyDir,
ComposerSlashHintMove,
ComposerSlashHintAccept,
ComposerSlashHintClose,
ComposerSubmitSend,
ComposerSubmitOffline,
ComposerSubmitQueueWait,
ComposerSubmitQueueNext,
ComposerSubmitSteering,
ComposerSubmitQueued,
ComposerModelDesc,
ComposerUserCmdDesc,
HistorySearchPlaceholder,
HistorySearchTitle,
HistoryHintMove,
Expand Down Expand Up @@ -553,6 +569,22 @@ pub enum MessageId {
#[allow(dead_code)]
pub const ALL_MESSAGE_IDS: &[MessageId] = &[
MessageId::ComposerPlaceholder,
MessageId::ComposerTitle,
MessageId::ComposerTitleDraft,
MessageId::ComposerEmptyHeader,
MessageId::ComposerEmptyModel,
MessageId::ComposerEmptyDir,
MessageId::ComposerSlashHintMove,
MessageId::ComposerSlashHintAccept,
MessageId::ComposerSlashHintClose,
MessageId::ComposerSubmitSend,
MessageId::ComposerSubmitOffline,
MessageId::ComposerSubmitQueueWait,
MessageId::ComposerSubmitQueueNext,
MessageId::ComposerSubmitSteering,
MessageId::ComposerSubmitQueued,
MessageId::ComposerModelDesc,
MessageId::ComposerUserCmdDesc,
MessageId::HistorySearchPlaceholder,
MessageId::HistorySearchTitle,
MessageId::HistoryHintMove,
Expand Down Expand Up @@ -1055,6 +1087,22 @@ fn fallback_translation(candidate: Option<&'static str>, id: MessageId) -> &'sta
fn english(id: MessageId) -> &'static str {
match id {
MessageId::ComposerPlaceholder => "Write a task or use /.",
MessageId::ComposerTitle => "Composer",
MessageId::ComposerTitleDraft => "Draft",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model to switch",
MessageId::ComposerEmptyDir => "directory: {workspace}",
MessageId::ComposerSlashHintMove => "Up/Down move ",
MessageId::ComposerSlashHintAccept => "Tab accept ",
MessageId::ComposerSlashHintClose => "Esc close",
MessageId::ComposerSubmitSend => "\u{21b5} send ({count} queued)",
MessageId::ComposerSubmitOffline => "\u{21b5} offline queue",
MessageId::ComposerSubmitQueueWait => "\u{21b5} queue ({count} waiting)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} queue for next turn",
MessageId::ComposerSubmitSteering => "\u{21b5} steering (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} queued (Ctrl+Enter to steer)",
MessageId::ComposerModelDesc => "Switch to this model",
MessageId::ComposerUserCmdDesc => "User-defined command",
MessageId::HistorySearchPlaceholder => "Search prompt history...",
MessageId::HistorySearchTitle => "History Search",
MessageId::HistoryHintMove => "Up/Down move",
Expand Down Expand Up @@ -1523,6 +1571,22 @@ fn translation(locale: Locale, id: MessageId) -> Option<&'static str> {
fn vietnamese(id: MessageId) -> Option<&'static str> {
Some(match id {
MessageId::ComposerPlaceholder => "Nhập nhiệm vụ hoặc sử dụng /.",
MessageId::ComposerTitle => "Soạn thảo",
MessageId::ComposerTitleDraft => "Bản nháp",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model để chuyển",
MessageId::ComposerEmptyDir => "thư mục: {workspace}",
MessageId::ComposerSlashHintMove => "Lên/Xuống di chuyển ",
MessageId::ComposerSlashHintAccept => "Tab chấp nhận ",
MessageId::ComposerSlashHintClose => "Esc đóng",
MessageId::ComposerSubmitSend => "\u{21b5} gửi ({count} đã xếp hàng)",
MessageId::ComposerSubmitOffline => "\u{21b5} hàng đợi ngoại tuyến",
MessageId::ComposerSubmitQueueWait => "\u{21b5} xếp hàng ({count} đang chờ)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} xếp hàng cho lượt tiếp theo",
MessageId::ComposerSubmitSteering => "\u{21b5} điều hướng (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} đã xếp hàng (Ctrl+Enter để điều hướng)",
MessageId::ComposerModelDesc => "Chuyển sang mô hình này",
MessageId::ComposerUserCmdDesc => "Lệnh do người dùng định nghĩa",
MessageId::HistorySearchPlaceholder => "Tìm kiếm lịch sử câu lệnh...",
MessageId::HistorySearchTitle => "Tìm kiếm lịch sử",
MessageId::HistoryHintMove => "Lên/Xuống để di chuyển",
Expand Down Expand Up @@ -2019,6 +2083,23 @@ fn traditional_chinese(id: MessageId) -> Option<&'static str> {
MessageId::FanoutCounts => {
"{done} 已完成 · {running} 運行中 · {failed} 失敗 · {pending} 等待中"
}
MessageId::ComposerPlaceholder => "編寫任務或使用 /。",
MessageId::ComposerTitle => "編輯器",
MessageId::ComposerTitleDraft => "草稿",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model 切換",
MessageId::ComposerEmptyDir => "目錄: {workspace}",
MessageId::ComposerSlashHintMove => "上/下移動 ",
MessageId::ComposerSlashHintAccept => "Tab 接受 ",
MessageId::ComposerSlashHintClose => "Esc 關閉",
MessageId::ComposerSubmitSend => "\u{21b5} 發送 ({count} 排隊中)",
MessageId::ComposerSubmitOffline => "\u{21b5} 離線佇列",
MessageId::ComposerSubmitQueueWait => "\u{21b5} 排隊 ({count} 等待中)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} 排隊等待下一輪",
MessageId::ComposerSubmitSteering => "\u{21b5} 轉向 (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} 已排隊 (Ctrl+Enter 轉向)",
MessageId::ComposerModelDesc => "切換到該模型",
MessageId::ComposerUserCmdDesc => "使用者自訂命令",

MessageId::CtxInspTitle => "上下文檢查器",
MessageId::CtxInspSessionContext => "會話上下文",
Expand Down Expand Up @@ -2074,6 +2155,22 @@ fn traditional_chinese(id: MessageId) -> Option<&'static str> {
fn japanese(id: MessageId) -> Option<&'static str> {
Some(match id {
MessageId::ComposerPlaceholder => "タスクを書くか / を使う。",
MessageId::ComposerTitle => "コンポーザー",
MessageId::ComposerTitleDraft => "下書き",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model で切り替え",
MessageId::ComposerEmptyDir => "ディレクトリ: {workspace}",
MessageId::ComposerSlashHintMove => "上/下で移動 ",
MessageId::ComposerSlashHintAccept => "Tabで確定 ",
MessageId::ComposerSlashHintClose => "Escで閉じる",
MessageId::ComposerSubmitSend => "\u{21b5} 送信 ({count} キュー中)",
MessageId::ComposerSubmitOffline => "\u{21b5} オフラインキュー",
MessageId::ComposerSubmitQueueWait => "\u{21b5} キュー ({count} 待機中)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} 次のターンにキュー",
MessageId::ComposerSubmitSteering => "\u{21b5} ステアリング (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} キュー済み (Ctrl+Enterでステアリング)",
MessageId::ComposerModelDesc => "このモデルに切り替える",
MessageId::ComposerUserCmdDesc => "ユーザー定義コマンド",
MessageId::HistorySearchPlaceholder => "プロンプト履歴を検索...",
MessageId::HistorySearchTitle => "履歴検索",
MessageId::HistoryHintMove => "Up/Down 移動",
Expand Down Expand Up @@ -2534,6 +2631,22 @@ fn japanese(id: MessageId) -> Option<&'static str> {
fn chinese_simplified(id: MessageId) -> Option<&'static str> {
Some(match id {
MessageId::ComposerPlaceholder => "编写任务或使用 /。",
MessageId::ComposerTitle => "编辑器",
MessageId::ComposerTitleDraft => "草稿",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model 切换",
MessageId::ComposerEmptyDir => "目录: {workspace}",
MessageId::ComposerSlashHintMove => "上/下移动 ",
MessageId::ComposerSlashHintAccept => "Tab 接受 ",
MessageId::ComposerSlashHintClose => "Esc 关闭",
MessageId::ComposerSubmitSend => "\u{21b5} 发送 ({count} 排队中)",
MessageId::ComposerSubmitOffline => "\u{21b5} 离线队列",
MessageId::ComposerSubmitQueueWait => "\u{21b5} 排队 ({count} 等待中)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} 排队等待下一轮",
MessageId::ComposerSubmitSteering => "\u{21b5} 转向 (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} 已排队 (Ctrl+Enter 转向)",
MessageId::ComposerModelDesc => "切换到该模型",
MessageId::ComposerUserCmdDesc => "用户自定义命令",
MessageId::HistorySearchPlaceholder => "搜索提示历史...",
MessageId::HistorySearchTitle => "历史搜索",
MessageId::HistoryHintMove => "Up/Down 移动",
Expand Down Expand Up @@ -2936,6 +3049,22 @@ fn chinese_simplified(id: MessageId) -> Option<&'static str> {
fn portuguese_brazil(id: MessageId) -> Option<&'static str> {
Some(match id {
MessageId::ComposerPlaceholder => "Escreva uma tarefa ou use /.",
MessageId::ComposerTitle => "Compositor",
MessageId::ComposerTitleDraft => "Rascunho",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model para trocar",
MessageId::ComposerEmptyDir => "diretório: {workspace}",
MessageId::ComposerSlashHintMove => "Cima/Baixo move ",
MessageId::ComposerSlashHintAccept => "Tab aceita ",
MessageId::ComposerSlashHintClose => "Esc fecha",
MessageId::ComposerSubmitSend => "\u{21b5} enviar ({count} na fila)",
MessageId::ComposerSubmitOffline => "\u{21b5} fila offline",
MessageId::ComposerSubmitQueueWait => "\u{21b5} fila ({count} aguardando)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} fila para a próxima rodada",
MessageId::ComposerSubmitSteering => "\u{21b5} direcionar (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} na fila (Ctrl+Enter para direcionar)",
MessageId::ComposerModelDesc => "Trocar para este modelo",
MessageId::ComposerUserCmdDesc => "Comando definido pelo usuário",
MessageId::HistorySearchPlaceholder => "Pesquisar histórico de prompts...",
MessageId::HistorySearchTitle => "Busca no histórico",
MessageId::HistoryHintMove => "Up/Down move",
Expand Down Expand Up @@ -3420,6 +3549,22 @@ fn portuguese_brazil(id: MessageId) -> Option<&'static str> {
fn spanish_latin_america(id: MessageId) -> Option<&'static str> {
Some(match id {
MessageId::ComposerPlaceholder => "Escribe una tarea o usa /.",
MessageId::ComposerTitle => "Compositor",
MessageId::ComposerTitleDraft => "Borrador",
MessageId::ComposerEmptyHeader => ">_ codewhale (v{version})",
MessageId::ComposerEmptyModel => "model: {name} /model para cambiar",
MessageId::ComposerEmptyDir => "directorio: {workspace}",
MessageId::ComposerSlashHintMove => "Arriba/Abajo mover ",
MessageId::ComposerSlashHintAccept => "Tab aceptar ",
MessageId::ComposerSlashHintClose => "Esc cerrar",
MessageId::ComposerSubmitSend => "\u{21b5} enviar ({count} en cola)",
MessageId::ComposerSubmitOffline => "\u{21b5} cola fuera de línea",
MessageId::ComposerSubmitQueueWait => "\u{21b5} cola ({count} esperando)",
MessageId::ComposerSubmitQueueNext => "\u{21b5} cola para la próxima ronda",
MessageId::ComposerSubmitSteering => "\u{21b5} dirigir (Ctrl+Enter)",
MessageId::ComposerSubmitQueued => "\u{21b5} en cola (Ctrl+Enter para dirigir)",
MessageId::ComposerModelDesc => "Cambiar a este modelo",
MessageId::ComposerUserCmdDesc => "Comando definido por el usuario",
MessageId::HistorySearchPlaceholder => "Buscar en el historial de prompts...",
MessageId::HistorySearchTitle => "Búsqueda en el historial",
MessageId::HistoryHintMove => "Arriba/Abajo mover",
Expand Down
Loading
Loading