diff --git a/README.md b/README.md index 1fb4e0b95..5b96a65d8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) ![LiberaPay patrons](https://img.shields.io/liberapay/patrons/ElianDoran) diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index 653eca57f..02e6af9cf 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -1979,6 +1979,10 @@ body.electron.platform-darwin:not(.native-titlebar) .tab-row-container { -webkit-app-region: drag; } +body.electron.platform-darwin:not(.native-titlebar) #tab-row-left-spacer { + width: 80px; +} + .tab-row-widget { padding-inline-end: calc(100vw - env(titlebar-area-width, 100vw)); } diff --git a/apps/client/src/stylesheets/theme-next/shell.css b/apps/client/src/stylesheets/theme-next/shell.css index 7797e3a80..8e2f8a9a7 100644 --- a/apps/client/src/stylesheets/theme-next/shell.css +++ b/apps/client/src/stylesheets/theme-next/shell.css @@ -100,7 +100,7 @@ body.layout-horizontal > .horizontal { align-items: center; } -#launcher-container { +body[dir=ltr] #launcher-container { scrollbar-gutter: stable both-edges; } diff --git a/apps/client/src/translations/sv/translation.json b/apps/client/src/translations/sv/translation.json index 0967ef424..c5ec9a096 100644 --- a/apps/client/src/translations/sv/translation.json +++ b/apps/client/src/translations/sv/translation.json @@ -1 +1,8 @@ -{} +{ + "about": { + "title": "Om Trilium Notes", + "homepage": "Hemsida:", + "app_version": "App version:", + "db_version": "DB version:" + } +} diff --git a/apps/client/src/widgets/react/Dropdown.tsx b/apps/client/src/widgets/react/Dropdown.tsx index e35584422..866a138b8 100644 --- a/apps/client/src/widgets/react/Dropdown.tsx +++ b/apps/client/src/widgets/react/Dropdown.tsx @@ -1,11 +1,10 @@ import { Dropdown as BootstrapDropdown } from "bootstrap"; import { ComponentChildren } from "preact"; -import { CSSProperties } from "preact/compat"; +import { CSSProperties, HTMLProps } from "preact/compat"; import { useCallback, useEffect, useRef, useState } from "preact/hooks"; import { useUniqueName } from "./hooks"; -export interface DropdownProps { - className?: string; +export interface DropdownProps extends Pick, "id" | "className"> { buttonClassName?: string; isStatic?: boolean; children: ComponentChildren; @@ -22,7 +21,7 @@ export interface DropdownProps { forceShown?: boolean; } -export default function Dropdown({ className, buttonClassName, isStatic, children, title, text, dropdownContainerStyle, dropdownContainerClassName, hideToggleArrow, iconAction, disabled, noSelectButtonStyle, noDropdownListStyle, forceShown }: DropdownProps) { +export default function Dropdown({ id, className, buttonClassName, isStatic, children, title, text, dropdownContainerStyle, dropdownContainerClassName, hideToggleArrow, iconAction, disabled, noSelectButtonStyle, noDropdownListStyle, forceShown }: DropdownProps) { const dropdownRef = useRef(null); const triggerRef = useRef(null); @@ -74,7 +73,7 @@ export default function Dropdown({ className, buttonClassName, isStatic, childre aria-haspopup="true" aria-expanded="false" title={title} - id={ariaId} + id={id ?? ariaId} disabled={disabled} > {text} diff --git a/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx b/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx index b7ef4fa0e..11a843233 100644 --- a/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx +++ b/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx @@ -5,7 +5,7 @@ import { FormDropdownDivider, FormListBadge, FormListItem } from "../react/FormL import { getAvailableLocales, t } from "../../services/i18n"; import { useNoteLabel, useNoteLabelBoolean, useNoteProperty, useTriliumEvent, useTriliumOption } from "../react/hooks"; import mime_types from "../../services/mime_types"; -import { Locale, NoteType, ToggleInParentResponse } from "@triliumnext/commons"; +import { Locale, LOCALES, NoteType, ToggleInParentResponse } from "@triliumnext/commons"; import server from "../../services/server"; import dialog from "../../services/dialog"; import FormToggle from "../react/FormToggle"; @@ -20,6 +20,7 @@ import { TabContext } from "./ribbon-interface"; import Modal from "../react/Modal"; import { CodeMimeTypesList } from "../type_widgets/options/code_notes"; import { ContentLanguagesList } from "../type_widgets/options/i18n"; +import { LocaleSelector } from "../type_widgets/options/components/LocaleSelector"; export default function BasicPropertiesTab({ note }: TabContext) { return ( @@ -290,68 +291,31 @@ function NoteLanguageSwitch({ note }: { note?: FNote | null }) { id: "", name: t("note_language.not_set") }; - const [ currentNoteLanguage, setCurrentNoteLanguage ] = useNoteLabel(note, "language"); const [ modalShown, setModalShown ] = useState(false); - const locales = useMemo(() => { const enabledLanguages = JSON.parse(languages ?? "[]") as string[]; const filteredLanguages = getAvailableLocales().filter((l) => typeof l !== "object" || enabledLanguages.includes(l.id)); - const leftToRightLanguages = filteredLanguages.filter((l) => !l.rtl); - const rightToLeftLanguages = filteredLanguages.filter((l) => l.rtl); - - let locales: ("---" | Locale)[] = [ - DEFAULT_LOCALE - ]; - - if (leftToRightLanguages.length > 0) { - locales = [ - ...locales, - "---", - ...leftToRightLanguages - ]; - } - - if (rightToLeftLanguages.length > 0) { - locales = [ - ...locales, - "---", - ...rightToLeftLanguages - ]; - } - - // This will separate the list of languages from the "Configure languages" button. - // If there is at least one language. - locales.push("---"); - return locales; + return filteredLanguages; }, [ languages ]); - const currentLocale = useMemo(() => { - return locales.find(locale => typeof locale === "object" && locale.id === currentNoteLanguage) as Locale | undefined; - }, [ currentNoteLanguage ]); - return (
{t("basic_properties.language")}:   - - {locales.map(locale => { - if (typeof locale === "object") { - const checked = locale.id === (currentNoteLanguage ?? ""); - return setCurrentNoteLanguage(locale.id || null)} - >{locale.name} - } else { - return - } - })} + setModalShown(true)} + icon="bx bx-cog" + >{t("note_language.configure-languages")} + )} + > - setModalShown(true)} - >{t("note_language.configure-languages")} - + @@ -364,7 +328,7 @@ function NoteLanguageSwitch({ note }: { note?: FNote | null }) {
- ) + ); } function findTypeTitle(type?: NoteType, mime?: string | null) { diff --git a/apps/client/src/widgets/type_widgets/options/components/LocaleSelector.tsx b/apps/client/src/widgets/type_widgets/options/components/LocaleSelector.tsx new file mode 100644 index 000000000..0161ae6a8 --- /dev/null +++ b/apps/client/src/widgets/type_widgets/options/components/LocaleSelector.tsx @@ -0,0 +1,63 @@ +import { Locale } from "@triliumnext/commons"; +import Dropdown from "../../../react/Dropdown"; +import { FormDropdownDivider, FormListItem } from "../../../react/FormList"; +import { ComponentChildren } from "preact"; +import { useMemo, useState } from "preact/hooks"; + +export function LocaleSelector({ id, locales, currentValue, onChange, defaultLocale, extraChildren }: { + id?: string; + locales: Locale[], + currentValue: string, + onChange: (newLocale: string) => void, + defaultLocale?: Locale, + extraChildren?: ComponentChildren +}) { + const [ activeLocale, setActiveLocale ] = useState(defaultLocale?.id === currentValue ? defaultLocale : locales.find(l => l.id === currentValue)); + console.log("defaultLocale ", defaultLocale, currentValue, activeLocale) + + const processedLocales = useMemo(() => { + const leftToRightLanguages = locales.filter((l) => !l.rtl); + const rightToLeftLanguages = locales.filter((l) => l.rtl); + + let items: ("---" | Locale)[] = []; + if (defaultLocale) items.push(defaultLocale); + + if (leftToRightLanguages.length > 0) { + if (items.length > 0) items.push("---"); + items = [ ...items, ...leftToRightLanguages ]; + } + + if (rightToLeftLanguages.length > 0) { + items = [ + ...items, + "---", + ...rightToLeftLanguages + ]; + } + + if (extraChildren) { + items.push("---"); + } + return items; + }, [ locales ]); + + return ( + + {processedLocales.map(locale => { + if (typeof locale === "object") { + return { + setActiveLocale(locale); + onChange(locale.id); + }} + >{locale.name} + } else { + return + } + })} + {extraChildren} + + ) +} diff --git a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css index 98778b96e..6eeaa1074 100644 --- a/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css +++ b/apps/client/src/widgets/type_widgets/options/components/OptionsRow.css @@ -10,10 +10,16 @@ margin-bottom: 0 !important; } -.option-row > select { +.option-row > select, +.option-row > .dropdown { width: 60%; } +.option-row > .dropdown button { + width: 100%; + text-align: start; +} + .option-row:last-of-type { border-bottom: unset; } diff --git a/apps/client/src/widgets/type_widgets/options/i18n.tsx b/apps/client/src/widgets/type_widgets/options/i18n.tsx index 4e6ec61e8..36a0a1100 100644 --- a/apps/client/src/widgets/type_widgets/options/i18n.tsx +++ b/apps/client/src/widgets/type_widgets/options/i18n.tsx @@ -5,13 +5,14 @@ import OptionsRow from "./components/OptionsRow"; import OptionsSection from "./components/OptionsSection"; import { useTriliumOption, useTriliumOptionJson } from "../../react/hooks"; import type { Locale } from "@triliumnext/commons"; -import { isElectron, restartDesktopApp } from "../../../services/utils"; -import FormRadioGroup, { FormInlineRadioGroup } from "../../react/FormRadioGroup"; +import { restartDesktopApp } from "../../../services/utils"; +import FormRadioGroup from "../../react/FormRadioGroup"; import FormText from "../../react/FormText"; import RawHtml from "../../react/RawHtml"; import Admonition from "../../react/Admonition"; import Button from "../../react/Button"; import CheckboxList from "./components/CheckboxList"; +import { LocaleSelector } from "./components/LocaleSelector"; export default function InternationalizationOptions() { return ( @@ -32,7 +33,6 @@ function LocalizationOptions() { return true; }), formattingLocales: [ - { id: "", name: t("i18n.formatting-locale-auto") }, ...allLocales.filter(locale => locale.electronLocale) ] } @@ -48,7 +48,7 @@ function LocalizationOptions() { { - + } @@ -56,15 +56,6 @@ function LocalizationOptions() { ) } -function LocaleSelector({ id, locales, currentValue, onChange }: { id?: string; locales: Locale[], currentValue: string, onChange: (newLocale: string) => void }) { - return ; -} - function DateSettings() { const [ firstDayOfWeek, setFirstDayOfWeek ] = useTriliumOption("firstDayOfWeek"); const [ firstWeekOfYear, setFirstWeekOfYear ] = useTriliumOption("firstWeekOfYear"); diff --git a/apps/desktop/src/main.ts b/apps/desktop/src/main.ts index 52ebe458b..a94709107 100644 --- a/apps/desktop/src/main.ts +++ b/apps/desktop/src/main.ts @@ -12,6 +12,7 @@ import { deferred } from "@triliumnext/server/src/services/utils.js"; import { PRODUCT_NAME } from "./app-info"; import port from "@triliumnext/server/src/services/port.js"; import { join } from "path"; +import { LOCALES } from "../../../packages/commons/src"; async function main() { const userDataPath = getUserData(); @@ -30,7 +31,7 @@ async function main() { // needed for excalidraw export https://github.com/zadam/trilium/issues/4271 app.commandLine.appendSwitch("enable-experimental-web-platform-features"); - app.commandLine.appendSwitch("lang", options.getOptionOrNull("formattingLocale") || options.getOptionOrNull("locale") || "en"); + app.commandLine.appendSwitch("lang", getElectronLocale()); // Disable smooth scroll if the option is set const smoothScrollEnabled = options.getOptionOrNull("smoothScrollEnabled"); @@ -128,4 +129,15 @@ async function onReady() { await windowService.registerGlobalShortcuts(); } +function getElectronLocale() { + const uiLocale = options.getOptionOrNull("locale"); + const formattingLocale = options.getOptionOrNull("formattingLocale"); + const correspondingLocale = LOCALES.find(l => l.id === uiLocale); + + // For RTL, we have to force the UI locale to align the window buttons properly. + if (formattingLocale && !correspondingLocale?.rtl) return formattingLocale; + + return uiLocale || "en" +} + main(); diff --git a/apps/server/src/assets/translations/sv/server.json b/apps/server/src/assets/translations/sv/server.json index 0967ef424..0fc334731 100644 --- a/apps/server/src/assets/translations/sv/server.json +++ b/apps/server/src/assets/translations/sv/server.json @@ -1 +1,7 @@ -{} +{ + "keyboard_actions": { + "back-in-note-history": "Gå till föregående anteckning i historiken", + "forward-in-note-history": "Gå till nästa anteckning i historiken", + "open-jump-to-note-dialog": "Öppna \"Hoppa till anteckning\" dialog" + } +} diff --git a/apps/website/public/translations/sv/translation.json b/apps/website/public/translations/sv/translation.json index 0967ef424..46df51fba 100644 --- a/apps/website/public/translations/sv/translation.json +++ b/apps/website/public/translations/sv/translation.json @@ -1 +1,7 @@ -{} +{ + "get-started": { + "title": "Kom igång", + "desktop_title": "Ladda ner skrivbordsprogrammet (v{{version}})", + "architecture": "Arkitektur:" + } +} diff --git a/docs/README-ZH_CN.md b/docs/README-ZH_CN.md index 2efbd4f83..ea0609311 100644 --- a/docs/README-ZH_CN.md +++ b/docs/README-ZH_CN.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ZH_TW.md b/docs/README-ZH_TW.md index 4c1a21e3b..510945e78 100644 --- a/docs/README-ZH_TW.md +++ b/docs/README-ZH_TW.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ar.md b/docs/README-ar.md index 88d7e3616..788884f36 100644 --- a/docs/README-ar.md +++ b/docs/README-ar.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # ملاحظات تريليوم ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ca.md b/docs/README-ca.md index 348eb9d3e..586045a29 100644 --- a/docs/README-ca.md +++ b/docs/README-ca.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-cs.md b/docs/README-cs.md index 348eb9d3e..586045a29 100644 --- a/docs/README-cs.md +++ b/docs/README-cs.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-de.md b/docs/README-de.md index eb510193f..fc4e6714b 100644 --- a/docs/README-de.md +++ b/docs/README-de.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-el.md b/docs/README-el.md index 348eb9d3e..586045a29 100644 --- a/docs/README-el.md +++ b/docs/README-el.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-es.md b/docs/README-es.md index 348eb9d3e..586045a29 100644 --- a/docs/README-es.md +++ b/docs/README-es.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-fa.md b/docs/README-fa.md index 348eb9d3e..586045a29 100644 --- a/docs/README-fa.md +++ b/docs/README-fa.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-fi.md b/docs/README-fi.md index 348eb9d3e..586045a29 100644 --- a/docs/README-fi.md +++ b/docs/README-fi.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-fr.md b/docs/README-fr.md index 348eb9d3e..586045a29 100644 --- a/docs/README-fr.md +++ b/docs/README-fr.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-hr.md b/docs/README-hr.md index 348eb9d3e..586045a29 100644 --- a/docs/README-hr.md +++ b/docs/README-hr.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-hu.md b/docs/README-hu.md index 348eb9d3e..586045a29 100644 --- a/docs/README-hu.md +++ b/docs/README-hu.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-id.md b/docs/README-id.md index fd392b472..77a947acf 100644 --- a/docs/README-id.md +++ b/docs/README-id.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-it.md b/docs/README-it.md index c24005f3e..260cd3a72 100644 --- a/docs/README-it.md +++ b/docs/README-it.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ja.md b/docs/README-ja.md index e6d048523..f5caa13c0 100644 --- a/docs/README-ja.md +++ b/docs/README-ja.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ko.md b/docs/README-ko.md index 348eb9d3e..586045a29 100644 --- a/docs/README-ko.md +++ b/docs/README-ko.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-md.md b/docs/README-md.md index 348eb9d3e..586045a29 100644 --- a/docs/README-md.md +++ b/docs/README-md.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-nb_NO.md b/docs/README-nb_NO.md index 348eb9d3e..586045a29 100644 --- a/docs/README-nb_NO.md +++ b/docs/README-nb_NO.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-nl.md b/docs/README-nl.md index 1f2141a28..933374ee3 100644 --- a/docs/README-nl.md +++ b/docs/README-nl.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsoren](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-pl.md b/docs/README-pl.md index 348eb9d3e..586045a29 100644 --- a/docs/README-pl.md +++ b/docs/README-pl.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-pt.md b/docs/README-pt.md index 348eb9d3e..586045a29 100644 --- a/docs/README-pt.md +++ b/docs/README-pt.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-pt_BR.md b/docs/README-pt_BR.md index 348eb9d3e..586045a29 100644 --- a/docs/README-pt_BR.md +++ b/docs/README-pt_BR.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ro.md b/docs/README-ro.md index 37a4f5683..b46d9447a 100644 --- a/docs/README-ro.md +++ b/docs/README-ro.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![Sponsori prin GitHub](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-ru.md b/docs/README-ru.md index 40e79d56a..5796e023b 100644 --- a/docs/README-ru.md +++ b/docs/README-ru.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-sl.md b/docs/README-sl.md index 348eb9d3e..586045a29 100644 --- a/docs/README-sl.md +++ b/docs/README-sl.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-sr.md b/docs/README-sr.md index 348eb9d3e..586045a29 100644 --- a/docs/README-sr.md +++ b/docs/README-sr.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-sv.md b/docs/README-sv.md index b9195eb18..daf23eb4b 100644 --- a/docs/README-sv.md +++ b/docs/README-sv.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-tr.md b/docs/README-tr.md index 348eb9d3e..586045a29 100644 --- a/docs/README-tr.md +++ b/docs/README-tr.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-uk.md b/docs/README-uk.md index 348eb9d3e..586045a29 100644 --- a/docs/README-uk.md +++ b/docs/README-uk.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/docs/README-vi.md b/docs/README-vi.md index 67a70c0bf..0c3f5a796 100644 --- a/docs/README-vi.md +++ b/docs/README-vi.md @@ -1,3 +1,14 @@ +
+ Special thanks to:
+ + Warp sponsorship
+ Warp, built for coding with multiple AI agents
+
+ Available for macOS, Linux and Windows +
+ +
+ # Trilium Notes ![GitHub Sponsors](https://img.shields.io/github/sponsors/eliandoran) diff --git a/packages/commons/src/lib/i18n.ts b/packages/commons/src/lib/i18n.ts index 8e408f2e6..f6a205d34 100644 --- a/packages/commons/src/lib/i18n.ts +++ b/packages/commons/src/lib/i18n.ts @@ -47,7 +47,6 @@ const UNSORTED_LOCALES = [ id: "ar", name: "اَلْعَرَبِيَّةُ", rtl: true, - devOnly: true, electronLocale: "ar" }, { // Hebrew