Add missing translations and tweak selector styling

This commit is contained in:
Henry
2025-06-24 22:15:32 +01:00
parent 2ef2493bb5
commit f564b52159
8 changed files with 269 additions and 143 deletions

View File

@@ -7,17 +7,22 @@ checksums:
Activity%20logs/singular: 8b1f0bb96a905646ecfad1cfdfa42168
Admin%20roles/singular: 32a5d78073b9bb9a246773afba8831df
All%20seats%20are%20free%20during%20the%20beta%20until%20Sept%201st!/singular: 015cec3899cf99e37c3cf231d432e31d
All%20systems%20operational/singular: ee943a4046b09e6334cceeea9fda2bfc
API%20Reference/singular: 7dcc877064bfdf889ec55dbc9e06a242
Board%20visibility/singular: b4205f3058297833a626156057c24b26
Collaborate%20seamlessly%20with%20your%20team./singular: c5f10e431aaf8b51519bc009a4a4080c
Coming%20soon/singular: ee2b0671e00972773210c5be5a9ccb89
Comments/singular: 502237cd1044491c48494aa60967a985
Company/singular: 9e36d11fa82d1bd4563eef2abc4fcfba
Complete%20control%20and%20ownership%3A/singular: 0d8b682ba873272217425ccfc96aa9cd
Connect%20your%20favorite%20tools%20to%20streamline%20your%20workflow./singular: 033c5dcdb059ccb634aef7fe63f2f45d
Contact/singular: 9afa39bc47019ee6dec6c74b6273967c
Control%20who%20can%20view%20and%20edit%20your%20boards./singular: 2a7e0bec29bac26280de707e2fe8bce5
Custom%20domain/singular: b09e7a9c187b7163b4a6cfc78042fe42
Discuss%20and%20collaborate%20on%20cards./singular: f2e87816709f602130831ead50bba457
Do%20you%20offer%20a%20free%20plan%3F/singular: 3ef16b0994f0d9ae17067782ca9bed1b
Docs/singular: 55fea190a0c0fb32acd3dc986cd3cc91
Documentation/singular: 1563fcb5ddb5037b0709ccd3dd384a92
Everything%20in%20the%20free%20plan%2C%20plus%3A/singular: 62b44c4973b92b806c69a4b15e0256dc
Everything%20you%20need%2C%20free%20forever.%20Unlimited%20boards%2C%20unlimited%20lists%2C%20unlimited%20cards.%20Upgrade%20any%20time./singular: fa21632ab1468edf10acda2fe7b71323
FAQs/singular: dc36d7992372ccd419b39ef51cf5b16c
@@ -31,6 +36,8 @@ checksums:
Get%20started%20for%20free%20today/singular: 41e129eba0f6411337b54a7a08ea1709
Get%20started%20for%20free%2C%20with%20no%20usage%20limits.%20For%20collaboration%2C%20upgrade%20to%20a%20plan%20that%20fits%20the%20size%20of%20your%20team./singular: ddea69fa5d7b4023724296e1287872b6
Get%20started%20on%20Cloud/singular: ed926f526266ad2063283c58e6f4284a
Getting%20started/singular: 8e5e7bd026b5bec46bbfdce02ab9e0b8
GitHub/singular: 6e1cf3c00fa6fbe24afcc78ea3b5f3e4
Go%20to%20app/singular: 896d0441384dcd2bfb3b23d61ff1944d
Host%20Kan%20on%20your%20own%20infrastructure.%20Ideal%20for%20organisations%20that%20need%20complete%20control%20over%20their%20data./singular: 8e7ae0783d60ef4624d3caf9bfc3747f
How%20do%20I%20get%20a%20custom%20URL%3F/singular: 5b28fb95969c0dd19e1b9c9ab8a5fb29
@@ -39,12 +46,15 @@ checksums:
How%20do%20I%20self-host%3F/singular: ec0b6afc8ad2f581b512c0fd82926b75
How%20is%20the%20project%20funded%3F/singular: ba7e936f7b1b5faa47df59a0ef990092
Import%20your%20Trello%20boards%20and%20hit%20the%20ground%20running./singular: d66d13649f81342f8b3a4f3b54370c20
Importing%20from%20Trello/singular: 1e3a46fb9bd8ce8c7d632f9555b5bd7c
Importing%20your%20Trello%20boards%20into%20Kan%20is%20easy.%20You%20can%20follow%20our%20step-by-step%20guide%20%3C0%3Ehere%3C%2F0%3E./singular: ca88dc22801fef08fee1ecfb1bf6914e
Individuals/singular: 83bfc81f20e60556c44ec80c7d0603ec
Integrations/singular: 0ccce343287704cd90150c32e2fcad36
Kanban%20is%20better%20with%20a%20team.%20Perfect%20for%20small%20and%20growing%20teams%20looking%20to%20collaborate./singular: a77bee43046b260797c8936ad23e9223
Kanban%20reimagined/singular: 613ccfdd9f54c66cbf68cfa313498766
Labels%20%26%20Filters/singular: 8f0bdd6084516f8241cb613178114390
Legal/singular: 00d3f08da61a21887009819cf93fb414
License/singular: ac2bcac75151e2fcd9eb768cea275a77
Monthly/singular: 818f1192e32bb855597f930d3e78806e
No%20credit%20card%20required/singular: 2090aa4171dc0b60735069f89b592883
Organize%20and%20find%20cards%20quickly%20with%20powerful%20filtering%20tools./singular: 1b9898c4b21e9dff413b4f76dc59db56
@@ -52,7 +62,9 @@ checksums:
per%20user%2Fmonth/singular: 72af182c1ba6df6732640f4d8a78d360
Pricing/singular: ce27f1aeacccc542a174c4b2bce022b0
Priority%20email%20support/singular: 678538c912a770b1e1416ecdb8e299b1
Privacy%20policy/singular: 462c6a536b52873e4498785c66dd48c8
Questions%3F/singular: c7c3a47f8b230ce7a43f3c090f21d683
Resources/singular: ec7fb05ed963bb6781a35782b3475502
Roadmap/singular: c60f4a1acf30e566861bf130f13b9ae7
Run%20on%20your%20own%20infrastructure/singular: eba804911562b8dbf9d69c3e27f1d708
Save%20time%20with%20reusable%20board%20templates./singular: d0f2d7d0fd682ceaf4ca12c6353fd75a
@@ -65,6 +77,7 @@ checksums:
Support%20the%20development%20of%20the%20project/singular: c63bab228ab2b1be4370c668a99cd278
Teams/singular: b63448c05270497973ac4407047dae02
Templates/singular: 8ed62f56c81fa96c0f3182acb331bf63
Terms%20of%20service/singular: 0b8a8b23aff021a6cde79613fdb39c28
The%20main%20difference%20between%20Kan%20and%20Trello%20is%20that%20Kan%20is%20open%20source%2C%20allowing%20anyone%20to%20view%2C%20modify%2C%20and%20contribute%20to%20our%20code.%20Our%20cloud%20offering%20also%20offers%20no%20restrictions%20on%20features%20for%20individual%20use%2C%20whereas%20Trello%20locks%20basic%20features%20such%20as%20the%20number%20of%20boards%20you%20can%20create%20behind%20a%20paywall./singular: db6e22cc955c5fbe547feedeb48f8719
The%20open%20source%20%3C0%2F%3E%20alternative%20to%20Trello/singular: 692cb2e8a8e610953c996826beed45a2
Track%20all%20card%20changes%20with%20detailed%20activity%20history./singular: 0d3bac559c71ec4b8734f9f212320de5
@@ -81,7 +94,7 @@ checksums:
We're%20just%20getting%20started.%20/singular: 2dfa121e0ff1914e08068308a81973c0
What%20license%20are%20you%20using%3F/singular: 59d00e1bf28edc21b77fec94875f57ca
What's%20the%20difference%20between%20Kan%20and%20Trello%3F/singular: 7a02f507dd6abbfab1fdae0b172d31b7
When%20Trello%20launched%20in%202011%2C%20it%20blew%20everyone%20away%20with%20its%20carefully%20designed%20simplicity%2C%20but%20over%20time%20(and%20atlassification)%20it%20lost%20its%20magic%20and%20grew%20into%20something%20closer%20to%20%22Jira%20Lite%22.%20This%20project%20is%20our%20attempt%20to%20recapture%20the%20original%20magic%20of%20Trello%E2%80%99s%20simplicity%2C%20in%20open%20source./singular: a09fb6c21ae2d7ba45f3c6f3983cbab6
When%20Trello%20launched%20in%202011%2C%20it%20blew%20everyone%20away%20with%20its%20carefully%20designed%20simplicity%2C%20but%20over%20time%20(and%20atlassification)%20it%20lost%20its%20magic%20and%20grew%20into%20something%20closer%20to%20%22Jira%20Lite%22.%20This%20project%20is%20our%20attempt%20to%20recapture%20the%20original%20magic%20of%20Trello's%20simplicity%2C%20in%20open%20source./singular: 60a55e9bd16c3d1beff1a6c7633c5911
Why%20make%20an%20open%20source%20Trello%3F/singular: 090833338ba8c64ef7a75e0f2615b34b
Workspace%20members/singular: 1857292f9567c556c781a23bd7e10544
Yearly/singular: 87f43e016c19cb25860f456549a2f431

