diff --git a/server/src/index.ts b/server/src/index.ts index b62feef..6c4583f 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -7,7 +7,7 @@ async function main() { const app = createApp(); const server = serve({ fetch: app.fetch, hostname: config.host, port: config.port }, (info) => { console.log(`[ihasmail] ${config.appName} listening on http://${info.address}:${info.port}`); - console.log(`[ihasmail] upstream Stalwart: ${config.stalwartUrl}`); + console.log(`[ihasmail] mail server: ${config.stalwartUrl}`); console.log(`[ihasmail] static dir: ${config.staticDir}`); }); diff --git a/web/src/locales/de.ts b/web/src/locales/de.ts index dc6324c..c020cb1 100644 --- a/web/src/locales/de.ts +++ b/web/src/locales/de.ts @@ -832,6 +832,8 @@ export const catalog: Catalog = { "Default mail app": "Standard-E-Mail-Programm", "Documentation": "Dokumentation", "About ihasmail": "Über ihasmail", + "About INBUXA": "Über INBUXA", + "Built on {ihasmail}": "Basiert auf {ihasmail}", "Server": "Server", "Server capabilities": "Server-Funktionen", "Accounts": "Konten", diff --git a/web/src/locales/es.ts b/web/src/locales/es.ts index deff78b..b74ad19 100644 --- a/web/src/locales/es.ts +++ b/web/src/locales/es.ts @@ -828,6 +828,8 @@ export const catalog: Catalog = { "Default mail app": "Aplicación de correo predeterminada", "Documentation": "Documentación", "About ihasmail": "Acerca de ihasmail", + "About INBUXA": "Acerca de INBUXA", + "Built on {ihasmail}": "Basado en {ihasmail}", "About": "Acerca de", "Server": "Servidor", "Server capabilities": "Funciones del servidor", diff --git a/web/src/locales/fr.ts b/web/src/locales/fr.ts index d853b97..4867acd 100644 --- a/web/src/locales/fr.ts +++ b/web/src/locales/fr.ts @@ -834,6 +834,8 @@ export const catalog: Catalog = { "Default mail app": "Application de messagerie par défaut", "Documentation": "Documentation", "About ihasmail": "À propos de ihasmail", + "About INBUXA": "À propos d’INBUXA", + "Built on {ihasmail}": "Basé sur {ihasmail}", "About": "À propos", "Server": "Serveur", "Server capabilities": "Fonctionnalités du serveur", diff --git a/web/src/locales/ja.ts b/web/src/locales/ja.ts index 42ff8bb..85af50b 100644 --- a/web/src/locales/ja.ts +++ b/web/src/locales/ja.ts @@ -828,6 +828,8 @@ export const catalog: Catalog = { "Default mail app": "既定のメールアプリ", "Documentation": "ドキュメント", "About ihasmail": "ihasmail について", + "About INBUXA": "INBUXA について", + "Built on {ihasmail}": "{ihasmail} をベースに構築", "About": "情報", "Server": "サーバー", "Server capabilities": "サーバーの機能", diff --git a/web/src/locales/nl.ts b/web/src/locales/nl.ts index 673d178..76c4593 100644 --- a/web/src/locales/nl.ts +++ b/web/src/locales/nl.ts @@ -827,6 +827,8 @@ export const catalog: Catalog = { "Default mail app": "Standaard e-mailprogramma", "Documentation": "Documentatie", "About ihasmail": "Over ihasmail", + "About INBUXA": "Over INBUXA", + "Built on {ihasmail}": "Gebouwd op {ihasmail}", "About": "Over", "Server": "Server", "Server capabilities": "Servermogelijkheden", diff --git a/web/src/locales/pt-BR.ts b/web/src/locales/pt-BR.ts index 4903189..3f387ff 100644 --- a/web/src/locales/pt-BR.ts +++ b/web/src/locales/pt-BR.ts @@ -831,6 +831,8 @@ export const catalog: Catalog = { "Default mail app": "Aplicativo de e-mail padrão", "Documentation": "Documentação", "About ihasmail": "Sobre o ihasmail", + "About INBUXA": "Sobre o INBUXA", + "Built on {ihasmail}": "Baseado no {ihasmail}", "About": "Sobre", "Server": "Servidor", "Server capabilities": "Recursos do servidor", diff --git a/web/src/locales/ru.ts b/web/src/locales/ru.ts index 8edcd0d..6a0e4d7 100644 --- a/web/src/locales/ru.ts +++ b/web/src/locales/ru.ts @@ -831,6 +831,8 @@ export const catalog: Catalog = { "Default mail app": "Почтовая программа по умолчанию", "Documentation": "Документация", "About ihasmail": "О программе ihasmail", + "About INBUXA": "О программе INBUXA", + "Built on {ihasmail}": "Основано на {ihasmail}", "About": "О программе", "Server": "Сервер", "Server capabilities": "Возможности сервера", diff --git a/web/src/locales/uk.ts b/web/src/locales/uk.ts index 981ac3e..2bd6b42 100644 --- a/web/src/locales/uk.ts +++ b/web/src/locales/uk.ts @@ -825,6 +825,8 @@ export const catalog: Catalog = { "Default mail app": "Поштова програма за замовчуванням", "Documentation": "Документація", "About ihasmail": "Про ihasmail", + "About INBUXA": "Про INBUXA", + "Built on {ihasmail}": "Створено на основі {ihasmail}", "About": "Про програму", "Server": "Сервер", "Server capabilities": "Можливості сервера", diff --git a/web/src/locales/zh-Hans.ts b/web/src/locales/zh-Hans.ts index 03cd432..34209de 100644 --- a/web/src/locales/zh-Hans.ts +++ b/web/src/locales/zh-Hans.ts @@ -827,6 +827,8 @@ export const catalog: Catalog = { "Default mail app": "默认邮件应用", "Documentation": "文档", "About ihasmail": "关于 ihasmail", + "About INBUXA": "关于 INBUXA", + "Built on {ihasmail}": "基于 {ihasmail} 构建", "About": "关于", "Server": "服务器", "Server capabilities": "服务器功能", diff --git a/web/src/views/AppShell.tsx b/web/src/views/AppShell.tsx index e0daab5..0c0835d 100644 --- a/web/src/views/AppShell.tsx +++ b/web/src/views/AppShell.tsx @@ -1,6 +1,6 @@ import { lazy, Suspense, useEffect, useRef, useState, type ReactNode } from "react"; import { Link, useLocation } from "wouter"; -import { BookOpen, Calendar, ChevronsUpDown, FolderOpen, Globe, HelpCircle, LogOut, Mail, Menu as MenuIcon, Moon, PenSquare, Plus, RefreshCw, Settings, ShieldCheck, Sun, Upload, Users, X } from "lucide-react"; +import { Calendar, ChevronsUpDown, FolderOpen, Globe, HelpCircle, LogOut, Mail, Menu as MenuIcon, Moon, PenSquare, Plus, RefreshCw, Settings, ShieldCheck, Sun, Upload, Users, X } from "lucide-react"; import { useSession } from "@/store/session"; import { withBase } from "@/lib/basePath"; import { DEFAULT_APP_NAME } from "@/lib/brand"; @@ -187,11 +187,12 @@ export function AppShell({ children }: { children: ReactNode }) { - } label={t("Documentation")} href="https://docs.ihasmail.org" external /> {/* The project site. It is linked from the login screen footer, which is a page a signed-in user never sees again -- so from inside the - app there was no way back to it. */} - } label={t("About ihasmail")} href="https://ihasmail.org" external /> + app there was no way back to it. + ihasmail-inbuxa: INBUXA's site, and no Documentation entry until + INBUXA has documentation of its own to point at. */} + } label={t("About INBUXA")} href="https://inbuxa.org" external /> } label={t("Settings")} onClick={() => navigate("/settings")} /> {/* Only for an account whose Stalwart role manages other accounts. Nobody else is shown an entry that would open onto refusals. */} diff --git a/web/src/views/Login.tsx b/web/src/views/Login.tsx index 617e1dd..8315576 100644 --- a/web/src/views/Login.tsx +++ b/web/src/views/Login.tsx @@ -151,9 +151,10 @@ export function LoginPage() { One

with a break rather than two: .foot carries a 20px margin-top, which a second paragraph would repeat as a gap. */} - ihasmail v{APP_VERSION} + {/* ihasmail-inbuxa: this build is INBUXA's webmail, and its site is INBUXA's. */} + INBUXA webmail v{APP_VERSION}
- {t("ihasmail.org")} + inbuxa.org {" · "} {t("AGPL-3.0 source")} {" "} diff --git a/web/src/views/settings/AboutSettings.tsx b/web/src/views/settings/AboutSettings.tsx index 44f0cc8..7287f0a 100644 --- a/web/src/views/settings/AboutSettings.tsx +++ b/web/src/views/settings/AboutSettings.tsx @@ -11,8 +11,8 @@ export function AboutSettings() { // The exact source of this build, written next to the app by the build. return (

- {/* ihasmail-inbuxa: INBUXA's webmail, built on ihasmail, whose version - and source stay here as its credit and the AGPL's offer. */} + {/* ihasmail-inbuxa: INBUXA's webmail, built on ihasmail. The version and + source are this build's, the AGPL's offer; ihasmail keeps its credit. */}

{t("About INBUXA webmail")}

{tNode("A fast, friendly, open-source webmail for {server}, built on JMAP.", { server: INBUXA })}

@@ -20,7 +20,8 @@ export function AboutSettings() {
{/* A product name and a version string: neither is a word to translate. */} -
ihasmail v{APP_VERSION}
+
INBUXA webmail v{APP_VERSION}
+
{tNode("Built on {ihasmail}", { ihasmail: ihasmail })}
{tNode("AGPL-3.0-or-later · {source}", { source: source.tar.gz ({SOURCE_ID}) })}