Compare commits

..

3 Commits

Author SHA1 Message Date
Henry
d9b653ff44 feat: extend apiKey rate limit 2025-10-17 22:20:39 +01:00
Xeon
e469426809 Fix/polish translation error fix and correction (#218)
* Fix for minor spelling mistakes and contextually better sounding
sentences

* chore: compile lang

* chore: rebuild translations

---------

Co-authored-by: Henry <henry_ball@hotmail.co.uk>
2025-10-17 22:06:51 +01:00
Henry
ffba2f5053 feat: improve header navigation (#219)
* feat: enhance header navigation

* chore: add translations
2025-10-17 09:03:47 +01:00
9 changed files with 61 additions and 35 deletions

View File

@@ -973,6 +973,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-Source-Projekte eine Einnahmequelle benötigen. Unsere stammt aus dem kostenpflichtigen Cloud-Angebot für Workspaces mit mehreren Benutzern (kostenlos während der Beta-Phase) und für benutzerdefinierte Workspace-Slugs. Es besteht keine Verpflichtung, dieses Angebot zu nutzen, und Sie können die Software kostenlos auf Ihrer eigenen Infrastruktur selbst hosten."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Kostenlos"

View File

@@ -973,6 +973,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos proyectos de código abierto necesitan una fuente de ingresos. La nuestra proviene de la oferta de pago en la nube para espacios de trabajo con múltiples usuarios (gratuita durante la beta) y para slugs personalizados de espacios de trabajo. No hay obligación de usarla, y puedes autoalojar el software en tu propia infraestructura sin costo alguno."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratis"

View File

@@ -973,6 +973,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs (gratuite pendant la bêta) et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratuit"

View File

@@ -973,6 +973,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni progetti open source necessitano di una fonte di entrate. La nostra proviene dall'offerta cloud a pagamento per workspace con più utenti (gratuita durante la beta) e per slug di workspace personalizzati. Non c'è alcun obbligo di utilizzarla, e puoi ospitare autonomamente il software sulla tua infrastruttura gratuitamente."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratuito"

View File

@@ -973,6 +973,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open source projecten een inkomstenbron nodig hebben. De onze komt van de betaalde cloudoplossing voor werkruimtes met meerdere gebruikers (gratis tijdens de bèta) en voor aangepaste werkruimte-slugs. Je bent niet verplicht om hiervan gebruik te maken en je kunt de software gratis op je eigen infrastructuur hosten."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Gratis"

View File

@@ -1,6 +1,11 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2025-10-16 20:29+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -73,7 +78,7 @@ msgstr "Konto"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:27
msgid "Account deleted"
msgstr "Konto usunięte"
msgstr "Konto zostało usunięte"
#: src/views/card/index.tsx:291
#: src/views/public/board/CardModal.tsx:143
@@ -335,7 +340,7 @@ msgstr "Adres URL tablicy nie może przekraczać 60 znaków"
#: src/views/public/board/index.tsx:64
msgid "Board URL copied to clipboard"
msgstr "Adres URL tablicy skopiowany do schowka"
msgstr "Adres URL tablicy został skopiowany do schowka"
#: src/views/board/components/UpdateBoardSlugForm.tsx:41
msgid "Board URL must be at least 3 characters long"
@@ -348,7 +353,7 @@ msgstr "Widoczność tablicy"
#: src/views/board/components/VisibilityButton.tsx:45
msgid "Board visibility updated"
msgstr "Widoczność tablicy zaktualizowana"
msgstr "Widoczność tablicy została zaktualizowana"
#: src/components/SideNavigation.tsx:70
msgid "Boards"
@@ -383,7 +388,7 @@ msgstr "Anuluj"
#: src/views/card/index.tsx:262
msgid "Card not found"
msgstr "Karta nie znaleziona"
msgstr "Nie można było znaleźć karty"
#: src/views/board/components/NewCardForm.tsx:309
msgid "Card title"
@@ -893,7 +898,7 @@ msgstr "Wszystko w darmowym planie, plus:"
#: src/views/pricing/components/Pricing.tsx:33
#: src/views/pricing/components/PricingTiers.tsx:31
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
msgstr "Wszystko, czego potrzebujesz, za darmo na zawsze. Nieograniczone tablice, nieograniczone listy, nieograniczone karty. Możesz zaktualizować w dowolnym momencie."
msgstr "Wszystko, czego potrzebujesz, za darmo na zawsze. Nielimitowane tablice, nieograniczone listy i nieograniczone karty. Możesz ulepszyć w dowolnym momencie."
#: src/views/boards/components/TemplateBoards.tsx:79
msgid "Execution"
@@ -924,7 +929,7 @@ msgstr "FAQ"
#: src/views/home/components/Faqs.tsx:143
#: src/views/home/components/Footer.tsx:51
msgid "FAQs"
msgstr "FAQ"
msgstr "Pytania i Odpowiedzi"
#: src/views/pricing/components/FeatureComparisonTable.tsx:168
msgid "Fast & lightweight"
@@ -970,9 +975,11 @@ msgstr "Znajdź odpowiedzi na często zadawane pytania dotyczące projektu. Nie
#: src/views/home/components/Faqs.tsx:41
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Dla długoterminowej trwałości uznajemy, że wszystkie dobre projekty open source potrzebują źródła dochodu. Nasze pochodzi z płatnej oferty chmurowej dla przestrzeni roboczych z wieloma użytkownikami (bezpłatne podczas wersji beta) oraz dla niestandardowych nazw przestrzeni roboczych. Nie ma obowiązku korzystania z niej, a oprogramowanie można hostować samodzielnie na własnej infrastrukturze bez opłat."
msgstr "Na rzecz długotrwałego rozwoju i utrzymania projektu uznaliśmy, że wszystkie dobre projekty otwartoźródłowe potrzebują źródła dochodu. Nasze środki pochodzą z płatnej oferty chmurowej dla przestrzeni roboczych z wieloma użytkownikami (bezpłatne podczas wersji beta) oraz dla niestandardowych nazw przestrzeni roboczych. Nie ma obowiązku korzystania z niej, a oprogramowanie można hostować samodzielnie na własnej infrastrukturze bez opłat i bez limitów."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Darmowy"
@@ -1183,7 +1190,7 @@ msgstr "Linki zaproszeń"
#: src/views/members/components/InviteMemberForm.tsx:123
msgid "Invite links require a Team or Pro subscription. Please upgrade your workspace."
msgstr "Linki zaproszeń wymagają subskrypcji Team lub Pro. Proszę zaktualizować swoje środowisko pracy."
msgstr "Linki zaproszeń wymagają subskrypcji Team lub Pro. Proszę ulepszyć swoje środowisko pracy."
#: src/views/card/components/MemberSelector.tsx:111
#: src/views/members/components/InviteMemberForm.tsx:365
@@ -1192,7 +1199,7 @@ msgstr "Zaproś członka"
#: src/views/members/components/InviteMemberForm.tsx:329
msgid "Inviting members requires a Team Plan. You'll be redirected to upgrade your workspace."
msgstr "Zapraszanie członków wymaga planu Team. Zostaniesz przekierowany, aby zaktualizować swoje środowisko pracy."
msgstr "Zapraszanie członków wymaga planu Team. Zostaniesz przekierowany, aby ulepszyć swoje środowisko pracy."
#: src/views/invite/index.tsx:79
#: src/views/invite/index.tsx:129
@@ -1221,7 +1228,7 @@ msgstr "Kanban jest lepszy w zespole. Idealny dla małych i rozwijających się
#: src/views/home/components/Features.tsx:136
msgid "Kanban reimagined"
msgstr "Kanban na nowo"
msgstr "Kanban wymyślony na nowo"
#: src/views/settings/components/DeleteAccountConfirmation.tsx:57
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:67
@@ -1416,7 +1423,7 @@ msgstr "Nowy szablon"
#: src/views/boards/components/TemplateBoards.tsx:44
msgid "New Ticket"
msgstr "Nowy bilet"
msgstr "Nowe zgłoszenie"
#: src/components/NewWorkspaceForm.tsx:240
msgid "New workspace"
@@ -1469,7 +1476,7 @@ msgstr "Po usunięciu przestrzeni roboczej nie będzie możliwości jej przywró
#: src/views/pricing/components/FeatureComparisonTable.tsx:150
msgid "Open source"
msgstr "Open source"
msgstr "Otwartoźródłowe"
#: src/components/AuthForm.tsx:365
msgid "or"
@@ -1482,7 +1489,7 @@ msgstr "Organizuj i znajduj karty szybko dzięki zaawansowanym narzędziom filtr
#: src/views/pricing/components/Pricing.tsx:73
#: src/views/pricing/components/PricingTiers.tsx:70
msgid "Own your data"
msgstr "Zarządzaj swoimi danymi"
msgstr "Ty posiadasz swoje dane"
#: src/views/pricing/components/FeatureComparisonTable.tsx:174
msgid "Owned by Atlassian"
@@ -1730,7 +1737,7 @@ msgstr "Zasoby"
#: src/views/pricing/components/FeatureComparisonTable.tsx:144
msgid "REST API"
msgstr "REST API"
msgstr "API REST'owe"
#: src/views/boards/components/TemplateBoards.tsx:80
msgid "Review"
@@ -1740,7 +1747,7 @@ msgstr "Przegląd"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Header.tsx:28
msgid "Roadmap"
msgstr "Mapa drogowa"
msgstr "Plan ulepszeń"
#: src/views/members/index.tsx:244
msgid "Role"
@@ -1758,7 +1765,7 @@ msgstr "Zapisz"
#: src/views/home/components/Features.tsx:116
msgid "Save time with reusable board templates."
msgstr "Oszczędzaj czas dzięki wielokrotnego użytku szablonom tablic."
msgstr "Oszczędzaj czas przy tworzeniu powtarzalnych tablic dzięki szablonom."
#: src/views/boards/components/TemplateBoards.tsx:64
msgid "Screening"
@@ -1779,11 +1786,11 @@ msgstr "Wybierz źródło"
#: src/views/pricing/components/Pricing.tsx:64
#: src/views/pricing/components/PricingTiers.tsx:61
msgid "Self Host"
msgstr "Samodzielne hostowanie"
msgstr "Hostuj samodzielnie"
#: src/views/home/index.tsx:79
msgid "Self host with Github"
msgstr "Samodzielne hostowanie z Github"
msgstr "Hostuj samodzielnie z Github"
#: src/views/card/components/ActivityList.tsx:107
msgid "self-assigned the card"
@@ -1953,11 +1960,11 @@ msgstr "Wprowadzone obecne hasło jest nieprawidłowe."
#: src/views/home/components/Faqs.tsx:33
msgid "The main difference between Kan and Trello is that Kan is open source, allowing anyone to view, modify, and contribute to our code. Our cloud offering also offers no restrictions on features for individual use, whereas Trello locks basic features such as the number of boards you can create behind a paywall."
msgstr "Główna różnica między Kan a Trello polega na tym, że Kan jest oprogramowaniem open source, co pozwala każdemu przeglądać, modyfikować i współtworzyć nasz kod. Nasza oferta w chmurze nie nakłada również żadnych ograniczeń na funkcje do użytku indywidualnego, podczas gdy Trello blokuje podstawowe funkcje, takie jak liczba tablic, które można utworzyć, za paywallem."
msgstr "Główna różnica między Kan a Trello polega na tym, że Kan jest oprogramowaniem otwartoźródłowym, co pozwala każdemu przeglądać, modyfikować i współtworzyć nasz kod. Nasza oferta w chmurze nie nakłada również żadnych ograniczeń na funkcje do użytku indywidualnego, podczas gdy Trello blokuje podstawowe funkcje, takie jak liczba tablic, które można utworzyć, za dodatkowymi kosztami."
#: src/views/home/index.tsx:63
msgid "The open source <0/> alternative to Trello"
msgstr "Alternatywa open source <0/> dla Trello"
msgstr "Otwarta alternatywa <0/> dla Trello"
#. placeholder {0}: isPublic ? "public" : "private"
#: src/views/board/components/VisibilityButton.tsx:46
@@ -2220,11 +2227,11 @@ msgstr "Ulepsz"
#: src/views/settings/components/UpgradeToProConfirmation.tsx:52
#: src/views/settings/WorkspaceSettings.tsx:89
msgid "Upgrade to Pro"
msgstr "Ulepsz do Pro"
msgstr "Ulepsz do planu Pro"
#: src/components/NewWorkspaceForm.tsx:369
msgid "Upgrade to Pro ($29/month)"
msgstr "Ulepsz do Pro (29 USD/miesiąc)"
msgstr "Ulepsz do planu Pro (29 USD/miesiąc)"
#: src/views/members/components/InviteMemberForm.tsx:357
msgid "Upgrade to Team Plan"
@@ -2238,17 +2245,17 @@ msgstr "Pilne"
#: src/components/NewWorkspaceForm.tsx:35
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:36
msgid "URL can only contain letters, numbers, and hyphens"
msgstr "URL może zawierać tylko litery, cyfry i myślniki"
msgstr "Adres URL może zawierać tylko litery, cyfry i myślniki"
#: src/components/NewWorkspaceForm.tsx:33
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:34
msgid "URL cannot exceed 24 characters"
msgstr "URL nie może przekraczać 24 znaków"
msgstr "Adres URL nie może przekraczać 24 znaków"
#: src/components/NewWorkspaceForm.tsx:31
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:32
msgid "URL must be at least 3 characters long"
msgstr "URL musi mieć co najmniej 3 znaki"
msgstr "Adres URL musi mieć co najmniej 3 znaki"
#: src/views/boards/components/NewBoardForm.tsx:154
msgid "Use template"
@@ -2285,7 +2292,7 @@ msgstr "Tylko podgląd"
#: src/views/home/components/Features.tsx:154
msgid "View our roadmap."
msgstr "Zobacz naszą mapę drogową."
msgstr "Zobacz nasz plan ulepszeń."
#: src/views/public/board/index.tsx:154
msgid "View workspace"
@@ -2301,7 +2308,7 @@ msgstr "Używamy licencji <0>AGPL-3.0</0>."
#: src/views/home/components/Features.tsx:152
msgid "We're just getting started. "
msgstr "Dopiero zaczynamy."
msgstr "Dopiero zaczynamy. "
#: src/views/auth/login/index.tsx:43
msgid "Welcome back"
@@ -2309,7 +2316,7 @@ msgstr "Witamy ponownie"
#: src/views/home/components/Faqs.tsx:91
msgid "What license are you using?"
msgstr "Jakiej licencji używasz?"
msgstr "Jakiej licencji używacie?"
#: src/views/home/components/Faqs.tsx:30
msgid "What's the difference between Kan and Trello?"
@@ -2317,7 +2324,7 @@ msgstr "Jaka jest różnica między Kan a Trello?"
#: src/views/home/components/Faqs.tsx:25
msgid "When Trello launched in 2011, it blew everyone away with its carefully designed simplicity, but over time (and atlassification) it lost its magic and grew into something closer to \"Jira Lite\". This project is our attempt to recapture the original magic of Trello's simplicity, in open source."
msgstr "Kiedy Trello zostało uruchomione w 2011 roku, zachwyciło wszystkich swoją starannie zaprojektowaną prostotą, ale z czasem (i atlassyfikacją) straciło swój urok i stało się czymś bliższym \"Jira Lite\". Ten projekt to nasza próba odzyskania oryginalnej magii prostoty Trello w wersji open source."
msgstr "Kiedy Trello zostało uruchomione w 2011 roku, zachwyciło wszystkich swoją starannie zaprojektowaną prostotą, ale z czasem straciło swój urok i stało się czymś bliższym \"Jira Lite\". Ten projekt to nasza próba odzyskania oryginalnej magii prostoty Trello w wersji otwartoźródłowej ."
#: src/views/pricing/components/FeatureComparisonTable.tsx:162
msgid "White label"
@@ -2325,7 +2332,7 @@ msgstr "Biała etykieta"
#: src/views/home/components/Faqs.tsx:22
msgid "Why make an open source Trello?"
msgstr "Dlaczego stworzyć Trello w wersji open source?"
msgstr "Dlaczego próbujecie stworzyć Trello w wersji otwartoźródłowej?"
#: src/components/SettingsLayout.tsx:39
msgid "Workspace"
@@ -2473,7 +2480,7 @@ msgstr "Twoje konto Trello jest połączone."
#: src/views/settings/components/UpdateWorkspaceDescriptionForm.tsx:49
msgid "Your workspace description has been updated."
msgstr "Opis Twojego przestrzeni roboczej został zaktualizowany."
msgstr "Opis twojej przestrzeni roboczej został zaktualizowany."
#: src/views/settings/components/DeleteWorkspaceConfirmation.tsx:27
msgid "Your workspace has been deleted."
@@ -2481,8 +2488,8 @@ msgstr "Twoja przestrzeń robocza została usunięta."
#: src/views/settings/components/UpdateWorkspaceNameForm.tsx:44
msgid "Your workspace name has been updated."
msgstr "Nazwa Twojej przestrzeni roboczej została zaktualizowana."
msgstr "Nazwa twojej przestrzeni roboczej została zaktualizowana."
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
msgid "Your workspace slug has been updated."
msgstr "Slug Twojej przestrzeni roboczej został zaktualizowany."
msgstr "Slug twojej przestrzeni roboczej został zaktualizowany."

File diff suppressed because one or more lines are too long

View File

@@ -973,6 +973,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
msgstr "Для долгосрочной устойчивости мы признаем, что всем хорошим проектам с открытым исходным кодом нужен источник дохода. Наш доход поступает от платного облачного предложения для рабочих пространств с несколькими пользователями (бесплатно в период бета-тестирования) и для пользовательских адресов рабочих пространств. Нет обязательства использовать это, и вы можете самостоятельно разместить программное обеспечение на своей инфраструктуре бесплатно."
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/Pricing.tsx:32
#: src/views/pricing/components/PricingTiers.tsx:30
#: src/views/pricing/components/PricingTiers.tsx:30
msgid "Free"
msgstr "Бесплатно"

View File

@@ -240,7 +240,14 @@ export const initAuth = (db: dbClient) => {
]
: []),
// @todo: hasing is disabled due to a bug in the api key plugin
apiKey({ disableKeyHashing: true }),
apiKey({
disableKeyHashing: true,
rateLimit: {
enabled: true,
timeWindow: 1000 * 60, // 1 minute
maxRequests: 100, // 100 requests per minute
},
}),
magicLink({
expiresIn: 60 * 60 * 24 * 7, // 7 days
sendMagicLink: async ({ email, url }) => {