View File

@@ -1,18 +1,19 @@
import { HiLanguage } from "react-icons/hi2";
import { useLocalisation } from "~/hooks/useLocalisation";
import { localeNames } from "~/locales";
export function LanguageSelector() {
const { locale, setLocale, availableLocales } = useLocalisation();
console.log(locale, availableLocales);
return (
<div className="flex items-center space-x-2">
<div className="relative">
<HiLanguage className="pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-gray-400" />
<select
id="language-select"
value={locale}
onChange={(e) => setLocale(e.target.value as any)}
className="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
className="mt-8 block w-full max-w-[180px] rounded-lg border-0 bg-light-50 pl-10 shadow-sm ring-1 ring-inset ring-light-300 focus:ring-2 focus:ring-inset focus:ring-light-400 dark:bg-dark-50 dark:text-dark-1000 dark:ring-dark-300 dark:focus:ring-dark-500 sm:text-sm"
>
{availableLocales.map((loc) => (
<option key={loc} value={loc}>

View File

@@ -17,7 +17,7 @@ msgstr ""
msgid "#1 Hacker News"
msgstr "#1 Hacker News"
#: src/views/home/components/Pricing.tsx:41
#: src/views/home/components/Pricing.tsx:36
msgid "1 user"
msgstr "1 user"
@@ -37,14 +37,22 @@ msgstr "A powerful, flexible kanban app that helps you organise work, track prog
msgid "Activity logs"
msgstr "Activity logs"
#: src/views/home/components/Pricing.tsx:60
#: src/views/home/components/Pricing.tsx:55
msgid "Admin roles"
msgstr "Admin roles"
#: src/views/home/components/Pricing.tsx:102
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "All seats are free during the beta until Sept 1st!"
#: src/views/home/components/Footer.tsx:18
msgid "All systems operational"
msgstr "All systems operational"
#: src/views/home/components/Footer.tsx:31
msgid "API Reference"
msgstr "API Reference"
#: src/views/home/components/Features.tsx:78
msgid "Board visibility"
msgstr "Board visibility"
@@ -61,7 +69,11 @@ msgstr "Coming soon"
msgid "Comments"
msgstr "Comments"
#: src/views/home/components/Pricing.tsx:75
#: src/views/home/components/Footer.tsx:94
msgid "Company"
msgstr "Company"
#: src/views/home/components/Pricing.tsx:70
msgid "Complete control and ownership:"
msgstr "Complete control and ownership:"
@@ -69,11 +81,15 @@ msgstr "Complete control and ownership:"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Connect your favorite tools to streamline your workflow."
#: src/views/home/components/Footer.tsx:38
msgid "Contact"
msgstr "Contact"
#: src/views/home/components/Features.tsx:79
msgid "Control who can view and edit your boards."
msgstr "Control who can view and edit your boards."
#: src/views/home/components/Pricing.tsx:79
#: src/views/home/components/Pricing.tsx:74
msgid "Custom domain"
msgstr "Custom domain"
@@ -85,23 +101,29 @@ msgstr "Discuss and collaborate on cards."
msgid "Do you offer a free plan?"
msgstr "Do you offer a free plan?"
#: src/views/home/components/Header.tsx:17
#: src/views/home/components/Header.tsx:16
msgid "Docs"
msgstr "Docs"
#: src/views/home/components/Pricing.tsx:57
#: src/views/home/components/Footer.tsx:77
msgid "Documentation"
msgstr "Documentation"
#: src/views/home/components/Pricing.tsx:52
msgid "Everything in the free plan, plus:"
msgstr "Everything in the free plan, plus:"
#: src/views/home/components/Pricing.tsx:38
#: src/views/home/components/Pricing.tsx:33
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
msgstr "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143
msgid "FAQs"
msgstr "FAQs"
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125
msgid "Features"
msgstr "Features"
@@ -114,23 +136,23 @@ msgstr "Find answers to common questions about the project. Can't find what you'
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 "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."
#: src/views/home/components/Pricing.tsx:37
#: src/views/home/components/Pricing.tsx:37
#: src/views/home/components/Pricing.tsx:32
#: src/views/home/components/Pricing.tsx:32
msgid "Free"
msgstr "Free"
#: src/views/home/components/Pricing.tsx:39
#: src/views/home/components/Pricing.tsx:34
msgid "Free, forever"
msgstr "Free, forever"
#: src/views/home/components/Header.tsx:103
#: src/views/home/components/Header.tsx:142
#: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
msgid "Get started"
msgstr "Get started"
#: src/views/home/components/Pricing.tsx:36
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Pricing.tsx:31
#: src/views/home/components/Pricing.tsx:49
msgid "Get Started"
msgstr "Get Started"
@@ -138,7 +160,7 @@ msgstr "Get Started"
msgid "Get started for free today"
msgstr "Get started for free today"
#: src/views/home/components/Pricing.tsx:97
#: src/views/home/components/Pricing.tsx:92
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
@@ -146,12 +168,20 @@ msgstr "Get started for free, with no usage limits. For collaboration, upgrade t
msgid "Get started on Cloud"
msgstr "Get started on Cloud"
#: src/views/home/components/Header.tsx:97
#: src/views/home/components/Header.tsx:134
#: src/views/home/components/Footer.tsx:25
msgid "Getting started"
msgstr "Getting started"
#: src/views/home/components/Footer.tsx:37
msgid "GitHub"
msgstr "GitHub"
#: src/views/home/components/Header.tsx:96
#: src/views/home/components/Header.tsx:133
msgid "Go to app"
msgstr "Go to app"
#: src/views/home/components/Pricing.tsx:74
#: src/views/home/components/Pricing.tsx:69
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
msgstr "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
@@ -179,11 +209,15 @@ msgstr "How is the project funded?"
msgid "Import your Trello boards and hit the ground running."
msgstr "Import your Trello boards and hit the ground running."
#: src/views/home/components/Footer.tsx:27
msgid "Importing from Trello"
msgstr "Importing from Trello"
#: src/views/home/components/Faqs.tsx:49
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
msgstr "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
#: src/views/home/components/Pricing.tsx:33
#: src/views/home/components/Pricing.tsx:28
msgid "Individuals"
msgstr "Individuals"
@@ -191,7 +225,7 @@ msgstr "Individuals"
msgid "Integrations"
msgstr "Integrations"
#: src/views/home/components/Pricing.tsx:56
#: src/views/home/components/Pricing.tsx:51
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
msgstr "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
@@ -203,7 +237,15 @@ msgstr "Kanban reimagined"
msgid "Labels & Filters"
msgstr "Labels & Filters"
#: src/views/home/components/Pricing.tsx:21
#: src/views/home/components/Footer.tsx:130
msgid "Legal"
msgstr "Legal"
#: src/views/home/components/Footer.tsx:44
msgid "License"
msgstr "License"
#: src/views/home/components/Pricing.tsx:14
msgid "Monthly"
msgstr "Monthly"
@@ -215,34 +257,43 @@ msgstr "No credit card required"
msgid "Organize and find cards quickly with powerful filtering tools."
msgstr "Organize and find cards quickly with powerful filtering tools."
#: src/views/home/components/Pricing.tsx:78
#: src/views/home/components/Pricing.tsx:73
msgid "Own your data"
msgstr "Own your data"
#: src/views/home/components/Pricing.tsx:14
#: src/views/home/components/Pricing.tsx:22
#: src/views/home/components/Pricing.tsx:27
#: src/views/home/components/Pricing.tsx:15
#: src/views/home/components/Pricing.tsx:20
msgid "per user/month"
msgstr "per user/month"
#: src/views/home/components/Pricing.tsx:90
#: src/views/home/components/Header.tsx:16
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50
msgid "Pricing"
msgstr "Pricing"
#: src/views/home/components/Pricing.tsx:61
#: src/views/home/components/Pricing.tsx:56
msgid "Priority email support"
msgstr "Priority email support"
#: src/views/home/components/Footer.tsx:42
msgid "Privacy policy"
msgstr "Privacy policy"
#: src/views/home/components/Faqs.tsx:147
msgid "Questions?"
msgstr "Questions?"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:113
msgid "Resources"
msgstr "Resources"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36
msgid "Roadmap"
msgstr "Roadmap"
#: src/views/home/components/Pricing.tsx:77
#: src/views/home/components/Pricing.tsx:72
msgid "Run on your own infrastructure"
msgstr "Run on your own infrastructure"
@@ -250,7 +301,7 @@ msgstr "Run on your own infrastructure"
msgid "Save time with reusable board templates."
msgstr "Save time with reusable board templates."
#: src/views/home/components/Pricing.tsx:69
#: src/views/home/components/Pricing.tsx:64
msgid "Self Host"
msgstr "Self Host"
@@ -258,12 +309,12 @@ msgstr "Self Host"
msgid "Self host with Github"
msgstr "Self host with Github"
#: src/views/home/components/Header.tsx:101
#: src/views/home/components/Header.tsx:139
#: src/views/home/components/Header.tsx:100
#: src/views/home/components/Header.tsx:138
msgid "Sign in"
msgstr "Sign in"
#: src/views/home/components/Pricing.tsx:94
#: src/views/home/components/Pricing.tsx:89
msgid "Simple pricing"
msgstr "Simple pricing"
@@ -275,11 +326,11 @@ msgstr "Simple, visual task management that just works. Drag and drop cards, col
msgid "Star on Github"
msgstr "Star on Github"
#: src/views/home/components/Pricing.tsx:62
#: src/views/home/components/Pricing.tsx:57
msgid "Support the development of the project"
msgstr "Support the development of the project"
#: src/views/home/components/Pricing.tsx:51
#: src/views/home/components/Pricing.tsx:46
msgid "Teams"
msgstr "Teams"
@@ -287,6 +338,10 @@ msgstr "Teams"
msgid "Templates"
msgstr "Templates"
#: src/views/home/components/Footer.tsx:41
msgid "Terms of service"
msgstr "Terms of service"
#: 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 "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."
@@ -303,11 +358,11 @@ msgstr "Track all card changes with detailed activity history."
msgid "Trello imports"
msgstr "Trello imports"
#: src/views/home/components/Pricing.tsx:46
#: src/views/home/components/Pricing.tsx:41
msgid "Unlimited activity log"
msgstr "Unlimited activity log"
#: src/views/home/components/Pricing.tsx:42
#: src/views/home/components/Pricing.tsx:37
msgid "Unlimited boards"
msgstr "Unlimited boards"
@@ -315,19 +370,19 @@ msgstr "Unlimited boards"
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
msgstr "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
#: src/views/home/components/Pricing.tsx:44
#: src/views/home/components/Pricing.tsx:39
msgid "Unlimited cards"
msgstr "Unlimited cards"
#: src/views/home/components/Pricing.tsx:45
#: src/views/home/components/Pricing.tsx:40
msgid "Unlimited comments"
msgstr "Unlimited comments"
#: src/views/home/components/Pricing.tsx:43
#: src/views/home/components/Pricing.tsx:38
msgid "Unlimited lists"
msgstr "Unlimited lists"
#: src/views/home/components/Pricing.tsx:72
#: src/views/home/components/Pricing.tsx:67
msgid "View docs"
msgstr "View docs"
@@ -352,20 +407,23 @@ msgid "What's the difference between Kan and Trello?"
msgstr "What's the difference between Kan and 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 Trellos simplicity, in open source."
msgstr "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 Trellos simplicity, in open source."
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 "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."
#: 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 Trellos simplicity, in open source."
#~ msgstr "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 Trellos simplicity, in open source."
#: src/views/home/components/Faqs.tsx:22
msgid "Why make an open source Trello?"
msgstr "Why make an open source Trello?"
#: src/views/home/components/Pricing.tsx:59
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83
msgid "Workspace members"
msgstr "Workspace members"
#: src/views/home/components/Pricing.tsx:13
#: src/views/home/components/Pricing.tsx:26
#: src/views/home/components/Pricing.tsx:19
msgid "Yearly"
msgstr "Yearly"

File diff suppressed because one or more lines are too long

View File

@@ -17,7 +17,7 @@ msgstr ""
msgid "#1 Hacker News"
msgstr "#1 Hacker News"
#: src/views/home/components/Pricing.tsx:41
#: src/views/home/components/Pricing.tsx:36
msgid "1 user"
msgstr "1 utilisateur"
@@ -29,14 +29,22 @@ msgstr "Une application kanban puissante et flexible qui vous aide à organiser
msgid "Activity logs"
msgstr "Journaux d'activité"
#: src/views/home/components/Pricing.tsx:60
#: src/views/home/components/Pricing.tsx:55
msgid "Admin roles"
msgstr "Rôles d'administrateur"
#: src/views/home/components/Pricing.tsx:102
#: src/views/home/components/Pricing.tsx:97
msgid "All seats are free during the beta until Sept 1st!"
msgstr "Tous les sièges sont gratuits pendant la bêta jusqu'au 1er sept. !"
#: src/views/home/components/Footer.tsx:18
msgid "All systems operational"
msgstr "Tous les systèmes opérationnels"
#: src/views/home/components/Footer.tsx:31
msgid "API Reference"
msgstr "Référence API"
#: src/views/home/components/Features.tsx:78
msgid "Board visibility"
msgstr "Visibilité du tableau"
@@ -53,7 +61,11 @@ msgstr "Bientôt disponible"
msgid "Comments"
msgstr "Commentaires"
#: src/views/home/components/Pricing.tsx:75
#: src/views/home/components/Footer.tsx:94
msgid "Company"
msgstr "Entreprise"
#: src/views/home/components/Pricing.tsx:70
msgid "Complete control and ownership:"
msgstr "Contrôle et propriété complets :"
@@ -61,11 +73,15 @@ msgstr "Contrôle et propriété complets :"
msgid "Connect your favorite tools to streamline your workflow."
msgstr "Connectez vos outils favoris pour simplifier votre flux de travail."
#: src/views/home/components/Footer.tsx:38
msgid "Contact"
msgstr "Contact"
#: src/views/home/components/Features.tsx:79
msgid "Control who can view and edit your boards."
msgstr "Contrôlez qui peut voir et modifier vos tableaux."
#: src/views/home/components/Pricing.tsx:79
#: src/views/home/components/Pricing.tsx:74
msgid "Custom domain"
msgstr "Domaine personnalisé"
@@ -77,23 +93,29 @@ msgstr "Discutez et collaborez sur les cartes."
msgid "Do you offer a free plan?"
msgstr "Proposez-vous un plan gratuit ?"
#: src/views/home/components/Header.tsx:17
#: src/views/home/components/Header.tsx:16
msgid "Docs"
msgstr "Documentation"
#: src/views/home/components/Pricing.tsx:57
#: src/views/home/components/Footer.tsx:77
msgid "Documentation"
msgstr "Documentation"
#: src/views/home/components/Pricing.tsx:52
msgid "Everything in the free plan, plus:"
msgstr "Tout ce qui est inclus dans le plan gratuit, plus :"
#: src/views/home/components/Pricing.tsx:38
#: src/views/home/components/Pricing.tsx:33
msgid "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time."
msgstr "Tout ce dont vous avez besoin, gratuit pour toujours. Tableaux illimités, listes illimitées, cartes illimitées. Possibilité de mise à niveau à tout moment."
#: src/views/home/components/Footer.tsx:51
#: src/views/home/components/Faqs.tsx:143
msgid "FAQs"
msgstr "FAQ"
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:49
#: src/views/home/components/Features.tsx:125
msgid "Features"
msgstr "Fonctionnalités"
@@ -106,22 +128,22 @@ msgstr "Trouvez des réponses aux questions fréquentes sur le projet. Vous ne t
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 "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/home/components/Pricing.tsx:37
#: src/views/home/components/Pricing.tsx:32
msgid "Free"
msgstr "Gratuit"
#: src/views/home/components/Pricing.tsx:39
#: src/views/home/components/Pricing.tsx:34
msgid "Free, forever"
msgstr "Gratuit, pour toujours"
#: src/views/home/components/Header.tsx:103
#: src/views/home/components/Header.tsx:142
#: src/views/home/components/Header.tsx:102
#: src/views/home/components/Header.tsx:141
#: src/views/home/components/Cta.tsx:61
msgid "Get started"
msgstr "Commencer"
#: src/views/home/components/Pricing.tsx:36
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Pricing.tsx:31
#: src/views/home/components/Pricing.tsx:49
msgid "Get Started"
msgstr "Commencer"
@@ -129,7 +151,7 @@ msgstr "Commencer"
msgid "Get started for free today"
msgstr "Commencez gratuitement aujourd'hui"
#: src/views/home/components/Pricing.tsx:97
#: src/views/home/components/Pricing.tsx:92
msgid "Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team."
msgstr "Commencez gratuitement, sans limites d'utilisation. Pour la collaboration, passez à un forfait adapté à la taille de votre équipe."
@@ -137,12 +159,20 @@ msgstr "Commencez gratuitement, sans limites d'utilisation. Pour la collaboratio
msgid "Get started on Cloud"
msgstr "Commencer sur le Cloud"
#: src/views/home/components/Header.tsx:97
#: src/views/home/components/Header.tsx:134
#: src/views/home/components/Footer.tsx:25
msgid "Getting started"
msgstr "Premiers pas"
#: src/views/home/components/Footer.tsx:37
msgid "GitHub"
msgstr "GitHub"
#: src/views/home/components/Header.tsx:96
#: src/views/home/components/Header.tsx:133
msgid "Go to app"
msgstr "Accéder à l'application"
#: src/views/home/components/Pricing.tsx:74
#: src/views/home/components/Pricing.tsx:69
msgid "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data."
msgstr "Hébergez Kan sur votre propre infrastructure. Idéal pour les organisations qui ont besoin d'un contrôle total sur leurs données."
@@ -170,11 +200,15 @@ msgstr "Comment le projet est-il financé ?"
msgid "Import your Trello boards and hit the ground running."
msgstr "Importez vos tableaux Trello et commencez immédiatement."
#: src/views/home/components/Footer.tsx:27
msgid "Importing from Trello"
msgstr "Importation depuis Trello"
#: src/views/home/components/Faqs.tsx:49
msgid "Importing your Trello boards into Kan is easy. You can follow our step-by-step guide <0>here</0>."
msgstr "L'importation de vos tableaux Trello dans Kan est simple. Vous pouvez suivre notre guide étape par étape <0>ici</0>."
#: src/views/home/components/Pricing.tsx:33
#: src/views/home/components/Pricing.tsx:28
msgid "Individuals"
msgstr "Particuliers"
@@ -182,7 +216,7 @@ msgstr "Particuliers"
msgid "Integrations"
msgstr "Intégrations"
#: src/views/home/components/Pricing.tsx:56
#: src/views/home/components/Pricing.tsx:51
msgid "Kanban is better with a team. Perfect for small and growing teams looking to collaborate."
msgstr "Kanban est meilleur en équipe. Parfait pour les petites équipes et celles en croissance qui cherchent à collaborer."
@@ -194,7 +228,15 @@ msgstr "Kanban réinventé"
msgid "Labels & Filters"
msgstr "Étiquettes & filtres"
#: src/views/home/components/Pricing.tsx:21
#: src/views/home/components/Footer.tsx:130
msgid "Legal"
msgstr "Mentions légales"
#: src/views/home/components/Footer.tsx:44
msgid "License"
msgstr "Licence"
#: src/views/home/components/Pricing.tsx:14
msgid "Monthly"
msgstr "Mensuel"
@@ -206,34 +248,43 @@ msgstr "Aucune carte de crédit requise"
msgid "Organize and find cards quickly with powerful filtering tools."
msgstr "Organisez et trouvez rapidement des cartes avec des outils de filtrage puissants."
#: src/views/home/components/Pricing.tsx:78
#: src/views/home/components/Pricing.tsx:73
msgid "Own your data"
msgstr "Maîtrisez vos données"
#: src/views/home/components/Pricing.tsx:14
#: src/views/home/components/Pricing.tsx:22
#: src/views/home/components/Pricing.tsx:27
#: src/views/home/components/Pricing.tsx:15
#: src/views/home/components/Pricing.tsx:20
msgid "per user/month"
msgstr "par utilisateur/mois"
#: src/views/home/components/Pricing.tsx:90
#: src/views/home/components/Header.tsx:16
#: src/views/home/components/Pricing.tsx:85
#: src/views/home/components/Header.tsx:15
#: src/views/home/components/Footer.tsx:50
msgid "Pricing"
msgstr "Tarifs"
#: src/views/home/components/Pricing.tsx:61
#: src/views/home/components/Pricing.tsx:56
msgid "Priority email support"
msgstr "Support par e-mail prioritaire"
#: src/views/home/components/Footer.tsx:42
msgid "Privacy policy"
msgstr "Politique de confidentialité"
#: src/views/home/components/Faqs.tsx:147
msgid "Questions?"
msgstr "Des questions ?"
#: src/views/home/components/Header.tsx:14
#: src/views/home/components/Footer.tsx:113
msgid "Resources"
msgstr "Ressources"
#: src/views/home/components/Header.tsx:13
#: src/views/home/components/Footer.tsx:36
msgid "Roadmap"
msgstr "Feuille de route"
#: src/views/home/components/Pricing.tsx:77
#: src/views/home/components/Pricing.tsx:72
msgid "Run on your own infrastructure"
msgstr "Exécutez sur votre propre infrastructure"
@@ -241,7 +292,7 @@ msgstr "Exécutez sur votre propre infrastructure"
msgid "Save time with reusable board templates."
msgstr "Gagnez du temps avec des modèles de tableaux réutilisables."
#: src/views/home/components/Pricing.tsx:69
#: src/views/home/components/Pricing.tsx:64
msgid "Self Host"
msgstr "Auto-hébergement"
@@ -249,12 +300,12 @@ msgstr "Auto-hébergement"
msgid "Self host with Github"
msgstr "Auto-hébergement avec Github"
#: src/views/home/components/Header.tsx:101
#: src/views/home/components/Header.tsx:139
#: src/views/home/components/Header.tsx:100
#: src/views/home/components/Header.tsx:138
msgid "Sign in"
msgstr "Se connecter"
#: src/views/home/components/Pricing.tsx:94
#: src/views/home/components/Pricing.tsx:89
msgid "Simple pricing"
msgstr "Tarification simple"
@@ -266,11 +317,11 @@ msgstr "Gestion de tâches visuelle et simple qui fonctionne parfaitement. Gliss
msgid "Star on Github"
msgstr "Étoile sur Github"
#: src/views/home/components/Pricing.tsx:62
#: src/views/home/components/Pricing.tsx:57
msgid "Support the development of the project"
msgstr "Soutenir le développement du projet"
#: src/views/home/components/Pricing.tsx:51
#: src/views/home/components/Pricing.tsx:46
msgid "Teams"
msgstr "Équipes"
@@ -278,6 +329,10 @@ msgstr "Équipes"
msgid "Templates"
msgstr "Modèles"
#: src/views/home/components/Footer.tsx:41
msgid "Terms of service"
msgstr "Conditions d'utilisation"
#: 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 "La principale différence entre Kan et Trello est que Kan est open source, permettant à chacun de consulter, modifier et contribuer à notre code. Notre offre cloud ne comporte également aucune restriction sur les fonctionnalités pour un usage individuel, alors que Trello verrouille des fonctionnalités de base comme le nombre de tableaux que vous pouvez créer derrière un paywall."
@@ -294,11 +349,11 @@ msgstr "Suivez tous les changements de cartes avec un historique d'activité dé
msgid "Trello imports"
msgstr "Importations Trello"
#: src/views/home/components/Pricing.tsx:46
#: src/views/home/components/Pricing.tsx:41
msgid "Unlimited activity log"
msgstr "Journal d'activité illimité"
#: src/views/home/components/Pricing.tsx:42
#: src/views/home/components/Pricing.tsx:37
msgid "Unlimited boards"
msgstr "Tableaux illimités"
@@ -306,19 +361,19 @@ msgstr "Tableaux illimités"
msgid "Unlimited boards, unlimited lists, unlimited cards. No credit card required."
msgstr "Tableaux illimités, listes illimitées, cartes illimitées. Aucune carte de crédit requise."
#: src/views/home/components/Pricing.tsx:44
#: src/views/home/components/Pricing.tsx:39
msgid "Unlimited cards"
msgstr "Cartes illimitées"
#: src/views/home/components/Pricing.tsx:45
#: src/views/home/components/Pricing.tsx:40
msgid "Unlimited comments"
msgstr "Commentaires illimités"
#: src/views/home/components/Pricing.tsx:43
#: src/views/home/components/Pricing.tsx:38
msgid "Unlimited lists"
msgstr "Listes illimitées"
#: src/views/home/components/Pricing.tsx:72
#: src/views/home/components/Pricing.tsx:67
msgid "View docs"
msgstr "Voir la documentation"
@@ -343,20 +398,19 @@ msgid "What's the difference between Kan and Trello?"
msgstr "Quelle est la différence entre Kan et 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 Trellos simplicity, in open source."
msgstr "Quand Trello a été lancé en 2011, il a impressionné tout le monde par sa simplicité soigneusement conçue, mais au fil du temps (et de l'\"atlassification\"), il a perdu sa magie et s'est transformé en quelque chose de plus proche d'un \"Jira Lite\". Ce projet est notre tentative de retrouver la magie originelle de la simplicité de Trello, en open source."
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 "Quand Trello a été lancé en 2011, il a impressionné tout le monde par sa simplicité soigneusement conçue, mais au fil du temps (et de l'\"atlassification\"), il a perdu sa magie et s'est transformé en quelque chose qui ressemble davantage à \"Jira Lite\". Ce projet est notre tentative de retrouver la magie originelle de la simplicité de Trello, en open source."
#: src/views/home/components/Faqs.tsx:22
msgid "Why make an open source Trello?"
msgstr "Pourquoi créer un Trello open source ?"
#: src/views/home/components/Pricing.tsx:59
#: src/views/home/components/Pricing.tsx:54
#: src/views/home/components/Features.tsx:83
msgid "Workspace members"
msgstr "Membres de l'espace de travail"
#: src/views/home/components/Pricing.tsx:13
#: src/views/home/components/Pricing.tsx:26
#: src/views/home/components/Pricing.tsx:19
msgid "Yearly"
msgstr "Annuel"

File diff suppressed because one or more lines are too long

View File

@@ -56,10 +56,9 @@ export function LinguiProviderWrapper({
}, [initialLocale]);
useEffect(() => {
if (isHydrated && locale !== i18n.locale) {
if (isHydrated) {
i18n.load(locale, messages[locale]);
i18n.activate(locale);
localStorage.setItem("locale", locale);
}
}, [locale, isHydrated]);

View File

@@ -1,40 +1,9 @@
import Link from "next/link";
import { t } from "@lingui/core/macro";
import { FaDiscord, FaGithub } from "react-icons/fa";
import { LanguageSelector } from "~/components/LanguageSelector";
const navigation = {
documentation: [
{ name: "Getting started", href: "https://docs.kan.bn/introduction" },
{
name: "Importing from Trello",
href: "https://docs.kan.bn/imports/trello",
},
{
name: "API Reference",
href: "https://docs.kan.bn/api-reference/introduction",
},
],
company: [
{ name: "Roadmap", href: "/kan/roadmap" },
{ name: "GitHub", href: "https://github.com/kanbn/kan" },
{ name: "Contact", href: "mailto:support@kan.bn" },
],
legal: [
{ name: "Terms of service", href: "/terms" },
{ name: "Privacy policy", href: "/privacy" },
{
name: "License",
href: "https://github.com/kanbn/kan?tab=AGPL-3.0-1-ov-file#readme",
},
],
resources: [
{ name: "Features", href: "/#features" },
{ name: "Pricing", href: "/#pricing" },
{ name: "FAQs", href: "/#faq" },
],
};
const StatusMarker = () => (
<Link
href="https://kan.openstatus.dev"
@@ -46,11 +15,43 @@ const StatusMarker = () => (
<span className="absolute -inset-[1px] animate-[ping_1s_infinite] rounded-full bg-green-500/30"></span>
<span className="absolute inset-0 rounded-full bg-green-500"></span>
</span>
All systems operational
{t`All systems operational`}
</Link>
);
const Footer = () => {
const navigation = {
documentation: [
{ name: t`Getting started`, href: "https://docs.kan.bn/introduction" },
{
name: t`Importing from Trello`,
href: "https://docs.kan.bn/imports/trello",
},
{
name: t`API Reference`,
href: "https://docs.kan.bn/api-reference/introduction",
},
],
company: [
{ name: t`Roadmap`, href: "/kan/roadmap" },
{ name: t`GitHub`, href: "https://github.com/kanbn/kan" },
{ name: t`Contact`, href: "mailto:support@kan.bn" },
],
legal: [
{ name: t`Terms of service`, href: "/terms" },
{ name: t`Privacy policy`, href: "/privacy" },
{
name: t`License`,
href: "https://github.com/kanbn/kan?tab=AGPL-3.0-1-ov-file#readme",
},
],
resources: [
{ name: t`Features`, href: "/#features" },
{ name: t`Pricing`, href: "/#pricing" },
{ name: t`FAQs`, href: "/#faq" },
],
};
return (
<footer className="z-10 w-full border-t border-light-300 bg-light-50 py-8 dark:border-dark-300 dark:bg-dark-50">
<div className="mx-auto max-w-7xl px-6 py-16 sm:py-24 lg:px-8 lg:py-24">
@@ -73,7 +74,7 @@ const Footer = () => {
<div className="md:grid md:grid-cols-2 md:gap-8">
<div>
<h3 className="text-sm/6 font-semibold text-light-1000 dark:text-dark-1000">
Documentation
{t`Documentation`}
</h3>
<ul role="list" className="mt-6 space-y-4">
{navigation.documentation.map((item) => (
@@ -90,7 +91,7 @@ const Footer = () => {
</div>
<div>
<h3 className="mt-10 text-sm/6 font-semibold text-light-1000 dark:text-dark-1000 md:mt-0">
Company
{t`Company`}
</h3>
<ul role="list" className="mt-6 space-y-4">
{navigation.company.map((item) => (
@@ -109,7 +110,7 @@ const Footer = () => {
<div className="md:grid md:grid-cols-2 md:gap-8">
<div>
<h3 className="text-sm/6 font-semibold text-light-1000 dark:text-dark-1000">
Resources
{t`Resources`}
</h3>
<ul role="list" className="mt-6 space-y-4">
{navigation.resources.map((item) => (
@@ -126,7 +127,7 @@ const Footer = () => {
</div>
<div>
<h3 className="mt-10 text-sm/6 font-semibold text-light-1000 dark:text-dark-1000 md:mt-0">
Legal
{t`Legal`}
</h3>
<ul role="list" className="mt-6 space-y-4">
{navigation.legal.map((item) => (