refactor: rebrand from Jumble to Smesh

- Replace all Jumble branding with Smesh throughout codebase
- Add new Smesh logo images (light/dark themes)
- Update Logo component to use PNG images with theme support
- Update URLs to git.mleku.dev/mleku/smesh
- Rename JumbleTranslate to SmeshTranslate
- Update all i18n locale files with new branding
- Add system theme detection CSS to prevent flash on load
- Update PWA manifest, docker-compose, and config files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
mleku
2025-12-26 09:43:18 +02:00
parent e60a460480
commit 13b3b82443
56 changed files with 933 additions and 664 deletions

View File

@@ -1,12 +1,12 @@
# AGENTS.md
This document is designed to help AI Agents better understand and modify the Jumble project.
This document is designed to help AI Agents better understand and modify the Smesh project.
## Project Overview
Jumble is a user-friendly Nostr client for exploring relay feeds.
Smesh is a user-friendly Nostr client for exploring relay feeds.
- **Project Name**: Jumble
- **Project Name**: Smesh
- **Main Tech Stack**: React 18 + TypeScript + Vite
- **UI Framework**: Tailwind CSS + Radix UI
- **State Management**: Jotai
@@ -37,7 +37,7 @@ Jumble is a user-friendly Nostr client for exploring relay feeds.
### Project Structure
```
jumble/
smesh/
├── src/
│ ├── components/ # React components
│ │ ├── ui/ # Base UI components (shadcn/ui style)
@@ -147,7 +147,7 @@ And some Providers are placed in `PageManager.tsx` because they need to use the
### Internationalization (i18n)
Jumble is a multi-language application. When you add new text content, please ensure to add translations for all supported languages as much as possible. Append new translations to the end of each translation file without modifying or removing existing keys.
Smesh is a multi-language application. When you add new text content, please ensure to add translations for all supported languages as much as possible. Append new translations to the end of each translation file without modifying or removing existing keys.
- Translation files located in `src/i18n/locales/`
- Using `react-i18next` for internationalization

View File

@@ -1,32 +1,32 @@
<div align="center">
<picture>
<img src="./resources/logo-light.svg" alt="Jumble Logo" width="400" />
<img src="./resources/logo-light.svg" alt="Smesh Logo" width="400" />
</picture>
<p>logo designed by <a href="http://wolfertdan.com/">Daniel David</a></p>
</div>
# Jumble
# Smesh
A user-friendly Nostr client for exploring relay feeds
Experience Jumble at [https://jumble.social](https://jumble.social)
Experience Smesh at [https://smesh.social](https://smesh.social)
## Forks
> Some interesting forks of Jumble.
> Some interesting forks of Smesh.
- [https://fevela.me/](https://fevela.me/) - by [@daniele](https://jumble.social/users/npub10000003zmk89narqpczy4ff6rnuht2wu05na7kpnh3mak7z2tqzsv8vwqk)
- [https://x21.com/](https://x21.com/) - by [@Karnage](https://jumble.social/users/npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac)
- [https://jumble.imwald.eu/](https://jumble.imwald.eu/) Repo: [Silberengel/jumble](https://github.com/Silberengel/jumble) - by [@Silberengel](https://jumble.social/users/npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z)
- [https://fevela.me/](https://fevela.me/) - by [@daniele](https://smesh.social/users/npub10000003zmk89narqpczy4ff6rnuht2wu05na7kpnh3mak7z2tqzsv8vwqk)
- [https://x21.com/](https://x21.com/) - by [@Karnage](https://smesh.social/users/npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac)
- [https://smesh.imwald.eu/](https://smesh.imwald.eu/) Repo: [Silberengel/smesh](https://github.com/Silberengel/smesh) - by [@Silberengel](https://smesh.social/users/npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z)
## Run Locally
```bash
# Clone this repository
git clone https://github.com/CodyTseng/jumble.git
git clone https://git.mleku.dev/mleku/smesh.git
# Go into the repository
cd jumble
cd smesh
# Install dependencies
npm install
@@ -39,10 +39,10 @@ npm run dev
```bash
# Clone this repository
git clone https://github.com/CodyTseng/jumble.git
git clone https://git.mleku.dev/mleku/smesh.git
# Go into the repository
cd jumble
cd smesh
# Run the docker compose
docker compose up --build -d
@@ -62,7 +62,7 @@ If you like this project, you can buy me a coffee :)
- **Lightning:** ⚡️ codytseng@getalby.com ⚡️
- **Bitcoin:** bc1qwp2uqjd2dy32qfe39kehnlgx3hyey0h502fvht
- **Geyser:** https://geyser.fund/project/jumble
- **Geyser:** https://geyser.fund/project/smesh
## License

View File

@@ -1,32 +1,32 @@
services:
jumble:
container_name: jumble-nginx
smesh:
container_name: smesh-nginx
build:
context: .
dockerfile: Dockerfile
args:
VITE_PROXY_SERVER: ${JUMBLE_PROXY_SERVER_URL:-http://localhost:8090}
VITE_PROXY_SERVER: ${SMESH_PROXY_SERVER_URL:-http://localhost:8090}
ports:
- '8089:80'
restart: unless-stopped
networks:
- jumble
- smesh
proxy-server:
image: ghcr.io/danvergara/jumble-proxy-server:latest
image: ghcr.io/danvergara/smesh-proxy-server:latest
environment:
- ALLOW_ORIGIN=${JUMBLE_SOCIAL_URL:-http://localhost:8089}
- JUMBLE_PROXY_GITHUB_TOKEN=${JUMBLE_PROXY_GITHUB_TOKEN}
- ALLOW_ORIGIN=${SMESH_SOCIAL_URL:-http://localhost:8089}
- SMESH_PROXY_GITHUB_TOKEN=${SMESH_PROXY_GITHUB_TOKEN}
- ENABLE_PPROF=true
- PORT=8080
ports:
- '8090:8080'
networks:
- jumble
- smesh
nostr-relay:
image: scsibug/nostr-rs-relay:latest
container_name: jumble-nostr-relay
container_name: smesh-nostr-relay
ports:
- '7000:8080'
environment:
@@ -34,11 +34,11 @@ services:
volumes:
- relay-data:/usr/src/app/db
networks:
- jumble
- smesh
restart: unless-stopped
volumes:
relay-data:
networks:
jumble:
smesh:

View File

@@ -1,30 +1,30 @@
version: '3.8'
services:
jumble:
container_name: jumble-nginx
smesh:
container_name: smesh-nginx
build:
context: .
dockerfile: Dockerfile
args:
VITE_PROXY_SERVER: ${JUMBLE_PROXY_SERVER_URL:-http://localhost:8090}
VITE_PROXY_SERVER: ${SMESH_PROXY_SERVER_URL:-http://localhost:8090}
ports:
- '8089:80'
restart: unless-stopped
networks:
- jumble
- smesh
proxy-server:
image: ghcr.io/danvergara/jumble-proxy-server:latest
image: ghcr.io/danvergara/smesh-proxy-server:latest
environment:
- ALLOW_ORIGIN=${JUMBLE_SOCIAL_URL:-http://localhost:8089}
- JUMBLE_PROXY_GITHUB_TOKEN=${JUMBLE_PROXY_GITHUB_TOKEN}
- ALLOW_ORIGIN=${SMESH_SOCIAL_URL:-http://localhost:8089}
- SMESH_PROXY_GITHUB_TOKEN=${SMESH_PROXY_GITHUB_TOKEN}
- ENABLE_PPROF=true
- PORT=8080
ports:
- '8090:8080'
networks:
- jumble
- smesh
networks:
jumble:
smesh:

View File

@@ -4,30 +4,53 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Jumble</title>
<title>Smesh</title>
<meta name="description" content="A user-friendly Nostr client for exploring relay feeds" />
<meta
name="keywords"
content="jumble, nostr, web, client, relay, feed, social, pwa, simple, clean"
content="smesh, nostr, web, client, relay, feed, social, pwa, simple, clean"
/>
<meta name="apple-mobile-web-app-title" content="Jumble" />
<meta name="apple-mobile-web-app-title" content="Smesh" />
<link rel="icon" href="/favicon.ico" sizes="48x48" />
<link rel="icon" href="/favicon.svg" sizes="any" type="image/svg+xml" />
<meta name="theme-color" content="#171717" media="(prefers-color-scheme: dark)" />
<meta name="theme-color" content="#FFFFFF" media="(prefers-color-scheme: light)" />
<meta property="og:url" content="https://jumble.social" />
<meta property="og:url" content="https://smesh.mleku.dev" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Jumble" />
<meta property="og:title" content="Smesh" />
<meta
property="og:description"
content="A user-friendly Nostr client for exploring relay feeds"
/>
<meta
property="og:image"
content="https://github.com/CodyTseng/jumble/blob/master/resources/og-image.png?raw=true"
content="https://git.mleku.dev/mleku/smesh/raw/branch/master/resources/og-image.png"
/>
<style>
/* Prevent flash - set background based on system preference before CSS loads */
html, body, #root { background-color: #FFFFFF; color: #171717; }
@media (prefers-color-scheme: dark) {
html, body, #root { background-color: #171717; color: #FAFAFA; }
}
html.light, html.light body, html.light #root { background-color: #FFFFFF !important; color: #171717 !important; }
html.dark, html.dark body, html.dark #root { background-color: #171717 !important; color: #FAFAFA !important; }
html.dark.pure-black, html.dark.pure-black body, html.dark.pure-black #root { background-color: #000000 !important; }
</style>
<script>
(function() {
var theme = localStorage.getItem('theme-setting');
if (theme === 'light') {
document.documentElement.classList.add('light');
} else if (theme === 'dark') {
document.documentElement.classList.add('dark');
} else if (theme === 'pure-black') {
document.documentElement.classList.add('dark', 'pure-black');
}
})();
</script>
</head>
<body>
<div id="root"></div>

890
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
{
"name": "jumble",
"name": "smesh",
"version": "0.1.0",
"description": "A user-friendly Nostr client for exploring relay feeds",
"private": true,
@@ -8,11 +8,12 @@
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/CodyTseng/jumble"
"url": "git+https://git.mleku.dev/mleku/smesh"
},
"homepage": "https://github.com/CodyTseng/jumble",
"homepage": "https://git.mleku.dev/mleku/smesh",
"scripts": {
"dev": "vite --host",
"dev:8080": "vite --host 0.0.0.0 --port 8080",
"build": "tsc -b && vite build",
"lint": "eslint .",
"format": "prettier --write .",

File diff suppressed because one or more lines are too long

BIN
src/assets/smeshdark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/smeshlight.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -11,7 +11,7 @@ export default function AboutInfoDialog({ children }: { children: React.ReactNod
const content = (
<>
<div className="text-xl font-semibold">Jumble</div>
<div className="text-xl font-semibold">Smesh</div>
<div className="text-muted-foreground">
A user-friendly Nostr client for exploring relay feeds
</div>
@@ -21,15 +21,15 @@ export default function AboutInfoDialog({ children }: { children: React.ReactNod
<div>
Source code:{' '}
<a
href="https://github.com/CodyTseng/jumble"
href="https://git.mleku.dev/mleku/smesh"
target="_blank"
rel="noreferrer"
className="text-primary hover:underline"
>
GitHub
Git
</a>
<div className="text-sm text-muted-foreground">
If you like Jumble, please consider giving it a star
If you like Smesh, please consider giving it a star
</div>
</div>
</>

View File

@@ -1,5 +1,5 @@
import { Button } from '@/components/ui/button'
import { JUMBLE_PUBKEY } from '@/constants'
import { SMESH_PUBKEY } from '@/constants'
import { cn } from '@/lib/utils'
import { useState } from 'react'
import { useTranslation } from 'react-i18next'
@@ -14,9 +14,9 @@ export default function Donation({ className }: { className?: string }) {
return (
<div className={cn('p-4 border rounded-lg space-y-4', className)}>
<div className="text-center font-semibold">{t('Enjoying Jumble?')}</div>
<div className="text-center font-semibold">{t('Enjoying Smesh?')}</div>
<div className="text-center text-muted-foreground">
{t('Your donation helps me maintain Jumble and make it better! 😊')}
{t('Your donation helps me maintain Smesh and make it better! 😊')}
</div>
<div className="grid grid-cols-2 lg:grid-cols-4 gap-4">
{[
@@ -45,7 +45,7 @@ export default function Donation({ className }: { className?: string }) {
<ZapDialog
open={open}
setOpen={setOpen}
pubkey={JUMBLE_PUBKEY}
pubkey={SMESH_PUBKEY}
defaultAmount={donationAmount}
/>
</div>

View File

@@ -33,16 +33,16 @@ export class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundarySt
<p className="text-lg text-center max-w-md">
Sorry for the inconvenience. If you don't mind helping, you can{' '}
<a
href="https://github.com/CodyTseng/jumble/issues/new"
href="https://git.mleku.dev/mleku/smesh/issues/new"
target="_blank"
rel="noopener noreferrer"
className="text-primary underline"
>
submit an issue on GitHub
submit an issue
</a>{' '}
with the error details, or{' '}
<a
href="https://jumble.social/npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl"
href="https://smesh.mleku.dev/npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl"
target="_blank"
rel="noopener noreferrer"
className="text-primary underline"

View File

@@ -155,7 +155,7 @@ function RelaySetOptions({ relaySet }: { relaySet: TRelaySet }) {
const copyShareLink = () => {
navigator.clipboard.writeText(
`https://jumble.social/?${relaySet.relayUrls.map((url) => 'r=' + url).join('&')}`
`https://smesh.mleku.dev/?${relaySet.relayUrls.map((url) => 'r=' + url).join('&')}`
)
}

