salvage(#51128): translate new session-filter strings across 17 locales; expose public get_session_rich_row for search hydration

This commit is contained in:
Teknium 2026-07-28 21:52:52 -07:00
parent eb087b3089
commit 3ab583044a
18 changed files with 105 additions and 90 deletions

View File

@ -5366,7 +5366,7 @@ async def search_sessions(
payload["session_id"] = sid
payload["lineage_root"] = root
try:
row = db._get_session_rich_row(sid)
row = db.get_session_rich_row(sid)
except Exception:
row = None
if row:

View File

@ -6863,6 +6863,15 @@ class SessionDB:
s["preview"] = _shape_preview(s.pop("_preview_raw", ""))
return s
def get_session_rich_row(self, session_id: str, compact_rows: bool = False) -> Optional[Dict[str, Any]]:
"""Public wrapper for :meth:`_get_session_rich_row`.
Exposes the single-session enriched row (same columns as
``list_sessions_rich``: preview + last_active) for callers outside
this module, e.g. the web server's session-search hydration.
"""
return self._get_session_rich_row(session_id, compact_rows=compact_rows)
def list_skill_scaffolded_sessions(self, limit: int = 200) -> List[Dict[str, Any]]:
"""Titled sessions whose first user turn was a ``/skill`` invocation.

View File

@ -129,14 +129,14 @@ export const af: Translations = {
title: "Sessies",
history: "Geskiedenis",
overview: "Oorsig",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Geselse",
filterAutomation: "Outomatisering",
filterAll: "Alles",
sourceFilter: "Sessiebron",
anySource: "Enige bron",
searchPlaceholder: "Soek boodskap-inhoud...",
noSessions: "Nog geen sessies nie",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Geen sessies in hierdie filter nie",
noMatch: "Geen sessies stem ooreen met jou soektog nie",
startConversation: "Begin 'n gesprek om dit hier te sien",
noMessages: "Geen boodskappe",

View File

@ -127,8 +127,14 @@ export const ar = defineLocale({
sessions: {
title: "الجلسات",
filterChats: "الدردشات",
filterAutomation: "الأتمتة",
filterAll: "الكل",
sourceFilter: "مصدر الجلسة",
anySource: "أي مصدر",
noSessionsInFilter: "لا توجد جلسات في هذا الفلتر",
searchPlaceholder: "بحث في محتوى الرسائل...",
noSessions: "لا توجد جلسات حتى الآن",
noSessions: "لا توجد جلسات حتى الآن",
noMatch: "لا توجد جلسات تطابق بحثك",
startConversation: "ابدأ محادثة لتظهر هنا",
noMessages: "لا توجد رسائل",

View File

@ -130,13 +130,13 @@ export const de: Translations = {
history: "Verlauf",
overview: "Übersicht",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterAutomation: "Automatisierung",
filterAll: "Alle",
sourceFilter: "Sitzungsquelle",
anySource: "Beliebige Quelle",
searchPlaceholder: "Nachrichteninhalt suchen...",
noSessions: "Noch keine Sitzungen",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Keine Sitzungen in diesem Filter",
noMatch: "Keine Sitzungen entsprechen deiner Suche",
startConversation: "Starte eine Unterhaltung, um sie hier zu sehen",
noMessages: "Keine Nachrichten",

View File

@ -130,13 +130,13 @@ export const es: Translations = {
history: "Historial",
overview: "Resumen",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterAutomation: "Automatización",
filterAll: "Todas",
sourceFilter: "Origen de la sesión",
anySource: "Cualquier origen",
searchPlaceholder: "Buscar contenido de mensajes...",
noSessions: "Aún no hay sesiones",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "No hay sesiones en este filtro",
noMatch: "Ninguna sesión coincide con tu búsqueda",
startConversation: "Inicia una conversación para verla aquí",
noMessages: "Sin mensajes",

View File

@ -129,14 +129,14 @@ export const fr: Translations = {
title: "Sessions",
history: "Historique",
overview: "Aperçu",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Discussions",
filterAutomation: "Automatisation",
filterAll: "Toutes",
sourceFilter: "Source de la session",
anySource: "Toute source",
searchPlaceholder: "Rechercher dans les messages...",
noSessions: "Aucune session pour l'instant",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Aucune session dans ce filtre",
noMatch: "Aucune session ne correspond à votre recherche",
startConversation: "Démarrez une conversation pour la voir ici",
noMessages: "Aucun message",

View File

@ -129,14 +129,14 @@ export const ga: Translations = {
title: "Seisiúin",
history: "Stair",
overview: "Forbhreathnú",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Comhráite",
filterAutomation: "Uathoibriú",
filterAll: "Uile",
sourceFilter: "Foinse an tseisiúin",
anySource: "Foinse ar bith",
searchPlaceholder: "Cuardaigh ábhar teachtaireachta...",
noSessions: "Gan seisiúin go fóill",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Níl aon seisiún sa scagaire seo",
noMatch: "Níl seisiún ar bith ag teacht le do chuardach",
startConversation: "Tosaigh comhrá chun é a fheiceáil anseo",
noMessages: "Gan teachtaireachtaí",

View File

@ -129,14 +129,14 @@ export const hu: Translations = {
title: "Munkamenetek",
history: "Előzmények",
overview: "Áttekintés",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Csevegések",
filterAutomation: "Automatizálás",
filterAll: "Összes",
sourceFilter: "Munkamenet forrása",
anySource: "Bármely forrás",
searchPlaceholder: "Keresés üzenettartalomban...",
noSessions: "Még nincsenek munkamenetek",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Nincs munkamenet ebben a szűrőben",
noMatch: "Nincs a keresésnek megfelelő munkamenet",
startConversation: "Indítson egy beszélgetést, hogy itt megjelenjen",
noMessages: "Nincsenek üzenetek",

View File

@ -129,14 +129,14 @@ export const it: Translations = {
title: "Sessioni",
history: "Cronologia",
overview: "Panoramica",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Chat",
filterAutomation: "Automazione",
filterAll: "Tutte",
sourceFilter: "Origine della sessione",
anySource: "Qualsiasi origine",
searchPlaceholder: "Cerca nel contenuto dei messaggi...",
noSessions: "Nessuna sessione",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Nessuna sessione in questo filtro",
noMatch: "Nessuna sessione corrisponde alla ricerca",
startConversation: "Avvia una conversazione per vederla qui",
noMessages: "Nessun messaggio",

View File

@ -129,14 +129,14 @@ export const ja: Translations = {
title: "セッション",
history: "履歴",
overview: "概要",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "チャット",
filterAutomation: "自動化",
filterAll: "すべて",
sourceFilter: "セッションのソース",
anySource: "すべてのソース",
searchPlaceholder: "メッセージ内容を検索...",
noSessions: "まだセッションがありません",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "このフィルターにセッションはありません",
noMatch: "検索条件に一致するセッションはありません",
startConversation: "会話を開始するとここに表示されます",
noMessages: "メッセージがありません",

View File

@ -129,14 +129,14 @@ export const ko: Translations = {
title: "세션",
history: "기록",
overview: "개요",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "채팅",
filterAutomation: "자동화",
filterAll: "전체",
sourceFilter: "세션 소스",
anySource: "모든 소스",
searchPlaceholder: "메시지 내용 검색...",
noSessions: "아직 세션이 없습니다",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "이 필터에 세션이 없습니다",
noMatch: "검색과 일치하는 세션이 없습니다",
startConversation: "대화를 시작하면 여기에 표시됩니다",
noMessages: "메시지가 없습니다",

View File

@ -129,14 +129,14 @@ export const pt: Translations = {
title: "Sessões",
history: "Histórico",
overview: "Visão geral",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Conversas",
filterAutomation: "Automação",
filterAll: "Todas",
sourceFilter: "Origem da sessão",
anySource: "Qualquer origem",
searchPlaceholder: "Pesquisar conteúdo das mensagens...",
noSessions: "Ainda não há sessões",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Nenhuma sessão neste filtro",
noMatch: "Nenhuma sessão corresponde à pesquisa",
startConversation: "Inicie uma conversa para a ver aqui",
noMessages: "Sem mensagens",

View File

@ -129,14 +129,14 @@ export const ru: Translations = {
title: "Сессии",
history: "История",
overview: "Обзор",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Чаты",
filterAutomation: "Автоматизация",
filterAll: "Все",
sourceFilter: "Источник сессии",
anySource: "Любой источник",
searchPlaceholder: "Поиск по содержимому сообщений...",
noSessions: "Сессий пока нет",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "В этом фильтре нет сессий",
noMatch: "Нет сессий, соответствующих запросу",
startConversation: "Начните разговор, чтобы увидеть его здесь",
noMessages: "Нет сообщений",

View File

@ -129,14 +129,14 @@ export const tr: Translations = {
title: "Oturumlar",
history: "Geçmiş",
overview: "Genel bakış",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Sohbetler",
filterAutomation: "Otomasyon",
filterAll: "Tümü",
sourceFilter: "Oturum kaynağı",
anySource: "Herhangi bir kaynak",
searchPlaceholder: "Mesaj içeriğinde ara...",
noSessions: "Henüz oturum yok",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "Bu filtrede oturum yok",
noMatch: "Aramanızla eşleşen oturum yok",
startConversation: "Burada görmek için bir konuşma başlatın",
noMessages: "Mesaj yok",

View File

@ -129,14 +129,14 @@ export const uk: Translations = {
title: "Сесії",
history: "Історія",
overview: "Огляд",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "Чати",
filterAutomation: "Автоматизація",
filterAll: "Усі",
sourceFilter: "Джерело сесії",
anySource: "Будь-яке джерело",
searchPlaceholder: "Пошук у вмісті повідомлень...",
noSessions: "Поки немає сесій",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "У цьому фільтрі немає сесій",
noMatch: "Жодна сесія не відповідає вашому пошуку",
startConversation: "Почніть розмову, щоб побачити її тут",
noMessages: "Немає повідомлень",

View File

@ -129,14 +129,14 @@ export const zhHant: Translations = {
title: "工作階段",
history: "歷史",
overview: "總覽",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "聊天",
filterAutomation: "自動化",
filterAll: "全部",
sourceFilter: "工作階段來源",
anySource: "任何來源",
searchPlaceholder: "搜尋訊息內容...",
noSessions: "尚無工作階段",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "此篩選條件下沒有工作階段",
noMatch: "沒有符合的工作階段",
startConversation: "開始對話後將顯示於此",
noMessages: "尚無訊息",

View File

@ -128,14 +128,14 @@ export const zh: Translations = {
title: "会话",
history: "历史",
overview: "概览",
filterChats: "Chats",
filterAutomation: "Automation",
filterAll: "All",
sourceFilter: "Session source",
anySource: "Any source",
filterChats: "聊天",
filterAutomation: "自动化",
filterAll: "全部",
sourceFilter: "会话来源",
anySource: "任意来源",
searchPlaceholder: "搜索消息内容...",
noSessions: "暂无会话",
noSessionsInFilter: "No sessions in this filter",
noSessionsInFilter: "此筛选条件下暂无会话",
noMatch: "没有匹配的会话",
startConversation: "开始对话后将显示在此处",
noMessages: "暂无消息",