diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 817b22e9..f3eb78bb 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -296,5 +296,7 @@ "Description:": "الوصف:", "No description available": "لا يوجد وصف متاح", "List": "قائمة", - "Grid": "شبكة" + "Grid": "شبكة", + "(from 'As You Like It', Act II)": "(من 'كما تحب'، الفصل الثاني)", + "Link Color": "لون الرابط" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index 1d28d4ca..7d066e6a 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -296,5 +296,7 @@ "Description:": "Beschreibung:", "No description available": "Keine Beschreibung verfügbar", "List": "Liste", - "Grid": "Raster" + "Grid": "Raster", + "(from 'As You Like It', Act II)": "(aus 'Wie es euch gefällt', Akt II)", + "Link Color": "Linkfarbe" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index ceb94e12..f8ca92e4 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -296,5 +296,7 @@ "Description:": "Περιγραφή:", "No description available": "Δεν είναι διαθέσιμη καμία περιγραφή", "List": "Λίστα", - "Grid": "Πλέγμα" + "Grid": "Πλέγμα", + "(from 'As You Like It', Act II)": "('Όπως σας αρέσει', Πράξη II)", + "Link Color": "Χρώμα συνδέσμου" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index 9eedb5ab..a4a2b4e9 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -296,5 +296,7 @@ "Description:": "Descripción:", "No description available": "No hay descripción disponible", "List": "Lista", - "Grid": "Cuadrícula" + "Grid": "Cuadrícula", + "(from 'As You Like It', Act II)": "(de 'Como gustéis', Acto II)", + "Link Color": "Color del enlace" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index 6f4e82fc..a2ab3330 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -296,5 +296,7 @@ "Description:": "Description :", "No description available": "Aucune description disponible", "List": "Liste", - "Grid": "Grille" + "Grid": "Grille", + "(from 'As You Like It', Act II)": "(de 'Comme il vous plaira', Acte II)", + "Link Color": "Couleur du lien" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index 99c45f64..2188771c 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -296,5 +296,7 @@ "Description:": "विवरण:", "No description available": "कोई विवरण उपलब्ध नहीं है", "List": "सूची", - "Grid": "ग्रिड" + "Grid": "ग्रिड", + "(from 'As You Like It', Act II)": "('जैसा आप इसे पसंद करते हैं', अधिनियम II)", + "Link Color": "लिंक रंग" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index 22a95c3f..729d96ab 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -296,5 +296,7 @@ "Description:": "Deskripsi:", "No description available": "Tidak ada deskripsi yang tersedia", "List": "Daftar", - "Grid": "Jala" + "Grid": "Jala", + "(from 'As You Like It', Act II)": "(dari 'Seperti yang Anda Inginkan', Bab II)", + "Link Color": "Warna Tautan" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index cb087028..ebcb4c86 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -296,5 +296,7 @@ "Description:": "Descrizione:", "No description available": "Nessuna descrizione disponibile", "List": "Elenco", - "Grid": "Griglia" + "Grid": "Griglia", + "(from 'As You Like It', Act II)": "(da 'Come vi piace', Atto II)", + "Link Color": "Colore link" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index 5d552997..eb3cca69 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -296,5 +296,7 @@ "Description:": "説明:", "No description available": "説明はありません", "List": "リスト", - "Grid": "グリッド" + "Grid": "グリッド", + "(from 'As You Like It', Act II)": "(「お気に召すまま」第2幕)", + "Link Color": "リンクカラー" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index ce50b17b..7d5436e8 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -296,5 +296,7 @@ "Description:": "설명:", "No description available": "설명 없음", "List": "목록", - "Grid": "격자" + "Grid": "격자", + "(from 'As You Like It', Act II)": "(당신이 좋아하는 대로, 2막)", + "Link Color": "링크 색상" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index 08709c17..d444aa03 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -296,5 +296,7 @@ "Description:": "Opis:", "No description available": "Brak opisu", "List": "Lista", - "Grid": "Siatka" + "Grid": "Siatka", + "(from 'As You Like It', Act II)": "(z „Jak wam się podoba”, Akt II)", + "Link Color": "Kolor linku" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index 29f3ee7a..f76db371 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -296,5 +296,7 @@ "Description:": "Descrição:", "No description available": "Nenhuma descrição disponível", "List": "Lista", - "Grid": "Grade" + "Grid": "Grade", + "(from 'As You Like It', Act II)": "(de 'Como Gostais', Ato II)", + "Link Color": "Cor do Link" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index 10ed33bf..ed4f8b70 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -296,5 +296,7 @@ "Description:": "Описание:", "No description available": "Нет доступного описания", "List": "Список", - "Grid": "Сетка" + "Grid": "Сетка", + "(from 'As You Like It', Act II)": "(из 'Как вам это понравится', Акт II)", + "Link Color": "Цвет ссылки" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index b23dcd19..37bd3f9e 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -296,5 +296,7 @@ "Description:": "Tanım:", "No description available": "Tanım mevcut değil", "List": "Liste", - "Grid": "Izgara" + "Grid": "Izgara", + "(from 'As You Like It', Act II)": "(As You Like It, 2. Perde)", + "Link Color": "Bağlantı Rengi" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index dbb88b8f..8a8b4743 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -296,5 +296,7 @@ "Description:": "Опис:", "No description available": "Опис недоступний", "List": "Список", - "Grid": "Сітка" + "Grid": "Сітка", + "(from 'As You Like It', Act II)": "(з 'Як вам це подобається', Акт II)", + "Link Color": "Колір посилання" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index 2e91fd17..7a5e1c86 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -296,5 +296,7 @@ "Description:": "Miêu tả:", "No description available": "Không có mô tả nào", "List": "Danh sách", - "Grid": "Lưới" + "Grid": "Lưới", + "(from 'As You Like It', Act II)": "(từ 'Như bạn thích', Hành động II)", + "Link Color": "Màu liên kết" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index ab3bf3f3..7855fd66 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -296,5 +296,7 @@ "Description:": "简介", "No description available": "暂无简介", "List": "列表", - "Grid": "网格" + "Grid": "网格", + "(from 'As You Like It', Act II)": "出自《皆大欢喜》,第二幕", + "Link Color": "链接颜色" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index e0e56e6e..20683cb9 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -296,5 +296,7 @@ "Description:": "簡介", "No description available": "暫無簡介", "List": "列表", - "Grid": "網格" + "Grid": "網格", + "(from 'As You Like It', Act II)": "(出自《皆大歡喜》,第二幕)", + "Link Color": "連結顏色" } diff --git a/apps/readest-app/src/app/reader/components/settings/ThemeEditor.tsx b/apps/readest-app/src/app/reader/components/settings/ThemeEditor.tsx index 51a7101f..c99a4302 100644 --- a/apps/readest-app/src/app/reader/components/settings/ThemeEditor.tsx +++ b/apps/readest-app/src/app/reader/components/settings/ThemeEditor.tsx @@ -25,20 +25,27 @@ const ThemeEditor: React.FC = ({ customTheme, onSave, onDelete const [lightBackgroundColor, setLightBackgroundColor] = useState( customTheme?.colors.light.bg || template.light.bg, ); + const [lightPrimaryColor, setLightPrimaryColor] = useState( + customTheme?.colors.light.primary || template.light.primary, + ); const [darkTextColor, setDarkTextColor] = useState( customTheme?.colors.dark.fg || template.dark.fg, ); const [darkBackgroundColor, setDarkBackgroundColor] = useState( customTheme?.colors.dark.bg || template.dark.bg, ); + const [darkPrimaryColor, setDarkPrimaryColor] = useState( + customTheme?.colors.dark.primary || template.dark.primary, + ); const [themeName, setThemeName] = useState(customTheme?.label || _('Custom')); const ThemePreview: React.FC<{ textColor: string; backgroundColor: string; + primaryColor: string; label: string; - }> = ({ textColor, backgroundColor, label }) => ( + }> = ({ textColor, backgroundColor, primaryColor, label }) => (
= ({ customTheme, onSave, onDelete {_( "All the world's a stage,\nAnd all the men and women merely players;\nThey have their exits and their entrances,\nAnd one man in his time plays many parts,\nHis acts being seven ages.\n\n— William Shakespeare", )} +

+ {_("(from 'As You Like It', Act II)")} +

@@ -65,12 +80,12 @@ const ThemeEditor: React.FC = ({ customTheme, onSave, onDelete light: { fg: lightTextColor, bg: lightBackgroundColor, - primary: '#3b82f6', + primary: lightPrimaryColor, }, dark: { fg: darkTextColor, bg: darkBackgroundColor, - primary: '#60a5fa', + primary: darkPrimaryColor, }, }, }; @@ -89,17 +104,16 @@ const ThemeEditor: React.FC = ({ customTheme, onSave, onDelete {_('Save')} - + {settings.globalReadSettings.customThemes.find( + (theme) => theme.name === md5Fingerprint(themeName), + ) && ( + + )}