View File

@@ -54,7 +54,7 @@ export default function PostOptions({
/>
</div>
<div className="text-muted-foreground text-xs">
{t('Show others this was sent via Jumble')}
{t('Show others this was sent via Smesh')}
</div>
</div>

View File

@@ -145,7 +145,7 @@ function RelayControls({ url }: { url: string }) {
}
const handleCopyShareableUrl = () => {
navigator.clipboard.writeText(`https://jumble.social/?r=${url}`)
navigator.clipboard.writeText(`https://smesh.mleku.dev/?r=${url}`)
setCopiedShareableUrl(true)
toast.success('Shareable URL copied to clipboard')
setTimeout(() => setCopiedShareableUrl(false), 2000)

View File

@@ -1,6 +1,6 @@
import { kinds } from 'nostr-tools'
export const JUMBLE_API_BASE_URL = 'https://api.jumble.social'
export const SMESH_API_BASE_URL = 'https://api.smesh.social'
export const RECOMMENDED_BLOSSOM_SERVERS = [
'https://blossom.band/',
@@ -139,7 +139,7 @@ export const YOUTUBE_URL_REGEX =
export const X_URL_REGEX =
/https?:\/\/(?:www\.)?(twitter\.com|x\.com)\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)(?:[?#].*)?/gi
export const JUMBLE_PUBKEY = 'f4eb8e62add1340b9cadcd9861e669b2e907cea534e0f7f3ac974c11c758a51a'
export const SMESH_PUBKEY = 'f4eb8e62add1340b9cadcd9861e669b2e907cea534e0f7f3ac974c11c758a51a'
export const CODY_PUBKEY = '8125b911ed0e94dbe3008a0be48cfe5cd0c0b05923cfff917ae7e87da8400883'
export const NIP_96_SERVICE = [

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'إضافة حساب',
'More options': 'المزيد من الخيارات',
'Add client tag': 'إضافة وسم العميل',
'Show others this was sent via Jumble': 'عرض أن هذه الرسالة أُرسلت عبر Jumble',
'Show others this was sent via Smesh': 'عرض أن هذه الرسالة أُرسلت عبر Smesh',
'Are you sure you want to logout?': 'هل أنت متأكد أنك تريد تسجيل الخروج؟',
'relay sets': 'مجموعات الريلاي',
edit: 'تعديل',
@@ -195,9 +195,9 @@ export default {
All: 'الكل',
Reactions: 'التفاعلات',
Zaps: 'Zaps',
'Enjoying Jumble?': 'هل تستمتع بـ Jumble؟',
'Your donation helps me maintain Jumble and make it better! 😊':
'تبرعك يساعد في صيانة Jumble وتحسينه! 😊',
'Enjoying Smesh?': 'هل تستمتع بـ Smesh؟',
'Your donation helps me maintain Smesh and make it better! 😊':
'تبرعك يساعد في صيانة Smesh وتحسينه! 😊',
'Earlier notifications': 'الإشعارات السابقة',
'Temporarily display this note': 'عرض هذه الملاحظة مؤقتاً',
buttonFollowing: 'جارٍ المتابعة',
@@ -250,7 +250,7 @@ export default {
Translation: 'الترجمة',
Balance: 'الرصيد',
characters: 'الحروف',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'يمكنك استخدام مفتاح API هذا في أي مكان آخر يدعم LibreTranslate. عنوان الخدمة هو {{serviceUrl}}',
'Top up': 'إعادة شحن',
'Will receive: {n} characters': 'ستتلقى: {{n}} حروف',
@@ -489,14 +489,14 @@ export default {
Remote: 'عن بُعد',
'Encrypted Key': 'مفتاح مشفر',
'Private Key': 'مفتاح خاص',
'Welcome to Jumble': 'مرحبًا بك في Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble هو عميل يركز على تصفح المرحلات. ابدأ باستكشاف المرحلات المثيرة للاهتمام أو قم بتسجيل الدخول لعرض خلاصتك.',
'Welcome to Smesh': 'مرحبًا بك في Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh هو عميل يركز على تصفح المرحلات. ابدأ باستكشاف المرحلات المثيرة للاهتمام أو قم بتسجيل الدخول لعرض خلاصتك.',
'Explore Relays': 'استكشف المرحلات',
'Choose a feed': 'اختر خلاصة',
'and {{x}} others': 'و {{x}} آخرون',
selfZapWarning:
'Jumble غير مسؤولة عما يحدث إذا أرسلت zap لنفسك. تابع على مسؤوليتك الخاصة. 😉⚡',
'Smesh غير مسؤولة عما يحدث إذا أرسلت zap لنفسك. تابع على مسؤوليتك الخاصة. 😉⚡',
'Emoji Pack': 'حزمة الرموز التعبيرية',
'Emoji pack added': 'تمت إضافة حزمة الرموز التعبيرية',
'Add emoji pack failed': 'فشل إضافة حزمة الرموز التعبيرية',
@@ -590,7 +590,7 @@ export default {
'Publish Highlight': 'نشر التمييز',
'Show replies': 'إظهار الردود',
'Hide replies': 'إخفاء الردود',
'Welcome to Jumble!': 'مرحبًا بك في Jumble!',
'Welcome to Smesh!': 'مرحبًا بك في Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'خلاصتك فارغة لأنك لا تتابع أي شخص بعد. ابدأ باستكشاف محتوى مثير للاهتمام ومتابعة المستخدمين الذين تحبهم!',
'Search Users': 'البحث عن المستخدمين',

View File

@@ -96,7 +96,7 @@ export default {
'Add an Account': 'Konto hinzufügen',
'More options': 'Mehr Optionen',
'Add client tag': 'Client-Tag hinzufügen',
'Show others this was sent via Jumble': 'Anderen zeigen, dass dies über Jumble gesendet wurde',
'Show others this was sent via Smesh': 'Anderen zeigen, dass dies über Smesh gesendet wurde',
'Are you sure you want to logout?': 'Bist du sicher, dass du dich abmelden möchtest?',
'relay sets': 'Relay-Sets',
edit: 'bearbeiten',
@@ -199,9 +199,9 @@ export default {
All: 'Alle',
Reactions: 'Reaktionen',
Zaps: 'Zaps',
'Enjoying Jumble?': 'Gefällt dir Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Deine Spende hilft mir, Jumble zu pflegen und zu verbessern! 😊',
'Enjoying Smesh?': 'Gefällt dir Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Deine Spende hilft mir, Smesh zu pflegen und zu verbessern! 😊',
'Earlier notifications': 'Frühere Benachrichtigungen',
'Temporarily display this note': 'Notiz vorübergehend anzeigen',
buttonFollowing: 'Folge',
@@ -257,7 +257,7 @@ export default {
Translation: 'Übersetzung',
Balance: 'Guthaben',
characters: 'Zeichen',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Du kannst diesen API-Schlüssel überall dort verwenden, wo LibreTranslate unterstützt wird. Die Service-URL ist {{serviceUrl}}',
'Top up': 'Aufladen',
'Will receive: {n} characters': 'Erhalte: {{n}} Zeichen',
@@ -503,14 +503,14 @@ export default {
Remote: 'Remote',
'Encrypted Key': 'Verschlüsselter Schlüssel',
'Private Key': 'Privater Schlüssel',
'Welcome to Jumble': 'Willkommen bei Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble ist ein Client, der sich auf das Durchsuchen von Relays konzentriert. Beginnen Sie mit der Erkundung interessanter Relays oder melden Sie sich an, um Ihren Following-Feed anzuzeigen.',
'Welcome to Smesh': 'Willkommen bei Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh ist ein Client, der sich auf das Durchsuchen von Relays konzentriert. Beginnen Sie mit der Erkundung interessanter Relays oder melden Sie sich an, um Ihren Following-Feed anzuzeigen.',
'Explore Relays': 'Relays erkunden',
'Choose a feed': 'Wähle einen Feed',
'and {{x}} others': 'und {{x}} andere',
selfZapWarning:
'Jumble ist nicht verantwortlich für das, was passiert, wenn Sie sich selbst zappen. Fahren Sie auf eigene Gefahr fort. 😉⚡',
'Smesh ist nicht verantwortlich für das, was passiert, wenn Sie sich selbst zappen. Fahren Sie auf eigene Gefahr fort. 😉⚡',
'Emoji Pack': 'Emoji-Paket',
'Emoji pack added': 'Emoji-Paket hinzugefügt',
'Add emoji pack failed': 'Hinzufügen des Emoji-Pakets fehlgeschlagen',
@@ -607,7 +607,7 @@ export default {
'Publish Highlight': 'Markierung Veröffentlichen',
'Show replies': 'Antworten anzeigen',
'Hide replies': 'Antworten ausblenden',
'Welcome to Jumble!': 'Willkommen bei Jumble!',
'Welcome to Smesh!': 'Willkommen bei Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Ihr Feed ist leer, weil Sie noch niemandem folgen. Beginnen Sie damit, interessante Inhalte zu erkunden und Benutzern zu folgen, die Ihnen gefallen!',
'Search Users': 'Benutzer suchen',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'Add an Account',
'More options': 'More options',
'Add client tag': 'Add client tag',
'Show others this was sent via Jumble': 'Show others this was sent via Jumble',
'Show others this was sent via Smesh': 'Show others this was sent via Smesh',
'Are you sure you want to logout?': 'Are you sure you want to logout?',
'relay sets': 'relay sets',
edit: 'edit',
@@ -196,9 +196,9 @@ export default {
All: 'All',
Reactions: 'Reactions',
Zaps: 'Zaps',
'Enjoying Jumble?': 'Enjoying Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Your donation helps me maintain Jumble and make it better! 😊',
'Enjoying Smesh?': 'Enjoying Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Your donation helps me maintain Smesh and make it better! 😊',
'Earlier notifications': 'Earlier notifications',
'Temporarily display this note': 'Temporarily display this note',
buttonFollowing: 'Following',
@@ -250,7 +250,7 @@ export default {
Translation: 'Translation',
Balance: 'Balance',
characters: 'characters',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}',
'Top up': 'Top up',
'Will receive: {n} characters': 'Will receive: {{n}} characters',
@@ -489,14 +489,14 @@ export default {
Remote: 'Remote',
'Encrypted Key': 'Encrypted Key',
'Private Key': 'Private Key',
'Welcome to Jumble': 'Welcome to Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.',
'Welcome to Smesh': 'Welcome to Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.',
'Explore Relays': 'Explore Relays',
'Choose a feed': 'Choose a feed',
'and {{x}} others': 'and {{x}} others',
selfZapWarning:
'Jumble is not responsible for what happens if you zap yourself. Proceed at your own risk. 😉⚡',
'Smesh is not responsible for what happens if you zap yourself. Proceed at your own risk. 😉⚡',
'Emoji Pack': 'Emoji Pack',
'Emoji pack added': 'Emoji pack added',
'Add emoji pack failed': 'Add emoji pack failed',
@@ -593,7 +593,7 @@ export default {
'Publish Highlight': 'Publish Highlight',
'Show replies': 'Show replies',
'Hide replies': 'Hide replies',
'Welcome to Jumble!': 'Welcome to Jumble!',
'Welcome to Smesh!': 'Welcome to Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!',
'Search Users': 'Search Users',

View File

@@ -96,7 +96,7 @@ export default {
'Add an Account': 'Agregar una cuenta',
'More options': 'Más opciones',
'Add client tag': 'Agregar etiqueta de cliente',
'Show others this was sent via Jumble': 'Mostrar a otros que esto se envió vía Jumble',
'Show others this was sent via Smesh': 'Mostrar a otros que esto se envió vía Smesh',
'Are you sure you want to logout?': '¿Estás seguro de que deseas cerrar sesión?',
'relay sets': 'conjuntos de relés',
edit: 'editar',
@@ -199,9 +199,9 @@ export default {
All: 'Todo',
Reactions: 'Reacciones',
Zaps: 'Zaps',
'Enjoying Jumble?': '¿Te gusta Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'¡Tu donación me ayuda a mantener y mejorar Jumble! 😊',
'Enjoying Smesh?': '¿Te gusta Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'¡Tu donación me ayuda a mantener y mejorar Smesh! 😊',
'Earlier notifications': 'Notificaciones anteriores',
'Temporarily display this note': 'Mostrar esta nota temporalmente',
buttonFollowing: 'Siguiendo',
@@ -255,7 +255,7 @@ export default {
Translation: 'Traducción',
Balance: 'Saldo',
characters: 'caracteres',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Puedes usar esta clave API en cualquier otro lugar que soporte LibreTranslate. La URL del servicio es {{serviceUrl}}',
'Top up': 'Recargar',
'Will receive: {n} characters': 'Recibirás: {{n}} caracteres',
@@ -497,14 +497,14 @@ export default {
Remote: 'Remoto',
'Encrypted Key': 'Clave privada cifrada',
'Private Key': 'Clave privada',
'Welcome to Jumble': 'Bienvenido a Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble es un cliente enfocado en explorar relays. Comienza explorando relays interesantes o inicia sesión para ver tu feed de seguidos.',
'Welcome to Smesh': 'Bienvenido a Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh es un cliente enfocado en explorar relays. Comienza explorando relays interesantes o inicia sesión para ver tu feed de seguidos.',
'Explore Relays': 'Explorar Relays',
'Choose a feed': 'Elige un feed',
'and {{x}} others': 'y {{x}} otros',
selfZapWarning:
'Jumble no se hace responsable de lo que suceda si te zapeas a ti mismo. Procede bajo tu propio riesgo. 😉⚡',
'Smesh no se hace responsable de lo que suceda si te zapeas a ti mismo. Procede bajo tu propio riesgo. 😉⚡',
'Emoji Pack': 'Paquete de Emojis',
'Emoji pack added': 'Paquete de emojis añadido',
'Add emoji pack failed': 'Error al añadir paquete de emojis',
@@ -603,7 +603,7 @@ export default {
'Publish Highlight': 'Publicar Resaltado',
'Show replies': 'Mostrar respuestas',
'Hide replies': 'Ocultar respuestas',
'Welcome to Jumble!': '¡Bienvenido a Jumble!',
'Welcome to Smesh!': '¡Bienvenido a Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Tu feed está vacío porque aún no sigues a nadie. ¡Comienza explorando contenido interesante y siguiendo a los usuarios que te gusten!',
'Search Users': 'Buscar Usuarios',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'افزودن حساب',
'More options': 'گزینه‌های بیشتر',
'Add client tag': 'افزودن برچسب کلاینت',
'Show others this was sent via Jumble': 'به دیگران نشان دهید که از طریق Jumble ارسال شده',
'Show others this was sent via Smesh': 'به دیگران نشان دهید که از طریق Smesh ارسال شده',
'Are you sure you want to logout?': 'آیا مطمئن هستید که می‌خواهید خارج شوید؟',
'relay sets': 'مجموعه‌های رله',
edit: 'ویرایش',
@@ -197,9 +197,9 @@ export default {
All: 'همه',
Reactions: 'واکنش‌ها',
Zaps: 'زپ‌ها',
'Enjoying Jumble?': 'از Jumble لذت می‌برید؟',
'Your donation helps me maintain Jumble and make it better! 😊':
'کمک مالی شما به من در نگهداری Jumble و بهتر کردن آن کمک می‌کند! 😊',
'Enjoying Smesh?': 'از Smesh لذت می‌برید؟',
'Your donation helps me maintain Smesh and make it better! 😊':
'کمک مالی شما به من در نگهداری Smesh و بهتر کردن آن کمک می‌کند! 😊',
'Earlier notifications': 'اعلان‌های قبلی',
'Temporarily display this note': 'نمایش موقت این یادداشت',
buttonFollowing: 'دنبال می‌کنم',
@@ -252,7 +252,7 @@ export default {
Translation: 'ترجمه',
Balance: 'موجودی',
characters: 'کاراکتر',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'می‌توانید از این کلید API در هر جای دیگری که از LibreTranslate پشتیبانی می‌کند استفاده کنید. آدرس سرویس {{serviceUrl}} است',
'Top up': 'شارژ',
'Will receive: {n} characters': 'دریافت خواهید کرد: {{n}} کاراکتر',
@@ -492,14 +492,14 @@ export default {
Remote: 'از راه دور',
'Encrypted Key': 'رمزگذاری شده کلید',
'Private Key': 'کلید خصوصی',
'Welcome to Jumble': 'به Jumble خوش آمدید',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble یک کلاینت متمرکز بر مرور رله‌هاست. با کاوش در رله‌های جالب شروع کنید یا وارد شوید تا فید دنبال‌کننده‌های خود را مشاهده کنید.',
'Welcome to Smesh': 'به Smesh خوش آمدید',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh یک کلاینت متمرکز بر مرور رله‌هاست. با کاوش در رله‌های جالب شروع کنید یا وارد شوید تا فید دنبال‌کننده‌های خود را مشاهده کنید.',
'Explore Relays': 'کاوش در رله‌ها',
'Choose a feed': 'یک فید انتخاب کنید',
'and {{x}} others': 'و {{x}} دیگر',
selfZapWarning:
'Jumble مسئولیتی در قبال اتفاقاتی که در صورت ارسال zap به خودتان می‌افتد ندارد. با مسئولیت خود ادامه دهید. 😉⚡',
'Smesh مسئولیتی در قبال اتفاقاتی که در صورت ارسال zap به خودتان می‌افتد ندارد. با مسئولیت خود ادامه دهید. 😉⚡',
'Emoji Pack': 'بسته ایموجی',
'Emoji pack added': 'بسته ایموجی اضافه شد',
'Add emoji pack failed': 'افزودن بسته ایموجی ناموفق بود',
@@ -596,7 +596,7 @@ export default {
'Publish Highlight': 'انتشار برجسته‌سازی',
'Show replies': 'نمایش پاسخ‌ها',
'Hide replies': 'پنهان کردن پاسخ‌ها',
'Welcome to Jumble!': 'به Jumble خوش آمدید!',
'Welcome to Smesh!': 'به Smesh خوش آمدید!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'فید شما خالی است زیرا هنوز کسی را دنبال نمی‌کنید. با کاوش محتوای جالب و دنبال کردن کاربرانی که دوست دارید شروع کنید!',
'Search Users': 'جستجوی کاربران',

View File

@@ -96,7 +96,7 @@ export default {
'Add an Account': 'Ajouter un compte',
'More options': "Plus d'options",
'Add client tag': 'Ajouter une étiquette client',
'Show others this was sent via Jumble': 'Montrer aux autres que cela a été envoyé via Jumble',
'Show others this was sent via Smesh': 'Montrer aux autres que cela a été envoyé via Smesh',
'Are you sure you want to logout?': 'Êtes-vous sûr de vouloir vous déconnecter ?',
'relay sets': 'groupes de relais',
edit: 'modifier',
@@ -198,9 +198,9 @@ export default {
All: 'Tous',
Reactions: 'Réactions',
Zaps: 'Zaps',
'Enjoying Jumble?': 'Vous appréciez Jumble ?',
'Your donation helps me maintain Jumble and make it better! 😊':
"Votre don m'aide à maintenir Jumble et à l'améliorer ! 😊",
'Enjoying Smesh?': 'Vous appréciez Smesh ?',
'Your donation helps me maintain Smesh and make it better! 😊':
"Votre don m'aide à maintenir Smesh et à l'améliorer ! 😊",
'Earlier notifications': 'Notifications antérieures',
'Temporarily display this note': 'Afficher temporairement cette note',
buttonFollowing: 'Suivi',
@@ -255,7 +255,7 @@ export default {
Translation: 'Traduction',
Balance: 'Solde',
characters: 'caractères',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Vous pouvez utiliser cette clé API ailleurs qui prend en charge LibreTranslate. LURL du service est {{serviceUrl}}',
'Top up': 'Recharger',
'Will receive: {n} characters': 'Vous recevrez : {{n}} caractères',
@@ -502,14 +502,14 @@ export default {
Remote: 'Distant',
'Encrypted Key': 'Clé chiffrée',
'Private Key': 'Clé privée',
'Welcome to Jumble': 'Bienvenue sur Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
"Jumble est un client axé sur la navigation des relais. Commencez par explorer des relais intéressants ou connectez-vous pour voir votre fil d'abonnements.",
'Welcome to Smesh': 'Bienvenue sur Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
"Smesh est un client axé sur la navigation des relais. Commencez par explorer des relais intéressants ou connectez-vous pour voir votre fil d'abonnements.",
'Explore Relays': 'Explorer les relais',
'Choose a feed': 'Choisir un fil',
'and {{x}} others': 'et {{x}} autres',
selfZapWarning:
"Jumble n'est pas responsable de ce qui se passe si vous vous zappez vous-même. Procédez à vos risques et périls. 😉⚡",
"Smesh n'est pas responsable de ce qui se passe si vous vous zappez vous-même. Procédez à vos risques et périls. 😉⚡",
'Emoji Pack': "Pack d'Emojis",
'Emoji pack added': "Pack d'emojis ajouté",
'Add emoji pack failed': "Échec de l'ajout du pack d'emojis",
@@ -605,7 +605,7 @@ export default {
'Publish Highlight': 'Publier le Surlignage',
'Show replies': 'Afficher les réponses',
'Hide replies': 'Masquer les réponses',
'Welcome to Jumble!': 'Bienvenue sur Jumble !',
'Welcome to Smesh!': 'Bienvenue sur Smesh !',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Votre flux est vide car vous ne suivez personne pour le moment. Commencez par explorer du contenu intéressant et suivez les utilisateurs que vous aimez !',
'Search Users': 'Rechercher des utilisateurs',

View File

@@ -95,8 +95,8 @@ export default {
'Add an Account': 'अकाउंट जोड़ें',
'More options': 'अधिक विकल्प',
'Add client tag': 'क्लाइंट टैग जोड़ें',
'Show others this was sent via Jumble':
'दूसरों को दिखाएं कि यह Jumble के माध्यम से भेजा गया था',
'Show others this was sent via Smesh':
'दूसरों को दिखाएं कि यह Smesh के माध्यम से भेजा गया था',
'Are you sure you want to logout?': 'क्या आप वाकई लॉगआउट करना चाहते हैं?',
'relay sets': 'रिले सेट',
edit: 'संपादित करें',
@@ -198,9 +198,9 @@ export default {
All: 'सभी',
Reactions: 'प्रतिक्रियाएं',
Zaps: 'जैप्स',
'Enjoying Jumble?': 'Jumble का आनंद ले रहे हैं?',
'Your donation helps me maintain Jumble and make it better! 😊':
'आपका दान मुझे Jumble को बनाए रखने और इसे बेहतर बनाने में मदद करता है! 😊',
'Enjoying Smesh?': 'Smesh का आनंद ले रहे हैं?',
'Your donation helps me maintain Smesh and make it better! 😊':
'आपका दान मुझे Smesh को बनाए रखने और इसे बेहतर बनाने में मदद करता है! 😊',
'Earlier notifications': 'पुरानी सूचनाएं',
'Temporarily display this note': 'इस नोट को अस्थायी रूप से प्रदर्शित करें',
buttonFollowing: 'फॉलो कर रहे हैं',
@@ -253,7 +253,7 @@ export default {
Translation: 'अनुवाद',
Balance: 'बैलेंस',
characters: 'अक्षर',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'आप इस API की को कहीं भी उपयोग कर सकते हैं जो LibreTranslate का समर्थन करता है। सेवा URL है {{serviceUrl}}',
'Top up': 'टॉप अप',
'Will receive: {n} characters': 'प्राप्त होंगे: {{n}} अक्षर',
@@ -494,14 +494,14 @@ export default {
Remote: 'रिमोट',
'Encrypted Key': 'एन्क्रिप्टेड की',
'Private Key': 'प्राइवेट की',
'Welcome to Jumble': 'Jumble में आपका स्वागत है',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble एक क्लाइंट है जो रिले ब्राउज़ करने पर केंद्रित है। रोचक रिले की खोज करके शुरू करें या अपनी फ़ॉलोइंग फ़ीड देखने के लिए लॉगिन करें।',
'Welcome to Smesh': 'Smesh में आपका स्वागत है',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh एक क्लाइंट है जो रिले ब्राउज़ करने पर केंद्रित है। रोचक रिले की खोज करके शुरू करें या अपनी फ़ॉलोइंग फ़ीड देखने के लिए लॉगिन करें।',
'Explore Relays': 'रिले एक्सप्लोर करें',
'Choose a feed': 'एक फीड चुनें',
'and {{x}} others': 'और {{x}} अन्य',
selfZapWarning:
'Jumble आपके द्वारा स्वयं को zap करने पर क्या होता है, इसके लिए जिम्मेदार नहीं है। अपनी जोखिम पर आगे बढ़ें। 😉⚡',
'Smesh आपके द्वारा स्वयं को zap करने पर क्या होता है, इसके लिए जिम्मेदार नहीं है। अपनी जोखिम पर आगे बढ़ें। 😉⚡',
'Emoji Pack': 'इमोजी पैक',
'Emoji pack added': 'इमोजी पैक जोड़ा गया',
'Add emoji pack failed': 'इमोजी पैक जोड़ना विफल रहा',
@@ -597,7 +597,7 @@ export default {
'Publish Highlight': 'हाइलाइट प्रकाशित करें',
'Show replies': 'जवाब दिखाएं',
'Hide replies': 'जवाब छुपाएं',
'Welcome to Jumble!': 'Jumble में आपका स्वागत है!',
'Welcome to Smesh!': 'Smesh में आपका स्वागत है!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'आपका फ़ीड खाली है क्योंकि आप अभी तक किसी को फ़ॉलो नहीं कर रहे हैं। दिलचस्प सामग्री का अन्वेषण करके और अपनी पसंद के उपयोगकर्ताओं को फ़ॉलो करके शुरू करें!',
'Search Users': 'उपयोगकर्ता खोजें',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'Profil hozzáadása',
'More options': 'További lehetőségek',
'Add client tag': 'Kliens jelölése',
'Show others this was sent via Jumble': 'Mutasd meg másoknak, hogy Jumble-lel küldted',
'Show others this was sent via Smesh': 'Mutasd meg másoknak, hogy Smesh-lel küldted',
'Are you sure you want to logout?': 'Biztosan ki akarsz lépni?',
'relay sets': 'csomópont listák',
edit: 'szerkesztés',
@@ -197,9 +197,9 @@ export default {
All: 'Minden',
Reactions: 'Reakciók',
Zaps: 'Zap-ok',
'Enjoying Jumble?': 'Tetszik a Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Az adományok segítenek a Jumble fenntartásában és továbbfejlesztésében! 😊',
'Enjoying Smesh?': 'Tetszik a Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Az adományok segítenek a Smesh fenntartásában és továbbfejlesztésében! 😊',
'Earlier notifications': 'Korábbi értesítések',
'Temporarily display this note': 'Poszt ideiglenes megmutatása',
buttonFollowing: 'Követed',
@@ -251,7 +251,7 @@ export default {
Translation: 'Fordítás',
Balance: 'Egyenleg',
characters: 'karakter',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}',
'Top up': 'Feltöltés',
'Will receive: {n} characters': '{{n}} karakter fogadása',
@@ -491,9 +491,9 @@ export default {
Remote: 'Távoli',
'Encrypted Key': 'Jelszóval védett titkos Kulcs',
'Private Key': 'Titkos Kulcs',
'Welcome to Jumble': 'Isten hozott',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble egy kliens, amivel könnyen böngészhetsz csomópontokat. Kezdd az érdekes csomópontok felderítésével, vagy lépj be, hogy a követettek posztjait megnézd.',
'Welcome to Smesh': 'Isten hozott',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh egy kliens, amivel könnyen böngészhetsz csomópontokat. Kezdd az érdekes csomópontok felderítésével, vagy lépj be, hogy a követettek posztjait megnézd.',
'Explore Relays': 'Csomópontok felderítése',
'Choose a feed': 'Válassz hírfolyamot',
'and {{x}} others': 'és {{x}} másik',
@@ -591,7 +591,7 @@ export default {
'Publish Highlight': 'Kiemelés Közzététele',
'Show replies': 'Válaszok megjelenítése',
'Hide replies': 'Válaszok elrejtése',
'Welcome to Jumble!': 'Üdvözlünk a Jumble-ban!',
'Welcome to Smesh!': 'Üdvözlünk a Smesh-ban!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'A hírcsatornád üres, mert még nem követsz senkit. Kezdd el érdekes tartalmak felfedezésével és kövesd azokat a felhasználókat, akik tetszenek!',
'Search Users': 'Felhasználók keresése',

View File

@@ -95,8 +95,8 @@ export default {
'Add an Account': 'Aggiungi un Account',
'More options': 'Più opzioni',
'Add client tag': 'Aggiungi etichetta del client',
'Show others this was sent via Jumble':
'Mostra agli altri che questo è stato inviato tramite Jumble',
'Show others this was sent via Smesh':
'Mostra agli altri che questo è stato inviato tramite Smesh',
'Are you sure you want to logout?': 'Sei sicuro di volerti scollegare?',
'relay sets': 'set di relay',
edit: 'modifica',
@@ -198,9 +198,9 @@ export default {
All: 'Tutto',
Reactions: 'Reazioni',
Zaps: 'Zaps',
'Enjoying Jumble?': 'Ti sta piacendo Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'La tua donazione mi aiuta a mantenere Jumble e a migliorarlo! 😊',
'Enjoying Smesh?': 'Ti sta piacendo Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'La tua donazione mi aiuta a mantenere Smesh e a migliorarlo! 😊',
'Earlier notifications': 'Notifiche precedenti',
'Temporarily display this note': 'Visualizza temporaneamente questa nota',
buttonFollowing: 'Seguendo',
@@ -254,7 +254,7 @@ export default {
Translation: 'Traduzione',
Balance: 'Saldo',
characters: 'caratteri',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
"Puoi utilizzare questa chiave API ovunque supporti LibreTranslate. L'URL del servizio è {{serviceUrl}}",
'Top up': 'Torna al saldo',
'Will receive: {n} characters': 'Riceverai: {{n}} caratteri',
@@ -497,14 +497,14 @@ export default {
Remote: 'Remoto',
'Encrypted Key': 'Chiave Crittografata',
'Private Key': 'Chiave Privata',
'Welcome to Jumble': 'Benvenuto su Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble è un client focalizzato sulla navigazione dei relay. Inizia esplorando relay interessanti o effettua il login per visualizzare il tuo feed di following.',
'Welcome to Smesh': 'Benvenuto su Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh è un client focalizzato sulla navigazione dei relay. Inizia esplorando relay interessanti o effettua il login per visualizzare il tuo feed di following.',
'Explore Relays': 'Esplora Relay',
'Choose a feed': 'Scegli un feed',
'and {{x}} others': 'e altri {{x}}',
selfZapWarning:
'Jumble non è responsabile di ciò che accade se zappi te stesso. Procedi a tuo rischio e pericolo. 😉⚡',
'Smesh non è responsabile di ciò che accade se zappi te stesso. Procedi a tuo rischio e pericolo. 😉⚡',
'Emoji Pack': 'Pacchetto Emoji',
'Emoji pack added': 'Pacchetto emoji aggiunto',
'Add emoji pack failed': 'Aggiunta del pacchetto emoji non riuscita',
@@ -602,7 +602,7 @@ export default {
'Publish Highlight': 'Pubblica Evidenziazione',
'Show replies': 'Mostra risposte',
'Hide replies': 'Nascondi risposte',
'Welcome to Jumble!': 'Benvenuto su Jumble!',
'Welcome to Smesh!': 'Benvenuto su Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Il tuo feed è vuoto perché non stai ancora seguendo nessuno. Inizia esplorando contenuti interessanti e seguendo gli utenti che ti piacciono!',
'Search Users': 'Cerca Utenti',

View File

@@ -96,7 +96,7 @@ export default {
'Add an Account': 'アカウントを追加',
'More options': 'その他のオプション',
'Add client tag': 'クライアントタグを追加',
'Show others this was sent via Jumble': 'これがJumble経由で送信されたことを表示',
'Show others this was sent via Smesh': 'これがSmesh経由で送信されたことを表示',
'Are you sure you want to logout?': '本当にログアウトしますか?',
'relay sets': 'リレイセット',
edit: '編集',
@@ -197,9 +197,9 @@ export default {
All: 'すべて',
Reactions: '反応',
Zaps: 'Zap',
'Enjoying Jumble?': 'Jumbleをお楽しみですか?',
'Your donation helps me maintain Jumble and make it better! 😊':
'あなたの寄付はJumbleの維持と改善に役立ちます! 😊',
'Enjoying Smesh?': 'Smeshをお楽しみですか?',
'Your donation helps me maintain Smesh and make it better! 😊':
'あなたの寄付はSmeshの維持と改善に役立ちます! 😊',
'Earlier notifications': '以前の通知',
'Temporarily display this note': 'このノートを一時的に表示',
buttonFollowing: 'フォロー中',
@@ -251,7 +251,7 @@ export default {
Translation: '翻訳',
Balance: '残高',
characters: '文字',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'このAPIキーは、LibreTranslateをサポートする他の場所でも使用できます。サービスURLは{{serviceUrl}}です',
'Top up': 'チャージ',
'Will receive: {n} characters': '受け取る文字数: {{n}} 文字',
@@ -493,14 +493,14 @@ export default {
Remote: 'リモート',
'Encrypted Key': '暗号化キー',
'Private Key': '暗号化されたキー',
'Welcome to Jumble': 'Jumbleへようこそ',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumbleはリレーを閲覧することに焦点を当てたクライアントです。興味深いリレーを探索するか、ログインしてフォロー中のフィードを表示してください。',
'Welcome to Smesh': 'Smeshへようこそ',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smeshはリレーを閲覧することに焦点を当てたクライアントです。興味深いリレーを探索するか、ログインしてフォロー中のフィードを表示してください。',
'Explore Relays': 'リレーを探索',
'Choose a feed': 'フィードを選択',
'and {{x}} others': 'および他{{x}}人',
selfZapWarning:
'Jumble は、あなたが自分自身にザップした場合の結果について責任を負いません。自己責任で続行してください。😉⚡',
'Smesh は、あなたが自分自身にザップした場合の結果について責任を負いません。自己責任で続行してください。😉⚡',
'Emoji Pack': '絵文字パック',
'Emoji pack added': '絵文字パックを追加しました',
'Add emoji pack failed': '絵文字パックの追加に失敗しました',
@@ -597,7 +597,7 @@ export default {
'Publish Highlight': 'ハイライトを公開',
'Show replies': '返信を表示',
'Hide replies': '返信を非表示',
'Welcome to Jumble!': 'Jumbleへようこそ!',
'Welcome to Smesh!': 'Smeshへようこそ!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'まだ誰もフォローしていないため、フィードが空です。興味深いコンテンツを探索して、好きなユーザーをフォローしてみましょう!',
'Search Users': 'ユーザーを検索',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': '계정 추가',
'More options': '더 많은 옵션',
'Add client tag': '클라이언트 태그 추가',
'Show others this was sent via Jumble': '이 노트가 Jumble을 통해 전송되었음을 표시',
'Show others this was sent via Smesh': '이 노트가 Smesh을 통해 전송되었음을 표시',
'Are you sure you want to logout?': '로그아웃 하시겠습니까?',
'relay sets': '릴레이 세트',
edit: '편집',
@@ -198,9 +198,9 @@ export default {
All: '전체',
Reactions: '반응',
Zaps: '잽',
'Enjoying Jumble?': 'Jumble이 마음에 드시나요?',
'Your donation helps me maintain Jumble and make it better! 😊':
'후원해주시면 Jumble을 더 잘 유지하고 발전시킬 수 있습니다! 😊',
'Enjoying Smesh?': 'Smesh이 마음에 드시나요?',
'Your donation helps me maintain Smesh and make it better! 😊':
'후원해주시면 Smesh을 더 잘 유지하고 발전시킬 수 있습니다! 😊',
'Earlier notifications': '이전 알림',
'Temporarily display this note': '이 노트 임시 표시',
buttonFollowing: '팔로잉 중',
@@ -252,7 +252,7 @@ export default {
Translation: '번역',
Balance: '잔액',
characters: '글자',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'이 API 키는 LibreTranslate를 지원하는 모든 곳에서 사용할 수 있습니다. 서비스 주소: {{serviceUrl}}',
'Top up': '충전',
'Will receive: {n} characters': '{{n}} 글자를 받게 됩니다',
@@ -493,14 +493,14 @@ export default {
Remote: '원격',
'Encrypted Key': '암호화된 키',
'Private Key': '개인 키',
'Welcome to Jumble': 'Jumble에 오신 것을 환영합니다',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble은 릴레이 탐색에 중점을 둔 클라이언트입니다. 흥미로운 릴레이를 탐색하거나 로그인하여 팔로잉 피드를 확인하세요.',
'Welcome to Smesh': 'Smesh에 오신 것을 환영합니다',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh은 릴레이 탐색에 중점을 둔 클라이언트입니다. 흥미로운 릴레이를 탐색하거나 로그인하여 팔로잉 피드를 확인하세요.',
'Explore Relays': '릴레이 탐색',
'Choose a feed': '피드 선택',
'and {{x}} others': '및 기타 {{x}}명',
selfZapWarning:
'Jumble은 자신에게 Zap을 보낼 때 발생하는 일에 대해 책임을 지지 않습니다. 본인의 책임 하에 진행하세요. 😉⚡',
'Smesh은 자신에게 Zap을 보낼 때 발생하는 일에 대해 책임을 지지 않습니다. 본인의 책임 하에 진행하세요. 😉⚡',
'Emoji Pack': '이모지 팩',
'Emoji pack added': '이모지 팩이 추가되었습니다',
'Add emoji pack failed': '이모지 팩 추가 실패',
@@ -595,7 +595,7 @@ export default {
'Publish Highlight': '하이라이트 게시',
'Show replies': '답글 표시',
'Hide replies': '답글 숨기기',
'Welcome to Jumble!': 'Jumble에 오신 것을 환영합니다!',
'Welcome to Smesh!': 'Smesh에 오신 것을 환영합니다!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'아직 아무도 팔로우하지 않아서 피드가 비어 있습니다. 흥미로운 콘텐츠를 탐색하고 마음에 드는 사용자를 팔로우해보세요!',
'Search Users': '사용자 검색',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'Dodaj Konto',
'More options': 'Więcej opcji',
'Add client tag': 'Dodaj tag klienta',
'Show others this was sent via Jumble': 'Pokaż innym, że zostało to wysłane przez Jumble',
'Show others this was sent via Smesh': 'Pokaż innym, że zostało to wysłane przez Smesh',
'Are you sure you want to logout?': 'Czy na pewno chcesz się wylogować?',
'relay sets': 'Zestawy transmiterów',
edit: 'edytuj',
@@ -195,9 +195,9 @@ export default {
All: 'Wszystkie',
Reactions: 'Odzewy',
Zaps: 'Zapy',
'Enjoying Jumble?': 'Podoba ci się Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Twoja darowizna pomoże mi utrzymać i ulepszać Jumble! 😊',
'Enjoying Smesh?': 'Podoba ci się Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Twoja darowizna pomoże mi utrzymać i ulepszać Smesh! 😊',
'Earlier notifications': 'Wcześniejsze powiadomienia',
// NOTE: The translations below were generated by ChatGPT and have not yet been verified.
@@ -253,7 +253,7 @@ export default {
Translation: 'Tłumaczenie',
Balance: 'Saldo',
characters: 'znaków',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Ten klucz API możesz używać wszędzie tam, gdzie obsługiwane jest LibreTranslate. Adres usługi to {{serviceUrl}}',
'Top up': 'Doładuj',
'Will receive: {n} characters': 'Otrzymasz: {{n}} znaków',
@@ -497,14 +497,14 @@ export default {
Remote: 'Zdalne',
'Encrypted Key': 'Zaszyfrowany Klucz',
'Private Key': 'Zaszyfrowany Klucz',
'Welcome to Jumble': 'Witamy w Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble to klient skupiający się na przeglądaniu transmiterów. Rozpocznij od odkrycia interesujących transmiterów lub zaloguj się, aby wyświetlić wpisy obserwowanych użytkowników.',
'Welcome to Smesh': 'Witamy w Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh to klient skupiający się na przeglądaniu transmiterów. Rozpocznij od odkrycia interesujących transmiterów lub zaloguj się, aby wyświetlić wpisy obserwowanych użytkowników.',
'Explore Relays': 'Przeglądaj transmitery',
'Choose a feed': 'Wybierz transmitery',
'and {{x}} others': 'i {{x}} innych',
selfZapWarning:
'Jumble nie ponosi odpowiedzialności za to, co się stanie, jeśli zappujesz samego siebie. Kontynuuj na własne ryzyko. 😉⚡',
'Smesh nie ponosi odpowiedzialności za to, co się stanie, jeśli zappujesz samego siebie. Kontynuuj na własne ryzyko. 😉⚡',
'Emoji Pack': 'Pakiet Emoji',
'Emoji pack added': 'Pakiet emoji dodany',
'Add emoji pack failed': 'Dodawanie pakietu emoji nie powiodło się',
@@ -603,7 +603,7 @@ export default {
'Publish Highlight': 'Opublikuj wyróżnienie',
'Show replies': 'Pokaż odpowiedzi',
'Hide replies': 'Ukryj odpowiedzi',
'Welcome to Jumble!': 'Witamy w Jumble!',
'Welcome to Smesh!': 'Witamy w Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Twój kanał jest pusty, ponieważ jeszcze nikogo nie obserwujesz. Zacznij od odkrywania ciekawych treści i obserwowania użytkowników, którzy Ci się podobają!',
'Search Users': 'Szukaj użytkowników',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'Nova conta',
'More options': 'Mais opções',
'Add client tag': 'Adicionar tag de cliente',
'Show others this was sent via Jumble': 'Mostrar aos outros que isso foi enviado via Jumble',
'Show others this was sent via Smesh': 'Mostrar aos outros que isso foi enviado via Smesh',
'Are you sure you want to logout?': 'Tem certeza de que deseja sair?',
'relay sets': 'Conjuntos de relay',
edit: 'Editar',
@@ -198,9 +198,9 @@ export default {
All: 'Tudo',
Reactions: 'Reações',
Zaps: 'Zaps',
'Enjoying Jumble?': 'Gostando do Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Sua doação me ajuda a manter o Jumble e torná-lo melhor! 😊',
'Enjoying Smesh?': 'Gostando do Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Sua doação me ajuda a manter o Smesh e torná-lo melhor! 😊',
'Earlier notifications': 'Notificações anteriores',
'Temporarily display this note': 'Exibir esta nota temporariamente',
buttonFollowing: 'Seguindo',
@@ -254,7 +254,7 @@ export default {
Translation: 'Tradução',
Balance: 'Saldo',
characters: 'caracteres',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}',
'Top up': 'Carregar saldo',
'Will receive: {n} characters': 'Receberá: {{n}} caracteres',
@@ -495,14 +495,14 @@ export default {
Remote: 'Remoto',
'Encrypted Key': 'Chave Criptografada',
'Private Key': 'Chave Privada',
'Welcome to Jumble': 'Bem-vindo ao Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble é um cliente focado em navegar relays. Comece explorando relays interessantes ou faça login para ver o conteúdo das pessoas que você segue.',
'Welcome to Smesh': 'Bem-vindo ao Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh é um cliente focado em navegar relays. Comece explorando relays interessantes ou faça login para ver o conteúdo das pessoas que você segue.',
'Explore Relays': 'Explorar Relays',
'Choose a feed': 'Escolha um feed',
'and {{x}} others': 'e {{x}} outros',
selfZapWarning:
'Jumble não é responsável pelo que acontece se você zapear a si mesmo. Prossiga por sua conta e risco. 😉⚡',
'Smesh não é responsável pelo que acontece se você zapear a si mesmo. Prossiga por sua conta e risco. 😉⚡',
'Emoji Pack': 'Pacote de Emojis',
'Emoji pack added': 'Pacote de emojis adicionado',
'Add emoji pack failed': 'Falha ao adicionar pacote de emojis',
@@ -599,7 +599,7 @@ export default {
'Publish Highlight': 'Publicar Destaque',
'Show replies': 'Mostrar respostas',
'Hide replies': 'Ocultar respostas',
'Welcome to Jumble!': 'Bem-vindo ao Jumble!',
'Welcome to Smesh!': 'Bem-vindo ao Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Seu feed está vazio porque você ainda não está seguindo ninguém. Comece explorando conteúdo interessante e seguindo usuários que você gosta!',
'Search Users': 'Buscar Usuários',

View File

@@ -96,7 +96,7 @@ export default {
'Add an Account': 'Adicionar uma Conta',
'More options': 'Mais opções',
'Add client tag': 'Adicionar tag de cliente',
'Show others this was sent via Jumble': 'Mostrar aos outros que isso foi enviado via Jumble',
'Show others this was sent via Smesh': 'Mostrar aos outros que isso foi enviado via Smesh',
'Are you sure you want to logout?': 'Tem certeza de que deseja sair?',
'relay sets': 'conjuntos de relé',
edit: 'editar',
@@ -198,9 +198,9 @@ export default {
All: 'Tudo',
Reactions: 'Reações',
Zaps: 'Zaps',
'Enjoying Jumble?': 'Gostando do Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Sua doação me ajuda a manter o Jumble e torná-lo melhor! 😊',
'Enjoying Smesh?': 'Gostando do Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Sua doação me ajuda a manter o Smesh e torná-lo melhor! 😊',
'Earlier notifications': 'Notificações anteriores',
'Temporarily display this note': 'Exibir esta nota temporariamente',
buttonFollowing: 'Seguindo',
@@ -254,7 +254,7 @@ export default {
Translation: 'Tradução',
Balance: 'Saldo',
characters: 'caracteres',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}',
'Top up': 'Carregar',
'Will receive: {n} characters': 'Receberá: {{n}} caracteres',
@@ -497,14 +497,14 @@ export default {
Remote: 'Remoto',
'Encrypted Key': 'Chave Criptografada',
'Private Key': 'Chave Privada',
'Welcome to Jumble': 'Bem-vindo ao Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble é um cliente focado em explorar relays. Comece por explorar relays interessantes ou inicie sessão para ver o seu feed de seguidos.',
'Welcome to Smesh': 'Bem-vindo ao Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh é um cliente focado em explorar relays. Comece por explorar relays interessantes ou inicie sessão para ver o seu feed de seguidos.',
'Explore Relays': 'Explorar Relays',
'Choose a feed': 'Escolha um feed',
'and {{x}} others': 'e {{x}} outros',
selfZapWarning:
'Jumble não é responsável pelo que acontece se você zap a si mesmo. Prossiga por sua conta e risco. 😉⚡',
'Smesh não é responsável pelo que acontece se você zap a si mesmo. Prossiga por sua conta e risco. 😉⚡',
'Emoji Pack': 'Pacote de Emojis',
'Emoji pack added': 'Pacote de emojis adicionado',
'Add emoji pack failed': 'Falha ao adicionar pacote de emojis',
@@ -601,7 +601,7 @@ export default {
'Publish Highlight': 'Publicar Destaque',
'Show replies': 'Mostrar respostas',
'Hide replies': 'Ocultar respostas',
'Welcome to Jumble!': 'Bem-vindo ao Jumble!',
'Welcome to Smesh!': 'Bem-vindo ao Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'O seu feed está vazio porque ainda não está a seguir ninguém. Comece por explorar conteúdo interessante e siga utilizadores de que gosta!',
'Search Users': 'Procurar Utilizadores',

View File

@@ -96,8 +96,8 @@ export default {
'Add an Account': 'Добавить аккаунт',
'More options': 'Больше опций',
'Add client tag': 'Добавить тег клиента',
'Show others this was sent via Jumble':
'Показать другим, что сообщение отправлено через Jumble',
'Show others this was sent via Smesh':
'Показать другим, что сообщение отправлено через Smesh',
'Are you sure you want to logout?': 'Вы уверены, что хотите выйти?',
'relay sets': 'наборы ретрансляторов',
edit: 'редактировать',
@@ -200,9 +200,9 @@ export default {
All: 'Все',
Reactions: 'Реакции',
Zaps: 'Запы',
'Enjoying Jumble?': 'Нравится Jumble?',
'Your donation helps me maintain Jumble and make it better! 😊':
'Ваше пожертвование помогает поддерживать и улучшать Jumble! 😊',
'Enjoying Smesh?': 'Нравится Smesh?',
'Your donation helps me maintain Smesh and make it better! 😊':
'Ваше пожертвование помогает поддерживать и улучшать Smesh! 😊',
'Earlier notifications': 'Ранние уведомления',
'Temporarily display this note': 'Временно отобразить эту заметку',
buttonFollowing: 'Подписан',
@@ -255,7 +255,7 @@ export default {
Translation: 'Перевод',
Balance: 'Баланс',
characters: 'символов',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'Вы можете использовать этот API-ключ в любом другом месте, которое поддерживает LibreTranslate. URL сервиса: {{serviceUrl}}',
'Top up': 'Пополнить',
'Will receive: {n} characters': 'Получите: {{n}} символов',
@@ -499,14 +499,14 @@ export default {
Remote: 'Удалённый',
'Encrypted Key': 'Зашифрованный ключ',
'Private Key': 'Приватный ключ',
'Welcome to Jumble': 'Добро пожаловать в Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble — это клиент, ориентированный на просмотр relay. Начните с изучения интересных relay или войдите, чтобы увидеть ленту подписок.',
'Welcome to Smesh': 'Добро пожаловать в Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh — это клиент, ориентированный на просмотр relay. Начните с изучения интересных relay или войдите, чтобы увидеть ленту подписок.',
'Explore Relays': 'Исследовать Relay',
'Choose a feed': 'Выберите ленту',
'and {{x}} others': 'и {{x}} других',
selfZapWarning:
'Jumble не несет ответственности за то, что произойдет, если вы отправите zap самому себе. Продолжайте на свой страх и риск. 😉⚡',
'Smesh не несет ответственности за то, что произойдет, если вы отправите zap самому себе. Продолжайте на свой страх и риск. 😉⚡',
'Emoji Pack': 'Набор эмодзи',
'Emoji pack added': 'Набор эмодзи добавлен',
'Add emoji pack failed': 'Не удалось добавить набор эмодзи',
@@ -602,7 +602,7 @@ export default {
'Publish Highlight': 'Опубликовать Выделение',
'Show replies': 'Показать ответы',
'Hide replies': 'Скрыть ответы',
'Welcome to Jumble!': 'Добро пожаловать в Jumble!',
'Welcome to Smesh!': 'Добро пожаловать в Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'Ваша лента пуста, потому что вы еще ни на кого не подписаны. Начните с изучения интересного контента и подписки на понравившихся пользователей!',
'Search Users': 'Поиск пользователей',

View File

@@ -95,7 +95,7 @@ export default {
'Add an Account': 'เพิ่มบัญชี',
'More options': 'ตัวเลือกเพิ่มเติม',
'Add client tag': 'เพิ่มแท็กไคลเอนต์',
'Show others this was sent via Jumble': 'แสดงให้ผู้อื่นเห็นว่าส่งผ่าน Jumble',
'Show others this was sent via Smesh': 'แสดงให้ผู้อื่นเห็นว่าส่งผ่าน Smesh',
'Are you sure you want to logout?': 'คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?',
'relay sets': 'ชุดรีเลย์',
edit: 'แก้ไข',
@@ -195,9 +195,9 @@ export default {
All: 'ทั้งหมด',
Reactions: 'ปฏิกิริยา',
Zaps: 'ซาตส์',
'Enjoying Jumble?': 'ชอบ Jumble ไหม?',
'Your donation helps me maintain Jumble and make it better! 😊':
'การบริจาคของคุณช่วยให้ฉันดูแลและพัฒนา Jumble ให้ดีขึ้น! 😊',
'Enjoying Smesh?': 'ชอบ Smesh ไหม?',
'Your donation helps me maintain Smesh and make it better! 😊':
'การบริจาคของคุณช่วยให้ฉันดูแลและพัฒนา Smesh ให้ดีขึ้น! 😊',
'Earlier notifications': 'การแจ้งเตือนก่อนหน้า',
'Temporarily display this note': 'แสดงโน้ตนี้ชั่วคราว',
buttonFollowing: 'กำลังติดตาม',
@@ -249,7 +249,7 @@ export default {
Translation: 'การแปล',
Balance: 'ยอดคงเหลือ',
characters: 'ตัวอักษร',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'คุณสามารถใช้ API key นี้กับที่อื่นที่รองรับ LibreTranslate ที่อยู่บริการคือ {{serviceUrl}}',
'Top up': 'เติมเงิน',
'Will receive: {n} characters': 'จะได้รับ: {{n}} ตัวอักษร',
@@ -487,14 +487,14 @@ export default {
Remote: 'ระยะไกล',
'Encrypted Key': 'คีย์ที่เข้ารหัส',
'Private Key': 'คีย์ส่วนตัว',
'Welcome to Jumble': 'ยินดีต้อนรับสู่ Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble เป็นไคลเอนต์ที่เน้นการเรียกดูรีเลย์ เริ่มต้นด้วยการสำรวจรีเลย์ที่น่าสนใจ หรือเข้าสู่ระบบเพื่อดูฟีดที่คุณติดตาม',
'Welcome to Smesh': 'ยินดีต้อนรับสู่ Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh เป็นไคลเอนต์ที่เน้นการเรียกดูรีเลย์ เริ่มต้นด้วยการสำรวจรีเลย์ที่น่าสนใจ หรือเข้าสู่ระบบเพื่อดูฟีดที่คุณติดตาม',
'Explore Relays': 'สำรวจรีเลย์',
'Choose a feed': 'เลือกฟีด',
'and {{x}} others': 'และอื่น ๆ {{x}} รายการ',
selfZapWarning:
'Jumble ไม่รับผิดชอบต่อสิ่งที่เกิดขึ้นหากคุณ zap ตัวเอง ดำเนินการด้วยความเสี่ยงของคุณเอง 😉⚡',
'Smesh ไม่รับผิดชอบต่อสิ่งที่เกิดขึ้นหากคุณ zap ตัวเอง ดำเนินการด้วยความเสี่ยงของคุณเอง 😉⚡',
'Emoji Pack': 'แพ็คอีโมจิ',
'Emoji pack added': 'เพิ่มแพ็คอีโมจิแล้ว',
'Add emoji pack failed': 'การเพิ่มแพ็คอีโมจิล้มเหลว',
@@ -589,7 +589,7 @@ export default {
'Publish Highlight': 'เผยแพร่ไฮไลท์',
'Show replies': 'แสดงการตอบกลับ',
'Hide replies': 'ซ่อนการตอบกลับ',
'Welcome to Jumble!': 'ยินดีต้อนรับสู่ Jumble!',
'Welcome to Smesh!': 'ยินดีต้อนรับสู่ Smesh!',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'ฟีดของคุณว่างเปล่าเพราะคุณยังไม่ได้ติดตามใครเลย เริ่มต้นด้วยการสำรวจเนื้อหาที่น่าสนใจและติดตามผู้ใช้ที่คุณชอบ!',
'Search Users': 'ค้นหาผู้ใช้',

View File

@@ -94,7 +94,7 @@ export default {
'Add an Account': '新增帳戶',
'More options': '更多選項',
'Add client tag': '新增客戶端標籤',
'Show others this was sent via Jumble': '告訴別人這是透過 Jumble 發送的',
'Show others this was sent via Smesh': '告訴別人這是透過 Smesh 發送的',
'Are you sure you want to logout?': '確定要登出嗎?',
'relay sets': '伺服器組',
edit: '編輯',
@@ -197,9 +197,9 @@ export default {
All: '全部',
Reactions: '互動',
Zaps: '打閃',
'Enjoying Jumble?': '喜歡 Jumble 嗎?',
'Your donation helps me maintain Jumble and make it better! 😊':
'您的捐贈幫助我維護 Jumble 並使其更好!😊',
'Enjoying Smesh?': '喜歡 Smesh 嗎?',
'Your donation helps me maintain Smesh and make it better! 😊':
'您的捐贈幫助我維護 Smesh 並使其更好!😊',
'Earlier notifications': '更早的通知',
'Temporarily display this note': '臨時顯示此筆記',
buttonFollowing: '已關注',
@@ -251,7 +251,7 @@ export default {
Translation: '翻譯',
Balance: '餘額',
characters: '字元',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'您可以在任何支援 LibreTranslate 的地方使用此 API key。服務位址是 {{serviceUrl}}',
'Top up': '充值',
'Will receive: {n} characters': '將獲得:{{n}} 字元',
@@ -485,13 +485,13 @@ export default {
Remote: '遠端',
'Encrypted Key': '加密私鑰',
'Private Key': '私鑰',
'Welcome to Jumble': '歡迎來到 Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble 是一個專注於瀏覽伺服器的客戶端。從探索有趣的伺服器開始,或者登入檢視你的關注動態。',
'Welcome to Smesh': '歡迎來到 Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh 是一個專注於瀏覽伺服器的客戶端。從探索有趣的伺服器開始,或者登入檢視你的關注動態。',
'Explore Relays': '探索伺服器',
'Choose a feed': '選擇一個動態',
'and {{x}} others': '和其他 {{x}} 人',
selfZapWarning: 'Jumble 對您給自己打賞所發生的事情概不負責。風險自負。😉⚡',
selfZapWarning: 'Smesh 對您給自己打賞所發生的事情概不負責。風險自負。😉⚡',
'Emoji Pack': '表情包',
'Emoji pack added': '表情包已新增',
'Add emoji pack failed': '新增表情包失敗',
@@ -577,7 +577,7 @@ export default {
'Unfollow Special': '取消特別關注',
'Personal Feeds': '個人訂閱',
'Relay Feeds': '中繼訂閱',
'Welcome to Jumble!': '歡迎來到 Jumble',
'Welcome to Smesh!': '歡迎來到 Smesh',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'你的動態是空的,因為你還沒有關注任何人。開始探索有趣的內容並關注你喜歡的用戶吧!',
'Search Users': '搜尋用戶',

View File

@@ -94,7 +94,7 @@ export default {
'Add an Account': '添加账户',
'More options': '更多选项',
'Add client tag': '添加客户端标签',
'Show others this was sent via Jumble': '告诉别人这是通过 Jumble 发送的',
'Show others this was sent via Smesh': '告诉别人这是通过 Smesh 发送的',
'Are you sure you want to logout?': '确定要退出登录吗?',
'relay sets': '服务器组',
edit: '编辑',
@@ -197,9 +197,9 @@ export default {
All: '全部',
Reactions: '互动',
Zaps: '打闪',
'Enjoying Jumble?': '喜欢 Jumble 吗?',
'Your donation helps me maintain Jumble and make it better! 😊':
'您的捐赠帮助我维护 Jumble 并使其更好!😊',
'Enjoying Smesh?': '喜欢 Smesh 吗?',
'Your donation helps me maintain Smesh and make it better! 😊':
'您的捐赠帮助我维护 Smesh 并使其更好!😊',
'Earlier notifications': '更早的通知',
'Temporarily display this note': '临时显示此笔记',
buttonFollowing: '已关注',
@@ -251,7 +251,7 @@ export default {
Translation: '翻译',
Balance: '余额',
characters: '字符',
jumbleTranslateApiKeyDescription:
smeshTranslateApiKeyDescription:
'您可以在任何支持 LibreTranslate 的地方使用此 API key。服务地址是 {{serviceUrl}}',
'Top up': '充值',
'Will receive: {n} characters': '将获得: {{n}} 字符',
@@ -485,13 +485,13 @@ export default {
Remote: '远程',
'Encrypted Key': '加密私钥',
'Private Key': '私钥',
'Welcome to Jumble': '欢迎来到 Jumble',
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Jumble 是一个专注于浏览服务器的客户端。从探索有趣的服务器开始,或者登录查看你的关注动态。',
'Welcome to Smesh': '欢迎来到 Smesh',
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.':
'Smesh 是一个专注于浏览服务器的客户端。从探索有趣的服务器开始,或者登录查看你的关注动态。',
'Explore Relays': '探索服务器',
'Choose a feed': '选择一个动态',
'and {{x}} others': '和其他 {{x}} 人',
selfZapWarning: 'Jumble 对您给自己打赏所发生的事情概不负责。风险自负。😉⚡',
selfZapWarning: 'Smesh 对您给自己打赏所发生的事情概不负责。风险自负。😉⚡',
'Emoji Pack': '表情包',
'Emoji pack added': '表情包已添加',
'Add emoji pack failed': '添加表情包失败',
@@ -582,7 +582,7 @@ export default {
'Publish Highlight': '发布高亮',
'Show replies': '显示回复',
'Hide replies': '隐藏回复',
'Welcome to Jumble!': '欢迎来到 Jumble',
'Welcome to Smesh!': '欢迎来到 Smesh',
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!':
'你的动态是空的,因为你还没有关注任何人。开始探索有趣的内容并关注你喜欢的用户吧!',
'Search Users': '搜索用户',

View File

@@ -103,7 +103,8 @@
animation: shimmer 3s ease-in-out infinite;
}
:root {
/* Light theme variables */
:root, .light {
--surface-background: 0 0% 98%;
--background: 0 0% 100%;
--foreground: 240 10% 3.9%;
@@ -132,6 +133,39 @@
--chart-5: 27 87% 67%;
--radius: 0.75rem;
}
/* System dark preference - apply dark theme by default */
@media (prefers-color-scheme: dark) {
:root:not(.light) {
--surface-background: 240 10% 3.9%;
--background: 0 0% 9%;
--foreground: 0 0% 98%;
--card: 0 0% 12%;
--card-foreground: 0 0% 98%;
--popover: 0 0% 12%;
--popover-foreground: 0 0% 98%;
--primary: 259 43% 56%;
--primary-hover: 259 43% 65%;
--primary-foreground: 240 5.9% 10%;
--secondary: 240 3.7% 15.9%;
--secondary-foreground: 0 0% 98%;
--muted: 240 3.7% 15.9%;
--muted-foreground: 240 5% 64.9%;
--accent: 240 3.7% 15.9%;
--accent-foreground: 0 0% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 0 0% 98%;
--border: 240 3.7% 18%;
--input: 240 3.7% 15.9%;
--ring: 259 43% 56%;
--chart-1: 220 70% 50%;
--chart-2: 160 60% 45%;
--chart-3: 30 80% 55%;
--chart-4: 280 65% 60%;
--chart-5: 340 75% 55%;
--radius: 0.75rem;
}
}
/* Explicit dark class override */
.dark {
--surface-background: 240 10% 3.9%;
--background: 0 0% 9%;

View File

@@ -892,7 +892,7 @@ function buildResponseTag(value: string) {
}
function buildClientTag() {
return ['client', 'jumble']
return ['client', 'smesh']
}
function buildNsfwTag() {

View File

@@ -46,7 +46,7 @@ export default function FollowingFeed() {
return (
<div className="flex flex-col items-center justify-center min-h-[60vh] px-6 text-center">
<UserPlus size={64} className="text-muted-foreground mb-4" strokeWidth={1.5} />
<h2 className="text-2xl font-semibold mb-2">{t('Welcome to Jumble!')}</h2>
<h2 className="text-2xl font-semibold mb-2">{t('Welcome to Smesh!')}</h2>
<p className="text-muted-foreground mb-6 max-w-md">
{t(
'Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!'

View File

@@ -186,12 +186,12 @@ function WelcomeGuide() {
<div className="space-y-2">
<div className="flex items-center w-full justify-center gap-2">
<Sparkles className="text-yellow-400" />
<h2 className="text-2xl font-bold">{t('Welcome to Jumble')}</h2>
<h2 className="text-2xl font-bold">{t('Welcome to Smesh')}</h2>
<Sparkles className="text-yellow-400" />
</div>
<p className="text-muted-foreground max-w-md">
{t(
'Jumble is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.'
'Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.'
)}
</p>
</div>

View File

@@ -1,10 +0,0 @@
import { AccountInfo } from './AccountInfo'
import { JumbleTranslateAccountProvider } from './JumbleTranslateAccountProvider'
export default function JumbleTranslate() {
return (
<JumbleTranslateAccountProvider>
<AccountInfo />
</JumbleTranslateAccountProvider>
)
}

View File

@@ -1,18 +1,18 @@
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
import { JUMBLE_API_BASE_URL } from '@/constants'
import { SMESH_API_BASE_URL } from '@/constants'
import { useNostr } from '@/providers/NostrProvider'
import { Check, Copy, Eye, EyeOff } from 'lucide-react'
import { useState } from 'react'
import { useTranslation } from 'react-i18next'
import { useJumbleTranslateAccount } from './JumbleTranslateAccountProvider'
import { useSmeshTranslateAccount } from './SmeshTranslateAccountProvider'
import RegenerateApiKeyButton from './RegenerateApiKeyButton'
import TopUp from './TopUp'
export function AccountInfo() {
const { t } = useTranslation()
const { pubkey, startLogin } = useNostr()
const { account } = useJumbleTranslateAccount()
const { account } = useSmeshTranslateAccount()
const [showApiKey, setShowApiKey] = useState(false)
const [copied, setCopied] = useState(false)
@@ -63,8 +63,8 @@ export function AccountInfo() {
<RegenerateApiKeyButton />
</div>
<p className="text-sm text-muted-foreground select-text">
{t('jumbleTranslateApiKeyDescription', {
serviceUrl: new URL('/v1/translation', JUMBLE_API_BASE_URL).toString()
{t('smeshTranslateApiKeyDescription', {
serviceUrl: new URL('/v1/translation', SMESH_API_BASE_URL).toString()
})}
</p>
</div>

View File

@@ -11,11 +11,11 @@ import {
import { Loader, RotateCcw } from 'lucide-react'
import { useState } from 'react'
import { useTranslation } from 'react-i18next'
import { useJumbleTranslateAccount } from './JumbleTranslateAccountProvider'
import { useSmeshTranslateAccount } from './SmeshTranslateAccountProvider'
export default function RegenerateApiKeyButton() {
const { t } = useTranslation()
const { account, regenerateApiKey } = useJumbleTranslateAccount()
const { account, regenerateApiKey } = useSmeshTranslateAccount()
const [resettingApiKey, setResettingApiKey] = useState(false)
const [showResetDialog, setShowResetDialog] = useState(false)

View File

@@ -4,27 +4,27 @@ import { TTranslationAccount } from '@/types'
import { createContext, useContext, useEffect, useState } from 'react'
import { toast } from 'sonner'
type TJumbleTranslateAccountContext = {
type TSmeshTranslateAccountContext = {
account: TTranslationAccount | null
getAccount: () => Promise<void>
regenerateApiKey: () => Promise<void>
}
export const JumbleTranslateAccountContext = createContext<
TJumbleTranslateAccountContext | undefined
export const SmeshTranslateAccountContext = createContext<
TSmeshTranslateAccountContext | undefined
>(undefined)
export const useJumbleTranslateAccount = () => {
const context = useContext(JumbleTranslateAccountContext)
export const useSmeshTranslateAccount = () => {
const context = useContext(SmeshTranslateAccountContext)
if (!context) {
throw new Error(
'useJumbleTranslateAccount must be used within a JumbleTranslateAccountProvider'
'useSmeshTranslateAccount must be used within a SmeshTranslateAccountProvider'
)
}
return context
}
export function JumbleTranslateAccountProvider({ children }: { children: React.ReactNode }) {
export function SmeshTranslateAccountProvider({ children }: { children: React.ReactNode }) {
const { pubkey } = useNostr()
const { getAccount: _getAccount, regenerateApiKey: _regenerateApiKey } = useTranslationService()
const [account, setAccount] = useState<TTranslationAccount | null>(null)
@@ -55,7 +55,7 @@ export function JumbleTranslateAccountProvider({ children }: { children: React.R
}
} catch (error) {
toast.error(
'Failed to regenerate Jumble translation API key: ' +
'Failed to regenerate Smesh translation API key: ' +
(error instanceof Error
? error.message
: 'An error occurred while regenerating the API key')
@@ -72,7 +72,7 @@ export function JumbleTranslateAccountProvider({ children }: { children: React.R
}
} catch (error) {
toast.error(
'Failed to fetch Jumble translation account: ' +
'Failed to fetch Smesh translation account: ' +
(error instanceof Error ? error.message : 'An error occurred while fetching the account')
)
setAccount(null)
@@ -80,8 +80,8 @@ export function JumbleTranslateAccountProvider({ children }: { children: React.R
}
return (
<JumbleTranslateAccountContext.Provider value={{ account, getAccount, regenerateApiKey }}>
<SmeshTranslateAccountContext.Provider value={{ account, getAccount, regenerateApiKey }}>
{children}
</JumbleTranslateAccountContext.Provider>
</SmeshTranslateAccountContext.Provider>
)
}

View File

@@ -7,13 +7,13 @@ import { closeModal, launchPaymentModal } from '@getalby/bitcoin-connect-react'
import { Loader } from 'lucide-react'
import { useState } from 'react'
import { toast } from 'sonner'
import { useJumbleTranslateAccount } from './JumbleTranslateAccountProvider'
import { useSmeshTranslateAccount } from './SmeshTranslateAccountProvider'
import { useTranslation } from 'react-i18next'
export default function TopUp() {
const { t } = useTranslation()
const { pubkey } = useNostr()
const { getAccount } = useJumbleTranslateAccount()
const { getAccount } = useSmeshTranslateAccount()
const [topUpLoading, setTopUpLoading] = useState(false)
const [topUpAmount, setTopUpAmount] = useState(1000)
const [selectedAmount, setSelectedAmount] = useState<number | null>(1000)

View File

@@ -0,0 +1,10 @@
import { AccountInfo } from './AccountInfo'
import { SmeshTranslateAccountProvider } from './SmeshTranslateAccountProvider'
export default function SmeshTranslate() {
return (
<SmeshTranslateAccountProvider>
<AccountInfo />
</SmeshTranslateAccountProvider>
)
}

View File

@@ -12,7 +12,7 @@ import { useTranslationService } from '@/providers/TranslationServiceProvider'
import { TLanguage } from '@/types'
import { forwardRef, useState } from 'react'
import { useTranslation } from 'react-i18next'
import JumbleTranslate from './JumbleTranslate'
import SmeshTranslate from './SmeshTranslate'
import LibreTranslate from './LibreTranslate'
const TranslationPage = forwardRef(({ index }: { index?: number }, ref) => {
@@ -53,19 +53,19 @@ const TranslationPage = forwardRef(({ index }: { index?: number }, ref) => {
defaultValue={config.service}
value={config.service}
onValueChange={(newService) => {
updateConfig({ service: newService as 'jumble' | 'libre_translate' })
updateConfig({ service: newService as 'smesh' | 'libre_translate' })
}}
>
<SelectTrigger id="translation-service-select" className="w-[180px]">
<SelectValue placeholder={t('Select Translation Service')} />
</SelectTrigger>
<SelectContent>
<SelectItem value="jumble">Jumble</SelectItem>
<SelectItem value="smesh">Smesh</SelectItem>
<SelectItem value="libre_translate">LibreTranslate</SelectItem>
</SelectContent>
</Select>
</div>
{config.service === 'jumble' ? <JumbleTranslate /> : <LibreTranslate />}
{config.service === 'smesh' ? <SmeshTranslate /> : <LibreTranslate />}
</div>
</SecondaryPageLayout>
)

View File

@@ -192,9 +192,9 @@ export function NotificationProvider({ children }: { children: React.ReactNode }
// Update title
if (newNotificationCount > 0) {
document.title = `(${newNotificationCount >= 10 ? '9+' : newNotificationCount}) Jumble`
document.title = `(${newNotificationCount >= 10 ? '9+' : newNotificationCount}) Smesh`
} else {
document.title = 'Jumble'
document.title = 'Smesh'
}
// Update favicons

View File

@@ -36,7 +36,7 @@ export const useTranslationService = () => {
export function TranslationServiceProvider({ children }: { children: React.ReactNode }) {
const { i18n } = useTranslation()
const [config, setConfig] = useState<TTranslationServiceConfig>({ service: 'jumble' })
const [config, setConfig] = useState<TTranslationServiceConfig>({ service: 'smesh' })
const { pubkey, startLogin } = useNostr()
const [translatedEventIdSet, setTranslatedEventIdSet] = useState<Set<string>>(new Set())
@@ -47,7 +47,7 @@ export function TranslationServiceProvider({ children }: { children: React.React
}, [pubkey])
const getAccount = async (): Promise<TTranslationAccount | void> => {
if (config.service !== 'jumble') return
if (config.service !== 'smesh') return
if (!pubkey) {
startLogin()
return
@@ -56,7 +56,7 @@ export function TranslationServiceProvider({ children }: { children: React.React
}
const regenerateApiKey = async (): Promise<string | undefined> => {
if (config.service !== 'jumble') return
if (config.service !== 'smesh') return
if (!pubkey) {
startLogin()
return
@@ -71,7 +71,7 @@ export function TranslationServiceProvider({ children }: { children: React.React
}
const translate = async (text: string, target: string): Promise<string> => {
if (config.service === 'jumble') {
if (config.service === 'smesh') {
return await translation.translate(text, target)
} else {
return await libreTranslate.translate(text, target, config.server, config.api_key)
@@ -146,7 +146,7 @@ export function TranslationServiceProvider({ children }: { children: React.React
}
const translateEvent = async (event: Event): Promise<Event | void> => {
if (config.service === 'jumble' && !pubkey) {
if (config.service === 'smesh' && !pubkey) {
startLogin()
return
}

View File

@@ -6,7 +6,7 @@ class FayanService {
private userPercentileDataLoader = new DataLoader<string, number | null>(
async (pubkeys) => {
try {
const res = await fetch(`https://fayan.jumble.social/users`, {
const res = await fetch(`https://fayan.smesh.social/users`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'

View File

@@ -45,7 +45,7 @@ class IndexedDbService {
init(): Promise<void> {
if (!this.initPromise) {
this.initPromise = new Promise((resolve, reject) => {
const request = window.indexedDB.open('jumble', 10)
const request = window.indexedDB.open('smesh', 10)
request.onerror = (event) => {
reject(event)

View File

@@ -1,4 +1,4 @@
import { BIG_RELAY_URLS, CODY_PUBKEY, JUMBLE_PUBKEY } from '@/constants'
import { BIG_RELAY_URLS, CODY_PUBKEY, SMESH_PUBKEY } from '@/constants'
import { getZapInfoFromEvent } from '@/lib/event-metadata'
import { TProfile } from '@/types'
import { init, launchPaymentModal } from '@getalby/bitcoin-connect-react'
@@ -14,7 +14,7 @@ import client from './client.service'
export type TRecentSupporter = { pubkey: string; amount: number; comment?: string }
const OFFICIAL_PUBKEYS = [JUMBLE_PUBKEY, CODY_PUBKEY]
const OFFICIAL_PUBKEYS = [SMESH_PUBKEY, CODY_PUBKEY]
class LightningService {
static instance: LightningService
@@ -25,7 +25,7 @@ class LightningService {
if (!LightningService.instance) {
LightningService.instance = this
init({
appName: 'Jumble',
appName: 'Smesh',
showBalance: false
})
}

View File

@@ -442,7 +442,7 @@ class LocalStorageService {
}
getTranslationServiceConfig(pubkey?: string | null) {
return this.translationServiceConfigMap[pubkey ?? '_'] ?? { service: 'jumble' }
return this.translationServiceConfigMap[pubkey ?? '_'] ?? { service: 'smesh' }
}
setTranslationServiceConfig(config: TTranslationServiceConfig, pubkey?: string | null) {

View File

@@ -1,4 +1,4 @@
import { JUMBLE_API_BASE_URL } from '@/constants'
import { SMESH_API_BASE_URL } from '@/constants'
class TransactionService {
static instance: TransactionService
@@ -17,7 +17,7 @@ class TransactionService {
transactionId: string
invoiceId: string
}> {
const url = new URL('/v1/transactions', JUMBLE_API_BASE_URL).toString()
const url = new URL('/v1/transactions', SMESH_API_BASE_URL).toString()
const response = await fetch(url, {
method: 'POST',
headers: {
@@ -39,7 +39,7 @@ class TransactionService {
async checkTransaction(transactionId: string): Promise<{
state: 'pending' | 'failed' | 'settled'
}> {
const url = new URL(`/v1/transactions/${transactionId}/check`, JUMBLE_API_BASE_URL).toString()
const url = new URL(`/v1/transactions/${transactionId}/check`, SMESH_API_BASE_URL).toString()
const response = await fetch(url, {
method: 'POST'
})

View File

@@ -1,4 +1,4 @@
import { JUMBLE_API_BASE_URL } from '@/constants'
import { SMESH_API_BASE_URL } from '@/constants'
import client from '@/services/client.service'
import { TTranslationAccount } from '@/types'
@@ -25,9 +25,9 @@ class TranslationService {
let auth: string | undefined
if (!apiKey) {
auth = await client.signHttpAuth(
new URL(path, JUMBLE_API_BASE_URL).toString(),
new URL(path, SMESH_API_BASE_URL).toString(),
method,
'Auth to get Jumble translation service account'
'Auth to get Smesh translation service account'
)
}
const act = await this._fetch<TTranslationAccount>({
@@ -113,7 +113,7 @@ class TranslationService {
_auth = `Bearer ${act.api_key}`
}
const url = new URL(path, JUMBLE_API_BASE_URL).toString()
const url = new URL(path, SMESH_API_BASE_URL).toString()
const response = await fetch(url, {
method,
headers: { 'Content-Type': 'application/json', Authorization: _auth },

View File

@@ -150,7 +150,7 @@ export type TTranslationAccount = {
export type TTranslationServiceConfig =
| {
service: 'jumble'
service: 'smesh'
}
| {
service: 'libre_translate'

View File

@@ -25,6 +25,9 @@ const getAppVersion = () => {
// https://vite.dev/config/
export default defineConfig({
server: {
allowedHosts: ['smesh.mleku.dev']
},
define: {
'import.meta.env.GIT_COMMIT': getGitHash(),
'import.meta.env.APP_VERSION': getAppVersion()
@@ -48,8 +51,8 @@ export default defineConfig({
enabled: true
},
manifest: {
name: 'Jumble',
short_name: 'Jumble',
name: 'Smesh',
short_name: 'Smesh',
icons: [
{
src: '/pwa-512x512.png',
@@ -84,8 +87,8 @@ export default defineConfig({
],
start_url: '/',
display: 'standalone',
background_color: '#FFFFFF',
theme_color: '#FFFFFF',
background_color: '#171717',
theme_color: '#171717',
description: packageJson.description
}
})