├── icons ├── icon128.png ├── icon16.png └── icon48.png ├── images ├── demo_cn.png ├── demo_en.png ├── demo_ja.png └── logo │ ├── kimi.png │ ├── chatgpt.png │ ├── gemini.png │ ├── tongyi.png │ └── deepseek.png ├── AI-Chat-Timeline-v3.3.0.zip ├── js ├── adapters │ ├── registry.js │ ├── tongyi.js │ ├── doubao.js │ ├── yuanbao.js │ ├── kimi.js │ ├── yiyan.js │ ├── deepseek.js │ ├── base.js │ ├── chatgpt.js │ └── gemini.js ├── container-finder.js ├── main.js └── common.js ├── LICENSE ├── _locales ├── zh_TW │ └── messages.json ├── zh_CN │ └── messages.json ├── ko │ └── messages.json ├── ja │ └── messages.json ├── en │ └── messages.json ├── he │ └── messages.json ├── en_US │ └── messages.json ├── en_GB │ └── messages.json ├── th │ └── messages.json ├── ar │ └── messages.json ├── sr │ └── messages.json ├── da │ └── messages.json ├── is │ └── messages.json ├── km │ └── messages.json ├── bn │ └── messages.json ├── no │ └── messages.json ├── tr │ └── messages.json ├── hr │ └── messages.json ├── pl │ └── messages.json ├── cs │ └── messages.json ├── fi │ └── messages.json ├── ka │ └── messages.json ├── es │ └── messages.json ├── hi │ └── messages.json ├── es_419 │ └── messages.json ├── lv │ └── messages.json ├── sk │ └── messages.json ├── bg │ └── messages.json ├── hy │ └── messages.json ├── id │ └── messages.json ├── az │ └── messages.json ├── kk │ └── messages.json ├── ro │ └── messages.json ├── si │ └── messages.json ├── sv │ └── messages.json ├── uk │ └── messages.json ├── nl │ └── messages.json ├── pt_BR │ └── messages.json ├── de │ └── messages.json ├── ms │ └── messages.json ├── hu │ └── messages.json ├── it │ └── messages.json ├── lt │ └── messages.json ├── ru │ └── messages.json ├── fr │ └── messages.json ├── vi │ └── messages.json ├── pt_PT │ └── messages.json ├── ne │ └── messages.json ├── my │ └── messages.json ├── fr_CA │ └── messages.json ├── el │ └── messages.json └── fil │ └── messages.json ├── manifest.json ├── README.zh_CN.md ├── README.ja.md └── README.md /icons/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/icons/icon128.png -------------------------------------------------------------------------------- /icons/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/icons/icon16.png -------------------------------------------------------------------------------- /icons/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/icons/icon48.png -------------------------------------------------------------------------------- /images/demo_cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/demo_cn.png -------------------------------------------------------------------------------- /images/demo_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/demo_en.png -------------------------------------------------------------------------------- /images/demo_ja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/demo_ja.png -------------------------------------------------------------------------------- /images/logo/kimi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/logo/kimi.png -------------------------------------------------------------------------------- /images/logo/chatgpt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/logo/chatgpt.png -------------------------------------------------------------------------------- /images/logo/gemini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/logo/gemini.png -------------------------------------------------------------------------------- /images/logo/tongyi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/logo/tongyi.png -------------------------------------------------------------------------------- /images/logo/deepseek.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/images/logo/deepseek.png -------------------------------------------------------------------------------- /AI-Chat-Timeline-v3.3.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/houyanchao/AITimeline/HEAD/AI-Chat-Timeline-v3.3.0.zip -------------------------------------------------------------------------------- /js/adapters/registry.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Adapter Registry 3 | * 4 | * Manages all site adapters and provides auto-detection 5 | */ 6 | 7 | class SiteAdapterRegistry { 8 | constructor() { 9 | this.adapters = [ 10 | new ChatGPTAdapter(), 11 | new GeminiAdapter(), 12 | new DoubaoAdapter(), 13 | new DeepSeekAdapter(), 14 | new YiyanAdapter(), 15 | new TongyiAdapter(), 16 | new KimiAdapter(), 17 | new YuanbaoAdapter(), 18 | // Add more adapters here in the future 19 | ]; 20 | } 21 | 22 | /** 23 | * Detect and return the appropriate adapter for current site 24 | * @returns {SiteAdapter|null} 25 | */ 26 | detectAdapter() { 27 | const url = location.href; 28 | for (const adapter of this.adapters) { 29 | if (adapter.matches(url)) { 30 | return adapter; 31 | } 32 | } 33 | return null; 34 | } 35 | 36 | /** 37 | * Check if current site is supported 38 | * @returns {boolean} 39 | */ 40 | isSupportedSite() { 41 | return this.detectAdapter() !== null; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Based on chatgpt-conversation-timeline 4 | Copyright (c) 2025 Reborn14 5 | 6 | Modifications and enhancements 7 | Copyright (c) 2025 hou 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. -------------------------------------------------------------------------------- /_locales/zh_TW/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - 為 AI 對話添加互動式時間軸,支援 ChatGPT、Gemini、DeepSeek 等平台" 4 | }, 5 | "extDescription": { 6 | "message": "讓你跟 AI 聊天的效率直接翻倍!給 ChatGPT、Gemini、DeepSeek 添加互動式時間軸,🚀輕鬆跳轉至任意對話,📌標記重點對話,⭐️收藏重要聊天。" 7 | }, 8 | "viewStarred": { 9 | "message": "檢視收藏" 10 | }, 11 | "starredList": { 12 | "message": "收藏清單" 13 | }, 14 | "close": { 15 | "message": "關閉" 16 | }, 17 | "clickToStar": { 18 | "message": "收藏提問" 19 | }, 20 | "clickToUnstar": { 21 | "message": "取消收藏提問" 22 | }, 23 | "noStarredItems": { 24 | "message": "暫無收藏" 25 | }, 26 | "goTo": { 27 | "message": "前往" 28 | }, 29 | "goToTooltip": { 30 | "message": "前往聊天詳情頁" 31 | }, 32 | "copied": { 33 | "message": "已複製" 34 | }, 35 | "starChat": { 36 | "message": "收藏聊天" 37 | }, 38 | "unstarChat": { 39 | "message": "取消收藏聊天" 40 | }, 41 | "inputChatTheme": { 42 | "message": "請輸入收藏標題:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "請輸入" 46 | }, 47 | "cancel": { 48 | "message": "取消" 49 | }, 50 | "confirm": { 51 | "message": "確定" 52 | }, 53 | "themeRequired": { 54 | "message": "主題不能為空" 55 | }, 56 | "unstar": { 57 | "message": "取消收藏" 58 | }, 59 | "viewStarredList": { 60 | "message": "檢視收藏清單" 61 | }, 62 | "edit": { 63 | "message": "編輯" 64 | }, 65 | "editStarredContent": { 66 | "message": "編輯收藏標題" 67 | }, 68 | "contentRequired": { 69 | "message": "內容不能為空" 70 | }, 71 | "dataStorageNote": { 72 | "message": "所有資料儲存在您的瀏覽器本機,不上傳伺服器" 73 | }, 74 | "projectOpenSource": { 75 | "message": "本項目已開源,歡迎" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "如果對您有幫助,歡迎推薦給朋友" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome 應用商店" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/zh_CN/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - 为 AI 对话添加交互式时间轴,支持 ChatGPT、Gemini、DeepSeek、Claude 等" 4 | }, 5 | "extDescription": { 6 | "message": "让你跟 AI 聊天的效率直接翻倍!给 ChatGPT、Gemini、DeepSeek 添加交互式时间轴,🚀轻松跳转至任意对话,📌标记重点对话,⭐️收藏重要聊天。" 7 | }, 8 | "viewStarred": { 9 | "message": "查看收藏" 10 | }, 11 | "starredList": { 12 | "message": "收藏列表" 13 | }, 14 | "close": { 15 | "message": "关闭" 16 | }, 17 | "clickToStar": { 18 | "message": "收藏提问" 19 | }, 20 | "clickToUnstar": { 21 | "message": "取消收藏提问" 22 | }, 23 | "starChat": { 24 | "message": "收藏聊天" 25 | }, 26 | "unstarChat": { 27 | "message": "取消收藏聊天" 28 | }, 29 | "noStarredItems": { 30 | "message": "暂无收藏" 31 | }, 32 | "goTo": { 33 | "message": "前往" 34 | }, 35 | "goToTooltip": { 36 | "message": "前往聊天详情页" 37 | }, 38 | "copied": { 39 | "message": "已复制" 40 | }, 41 | "inputChatTheme": { 42 | "message": "请输入收藏标题:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "请输入" 46 | }, 47 | "cancel": { 48 | "message": "取消" 49 | }, 50 | "confirm": { 51 | "message": "确定" 52 | }, 53 | "themeRequired": { 54 | "message": "主题不能为空" 55 | }, 56 | "unstar": { 57 | "message": "取消收藏" 58 | }, 59 | "viewStarredList": { 60 | "message": "查看收藏列表" 61 | }, 62 | "edit": { 63 | "message": "编辑" 64 | }, 65 | "editStarredContent": { 66 | "message": "编辑收藏标题" 67 | }, 68 | "contentRequired": { 69 | "message": "内容不能为空" 70 | }, 71 | "dataStorageNote": { 72 | "message": "所有数据存储在您的浏览器本地,不上传服务器" 73 | }, 74 | "projectOpenSource": { 75 | "message": "本项目已开源,欢迎" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "如果对您有帮助,欢迎推荐给朋友" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome 应用商店" 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /js/adapters/tongyi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Tongyi (通义千问) Adapter 3 | * 4 | * Supports: tongyi.com 5 | * Features: 使用 class 前缀识别用户消息和文本内容 6 | */ 7 | 8 | class TongyiAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | } 12 | 13 | matches(url) { 14 | return url.includes('tongyi.com'); 15 | } 16 | 17 | getUserMessageSelector() { 18 | // 基于 class 前缀 "questionItem" 识别用户消息容器 19 | return '[class*="questionItem"]'; 20 | } 21 | 22 | generateTurnId(element, index) { 23 | return `tongyi-${index}`; 24 | } 25 | 26 | extractText(element) { 27 | // 文本在 bubble-- 开头的 class 中 28 | const bubble = element.querySelector('[class*="bubble"]'); 29 | return bubble?.textContent?.trim() || element.textContent?.trim() || ''; 30 | } 31 | 32 | isConversationRoute(pathname) { 33 | // 通义千问对话 URL: /?sessionId={id} 34 | return location.search.includes('sessionId='); 35 | } 36 | 37 | extractConversationId(pathname) { 38 | try { 39 | // 从 URL 参数中提取 sessionId 40 | const params = new URLSearchParams(location.search); 41 | return params.get('sessionId'); 42 | } catch { 43 | return null; 44 | } 45 | } 46 | 47 | findConversationContainer(firstMessage) { 48 | // 使用统一的容器查找策略 49 | return ContainerFinder.findConversationContainer(firstMessage); 50 | } 51 | 52 | getTimelinePosition() { 53 | // 通义千问位置配置 54 | return { 55 | top: '120px', // 避开顶部导航栏 56 | right: '22px', // 右侧边距 57 | bottom: '120px', // 避开底部输入框 58 | }; 59 | } 60 | 61 | getStarChatButtonTarget() { 62 | // 返回 notifyContent 元素,收藏按钮将插入到它前面(左边) 63 | return document.querySelector('[class*="notifyContent"]'); 64 | } 65 | 66 | getDefaultChatTheme() { 67 | // 通义千问默认主题为空 68 | return ''; 69 | } 70 | } 71 | 72 | -------------------------------------------------------------------------------- /_locales/ko/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - AI 대화에 인터랙티브 타임라인 추가, ChatGPT, DeepSeek 등 지원" 4 | }, 5 | "extDescription": { 6 | "message": "AI 채팅 효율성을 2배로! ChatGPT, Gemini, DeepSeek에 대화식 타임라인 추가, 🚀 원하는 대화로 쉽게 이동, 📌 주요 대화 표시, ⭐️ 중요한 채팅 즐겨찾기." 7 | }, 8 | "viewStarred": { 9 | "message": "즐겨찾기 보기" 10 | }, 11 | "starredList": { 12 | "message": "내 즐겨찾기" 13 | }, 14 | "close": { 15 | "message": "닫기" 16 | }, 17 | "clickToStar": { 18 | "message": "클릭하여 즐겨찾기에 추가" 19 | }, 20 | "clickToUnstar": { 21 | "message": "클릭하여 즐겨찾기에서 제거" 22 | }, 23 | "noStarredItems": { 24 | "message": "즐겨찾기 없음" 25 | }, 26 | "goTo": { 27 | "message": "이동" 28 | }, 29 | "goToTooltip": { 30 | "message": "채팅 세부정보로 이동" 31 | }, 32 | "copied": { 33 | "message": "복사됨" 34 | }, 35 | "starChat": { 36 | "message": "채팅 즐겨찾기" 37 | }, 38 | "unstarChat": { 39 | "message": "채팅 즐겨찾기 취소" 40 | }, 41 | "inputChatTheme": { 42 | "message": "즐겨찾기 제목 입력:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "입력하세요" 46 | }, 47 | "cancel": { 48 | "message": "취소" 49 | }, 50 | "confirm": { 51 | "message": "확인" 52 | }, 53 | "themeRequired": { 54 | "message": "주제를 입력해야 합니다" 55 | }, 56 | "unstar": { 57 | "message": "즐겨찾기 취소" 58 | }, 59 | "viewStarredList": { 60 | "message": "즐겨찾기 목록 보기" 61 | }, 62 | "edit": { 63 | "message": "편집" 64 | }, 65 | "editStarredContent": { 66 | "message": "즐겨찾기 제목 편집" 67 | }, 68 | "contentRequired": { 69 | "message": "내용을 입력해야 합니다" 70 | }, 71 | "dataStorageNote": { 72 | "message": "모든 데이터는 브라우저 로컬에만 저장됩니다. 귀하의 허락 없이 채팅 데이터를 서버에 업로드하지 않습니다" 73 | }, 74 | "projectOpenSource": { 75 | "message": "이 프로젝트는 오픈 소스입니다." 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "도움이 되셨다면 친구에게 추천해 주세요" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome 웹 스토어" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ja/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - AI対話にインタラクティブなタイムラインを追加、ChatGPT、DeepSeek等対応" 4 | }, 5 | "extDescription": { 6 | "message": "AIチャットの効率を2倍にします!ChatGPT、Gemini、DeepSeekにインタラクティブなタイムラインを追加、🚀任意の会話に簡単にジャンプ、📌重要な会話をマーク、⭐️重要なチャットをお気に入り。" 7 | }, 8 | "viewStarred": { 9 | "message": "お気に入りを表示" 10 | }, 11 | "starredList": { 12 | "message": "お気に入りリスト" 13 | }, 14 | "close": { 15 | "message": "閉じる" 16 | }, 17 | "clickToStar": { 18 | "message": "クリックしてお気に入りに追加" 19 | }, 20 | "clickToUnstar": { 21 | "message": "クリックしてお気に入りから削除" 22 | }, 23 | "noStarredItems": { 24 | "message": "お気に入りがありません" 25 | }, 26 | "goTo": { 27 | "message": "移動" 28 | }, 29 | "goToTooltip": { 30 | "message": "チャット詳細へ移動" 31 | }, 32 | "copied": { 33 | "message": "コピーしました" 34 | }, 35 | "starChat": { 36 | "message": "チャットをスター" 37 | }, 38 | "unstarChat": { 39 | "message": "チャットのスターを解除" 40 | }, 41 | "inputChatTheme": { 42 | "message": "お気に入りタイトルを入力:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "入力してください" 46 | }, 47 | "cancel": { 48 | "message": "キャンセル" 49 | }, 50 | "confirm": { 51 | "message": "確認" 52 | }, 53 | "themeRequired": { 54 | "message": "テーマを入力してください" 55 | }, 56 | "unstar": { 57 | "message": "スター解除" 58 | }, 59 | "viewStarredList": { 60 | "message": "スターリストを表示" 61 | }, 62 | "edit": { 63 | "message": "編集" 64 | }, 65 | "editStarredContent": { 66 | "message": "お気に入りタイトルを編集" 67 | }, 68 | "contentRequired": { 69 | "message": "コンテンツを入力してください" 70 | }, 71 | "dataStorageNote": { 72 | "message": "すべてのデータはブラウザのローカルにのみ保存されます。お客様の許可なく、チャットデータをサーバーにアップロードすることは一切ありません" 73 | }, 74 | "projectOpenSource": { 75 | "message": "このプロジェクトはオープンソースです。" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "お役に立ちましたら、ぜひ友達におすすめください" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome ウェブストア" 85 | } 86 | } -------------------------------------------------------------------------------- /js/adapters/doubao.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Doubao (豆包) Adapter 3 | * 4 | * Supports: doubao.com 5 | * Features: Uses data-testid for selection, index-based ID, extracts from message_text_content 6 | */ 7 | 8 | class DoubaoAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | } 12 | 13 | matches(url) { 14 | return url.includes('doubao.com'); 15 | } 16 | 17 | getUserMessageSelector() { 18 | return '[data-testid="send_message"]'; 19 | } 20 | 21 | generateTurnId(element, index) { 22 | return `doubao-${index}`; 23 | } 24 | 25 | extractText(element) { 26 | // Extract from message_text_content element 27 | const textEl = element.querySelector('[data-testid="message_text_content"]'); 28 | return textEl?.textContent?.trim() || ''; 29 | } 30 | 31 | isConversationRoute(pathname) { 32 | // Doubao conversation URLs: /chat/数字ID 33 | return pathname.includes('/chat/'); 34 | } 35 | 36 | extractConversationId(pathname) { 37 | try { 38 | // Extract conversation ID from /chat/数字 pattern 39 | const match = pathname.match(/\/chat\/(\d+)/); 40 | return match ? match[1] : null; 41 | } catch { 42 | return null; 43 | } 44 | } 45 | 46 | findConversationContainer(firstMessage) { 47 | // 使用统一的容器查找策略 48 | return ContainerFinder.findConversationContainer(firstMessage); 49 | } 50 | 51 | getTimelinePosition() { 52 | // Doubao 位置配置(可根据实际情况调整) 53 | return { 54 | top: '120px', // 避开顶部导航栏 55 | right: '22px', // 右侧边距 56 | bottom: '120px', // 避开底部输入框 57 | }; 58 | } 59 | 60 | getStarChatButtonTarget() { 61 | // 返回分享按钮,收藏按钮将插入到它前面 62 | return document.querySelector('[data-testid="thread_share_btn_right_side"]'); 63 | } 64 | 65 | getDefaultChatTheme() { 66 | // 豆包使用页面标题作为默认主题,并过滤尾部的 " - 豆包" 67 | const title = document.title || ''; 68 | return title.replace(/\s*-\s*豆包\s*$/i, '').trim(); 69 | } 70 | } 71 | 72 | -------------------------------------------------------------------------------- /_locales/en/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interactive timeline for ChatGPT, Gemini, DeepSeek, etc." 4 | }, 5 | "extDescription": { 6 | "message": "Double your AI chat efficiency! Add interactive timeline to ChatGPT, Gemini, 🚀jump between chats, 📌mark key moments." 7 | }, 8 | "viewStarred": { 9 | "message": "View starred" 10 | }, 11 | "starredList": { 12 | "message": "My Starred" 13 | }, 14 | "close": { 15 | "message": "Close" 16 | }, 17 | "clickToStar": { 18 | "message": "Star question" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Unstar question" 22 | }, 23 | "starChat": { 24 | "message": "Star chat" 25 | }, 26 | "unstarChat": { 27 | "message": "Unstar chat" 28 | }, 29 | "noStarredItems": { 30 | "message": "No starred items" 31 | }, 32 | "goTo": { 33 | "message": "Go to" 34 | }, 35 | "goToTooltip": { 36 | "message": "Go to chat details" 37 | }, 38 | "copied": { 39 | "message": "Copied" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Enter starred title:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Edit starred title" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "All data is stored locally in your browser, not uploaded to servers" 73 | }, 74 | "projectOpenSource": { 75 | "message": "This project is open source, welcome to" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "If it helps you, feel free to recommend it to your friends" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /js/adapters/yuanbao.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Yuanbao (元宝) Adapter 3 | * 4 | * Supports: yuanbao.tencent.com 5 | * Features: 使用 class 后缀匹配,URL 格式特殊 6 | */ 7 | 8 | class YuanbaoAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | } 12 | 13 | matches(url) { 14 | return url.includes('yuanbao.tencent.com'); 15 | } 16 | 17 | getUserMessageSelector() { 18 | // 使用属性选择器匹配 class 以 "-content-text" 结尾的元素 19 | // 例如:hyc-content-text, abc-content-text 等 20 | return '[class$="-content-text"]'; 21 | } 22 | 23 | generateTurnId(element, index) { 24 | return `yuanbao-${index}`; 25 | } 26 | 27 | extractText(element) { 28 | // 文本直接在元素中 29 | return element.textContent?.trim() || ''; 30 | } 31 | 32 | isConversationRoute(pathname) { 33 | // 元宝对话 URL: /chat/{variable}/{id} 34 | return pathname.includes('/chat/'); 35 | } 36 | 37 | extractConversationId(pathname) { 38 | try { 39 | // 从 /chat/naQivTmsDa/21187e6f-054c-4fee-b92b-c2386be40b65 提取最后一段作为对话 ID 40 | const segments = pathname.split('/').filter(Boolean); 41 | // 假设格式为 ['chat', 'variable', 'id'] 42 | if (segments.length >= 3 && segments[0] === 'chat') { 43 | return segments[segments.length - 1]; // 返回最后一段 44 | } 45 | return null; 46 | } catch { 47 | return null; 48 | } 49 | } 50 | 51 | findConversationContainer(firstMessage) { 52 | // 使用统一的容器查找策略 53 | return ContainerFinder.findConversationContainer(firstMessage); 54 | } 55 | 56 | getTimelinePosition() { 57 | // 元宝位置配置 58 | return { 59 | top: '120px', // 避开顶部导航栏 60 | right: '22px', // 右侧边距 61 | bottom: '120px', // 避开底部输入框 62 | }; 63 | } 64 | 65 | getStarChatButtonTarget() { 66 | // 返回 header__name 元素,收藏按钮将插入到它前面(左边) 67 | return document.querySelector('[class*="agent-dialogue__content--common__header__name"]'); 68 | } 69 | 70 | getDefaultChatTheme() { 71 | // 元宝使用页面标题作为默认主题 72 | return document.title || ''; 73 | } 74 | } 75 | 76 | -------------------------------------------------------------------------------- /_locales/he/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ציר זמן אינטראקטיבי עבור ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "הכפל את יעילות הצ'אט שלך עם הבינה המלאכותית! הוסף ציר זמן אינטראקטיבי ל-ChatGPT, Gemini, DeepSeek, 🚀 קפוץ בקלות לכל שיחה, 📌 סמן שיחות מפתח, ⭐️ שיחות חשובות מועדפות." 7 | }, 8 | "viewStarred": { 9 | "message": "הצג מועדפים" 10 | }, 11 | "starredList": { 12 | "message": "המועדפים שלי" 13 | }, 14 | "close": { 15 | "message": "סגור" 16 | }, 17 | "clickToStar": { 18 | "message": "הוסף שאלה למועדפים" 19 | }, 20 | "clickToUnstar": { 21 | "message": "הסר שאלה מהמועדפים" 22 | }, 23 | "noStarredItems": { 24 | "message": "אין מועדפים" 25 | }, 26 | "goTo": { 27 | "message": "עבור אל" 28 | }, 29 | "goToTooltip": { 30 | "message": "עבור לפרטי הצ'אט" 31 | }, 32 | "copied": { 33 | "message": "הועתק" 34 | }, 35 | "starChat": { 36 | "message": "הוסף שיחה למועדפים" 37 | }, 38 | "unstarChat": { 39 | "message": "הסר שיחה מהמועדפים" 40 | }, 41 | "inputChatTheme": { 42 | "message": "הזן כותרת מועדף:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "הזן" 46 | }, 47 | "cancel": { 48 | "message": "ביטול" 49 | }, 50 | "confirm": { 51 | "message": "אישור" 52 | }, 53 | "themeRequired": { 54 | "message": "הנושא לא יכול להיות ריק" 55 | }, 56 | "unstar": { 57 | "message": "הסר מהמועדפים" 58 | }, 59 | "viewStarredList": { 60 | "message": "הצג רשימת מועדפים" 61 | }, 62 | "edit": { 63 | "message": "ערוך" 64 | }, 65 | "editStarredContent": { 66 | "message": "ערוך כותרת מועדפת" 67 | }, 68 | "contentRequired": { 69 | "message": "התוכן לא יכול להיות ריק" 70 | }, 71 | "dataStorageNote": { 72 | "message": "כל הנתונים מאוחסנים רק מקומית בדפדפן שלך. לעולם לא נעלה נתוני צ'אט לשרתים ללא רשותך" 73 | }, 74 | "projectOpenSource": { 75 | "message": "פרויקט זה הוא קוד פתוח, ברוכים הבאים" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "אם זה עוזר לך, אל תהסס להמליץ על זה לחברים שלך" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/en_US/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interactive timeline for ChatGPT, Gemini, DeepSeek, etc." 4 | }, 5 | "extDescription": { 6 | "message": "Double your AI chat efficiency! Add interactive timeline to ChatGPT, Gemini, DeepSeek, 🚀 jump to any conversation easily, 📌 mark key conversations, ⭐️ favorite important chats." 7 | }, 8 | "viewStarred": { 9 | "message": "View favorites" 10 | }, 11 | "starredList": { 12 | "message": "My Favorites" 13 | }, 14 | "close": { 15 | "message": "Close" 16 | }, 17 | "clickToStar": { 18 | "message": "Click to favorite" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Click to unfavorite" 22 | }, 23 | "noStarredItems": { 24 | "message": "No favorites" 25 | }, 26 | "goTo": { 27 | "message": "Go to" 28 | }, 29 | "goToTooltip": { 30 | "message": "Go to chat details" 31 | }, 32 | "copied": { 33 | "message": "Copied" 34 | }, 35 | "starChat": { 36 | "message": "Star chat" 37 | }, 38 | "unstarChat": { 39 | "message": "Unstar chat" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Enter starred title:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Edit starred title" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "All data is stored locally in your browser, not uploaded to servers" 73 | }, 74 | "projectOpenSource": { 75 | "message": "This project is open source, welcome to" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "If it helps you, feel free to recommend it to your friends" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/en_GB/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interactive timeline for ChatGPT, Gemini, DeepSeek, etc." 4 | }, 5 | "extDescription": { 6 | "message": "Double your AI chat efficiency! Add interactive timeline to ChatGPT, Gemini, DeepSeek, 🚀 jump to any conversation easily, 📌 mark key conversations, ⭐️ favourite important chats." 7 | }, 8 | "viewStarred": { 9 | "message": "View favourites" 10 | }, 11 | "starredList": { 12 | "message": "My Favourites" 13 | }, 14 | "close": { 15 | "message": "Close" 16 | }, 17 | "clickToStar": { 18 | "message": "Click to favourite" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Click to unfavourite" 22 | }, 23 | "noStarredItems": { 24 | "message": "No favourites" 25 | }, 26 | "goTo": { 27 | "message": "Go to" 28 | }, 29 | "goToTooltip": { 30 | "message": "Go to chat details" 31 | }, 32 | "copied": { 33 | "message": "Copied" 34 | }, 35 | "starChat": { 36 | "message": "Star chat" 37 | }, 38 | "unstarChat": { 39 | "message": "Unstar chat" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Enter starred title:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Edit starred title" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "All data is stored locally in your browser, not uploaded to servers" 73 | }, 74 | "projectOpenSource": { 75 | "message": "This project is open source, welcome to" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "If it helps you, feel free to recommend it to your friends" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 3, 3 | "name": "__MSG_extName__", 4 | "short_name": "AI Chat Timeline", 5 | "version": "3.3.0", 6 | "description": "__MSG_extDescription__", 7 | "default_locale": "en", 8 | "author": "yanchao hou", 9 | "icons": { 10 | "16": "icons/icon16.png", 11 | "48": "icons/icon48.png", 12 | "128": "icons/icon128.png" 13 | }, 14 | 15 | "permissions": [ 16 | "storage" 17 | ], 18 | 19 | "content_scripts": [ 20 | { 21 | "matches": [ 22 | "https://chatgpt.com/*", 23 | "https://chat.openai.com/*", 24 | "https://gemini.google.com/*", 25 | "https://www.doubao.com/*", 26 | "https://chat.deepseek.com/*", 27 | "https://yiyan.baidu.com/*", 28 | "https://tongyi.aliyun.com/*", 29 | "https://www.tongyi.com/*", 30 | "https://kimi.moonshot.cn/*", 31 | "https://www.kimi.com/*", 32 | "https://yuanbao.tencent.com/*" 33 | ], 34 | "js": [ 35 | "js/common.js", 36 | "js/container-finder.js", 37 | "js/adapters/base.js", 38 | "js/adapters/chatgpt.js", 39 | "js/adapters/gemini.js", 40 | "js/adapters/doubao.js", 41 | "js/adapters/deepseek.js", 42 | "js/adapters/yiyan.js", 43 | "js/adapters/tongyi.js", 44 | "js/adapters/kimi.js", 45 | "js/adapters/yuanbao.js", 46 | "js/adapters/registry.js", 47 | "js/timeline-manager.js", 48 | "js/main.js" 49 | ], 50 | "css": ["styles.css"], 51 | "run_at": "document_idle" 52 | } 53 | ], 54 | 55 | "web_accessible_resources": [ 56 | { 57 | "resources": ["images/logo/*.png"], 58 | "matches": [ 59 | "https://chatgpt.com/*", 60 | "https://chat.openai.com/*", 61 | "https://gemini.google.com/*", 62 | "https://www.doubao.com/*", 63 | "https://chat.deepseek.com/*", 64 | "https://yiyan.baidu.com/*", 65 | "https://tongyi.aliyun.com/*", 66 | "https://www.tongyi.com/*", 67 | "https://kimi.moonshot.cn/*", 68 | "https://www.kimi.com/*", 69 | "https://yuanbao.tencent.com/*" 70 | ] 71 | } 72 | ], 73 | 74 | "action": { 75 | "default_title": "__MSG_extName__" 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /js/adapters/kimi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Kimi Adapter 3 | * 4 | * Supports: kimi.com, kimi.com/share/* 5 | * Features: 固定 class 名 user-content 6 | */ 7 | 8 | class KimiAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | } 12 | 13 | matches(url) { 14 | return url.includes('kimi.com'); 15 | } 16 | 17 | getUserMessageSelector() { 18 | // Kimi 使用固定的 class 名 19 | return '.user-content'; 20 | } 21 | 22 | generateTurnId(element, index) { 23 | return `kimi-${index}`; 24 | } 25 | 26 | extractText(element) { 27 | // 文本直接在元素中 28 | return element.textContent?.trim() || ''; 29 | } 30 | 31 | isConversationRoute(pathname) { 32 | // Kimi 对话 URL: /chat/{id} 或分享页面 /share/{id} 33 | return pathname.includes('/chat/') || pathname.includes('/share/'); 34 | } 35 | 36 | extractConversationId(pathname) { 37 | try { 38 | // 从 /chat/cuq3h25m2citjh45prb0 或 /share/xxx 提取对话 ID 39 | const chatMatch = pathname.match(/\/chat\/([^\/]+)/); 40 | if (chatMatch) return chatMatch[1]; 41 | 42 | const shareMatch = pathname.match(/\/share\/([^\/]+)/); 43 | if (shareMatch) return shareMatch[1]; 44 | 45 | return null; 46 | } catch { 47 | return null; 48 | } 49 | } 50 | 51 | findConversationContainer(firstMessage) { 52 | // 使用统一的容器查找策略 53 | return ContainerFinder.findConversationContainer(firstMessage); 54 | } 55 | 56 | getTimelinePosition() { 57 | // Kimi 位置配置 58 | return { 59 | top: '120px', // 避开顶部导航栏 60 | right: '22px', // 右侧边距 61 | bottom: '120px', // 避开底部输入框 62 | }; 63 | } 64 | 65 | getStarChatButtonTarget() { 66 | // 返回 chat-header-actions 下的 icon 元素,收藏按钮将插入到它前面 67 | const headerActions = document.querySelector('.chat-header-actions'); 68 | if (!headerActions) return null; 69 | return headerActions.querySelector('.icon'); 70 | } 71 | 72 | getDefaultChatTheme() { 73 | // Kimi 使用页面标题作为默认主题,并过滤尾部的 " - Kimi" 74 | const title = document.title || ''; 75 | return title.replace(/\s*-\s*Kimi\s*$/i, '').trim(); 76 | } 77 | } 78 | 79 | -------------------------------------------------------------------------------- /_locales/th/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ไทม์ไลน์แบบโต้ตอบสำหรับ ChatGPT, Gemini, DeepSeek ฯลฯ" 4 | }, 5 | "extDescription": { 6 | "message": "เพิ่มประสิทธิภาพการแชท AI ของคุณเป็นสองเท่า! เพิ่มไทม์ไลน์แบบโต้ตอบให้กับ ChatGPT, Gemini, DeepSeek, 🚀 ข้ามไปยังการสนทนาใดก็ได้อย่างง่ายดาย, 📌 ทำเครื่องหมายการสนทนาสำคัญ, ⭐️ รายการโปรดแชทที่สำคัญ" 7 | }, 8 | "viewStarred": { 9 | "message": "ดูรายการโปรด" 10 | }, 11 | "starredList": { 12 | "message": "รายการโปรดของฉัน" 13 | }, 14 | "close": { 15 | "message": "ปิด" 16 | }, 17 | "clickToStar": { 18 | "message": "คลิกเพื่อเพิ่มในรายการโปรด" 19 | }, 20 | "clickToUnstar": { 21 | "message": "คลิกเพื่อลบออกจากรายการโปรด" 22 | }, 23 | "noStarredItems": { 24 | "message": "ไม่มีรายการโปรด" 25 | }, 26 | "goTo": { 27 | "message": "ไปที่" 28 | }, 29 | "goToTooltip": { 30 | "message": "ไปที่รายละเอียดแชท" 31 | }, 32 | "copied": { 33 | "message": "คัดลอกแล้ว" 34 | }, 35 | "starChat": { 36 | "message": "เพิ่มแชทในรายการโปรด" 37 | }, 38 | "unstarChat": { 39 | "message": "ลบแชทออกจากรายการโปรด" 40 | }, 41 | "inputChatTheme": { 42 | "message": "ป้อนชื่อรายการโปรด:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "ป้อน" 46 | }, 47 | "cancel": { 48 | "message": "ยกเลิก" 49 | }, 50 | "confirm": { 51 | "message": "ยืนยัน" 52 | }, 53 | "themeRequired": { 54 | "message": "หัวข้อต้องไม่ว่างเปล่า" 55 | }, 56 | "unstar": { 57 | "message": "ลบออกจากรายการโปรด" 58 | }, 59 | "viewStarredList": { 60 | "message": "ดูรายการโปรด" 61 | }, 62 | "edit": { 63 | "message": "แก้ไข" 64 | }, 65 | "editStarredContent": { 66 | "message": "แก้ไขชื่อรายการโปรด" 67 | }, 68 | "contentRequired": { 69 | "message": "เนื้อหาต้องไม่ว่างเปล่า" 70 | }, 71 | "dataStorageNote": { 72 | "message": "ข้อมูลทั้งหมดจัดเก็บไว้ในเบราว์เซอร์ของคุณเท่านั้น เราจะไม่อัปโหลดข้อมูลแชทใดๆ ไปยังเซิร์ฟเวอร์โดยไม่ได้รับอนุญาตจากคุณ" 73 | }, 74 | "projectOpenSource": { 75 | "message": "โครงการนี้เป็นโอเพ่นซอร์ส ยินดีต้อนรับ" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "หากช่วยคุณได้ อย่าลังเลที่จะแนะนำให้เพื่อนของคุณ" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ar/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - خط زمني تفاعلي لـ ChatGPT، Gemini، DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "ضاعف كفاءة الدردشة مع الذكاء الاصطناعي لديك! أضف خطًا زمنيًا تفاعليًا إلى ChatGPT وGemini وDeepSeek، 🚀 انتقل بسهولة إلى أي محادثة، 📌 ضع علامة على المحادثات الرئيسية، ⭐️ أضف الدردشات المهمة إلى المفضلة." 7 | }, 8 | "viewStarred": { 9 | "message": "عرض المفضلة" 10 | }, 11 | "starredList": { 12 | "message": "قائمة المفضلة" 13 | }, 14 | "close": { 15 | "message": "إغلاق" 16 | }, 17 | "clickToStar": { 18 | "message": "انقر للإضافة إلى المفضلة" 19 | }, 20 | "clickToUnstar": { 21 | "message": "انقر للإزالة من المفضلة" 22 | }, 23 | "noStarredItems": { 24 | "message": "لا توجد عناصر مفضلة" 25 | }, 26 | "goTo": { 27 | "message": "الانتقال إلى" 28 | }, 29 | "goToTooltip": { 30 | "message": "الانتقال إلى تفاصيل المحادثة" 31 | }, 32 | "copied": { 33 | "message": "تم النسخ" 34 | }, 35 | "starChat": { 36 | "message": "إضافة المحادثة إلى المفضلة" 37 | }, 38 | "unstarChat": { 39 | "message": "إزالة المحادثة من المفضلة" 40 | }, 41 | "inputChatTheme": { 42 | "message": "أدخل عنوان المفضلة:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "أدخل" 46 | }, 47 | "cancel": { 48 | "message": "إلغاء" 49 | }, 50 | "confirm": { 51 | "message": "تأكيد" 52 | }, 53 | "themeRequired": { 54 | "message": "لا يمكن أن يكون الموضوع فارغًا" 55 | }, 56 | "unstar": { 57 | "message": "إزالة من المفضلة" 58 | }, 59 | "viewStarredList": { 60 | "message": "عرض قائمة المفضلة" 61 | }, 62 | "edit": { 63 | "message": "تحرير" 64 | }, 65 | "editStarredContent": { 66 | "message": "تحرير عنوان المفضلة" 67 | }, 68 | "contentRequired": { 69 | "message": "لا يمكن أن يكون المحتوى فارغًا" 70 | }, 71 | "dataStorageNote": { 72 | "message": "يتم تخزين جميع البيانات محليًا في متصفحك فقط. لن نقوم مطلقًا بتحميل أي بيانات دردشة إلى الخوادم دون إذنك" 73 | }, 74 | "projectOpenSource": { 75 | "message": "هذا المشروع مفتوح المصدر، مرحبًا بك في" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "إذا كان يساعدك، لا تتردد في التوصية به لأصدقائك" 82 | }, 83 | "chromeWebStore": { 84 | "message": "متجر كروم الإلكتروني" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/sr/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Интерактивна временска линија за ChatGPT, Gemini" 4 | }, 5 | "extDescription": { 6 | "message": "Удвостручите своју ефикасност АИ чата! Додајте интерактивну временску линију у ChatGPT, Gemini, DeepSeek, 🚀 лако скочите на било који разговор, 📌 означите кључне разговоре, ⭐️ омиљени важни разговори." 7 | }, 8 | "viewStarred": { 9 | "message": "Погледај омиљене" 10 | }, 11 | "starredList": { 12 | "message": "Моји Омиљени" 13 | }, 14 | "close": { 15 | "message": "Затвори" 16 | }, 17 | "clickToStar": { 18 | "message": "Кликните за додавање у омиљене" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Кликните за уклањање из омиљених" 22 | }, 23 | "noStarredItems": { 24 | "message": "Нема омиљених" 25 | }, 26 | "goTo": { 27 | "message": "Иди на" 28 | }, 29 | "goToTooltip": { 30 | "message": "Иди на детаље разговора" 31 | }, 32 | "copied": { 33 | "message": "Копирано" 34 | }, 35 | "starChat": { 36 | "message": "Додај ћаскање у омиљене" 37 | }, 38 | "unstarChat": { 39 | "message": "Уклони ћаскање из омиљених" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Унесите наслов омиљеног:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Уреди наслов омиљеног" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Сви подаци се чувају само локално у вашем прегледачу. Никада нећемо отпремати податке ћаскања на сервере без ваше дозволе" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Овај пројекат је отвореног кода, добродошли" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ако вам помогне, препоручите га пријатељима" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/da/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktiv tidslinje til ChatGPT, Gemini, DeepSeek osv." 4 | }, 5 | "extDescription": { 6 | "message": "Fordoble din AI-chateffektivitet! Tilføj interaktiv tidslinje til ChatGPT, Gemini, DeepSeek, 🚀 spring nemt til enhver samtale, 📌 marker nøglesamtaler, ⭐️ favoriser vigtige chats." 7 | }, 8 | "viewStarred": { 9 | "message": "Vis favoritter" 10 | }, 11 | "starredList": { 12 | "message": "Mine Favoritter" 13 | }, 14 | "close": { 15 | "message": "Luk" 16 | }, 17 | "clickToStar": { 18 | "message": "Klik for at tilføje til favoritter" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klik for at fjerne fra favoritter" 22 | }, 23 | "noStarredItems": { 24 | "message": "Ingen favoritter" 25 | }, 26 | "goTo": { 27 | "message": "Gå til" 28 | }, 29 | "goToTooltip": { 30 | "message": "Gå til chatdetaljer" 31 | }, 32 | "copied": { 33 | "message": "Kopieret" 34 | }, 35 | "starChat": { 36 | "message": "Markér chat som favorit" 37 | }, 38 | "unstarChat": { 39 | "message": "Fjern chat fra favoritter" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Indtast favorittitel:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Indtast" 46 | }, 47 | "cancel": { 48 | "message": "Annuller" 49 | }, 50 | "confirm": { 51 | "message": "Bekræft" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema må ikke være tomt" 55 | }, 56 | "unstar": { 57 | "message": "Fjern fra favoritter" 58 | }, 59 | "viewStarredList": { 60 | "message": "Vis liste over favoritter" 61 | }, 62 | "edit": { 63 | "message": "Rediger" 64 | }, 65 | "editStarredContent": { 66 | "message": "Rediger favorittitel" 67 | }, 68 | "contentRequired": { 69 | "message": "Indhold må ikke være tomt" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Alle data gemmes kun lokalt i din browser. Vi vil aldrig uploade chatdata til servere uden din tilladelse" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Dette projekt er open source, velkommen til" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Hvis det hjælper dig, er du velkommen til at anbefalе det til dine venner" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/is/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Gagnvirk tímalína fyrir ChatGPT, Gemini, DeepSeek o.fl." 4 | }, 5 | "extDescription": { 6 | "message": "Tvöfalda AI spjallskilvirkni þína! Bættu gagnvirkri tímalínu við ChatGPT, Gemini, DeepSeek, 🚀 hoppaðu auðveldlega í hvaða samræðu sem er, 📌 merktu lykilsamræður, ⭐️ uppáhaldsspjall mikilvæg." 7 | }, 8 | "viewStarred": { 9 | "message": "Skoða eftirlæti" 10 | }, 11 | "starredList": { 12 | "message": "Mín Eftirlæti" 13 | }, 14 | "close": { 15 | "message": "Loka" 16 | }, 17 | "clickToStar": { 18 | "message": "Smelltu til að bæta við eftirlæti" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Smelltu til að fjarlægja úr eftirlætum" 22 | }, 23 | "noStarredItems": { 24 | "message": "Engin eftirlæti" 25 | }, 26 | "goTo": { 27 | "message": "Fara til" 28 | }, 29 | "goToTooltip": { 30 | "message": "Fara í spjallupplýsingar" 31 | }, 32 | "copied": { 33 | "message": "Afritað" 34 | }, 35 | "starChat": { 36 | "message": "Merkja spjall sem eftirlæti" 37 | }, 38 | "unstarChat": { 39 | "message": "Fjarlægja spjall úr eftirlætum" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Sláðu inn uppáhalds titil:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Breyta uppáhaldstitli" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Öll gögn eru geymd aðeins staðbundið í vafranum þínum. Við munum aldrei hlaða upp gögnum úr spjalli á netþjóna án leyfis þíns" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Þetta verkefni er opinn kóði, velkomin" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ef það hjálpar þér, mæltu með því við vini þína" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/km/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - បន្ទាត់ពេលវេលាអន្តរកម្មសម្រាប់ ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "បង្កើនប្រសិទ្ធភាពការជជែក AI របស់អ្នកទ្វេដង! បន្ថែមបន្ទាត់ពេលវេលាអន្តរកម្មទៅ ChatGPT, Gemini, DeepSeek, 🚀 លោតទៅការសន្ទនាណាមួយបានយ៉ាងងាយស្រួល, 📌 សម្គាល់ការសន្ទនាសំខាន់ៗ, ⭐️ ការសន្ទនាសំខាន់ៗដែលចូលចិត្ត។" 7 | }, 8 | "viewStarred": { 9 | "message": "មើលចំណូលចិត្ត" 10 | }, 11 | "starredList": { 12 | "message": "ចំណូលចិត្តរបស់ខ្ញុំ" 13 | }, 14 | "close": { 15 | "message": "បិទ" 16 | }, 17 | "clickToStar": { 18 | "message": "ចុចដើម្បីបន្ថែមទៅចំណូលចិត្ត" 19 | }, 20 | "clickToUnstar": { 21 | "message": "ចុចដើម្បីដកចេញពីចំណូលចិត្ត" 22 | }, 23 | "noStarredItems": { 24 | "message": "មិនមានចំណូលចិត្ត" 25 | }, 26 | "goTo": { 27 | "message": "ទៅកាន់" 28 | }, 29 | "goToTooltip": { 30 | "message": "ទៅកាន់ព័ត៌មានលម្អិតការជជែក" 31 | }, 32 | "copied": { 33 | "message": "បានចម្លង" 34 | }, 35 | "starChat": { 36 | "message": "បន្ថែមការជជែកទៅចំណូលចិត្ត" 37 | }, 38 | "unstarChat": { 39 | "message": "លុបការជជែកចេញពីចំណូលចិត្ត" 40 | }, 41 | "inputChatTheme": { 42 | "message": "បញ្ចូលចំណងជើងសំណព្វ:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "កែសម្រួលចំណងជើងសំណព្វ" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "ទិន្នន័យទាំងអស់ត្រូវបានរក្សាទុកតែក្នុងកម្មវិធីរុករករបស់អ្នកប៉ុណ្ណោះ។ យើងនឹងមិនដែលផ្ទុកទិន្នន័យជជែកណាមួយទៅម៉ាស៊ីនមេដោយគ្មានការអនុញ្ញាតពីអ្នកទេ" 73 | }, 74 | "projectOpenSource": { 75 | "message": "គម្រោងនេះគឺជាកូដបើកចំហ, សូមស្វាគមន៍" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "ប្រសិនបើវាជួយអ្នក សូមណែនាំវាទៅកាន់មិត្តភក្តិរបស់អ្នក" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/bn/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek এর জন্য ইন্টারেক্টিভ টাইমলাইন" 4 | }, 5 | "extDescription": { 6 | "message": "আপনার AI চ্যাট দক্ষতা দ্বিগুণ করুন! ChatGPT, Gemini, DeepSeek-এ ইন্টারেক্টিভ টাইমলাইন যোগ করুন, 🚀 সহজেই যেকোনো কথোপকথনে যান, 📌 মূল কথোপকথন চিহ্নিত করুন, ⭐️ গুরুত্বপূর্ণ চ্যাট পছন্দের তালিকায় যোগ করুন।" 7 | }, 8 | "viewStarred": { 9 | "message": "প্রিয় দেখুন" 10 | }, 11 | "starredList": { 12 | "message": "আমার প্রিয়" 13 | }, 14 | "close": { 15 | "message": "বন্ধ" 16 | }, 17 | "clickToStar": { 18 | "message": "প্রিয়তে যোগ করতে ক্লিক করুন" 19 | }, 20 | "clickToUnstar": { 21 | "message": "প্রিয় থেকে সরাতে ক্লিক করুন" 22 | }, 23 | "noStarredItems": { 24 | "message": "কোন প্রিয় নেই" 25 | }, 26 | "goTo": { 27 | "message": "যান" 28 | }, 29 | "goToTooltip": { 30 | "message": "চ্যাট বিবরণে যান" 31 | }, 32 | "copied": { 33 | "message": "কপি করা হয়েছে" 34 | }, 35 | "starChat": { 36 | "message": "চ্যাট প্রিয়তে যোগ করুন" 37 | }, 38 | "unstarChat": { 39 | "message": "চ্যাট প্রিয় থেকে সরান" 40 | }, 41 | "inputChatTheme": { 42 | "message": "পছন্দের শিরোনাম লিখুন:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "লিখুন" 46 | }, 47 | "cancel": { 48 | "message": "বাতিল" 49 | }, 50 | "confirm": { 51 | "message": "নিশ্চিত করুন" 52 | }, 53 | "themeRequired": { 54 | "message": "থিম খালি হতে পারে না" 55 | }, 56 | "unstar": { 57 | "message": "প্রিয় থেকে সরান" 58 | }, 59 | "viewStarredList": { 60 | "message": "প্রিয় তালিকা দেখুন" 61 | }, 62 | "edit": { 63 | "message": "সম্পাদনা" 64 | }, 65 | "editStarredContent": { 66 | "message": "পছন্দের শিরোনাম সম্পাদনা করুন" 67 | }, 68 | "contentRequired": { 69 | "message": "বিষয়বস্তু খালি হতে পারে না" 70 | }, 71 | "dataStorageNote": { 72 | "message": "সমস্ত ডেটা শুধুমাত্র আপনার ব্রাউজারে স্থানীয়ভাবে সংরক্ষিত। আপনার অনুমতি ছাড়া আমরা কখনও কোন চ্যাট ডেটা সার্ভারে আপলোড করব না" 73 | }, 74 | "projectOpenSource": { 75 | "message": "এই প্রকল্পটি ওপেন সোর্স, স্বাগতম" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "যদি এটি আপনাকে সাহায্য করে, তাহলে আপনার বন্ধুদের কাছে সুপারিশ করুন" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/no/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktiv tidslinje for ChatGPT, Gemini, DeepSeek osv." 4 | }, 5 | "extDescription": { 6 | "message": "Doble din AI-chateffektivitet! Legg til interaktiv tidslinje til ChatGPT, Gemini, DeepSeek, 🚀 hopp enkelt til hvilken som helst samtale, 📌 marker viktige samtaler, ⭐️ favoriser viktige chatter." 7 | }, 8 | "viewStarred": { 9 | "message": "Vis favoritter" 10 | }, 11 | "starredList": { 12 | "message": "Mine Favoritter" 13 | }, 14 | "close": { 15 | "message": "Lukk" 16 | }, 17 | "clickToStar": { 18 | "message": "Klikk for å legge til favoritter" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klikk for å fjerne fra favoritter" 22 | }, 23 | "noStarredItems": { 24 | "message": "Ingen favoritter" 25 | }, 26 | "goTo": { 27 | "message": "Gå til" 28 | }, 29 | "goToTooltip": { 30 | "message": "Gå til chatdetaljer" 31 | }, 32 | "copied": { 33 | "message": "Kopiert" 34 | }, 35 | "starChat": { 36 | "message": "Merk chat som favoritt" 37 | }, 38 | "unstarChat": { 39 | "message": "Fjern chat fra favoritter" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Skriv inn favoritt-tittel:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Skriv inn" 46 | }, 47 | "cancel": { 48 | "message": "Avbryt" 49 | }, 50 | "confirm": { 51 | "message": "Bekreft" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema kan ikke være tomt" 55 | }, 56 | "unstar": { 57 | "message": "Fjern fra favoritter" 58 | }, 59 | "viewStarredList": { 60 | "message": "Vis liste over favoritter" 61 | }, 62 | "edit": { 63 | "message": "Rediger" 64 | }, 65 | "editStarredContent": { 66 | "message": "Rediger favorittittel" 67 | }, 68 | "contentRequired": { 69 | "message": "Innhold kan ikke være tomt" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Alle data lagres kun lokalt i nettleseren din. Vi vil aldri laste opp chatdata til servere uten din tillatelse" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Dette prosjektet er open source, velkommen til" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Hvis det hjelper deg, anbefal det gjerne til vennene dine" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/tr/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini için etkileşimli zaman çizelgesi" 4 | }, 5 | "extDescription": { 6 | "message": "AI sohbet verimliliğinizi iki katına çıkarın! ChatGPT, Gemini, DeepSeek'e etkileşimli zaman çizelgesi ekleyin, 🚀 kolayca herhangi bir konuşmaya atlayın, 📌 önemli konuşmaları işaretleyin, ⭐️ önemli sohbetleri favorilere ekleyin." 7 | }, 8 | "viewStarred": { 9 | "message": "Favorileri görüntüle" 10 | }, 11 | "starredList": { 12 | "message": "Favorilerim" 13 | }, 14 | "close": { 15 | "message": "Kapat" 16 | }, 17 | "clickToStar": { 18 | "message": "Soruyu favorilere ekle" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Soruyu favorilerden kaldır" 22 | }, 23 | "noStarredItems": { 24 | "message": "Favori yok" 25 | }, 26 | "goTo": { 27 | "message": "Git" 28 | }, 29 | "goToTooltip": { 30 | "message": "Sohbet detaylarına git" 31 | }, 32 | "copied": { 33 | "message": "Kopyalandı" 34 | }, 35 | "starChat": { 36 | "message": "Sohbeti favorilere ekle" 37 | }, 38 | "unstarChat": { 39 | "message": "Sohbeti favorilerden kaldır" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Favori başlığını girin:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Girin" 46 | }, 47 | "cancel": { 48 | "message": "İptal" 49 | }, 50 | "confirm": { 51 | "message": "Onayla" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema boş olamaz" 55 | }, 56 | "unstar": { 57 | "message": "Favorilerden kaldır" 58 | }, 59 | "viewStarredList": { 60 | "message": "Favori listesini görüntüle" 61 | }, 62 | "edit": { 63 | "message": "Düzenle" 64 | }, 65 | "editStarredContent": { 66 | "message": "Favori başlığını düzenle" 67 | }, 68 | "contentRequired": { 69 | "message": "İçerik boş olamaz" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Tüm veriler yalnızca tarayıcınızda yerel olarak saklanır. İzniniz olmadan sohbet verilerini hiçbir zaman sunuculara yüklemeyeceğiz" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Bu proje açık kaynaklıdır, hoş geldiniz" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Size yardımcı oluyorsa, arkadaşlarınıza önermekten çekinmeyin" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/hr/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktivna vremenska linija za ChatGPT, Gemini" 4 | }, 5 | "extDescription": { 6 | "message": "Udvostručite svoju učinkovitost AI chata! Dodajte interaktivnu vremensku liniju u ChatGPT, Gemini, DeepSeek, 🚀 lako skočite na bilo koji razgovor, 📌 označite ključne razgovore, ⭐️ omiljeni važni razgovori." 7 | }, 8 | "viewStarred": { 9 | "message": "Pogledaj favorite" 10 | }, 11 | "starredList": { 12 | "message": "Moji Favoriti" 13 | }, 14 | "close": { 15 | "message": "Zatvori" 16 | }, 17 | "clickToStar": { 18 | "message": "Kliknite za dodavanje u favorite" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Kliknite za uklanjanje iz favorita" 22 | }, 23 | "noStarredItems": { 24 | "message": "Nema favorita" 25 | }, 26 | "goTo": { 27 | "message": "Idi na" 28 | }, 29 | "goToTooltip": { 30 | "message": "Idi na detalje razgovora" 31 | }, 32 | "copied": { 33 | "message": "Kopirano" 34 | }, 35 | "starChat": { 36 | "message": "Dodaj razgovor u favorite" 37 | }, 38 | "unstarChat": { 39 | "message": "Ukloni razgovor iz favorita" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Unesite naslov favorita:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Unesite" 46 | }, 47 | "cancel": { 48 | "message": "Odustani" 49 | }, 50 | "confirm": { 51 | "message": "Potvrdi" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema ne može biti prazna" 55 | }, 56 | "unstar": { 57 | "message": "Ukloni iz favorita" 58 | }, 59 | "viewStarredList": { 60 | "message": "Pogledaj listu favorita" 61 | }, 62 | "edit": { 63 | "message": "Uredi" 64 | }, 65 | "editStarredContent": { 66 | "message": "Uredi naslov favorita" 67 | }, 68 | "contentRequired": { 69 | "message": "Sadržaj ne može biti prazan" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Svi podaci pohranjeni su samo lokalno u vašem pregledniku. Nikada nećemo učitavati podatke razgovora na poslužitelje bez vašeg dopuštenja" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Ovaj projekt je otvorenog koda, dobrodošli" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ako vam pomogne, preporučite ga prijateljima" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/pl/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktywna oś czasu dla ChatGPT, Gemini, DeepSeek itp." 4 | }, 5 | "extDescription": { 6 | "message": "Podwój swoją efektywność czatu AI! Dodaj interaktywną oś czasu do ChatGPT, Gemini, DeepSeek, 🚀 łatwo przeskocz do dowolnej rozmowy, 📌 oznacz kluczowe rozmowy, ⭐️ dodaj ważne czaty do ulubionych." 7 | }, 8 | "viewStarred": { 9 | "message": "Zobacz ulubione" 10 | }, 11 | "starredList": { 12 | "message": "Moje Ulubione" 13 | }, 14 | "close": { 15 | "message": "Zamknij" 16 | }, 17 | "clickToStar": { 18 | "message": "Dodaj pytanie do ulubionych" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Usuń pytanie z ulubionych" 22 | }, 23 | "noStarredItems": { 24 | "message": "Brak ulubionych" 25 | }, 26 | "goTo": { 27 | "message": "Przejdź do" 28 | }, 29 | "goToTooltip": { 30 | "message": "Przejdź do szczegółów czatu" 31 | }, 32 | "copied": { 33 | "message": "Skopiowano" 34 | }, 35 | "starChat": { 36 | "message": "Dodaj czat do ulubionych" 37 | }, 38 | "unstarChat": { 39 | "message": "Usuń czat z ulubionych" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Wprowadź tytuł ulubionego:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Wprowadź" 46 | }, 47 | "cancel": { 48 | "message": "Anuluj" 49 | }, 50 | "confirm": { 51 | "message": "Potwierdź" 52 | }, 53 | "themeRequired": { 54 | "message": "Temat nie może być pusty" 55 | }, 56 | "unstar": { 57 | "message": "Usuń z ulubionych" 58 | }, 59 | "viewStarredList": { 60 | "message": "Zobacz listę ulubionych" 61 | }, 62 | "edit": { 63 | "message": "Edytuj" 64 | }, 65 | "editStarredContent": { 66 | "message": "Edytuj tytuł ulubionego" 67 | }, 68 | "contentRequired": { 69 | "message": "Zawartość nie może być pusta" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Wszystkie dane są przechowywane wyłącznie lokalnie w Twojej przeglądarce. Nigdy nie będziemy przesyłać żadnych danych czatu na serwery bez Twojej zgody" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Ten projekt jest open source, zapraszamy do" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Jeśli ci pomaga, polec go znajomym" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/cs/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktivní časová osa pro ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Zdvojnásobte svou efektivitu AI chatu! Přidejte interaktivní časovou osu do ChatGPT, Gemini, DeepSeek, 🚀 snadno přeskočte na jakoukoli konverzaci, 📌 označte klíčové konverzace, ⭐️ oblíbené důležité chaty." 7 | }, 8 | "viewStarred": { 9 | "message": "Zobrazit oblíbené" 10 | }, 11 | "starredList": { 12 | "message": "Moje Oblíbené" 13 | }, 14 | "close": { 15 | "message": "Zavřít" 16 | }, 17 | "clickToStar": { 18 | "message": "Přidat otázku do oblíbených" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Odebrat otázku z oblíbených" 22 | }, 23 | "noStarredItems": { 24 | "message": "Žádné oblíbené" 25 | }, 26 | "goTo": { 27 | "message": "Přejít na" 28 | }, 29 | "goToTooltip": { 30 | "message": "Přejít na podrobnosti chatu" 31 | }, 32 | "copied": { 33 | "message": "Zkopírováno" 34 | }, 35 | "starChat": { 36 | "message": "Přidat chat do oblíbených" 37 | }, 38 | "unstarChat": { 39 | "message": "Odebrat chat z oblíbených" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Zadejte název oblíbené položky:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Zadejte" 46 | }, 47 | "cancel": { 48 | "message": "Zrušit" 49 | }, 50 | "confirm": { 51 | "message": "Potvrdit" 52 | }, 53 | "themeRequired": { 54 | "message": "Téma nemůže být prázdné" 55 | }, 56 | "unstar": { 57 | "message": "Odebrat z oblíbených" 58 | }, 59 | "viewStarredList": { 60 | "message": "Zobrazit seznam oblíbených" 61 | }, 62 | "edit": { 63 | "message": "Upravit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Upravit název oblíbeného" 67 | }, 68 | "contentRequired": { 69 | "message": "Obsah nemůže být prázdný" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Všechna data jsou uložena pouze lokálně ve vašem prohlížeči. Nikdy nebudeme nahrávat žádná data chatu na servery bez vašeho svolení" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Tento projekt je open source, vítejte" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Pokud vám to pomůže, doporučte to svým přátelům" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/fi/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktiivinen aikajana ChatGPT, Gemini, DeepSeek jne." 4 | }, 5 | "extDescription": { 6 | "message": "Kaksinkertaista AI-chat-tehokkuutesi! Lisää interaktiivinen aikajana ChatGPT:hen, Geminiin, DeepSeekiin, 🚀 hyppää helposti mihin tahansa keskusteluun, 📌 merkitse avainlausunnot, ⭐️ lisää tärkeät chatit suosikkeihin." 7 | }, 8 | "viewStarred": { 9 | "message": "Näytä suosikit" 10 | }, 11 | "starredList": { 12 | "message": "Omat Suosikit" 13 | }, 14 | "close": { 15 | "message": "Sulje" 16 | }, 17 | "clickToStar": { 18 | "message": "Klikkaa lisätäksesi suosikkeihin" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klikkaa poistaaksesi suosikeista" 22 | }, 23 | "noStarredItems": { 24 | "message": "Ei suosikkeja" 25 | }, 26 | "goTo": { 27 | "message": "Siirry" 28 | }, 29 | "goToTooltip": { 30 | "message": "Siirry keskustelun tietoihin" 31 | }, 32 | "copied": { 33 | "message": "Kopioitu" 34 | }, 35 | "starChat": { 36 | "message": "Lisää keskustelu suosikkeihin" 37 | }, 38 | "unstarChat": { 39 | "message": "Poista keskustelu suosikeista" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Syötä suosikkiotsikko:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Syötä" 46 | }, 47 | "cancel": { 48 | "message": "Peruuta" 49 | }, 50 | "confirm": { 51 | "message": "Vahvista" 52 | }, 53 | "themeRequired": { 54 | "message": "Teema ei voi olla tyhjä" 55 | }, 56 | "unstar": { 57 | "message": "Poista suosikeista" 58 | }, 59 | "viewStarredList": { 60 | "message": "Näytä suosikkilista" 61 | }, 62 | "edit": { 63 | "message": "Muokkaa" 64 | }, 65 | "editStarredContent": { 66 | "message": "Muokkaa suosikkiotsikkoa" 67 | }, 68 | "contentRequired": { 69 | "message": "Sisältö ei voi olla tyhjä" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Kaikki tiedot tallennetaan vain paikallisesti selaimeesi. Emme koskaan lataa chat-tietoja palvelimille ilman lupaasi" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Tämä projekti on avoimen lähdekoodin, tervetuloa" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Jos se auttaa sinua, suosittele sitä ystävillesi" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ka/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ინტერაქტიული დროის ხაზი ChatGPT, Gemini, DeepSeek-სთვის" 4 | }, 5 | "extDescription": { 6 | "message": "გაორმაგეთ თქვენი AI ჩეთის ეფექტურობა! დაამატეთ ინტერაქტიული დროის ხაზი ChatGPT, Gemini, DeepSeek-ს, 🚀 ადვილად გადახვედით ნებისმიერ საუბარზე, 📌 მონიშნეთ გასაღები საუბრები, ⭐️ რჩეულები მნიშვნელოვანი ჩატები." 7 | }, 8 | "viewStarred": { 9 | "message": "ფავორიტების ნახვა" 10 | }, 11 | "starredList": { 12 | "message": "ჩემი ფავორიტები" 13 | }, 14 | "close": { 15 | "message": "დახურვა" 16 | }, 17 | "clickToStar": { 18 | "message": "დააჭირეთ ფავორიტებში დასამატებლად" 19 | }, 20 | "clickToUnstar": { 21 | "message": "დააჭირეთ ფავორიტებიდან წასაშლელად" 22 | }, 23 | "noStarredItems": { 24 | "message": "ფავორიტები არ არის" 25 | }, 26 | "goTo": { 27 | "message": "გადასვლა" 28 | }, 29 | "goToTooltip": { 30 | "message": "ჩატის დეტალებზე გადასვლა" 31 | }, 32 | "copied": { 33 | "message": "დაკოპირებულია" 34 | }, 35 | "starChat": { 36 | "message": "ჩატის ფავორიტებში დამატება" 37 | }, 38 | "unstarChat": { 39 | "message": "ჩატის ფავორიტებიდან წაშლა" 40 | }, 41 | "inputChatTheme": { 42 | "message": "შეიყვანეთ რჩეულის სათაური:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "რჩეული სათაურის რედაქტირება" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "ყველა მონაცემი ინახება მხოლოდ თქვენს ბრაუზერში ლოკალურად. ჩვენ არასოდეს ავტვირთავთ ჩატის მონაცემებს სერვერებზე თქვენი ნებართვის გარეშე" 73 | }, 74 | "projectOpenSource": { 75 | "message": "ეს პროექტი ღია წყაროა, კეთილი იყოს თქვენი მობრძანება" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "თუ ეს გეხმარებათ, გირჩიეთ თქვენს მეგობრებს" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/es/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Línea de tiempo interactiva para ChatGPT, Gemini" 4 | }, 5 | "extDescription": { 6 | "message": "¡Duplica tu eficiencia de chat con IA! Añade línea de tiempo interactiva a ChatGPT, Gemini, DeepSeek, 🚀 salta fácilmente a cualquier conversación, 📌 marca conversaciones clave, ⭐️ favoritos de chats importantes." 7 | }, 8 | "viewStarred": { 9 | "message": "Ver favoritos" 10 | }, 11 | "starredList": { 12 | "message": "Mis Favoritos" 13 | }, 14 | "close": { 15 | "message": "Cerrar" 16 | }, 17 | "clickToStar": { 18 | "message": "Clic para añadir a favoritos" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Quitar pregunta de favoritos" 22 | }, 23 | "noStarredItems": { 24 | "message": "Sin favoritos" 25 | }, 26 | "goTo": { 27 | "message": "Ir a" 28 | }, 29 | "goToTooltip": { 30 | "message": "Ir a detalles del chat" 31 | }, 32 | "copied": { 33 | "message": "Copiado" 34 | }, 35 | "starChat": { 36 | "message": "Marcar chat como favorito" 37 | }, 38 | "unstarChat": { 39 | "message": "Quitar chat de favoritos" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Ingrese el título del favorito:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Por favor ingrese" 46 | }, 47 | "cancel": { 48 | "message": "Cancelar" 49 | }, 50 | "confirm": { 51 | "message": "Confirmar" 52 | }, 53 | "themeRequired": { 54 | "message": "El tema no puede estar vacío" 55 | }, 56 | "unstar": { 57 | "message": "Quitar de favoritos" 58 | }, 59 | "viewStarredList": { 60 | "message": "Ver lista de favoritos" 61 | }, 62 | "edit": { 63 | "message": "Editar" 64 | }, 65 | "editStarredContent": { 66 | "message": "Editar título favorito" 67 | }, 68 | "contentRequired": { 69 | "message": "El contenido no puede estar vacío" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Todos los datos se almacenan únicamente en su navegador localmente. Nunca subiremos ningún dato de chat a servidores sin su permiso" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Este proyecto es de código abierto, bienvenido a" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Si te ayuda, no dudes en recomendarlo a tus amigos" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/hi/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek के लिए इंटरैक्टिव टाइमलाइन" 4 | }, 5 | "extDescription": { 6 | "message": "अपनी AI चैट दक्षता दोगुनी करें! ChatGPT, Gemini, DeepSeek में इंटरैक्टिव टाइमलाइन जोड़ें, 🚀 किसी भी बातचीत पर आसानी से जाएं, 📌 मुख्य बातचीत को चिह्नित करें, ⭐️ महत्वपूर्ण चैट को पसंदीदा में जोड़ें।" 7 | }, 8 | "viewStarred": { 9 | "message": "पसंदीदा देखें" 10 | }, 11 | "starredList": { 12 | "message": "मेरी पसंदीदा" 13 | }, 14 | "close": { 15 | "message": "बंद करें" 16 | }, 17 | "clickToStar": { 18 | "message": "पसंदीदा में जोड़ने के लिए क्लिक करें" 19 | }, 20 | "clickToUnstar": { 21 | "message": "पसंदीदा से हटाने के लिए क्लिक करें" 22 | }, 23 | "noStarredItems": { 24 | "message": "कोई पसंदीदा नहीं" 25 | }, 26 | "goTo": { 27 | "message": "पर जाएं" 28 | }, 29 | "goToTooltip": { 30 | "message": "चैट विवरण पर जाएं" 31 | }, 32 | "copied": { 33 | "message": "कॉपी किया गया" 34 | }, 35 | "starChat": { 36 | "message": "चैट को पसंदीदा में जोड़ें" 37 | }, 38 | "unstarChat": { 39 | "message": "चैट को पसंदीदा से हटाएं" 40 | }, 41 | "inputChatTheme": { 42 | "message": "पसंदीदा शीर्षक दर्ज करें:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "दर्ज करें" 46 | }, 47 | "cancel": { 48 | "message": "रद्द करें" 49 | }, 50 | "confirm": { 51 | "message": "पुष्टि करें" 52 | }, 53 | "themeRequired": { 54 | "message": "थीम खाली नहीं हो सकती" 55 | }, 56 | "unstar": { 57 | "message": "पसंदीदा से हटाएं" 58 | }, 59 | "viewStarredList": { 60 | "message": "पसंदीदा सूची देखें" 61 | }, 62 | "edit": { 63 | "message": "संपादित करें" 64 | }, 65 | "editStarredContent": { 66 | "message": "पसंदीदा शीर्षक संपादित करें" 67 | }, 68 | "contentRequired": { 69 | "message": "सामग्री खाली नहीं हो सकती" 70 | }, 71 | "dataStorageNote": { 72 | "message": "सभी डेटा केवल आपके ब्राउज़र में स्थानीय रूप से संग्रहीत है। हम आपकी अनुमति के बिना कभी भी किसी चैट डेटा को सर्वर पर अपलोड नहीं करेंगे" 73 | }, 74 | "projectOpenSource": { 75 | "message": "यह परियोजना ओपन सोर्स है, स्वागत है" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "यदि यह आपकी मदद करता है, तो इसे अपने दोस्तों को सुझाने में संकोच न करें" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/es_419/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Línea de tiempo interactiva para ChatGPT, Gemini" 4 | }, 5 | "extDescription": { 6 | "message": "¡Duplica tu eficiencia de chat con IA! Añade línea de tiempo interactiva a ChatGPT, Gemini, DeepSeek, 🚀 salta fácilmente a cualquier conversación, 📌 marca conversaciones clave, ⭐️ favoritos de chats importantes." 7 | }, 8 | "viewStarred": { 9 | "message": "Ver favoritos" 10 | }, 11 | "starredList": { 12 | "message": "Mis Favoritos" 13 | }, 14 | "close": { 15 | "message": "Cerrar" 16 | }, 17 | "clickToStar": { 18 | "message": "Clic para agregar a favoritos" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Quitar pregunta de favoritos" 22 | }, 23 | "noStarredItems": { 24 | "message": "Sin favoritos" 25 | }, 26 | "goTo": { 27 | "message": "Ir a" 28 | }, 29 | "goToTooltip": { 30 | "message": "Ir a detalles del chat" 31 | }, 32 | "copied": { 33 | "message": "Copiado" 34 | }, 35 | "starChat": { 36 | "message": "Marcar chat como favorito" 37 | }, 38 | "unstarChat": { 39 | "message": "Quitar chat de favoritos" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Ingrese el título del favorito:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Por favor ingrese" 46 | }, 47 | "cancel": { 48 | "message": "Cancelar" 49 | }, 50 | "confirm": { 51 | "message": "Confirmar" 52 | }, 53 | "themeRequired": { 54 | "message": "El tema no puede estar vacío" 55 | }, 56 | "unstar": { 57 | "message": "Quitar de favoritos" 58 | }, 59 | "viewStarredList": { 60 | "message": "Ver lista de favoritos" 61 | }, 62 | "edit": { 63 | "message": "Editar" 64 | }, 65 | "editStarredContent": { 66 | "message": "Editar título favorito" 67 | }, 68 | "contentRequired": { 69 | "message": "El contenido no puede estar vacío" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Todos los datos se almacenan únicamente en su navegador localmente. Nunca subiremos ningún dato de chat a servidores sin su permiso" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Este proyecto es de código abierto, bienvenido a" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Si te ayuda, no dudes en recomendarlo a tus amigos" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/lv/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktīva laika skala ChatGPT, Gemini, DeepSeek u.c." 4 | }, 5 | "extDescription": { 6 | "message": "Dubultojiet savu AI tērzēšanas efektivitāti! Pievienojiet interaktīvu laika skalu ChatGPT, Gemini, DeepSeek, 🚀 viegli pārejiet uz jebkuru sarunu, 📌 atzīmējiet galvenās sarunas, ⭐️ iecienītākās svarīgās tērzēšanas." 7 | }, 8 | "viewStarred": { 9 | "message": "Skatīt izlasi" 10 | }, 11 | "starredList": { 12 | "message": "Mana Izlase" 13 | }, 14 | "close": { 15 | "message": "Aizvērt" 16 | }, 17 | "clickToStar": { 18 | "message": "Noklikšķiniet, lai pievienotu izlasei" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Noklikšķiniet, lai noņemtu no izlases" 22 | }, 23 | "noStarredItems": { 24 | "message": "Nav izlases" 25 | }, 26 | "goTo": { 27 | "message": "Doties uz" 28 | }, 29 | "goToTooltip": { 30 | "message": "Doties uz tērzēšanas detaļām" 31 | }, 32 | "copied": { 33 | "message": "Nokopēts" 34 | }, 35 | "starChat": { 36 | "message": "Pievienot tērzēšanu izlasei" 37 | }, 38 | "unstarChat": { 39 | "message": "Noņemt tērzēšanu no izlases" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Ievadiet izlases nosaukumu:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Atcelt" 49 | }, 50 | "confirm": { 51 | "message": "Apstiprināt" 52 | }, 53 | "themeRequired": { 54 | "message": "Tēma nevar būt tukša" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Rediģēt iecienītā nosaukumu" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Visi dati tiek glabāti tikai lokāli jūsu pārlūkprogrammā. Mēs nekad neaugšupielādēsim nekādus tērzēšanas datus uz serveriem bez jūsu atļaujas" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Šis projekts ir atvērtā koda, laipni lūdzam" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ja tas jums palīdz, ieteiciet to saviem draugiem" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/sk/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktívna časová os pre ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Zdvojnásobte svoju efektivitu AI chatu! Pridajte interaktívnu časovú os do ChatGPT, Gemini, DeepSeek, 🚀 ľahko preskočte na akúkoľvek konverzáciu, 📌 označte kľúčové konverzácie, ⭐️ obľúbené dôležité chaty." 7 | }, 8 | "viewStarred": { 9 | "message": "Zobraziť obľúbené" 10 | }, 11 | "starredList": { 12 | "message": "Moje Obľúbené" 13 | }, 14 | "close": { 15 | "message": "Zavrieť" 16 | }, 17 | "clickToStar": { 18 | "message": "Kliknite pre pridanie do obľúbených" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Kliknite pre odstránenie z obľúbených" 22 | }, 23 | "noStarredItems": { 24 | "message": "Žiadne obľúbené" 25 | }, 26 | "goTo": { 27 | "message": "Prejsť na" 28 | }, 29 | "goToTooltip": { 30 | "message": "Prejsť na podrobnosti chatu" 31 | }, 32 | "copied": { 33 | "message": "Skopírované" 34 | }, 35 | "starChat": { 36 | "message": "Pridať chat do obľúbených" 37 | }, 38 | "unstarChat": { 39 | "message": "Odstrániť chat z obľúbených" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Zadajte názov obľúbenej položky:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Zadajte" 46 | }, 47 | "cancel": { 48 | "message": "Zrušiť" 49 | }, 50 | "confirm": { 51 | "message": "Potvrdiť" 52 | }, 53 | "themeRequired": { 54 | "message": "Téma nemôže byť prázdna" 55 | }, 56 | "unstar": { 57 | "message": "Odstrániť z obľúbených" 58 | }, 59 | "viewStarredList": { 60 | "message": "Zobraziť zoznam obľúbených" 61 | }, 62 | "edit": { 63 | "message": "Upraviť" 64 | }, 65 | "editStarredContent": { 66 | "message": "Upraviť názov obľúbeného" 67 | }, 68 | "contentRequired": { 69 | "message": "Obsah nemôže byť prázdny" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Všetky údaje sú uložené iba lokálne vo vašom prehliadači. Nikdy nebudeme nahrávať žiadne údaje chatu na servery bez vášho súhlasu" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Tento projekt je open source, vitajte" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ak vám to pomôže, odporučte to svojim priateľom" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/bg/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Интерактивна времева линия за ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Удвоете ефективността на вашия AI чат! Добавете интерактивна времева линия към ChatGPT, Gemini, DeepSeek, 🚀 лесно преминете към всеки разговор, 📌 отбележете ключови разговори, ⭐️ любими важни чатове." 7 | }, 8 | "viewStarred": { 9 | "message": "Преглед на любими" 10 | }, 11 | "starredList": { 12 | "message": "Моите Любими" 13 | }, 14 | "close": { 15 | "message": "Затвори" 16 | }, 17 | "clickToStar": { 18 | "message": "Кликнете, за да добавите към любими" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Кликнете, за да премахнете от любими" 22 | }, 23 | "noStarredItems": { 24 | "message": "Няма любими" 25 | }, 26 | "goTo": { 27 | "message": "Отиди на" 28 | }, 29 | "goToTooltip": { 30 | "message": "Отиди към детайли на чата" 31 | }, 32 | "copied": { 33 | "message": "Копирано" 34 | }, 35 | "starChat": { 36 | "message": "Добави чат в любими" 37 | }, 38 | "unstarChat": { 39 | "message": "Премахни чат от любими" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Въведете заглавие на любимо:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Въведете" 46 | }, 47 | "cancel": { 48 | "message": "Отказ" 49 | }, 50 | "confirm": { 51 | "message": "Потвърди" 52 | }, 53 | "themeRequired": { 54 | "message": "Темата не може да бъде празна" 55 | }, 56 | "unstar": { 57 | "message": "Премахни от любими" 58 | }, 59 | "viewStarredList": { 60 | "message": "Преглед на списъка с любими" 61 | }, 62 | "edit": { 63 | "message": "Редактирай" 64 | }, 65 | "editStarredContent": { 66 | "message": "Редактиране на заглавието на любимо" 67 | }, 68 | "contentRequired": { 69 | "message": "Съдържанието не може да бъде празно" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Всички данни се съхраняват само локално във вашия браузър. Никога няма да качваме данни от чат на сървъри без вашето разрешение" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Този проект е с отворен код, добре дошли в" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ако ви помага, препоръчайте го на приятелите си" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/hy/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Ինտերակտիվ ժամանակացույց ChatGPT, Gemini, DeepSeek համար" 4 | }, 5 | "extDescription": { 6 | "message": "Կրկնապատկեք ձեր AI զրույցի արդյունավետությունը: Ավելացրեք ինտերակտիվ ժամանակացույց ChatGPT, Gemini, DeepSeek-ին, 🚀 հեշտությամբ անցեք ցանկացած խոսակցության, 📌 նշեք հիմնական խոսակցությունները, ⭐️ ընտրյալներ կարևոր չաթերը:" 7 | }, 8 | "viewStarred": { 9 | "message": "Դիտել ընտրանին" 10 | }, 11 | "starredList": { 12 | "message": "Իմ Ընտրանին" 13 | }, 14 | "close": { 15 | "message": "Փակել" 16 | }, 17 | "clickToStar": { 18 | "message": "Սեղմեք՝ ընտրանիում ավելացնելու համար" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Սեղմեք՝ ընտրանիից հեռացնելու համար" 22 | }, 23 | "noStarredItems": { 24 | "message": "Ընտրանի չկա" 25 | }, 26 | "goTo": { 27 | "message": "Անցնել" 28 | }, 29 | "goToTooltip": { 30 | "message": "Անցնել զրույցի մանրամասներին" 31 | }, 32 | "copied": { 33 | "message": "Պատճենված է" 34 | }, 35 | "starChat": { 36 | "message": "Ավելացնել զրույցը նախընտրածներին" 37 | }, 38 | "unstarChat": { 39 | "message": "Հեռացնել զրույցը նախընտրածներից" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Մուտքագրեք ընտրյալի վերնագիրը:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Խմբագրել ընտրյալի վերնագիրը" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Բոլոր տվյալները պահվում են միայն ձեր բրաուզերում տեղական կերպով: Մենք երբեք չենք վերբեռնի զրույցի տվյալները սերվերներ առանց ձեր թույլտվության" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Այս նախագիծը բաց կոդով է, բարի գալուստ" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Եթե սա օգնում է ձեզ, խորհուրդ տվեք ձեր ընկերներին" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/id/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Garis waktu interaktif untuk ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Gandakan efisiensi obrolan AI Anda! Tambahkan garis waktu interaktif ke ChatGPT, Gemini, DeepSeek, 🚀 lompat ke percakapan apa pun dengan mudah, 📌 tandai percakapan kunci, ⭐️ favoritkan obrolan penting." 7 | }, 8 | "viewStarred": { 9 | "message": "Lihat favorit" 10 | }, 11 | "starredList": { 12 | "message": "Favorit Saya" 13 | }, 14 | "close": { 15 | "message": "Tutup" 16 | }, 17 | "clickToStar": { 18 | "message": "Klik untuk menambahkan ke favorit" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klik untuk menghapus dari favorit" 22 | }, 23 | "noStarredItems": { 24 | "message": "Tidak ada favorit" 25 | }, 26 | "goTo": { 27 | "message": "Pergi ke" 28 | }, 29 | "goToTooltip": { 30 | "message": "Pergi ke detail obrolan" 31 | }, 32 | "copied": { 33 | "message": "Disalin" 34 | }, 35 | "starChat": { 36 | "message": "Tambahkan obrolan ke favorit" 37 | }, 38 | "unstarChat": { 39 | "message": "Hapus obrolan dari favorit" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Masukkan judul favorit:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Masukkan" 46 | }, 47 | "cancel": { 48 | "message": "Batal" 49 | }, 50 | "confirm": { 51 | "message": "Konfirmasi" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema tidak boleh kosong" 55 | }, 56 | "unstar": { 57 | "message": "Hapus dari favorit" 58 | }, 59 | "viewStarredList": { 60 | "message": "Lihat daftar favorit" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Edit judul favorit" 67 | }, 68 | "contentRequired": { 69 | "message": "Konten tidak boleh kosong" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Semua data hanya disimpan secara lokal di browser Anda. Kami tidak akan pernah mengunggah data obrolan apa pun ke server tanpa izin Anda" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Proyek ini bersifat open source, selamat datang di" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Jika membantu Anda, jangan ragu untuk merekomendasikannya kepada teman Anda" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/az/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek üçün interaktiv zaman xətti" 4 | }, 5 | "extDescription": { 6 | "message": "AI söhbət səmərəliliyinizi iki dəfə artırın! ChatGPT, Gemini, DeepSeek-ə interaktiv zaman xətti əlavə edin, 🚀 asanlıqla istənilən söhbətə keçin, 📌 açar söhbətləri qeyd edin, ⭐️ vacib söhbətləri sevimlilərə əlavə edin." 7 | }, 8 | "viewStarred": { 9 | "message": "Sevimliləri göstər" 10 | }, 11 | "starredList": { 12 | "message": "Mənim Sevimlilər" 13 | }, 14 | "close": { 15 | "message": "Bağla" 16 | }, 17 | "clickToStar": { 18 | "message": "Sevimlilərə əlavə etmək üçün klikləyin" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Sevimlilərdən çıxarmaq üçün klikləyin" 22 | }, 23 | "noStarredItems": { 24 | "message": "Sevimlilər yoxdur" 25 | }, 26 | "goTo": { 27 | "message": "Get" 28 | }, 29 | "goToTooltip": { 30 | "message": "Söhbət təfərrüatlarına get" 31 | }, 32 | "copied": { 33 | "message": "Kopyalandı" 34 | }, 35 | "starChat": { 36 | "message": "Söhbəti sevimlilərə əlavə et" 37 | }, 38 | "unstarChat": { 39 | "message": "Söhbəti sevimlilərdən sil" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Sevimlinin başlığını daxil edin:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Sevimli başlığı redaktə et" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Bütün məlumatlar yalnız brauzerizdə yerli olaraq saxlanılır. Biz heç vaxt icazəniz olmadan çat məlumatlarını serverlərə yükləməyəcəyik" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Bu layihə açıq mənbəlidir, xoş gəlmisiniz" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Sizə kömək edirsə, dostlarınıza tövsiyə etməkdən çəkinməyin" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/kk/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek үшін интерактивті уақыт шкаласы" 4 | }, 5 | "extDescription": { 6 | "message": "AI чат тиімділігіңізді екі еселеңіз! ChatGPT, Gemini, DeepSeek-ке интерактивті уақыт шкаласын қосыңыз, 🚀 кез келген әңгімеге оңай секіріңіз, 📌 негізгі әңгімелерді белгілеңіз, ⭐️ маңызды чаттарды таңдаулыларға қосыңыз." 7 | }, 8 | "viewStarred": { 9 | "message": "Таңдаулыларды көру" 10 | }, 11 | "starredList": { 12 | "message": "Менің Таңдаулыларым" 13 | }, 14 | "close": { 15 | "message": "Жабу" 16 | }, 17 | "clickToStar": { 18 | "message": "Таңдаулыларға қосу үшін басыңыз" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Таңдаулылардан алып тастау үшін басыңыз" 22 | }, 23 | "noStarredItems": { 24 | "message": "Таңдаулылар жоқ" 25 | }, 26 | "goTo": { 27 | "message": "Өту" 28 | }, 29 | "goToTooltip": { 30 | "message": "Чат мәліметтеріне өту" 31 | }, 32 | "copied": { 33 | "message": "Көшірілді" 34 | }, 35 | "starChat": { 36 | "message": "Чатты таңдаулыларға қосу" 37 | }, 38 | "unstarChat": { 39 | "message": "Чатты таңдаулылардан алып тастау" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Таңдаулының тақырыбын енгізіңіз:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Таңдаулы атауын өңдеу" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Барлық деректер тек сіздің браузеріңізде жергілікті түрде сақталады. Біз сіздің рұқсатыңызсыз чат деректерін ешқашан серверлерге жүктемейміз" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Бұл жоба ашық бастапқы кодты, қош келдіңіз" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Егер бұл сізге көмектесе, достарыңызға ұсынуға тартынбаңыз" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ro/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Cronologie interactivă pentru ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Dublați-vă eficiența chat-ului AI! Adăugați cronologie interactivă la ChatGPT, Gemini, DeepSeek, 🚀 săriți ușor la orice conversație, 📌 marcați conversații cheie, ⭐️ favorite chat-uri importante." 7 | }, 8 | "viewStarred": { 9 | "message": "Vezi favoritele" 10 | }, 11 | "starredList": { 12 | "message": "Favoritele Mele" 13 | }, 14 | "close": { 15 | "message": "Închide" 16 | }, 17 | "clickToStar": { 18 | "message": "Faceți clic pentru a adăuga la favorite" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Faceți clic pentru a elimina din favorite" 22 | }, 23 | "noStarredItems": { 24 | "message": "Niciun favorit" 25 | }, 26 | "goTo": { 27 | "message": "Mergi la" 28 | }, 29 | "goToTooltip": { 30 | "message": "Mergi la detaliile conversației" 31 | }, 32 | "copied": { 33 | "message": "Copiat" 34 | }, 35 | "starChat": { 36 | "message": "Adaugă conversația la favorite" 37 | }, 38 | "unstarChat": { 39 | "message": "Elimină conversația din favorite" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Introduceți titlul favorit:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Introduceți" 46 | }, 47 | "cancel": { 48 | "message": "Anulare" 49 | }, 50 | "confirm": { 51 | "message": "Confirmare" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema nu poate fi goală" 55 | }, 56 | "unstar": { 57 | "message": "Elimină din favorite" 58 | }, 59 | "viewStarredList": { 60 | "message": "Vezi lista de favorite" 61 | }, 62 | "edit": { 63 | "message": "Editează" 64 | }, 65 | "editStarredContent": { 66 | "message": "Editare titlu favorit" 67 | }, 68 | "contentRequired": { 69 | "message": "Conținutul nu poate fi gol" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Toate datele sunt stocate doar local în browserul dvs. Nu vom încărca niciodată date de chat pe servere fără permisiunea dvs." 73 | }, 74 | "projectOpenSource": { 75 | "message": "Acest proiect este open source, bine ați venit la" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Dacă vă ajută, recomandați-l prietenilor dvs" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/si/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek සඳහා අන්තර්ක්රියාකාරී කාල රේඛාව" 4 | }, 5 | "extDescription": { 6 | "message": "ඔබේ AI කතාබස් කාර්යක්ෂමතාව දෙගුණ කරන්න! ChatGPT, Gemini, DeepSeek වෙත අන්තර්ක්රියාකාරී කාල රේඛාව එක් කරන්න, 🚀 ඕනෑම සංවාදයකට පහසුවෙන් පනින්න, 📌 ප්රධාන සංවාද සලකුණු කරන්න, ⭐️ වැදගත් චැට් ප්රියතම කරන්න." 7 | }, 8 | "viewStarred": { 9 | "message": "ප්රියතම බලන්න" 10 | }, 11 | "starredList": { 12 | "message": "මගේ ප්රියතම" 13 | }, 14 | "close": { 15 | "message": "වසන්න" 16 | }, 17 | "clickToStar": { 18 | "message": "ප්රියතමයන්ට එකතු කිරීමට ක්ලික් කරන්න" 19 | }, 20 | "clickToUnstar": { 21 | "message": "ප්රියතමයන්ගෙන් ඉවත් කිරීමට ක්ලික් කරන්න" 22 | }, 23 | "noStarredItems": { 24 | "message": "ප්රියතම නැත" 25 | }, 26 | "goTo": { 27 | "message": "යන්න" 28 | }, 29 | "goToTooltip": { 30 | "message": "කතාබස් විස්තර වෙත යන්න" 31 | }, 32 | "copied": { 33 | "message": "පිටපත් කළා" 34 | }, 35 | "starChat": { 36 | "message": "කතාබස් ප්රියතම ලෙස සලකුණු කරන්න" 37 | }, 38 | "unstarChat": { 39 | "message": "කතාබස් ප්රියතම ලෙස ඉවත් කරන්න" 40 | }, 41 | "inputChatTheme": { 42 | "message": "ප්රියතම මාතෘකාව ඇතුලත් කරන්න:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "ප්රියතම මාතෘකාව සංස්කරණය කරන්න" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "සියලු දත්ත ඔබේ බ්රව්සරයේ පමණක් ස්ථානිකව ගබඩා කර ඇත. ඔබේ අවසරයකින් තොරව අපි කිසි විටෙකත් කතාබස් දත්ත සේවාදායකයන්ට උඩුගත නොකරමු" 73 | }, 74 | "projectOpenSource": { 75 | "message": "මෙම ව්යාපෘතිය විවෘත මූලාශ්රයකි, සාදරයෙන් පිළිගනිමු" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "එය ඔබට උපකාර වන්නේ නම්, ඔබේ මිතුරන්ට එය නිර්දේශ කිරීමට නිදහස් වන්න" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/sv/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktiv tidslinje för ChatGPT, Gemini, DeepSeek m.fl." 4 | }, 5 | "extDescription": { 6 | "message": "Fördubbla din AI-chatteffektivitet! Lägg till interaktiv tidslinje till ChatGPT, Gemini, DeepSeek, 🚀 hoppa lätt till vilken konversation som helst, 📌 markera viktiga konversationer, ⭐️ favorisera viktiga chattar." 7 | }, 8 | "viewStarred": { 9 | "message": "Visa favoriter" 10 | }, 11 | "starredList": { 12 | "message": "Mina Favoriter" 13 | }, 14 | "close": { 15 | "message": "Stäng" 16 | }, 17 | "clickToStar": { 18 | "message": "Klicka för att lägga till i favoriter" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klicka för att ta bort från favoriter" 22 | }, 23 | "noStarredItems": { 24 | "message": "Inga favoriter" 25 | }, 26 | "goTo": { 27 | "message": "Gå till" 28 | }, 29 | "goToTooltip": { 30 | "message": "Gå till chattdetaljer" 31 | }, 32 | "copied": { 33 | "message": "Kopierat" 34 | }, 35 | "starChat": { 36 | "message": "Stjärnmarkera chatt" 37 | }, 38 | "unstarChat": { 39 | "message": "Ta bort stjärnmarkering från chatt" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Ange favorittitel:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Ange" 46 | }, 47 | "cancel": { 48 | "message": "Avbryt" 49 | }, 50 | "confirm": { 51 | "message": "Bekräfta" 52 | }, 53 | "themeRequired": { 54 | "message": "Temat får inte vara tomt" 55 | }, 56 | "unstar": { 57 | "message": "Ta bort från favoriter" 58 | }, 59 | "viewStarredList": { 60 | "message": "Visa lista över favoriter" 61 | }, 62 | "edit": { 63 | "message": "Redigera" 64 | }, 65 | "editStarredContent": { 66 | "message": "Redigera favorittitel" 67 | }, 68 | "contentRequired": { 69 | "message": "Innehåll får inte vara tomt" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Alla data lagras endast lokalt i din webbläsare. Vi kommer aldrig att ladda upp chattdata till servrar utan ditt tillstånd" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Detta projekt är öppen källkod, välkommen till" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Om det hjälper dig, tveka inte att rekommendera det till dina vänner" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/uk/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Інтерактивна хронологія для ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Подвойте ефективність вашого AI-чату! Додайте інтерактивну часову шкалу до ChatGPT, Gemini, DeepSeek, 🚀 легко переходьте до будь-якої розмови, 📌 позначайте ключові розмови, ⭐️ додайте важливі чати до обраного." 7 | }, 8 | "viewStarred": { 9 | "message": "Переглянути вибране" 10 | }, 11 | "starredList": { 12 | "message": "Моє Вибране" 13 | }, 14 | "close": { 15 | "message": "Закрити" 16 | }, 17 | "clickToStar": { 18 | "message": "Натисніть, щоб додати до вибраного" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Натисніть, щоб видалити з вибраного" 22 | }, 23 | "noStarredItems": { 24 | "message": "Немає вибраного" 25 | }, 26 | "goTo": { 27 | "message": "Перейти до" 28 | }, 29 | "goToTooltip": { 30 | "message": "Перейти до деталей чату" 31 | }, 32 | "copied": { 33 | "message": "Скопійовано" 34 | }, 35 | "starChat": { 36 | "message": "Додати чат в обране" 37 | }, 38 | "unstarChat": { 39 | "message": "Видалити чат з обраного" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Введіть назву обраного:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Введіть" 46 | }, 47 | "cancel": { 48 | "message": "Скасувати" 49 | }, 50 | "confirm": { 51 | "message": "Підтвердити" 52 | }, 53 | "themeRequired": { 54 | "message": "Тема не може бути порожньою" 55 | }, 56 | "unstar": { 57 | "message": "Видалити з обраного" 58 | }, 59 | "viewStarredList": { 60 | "message": "Переглянути список обраного" 61 | }, 62 | "edit": { 63 | "message": "Редагувати" 64 | }, 65 | "editStarredContent": { 66 | "message": "Редагувати назву обраного" 67 | }, 68 | "contentRequired": { 69 | "message": "Вміст не може бути порожнім" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Всі дані зберігаються лише локально у вашому браузері. Ми ніколи не будемо завантажувати дані чату на сервери без вашого дозволу" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Цей проект має відкритий вихідний код, ласкаво просимо" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Якщо вам це допомогло, рекомендуйте друзям" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/nl/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interactieve tijdlijn voor ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Verdubbel uw AI-chatefficiëntie! Voeg interactieve tijdlijn toe aan ChatGPT, Gemini, DeepSeek, 🚀 spring eenvoudig naar elk gesprek, 📌 markeer belangrijke gesprekken, ⭐️ favoriete belangrijke chats." 7 | }, 8 | "viewStarred": { 9 | "message": "Favorieten bekijken" 10 | }, 11 | "starredList": { 12 | "message": "Mijn Favorieten" 13 | }, 14 | "close": { 15 | "message": "Sluiten" 16 | }, 17 | "clickToStar": { 18 | "message": "Vraag toevoegen aan favorieten" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Vraag verwijderen uit favorieten" 22 | }, 23 | "noStarredItems": { 24 | "message": "Geen favorieten" 25 | }, 26 | "goTo": { 27 | "message": "Ga naar" 28 | }, 29 | "goToTooltip": { 30 | "message": "Ga naar chatdetails" 31 | }, 32 | "copied": { 33 | "message": "Gekopieerd" 34 | }, 35 | "starChat": { 36 | "message": "Chat toevoegen aan favorieten" 37 | }, 38 | "unstarChat": { 39 | "message": "Chat verwijderen uit favorieten" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Voer favoriettitel in:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Voer in" 46 | }, 47 | "cancel": { 48 | "message": "Annuleren" 49 | }, 50 | "confirm": { 51 | "message": "Bevestigen" 52 | }, 53 | "themeRequired": { 54 | "message": "Thema mag niet leeg zijn" 55 | }, 56 | "unstar": { 57 | "message": "Verwijder uit favorieten" 58 | }, 59 | "viewStarredList": { 60 | "message": "Toon lijst met favorieten" 61 | }, 62 | "edit": { 63 | "message": "Bewerken" 64 | }, 65 | "editStarredContent": { 66 | "message": "Favorietentitel bewerken" 67 | }, 68 | "contentRequired": { 69 | "message": "Inhoud mag niet leeg zijn" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Alle gegevens worden alleen lokaal in uw browser opgeslagen. We zullen nooit chatgegevens naar servers uploaden zonder uw toestemming" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Dit project is open source, welkom bij" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Als het u helpt, aarzel dan niet om het aan uw vrienden aan te bevelen" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/pt_BR/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Linha do tempo interativa para ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Dobre sua eficiência de chat com IA! Adicione linha do tempo interativa ao ChatGPT, Gemini, DeepSeek, 🚀 pule facilmente para qualquer conversa, 📌 marque conversas-chave, ⭐️ favorite chats importantes." 7 | }, 8 | "viewStarred": { 9 | "message": "Ver favoritos" 10 | }, 11 | "starredList": { 12 | "message": "Meus Favoritos" 13 | }, 14 | "close": { 15 | "message": "Fechar" 16 | }, 17 | "clickToStar": { 18 | "message": "Clique para adicionar aos favoritos" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Clique para remover dos favoritos" 22 | }, 23 | "noStarredItems": { 24 | "message": "Sem favoritos" 25 | }, 26 | "goTo": { 27 | "message": "Ir para" 28 | }, 29 | "goToTooltip": { 30 | "message": "Ir para detalhes do chat" 31 | }, 32 | "copied": { 33 | "message": "Copiado" 34 | }, 35 | "starChat": { 36 | "message": "Favoritar conversa" 37 | }, 38 | "unstarChat": { 39 | "message": "Desfavoritar conversa" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Digite o título do favorito:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Digite" 46 | }, 47 | "cancel": { 48 | "message": "Cancelar" 49 | }, 50 | "confirm": { 51 | "message": "Confirmar" 52 | }, 53 | "themeRequired": { 54 | "message": "O tema não pode estar vazio" 55 | }, 56 | "unstar": { 57 | "message": "Remover dos favoritos" 58 | }, 59 | "viewStarredList": { 60 | "message": "Ver lista de favoritos" 61 | }, 62 | "edit": { 63 | "message": "Editar" 64 | }, 65 | "editStarredContent": { 66 | "message": "Editar título favorito" 67 | }, 68 | "contentRequired": { 69 | "message": "O conteúdo não pode estar vazio" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Todos os dados são armazenados apenas localmente no seu navegador. Nunca faremos upload de nenhum dado de chat para servidores sem a sua permissão" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Este projeto é de código aberto, bem-vindo a" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Se te ajudar, sinta-se à vontade para recomendar aos seus amigos" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/de/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktive Zeitleiste für ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Verdoppeln Sie Ihre KI-Chat-Effizienz! Fügen Sie ChatGPT, Gemini, DeepSeek eine interaktive Zeitleiste hinzu, 🚀 springen Sie einfach zu jedem Gespräch, 📌 markieren Sie wichtige Gespräche, ⭐️ setzen Sie wichtige Chats als Favoriten." 7 | }, 8 | "viewStarred": { 9 | "message": "Favoriten anzeigen" 10 | }, 11 | "starredList": { 12 | "message": "Meine Favoriten" 13 | }, 14 | "close": { 15 | "message": "Schließen" 16 | }, 17 | "clickToStar": { 18 | "message": "Klicken zum Favorisieren" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klicken zum Entfernen" 22 | }, 23 | "noStarredItems": { 24 | "message": "Keine Favoriten" 25 | }, 26 | "goTo": { 27 | "message": "Gehe zu" 28 | }, 29 | "goToTooltip": { 30 | "message": "Zu Chat-Details gehen" 31 | }, 32 | "copied": { 33 | "message": "Kopiert" 34 | }, 35 | "starChat": { 36 | "message": "Chat markieren" 37 | }, 38 | "unstarChat": { 39 | "message": "Chat-Markierung entfernen" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Titel des Favoriten eingeben:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Bitte eingeben" 46 | }, 47 | "cancel": { 48 | "message": "Abbrechen" 49 | }, 50 | "confirm": { 51 | "message": "Bestätigen" 52 | }, 53 | "themeRequired": { 54 | "message": "Thema darf nicht leer sein" 55 | }, 56 | "unstar": { 57 | "message": "Markierung entfernen" 58 | }, 59 | "viewStarredList": { 60 | "message": "Favoritenliste anzeigen" 61 | }, 62 | "edit": { 63 | "message": "Bearbeiten" 64 | }, 65 | "editStarredContent": { 66 | "message": "Favoriten-Titel bearbeiten" 67 | }, 68 | "contentRequired": { 69 | "message": "Inhalt darf nicht leer sein" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Alle Daten werden nur lokal in Ihrem Browser gespeichert. Wir werden ohne Ihre Erlaubnis niemals Chat-Daten auf Server hochladen" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Dieses Projekt ist Open Source, willkommen zu" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Wenn es Ihnen hilft, empfehlen Sie es gerne Ihren Freunden weiter" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ms/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Garis masa interaktif untuk ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Gandakan kecekapan sembang AI anda! Tambahkan garis masa interaktif kepada ChatGPT, Gemini, DeepSeek, 🚀 lompat ke mana-mana perbualan dengan mudah, 📌 tandakan perbualan utama, ⭐️ kegemaran sembang penting." 7 | }, 8 | "viewStarred": { 9 | "message": "Lihat kegemaran" 10 | }, 11 | "starredList": { 12 | "message": "Kegemaran Saya" 13 | }, 14 | "close": { 15 | "message": "Tutup" 16 | }, 17 | "clickToStar": { 18 | "message": "Klik untuk menambah ke kegemaran" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Klik untuk mengeluarkan dari kegemaran" 22 | }, 23 | "noStarredItems": { 24 | "message": "Tiada kegemaran" 25 | }, 26 | "goTo": { 27 | "message": "Pergi ke" 28 | }, 29 | "goToTooltip": { 30 | "message": "Pergi ke butiran sembang" 31 | }, 32 | "copied": { 33 | "message": "Disalin" 34 | }, 35 | "starChat": { 36 | "message": "Tambah sembang ke kegemaran" 37 | }, 38 | "unstarChat": { 39 | "message": "Buang sembang dari kegemaran" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Masukkan tajuk kegemaran:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Masukkan" 46 | }, 47 | "cancel": { 48 | "message": "Batal" 49 | }, 50 | "confirm": { 51 | "message": "Sahkan" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema tidak boleh kosong" 55 | }, 56 | "unstar": { 57 | "message": "Buang dari kegemaran" 58 | }, 59 | "viewStarredList": { 60 | "message": "Lihat senarai kegemaran" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Edit tajuk kegemaran" 67 | }, 68 | "contentRequired": { 69 | "message": "Kandungan tidak boleh kosong" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Semua data hanya disimpan secara setempat dalam pelayar anda. Kami tidak akan memuat naik sebarang data sembang ke pelayan tanpa kebenaran anda" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Projek ini adalah sumber terbuka, selamat datang ke" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Jika ia membantu anda, jangan ragu untuk mengesyorkannya kepada rakan anda" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/hu/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktív idővonal ChatGPT, Gemini, DeepSeek stb.-hez" 4 | }, 5 | "extDescription": { 6 | "message": "Duplázd meg az AI chat hatékonyságodat! Adj hozzá interaktív idővonalat a ChatGPT, Gemini, DeepSeek-hez, 🚀 könnyen ugorj bármely beszélgetéshez, 📌 jelöld meg a kulcs beszélgetéseket, ⭐️ kedvencekhez add a fontos chateket." 7 | }, 8 | "viewStarred": { 9 | "message": "Kedvencek megtekintése" 10 | }, 11 | "starredList": { 12 | "message": "Kedvenceim" 13 | }, 14 | "close": { 15 | "message": "Bezárás" 16 | }, 17 | "clickToStar": { 18 | "message": "Kérdés hozzáadása a kedvencekhez" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Kattintson a kedvencekből eltávolításhoz" 22 | }, 23 | "noStarredItems": { 24 | "message": "Nincsenek kedvencek" 25 | }, 26 | "goTo": { 27 | "message": "Ugrás ide" 28 | }, 29 | "goToTooltip": { 30 | "message": "Ugrás a csevegés részleteihez" 31 | }, 32 | "copied": { 33 | "message": "Másolva" 34 | }, 35 | "starChat": { 36 | "message": "Chat hozzáadása a kedvencekhez" 37 | }, 38 | "unstarChat": { 39 | "message": "Chat eltávolítása a kedvencekből" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Adja meg a kedvenc címét:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Írja be" 46 | }, 47 | "cancel": { 48 | "message": "Mégse" 49 | }, 50 | "confirm": { 51 | "message": "Megerősítés" 52 | }, 53 | "themeRequired": { 54 | "message": "A téma nem lehet üres" 55 | }, 56 | "unstar": { 57 | "message": "Eltávolítás a kedvencekből" 58 | }, 59 | "viewStarredList": { 60 | "message": "Kedvencek lista megtekintése" 61 | }, 62 | "edit": { 63 | "message": "Szerkesztés" 64 | }, 65 | "editStarredContent": { 66 | "message": "Kedvenc cím szerkesztése" 67 | }, 68 | "contentRequired": { 69 | "message": "A tartalom nem lehet üres" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Minden adat csak helyileg, a böngészőjében van tárolva. Soha nem töltünk fel chat adatokat szerverre az Ön engedélye nélkül" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Ez a projekt nyílt forráskódú, üdvözöljük" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Ha segít neked, nyugodtan ajánld barátaidnak" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/it/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Timeline interattiva per ChatGPT, Gemini, DeepSeek ecc." 4 | }, 5 | "extDescription": { 6 | "message": "Raddoppia la tua efficienza di chat AI! Aggiungi timeline interattiva a ChatGPT, Gemini, DeepSeek, 🚀 salta facilmente a qualsiasi conversazione, 📌 segna conversazioni chiave, ⭐️ preferiti per chat importanti." 7 | }, 8 | "viewStarred": { 9 | "message": "Visualizza preferiti" 10 | }, 11 | "starredList": { 12 | "message": "I Miei Preferiti" 13 | }, 14 | "close": { 15 | "message": "Chiudi" 16 | }, 17 | "clickToStar": { 18 | "message": "Aggiungi domanda ai preferiti" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Rimuovi domanda dai preferiti" 22 | }, 23 | "noStarredItems": { 24 | "message": "Nessun preferito" 25 | }, 26 | "goTo": { 27 | "message": "Vai a" 28 | }, 29 | "goToTooltip": { 30 | "message": "Vai ai dettagli della chat" 31 | }, 32 | "copied": { 33 | "message": "Copiato" 34 | }, 35 | "starChat": { 36 | "message": "Aggiungi chat ai preferiti" 37 | }, 38 | "unstarChat": { 39 | "message": "Rimuovi chat dai preferiti" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Inserisci il titolo del preferito:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Inserisci" 46 | }, 47 | "cancel": { 48 | "message": "Annulla" 49 | }, 50 | "confirm": { 51 | "message": "Conferma" 52 | }, 53 | "themeRequired": { 54 | "message": "Il tema non può essere vuoto" 55 | }, 56 | "unstar": { 57 | "message": "Rimuovi dai preferiti" 58 | }, 59 | "viewStarredList": { 60 | "message": "Visualizza elenco preferiti" 61 | }, 62 | "edit": { 63 | "message": "Modifica" 64 | }, 65 | "editStarredContent": { 66 | "message": "Modifica titolo preferito" 67 | }, 68 | "contentRequired": { 69 | "message": "Il contenuto non può essere vuoto" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Tutti i dati vengono archiviati solo localmente nel tuo browser. Non caricheremo mai alcun dato di chat sui server senza il tuo permesso" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Questo progetto è open source, benvenuto a" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Se ti aiuta, sentiti libero di consigliarlo ai tuoi amici" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/lt/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interaktyvi laiko juosta ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Padvigubinkite savo AI pokalbių efektyvumą! Pridėkite interaktyvią laiko juostą prie ChatGPT, Gemini, DeepSeek, 🚀 lengvai pereikite prie bet kurio pokalbio, 📌 pažymėkite pagrindinius pokalbius, ⭐️ mėgstamiausi svarbūs pokalbiai." 7 | }, 8 | "viewStarred": { 9 | "message": "Peržiūrėti mėgstamiausius" 10 | }, 11 | "starredList": { 12 | "message": "Mano Mėgstamiausi" 13 | }, 14 | "close": { 15 | "message": "Uždaryti" 16 | }, 17 | "clickToStar": { 18 | "message": "Spustelėkite, kad pridėtumėte į mėgstamiausius" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Spustelėkite, kad pašalintumėte iš mėgstamiausių" 22 | }, 23 | "noStarredItems": { 24 | "message": "Nėra mėgstamiausių" 25 | }, 26 | "goTo": { 27 | "message": "Eiti į" 28 | }, 29 | "goToTooltip": { 30 | "message": "Eiti į pokalbio informaciją" 31 | }, 32 | "copied": { 33 | "message": "Nukopijuota" 34 | }, 35 | "starChat": { 36 | "message": "Pridėti pokalbį į mėgstamus" 37 | }, 38 | "unstarChat": { 39 | "message": "Pašalinti pokalbį iš mėgstamų" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Įveskite mėgstamo pavadinimą:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Atšaukti" 49 | }, 50 | "confirm": { 51 | "message": "Patvirtinti" 52 | }, 53 | "themeRequired": { 54 | "message": "Tema negali būti tuščia" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "Redaguoti mėgstamą pavadinimą" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Visi duomenys saugomi tik vietoje jūsų naršyklėje. Niekada neįkelsime jokių pokalbių duomenų į serverius be jūsų leidimo" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Šis projektas yra atviro kodo, sveiki atvykę" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Jei jums tai padeda, rekomenduokite draugams" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ru/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Интерактивная хронология для ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Удвойте эффективность вашего ИИ-чата! Добавьте интерактивную временную шкалу в ChatGPT, Gemini, DeepSeek, 🚀 легко переходите к любому разговору, 📌 отмечайте ключевые разговоры, ⭐️ сохраняйте важные чаты в избранное." 7 | }, 8 | "viewStarred": { 9 | "message": "Просмотр избранного" 10 | }, 11 | "starredList": { 12 | "message": "Моё избранное" 13 | }, 14 | "close": { 15 | "message": "Закрыть" 16 | }, 17 | "clickToStar": { 18 | "message": "Нажмите, чтобы добавить в избранное" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Нажмите, чтобы удалить из избранного" 22 | }, 23 | "noStarredItems": { 24 | "message": "Нет избранного" 25 | }, 26 | "goTo": { 27 | "message": "Перейти" 28 | }, 29 | "goToTooltip": { 30 | "message": "Перейти к деталям чата" 31 | }, 32 | "copied": { 33 | "message": "Скопировано" 34 | }, 35 | "starChat": { 36 | "message": "Добавить чат в избранное" 37 | }, 38 | "unstarChat": { 39 | "message": "Удалить чат из избранного" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Введите заголовок избранного:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Введите" 46 | }, 47 | "cancel": { 48 | "message": "Отмена" 49 | }, 50 | "confirm": { 51 | "message": "Подтвердить" 52 | }, 53 | "themeRequired": { 54 | "message": "Тема не может быть пустой" 55 | }, 56 | "unstar": { 57 | "message": "Удалить из избранного" 58 | }, 59 | "viewStarredList": { 60 | "message": "Просмотр списка избранного" 61 | }, 62 | "edit": { 63 | "message": "Редактировать" 64 | }, 65 | "editStarredContent": { 66 | "message": "Редактировать название избранного" 67 | }, 68 | "contentRequired": { 69 | "message": "Содержимое не может быть пустым" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Все данные хранятся только локально в вашем браузере. Мы никогда не будем загружать данные чата на серверы без вашего разрешения" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Этот проект имеет открытый исходный код, добро пожаловать" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Если вам это помогло, рекомендуйте друзьям" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/fr/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Timeline interactive pour ChatGPT, Gemini, DeepSeek etc." 4 | }, 5 | "extDescription": { 6 | "message": "Doublez votre efficacité de chat IA ! Ajoutez une timeline interactive à ChatGPT, Gemini, DeepSeek, 🚀 sautez facilement vers n'importe quelle conversation, 📌 marquez les conversations clés, ⭐️ mettez en favoris les chats importants." 7 | }, 8 | "viewStarred": { 9 | "message": "Voir les favoris" 10 | }, 11 | "starredList": { 12 | "message": "Mes Favoris" 13 | }, 14 | "close": { 15 | "message": "Fermer" 16 | }, 17 | "clickToStar": { 18 | "message": "Marquer la question" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Retirer la question des favoris" 22 | }, 23 | "noStarredItems": { 24 | "message": "Aucun favori" 25 | }, 26 | "goTo": { 27 | "message": "Aller à" 28 | }, 29 | "goToTooltip": { 30 | "message": "Aller aux détails du chat" 31 | }, 32 | "copied": { 33 | "message": "Copié" 34 | }, 35 | "starChat": { 36 | "message": "Marquer le chat" 37 | }, 38 | "unstarChat": { 39 | "message": "Retirer le chat des favoris" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Entrez le titre du favori:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Veuillez saisir" 46 | }, 47 | "cancel": { 48 | "message": "Annuler" 49 | }, 50 | "confirm": { 51 | "message": "Confirmer" 52 | }, 53 | "themeRequired": { 54 | "message": "Le thème ne peut pas être vide" 55 | }, 56 | "unstar": { 57 | "message": "Retirer des favoris" 58 | }, 59 | "viewStarredList": { 60 | "message": "Voir la liste des favoris" 61 | }, 62 | "edit": { 63 | "message": "Modifier" 64 | }, 65 | "editStarredContent": { 66 | "message": "Modifier le titre du favori" 67 | }, 68 | "contentRequired": { 69 | "message": "Le contenu ne peut pas être vide" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Toutes les données sont stockées uniquement en local dans votre navigateur. Nous ne téléchargerons jamais de données de chat sur des serveurs sans votre permission" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Ce projet est open source, bienvenue à" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Si cela vous aide, n'hésitez pas à le recommander à vos amis" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/vi/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Dòng thời gian tương tác cho ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Tăng gấp đôi hiệu quả trò chuyện AI của bạn! Thêm dòng thời gian tương tác vào ChatGPT, Gemini, DeepSeek, 🚀 chuyển đến bất kỳ cuộc trò chuyện nào một cách dễ dàng, 📌 đánh dấu các cuộc trò chuyện chính, ⭐️ yêu thích các cuộc trò chuyện quan trọng." 7 | }, 8 | "viewStarred": { 9 | "message": "Xem yêu thích" 10 | }, 11 | "starredList": { 12 | "message": "Danh Sách Yêu Thích" 13 | }, 14 | "close": { 15 | "message": "Đóng" 16 | }, 17 | "clickToStar": { 18 | "message": "Nhấp để thêm vào yêu thích" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Nhấp để xóa khỏi yêu thích" 22 | }, 23 | "noStarredItems": { 24 | "message": "Không có mục yêu thích" 25 | }, 26 | "goTo": { 27 | "message": "Đi tới" 28 | }, 29 | "goToTooltip": { 30 | "message": "Đi tới chi tiết trò chuyện" 31 | }, 32 | "copied": { 33 | "message": "Đã sao chép" 34 | }, 35 | "starChat": { 36 | "message": "Lưu cuộc trò chuyện" 37 | }, 38 | "unstarChat": { 39 | "message": "Bỏ lưu cuộc trò chuyện" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Nhập tiêu đề yêu thích:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Nhập" 46 | }, 47 | "cancel": { 48 | "message": "Hủy" 49 | }, 50 | "confirm": { 51 | "message": "Xác nhận" 52 | }, 53 | "themeRequired": { 54 | "message": "Chủ đề không được để trống" 55 | }, 56 | "unstar": { 57 | "message": "Bỏ lưu" 58 | }, 59 | "viewStarredList": { 60 | "message": "Xem danh sách yêu thích" 61 | }, 62 | "edit": { 63 | "message": "Chỉnh sửa" 64 | }, 65 | "editStarredContent": { 66 | "message": "Chỉnh sửa tiêu đề yêu thích" 67 | }, 68 | "contentRequired": { 69 | "message": "Nội dung không được để trống" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Tất cả dữ liệu chỉ được lưu trữ cục bộ trong trình duyệt của bạn. Chúng tôi sẽ không bao giờ tải bất kỳ dữ liệu trò chuyện nào lên máy chủ mà không có sự cho phép của bạn" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Dự án này là mã nguồn mở, chào mừng đến" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Nếu nó giúp ích cho bạn, hãy giới thiệu nó cho bạn bè của bạn" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/pt_PT/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Linha do tempo interativa para ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Duplique a sua eficiência de chat com IA! Adicione linha do tempo interativa ao ChatGPT, Gemini, DeepSeek, 🚀 salte facilmente para qualquer conversa, 📌 marque conversas-chave, ⭐️ adicione chats importantes aos favoritos." 7 | }, 8 | "viewStarred": { 9 | "message": "Ver favoritos" 10 | }, 11 | "starredList": { 12 | "message": "Os Meus Favoritos" 13 | }, 14 | "close": { 15 | "message": "Fechar" 16 | }, 17 | "clickToStar": { 18 | "message": "Clique para adicionar aos favoritos" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Clique para remover dos favoritos" 22 | }, 23 | "noStarredItems": { 24 | "message": "Sem favoritos" 25 | }, 26 | "goTo": { 27 | "message": "Ir para" 28 | }, 29 | "goToTooltip": { 30 | "message": "Ir para detalhes do chat" 31 | }, 32 | "copied": { 33 | "message": "Copiado" 34 | }, 35 | "starChat": { 36 | "message": "Favoritar conversa" 37 | }, 38 | "unstarChat": { 39 | "message": "Desfavoritar conversa" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Introduza o título do favorito:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Introduza" 46 | }, 47 | "cancel": { 48 | "message": "Cancelar" 49 | }, 50 | "confirm": { 51 | "message": "Confirmar" 52 | }, 53 | "themeRequired": { 54 | "message": "O tema não pode estar vazio" 55 | }, 56 | "unstar": { 57 | "message": "Remover dos favoritos" 58 | }, 59 | "viewStarredList": { 60 | "message": "Ver lista de favoritos" 61 | }, 62 | "edit": { 63 | "message": "Editar" 64 | }, 65 | "editStarredContent": { 66 | "message": "Editar título favorito" 67 | }, 68 | "contentRequired": { 69 | "message": "O conteúdo não pode estar vazio" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Todos os dados são armazenados apenas localmente no seu navegador. Nunca faremos o carregamento de quaisquer dados de chat para servidores sem a sua permissão" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Este projeto é de código aberto, bem-vindo a" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Se o ajudar, sinta-se à vontade para o recomendar aos seus amigos" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/ne/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek को लागि अन्तरक्रियात्मक टाइमलाइन" 4 | }, 5 | "extDescription": { 6 | "message": "आफ्नो AI च्याट दक्षता दोब्बर गर्नुहोस्! ChatGPT, Gemini, DeepSeek मा अन्तरक्रियात्मक टाइमलाइन थप्नुहोस्, 🚀 सजिलैसँग कुनै पनि वार्तालापमा जानुहोस्, 📌 मुख्य वार्तालाप चिन्ह लगाउनुहोस्, ⭐️ महत्त्वपूर्ण च्याटहरू मनपर्नेमा राख्नुहोस्।" 7 | }, 8 | "viewStarred": { 9 | "message": "मनपर्ने हेर्नुहोस्" 10 | }, 11 | "starredList": { 12 | "message": "मेरो मनपर्ने" 13 | }, 14 | "close": { 15 | "message": "बन्द गर्नुहोस्" 16 | }, 17 | "clickToStar": { 18 | "message": "मनपर्नेमा थप्न क्लिक गर्नुहोस्" 19 | }, 20 | "clickToUnstar": { 21 | "message": "मनपर्नेबाट हटाउन क्लिक गर्नुहोस्" 22 | }, 23 | "noStarredItems": { 24 | "message": "कुनै मनपर्ने छैन" 25 | }, 26 | "goTo": { 27 | "message": "जानुहोस्" 28 | }, 29 | "goToTooltip": { 30 | "message": "च्याट विवरणमा जानुहोस्" 31 | }, 32 | "copied": { 33 | "message": "प्रतिलिपि गरियो" 34 | }, 35 | "starChat": { 36 | "message": "च्याट मनपर्नेमा थप्नुहोस्" 37 | }, 38 | "unstarChat": { 39 | "message": "च्याट मनपर्नेबाट हटाउनुहोस्" 40 | }, 41 | "inputChatTheme": { 42 | "message": "मनपर्ने शीर्षक प्रविष्ट गर्नुहोस्:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "मनपर्ने शीर्षक सम्पादन गर्नुहोस्" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "सबै डाटा तपाईंको ब्राउजरमा मात्र स्थानीय रूपमा भण्डारण गरिएको छ। हामी तपाईंको अनुमति बिना कहिले पनि कुनै पनि च्याट डाटा सर्भरहरूमा अपलोड गर्ने छैनौं" 73 | }, 74 | "projectOpenSource": { 75 | "message": "यो परियोजना खुला स्रोत हो, स्वागत छ" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "यदि यसले तपाईंलाई मद्दत गर्छ भने, यसलाई आफ्ना साथीहरूलाई सिफारिस गर्न नहिचकिचाउनुहोस्" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/my/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - ChatGPT, Gemini, DeepSeek အတွက် အပြန်အလှန်အချိန်ဇယား" 4 | }, 5 | "extDescription": { 6 | "message": "သင့်၏ AI ချက် စွမ်းဆောင်ရည် နှစ်ဆတိုးပါ! ChatGPT၊ Gemini၊ DeepSeek သို့ အပြန်အလှန်အချိန်ဇယားထည့်ပါ၊ 🚀 မည်သည့် စကားစမြည်သို့မဆို အလွယ်တကူ သွားပါ၊ 📌 အဓိက စကားစမြည်များကို အမှတ်အသားပြုပါ၊ ⭐️ အရေးကြီးသော ချက်များကို အကြိုက်ဆုံးထားပါ။" 7 | }, 8 | "viewStarred": { 9 | "message": "အကြိုက်ဆုံးများကြည့်ရန်" 10 | }, 11 | "starredList": { 12 | "message": "ကျွန်ုပ်၏ အကြိုက်ဆုံးများ" 13 | }, 14 | "close": { 15 | "message": "ပိတ်မည်" 16 | }, 17 | "clickToStar": { 18 | "message": "အကြိုက်ဆုံးများသို့ ထည့်ရန် နှိပ်ပါ" 19 | }, 20 | "clickToUnstar": { 21 | "message": "အကြိုက်ဆုံးများမှ ဖယ်ရန် နှိပ်ပါ" 22 | }, 23 | "noStarredItems": { 24 | "message": "အကြိုက်ဆုံးများ မရှိပါ" 25 | }, 26 | "goTo": { 27 | "message": "သွားမည်" 28 | }, 29 | "goToTooltip": { 30 | "message": "ချတ်အသေးစိတ်သို့ သွားရန်" 31 | }, 32 | "copied": { 33 | "message": "ကူးယူပြီးပါပြီ" 34 | }, 35 | "starChat": { 36 | "message": "ချက်တင်ကို အကြိုက်ဆုံးများတွင် ထည့်မည်" 37 | }, 38 | "unstarChat": { 39 | "message": "ချက်တင်ကို အကြိုက်ဆုံးများမှ ဖယ်မည်" 40 | }, 41 | "inputChatTheme": { 42 | "message": "အကြိုက်ဆုံးခေါင်းစဉ်ကို ထည့်ပါ:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Please enter" 46 | }, 47 | "cancel": { 48 | "message": "Cancel" 49 | }, 50 | "confirm": { 51 | "message": "Confirm" 52 | }, 53 | "themeRequired": { 54 | "message": "Theme cannot be empty" 55 | }, 56 | "unstar": { 57 | "message": "Unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "View starred list" 61 | }, 62 | "edit": { 63 | "message": "Edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "အကြိုက်ဆုံး ခေါင်းစဉ်ကို တည်းဖြတ်ရန်" 67 | }, 68 | "contentRequired": { 69 | "message": "Content cannot be empty" 70 | }, 71 | "dataStorageNote": { 72 | "message": "ဒေတာအားလုံးသည် သင့်ဘရောက်ဆာတွင်သာ local သိမ်းဆည်းထားသည်။ သင့်ခွင့်ပြုချက်မရှိဘဲ ချတ်ဒေတာများကို ဆာဗာများသို့ မည်သည့်အခါမျှ upload မလုပ်ပါ" 73 | }, 74 | "projectOpenSource": { 75 | "message": "ဤပရောဂျက်သည် open source ဖြစ်သည်၊ ကြိုဆိုပါသည်" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "သင့်ကို ကူညီပေးခဲ့ရင် သင့်သူငယ်ချင်းတွေကို အကြံပြုဖို့ လွတ်လပ်စွာ လုပ်ပါ" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/fr_CA/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Chronologie interactive pour ChatGPT, Gemini, DeepSeek etc." 4 | }, 5 | "extDescription": { 6 | "message": "Doublez votre efficacité de clavardage IA ! Ajoutez une chronologie interactive à ChatGPT, Gemini, DeepSeek, 🚀 sautez facilement vers n'importe quelle conversation, 📌 marquez les conversations clés, ⭐️ mettez en favoris les discussions importantes." 7 | }, 8 | "viewStarred": { 9 | "message": "Voir les favoris" 10 | }, 11 | "starredList": { 12 | "message": "Mes Favoris" 13 | }, 14 | "close": { 15 | "message": "Fermer" 16 | }, 17 | "clickToStar": { 18 | "message": "Cliquez pour ajouter aux favoris" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Cliquez pour retirer des favoris" 22 | }, 23 | "noStarredItems": { 24 | "message": "Aucun favori" 25 | }, 26 | "goTo": { 27 | "message": "Aller à" 28 | }, 29 | "goToTooltip": { 30 | "message": "Aller aux détails du clavardage" 31 | }, 32 | "copied": { 33 | "message": "Copié" 34 | }, 35 | "starChat": { 36 | "message": "Marquer le chat" 37 | }, 38 | "unstarChat": { 39 | "message": "Retirer le chat des favoris" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Entrez le titre du favori:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Veuillez saisir" 46 | }, 47 | "cancel": { 48 | "message": "Annuler" 49 | }, 50 | "confirm": { 51 | "message": "Confirmer" 52 | }, 53 | "themeRequired": { 54 | "message": "Le thème ne peut pas être vide" 55 | }, 56 | "unstar": { 57 | "message": "Retirer des favoris" 58 | }, 59 | "viewStarredList": { 60 | "message": "Voir la liste des favoris" 61 | }, 62 | "edit": { 63 | "message": "Modifier" 64 | }, 65 | "editStarredContent": { 66 | "message": "Modifier le titre du favori" 67 | }, 68 | "contentRequired": { 69 | "message": "Le contenu ne peut pas être vide" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Toutes les données sont stockées uniquement en local dans votre navigateur. Nous ne téléverserons jamais de données de clavardage sur des serveurs sans votre permission" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Ce projet est open source, bienvenue à" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Si cela vous aide, n'hésitez pas à le recommander à vos amis" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /js/adapters/yiyan.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Yiyan (文心一言) Adapter 3 | * 4 | * Supports: yiyan.baidu.com 5 | * Features: 使用 class 前缀识别用户消息 6 | */ 7 | 8 | class YiyanAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | } 12 | 13 | matches(url) { 14 | return url.includes('yiyan.baidu.com'); 15 | } 16 | 17 | getUserMessageSelector() { 18 | // 基于 class 前缀 "questionText" 识别用户消息 19 | return '[class*="questionText"]'; 20 | } 21 | 22 | generateTurnId(element, index) { 23 | return `yiyan-${index}`; 24 | } 25 | 26 | extractText(element) { 27 | // 文本在 span 子元素中 28 | const span = element.querySelector('span'); 29 | return span?.textContent?.trim() || element.textContent?.trim() || ''; 30 | } 31 | 32 | isConversationRoute(pathname) { 33 | // 文心一言对话 URL: /chat/{id} 34 | return pathname.includes('/chat/'); 35 | } 36 | 37 | extractConversationId(pathname) { 38 | try { 39 | // 从 /chat/MjM2MDc0MjI2Mjo1MDU4NDg3MjI 提取对话 ID 40 | const match = pathname.match(/\/chat\/([^\/]+)/); 41 | return match ? match[1] : null; 42 | } catch { 43 | return null; 44 | } 45 | } 46 | 47 | findConversationContainer(firstMessage) { 48 | // 使用统一的容器查找策略 49 | return ContainerFinder.findConversationContainer(firstMessage); 50 | } 51 | 52 | getTimelinePosition() { 53 | // 文心一言位置配置 54 | return { 55 | top: '120px', // 避开顶部导航栏 56 | right: '22px', // 右侧边距 57 | bottom: '120px', // 避开底部输入框 58 | }; 59 | } 60 | 61 | // getStarChatButtonTarget() { 62 | // // 返回 TopRightTools 元素,收藏按钮将插入到它前面 63 | // return document.querySelector('[class*="TopRightTools"]'); 64 | // } 65 | 66 | // getDefaultChatTheme() { 67 | // // 文心一言使用特定元素中的文本作为默认主题 68 | // try { 69 | // const topFixedArea = document.querySelector('[class*="topFixedArea"]'); 70 | // if (!topFixedArea) return ''; 71 | // 72 | // const container = topFixedArea.querySelector('[class*="container"]'); 73 | // if (!container) return ''; 74 | // 75 | // const span = container.querySelector('span'); 76 | // const title = span?.textContent?.trim() || ''; 77 | // 78 | // // 返回原始文本,不需要过滤 79 | // return title; 80 | // } catch { 81 | // return ''; 82 | // } 83 | // } 84 | } 85 | 86 | -------------------------------------------------------------------------------- /_locales/el/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Διαδραστικό χρονολόγιο για ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Διπλασιάστε την αποδοτικότητα της συνομιλίας AI σας! Προσθέστε διαδραστικό χρονολόγιο στο ChatGPT, Gemini, DeepSeek, 🚀 μεταβείτε εύκολα σε οποιαδήποτε συνομιλία, 📌 σημειώστε βασικές συνομιλίες, ⭐️ αγαπημένες σημαντικές συνομιλίες." 7 | }, 8 | "viewStarred": { 9 | "message": "Προβολή αγαπημένων" 10 | }, 11 | "starredList": { 12 | "message": "Τα Αγαπημένα Μου" 13 | }, 14 | "close": { 15 | "message": "Κλείσιμο" 16 | }, 17 | "clickToStar": { 18 | "message": "Προσθήκη ερώτησης στα αγαπημένα" 19 | }, 20 | "clickToUnstar": { 21 | "message": "Κάντε κλικ για αφαίρεση από τα αγαπημένα" 22 | }, 23 | "noStarredItems": { 24 | "message": "Δεν υπάρχουν αγαπημένα" 25 | }, 26 | "goTo": { 27 | "message": "Μετάβαση σε" 28 | }, 29 | "goToTooltip": { 30 | "message": "Μετάβαση στις λεπτομέρειες συνομιλίας" 31 | }, 32 | "copied": { 33 | "message": "Αντιγράφηκε" 34 | }, 35 | "starChat": { 36 | "message": "Προσθήκη συνομιλίας στα αγαπημένα" 37 | }, 38 | "unstarChat": { 39 | "message": "Κατάργηση συνομιλίας από τα αγαπημένα" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Εισαγάγετε τον τίτλο αγαπημένου:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Εισαγάγετε" 46 | }, 47 | "cancel": { 48 | "message": "Ακύρωση" 49 | }, 50 | "confirm": { 51 | "message": "Επιβεβαίωση" 52 | }, 53 | "themeRequired": { 54 | "message": "Το θέμα δεν μπορεί να είναι κενό" 55 | }, 56 | "unstar": { 57 | "message": "Κατάργηση από τα αγαπημένα" 58 | }, 59 | "viewStarredList": { 60 | "message": "Προβολή λίστας αγαπημένων" 61 | }, 62 | "edit": { 63 | "message": "Επεξεργασία" 64 | }, 65 | "editStarredContent": { 66 | "message": "Επεξεργασία τίτλου αγαπημένου" 67 | }, 68 | "contentRequired": { 69 | "message": "Το περιεχόμενο δεν μπορεί να είναι κενό" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Όλα τα δεδομένα αποθηκεύονται μόνο τοπικά στο πρόγραμμα περιήγησής σας. Δεν θα ανεβάσουμε ποτέ δεδομένα συνομιλίας σε διακομιστές χωρίς την άδειά σας" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Αυτό το έργο είναι ανοιχτού κώδικα, καλώς ήρθατε" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Εάν σας βοηθά, μη διστάσετε να το συστήσετε στους φίλους σας" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/fil/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "extName": { 3 | "message": "AI Chat Timeline - Interactive timeline para sa ChatGPT, Gemini, DeepSeek" 4 | }, 5 | "extDescription": { 6 | "message": "Doblehin ang iyong AI chat efficiency! Magdagdag ng interactive timeline sa ChatGPT, Gemini, DeepSeek, 🚀 madaling tumalon sa anumang pag-uusap, 📌 markahan ang mga pangunahing pag-uusap, ⭐️ mga paboritong mahahalagang chat." 7 | }, 8 | "viewStarred": { 9 | "message": "Tingnan ang mga paborito" 10 | }, 11 | "starredList": { 12 | "message": "Aking Mga Paborito" 13 | }, 14 | "close": { 15 | "message": "Isara" 16 | }, 17 | "clickToStar": { 18 | "message": "I-click upang idagdag sa mga paborito" 19 | }, 20 | "clickToUnstar": { 21 | "message": "I-click upang alisin sa mga paborito" 22 | }, 23 | "noStarredItems": { 24 | "message": "Walang mga paborito" 25 | }, 26 | "goTo": { 27 | "message": "Pumunta sa" 28 | }, 29 | "goToTooltip": { 30 | "message": "Pumunta sa mga detalye ng chat" 31 | }, 32 | "copied": { 33 | "message": "Nakopya" 34 | }, 35 | "starChat": { 36 | "message": "I-star ang chat" 37 | }, 38 | "unstarChat": { 39 | "message": "I-unstar ang chat" 40 | }, 41 | "inputChatTheme": { 42 | "message": "Ilagay ang pamagat ng paborito:" 43 | }, 44 | "themePlaceholder": { 45 | "message": "Ilagay" 46 | }, 47 | "cancel": { 48 | "message": "Kanselahin" 49 | }, 50 | "confirm": { 51 | "message": "Kumpirmahin" 52 | }, 53 | "themeRequired": { 54 | "message": "Ang tema ay hindi maaaring walang laman" 55 | }, 56 | "unstar": { 57 | "message": "I-unstar" 58 | }, 59 | "viewStarredList": { 60 | "message": "Tingnan ang listahan ng mga paborito" 61 | }, 62 | "edit": { 63 | "message": "I-edit" 64 | }, 65 | "editStarredContent": { 66 | "message": "I-edit ang paboritong pamagat" 67 | }, 68 | "contentRequired": { 69 | "message": "Ang nilalaman ay hindi maaaring walang laman" 70 | }, 71 | "dataStorageNote": { 72 | "message": "Ang lahat ng data ay naka-imbak lamang sa iyong browser nang lokal. Hindi namin kailanman ia-upload ang anumang data ng chat sa mga server nang walang iyong pahintulot" 73 | }, 74 | "projectOpenSource": { 75 | "message": "Ang proyektong ito ay open source, maligayang pagdating sa" 76 | }, 77 | "starOnGitHub": { 78 | "message": "Star on GitHub" 79 | }, 80 | "shareIfUseful": { 81 | "message": "Kung nakatulong ito sa iyo, huwag mag-atubiling irekomenda ito sa iyong mga kaibigan" 82 | }, 83 | "chromeWebStore": { 84 | "message": "Chrome Web Store" 85 | } 86 | } -------------------------------------------------------------------------------- /js/container-finder.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Container Finder - 容器查找策略 3 | * 4 | * 提供统一的对话容器查找逻辑,用于所有 AI 平台适配器 5 | * 6 | * 核心策略: 7 | * 1. 优先查找可滚动容器(确保能监听到新消息) 8 | * 2. 如果找不到,使用固定深度向上查找 9 | * 3. 兜底机制:返回合理的父容器 10 | */ 11 | 12 | const ContainerFinder = { 13 | /** 14 | * 智能查找对话容器 15 | * 16 | * @param {HTMLElement} firstMessage - 第一个用户消息元素 17 | * @param {Object} options - 配置选项 18 | * @param {number} options.maxDepth - 最大向上查找深度,默认 15 19 | * @param {number} options.fallbackDepth - 兜底查找深度,默认 10 20 | * @returns {HTMLElement|null} 找到的容器元素 21 | */ 22 | findConversationContainer(firstMessage, options = {}) { 23 | if (!firstMessage) return null; 24 | 25 | const { 26 | maxDepth = 15, 27 | fallbackDepth = 10 28 | } = options; 29 | 30 | let container = firstMessage; 31 | let scrollableContainer = null; 32 | let depth = 0; 33 | 34 | // 第一步:优先查找可滚动容器 35 | while (container && container !== document.body && depth < maxDepth) { 36 | container = container.parentElement; 37 | depth++; 38 | 39 | if (!container) break; 40 | 41 | // 检查是否为可滚动容器 42 | const style = window.getComputedStyle(container); 43 | const isScrollable = style.overflow === 'auto' || 44 | style.overflow === 'scroll' || 45 | style.overflowY === 'auto' || 46 | style.overflowY === 'scroll'; 47 | 48 | // 确认容器真的可以滚动(内容高度 > 可见高度) 49 | if (isScrollable && container.scrollHeight > container.clientHeight) { 50 | scrollableContainer = container; 51 | break; 52 | } 53 | } 54 | 55 | // 第二步:如果找到可滚动容器,直接返回 56 | if (scrollableContainer) { 57 | return scrollableContainer; 58 | } 59 | 60 | // 第三步:兜底策略 - 向上查找固定深度的父容器 61 | let fallbackContainer = firstMessage; 62 | for (let i = 0; i < fallbackDepth && fallbackContainer && fallbackContainer.parentElement; i++) { 63 | fallbackContainer = fallbackContainer.parentElement; 64 | // 避免返回 body 65 | if (fallbackContainer === document.body) { 66 | break; 67 | } 68 | } 69 | 70 | return fallbackContainer || firstMessage.parentElement; 71 | }, 72 | 73 | /** 74 | * 验证容器是否有效(可选的验证方法) 75 | * 76 | * @param {HTMLElement} container - 待验证的容器 77 | * @param {string} messageSelector - 消息元素的选择器 78 | * @param {number} minMessages - 容器中应该至少包含的消息数量,默认 1 79 | * @returns {boolean} 容器是否有效 80 | */ 81 | validateContainer(container, messageSelector, minMessages = 1) { 82 | if (!container || !messageSelector) return false; 83 | 84 | try { 85 | const messages = container.querySelectorAll(messageSelector); 86 | return messages.length >= minMessages; 87 | } catch { 88 | return false; 89 | } 90 | } 91 | }; 92 | 93 | -------------------------------------------------------------------------------- /js/adapters/deepseek.js: -------------------------------------------------------------------------------- 1 | /** 2 | * DeepSeek Adapter 3 | * 4 | * Supports: chat.deepseek.com, chat.deepseek.com/share/* 5 | * Features: 动态检测用户消息 class(每次加载可能不同) 6 | */ 7 | 8 | class DeepSeekAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | this.userMessageBodyClass = null; // 动态检测的用户消息内容体 class 12 | } 13 | 14 | matches(url) { 15 | return url.includes('chat.deepseek.com'); 16 | } 17 | 18 | getUserMessageSelector() { 19 | // 动态检测用户消息内容体的 class 20 | if (!this.userMessageBodyClass) { 21 | const firstMessage = document.querySelector('.ds-message'); 22 | if (firstMessage) { 23 | const firstChild = firstMessage.querySelector('div'); 24 | if (firstChild) { 25 | this.userMessageBodyClass = firstChild.className; 26 | } 27 | } 28 | } 29 | 30 | // 返回包含该 class 子元素的 .ds-message 选择器 31 | if (this.userMessageBodyClass) { 32 | return `.ds-message:has(> .${this.userMessageBodyClass})`; 33 | } 34 | 35 | // 备用:如果检测失败,返回所有 ds-message(会包含 AI 回复,但至少能工作) 36 | return '.ds-message'; 37 | } 38 | 39 | generateTurnId(element, index) { 40 | return `deepseek-${index}`; 41 | } 42 | 43 | extractText(element) { 44 | // 从第一个子 div 提取文本 45 | const firstDiv = element.querySelector('div'); 46 | return firstDiv?.textContent?.trim() || ''; 47 | } 48 | 49 | isConversationRoute(pathname) { 50 | // DeepSeek 对话 URL: /a/chat/s/{id} 或分享页面 /share/{id} 51 | return pathname.includes('/a/chat/s/') || pathname.includes('/share/'); 52 | } 53 | 54 | extractConversationId(pathname) { 55 | try { 56 | // 从 /a/chat/s/fb39afdf-... 或 /share/xxx 提取对话 ID 57 | const chatMatch = pathname.match(/\/a\/chat\/s\/([^\/]+)/); 58 | if (chatMatch) return chatMatch[1]; 59 | 60 | const shareMatch = pathname.match(/\/share\/([^\/]+)/); 61 | if (shareMatch) return shareMatch[1]; 62 | 63 | return null; 64 | } catch { 65 | return null; 66 | } 67 | } 68 | 69 | findConversationContainer(firstMessage) { 70 | // 使用统一的容器查找策略 71 | return ContainerFinder.findConversationContainer(firstMessage); 72 | } 73 | 74 | getTimelinePosition() { 75 | // DeepSeek 位置配置 76 | return { 77 | top: '120px', // 避开顶部导航栏 78 | right: '22px', // 右侧边距 79 | bottom: '120px', // 避开底部输入框 80 | }; 81 | } 82 | 83 | getStarChatButtonTarget() { 84 | // 不使用原生插入,返回 null 85 | return null; 86 | } 87 | 88 | getStarChatButtonPosition() { 89 | // DeepSeek 使用固定定位,返回自定义位置 90 | return { 91 | top: '12px', 92 | right: '60px' 93 | }; 94 | } 95 | 96 | getDefaultChatTheme() { 97 | // DeepSeek 使用页面标题作为默认主题,并过滤尾部的 " - DeepSeek" 98 | const title = document.title || ''; 99 | return title.replace(/\s*-\s*DeepSeek\s*$/i, '').trim(); 100 | } 101 | } 102 | 103 | -------------------------------------------------------------------------------- /js/adapters/base.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Base Adapter for AI Chat Sites 3 | * 4 | * All site-specific adapters should extend this class 5 | */ 6 | 7 | /** 8 | * Base class for site adapters 9 | * Each AI chat site needs to implement this interface 10 | */ 11 | class SiteAdapter { 12 | constructor() { 13 | } 14 | 15 | /** 16 | * Check if current URL matches this site 17 | * @param {string} url - Current page URL 18 | * @returns {boolean} 19 | */ 20 | matches(url) { 21 | return false; 22 | } 23 | 24 | /** 25 | * Get CSS selector for user message elements 26 | * @returns {string} 27 | */ 28 | getUserMessageSelector() { 29 | return ''; 30 | } 31 | 32 | /** 33 | * Generate unique ID for a message (using index) 34 | * @param {Element} element - Message DOM element 35 | * @param {number} index - Message index in the list 36 | * @returns {string} 37 | */ 38 | generateTurnId(element, index) { 39 | return `msg-${index}`; 40 | } 41 | 42 | /** 43 | * Extract text content from message element 44 | * @param {Element} element - Message DOM element 45 | * @returns {string} 46 | */ 47 | extractText(element) { 48 | return element.textContent || ''; 49 | } 50 | 51 | /** 52 | * Check if current path is a conversation page 53 | * @param {string} pathname - URL pathname 54 | * @returns {boolean} 55 | */ 56 | isConversationRoute(pathname) { 57 | return false; 58 | } 59 | 60 | /** 61 | * Extract conversation ID from pathname (for storage key) 62 | * @param {string} pathname - URL pathname 63 | * @returns {string|null} 64 | */ 65 | extractConversationId(pathname) { 66 | return null; 67 | } 68 | 69 | /** 70 | * Find conversation container element 71 | * @param {Element} firstMessage - First message element 72 | * @returns {Element|null} 73 | */ 74 | findConversationContainer(firstMessage) { 75 | return firstMessage?.parentElement; 76 | } 77 | 78 | /** 79 | * Get timeline position configuration for this site 80 | * @returns {Object} - {top, right, bottom} in pixels or CSS values 81 | */ 82 | getTimelinePosition() { 83 | return { 84 | top: '120px', // 避开顶部导航栏 85 | right: '22px', // 右侧边距 86 | bottom: '120px', // 避开底部输入框 87 | }; 88 | } 89 | 90 | /** 91 | * Get target element for inserting star chat button 92 | * @returns {Element|null} - Target element to insert before, or null if not supported 93 | */ 94 | getStarChatButtonTarget() { 95 | return null; // 默认不支持,返回 null 96 | } 97 | 98 | /** 99 | * Get default chat theme for star chat feature 100 | * @returns {string} - Default theme name, empty string means no default 101 | */ 102 | getDefaultChatTheme() { 103 | return ''; // 默认返回空字符串 104 | } 105 | 106 | /** 107 | * Get fixed position for star chat button (fallback when no native target) 108 | * @returns {Object|null} - {top, right} in pixels, or null to skip fixed positioning 109 | */ 110 | getStarChatButtonPosition() { 111 | return null; // 默认不使用固定定位 112 | } 113 | } 114 | 115 | -------------------------------------------------------------------------------- /js/adapters/chatgpt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ChatGPT Adapter 3 | * 4 | * Supports: chatgpt.com, chat.openai.com, chatgpt.com/share/e/* 5 | * Features: Uses native data-message-id when available, falls back to index 6 | */ 7 | 8 | class ChatGPTAdapter extends SiteAdapter { 9 | constructor() { 10 | super(); 11 | } 12 | 13 | matches(url) { 14 | return url.includes('chatgpt.com') || url.includes('chat.openai.com'); 15 | } 16 | 17 | getUserMessageSelector() { 18 | return '[data-message-author-role="user"]'; 19 | } 20 | 21 | generateTurnId(element, index) { 22 | // Try to use native message-id if available, fallback to index 23 | const nativeId = element.getAttribute('data-message-id'); 24 | return nativeId || `chatgpt-${index}`; 25 | } 26 | 27 | extractText(element) { 28 | // 从 whitespace-pre-wrap 类的元素中提取文本内容 29 | const textElement = element.querySelector('.whitespace-pre-wrap'); 30 | return (textElement?.textContent || '').replace(/\s+/g, ' ').trim(); 31 | } 32 | 33 | isConversationRoute(pathname) { 34 | const segs = pathname.split('/').filter(Boolean); 35 | 36 | // 检查普通对话路径: /c/{id} 37 | const cIndex = segs.indexOf('c'); 38 | if (cIndex !== -1) { 39 | const slug = segs[cIndex + 1]; 40 | if (typeof slug === 'string' && slug.length > 0 && /^[A-Za-z0-9_-]+$/.test(slug)) { 41 | return true; 42 | } 43 | } 44 | 45 | // 检查分享页面路径: /share/e/{id} 46 | const shareIndex = segs.indexOf('share'); 47 | if (shareIndex !== -1 && segs[shareIndex + 1] === 'e') { 48 | const shareId = segs[shareIndex + 2]; 49 | if (typeof shareId === 'string' && shareId.length > 0 && /^[A-Za-z0-9_-]+$/.test(shareId)) { 50 | return true; 51 | } 52 | } 53 | 54 | return false; 55 | } 56 | 57 | extractConversationId(pathname) { 58 | try { 59 | const segs = pathname.split('/').filter(Boolean); 60 | 61 | // 尝试提取普通对话 ID: /c/{id} 62 | const cIndex = segs.indexOf('c'); 63 | if (cIndex !== -1) { 64 | const slug = segs[cIndex + 1]; 65 | if (slug && /^[A-Za-z0-9_-]+$/.test(slug)) return slug; 66 | } 67 | 68 | // 尝试提取分享页面 ID: /share/e/{id} 69 | const shareIndex = segs.indexOf('share'); 70 | if (shareIndex !== -1 && segs[shareIndex + 1] === 'e') { 71 | const shareId = segs[shareIndex + 2]; 72 | if (shareId && /^[A-Za-z0-9_-]+$/.test(shareId)) return shareId; 73 | } 74 | 75 | return null; 76 | } catch { 77 | return null; 78 | } 79 | } 80 | 81 | findConversationContainer(firstMessage) { 82 | // 使用统一的容器查找策略 83 | return ContainerFinder.findConversationContainer(firstMessage); 84 | } 85 | 86 | getTimelinePosition() { 87 | // ChatGPT 默认位置 88 | return { 89 | top: '120px', // 避开顶部导航栏 90 | right: '22px', // 右侧边距 91 | bottom: '120px', // 避开底部输入框 92 | }; 93 | } 94 | 95 | getStarChatButtonTarget() { 96 | // 返回分享按钮,收藏按钮将插入到它前面 97 | return document.querySelector('[data-testid="share-chat-button"]'); 98 | } 99 | 100 | getDefaultChatTheme() { 101 | // ChatGPT 使用页面标题作为默认主题 102 | return document.title || ''; 103 | } 104 | } 105 | 106 | -------------------------------------------------------------------------------- /README.zh_CN.md: -------------------------------------------------------------------------------- 1 |
让您跟AI聊天的效率翻倍!给 ChatGPT、Gemini、DeepSeek 添加交互式时间轴,🚀轻松跳转至任意对话,📌标记重点对话,⭐️收藏重要聊天。
6 |
7 | | ✅ ChatGPT | 58 |✅ Gemini | 59 |✅ 豆包 | 60 |✅ DeepSeek | 61 |
| ✅ 文心一言 | 64 |✅ 通义千问 | 65 |✅ Kimi | 66 |✅ 腾讯元宝 | 67 |
⭐ 如果这个扩展对你有帮助,欢迎给项目点个 Star!
163 |AIチャットの効率を2倍に!ChatGPT、Gemini、DeepSeekにインタラクティブなタイムラインを追加し、🚀任意の会話に簡単にジャンプ、📌重要な会話をマーク、⭐️大切なチャットをお気に入りに保存。
6 |
7 | | ✅ ChatGPT | 58 |✅ Gemini | 59 |✅ Doubao | 60 |✅ DeepSeek | 61 |
| ✅ Baidu Yiyan | 64 |✅ Alibaba Tongyi | 65 |✅ Kimi | 66 |✅ Tencent Yuanbao | 67 |
⭐ この拡張機能が役に立った場合は、GitHubでスターを付けていただけると幸いです!
163 |Double your AI chat efficiency! Add interactive timeline to ChatGPT, Gemini, DeepSeek, 🚀 jump to any conversation easily, 📌 mark key conversations, ⭐️ favorite important chats.
6 |
7 | | ✅ ChatGPT | 58 |✅ Gemini | 59 |✅ Doubao | 60 |✅ DeepSeek | 61 |
| ✅ Baidu Yiyan | 64 |✅ Alibaba Tongyi | 65 |✅ Kimi | 66 |✅ Tencent Yuanbao | 67 |
⭐ If you find this extension useful, please consider giving it a star on GitHub!
163 |