diff --git a/web/i18n/ar/a11y/dialog.json b/web/i18n/ar/a11y/dialog.json new file mode 100644 index 00000000..a363d4f6 --- /dev/null +++ b/web/i18n/ar/a11y/dialog.json @@ -0,0 +1,4 @@ +{ + "picker.item.photo": "الصورة المصغرة", + "picker.item.video": "المقطع المصغر" +} diff --git a/web/i18n/ar/a11y/donate.json b/web/i18n/ar/a11y/donate.json new file mode 100644 index 00000000..118889a1 --- /dev/null +++ b/web/i18n/ar/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "رمز مربع. إضغط للتوسعة.", + "share.qr.collapse": "وُسِع الرمز المربع. إضغط للتقلص." +} diff --git a/web/i18n/ar/a11y/general.json b/web/i18n/ar/a11y/general.json new file mode 100644 index 00000000..b930aa0f --- /dev/null +++ b/web/i18n/ar/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "إرجع للخلف" +} diff --git a/web/i18n/ar/a11y/queue.json b/web/i18n/ar/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/a11y/save.json b/web/i18n/ar/a11y/save.json new file mode 100644 index 00000000..740f7a71 --- /dev/null +++ b/web/i18n/ar/a11y/save.json @@ -0,0 +1,4 @@ +{ + "link_area": "منطقة إدخال الرابط", + "link_area.turnstile": "منطقة إدخال الرابط. يجري التأكد من أنك لست آليًا." +} diff --git a/web/i18n/ar/a11y/tabs.json b/web/i18n/ar/a11y/tabs.json new file mode 100644 index 00000000..3f5de4c6 --- /dev/null +++ b/web/i18n/ar/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "لوحة الألسنة" +} diff --git a/web/i18n/ar/about.json b/web/i18n/ar/about.json new file mode 100644 index 00000000..4de85e35 --- /dev/null +++ b/web/i18n/ar/about.json @@ -0,0 +1,4 @@ +{ + "page.general": "ما هو كوبالت؟", + "page.faq": "س. و ج." +} diff --git a/web/i18n/ar/about/credits.md b/web/i18n/ar/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ar/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ar/about/general.md b/web/i18n/ar/about/general.md new file mode 100644 index 00000000..0249a119 --- /dev/null +++ b/web/i18n/ar/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +يساعدك cobalt بتنزيل أي شيء من مواقعك المفضلة: مقاطع، أصوات، صور أو صور متحركة +بمجرد لصق رابط! + +لا إعلانات، ولا أدوات تعقّب، ولا جدران مدفوعة أو غير ذلك من الخرابيط. مجرد تطبيق +ويب مريح يعمل في أي مكان، وفي أي وقت تحتاج إليه. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ar/about/privacy.md b/web/i18n/ar/about/privacy.md new file mode 100644 index 00000000..900a4caa --- /dev/null +++ b/web/i18n/ar/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +سياسة خصوصية كوبالت بسيطة: نحن لا نجمع أو نخزن أي شيء عنك. ما تفعله هو شأنك +وحدك، وليس شأننا ولا شأن أي أحد. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ar/about/terms.md b/web/i18n/ar/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ar/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ar/button.json b/web/i18n/ar/button.json new file mode 100644 index 00000000..5524c7b1 --- /dev/null +++ b/web/i18n/ar/button.json @@ -0,0 +1,5 @@ +{ + "gotit": "فهمت", + "cancel": "ألغِ", + "reset": "أعِد" +} diff --git a/web/i18n/ar/dialog.json b/web/i18n/ar/dialog.json new file mode 100644 index 00000000..da00e477 --- /dev/null +++ b/web/i18n/ar/dialog.json @@ -0,0 +1,4 @@ +{ + "reset.title": "إعادة ضبط جميع البيانات؟", + "reset.body": "هل أنت متأكد أنك تريد إعادة ضبط جميع البيانات؟ هذا الإجراء فوري ولا رجعة فيه." +} diff --git a/web/i18n/ar/donate.json b/web/i18n/ar/donate.json new file mode 100644 index 00000000..47977223 --- /dev/null +++ b/web/i18n/ar/donate.json @@ -0,0 +1,4 @@ +{ + "banner.title": "إدعــم إنــتـرنـت\nآمــنًـا مــطــمـئـنًا", + "body.motivation": "يساعد كوبالت المنتجين والمعلمين وصانعي المحتوى وغيرهم الكثير على فعل ما يحبون. إنها خدمة من نوع مختلف مصنوعة بحب وليس من أجل الربح." +} diff --git a/web/i18n/ar/error.json b/web/i18n/ar/error.json new file mode 100644 index 00000000..0a0c466a --- /dev/null +++ b/web/i18n/ar/error.json @@ -0,0 +1,4 @@ +{ + "import.no_data": "لا يوجد شيء لتحميله من الملف. هل أنت متأكد من أنه الملف الصحيح؟", + "import.invalid": "لا يحتوي ملفك على إعدادات كوبالت صالحة للإستيراد. هل أنت متأكد من أنه الملف الصحيح؟" +} diff --git a/web/i18n/ar/error/api.json b/web/i18n/ar/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/error/queue.json b/web/i18n/ar/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/general.json b/web/i18n/ar/general.json new file mode 100644 index 00000000..6ea5e8a0 --- /dev/null +++ b/web/i18n/ar/general.json @@ -0,0 +1,3 @@ +{ + "cobalt": "cobalt" +} diff --git a/web/i18n/ar/notification.json b/web/i18n/ar/notification.json new file mode 100644 index 00000000..3d22b5c6 --- /dev/null +++ b/web/i18n/ar/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "يوجد تحديث!", + "update.subtext": "إضغط لإعادة التحميل" +} diff --git a/web/i18n/ar/queue.json b/web/i18n/ar/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/receiver.json b/web/i18n/ar/receiver.json new file mode 100644 index 00000000..cd206cbf --- /dev/null +++ b/web/i18n/ar/receiver.json @@ -0,0 +1,4 @@ +{ + "title": "إسحب أو إختر ملفًا", + "title.drop": "أفلت الملف هنا!" +} diff --git a/web/i18n/ar/remux.json b/web/i18n/ar/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/save.json b/web/i18n/ar/save.json new file mode 100644 index 00000000..ac340ae4 --- /dev/null +++ b/web/i18n/ar/save.json @@ -0,0 +1,4 @@ +{ + "paste": "إلصق", + "auto": "تلقائي" +} diff --git a/web/i18n/ar/settings.json b/web/i18n/ar/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/tabs.json b/web/i18n/ar/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ar/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ar/updates.json b/web/i18n/ar/updates.json new file mode 100644 index 00000000..036e6cba --- /dev/null +++ b/web/i18n/ar/updates.json @@ -0,0 +1,3 @@ +{ + "button.next": "إرجع إلى ({{ value }})" +} diff --git a/web/i18n/az/a11y/dialog.json b/web/i18n/az/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/a11y/donate.json b/web/i18n/az/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/a11y/general.json b/web/i18n/az/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/a11y/queue.json b/web/i18n/az/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/a11y/save.json b/web/i18n/az/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/a11y/tabs.json b/web/i18n/az/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/about.json b/web/i18n/az/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/about/credits.md b/web/i18n/az/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/az/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/az/about/general.md b/web/i18n/az/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/az/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/az/about/privacy.md b/web/i18n/az/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/az/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/az/about/terms.md b/web/i18n/az/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/az/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/az/button.json b/web/i18n/az/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/dialog.json b/web/i18n/az/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/donate.json b/web/i18n/az/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/error.json b/web/i18n/az/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/error/api.json b/web/i18n/az/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/error/queue.json b/web/i18n/az/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/general.json b/web/i18n/az/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/notification.json b/web/i18n/az/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/queue.json b/web/i18n/az/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/receiver.json b/web/i18n/az/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/remux.json b/web/i18n/az/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/save.json b/web/i18n/az/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/settings.json b/web/i18n/az/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/tabs.json b/web/i18n/az/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/az/updates.json b/web/i18n/az/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/az/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/a11y/dialog.json b/web/i18n/bg/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/a11y/donate.json b/web/i18n/bg/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/a11y/general.json b/web/i18n/bg/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/a11y/queue.json b/web/i18n/bg/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/a11y/save.json b/web/i18n/bg/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/a11y/tabs.json b/web/i18n/bg/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/about.json b/web/i18n/bg/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/about/credits.md b/web/i18n/bg/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/bg/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/bg/about/general.md b/web/i18n/bg/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/bg/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/bg/about/privacy.md b/web/i18n/bg/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/bg/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/bg/about/terms.md b/web/i18n/bg/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/bg/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/bg/button.json b/web/i18n/bg/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/dialog.json b/web/i18n/bg/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/donate.json b/web/i18n/bg/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/error.json b/web/i18n/bg/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/error/api.json b/web/i18n/bg/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/error/queue.json b/web/i18n/bg/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/general.json b/web/i18n/bg/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/notification.json b/web/i18n/bg/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/queue.json b/web/i18n/bg/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/receiver.json b/web/i18n/bg/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/remux.json b/web/i18n/bg/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/save.json b/web/i18n/bg/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/settings.json b/web/i18n/bg/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/tabs.json b/web/i18n/bg/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/bg/updates.json b/web/i18n/bg/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/bg/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/a11y/dialog.json b/web/i18n/ca/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/a11y/donate.json b/web/i18n/ca/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/a11y/general.json b/web/i18n/ca/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/a11y/queue.json b/web/i18n/ca/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/a11y/save.json b/web/i18n/ca/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/a11y/tabs.json b/web/i18n/ca/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/about.json b/web/i18n/ca/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/about/credits.md b/web/i18n/ca/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ca/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ca/about/general.md b/web/i18n/ca/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/ca/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ca/about/privacy.md b/web/i18n/ca/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/ca/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ca/about/terms.md b/web/i18n/ca/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ca/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ca/button.json b/web/i18n/ca/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/dialog.json b/web/i18n/ca/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/donate.json b/web/i18n/ca/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/error.json b/web/i18n/ca/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/error/api.json b/web/i18n/ca/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/error/queue.json b/web/i18n/ca/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/general.json b/web/i18n/ca/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/notification.json b/web/i18n/ca/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/queue.json b/web/i18n/ca/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/receiver.json b/web/i18n/ca/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/remux.json b/web/i18n/ca/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/save.json b/web/i18n/ca/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/settings.json b/web/i18n/ca/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/tabs.json b/web/i18n/ca/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ca/updates.json b/web/i18n/ca/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ca/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/cs/a11y/dialog.json b/web/i18n/cs/a11y/dialog.json new file mode 100644 index 00000000..09415df4 --- /dev/null +++ b/web/i18n/cs/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "náhled obrázku", + "picker.item.video": "náhled videa", + "picker.item.gif": "náhled gifu" +} diff --git a/web/i18n/cs/a11y/donate.json b/web/i18n/cs/a11y/donate.json new file mode 100644 index 00000000..79a12528 --- /dev/null +++ b/web/i18n/cs/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr kód. stiskni pro rozbalení.", + "share.qr.collapse": "zvětšený qr kód. stiskni pro zmenšení." +} diff --git a/web/i18n/cs/a11y/general.json b/web/i18n/cs/a11y/general.json new file mode 100644 index 00000000..81b0e62d --- /dev/null +++ b/web/i18n/cs/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "jít zpět" +} diff --git a/web/i18n/cs/a11y/queue.json b/web/i18n/cs/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/cs/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/cs/a11y/save.json b/web/i18n/cs/a11y/save.json new file mode 100644 index 00000000..550761f1 --- /dev/null +++ b/web/i18n/cs/a11y/save.json @@ -0,0 +1,12 @@ +{ + "link_area": "oblast pro zadávání odkazů", + "clear_input": "vymazat vstup", + "download": "stáhnout", + "download.think": "zpracovávám odkaz...", + "download.check": "ověřuji stáhnutí...", + "download.done": "stahování hotovo", + "tutorial.shortcut.photos": "přidat zkratku pro fotografie", + "tutorial.shortcut.files": "přidat zkratku pro soubory", + "download.error": "chyba při stahování", + "link_area.turnstile": "oblast pro zadávání odkazů. kontrolujeme, zda nejste robot." +} diff --git a/web/i18n/cs/a11y/tabs.json b/web/i18n/cs/a11y/tabs.json new file mode 100644 index 00000000..2feb6369 --- /dev/null +++ b/web/i18n/cs/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "panel karet" +} diff --git a/web/i18n/cs/about.json b/web/i18n/cs/about.json new file mode 100644 index 00000000..331f8198 --- /dev/null +++ b/web/i18n/cs/about.json @@ -0,0 +1,35 @@ +{ + "page.faq": "často kladené dotazy", + "page.community": "komunita & podpora", + "page.privacy": "zásady ochrany osobních údajů", + "page.credits": "poděkování a licence", + "community.discord": "komunitní discord server", + "community.twitter": "novinky na twitteru", + "community.github": "repozitář na githubu", + "community.telegram": "novinky na telegramu", + "page.general": "co je cobalt?", + "page.terms": "podmínky a etika", + "community.email": "e-mailová podpora", + "heading.motivation": "motivace", + "heading.saving": "ukládání", + "heading.responsibility": "povinnosti uživatele", + "heading.abuse": "hlášení zneužívání", + "heading.general": "obecné podmínky", + "heading.licenses": "licence", + "heading.summary": "nejlepší způsob, jak si uložit to, co máte rádi", + "heading.privacy": "přední ochrana soukromí", + "heading.community": "otevřená komunita", + "heading.local": "zpracování na zařízení", + "heading.encryption": "šifrování", + "heading.plausible": "anonymní analýza provozu", + "heading.cloudflare": "ochrana soukromí a zabezpečení na webu", + "heading.testers": "beta testeři", + "support.github": "podívejte se na zdrojový kód cobaltu, přispívejte změnami nebo nahlaste problémy", + "support.discord": "chatuj s komunitou a vývojáři o cobaltu nebo požádej o pomoc", + "support.twitter": "sleduj aktualizace a vývoj cobaltu na Twitteru", + "support.telegram": "měj přehled o nejnovějších aktualizacích cobaltu prostřednictvím telegramového kanálu", + "support.description.best-effort": "veškerá podpora je poskytována s maximálním úsilím a není zaručena, odpověď může nějakou dobu trvat.", + "support.description.help": "pro případné další dotazy použij discord. popiš problém v #cobalt-support, jinak ti nikdo nebude moci pomoci.", + "support.description.issue": "pokud chceš nahlásit chybu nebo jiný opakující se problém, udělej to prosím na githubu.", + "support.bluesky": "sleduj aktualizace a vývoj cobaltu na svém bluesky feedu" +} diff --git a/web/i18n/cs/about/credits.md b/web/i18n/cs/about/credits.md new file mode 100644 index 00000000..4058c171 --- /dev/null +++ b/web/i18n/cs/about/credits.md @@ -0,0 +1,90 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +všechny odkazy jsou externí a vedou na jejich osobní webové stránky nebo +sociální média. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/cs/about/general.md b/web/i18n/cs/about/general.md new file mode 100644 index 00000000..8edb6141 --- /dev/null +++ b/web/i18n/cs/about/general.md @@ -0,0 +1,76 @@ + + +
+ + +cobalt ti pomůže uložit cokoli z tvých oblíbených webových stránek: video, zvuk, +fotografie nebo gify. stačí vložit odkaz a můžeme jít na to! + +žádné reklamy, trackery, paywally ani jiné nesmysly. jen pohodlná webová +aplikace, která funguje kdekoli a kdykoli ji potřebuješ. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt používá nespočet umělců, pedagogů a tvůrců obsahu k tomu, aby mohli +dělat, co je baví. s naší komunitou jsme stále na jedné lodi a společně +pracujeme na tom, aby byl cobalt ještě užitečnější. neváhejte a [zapojte se do +konverzace](/about/community)! + +věříme, že budoucnost internetu je otevřená, a proto je cobalt [source +first](https://sourcefirst.com/) a [snadno +hostovatelný]({docs.instanceHosting}). + +pokud tvůj kamarád hostuje zpracovávací instanci, stačí je požádat o doménu a +[přidat ji do nastavení instance](/settings/instances#community). + +kdykoli můžeš zkontrolovat zdrojový kód a přispívat do něj [na +githubu]({contacts.github}). vítáme všechny příspěvky a návrhy! +
diff --git a/web/i18n/cs/about/privacy.md b/web/i18n/cs/about/privacy.md new file mode 100644 index 00000000..bb775952 --- /dev/null +++ b/web/i18n/cs/about/privacy.md @@ -0,0 +1,125 @@ + + +
+ + +zásady ochrany osobních údajů cobaltu jsou jednoduché: nic o tobě +neshromažďujeme ani neukládáme. to, co děláš, je výhradně tvoje věc, ne naše +nebo kohokoli jiného. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +dočasně uložená data tunelu jsou šifrována pomocí standardu AES-256. dešifrovací +klíče jsou obsaženy pouze v přístupovém odkazu a nikdy nejsou nikde +zaznamenány/ukládány do mezipaměti. přístup k odkazu a šifrovacím klíčům má +pouze koncový uživatel. klíče jsou generovány jedinečně pro každý požadovaný +tunel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible nepoužívá cookies a je plně v souladu s GDPR, CCPA a PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare je plně v souladu s GDPR a HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/cs/about/terms.md b/web/i18n/cs/about/terms.md new file mode 100644 index 00000000..7faf9910 --- /dev/null +++ b/web/i18n/cs/about/terms.md @@ -0,0 +1,64 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +ty (koncový uživatel) jsi zodpovědný/á za to, co s našimi nástroji děláš, a jak +používáš a šíříš výsledný obsah. při používání cizího obsahu buď prosím +obezřetný/á a vždy uváděj původního tvůrce. ujisti se, že neporušuješ žádné +podmínky nebo licence. + +při používání pro vzdělávací účely vždy uváděj zdroje a uveď původní tvůrce. + +spravedlivé použití a zásluha jsou přínosem pro všechny. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**tento e-mail není určen pro uživatelskou podporu, pokud se tvůj problém netýká +zneužití, nedostaneš odpověď.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/cs/button.json b/web/i18n/cs/button.json new file mode 100644 index 00000000..6b251321 --- /dev/null +++ b/web/i18n/cs/button.json @@ -0,0 +1,20 @@ +{ + "gotit": "okej", + "cancel": "zrušit", + "reset": "reset", + "done": "hotovo", + "download.audio": "stáhnout audio", + "share": "sdílet", + "download": "stáhnout", + "copy": "kopírovat", + "copied": "zkopírováno", + "import": "import", + "continue": "pokračovat", + "star": "ohvězdičkovat", + "follow": "sledovat", + "export": "export", + "yes": "ano", + "no": "ne", + "save": "uložit", + "copy.section": "zkopírovat odkaz na sekci" +} diff --git a/web/i18n/cs/dialog.json b/web/i18n/cs/dialog.json new file mode 100644 index 00000000..809dab4f --- /dev/null +++ b/web/i18n/cs/dialog.json @@ -0,0 +1,18 @@ +{ + "picker.title": "vybrat, co uložit", + "picker.description.desktop": "kliknutím na položku ji uložíš. obrázky lze uložit také pomocí nabídky, která se zobrazí po kliknutím pravého tlačítka myši.", + "saving.title": "zvol způsob ukládání", + "picker.description.ios": "po stisknutí položky ji můžeš uložit pomocí zkratky. obrázky lze uložit také podržením stisku.", + "saving.timeout": "cobalt se pokusil soubor uložit automaticky, ale tvůj prohlížeč to zablokoval. musíš zvolit preferovanou metodu ručně.", + "processing.title.ongoing": "zpracování bude zrušeno", + "processing.ongoing": "cobalt právě zpracovává média na této kartě. odchodem se zpracovávání přeruší. určitě to chceš udělat?", + "api.override.body": "{{ value }} je nyní instance, která zpracovává tvé požadavky. pokud jí nevěříš, stiskni \"cancel\" a bude ignorována.\n\nsvou volbu můžeš později změnit v nastavení zpracování.", + "api.override.title": "změna zpracovávací instance", + "safety.title": "důležité bezpečnostní upozornění", + "reset.title": "resetovat všechna data?", + "reset.body": "určitě chceš resetovat všechna data? tato akce je okamžitá a neodvratná.", + "picker.description.phone": "stisknutím položky ji uložíš. obrázky lze uložit také dlouhým stisknutím.", + "saving.blocked": "cobalt se pokusil otevřít soubor na nové kartě, ale tvůj prohlížeč to zablokoval. můžeš povolit vyskakovací okna pro cobalt, aby se to příště nestalo.", + "safety.custom_instance.body": "jiné instance mohou potenciálně ohrozit tvé soukromí a bezpečnost.\n\nzlomyslné instance tě mohou:\n1. přesměrovat pryč z cobaltu a pokusit se tě podvést.\n2. zaznamenávat všechny informace o tvých požadavcích, ukládat je navždy a používat je ke sledování.\n3. poskytovat ti škodlivé soubory (například malware).\n4. nutit tě platit za stahování nebo sledovat reklamy.\n\npo tomto bodě tě nemůžeme ochránit. dávej si prosím pozor, jaké instance používáš, a vždy důvěřuj svému instinktu. pokud se ti něco nezdá, vrať se na tuto stránku, resetuj instanci a nahlas nám to na githubu.", + "import.body": "import neznámých nebo poškozených souborů může neočekávaně změnit nebo zkazit funkčnost cobaltu. importuj pouze soubory, které jsi osobně exportoval/a a neupravoval/a. pokud tě o import tohoto souboru někdo požádal - nedělej to.\n\nneneseme odpovědnost za škody způsobené importem neznámých souborů s nastaveními." +} diff --git a/web/i18n/cs/donate.json b/web/i18n/cs/donate.json new file mode 100644 index 00000000..0aee4305 --- /dev/null +++ b/web/i18n/cs/donate.json @@ -0,0 +1,30 @@ +{ + "banner.subtitle": "přispěj nebo sdílej\nradost z cobaltu s přítelem", + "card.once": "jednorázový příspěvek", + "card.monthly": "měsíční příspěvek", + "card.custom": "vlastní částka (od $2)", + "body.keep_going": "pokud vám cobalt přišel užitečný, zvažte prosím podporu naší práce! můžete nám pomoci tím, že přispějete nebo sdílíte cobalt s přáteli. každého příspěvku si velmi vážíme a pomáhá nám pokračovat v práci na cobaltu a dalších projektech.", + "card.processor": "přes {{value}}", + "card.option.5": "šálek kávy", + "card.option.10": "velká pizza", + "card.option.15": "oběd", + "card.option.30": "oběd pro dva", + "card.option.50": "10kg krmiva pro kočky", + "card.option.100": "jeden rok domén", + "card.option.200": "horkovzdušná fritéza", + "card.option.500": "luxusní kancelářská židle", + "card.option.1599": "základní macbook pro", + "card.option.4900": "10 000 jablek", + "card.option.7398": "nejdražší macbook pro", + "card.option.8629": "malý pozemek", + "card.option.9433": "luxusní vířivka", + "card.custom.submit": "přispět vlastní částku", + "share.title": "sdílej cobalt s přítelem", + "alternative.title": "alternativní způsoby přispění", + "alt.copy": "{{ value }}. adresa kryptografické peněženky. stiskni pro kopírování.", + "alt.open": "{{ value }}. stiskni pro otevření.", + "body.motivation": "cobalt pomáhá producentům, pedagogům, tvůrcům videí a mnoha dalším lidem dělat to, co je baví. je to jiný druh služby, která je vytvářena s láskou, ne pro zisk.", + "banner.title": "Podpoř bezpečný\na otevřený Internet", + "body.no_bullshit": "věříme, že internet nemusí být děsivý, a proto cobalt nikdy nebude obsahovat reklamy ani jiný druh škodlivého obsahu. za tímto slibem si pevně stojíme. vše, co děláme, vytváříme s ohledem na soukromí, dostupnost a snadné používání, aby byl cobalt dostupný pro každého.", + "card.recurring": "opakovaný příspěvek" +} diff --git a/web/i18n/cs/error.json b/web/i18n/cs/error.json new file mode 100644 index 00000000..dffb3718 --- /dev/null +++ b/web/i18n/cs/error.json @@ -0,0 +1,58 @@ +{ + "api.content.post.unavailable": "o tomto příspěvku se mi nepodařilo nic najít. jeho viditelnost může být omezená nebo nemusí existovat. ujisti se, že tvůj odkaz funguje, a zkus to za pár sekund znovu!", + "import.invalid": "tento soubor nemá platné nastavení cobaltu pro import. je to určitě ten správný soubor?", + "remux.corrupted": "nepodařilo se mi načíst metadata z tohoto souboru, může být poškozený.", + "tunnel.probe": "tento tunel jsem nemohl ověřit. tvůj prohlížeč nebo konfigurace sítě může blokovat přístup k jednomu ze serverů cobaltu. ověř, zda nemáš žádné podivné rozšíření prohlížeče?", + "api.auth.jwt.missing": "nepodařilo se autentizovat s instancí spracování, že nejsi robot, protože chybí přístupový token. zkus to znovu za několik sekund nebo načti stránku znovu!", + "api.unreachable": "nepodařilo se mi připojit k zpracovávací instanci. zkontroluj připojení k internetu a zkus to znovu!", + "api.timed_out": "odpověď zpracovávací instance trvala příliš dlouho. možná je v tuto chvíli přetížená, zkus to znovu za několik sekund!", + "api.rate_exceeded": "vytváříš příliš mnoho požadavků. zkus to znovu za {{ limit }} sekund.", + "api.generic": "něco se pokazilo a nemohl jsem ti nic stáhnout, zkus to za pár vteřin znovu, ale pokud se problém znovu objeví, nahlas to!", + "api.service.unsupported": "tato služba zatím není podporována. vložil/a jsi správný odkaz?", + "api.service.disabled": "tato služba je obecně podporována cobaltem, ale na této zpracovávací instanci není povolena. zkus odkaz z jiné služby!", + "api.link.invalid": "tvůj odkaz je neplatný nebo tato služba není ještě podporována. vložil/a jsi správný odkaz?", + "api.link.unsupported": "{{ service }} je podporována, ale tvůj odkaz jsem nerozpoznal. vložil/a jsi správný odkaz?", + "api.fetch.critical": "modul pro {{ service }} vrátil chybu, kterou nerozpoznávám. zkus to za pár sekund znovu, ale pokud se tento problém objeví, nahlas ho prosím!", + "api.fetch.empty": "nenašel jsem žádné médium, které bych pro tebe mohl stáhnout. prosím ověř, jestli jsi vložil/a správný odkaz?", + "api.content.too_long": "požadované médium je příliš dlouhé. limit na této instanci je {{ limit }} minut. zkus místo toho něco kratšího!", + "api.content.video.unavailable": "nemohu se dostat k tomuto videu. může být omezeno na straně {{ service }}. zkus jiný odkaz!", + "api.content.video.private": "toto video je soukromé, takže k němu nemám přístup. změň jeho viditelnost nebo zkus jiné!", + "api.content.video.age": "toto video je věkově omezené, takže k němu nemám anonymní přístup. zkus jiné!", + "api.content.video.region": "toto video je geograficky omezené a zpracovávací instance je v jiné krajině. zkus jiný odkaz!", + "api.content.post.private": "nemohl jsem zjistit nic o tomto příspěvku, protože je ze soukromého účtu. zkus jiný odkaz!", + "api.content.post.age": "tento příspěvek je věkově omezený, proto není k dispozici bez přihlášení. zkus jiný odkaz!", + "api.youtube.codec": "youtube nevrátil nic s tvým preferovaným kodekem videa. zkus jiný v nastavení!", + "api.youtube.token_expired": "toto video se mi nepodařilo získat, protože vypršel token youtube a nemohl jsem ho obnovit. zkus to znovu za pár sekund, ale pokud to stále nefunguje, řekni o této chybě majiteli instance!", + "import.no_data": "ze souboru nelze načíst žádná nastavení. je to určitě ten správný soubor?", + "import.unknown": "nepodařilo se mi načíst data ze souboru. může být poškozený nebo ve špatném formátu. zde je chyba, kterou jsem dostal:\n\n{{ value }}", + "remux.out_of_resources": "cobaltu došly prostředky a nemůže pokračovat ve zpracování souboru na zařízení. je to způsobeno omezeními tvého prohlížeče. obnov nebo znovu otevři tuto aplikaci a zkus to znovu!", + "api.auth.jwt.invalid": "nepodařilo se autentizovat s instancí spracování, že nejsi robot, protože přístupový token je neplatný. zkus to znovu za několik sekund nebo načti stránku znovu!", + "api.auth.turnstile.missing": "nepodařilo se autentizovat s instancí spracování, že nejsi robot, protože chybí řešení ověření lidskosti. zkus to znovu za několik sekund nebo načti stránku znovu!", + "api.auth.turnstile.invalid": "nepodařilo se autentizovat s instancí spracování, že nejsi robot, protože řešení ověření lidskosti je neplatné. zkus to znovu za několik sekund nebo načti stránku znovu!", + "api.unknown_response": "nepodařilo se mi načíst odpověď z instance zpracování. to je pravděpodobně způsobeno zastaralostí webové aplikace. načti aplikaci znovu a pak to zkus znovu!", + "api.capacity": "cobalt nezvládá v tuto chvíli tvůj požadavek zpracovat. zkus to znovu za několik sekund!", + "api.fetch.fail": "něco se pokazilo při načítání informací ze {{ service }} a nemohl jsem pro tebe nic získat. pokud tento problém přetrvává, nahlas ho prosím!", + "api.fetch.rate": "cobaltí zpracovávací instance byla omezena službou {{ service }}. zkus to znovu za několik sekund!", + "api.fetch.short_link": "nepodařilo se mi získat informace z krátkého odkazu. můžeš ověřit, že funguje? pokud ano a stále se ti zobrazuje tato chyba, nahlas to prosím!", + "api.content.video.live": "toto video je právě v přímém přenosu, takže ho zatím nemohu stáhnout. počkej, až skončí živý přenos a pak to zkus znovu!", + "api.youtube.decipher": "youtube aktualizoval svůj dešifrovací algoritmus a já jsem nemohl extrahovat informace o videu. zkus to znovu za pár sekund, ale pokud tento problém přetrvává, nahlas to prosím!", + "api.youtube.login": "nepodařilo se mi získat toto video, protože youtube požádal instanci o přihlášení. je to potenciálně způsobeno tím, že zpracovávací instance nemá žádné aktivní účtové tokeny nebo youtube změnil něco o svém api. zkus to za pár sekund znovu, ale pokud to stále nefunguje, nahlaste tento problém!", + "captcha_ongoing": "cloudflare turnstile stále kontroluje, zda nejsi bot. pokud to trvá příliš dlouho, můžeš zkusit: zakázat podivná rozšíření prohlížeče, změnit síť, použít jiný prohlížeč nebo zkontrolovat zařízení na přítomnost virů.", + "api.youtube.no_hls_streams": "pro toto video se nepodařilo najít žádné odpovídající streamy HLS. zkus ho stáhnout bez HLS!", + "api.content.paid": "tento obsah vyžaduje zakoupení. cobalt nemůže stahovat placený obsah. zkus jiný odkaz!", + "api.youtube.no_matching_format": "youtube nevrátil platný formát videa a audia, chybí video nebo zvuk. formáty pro toto video mohou být překódována na straně youtubu, nebo se něco pokazilo při jejich analýze. zkus povolit možnost hls v nastavení videa!", + "api.auth.key.missing": "na použití této instance je vyžadován přístupový klíč, ale chybí. přidejte jej do nastavení instance!", + "api.youtube.api_error": "youtube upravil něco o svém api a nemohl jsem dostat žádné informace o tomto videu. zkus to znovu za pár sekund, ale pokud tento problém přetrvává, prosím nahlas ho!", + "api.auth.key.not_api_key": "na použití této instance je vyžadován přístupový klíč, ale chybí. přidej jej do nastavení instance!", + "api.auth.key.invalid": "přístupový klíč je neplatný. resetuj ho v nastavení instance a použij správný klíč!", + "api.auth.key.not_found": "vámi použitý přístupový klíč se nepodařilo najít. jsi si jistý/á, že tato instance má tvůj klíč?", + "api.auth.key.invalid_ip": "tvou ip adresu se nepodařilo zpracovat. něco se pokazilo. nahlas tento problém!", + "api.auth.key.ip_not_allowed": "tvá ip adresa nemá povolení používat tento přístupový klíč. použij jinou instanci nebo síť!", + "api.auth.key.ua_not_allowed": "tvůj uživatelský agent nesmí tento přístupový klíč používat. použijte jiného klienta nebo zařízení!", + "api.invalid_body": "nepodařilo se mi odeslat požadavek na zpracovávací instanci. to je pravděpodobně způsobeno neaktuálností webové aplikace. načti aplikaci znovu a pak to zkus znovu!", + "api.service.audio_not_supported": "tato služba nepodporuje extrakci zvuku. zkus odkaz z jiné služby!", + "api.youtube.temporary_disabled": "stahování z youtube je dočasně zakázáno kvůli omezením ze strany youtube. hledáme způsoby, jak je obejít.\n\nomlouváme se za nepříjemnosti a děláme vše pro to, abychom tuto funkci obnovili. sleduj naše profily na sociálních sítích nebo na githubu pro aktuální informace!", + "api.content.region": "tento obsah je uzamčen dle oblasti a instance zpracování je na jiném místě. zkus jiný odkaz!", + "api.youtube.drm": "toto youtube video je chráněno pomocí DRM widevine, takže ho nemohu stáhnout. zkus jiný odkaz!", + "api.youtube.no_session_tokens": "nepodařilo se mi získat požadované tokeny pro službu youtube. může to být způsobeno omezením na straně služby youtube. zkus to za pár sekund znovu, ale pokud se tento problém znovu objeví, nahlas to prosím!" +} diff --git a/web/i18n/cs/error/api.json b/web/i18n/cs/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/cs/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/cs/error/queue.json b/web/i18n/cs/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/cs/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/cs/general.json b/web/i18n/cs/general.json new file mode 100644 index 00000000..cc680926 --- /dev/null +++ b/web/i18n/cs/general.json @@ -0,0 +1,6 @@ +{ + "meowbalt": "mňaubalt", + "beta": "beta", + "cobalt": "cobalt", + "embed.description": "cobalt ti umožňuje ukládat to, co máš rád/a, bez reklam, sledování, paywallů a podobných nesmyslů. stačí vložit odkaz a můžeme jít na to!" +} diff --git a/web/i18n/cs/notification.json b/web/i18n/cs/notification.json new file mode 100644 index 00000000..29e7a0f6 --- /dev/null +++ b/web/i18n/cs/notification.json @@ -0,0 +1,4 @@ +{ + "update.subtext": "stiskni pro opětovné načtení", + "update.title": "aktualizace je k dispozici!" +} diff --git a/web/i18n/cs/queue.json b/web/i18n/cs/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/cs/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/cs/receiver.json b/web/i18n/cs/receiver.json new file mode 100644 index 00000000..0fff2224 --- /dev/null +++ b/web/i18n/cs/receiver.json @@ -0,0 +1,5 @@ +{ + "title.drop": "vlož soubor sem!", + "accept": "podporované formáty: {{ formats }}.", + "title": "přetáhni nebo vyber soubor" +} diff --git a/web/i18n/cs/remux.json b/web/i18n/cs/remux.json new file mode 100644 index 00000000..b7d56435 --- /dev/null +++ b/web/i18n/cs/remux.json @@ -0,0 +1,9 @@ +{ + "description": "remuxování často řeší problémy s kompatibilitou se starým softwarem. je rychlé, bezeztrátové a vše se zpracovává přímo na zařízení.", + "bullet.explainer.title": "jak to funguje?", + "bullet.explainer.description": "remuxování přebírá stávající data kodeku a kopíruje je do nového kontejneru médií. je bezeztrátové, data médií se znovu nekódují.", + "bullet.privacy.title": "zpracování na zařízení", + "bullet.purpose.description": "remux opravuje případné problémy s kontejnerem souboru, například chybějící časové informace. pomáhá zvýšit kompatibilitu se starým softwarem, jako např. vegas pro a windows media player.", + "bullet.purpose.title": "co dělá remux?", + "bullet.privacy.description": "cobalt remuxuje soubory lokálně. soubory nikdy neopustí tvé zařízení, takže zpracování je téměř okamžité." +} diff --git a/web/i18n/cs/save.json b/web/i18n/cs/save.json new file mode 100644 index 00000000..d400c7a3 --- /dev/null +++ b/web/i18n/cs/save.json @@ -0,0 +1,23 @@ +{ + "paste.long": "vložit a stáhnout", + "auto": "auto", + "audio": "audio", + "terms.note.agreement": "pokračováním souhlasíš s", + "terms.note.link": "podmínkami a etikou používání", + "mute": "beze zvuku", + "services.title": "podporované služby", + "services.title_hide": "skrýt podporované služby", + "services.disclaimer": "cobalt není spojen s žádnou z výše uvedených služeb.", + "tutorial.title": "jak ukládat na systému ios?", + "tutorial.intro": "pro pohodlné ukládání médií v systému ios musíš použít doprovodnou siri zkratku z menu sdílení.", + "tutorial.step.1": "přidej pomocné siri zkratky:", + "tutorial.step.2": "stiskni tlačítko \"sdílet\" v cobaltím dialogu pro ukládání.", + "tutorial.step.3": "vyber příslušnou zkratku v menu sdílení.", + "tutorial.shortcut.files": "do souborů", + "tutorial.shortcut.photos": "do galerie", + "paste": "vložit", + "input.placeholder": "vlož odkaz sem", + "services.title_show": "zobrazit podporované služby", + "tutorial.outro": "tyto zkratky budou fungovat pouze z aplikace cobalt, sdílení odkazů z jiných aplikací nebude fungovat.", + "label.community_instance": "komunitní instance" +} diff --git a/web/i18n/cs/settings.json b/web/i18n/cs/settings.json new file mode 100644 index 00000000..b13447f8 --- /dev/null +++ b/web/i18n/cs/settings.json @@ -0,0 +1,112 @@ +{ + "page.appearance": "vzhled", + "page.privacy": "soukromí", + "page.video": "video", + "page.download": "stahování", + "page.advanced": "pokročilé", + "page.debug": "info pro šprty", + "page.instances": "instance", + "section.general": "obecné", + "theme.light": "světlý", + "theme.dark": "tmavý", + "video.quality": "kvalita videa", + "video.quality.max": "8k+", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.youtube.codec": "youtube kodek a kontejner", + "video.youtube.codec.h264": "h264 (mp4)", + "video.youtube.codec.av1": "av1 (webm)", + "video.youtube.codec.vp9": "vp9 (webm)", + "video.twitter.gif": "twitter/x", + "video.twitter.gif.title": "konvertovat smyčková videa do formátu GIF", + "video.twitter.gif.description": "převod do formátu GIF je neefektivní, převedený soubor může být nepříjemně velký a nekvalitní.", + "video.tiktok.h265": "tiktok", + "video.tiktok.h265.title": "preferovat formát HEVC/H265", + "audio.format": "zvukový formát", + "audio.format.best": "nejlepší", + "audio.format.mp3": "mp3", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "audio.bitrate": "datový tok zvuku", + "audio.bitrate.kbps": "kb/s", + "audio.youtube.dub": "youtube zvuková stopa", + "audio.youtube.dub.title": "preferovaný jazyk dabingu", + "audio.youtube.dub.description": "cobalt použije dabovanou zvukovou stopu pro vybraný jazyk, pokud je k dispozici. pokud ne, použije se původní.", + "audio.tiktok.original.description": "cobalt stáhne zvuk z videa bez jakýchkoli změn provedených autorem příspěvku.", + "metadata.filename": "styl názvu souboru", + "metadata.filename.classic": "klasický", + "metadata.filename.basic": "základní", + "metadata.filename.pretty": "hezký", + "metadata.filename.nerdy": "šprtský", + "metadata.filename.preview.video": "Název Videa", + "metadata.filename.preview.audio": "Název Audia - Autor Audia", + "metadata.file": "metadata souborů", + "metadata.disable.title": "nenastavovat metadata souborům", + "metadata.disable.description": "název, interpret a další informace nebudou do souboru přidány.", + "saving.title": "způsob ukládání", + "saving.ask": "zeptat se", + "saving.download": "stáhnout", + "saving.share": "sdílet", + "saving.copy": "kopírovat", + "accessibility": "přístupnost", + "accessibility.transparency.title": "snížit vizuální průhlednost", + "advanced.data": "správa dat", + "processing.override": "změna z výchozí instance", + "section.save": "uložit", + "accessibility.motion.title": "zredukovat animace", + "language": "jazyk", + "language.auto.title": "automatický výběr", + "language.preferred.title": "preferovaný jazyk", + "language.preferred.description": "tento jazyk se použije, když je automatický výběr vypnut. veškerý text, který není přeložen, se zobrazí v angličtině.\n\nněkteré jazyky používají překlady z komunitních zdrojů, a mohou být nepřesné nebo neúplné.", + "privacy.analytics": "anonymní analýza provozu", + "privacy.analytics.title": "nepřispívat k analýze", + "privacy.analytics.learnmore": "zjistit více o ochraně osobních údajů v plausible.", + "privacy.tunnel": "tunelování", + "privacy.tunnel.title": "vždy tunelovat soubory", + "advanced.debug": "ladění", + "advanced.debug.title": "povolit funkce pro šprty", + "advanced.debug.description": "umožňuje snadný přístup k informacím o aplikaci, které mohou být užitečné při ladění. zapnutí této funkce nijak neovlivňuje funkčnost cobaltu.", + "processing.community": "instance komunity", + "processing.enable_custom.title": "použít vlastní server pro zpracování", + "processing.override.title": "použít zpracovací server poskytnutý instancí", + "processing.custom.placeholder": "vlastní doména instance", + "video.quality.description": "pokud není k dispozici preferovaná kvalita videa, vybere se další nejlepší.", + "page.audio": "audio", + "theme": "motiv", + "video.tiktok.h265.description": "umožňuje stahovat videa v rozlišení 1080p na úkor kompatibility.", + "accessibility.motion.description": "vypne animace a přechody, kdykoli je to možné.", + "processing.enable_custom.description": "cobalt použije jinou instanci pro zpracování, pokud se tak rozhodneš. i když má cobalt zavedena určitá bezpečnostní opatření, nejsme zodpovědní za žádné škody způsobené prostřednictvím cizí instance, protože nad nimi nemáme kontrolu.\n\ndbej prosím na to, jaké instance používáš, a ujisti se, že je hostují lidé, kterým důvěřuješ.", + "theme.auto": "auto", + "processing.override.description": "pokud webová instance poskytuje svůj vlastní výchozí server pro zpracování, můžeš jej použít místo hlavního serveru pro zpracování. ujisti se, že se jedná o server někoho, komu důvěřuješ.", + "theme.description": "automatický motiv přepíná mezi světlým a tmavým motivem v závislosti na režimu zobrazení tvého zařízení.", + "video.youtube.codec.description": "h264: nejlepší kompatibilita, průměrná kvalita. maximální kvalita je 1080p. \nav1: nejlepší kvalita a efektivita. podporuje 8k a HDR. \nvp9: stejná kvalita jako av1, ale soubor je přibližně 2x větší. podporuje 4k a HDR.\n\nav1 a vp9 nejsou tak široce podporovány jako h264. pokud není k dispozici av1 nebo vp9, použije se místo nich h264.", + "audio.format.description": "všechny formáty kromě \"nejlepšího\" jsou převedeny ze zdrojového formátu, dojde k určité ztrátě kvality. při výběru formátu \"nejlepší\" je zvuk pokud možno zachován v původním formátu.", + "audio.tiktok.original.title": "stáhnout původní zvuk", + "audio.bitrate.description": "datový tok se použije pouze při převodu zvuku do ztrátového formátu. cobalt nemůže zlepšit kvalitu zdrojového zvuku, takže volba datového toku vyššího než 128 kb/s může zvětšit velikost souboru bez slyšitelného rozdílu. vnímaná kvalita se může lišit podle formátu.", + "audio.tiktok.original": "tiktok", + "saving.description": "preferovaný způsob uložení souboru nebo odkazu z cobaltu. pokud preferovaný způsob není k dispozici nebo se něco pokazí, cobalt se tě zeptá, co má dělat dál.", + "privacy.analytics.description": "anonymní analýza provozu je potřebná k získání přibližného počtu aktivních uživatelů cobaltu. nikdy se neukládají žádné informace, které by tě mohly identifikovat. všechna zpracovávaná data jsou anonymizovaná a agregovaná.\n\npoužíváme vlastní hostovanou instanci plausible, která nepoužívá soubory cookie a je plně v souladu s GDPR, CCPA a PECR.", + "metadata.filename.description": "styl názvu souboru se použije pouze pro soubory tunelované cobaltem. některé služby nepodporují jiné styly názvů souborů než klasický.", + "accessibility.transparency.description": "sníží průhlednost prvků stránky a vypne efekty rozmazání. může také zlepšit výkon uživatelského rozhraní na slabších zařízeních.", + "language.auto.description": "cobalt použije výchozí jazyk tvého prohlížeče, pokud je překlad k dispozici. pokud ne, použije se angličtina.", + "privacy.tunnel.description": "cobalt skryje tvou ip adresu, informace o prohlížeči a obejde omezení místní sítě. po zapnutí budou mít soubory také čitelné názvy, které by jinak byly nerozoznatelné řetězce.", + "video.youtube.hls": "formáty hls na youtube", + "video.youtube.hls.title": "preferovat hls pro video a audio", + "video.youtube.hls.description": "soubory se stahují rychleji a jsou méně náchylné k chybám nebo náhlému přerušení. v tomto režimu jsou k dispozici pouze kodeky h264 a vp9. původní zvukový kodek je aac, který je překódován kvůli kompatibilitě, kvalita zvuku může být o něco horší než u protějšku bez HLS.\n\ntato volba je experimentální, v budoucnu může zmizet nebo se změnit.", + "youtube.dub.original": "původní", + "processing.access_key": "přístupový klíč instance", + "processing.access_key.title": "použít přístupový klíč instance", + "processing.access_key.description": "cobalt použije tento klíč k provádění požadavků na instanci zpracování namísto jiných metod ověřování. ujistěte se, že instance podporuje api klíče!", + "video.h265": "high efficiency video codec", + "video.h265.title": "povolit h265 pro videa", + "video.h265.description": "umožňuje stahovat videa z platforem jako tiktok a xiaohongshu ve vyšší kvalitě za cenu kompatibility.", + "processing.custom_instance.input.alt_text": "vlastní doména instance", + "processing.access_key.input.alt_text": "u-u-i-d přístupový klíč" +} diff --git a/web/i18n/cs/tabs.json b/web/i18n/cs/tabs.json new file mode 100644 index 00000000..742d796c --- /dev/null +++ b/web/i18n/cs/tabs.json @@ -0,0 +1,8 @@ +{ + "save": "uložit", + "settings": "nastavení", + "updates": "aktualizace", + "donate": "přispět", + "about": "o cobaltu", + "remux": "remux" +} diff --git a/web/i18n/cs/updates.json b/web/i18n/cs/updates.json new file mode 100644 index 00000000..917fd927 --- /dev/null +++ b/web/i18n/cs/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "přejít na starší seznam změn ({{ value }})", + "button.previous": "přejít na novější seznam změn ({{ value }})" +} diff --git a/web/i18n/de/a11y/dialog.json b/web/i18n/de/a11y/dialog.json new file mode 100644 index 00000000..dedffa7c --- /dev/null +++ b/web/i18n/de/a11y/dialog.json @@ -0,0 +1,3 @@ +{ + "picker.item.photo": "Foto-Vorschaubild" +} diff --git a/web/i18n/de/a11y/donate.json b/web/i18n/de/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/a11y/general.json b/web/i18n/de/a11y/general.json new file mode 100644 index 00000000..19b94687 --- /dev/null +++ b/web/i18n/de/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "zurück" +} diff --git a/web/i18n/de/a11y/queue.json b/web/i18n/de/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/a11y/save.json b/web/i18n/de/a11y/save.json new file mode 100644 index 00000000..a9edcffb --- /dev/null +++ b/web/i18n/de/a11y/save.json @@ -0,0 +1,3 @@ +{ + "link_area": "Link-Eingabefeld" +} diff --git a/web/i18n/de/a11y/tabs.json b/web/i18n/de/a11y/tabs.json new file mode 100644 index 00000000..087be187 --- /dev/null +++ b/web/i18n/de/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "Registerkarten-Panel" +} diff --git a/web/i18n/de/about.json b/web/i18n/de/about.json new file mode 100644 index 00000000..a993576c --- /dev/null +++ b/web/i18n/de/about.json @@ -0,0 +1,34 @@ +{ + "heading.encryption": "", + "heading.plausible": "", + "heading.cloudflare": "", + "heading.responsibility": "", + "heading.abuse": "", + "heading.motivation": "", + "page.general": "Was ist cobalt?", + "page.faq": "Häufig gestellte Fragen", + "page.community": "", + "page.privacy": "", + "page.terms": "", + "page.credits": "", + "community.discord": "", + "community.twitter": "", + "community.github": "", + "community.email": "", + "community.telegram": "", + "heading.general": "", + "heading.licenses": "", + "heading.summary": "", + "heading.privacy": "", + "heading.community": "", + "heading.local": "", + "heading.saving": "", + "heading.testers": "", + "support.github": "", + "support.discord": "", + "support.twitter": "", + "support.telegram": "", + "support.description.issue": "", + "support.description.best-effort": "", + "support.description.help": "" +} diff --git a/web/i18n/de/about/credits.md b/web/i18n/de/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/de/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/de/about/general.md b/web/i18n/de/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/de/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/de/about/privacy.md b/web/i18n/de/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/de/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/de/about/terms.md b/web/i18n/de/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/de/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/de/button.json b/web/i18n/de/button.json new file mode 100644 index 00000000..7e958f09 --- /dev/null +++ b/web/i18n/de/button.json @@ -0,0 +1,5 @@ +{ + "gotit": "verstanden", + "cancel": "abbrechen", + "save": "speichern" +} diff --git a/web/i18n/de/dialog.json b/web/i18n/de/dialog.json new file mode 100644 index 00000000..89bfd411 --- /dev/null +++ b/web/i18n/de/dialog.json @@ -0,0 +1,3 @@ +{ + "reset.title": "alle Daten zurücksetzen?" +} diff --git a/web/i18n/de/donate.json b/web/i18n/de/donate.json new file mode 100644 index 00000000..eb1edda3 --- /dev/null +++ b/web/i18n/de/donate.json @@ -0,0 +1,3 @@ +{ + "banner.title": "Unterstütze ein sicheres\nund offenes Internet" +} diff --git a/web/i18n/de/error.json b/web/i18n/de/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/error/api.json b/web/i18n/de/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/error/queue.json b/web/i18n/de/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/general.json b/web/i18n/de/general.json new file mode 100644 index 00000000..6ea5e8a0 --- /dev/null +++ b/web/i18n/de/general.json @@ -0,0 +1,3 @@ +{ + "cobalt": "cobalt" +} diff --git a/web/i18n/de/notification.json b/web/i18n/de/notification.json new file mode 100644 index 00000000..1e2bd8c2 --- /dev/null +++ b/web/i18n/de/notification.json @@ -0,0 +1,3 @@ +{ + "update.title": "Update verfügbar!" +} diff --git a/web/i18n/de/queue.json b/web/i18n/de/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/receiver.json b/web/i18n/de/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/remux.json b/web/i18n/de/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/de/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/de/save.json b/web/i18n/de/save.json new file mode 100644 index 00000000..53b13f60 --- /dev/null +++ b/web/i18n/de/save.json @@ -0,0 +1,3 @@ +{ + "paste": "einfügen" +} diff --git a/web/i18n/de/settings.json b/web/i18n/de/settings.json new file mode 100644 index 00000000..cddcff61 --- /dev/null +++ b/web/i18n/de/settings.json @@ -0,0 +1,4 @@ +{ + "page.appearance": "Aussehen", + "page.privacy": "datenschutz" +} diff --git a/web/i18n/de/tabs.json b/web/i18n/de/tabs.json new file mode 100644 index 00000000..fa3185a4 --- /dev/null +++ b/web/i18n/de/tabs.json @@ -0,0 +1,4 @@ +{ + "save": "speichern", + "settings": "einstellungen" +} diff --git a/web/i18n/de/updates.json b/web/i18n/de/updates.json new file mode 100644 index 00000000..1f14a6ac --- /dev/null +++ b/web/i18n/de/updates.json @@ -0,0 +1,3 @@ +{ + "button.next": "Älteres Änderungsprotokoll aufrufen ({{ value }})" +} diff --git a/web/i18n/el/a11y/dialog.json b/web/i18n/el/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/a11y/donate.json b/web/i18n/el/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/a11y/general.json b/web/i18n/el/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/a11y/queue.json b/web/i18n/el/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/a11y/save.json b/web/i18n/el/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/a11y/tabs.json b/web/i18n/el/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/about.json b/web/i18n/el/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/about/credits.md b/web/i18n/el/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/el/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/el/about/general.md b/web/i18n/el/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/el/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/el/about/privacy.md b/web/i18n/el/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/el/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/el/about/terms.md b/web/i18n/el/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/el/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/el/button.json b/web/i18n/el/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/dialog.json b/web/i18n/el/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/donate.json b/web/i18n/el/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/error.json b/web/i18n/el/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/error/api.json b/web/i18n/el/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/error/queue.json b/web/i18n/el/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/general.json b/web/i18n/el/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/notification.json b/web/i18n/el/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/queue.json b/web/i18n/el/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/receiver.json b/web/i18n/el/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/remux.json b/web/i18n/el/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/save.json b/web/i18n/el/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/settings.json b/web/i18n/el/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/tabs.json b/web/i18n/el/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/el/updates.json b/web/i18n/el/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/el/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/a11y/dialog.json b/web/i18n/eo/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/a11y/donate.json b/web/i18n/eo/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/a11y/general.json b/web/i18n/eo/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/a11y/queue.json b/web/i18n/eo/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/a11y/save.json b/web/i18n/eo/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/a11y/tabs.json b/web/i18n/eo/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/about.json b/web/i18n/eo/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/about/credits.md b/web/i18n/eo/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/eo/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/eo/about/general.md b/web/i18n/eo/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/eo/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/eo/about/privacy.md b/web/i18n/eo/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/eo/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/eo/about/terms.md b/web/i18n/eo/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/eo/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/eo/button.json b/web/i18n/eo/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/dialog.json b/web/i18n/eo/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/donate.json b/web/i18n/eo/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/error.json b/web/i18n/eo/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/error/api.json b/web/i18n/eo/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/error/queue.json b/web/i18n/eo/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/general.json b/web/i18n/eo/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/notification.json b/web/i18n/eo/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/queue.json b/web/i18n/eo/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/receiver.json b/web/i18n/eo/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/remux.json b/web/i18n/eo/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/save.json b/web/i18n/eo/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/settings.json b/web/i18n/eo/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/tabs.json b/web/i18n/eo/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/eo/updates.json b/web/i18n/eo/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/eo/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/es/a11y/dialog.json b/web/i18n/es/a11y/dialog.json new file mode 100644 index 00000000..093bf4bb --- /dev/null +++ b/web/i18n/es/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "miniatura de foto", + "picker.item.video": "miniatura de vídeo", + "picker.item.gif": "miniatura de gif" +} diff --git a/web/i18n/es/a11y/donate.json b/web/i18n/es/a11y/donate.json new file mode 100644 index 00000000..b14a5d72 --- /dev/null +++ b/web/i18n/es/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "código qr. pulse para ampliar.", + "share.qr.collapse": "código qr expandido. pulse para contraer." +} diff --git a/web/i18n/es/a11y/general.json b/web/i18n/es/a11y/general.json new file mode 100644 index 00000000..1e703a69 --- /dev/null +++ b/web/i18n/es/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "volver atrás" +} diff --git a/web/i18n/es/a11y/queue.json b/web/i18n/es/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/es/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/es/a11y/save.json b/web/i18n/es/a11y/save.json new file mode 100644 index 00000000..94df9357 --- /dev/null +++ b/web/i18n/es/a11y/save.json @@ -0,0 +1,12 @@ +{ + "download.think": "procesando el enlace...", + "download": "descargar", + "download.check": "verificando descarga...", + "download.done": "descarga completa", + "download.error": "error al descargar", + "tutorial.shortcut.photos": "añadir acceso directo a fotos", + "tutorial.shortcut.files": "añadir acceso directo a archivos", + "clear_input": "borrar entrada", + "link_area": "zona de entrada de enlaces", + "link_area.turnstile": "zona de entrada de enlaces. verificando que no eres un robot." +} diff --git a/web/i18n/es/a11y/tabs.json b/web/i18n/es/a11y/tabs.json new file mode 100644 index 00000000..8b43a254 --- /dev/null +++ b/web/i18n/es/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "panel de pestañas" +} diff --git a/web/i18n/es/about.json b/web/i18n/es/about.json new file mode 100644 index 00000000..5864b6a1 --- /dev/null +++ b/web/i18n/es/about.json @@ -0,0 +1,36 @@ +{ + "page.general": "¿qué es cobalt?", + "page.faq": "FAQ", + "page.community": "comunidad & soporte", + "page.privacy": "politica de privacidad", + "page.terms": "terminos y ética", + "page.credits": "agradecimientos & licencias", + "community.discord": "servidor de discord de la comunidad", + "community.twitter": "cuenta de noticias en twitter", + "community.github": "repositorio de github", + "community.email": "correo de soporte", + "community.telegram": "canal de noticias en telegram", + "heading.saving": "funcionalidad de descarga", + "heading.plausible": "análisis de tráfico anónimo", + "heading.cloudflare": "privacidad & seguridad web", + "heading.responsibility": "responsabilidades del usuario", + "heading.abuse": "reportar abuso", + "heading.licenses": "licencias", + "heading.summary": "la mejor forma de guardar lo que más amas", + "heading.general": "términos generales", + "heading.local": "procesamiento en el dispositivo", + "heading.encryption": "encriptación", + "heading.community": "comunidad abierta", + "heading.speed": "velocidad abrasadora", + "heading.privacy": "líderes en privacidad", + "heading.testers": "probadores beta", + "heading.motivation": "motivación", + "support.github": "echa un vistazo al código fuente de cobalt, contribuye cambios o reporta problemas", + "support.discord": "habla con la comunidad y los desarrolladores sobre cobalt o pide ayuda", + "support.twitter": "sigue las actualizaciones y el desarrollo de cobalt en tu cronologia de twitter", + "support.telegram": "mantente al día con las últimas actualizaciones de cobalt vía canal de telegram", + "support.description.issue": "si quieres reportar un error o algún otro problema recurrente, hazlo en github.", + "support.description.help": "usa discord para cualquier otra pregunta. describe el problema apropiadamente en #cobalt-support o de lo contrario nadie podrá ayudarte.", + "support.description.best-effort": "todo soporte es de mejor esfuerzo y no es garantizado, una respuesta podría tomar algún tiempo.", + "support.bluesky": "sigue las actualizaciones y el desarrollo de cobalt en tu feed de bluesky" +} diff --git a/web/i18n/es/about/credits.md b/web/i18n/es/about/credits.md new file mode 100644 index 00000000..d74f7be1 --- /dev/null +++ b/web/i18n/es/about/credits.md @@ -0,0 +1,90 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +todos los enlaces son externos y conducen a sus sitios web personales o redes +sociales. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/es/about/general.md b/web/i18n/es/about/general.md new file mode 100644 index 00000000..65fa6796 --- /dev/null +++ b/web/i18n/es/about/general.md @@ -0,0 +1,77 @@ + + +
+ + +cobalt te ayuda a guardar cualquier cosa de tus sitios web favoritos: vídeos, +audio, fotos o gifs. ¡sólo pega el enlace y listo! + +no hay anuncios, rastreadores, funciones de pago, ni cualquier otra tontería. es +tan solo una conveniente aplicación web que funciona en cualquier parte, cuando +sea que la necesites. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt es usado por incontables artistas, educadores, y creadores de contenido +para hacer lo que aman. siempre estamos en contacto con nuestra comunidad y +trabajamos juntos para hacer de cobalt incluso mas útil. ¡siéntete libre de +[unirte a la conversación](/about/community)! + +creemos que el futuro del internet es abierto, razón por la cual cobalt es +[source first](https://sourcefirst.com/) y [fácil de +autoalojar]({docs.instanceHosting}). + +si un amigo aloja una instancia de procesamiento, solo pídeles un dominio y +[añádelo en tu configuración de instancias](/settings/instances#community). + +puedes mirar el código fuente y contribuir [en github]({contacts.github}) en +cualquier momento. ¡aceptamos todo tipo de contribuciones y sugerencias! +
diff --git a/web/i18n/es/about/privacy.md b/web/i18n/es/about/privacy.md new file mode 100644 index 00000000..b8676428 --- /dev/null +++ b/web/i18n/es/about/privacy.md @@ -0,0 +1,124 @@ + + +
+ + +la política de privacidad de cobalt es simple: no recopilamos ni guardamos nada +sobre tí. lo que sea que haces es asunto tuyo, no nuestro ni de nadie más. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +los datos del túnel almacenados temporalmente se cifran usando el estándar +AES-256. las claves de descifrado sólo se incluyen en el enlace de acceso y +nunca se registran o almacenan en caché en ningún lugar. solamente el usuario +final tiene acceso al enlace y a las claves de cifrado. las claves se generan de +forma exclusiva para cada túnel solicitado. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible no utiliza cookies y cumple plenamente con GDPR, CCPA y PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare cumple plenamente con GDPR e HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/es/about/terms.md b/web/i18n/es/about/terms.md new file mode 100644 index 00000000..29da1aab --- /dev/null +++ b/web/i18n/es/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +tú (el usuario final) eres responsable de lo que hagas con nuestras +herramientas, el cómo usas y distribuyes el contenido resultante. por favor sé +considerado al usar contenido de otros y siempre acredita a los creadores +originales. asegúrate de no violar ningún término o licencia. + +cuando sea utilizado con fines educativos, cita siempre las fuentes y da +créditos a los creadores originales. + +el uso justo y dar crédito a sus creadores beneficia a todos. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**este correo electrónico no es destinado para el soporte al usuario, no +obtendrás una respuesta si tu asunto no esta relacionado con abuso** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/es/button.json b/web/i18n/es/button.json new file mode 100644 index 00000000..1a878a22 --- /dev/null +++ b/web/i18n/es/button.json @@ -0,0 +1,20 @@ +{ + "gotit": "entendido", + "download": "descargar", + "save": "guardar", + "cancel": "cancelar", + "reset": "restablecer", + "done": "listo", + "download.audio": "descargar audio", + "share": "compartir", + "copy": "copiar", + "copied": "copiado", + "import": "importar", + "continue": "continuar", + "follow": "síguenos", + "export": "exportar", + "yes": "sí", + "no": "no", + "star": "dar estrella", + "copy.section": "copiar el enlace de la sección" +} diff --git a/web/i18n/es/dialog.json b/web/i18n/es/dialog.json new file mode 100644 index 00000000..bf029ea4 --- /dev/null +++ b/web/i18n/es/dialog.json @@ -0,0 +1,18 @@ +{ + "reset.title": "¿restablecer todos los datos?", + "reset.body": "¿estás seguro de que quieres restablecer todos los datos? esta acción es inmediata e irreversible.", + "picker.title": "selecciona qué guardar", + "picker.description.desktop": "haz clic en un elemento para guardarlo. las imágenes también se pueden guardar mediante el menú del clic derecho del ratón.", + "picker.description.phone": "pulsa un elemento para guardarlo. las imágenes también se pueden guardar con una pulsación larga.", + "picker.description.ios": "pulsa un elemento para guardarlo con un atajo. las imágenes también se pueden guardar con una pulsación larga.", + "saving.title": "elige cómo guardar", + "saving.blocked": "cobalt intentó abrir el archivo en una nueva pestaña, pero tu navegador lo bloqueó. puedes permitir las ventanas emergentes de cobalt para evitar que esto ocurra la próxima vez.", + "saving.timeout": "cobalt intentó guardar el archivo automáticamente, pero tu navegador lo impidió. tienes que seleccionar el método preferido manualmente.", + "safety.title": "aviso importante de seguridad", + "api.override.title": "anulación de la instancia de procesamiento", + "api.override.body": "{{ value }} es ahora la instancia de procesamiento. si no confías en ella, pulsa «cancelar» y será ignorada.\n\npuedes cambiar tu elección más tarde en la configuración de procesamiento.", + "processing.ongoing": "cobalt está procesando un archivo en esta pestaña. salir abortará el procesamiento. ¿estás seguro de que quieres hacerlo?", + "processing.title.ongoing": "el procesamiento será cancelado", + "import.body": "importar archivos desconocidos o dañados puede alterar o romper inesperadamente la funcionalidad de cobalt. solamente importa archivos que hayas exportado personalmente y que no hayas modificado. si alguien te pidió que importes este archivo, no lo hagas.\n\nno nos hacemos responsables de ningún daño causado por la importación de archivos de configuración desconocidos.", + "safety.custom_instance.body": "las instancias personalizadas pueden plantear riesgos potenciales para la privacidad y la seguridad.\n\nlas malas instancias pueden:\n1. redirigirte fuera de cobalt e intentar estafarte.\n2. registrar toda la información sobre sus solicitudes, almacenarla para siempre y utilizarla para rastrearte.\n3. servirte archivos maliciosos (como malware).\n4. obligarte a ver anuncios o hacerte pagar por las descargas.\n\nde aquí en adelante, no podemos protegerte. por favor, ten cuidado con las instancias que utilizas y confía siempre en tu instinto. si algo no te cuadra, vuelve a esta página, reinicia la instancia personalizada e infórmanos en github." +} diff --git a/web/i18n/es/donate.json b/web/i18n/es/donate.json new file mode 100644 index 00000000..235911b7 --- /dev/null +++ b/web/i18n/es/donate.json @@ -0,0 +1,30 @@ +{ + "body.keep_going": "si cobalt te ha resultado útil, ¡considera la posibilidad de apoyar nuestro trabajo! puedes ayudarnos haciendo una donación o compartiendo cobalt con un amigo. toda donación es muy apreciada y nos ayuda a seguir trabajando en cobalt y en otros proyectos.", + "card.once": "donación única", + "card.monthly": "donación mensual", + "card.custom": "monto personalizado (desde $2)", + "card.processor": "mediante {{value}}", + "card.option.5": "una taza de café", + "card.option.10": "pizza grande", + "card.option.15": "almuerzo completo", + "card.option.30": "almuerzo para dos", + "card.option.100": "un año de dominios", + "card.option.200": "freidora de aire", + "card.option.500": "silla de oficina elegante", + "card.option.1599": "macbook pro básico", + "card.option.4900": "10.000 manzanas", + "card.option.7398": "macbook pro al tope", + "card.option.8629": "un pequeño terreno", + "card.option.9433": "jacuzzi de lujo", + "card.custom.submit": "donar un monto personalizado", + "share.title": "comparte cobalt con un amigo", + "alternative.title": "otras formas de donar", + "alt.copy": "{{ value }}. dirección del monedero crypto. presiona para copiar.", + "alt.open": "{{ value }}. presiona para abrir.", + "banner.title": "Apoya una Internet\nsegura y abierta", + "banner.subtitle": "hazle una donación a imput o comparte\nla alegría de cobalt con un amigo", + "body.motivation": "cobalt ayuda a productores, educadores, creadores de contenido y a muchos otros a hacer lo que les gusta. es un servicio diferente que se hace con amor, sin ánimo de lucro.", + "card.option.50": "10kg de comida para gatos", + "body.no_bullshit": "creemos que el internet no tiene por qué dar miedo, por eso cobalt nunca tendrá anuncios ni ningún otro tipo de contenido malicioso. es una promesa que mantenemos firmemente. todo lo que hacemos se construye teniendo en cuenta la privacidad, la accesibilidad y la facilidad de uso, lo que hace que cobalt esté al alcance de todos.", + "card.recurring": "donación recurrente" +} diff --git a/web/i18n/es/error.json b/web/i18n/es/error.json new file mode 100644 index 00000000..5d643bf2 --- /dev/null +++ b/web/i18n/es/error.json @@ -0,0 +1,58 @@ +{ + "import.no_data": "no hay ninguna configuración para este archivo . ¿estás seguro que es el correcto?", + "import.invalid": "tu archivo no tiene una configuración de cobalt válida para importar. ¿estás seguro de que es el correcto?", + "import.unknown": "no se pudieron cargar los datos del archivo. puede que esté dañado o que tenga el formato incorrecto. aquí está el error que me apareció:\n\n{{ value }}", + "remux.corrupted": "no se pudieron leer los metadatos de este archivo, puede que esté dañado.", + "api.auth.turnstile.invalid": "no se ha podido confirmar si no eres un robot porque tu token de acceso humano caducó y no fue renovado. ¡inténtalo de nuevo en unos segundos o recarga la página!", + "api.timed_out": "el servidor de procesamiento tardó demasiado en responder. puede que esté saturado en este momento, ¡inténtalo de nuevo en unos segundos!", + "api.link.invalid": "tu enlace no es válido o este servicio aún no es compatible. ¿has pegado el enlace correcto?", + "api.fetch.empty": "no pude encontrar ningún medio que pudiera descargar para ti. ¿estás seguro de que pegaste el enlace correcto?", + "api.fetch.short_link": "no se ha podido obtener la información del enlace corto. ¿estás seguro de que funciona? si es así y sigues recibiendo este error, ¡déjanos saber e intentaremos ayudarte!", + "api.content.video.unavailable": "no puedo acceder a este vídeo. puede que esté restringido por parte de {{ service }}. ¡intenta con un enlace diferente!", + "api.content.video.live": "este vídeo está actualmente en directo, por lo que no puedo descargarlo todavía. ¡espera a que termine el directo y vuelve a intentarlo!", + "api.content.video.private": "este vídeo es privado, por lo que no puedo acceder a él. ¡cambia su visibilidad o prueba con otro!", + "api.content.video.region": "este vídeo está bloqueado por región y el servidor de procesamiento se encuentra en una ubicación diferente. ¡prueba con otro!", + "api.content.video.age": "este vídeo tiene restricciones de edad, por lo que no puedo acceder a él de forma anónima. ¡prueba con otro!", + "remux.out_of_resources": "cobalt se quedó sin recursos y no puede continuar con el procesamiento en el dispositivo. esto es causado por las limitaciones de tu navegador. ¡actualiza o vuelve a abrir la aplicación e intenta de nuevo!", + "tunnel.probe": "no se pudo probar este túnel. tu navegador o configuración de red podría estar bloqueando acceso a alguno de los servidores de cobalt. ¿seguro de que no tienes ninguna extensión de navegador rara?", + "api.auth.jwt.missing": "no se ha podido confirmar si no eres un robot porque el servidor de procesamiento no ha recibido el token de acceso humano. ¡inténtalo de nuevo en unos segundos o recarga la página!", + "api.auth.turnstile.missing": "no se ha podido confirmar si no eres un robot porque el servidor de procesamiento no ha recibido el token de acceso humano. ¡inténtalo de nuevo en unos segundos o recarga la página!", + "api.unreachable": "no se pudo conectar a la instancia de procesamiento. ¡comprueba tu conexión a internet e inténtalo de nuevo!", + "api.rate_exceeded": "estás haciendo demasiadas peticiones. inténtalo de nuevo en {{ limit }} segundos.", + "api.generic": "algo ha ido mal y no pude conseguirte nada. inténtalo de nuevo en unos segundos, pero si el problema persiste, ¡déjanos saber e intentaremos ayudarte!", + "api.unknown_response": "no se pudo leer la respuesta de la instancia de procesamiento. esto podría deberse a un desajuste de versión entre instancias de cobalt.", + "api.service.unsupported": "este servicio aún no está soportado. ¿has pegado el enlace correcto?", + "api.auth.jwt.invalid": "no se ha podido confirmar si no eres un robot porque tu token de acceso humano caducó y no fue renovado. ¡inténtalo de nuevo en unos segundos o recarga la página!", + "api.capacity": "cobalt está al límite de su capacidad y no puede procesar tu solicitud en este momento. inténtalo de nuevo en unos segundos. si sigue sin funcionar, ¡déjanos saber e intentaremos ayudarte!", + "api.service.disabled": "este servicio está soportado por cobalt, pero está deshabilitado en esta instancia. ¡intenta un enlace desde otro servicio!", + "api.link.unsupported": "{{ service }} es compatible, pero no pude reconocer tu enlace. ¿has pegado el correcto?", + "api.fetch.fail": "algo ha ido mal al obtener información de {{ service }} y no pude conseguirte nada. ¿estás seguro de que tu enlace funciona? si es así y sigues viendo este error, ¡déjanos saber e intentaremos ayudarte!", + "api.fetch.critical": "el módulo {{ service }} devuelve un error que no reconozco. inténtalo de nuevo en unos segundos, pero si el problema persiste, ¡déjanos saber!", + "api.fetch.rate": "el servidor de procesamiento de cobalt fue limitado por la api de {{ service }}. ¡inténtalo de nuevo en unos segundos!", + "api.content.too_long": "el medio que has solicitado es demasiado largo. el límite de duración actual es de {{ limit }} minutos. ¡prueba con algo más corto!", + "api.content.post.age": "este post está restringido por edad y no está disponible sin antes iniciar sesión. ¡intenta con otro enlace!", + "api.youtube.decipher": "youtube actualizó su algoritmo de descifrado y no pude extraer la información sobre el video. inténtalo de nuevo en unos segundos, pero si el problema persiste, ¡por favor repórtalo!", + "api.content.post.unavailable": "no se ha podido encontrar nada sobre este post. puede que su visibilidad sea limitada o que no exista en absoluto. ¡asegúrate de que tu enlace funciona y vuelve a intentarlo en unos segundos!", + "api.content.post.private": "no se pudo obtener nada sobre este post porque es de una cuenta privada. ¡intenta con un enlace diferente!", + "api.youtube.codec": "youtube no devuelve nada con tu códec de vídeo preferido. ¡prueba con otro en ajustes!", + "api.youtube.login": "no pude ver este vídeo porque youtube me ha etiquetado como bot. esto puede deberse a que la instancia de procesamiento no tiene ningún token de cuenta activo. inténtalo de nuevo en unos segundos, pero si sigue sin funcionar, ¡comunícaselo al propietario de la instancia!", + "api.youtube.token_expired": "no he podido ver este vídeo porque el token de youtube caducó y no he podido actualizarlo. inténtalo de nuevo en unos segundos, pero si sigue sin funcionar, ¡díselo al propietario de la instancia!", + "captcha_ongoing": "turnstile de cloudflare aún está comprobando que no seas un robot. si se toma demasiado, intenta: desactivar extensiones del navegador raras, cambiar de red, usar otro navegador o revisar si tu dispositivo tiene malware.", + "api.youtube.no_hls_streams": "no se ha encontrado ningún stream HLS que coincida para este vídeo. ¡prueba a descargarlo sin HLS!", + "api.youtube.no_matching_format": "youtube no devolvió una combinación de formatos de audio y vídeo válida. faltan o el audio o el vídeo. los formatos para este vídeo pueden estar recodificándose en youtube o algo salió mal al analizarlos. ¡intenta habilitar la opción de hls en las opciones de vídeo!", + "api.youtube.temporary_disabled": "las descargas de youtube están deshabilitadas temporalmente debido a restricciones del lado de youtube. ya estamos buscando formas de esquivarlas.\n\npedimos disculpas por los inconvenientes y estamos haciendo lo mejor que podemos para restaurar esta funcionalidad. ¡revisa las redes sociales o el github de cobalt para estar al tanto!", + "api.auth.key.missing": "se requiere una clave de acceso para usar esta instancia de procesamiento, pero falta. ¡agrégala en la configuración de instancia!", + "api.auth.key.not_api_key": "se requiere una clave de acceso para usar esta instancia de procesamiento, pero falta. ¡agrégala en la configuración de instancia!", + "api.service.audio_not_supported": "este servicio no soporta extracción de audio. ¡intenta con un enlace de otro servicio!", + "api.auth.key.invalid": "la clave de acceso es inválida. ¡restablécela en los ajustes de instancia y usa una adecuada!", + "api.auth.key.invalid_ip": "tu dirección ip no pudo ser analizada. algo salió muy mal. ¡reporta este problema!", + "api.auth.key.not_found": "no se pudo encontrar la clave de acceso que usaste. ¿estás seguro de que esta instancia tiene tu clave?", + "api.auth.key.ip_not_allowed": "tu dirección IP tiene prohibido usar esta clave de acceso. ¡usa una instancia o red diferente!", + "api.auth.key.ua_not_allowed": "tu agente de usuario no tiene permiso para usar esta clave de acceso. ¡usa un cliente o dispositivo diferente!", + "api.content.region": "este contenido está bloqueado por región, y la instancia de procesamiento está en una ubicación distinta. ¡intenta con otro enlace!", + "api.content.paid": "este contenido requiere compra. cobalt no puede descargar contenido de pago. ¡intenta con otro enlace!", + "api.youtube.api_error": "youtube actualizó algo en su api y no pude obtener ninguna información sobre este vídeo. intenta de nuevo en unos segundos, pero si el problema persiste, por favor, ¡repórtalo!", + "api.invalid_body": "no se pudo enviar la solicitud a la instancia de procesamiento. puede que la causa de esto sea que la pagina este desactualizada. recarga la pagina e inténtalo de nuevo!", + "api.youtube.drm": "este vídeo de youtube está protegido por widevine DRM, por lo que no puedo descargarlo. ¡prueba con otro enlace!", + "api.youtube.no_session_tokens": "no se han podido obtener los tokens de sesión necesarios para youtube. esto puede deberse a una restricción por parte de youtube. inténtalo de nuevo en unos segundos, pero si este problema persiste, ¡notifícalo!" +} diff --git a/web/i18n/es/error/api.json b/web/i18n/es/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/es/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/es/error/queue.json b/web/i18n/es/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/es/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/es/general.json b/web/i18n/es/general.json new file mode 100644 index 00000000..d2c9ebc2 --- /dev/null +++ b/web/i18n/es/general.json @@ -0,0 +1,6 @@ +{ + "beta": "beta", + "meowbalt": "miaubalt", + "cobalt": "cobalt", + "embed.description": "cobalt te permite guardar lo que te gusta sin anuncios, rastreo, muros de pago ni otras tonterías. ¡sólo pega el enlace y listo!" +} diff --git a/web/i18n/es/notification.json b/web/i18n/es/notification.json new file mode 100644 index 00000000..7daae6a3 --- /dev/null +++ b/web/i18n/es/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "¡actualización disponible!", + "update.subtext": "presiona para recargar" +} diff --git a/web/i18n/es/queue.json b/web/i18n/es/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/es/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/es/receiver.json b/web/i18n/es/receiver.json new file mode 100644 index 00000000..67156651 --- /dev/null +++ b/web/i18n/es/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "arrastra o selecciona un archivo", + "title.drop": "¡arrastra el archivo aquí!", + "accept": "formatos admitidos: {{ formats }}." +} diff --git a/web/i18n/es/remux.json b/web/i18n/es/remux.json new file mode 100644 index 00000000..eec1f3f8 --- /dev/null +++ b/web/i18n/es/remux.json @@ -0,0 +1,9 @@ +{ + "description": "la remezcla suele solucionar problemas de compatibilidad con programas antiguos. es rápida, sin pérdidas y todo se procesa en el dispositivo.", + "bullet.purpose.title": "¿qué hace remux?", + "bullet.purpose.description": "remux arregla cualquier problema con el contenedor del archivo, como la falta de información de la duración. ayuda a mejorar la compatibildad con software más antiguo, como vegas pro y windows media player.", + "bullet.explainer.title": "¿cómo funciona?", + "bullet.explainer.description": "remuxar toma datos del códec y los copia a un nuevo contenedor multimedia. no tiene pérdida de calidad y los datos no vuelven a ser recodificados.", + "bullet.privacy.title": "procesamiento en el dispositivo", + "bullet.privacy.description": "cobalt remuxa los datos localmente. estos datos nunca se van de tu dispositivo, por lo tanto el proceso es casi instantáneo." +} diff --git a/web/i18n/es/save.json b/web/i18n/es/save.json new file mode 100644 index 00000000..d5937a8d --- /dev/null +++ b/web/i18n/es/save.json @@ -0,0 +1,23 @@ +{ + "paste": "pegar", + "paste.long": "pegar y descargar", + "auto": "auto", + "audio": "audio", + "mute": "silenciado", + "services.title_show": "mostrar servicios soportados", + "input.placeholder": "pega el enlace aquí", + "terms.note.agreement": "al continuar, aceptas los", + "terms.note.link": "términos y ética de uso", + "services.title": "servicios soportados", + "services.title_hide": "ocultar servicios soportados", + "tutorial.title": "¿cómo guardar en ios?", + "tutorial.intro": "para guardar archivos multimedia cómodamente en ios, tendrás que utilizar un atajo de siri complementario desde la pestaña de compartir.", + "tutorial.step.1": "añadir atajo de siri complementario:", + "tutorial.step.3": "selecciona el atajo correspondiente en la pestaña de compartir.", + "tutorial.outro": "estos accesos directos sólo funcionarán desde la aplicación de cobalt, compartir enlaces desde otras aplicaciones no funcionará.", + "tutorial.shortcut.photos": "a fotos", + "tutorial.shortcut.files": "a archivos", + "services.disclaimer": "cobalt no está afiliado a ninguno de los servicios mencionados.", + "tutorial.step.2": "pulsa el botón «compartir» en el cuadro de diálogo de guardado de cobalt.", + "label.community_instance": "instancia de la comunidad" +} diff --git a/web/i18n/es/settings.json b/web/i18n/es/settings.json new file mode 100644 index 00000000..34fbcdf6 --- /dev/null +++ b/web/i18n/es/settings.json @@ -0,0 +1,109 @@ +{ + "page.appearance": "apariencia", + "page.privacy": "privacidad", + "page.video": "vídeo", + "page.audio": "audio", + "video.youtube.codec.description": "h264: mejor compatibilidad, calidad promedio. calidad máxima de 1080p. \nav1: mejor calidad y eficiencia. soporta 8k y HDR. \nvp9: misma calidad que av1, pero el archivo es ~2x más grande. soporta 4k y HDR.\n\nav1 y vp9 no son tan compatibles como h264. si av1 o vp9 no están disponibles, se usa h264 en su lugar.", + "video.youtube.codec": "códec de vídeo y contenedor de youtube", + "video.twitter.gif": "twitter/x", + "video.twitter.gif.title": "convertir vídeos en bucle a GIF", + "video.twitter.gif.description": "la conversión de GIF es ineficaz, el archivo convertido puede ser odiosamente grande y de baja calidad.", + "page.download": "descargas", + "page.advanced": "avanzado", + "page.debug": "información para nerds", + "page.instances": "instancias", + "section.general": "general", + "section.save": "guardar", + "theme": "tema", + "theme.auto": "auto", + "theme.light": "claro", + "theme.dark": "oscuro", + "theme.description": "el tema automático cambia entre temas claros y oscuros en función del modo de visualización de tu dispositivo.", + "video.quality": "calidad de vídeo", + "video.quality.max": "8k+", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.quality.description": "si la calidad de vídeo preferida no está disponible, se elige la siguiente mejor.", + "saving.description": "forma preferida de guardar el archivo o enlace de cobalt. si el método preferido no está disponible o algo va mal, cobalt te preguntará qué hacer a continuación.", + "processing.override.description": "si la instancia web proporciona su propio servidor de procesamiento predeterminado, puede optar por utilizarlo en lugar del servidor de procesamiento principal. asegúrate de que se trata de un servidor de alguien de confianza.", + "video.tiktok.h265": "tiktok", + "video.tiktok.h265.title": "preferir el formato HEVC/H265", + "audio.format": "formato de audio", + "audio.format.best": "mejor", + "audio.format.mp3": "mp3", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "audio.format.description": "todos los formatos excepto \"mejor\" se convierten a partir del formato de origen con cierta pérdida de calidad. cuando se selecciona el formato \"mejor\", el audio se mantiene en su formato original cuando sea posible.", + "audio.bitrate": "tasa de bits de audio", + "audio.bitrate.kbps": "kb/s", + "audio.bitrate.description": "la tasa de bits sólo se aplica al convertir audio a un formato con pérdidas. cobalt no puede mejorar la calidad del audio de origen, por lo que elegir una tasa de bits superior a 128 kbps puede inflar el tamaño del archivo sin que haya una diferencia audible. la calidad percibida puede variar según el formato.", + "audio.youtube.dub": "pista de audio de youtube", + "audio.youtube.dub.title": "idioma de doblaje preferido", + "audio.youtube.dub.description": "cobalt usará una pista de audio doblada para el idioma seleccionado si está disponible. si no, se usará la original en su lugar.", + "video.tiktok.h265.description": "permite descargar vídeos en 1080p disminuyendo la compatibilidad.", + "audio.tiktok.original": "tiktok", + "audio.tiktok.original.title": "descargar sonido original", + "audio.tiktok.original.description": "cobalt descargará el sonido del vídeo sin ningún cambio por parte del autor del post.", + "metadata.filename": "estilo del nombre de archivo", + "metadata.filename.classic": "clásico", + "metadata.filename.basic": "básico", + "metadata.filename.pretty": "bonito", + "metadata.filename.nerdy": "para nerds", + "metadata.filename.preview.video": "Título del vídeo", + "metadata.filename.preview.audio": "Título del audio - Título del autor", + "metadata.file": "metadatos del archivo", + "metadata.disable.title": "desactivar los metadatos de archivo", + "metadata.disable.description": "no se añadirán al archivo el título, artista y otra información.", + "saving.title": "método de guardado", + "saving.ask": "preguntar", + "saving.download": "descargar", + "saving.share": "compartir", + "saving.copy": "copiar", + "accessibility": "accesibilidad", + "accessibility.transparency.title": "reducir la transparencia visual", + "accessibility.transparency.description": "reduce la transparencia de las superficies y desactiva los efectos de desenfoque. también puede mejorar el rendimiento de la interfaz en dispositivos de bajo rendimiento.", + "accessibility.motion.title": "movimiento reducido", + "accessibility.motion.description": "desactiva las animaciones y transiciones siempre que sea posible.", + "language": "idioma", + "language.auto.title": "selección automática", + "language.preferred.title": "idioma preferido", + "privacy.analytics": "analíticas de tráfico anónimo", + "privacy.analytics.title": "no contribuir a la analítica", + "privacy.analytics.learnmore": "más información sobre el compromiso de plausible con la privacidad.", + "privacy.tunnel.title": "siempre usar la tunelización para archivos", + "privacy.tunnel.description": "cobalt ocultará tu dirección ip, la información del navegador y eludirá las restricciones de la red local. cuando esté activado, los archivos también tendrán nombres legibles que, de otro modo, serían ilegibles.", + "advanced.debug": "depuración", + "advanced.debug.title": "activar funciones para nerds", + "advanced.data": "gestión de datos", + "processing.override": "anulación de instancia predeterminada", + "processing.override.title": "utilizar el servidor de procesamiento proporcionado por la instancia", + "metadata.filename.description": "el estilo de nombre de archivo sólo se utilizará para los archivos tunelizados por cobalt. algunos servicios no admiten estilos de nombre de archivo distintos del clásico.", + "privacy.tunnel": "tunelización", + "processing.community": "instancias de la comunidad", + "processing.enable_custom.title": "utilizar un servidor de procesamiento personalizado", + "processing.custom.placeholder": "dominio de la instancia personalizada", + "language.auto.description": "cobalt utilizará el idioma por defecto de tu navegador si la traducción está disponible. si no, se utilizará el inglés en su lugar.", + "language.preferred.description": "este idioma se usara cuando la selección automática esté desactivada. cualquier texto que no esté traducido se mostrará en inglés.\n\nalgunos idiomas usan traducciones de la comunidad, estas podrían ser inexactas o estar incompletas.", + "privacy.analytics.description": "los análisis de tráfico anónimos son necesarios para obtener un número aproximado de usuarios activos de cobalt. nunca se almacena información identificable sobre ti. todos los datos procesados son anónimos y agregados.\n\nutilizamos una instancia de plausible autoalojada que no utiliza cookies y cumple plenamente con GDPR, CCPA y PECR.", + "advanced.debug.description": "te da fácil acceso a una página con información de la aplicación que puede ser útil para depurar. habilitar esto no afecta la funcionalidad de cobalt de ninguna forma.", + "processing.enable_custom.description": "cobalt usará una instancia de procesamiento personalizada si así lo deseas. aunque cobalt cuenta con algunas medidas de seguridad, no nos hacemos responsables de los daños que se produzcan a través de una instancia comunitaria, ya que no tenemos control sobre ellas.\n\npor favor, ten cuidado con las instancias que usas y asegúrate de que están alojadas por personas en las que confías.", + "video.youtube.hls.title": "preferir hls para audio y vídeo", + "youtube.dub.original": "original", + "video.youtube.hls.description": "los archivos se descargarán más rápido y serán menos propensos a errores o cortes bruscos. sólo los códecs h264 y vp9 están disponibles en este modo. el códec original es aac, es recodificado por compatibilidad y la calidad de audio puede ser peor que su contraparte sin HLS.\n\nesta opción es experimental, y puede desaparecer o cambiar en el futuro.", + "video.youtube.hls": "formatos hls en youtube", + "video.h265.title": "permitir h265 para vídeos", + "video.h265": "códec de vídeo de alta eficiencia", + "video.h265.description": "permite descargar vídeos de plataformas como tiktok y xiaohongshu en mayor calidad al coste de compatibilidad.", + "processing.access_key": "clave de acceso de la instancia", + "processing.access_key.title": "usar una clave de acceso de instancia", + "processing.access_key.description": "cobalt usará esta clave para realizar solicitudes a la instancia de procesamiento en lugar de otros métodos de autenticación. ¡asegúrate de que la instancia sea compatible con claves de api!", + "processing.custom_instance.input.alt_text": "dominio de instancia personalizada", + "processing.access_key.input.alt_text": "clave de acceso u-u-i-d" +} diff --git a/web/i18n/es/tabs.json b/web/i18n/es/tabs.json new file mode 100644 index 00000000..24670bc0 --- /dev/null +++ b/web/i18n/es/tabs.json @@ -0,0 +1,8 @@ +{ + "save": "guardar", + "settings": "ajustes", + "updates": "novedades", + "donate": "donar", + "about": "acerca de", + "remux": "remezclar" +} diff --git a/web/i18n/es/updates.json b/web/i18n/es/updates.json new file mode 100644 index 00000000..8204d14d --- /dev/null +++ b/web/i18n/es/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "ir al registro de cambios más antiguo ({{ value }})", + "button.previous": "ir al registro de cambios más reciente ({{ value }})" +} diff --git a/web/i18n/et/a11y/dialog.json b/web/i18n/et/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/a11y/donate.json b/web/i18n/et/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/a11y/general.json b/web/i18n/et/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/a11y/queue.json b/web/i18n/et/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/a11y/save.json b/web/i18n/et/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/a11y/tabs.json b/web/i18n/et/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/about.json b/web/i18n/et/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/about/credits.md b/web/i18n/et/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/et/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/et/about/general.md b/web/i18n/et/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/et/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/et/about/privacy.md b/web/i18n/et/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/et/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/et/about/terms.md b/web/i18n/et/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/et/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/et/button.json b/web/i18n/et/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/dialog.json b/web/i18n/et/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/donate.json b/web/i18n/et/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/error.json b/web/i18n/et/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/error/api.json b/web/i18n/et/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/error/queue.json b/web/i18n/et/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/general.json b/web/i18n/et/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/notification.json b/web/i18n/et/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/queue.json b/web/i18n/et/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/receiver.json b/web/i18n/et/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/remux.json b/web/i18n/et/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/save.json b/web/i18n/et/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/settings.json b/web/i18n/et/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/tabs.json b/web/i18n/et/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/et/updates.json b/web/i18n/et/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/et/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/a11y/dialog.json b/web/i18n/fi/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/a11y/donate.json b/web/i18n/fi/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/a11y/general.json b/web/i18n/fi/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/a11y/queue.json b/web/i18n/fi/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/a11y/save.json b/web/i18n/fi/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/a11y/tabs.json b/web/i18n/fi/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/about.json b/web/i18n/fi/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/about/credits.md b/web/i18n/fi/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/fi/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/fi/about/general.md b/web/i18n/fi/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/fi/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/fi/about/privacy.md b/web/i18n/fi/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/fi/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/fi/about/terms.md b/web/i18n/fi/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/fi/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/fi/button.json b/web/i18n/fi/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/dialog.json b/web/i18n/fi/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/donate.json b/web/i18n/fi/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/error.json b/web/i18n/fi/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/error/api.json b/web/i18n/fi/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/error/queue.json b/web/i18n/fi/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/general.json b/web/i18n/fi/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/notification.json b/web/i18n/fi/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/queue.json b/web/i18n/fi/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/receiver.json b/web/i18n/fi/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/remux.json b/web/i18n/fi/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/save.json b/web/i18n/fi/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/settings.json b/web/i18n/fi/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/tabs.json b/web/i18n/fi/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fi/updates.json b/web/i18n/fi/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fi/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/a11y/dialog.json b/web/i18n/fil/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/a11y/donate.json b/web/i18n/fil/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/a11y/general.json b/web/i18n/fil/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/a11y/queue.json b/web/i18n/fil/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/a11y/save.json b/web/i18n/fil/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/a11y/tabs.json b/web/i18n/fil/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/about.json b/web/i18n/fil/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/about/credits.md b/web/i18n/fil/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/fil/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/fil/about/general.md b/web/i18n/fil/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/fil/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/fil/about/privacy.md b/web/i18n/fil/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/fil/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/fil/about/terms.md b/web/i18n/fil/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/fil/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/fil/button.json b/web/i18n/fil/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/dialog.json b/web/i18n/fil/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/donate.json b/web/i18n/fil/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/error.json b/web/i18n/fil/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/error/api.json b/web/i18n/fil/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/error/queue.json b/web/i18n/fil/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/general.json b/web/i18n/fil/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/notification.json b/web/i18n/fil/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/queue.json b/web/i18n/fil/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/receiver.json b/web/i18n/fil/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/remux.json b/web/i18n/fil/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/save.json b/web/i18n/fil/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/settings.json b/web/i18n/fil/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/tabs.json b/web/i18n/fil/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fil/updates.json b/web/i18n/fil/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fil/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fr/a11y/dialog.json b/web/i18n/fr/a11y/dialog.json new file mode 100644 index 00000000..6c9f0458 --- /dev/null +++ b/web/i18n/fr/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "miniature de photo", + "picker.item.video": "miniature de vidéo", + "picker.item.gif": "miniature de gif" +} diff --git a/web/i18n/fr/a11y/donate.json b/web/i18n/fr/a11y/donate.json new file mode 100644 index 00000000..1dd9e9a1 --- /dev/null +++ b/web/i18n/fr/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr code. appuyez pour agrandir.", + "share.qr.collapse": "qr code agrandi. appuyez pour réduire." +} diff --git a/web/i18n/fr/a11y/general.json b/web/i18n/fr/a11y/general.json new file mode 100644 index 00000000..ba930bf5 --- /dev/null +++ b/web/i18n/fr/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "retour" +} diff --git a/web/i18n/fr/a11y/queue.json b/web/i18n/fr/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fr/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fr/a11y/save.json b/web/i18n/fr/a11y/save.json new file mode 100644 index 00000000..14171800 --- /dev/null +++ b/web/i18n/fr/a11y/save.json @@ -0,0 +1,12 @@ +{ + "link_area": "zone de saisie de lien", + "link_area.turnstile": "zone de saisie de lien. nous vérifions que vous n'êtes pas un robot.", + "tutorial.shortcut.photos": "raccourci pour ajouter des photos", + "clear_input": "effacer la saisie", + "download": "télécharger", + "download.think": "traitement du lien...", + "download.check": "vérification du téléchargement...", + "download.done": "téléchargement terminé", + "download.error": "erreur de téléchargement", + "tutorial.shortcut.files": "raccourci pour ajouter des fichiers" +} diff --git a/web/i18n/fr/a11y/tabs.json b/web/i18n/fr/a11y/tabs.json new file mode 100644 index 00000000..21dabb2f --- /dev/null +++ b/web/i18n/fr/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "panel d'onglets" +} diff --git a/web/i18n/fr/about.json b/web/i18n/fr/about.json new file mode 100644 index 00000000..f06ef997 --- /dev/null +++ b/web/i18n/fr/about.json @@ -0,0 +1,36 @@ +{ + "community.telegram": "chaîne d'actualités sur telegram", + "heading.general": "termes généraux", + "heading.licenses": "licences", + "heading.summary": "meilleur moyen de sauvegarder ce que vous aimez", + "heading.privacy": "confidentialité de premier plan", + "heading.speed": "vitesse fulgurante", + "heading.community": "communauté ouverte", + "heading.local": "traitement sur l'appareil", + "heading.saving": "sauvegarde", + "heading.encryption": "chiffrement", + "heading.plausible": "analyse de trafic anonyme", + "heading.cloudflare": "vie privée et sécurité web", + "heading.responsibility": "responsabilités de l'utilisateur", + "heading.abuse": "signalement d'abus", + "page.general": "qu'est-ce que cobalt ?", + "page.faq": "FAQ", + "page.community": "communauté & support", + "page.privacy": "politique de confidentialité", + "page.terms": "conditions et éthique", + "page.credits": "remerciements & licences", + "community.discord": "serveur discord de la communauté", + "community.twitter": "compte d'actualités sur twitter", + "community.github": "dépôt github", + "community.email": "email de support", + "heading.testers": "bêta-testeurs", + "heading.motivation": "motivation", + "support.discord": "discutez avec la communauté et les développeurs à propos de cobalt ou demandez de l'aide", + "support.twitter": "suivez les mises à jour et le développement de cobalt sur votre fil twitter", + "support.telegram": "restez à jour avec les dernières mises à jour de cobalt via une chaîne telegram", + "support.description.issue": "si vous souhaitez signaler un bug ou un autre problème récurrent, veuillez le faire sur github.", + "support.description.help": "utilisez discord pour toute autre question. décrivez correctement le problème dans #cobalt-support sinon personne ne pourra vous aider.", + "support.description.best-effort": "toute assistance est fournie dans les meilleurs délais et n'est pas garantie, une réponse peut prendre un certain temps.", + "support.github": "consultez le code source de cobalt, apportez des modifications ou signalez des problèmes", + "support.bluesky": "suivez les mises à jour et le développement de cobalt sur votre flux bluesky" +} diff --git a/web/i18n/fr/about/credits.md b/web/i18n/fr/about/credits.md new file mode 100644 index 00000000..20d9c58b --- /dev/null +++ b/web/i18n/fr/about/credits.md @@ -0,0 +1,90 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +tous les liens sont externes et mènent à leurs sites web personnels ou à leurs +réseaux sociaux. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/fr/about/general.md b/web/i18n/fr/about/general.md new file mode 100644 index 00000000..1eec25da --- /dev/null +++ b/web/i18n/fr/about/general.md @@ -0,0 +1,78 @@ + + +
+ + +cobalt vous permet de sauvegarder tout ce que vous aimez sur vos sites web +préférés : vidéo, audio, photos ou gifs. collez simplement le lien et vous êtes +prêt à démarrer ! + +pas de publicités, de traqueurs, d'accès payant ou autres absurdités. juste une +application web pratique qui fonctionne partout et quand vous en avez besoin. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt est utilisé par d'innombrables artistes, éducateurs et créateurs de +contenu pour faire ce qu'ils aiment. nous sommes toujours en contact avec notre +communauté et travaillons ensemble pour créer encore plus d'outils utiles pour +eux. n'hésitez pas à [rejoindre la conversation](/about/community) ! + +nous croyons que l'avenir de l'internet est ouvert, c'est pourquoi cobalt est +[source first](https://sourcefirst.com/) et [facilement +auto-hébergeable]({docs.instanceHosting}). + +si votre ami en héberge un, demandez-lui simplement un domaine et [ajoutez-le +dans les paramètres de l'instance](/settings/instances#community). + +vous pouvez consulter le code source et contribuer [sur +github]({contacts.github}) à tout moment. nous accueillons toutes les +contributions et suggestions ! +
diff --git a/web/i18n/fr/about/privacy.md b/web/i18n/fr/about/privacy.md new file mode 100644 index 00000000..6d4a4b33 --- /dev/null +++ b/web/i18n/fr/about/privacy.md @@ -0,0 +1,126 @@ + + +
+ + +la politique de confidentialité de cobalt est simple : nous ne collectons ni ne +stockons rien à votre sujet. ce que vous faites est uniquement votre affaire, +pas la nôtre ni celle de quelqu'un d'autre. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +les données de tunnel stockées temporairement sont cryptées en utilisant la +norme AES-256. les clés de déchiffrement ne sont incluses que dans le lien +d'accès et ne sont jamais enregistrées/mises en cache/stockées nulle part. seul +l'utilisateur final a accès au lien et aux clés de chiffrement. les clés sont +générées de manière unique pour chaque tunnel demandé. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible n'utilise pas de cookies et est entièrement conforme au RGPD, au CCPA +et au PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare est entièrement conforme au RGPD et à la HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/fr/about/terms.md b/web/i18n/fr/about/terms.md new file mode 100644 index 00000000..59258af7 --- /dev/null +++ b/web/i18n/fr/about/terms.md @@ -0,0 +1,66 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +vous (l'utilisateur final) êtes responsable de ce que vous faites avec nos +outils, de la manière dont vous utilisez et distribuez le contenu résultant. +veuillez être attentif lorsque vous utilisez le contenu des autres et créditez +toujours les créateurs originaux. assurez-vous de ne pas violer les termes ou +les licences. + +lorsqu'il est utilisé à des fins éducatives, citez toujours les sources et +créditez les créateurs originaux. + +l'utilisation équitable et les crédits profitent à tout le monde. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**cet addresse n'est pas utilisable pour recevoir de l'aide technique, vous ne +recevrez donc pas de réponse si votre requête n'est pas liée a un cas d'abus.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/fr/button.json b/web/i18n/fr/button.json new file mode 100644 index 00000000..b5b5831c --- /dev/null +++ b/web/i18n/fr/button.json @@ -0,0 +1,20 @@ +{ + "gotit": "compris", + "save": "sauvegarder", + "cancel": "annuler", + "reset": "réinitialiser", + "done": "terminé", + "download.audio": "télécharger l'audio", + "download": "télécharger", + "share": "partager", + "copy": "copier", + "copy.section": "copier le lien de la section", + "copied": "copié", + "import": "importer", + "continue": "continuer", + "star": "étoiler", + "follow": "suivre", + "export": "exporter", + "yes": "oui", + "no": "non" +} diff --git a/web/i18n/fr/dialog.json b/web/i18n/fr/dialog.json new file mode 100644 index 00000000..12c6b847 --- /dev/null +++ b/web/i18n/fr/dialog.json @@ -0,0 +1,18 @@ +{ + "reset.title": "réinitialiser toutes les données ?", + "picker.title": "sélectionnez ce que vous voulez enregistrer", + "picker.description.desktop": "cliquez sur un élément pour l'enregistrer. les images peuvent également être enregistrées via le menu clic droit.", + "picker.description.phone": "appuyez sur un élément pour l'enregistrer. les images peuvent également être enregistrées avec un appui long.", + "saving.title": "choisissez comment enregistrer", + "saving.blocked": "cobalt a essayé d'ouvrir le fichier dans un nouvel onglet, mais votre navigateur l'a bloqué. vous pouvez autoriser les pop-ups pour cobalt pour éviter que cela ne se reproduise la prochaine fois.", + "picker.description.ios": "appuyez sur un élément pour l'enregistrer avec un raccourci. les images peuvent également être enregistrées avec un appui long.", + "saving.timeout": "cobalt a essayé d'enregistrer le fichier automatiquement, mais votre navigateur l'a arrêté. vous devez sélectionner une méthode préférée manuellement.", + "safety.title": "avis de sécurité important", + "api.override.title": "remplacement de l'instance de traitement", + "processing.ongoing": "cobalt traite actuellement des médias dans cet onglet. partir l'interrompra. êtes-vous sûr de vouloir faire cela ?", + "processing.title.ongoing": "le traitement sera annulé", + "reset.body": "êtes-vous sûr de vouloir réinitialiser tous les données ? cette action est immédiate et irréversible.", + "api.override.body": "{{ value }} est maintenant l'instance de traitement. si vous ne lui faites pas confiance, appuyez sur \"annuler\" et elle sera ignorée.\n\nvous pouvez changer votre choix plus tard dans les paramètres de traitement.", + "safety.custom_instance.body": "les instances personnalisées peuvent potentiellement poser des risques de confidentialité et de sécurité.\n\nles mauvaises instances peuvent:\n1. vous rediriger loin de cobalt et essayer de vous arnaquer.\n2. enregistrer toutes les informations sur vos requêtes, les stocker pour toujours et les utiliser pour vous traquer.\n3. vous servir des fichiers malveillants (tels que des malwares).\n4. vous forcer à regarder des publicités, ou vous faire payer pour le téléchargement.\n\naprès cette action, nous ne pouvons plus vous protéger. veuillez être attentif aux instances à utiliser et toujours faire confiance à votre instinct. si quelque chose ne va pas, revenez sur cette page, réinitialisez l'instance personnalisée et signalez-le nous sur github.", + "import.body": "l'importation de fichiers inconnus ou corrompus peut altérer ou casser de manière inattendue la fonctionnalité de cobalt. n'importe importez que des fichiers que vous avez personnellement exportés et que vous n'avez pas modifiés. si quelqu'un vous a demandé d'importer ce fichier - ne le faites pas.\n\nnous ne sommes pas responsables des dommages causés par l'importation de fichiers de paramètres inconnus." +} diff --git a/web/i18n/fr/donate.json b/web/i18n/fr/donate.json new file mode 100644 index 00000000..12b2b629 --- /dev/null +++ b/web/i18n/fr/donate.json @@ -0,0 +1,30 @@ +{ + "card.option.15": "déjeuner complet", + "banner.title": "Soutenez un Internet\nsûr et ouvert", + "card.option.5": "tasse de café", + "card.option.10": "pizza taille normale", + "body.motivation": "cobalt aide des producteurs, des éducateurs, des vidéastes et bien d'autres à faire ce qu'ils aiment. c'est un type de service différent qui est fait avec amour, pas pour le profit.", + "banner.subtitle": "faites un don à imput ou partagez\nla joie de cobalt avec un ami", + "body.keep_going": "si vous avez trouvé cobalt utile, pensez à soutenir notre travail ! vous pouvez nous aider en faisant un don ou en partageant cobalt avec un ami. chaque don est très apprécié et nous aide à continuer à travailler sur cobalt et d'autres projets.", + "card.once": "don ponctuel", + "card.monthly": "don mensuel", + "card.custom": "montant personnalisé (à partir de 2 $)", + "card.processor": "par {{value}}", + "card.option.30": "déjeuner pour deux", + "card.option.50": "10kg de nourriture pour chat", + "card.option.100": "un an de domaines", + "card.option.200": "friteuse à air", + "card.option.500": "chaise de bureau de luxe", + "card.option.1599": "macbook pro de base", + "card.option.4900": "10 000 pommes", + "card.option.7398": "macbook pro toutes options", + "card.option.8629": "un petit terrain", + "card.option.9433": "bain à remous de luxe", + "card.custom.submit": "faire un don d'un montant personnalisé", + "share.title": "partagez cobalt avec un ami", + "alternative.title": "moyens alternatifs de faire un don", + "alt.copy": "{{ value }}. adresse du portefeuille crypto. appuyez pour copier.", + "alt.open": "{{ value }}. appuyez pour ouvrir.", + "card.recurring": "don récurent", + "body.no_bullshit": "nous pensons qu'internet ne doit pas être effrayant, c'est pourquoi cobalt n'aura jamais de publicités ou d'autres types de contenu malveillant. c'est une promesse que nous tenons fermement. tout ce que nous faisons est conçu dans un souci de confidentialité, d'accessibilité et de facilité d'utilisation, rendant cobalt accessible à tous." +} diff --git a/web/i18n/fr/error.json b/web/i18n/fr/error.json new file mode 100644 index 00000000..c352f7ae --- /dev/null +++ b/web/i18n/fr/error.json @@ -0,0 +1,42 @@ +{ + "import.unknown": "impossible de charger les données du fichier. il peut être corrompu ou dans un mauvais format. voici l'erreur que j'ai obtenue :\n\n{{ value }}", + "remux.out_of_resources": "cobalt a épuisé ses ressources et ne peut pas continuer le traitement sur l'appareil. cela est lié aux limitations de votre navigateur. essayez de rafraîchir ou de rouvrir l'application et réessayez. certains appareils ne peuvent traiter que des petits fichiers.", + "api.service.unsupported": "ce service n'est pas encore pris en charge. avez-vous collé le bon lien ?", + "api.service.disabled": "ce service est pris en charge par cobalt, mais il est désactivé sur cette instance. essayez un lien d'un autre service !", + "api.link.invalid": "votre lien est invalide ou ce service n'est pas encore pris en charge. avez-vous collé le bon lien ?", + "api.fetch.short_link": "impossible d'obtenir les informations du lien court. êtes-vous sûr qu'il fonctionne ? si c'est le cas et que vous obtenez toujours cette erreur, faites-le nous savoir et nous essaierons de vous aider !", + "api.auth.jwt.missing": "impossible de confirmer que vous n'êtes pas un robot car le serveur de traitement n'a pas reçu le jeton d'accès humain. réessayez dans quelques secondes ou rechargez la page !", + "api.auth.turnstile.invalid": "impossible de confirmer que vous n'êtes pas un robot car votre jeton d'accès humain a expiré et n'a pas été renouvelé. réessayez dans quelques secondes ou rechargez la page !", + "api.capacity": "cobalt est à pleine capacité et ne peut pas traiter votre requête pour le moment. réessayez dans quelques secondes. si cela ne fonctionne toujours pas, faites-le nous savoir et nous essaierons de vous aider !", + "api.content.video.region": "cette vidéo est bloquée par région, et le serveur de traitement est dans un emplacement différent. essayez-en une autre !", + "api.youtube.decipher": "youtube a mis à jour son algorithme de déchiffrement et je n'ai pas pu extraire les informations sur la vidéo.\n\nréessayez dans quelques secondes, mais si le problème persiste, contactez-nous pour obtenir de l'aide.", + "api.fetch.fail": "quelque chose s'est mal passé lors de la récupération des informations de {{ service }} et je n'ai rien trouvé pour vous. êtes-vous sûr que votre lien fonctionne ? si c'est le cas et que vous voyez toujours cette erreur, faites-le nous savoir et nous essaierons de vous aider !", + "api.content.video.live": "cette vidéo est actuellement en direct, je ne peux donc pas la télécharger pour le moment. attendez que le direct se termine, puis réessayez !", + "api.content.post.age": "ce post est restreint par âge, je ne peux donc pas y accéder de manière anonyme. avez-vous collé le bon lien ?", + "api.youtube.login": "impossible de récupérer cette vidéo car youtube m'a considéré comme un bot. cela est potentiellement dû au fait que l'instance de traitement n'a pas de jetons de compte actifs. réessayez dans quelques secondes, mais si cela ne fonctionne toujours pas, informez le propriétaire de l'instance de cette erreur !", + "import.no_data": "il n'y a rien à charger à partir du fichier. êtes-vous sûr que c'est le bon ?", + "import.invalid": "votre fichier ne contient pas de paramètres cobalt valides à importer. êtes-vous sûr que c'est le bon ?", + "remux.corrupted": "je n'ai pas pu lire les métadonnées de ce fichier, il peut être corrompu.", + "tunnel.probe": "impossible de vérifier si vous pouvez télécharger ce fichier. réessayez dans quelques secondes !", + "captcha_ongoing": "je vérifie toujours si vous n'êtes pas un robot. attendez que le logo de chargement disparaisse et réessayez.\n\nsi cela prend trop de temps, veuillez nous le faire savoir ! nous utilisons cloudflare turnstile pour la protection contre les bots et il bloque parfois les gens sans raison.", + "api.auth.jwt.invalid": "impossible de confirmer que vous n'êtes pas un robot car votre jeton d'accès humain a expiré et n'a pas été renouvelé. réessayez dans quelques secondes ou rechargez la page !", + "api.auth.turnstile.missing": "impossible de confirmer que vous n'êtes pas un robot car le serveur de traitement n'a pas reçu le jeton d'accès humain. réessayez dans quelques secondes ou rechargez la page !", + "api.unreachable": "impossible de se connecter au serveur de traitement. vérifiez votre connexion internet et réessayez.", + "api.timed_out": "le serveur de traitement a mis beaucoup trop de temps à répondre. il peut être submergé pour le moment, réessayez dans quelques secondes !", + "api.rate_exceeded": "vous faites beaucoup trop de requêtes. réessayez dans {{ limit }} secondes !", + "api.generic": "quelque chose s'est mal passé et je n'ai rien pu obtenir pour vous. réessayez dans quelques secondes, mais si le problème persiste, faites-le nous savoir et nous essaierons de vous aider !", + "api.unknown_response": "impossible d'analyser la réponse du serveur. cela pourrait être dû à une incompatibilité de version. êtes-vous sûr d'utiliser la dernière version de cobalt ?", + "api.link.unsupported": "{{ service }} est pris en charge, mais je n'ai pas pu reconnaître votre lien. l'avez-vous collé correctement ?", + "api.fetch.critical": "le module {{ service }} a renvoyé une erreur que je ne reconnais pas. réessayez dans quelques secondes, mais si le problème persiste, faites-le nous savoir !", + "api.fetch.empty": "je n'ai trouvé aucun média que je pouvais télécharger pour vous. êtes-vous sûr d'avoir collé le bon lien ?", + "api.fetch.rate": "le serveur de traitement de cobalt a été limité par l'api de {{ service }}. réessayez dans quelques secondes !", + "api.content.too_long": "le média que vous avez demandé est trop long. la limite de durée actuelle est de {{ limit }} minutes. essayez quelque chose de plus court à la place !", + "api.content.video.unavailable": "je ne peux pas accéder à cette vidéo. elle peut être restreinte du côté de {{ service }}. avez-vous collé le bon lien ?", + "api.content.video.private": "cette vidéo est privée, je ne peux donc pas y accéder. changez sa visibilité ou essayez-en une autre !", + "api.content.video.age": "cette vidéo est restreinte par âge, je ne peux donc pas y accéder de manière anonyme. essayez-en une autre !", + "api.content.post.unavailable": "impossible de trouver quoi que ce soit sur ce post. sa visibilité peut être limitée ou il peut ne pas exister du tout. assurez-vous que votre lien fonctionne et réessayez dans quelques secondes !", + "api.content.post.private": "ce post provient d'un compte privé, je ne peux donc pas y accéder. avez-vous collé le bon lien ?", + "api.youtube.codec": "youtube n'a rien renvoyé avec votre codec vidéo préféré. essayez un autre paramètre !", + "api.youtube.token_expired": "impossible de récupérer cette vidéo car le jeton youtube a expiré et je n'ai pas pu le rafraîchir. réessayez dans quelques secondes, mais si cela ne fonctionne toujours pas, informez le propriétaire de l'instance de cette erreur !", + "api.youtube.no_hls_streams": "aucun flux HLS correspondant n'a été trouvé. essayez différents paramètres !" +} diff --git a/web/i18n/fr/error/api.json b/web/i18n/fr/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fr/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fr/error/queue.json b/web/i18n/fr/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fr/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fr/general.json b/web/i18n/fr/general.json new file mode 100644 index 00000000..eae2d448 --- /dev/null +++ b/web/i18n/fr/general.json @@ -0,0 +1,6 @@ +{ + "embed.description": "sauvegardez ce que vous aimez sans publicité, suivi, paiements ou autres absurdités. cobalt est une application web vraiment ouverte, construite avec amour et soin par imput.", + "cobalt": "cobalt", + "meowbalt": "miaoubalt", + "beta": "bêta" +} diff --git a/web/i18n/fr/notification.json b/web/i18n/fr/notification.json new file mode 100644 index 00000000..ab61f237 --- /dev/null +++ b/web/i18n/fr/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "une mise à jour est disponible !", + "update.subtext": "appuyez pour recharger" +} diff --git a/web/i18n/fr/queue.json b/web/i18n/fr/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/fr/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/fr/receiver.json b/web/i18n/fr/receiver.json new file mode 100644 index 00000000..3a6f4362 --- /dev/null +++ b/web/i18n/fr/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "glissez ou sélectionnez un fichier", + "title.drop": "déposez le fichier ici !", + "accept": "formats pris en charge : {{ formats }}." +} diff --git a/web/i18n/fr/remux.json b/web/i18n/fr/remux.json new file mode 100644 index 00000000..91afa311 --- /dev/null +++ b/web/i18n/fr/remux.json @@ -0,0 +1,3 @@ +{ + "description": "le remuxage corrige souvent les problèmes de compatibilité avec les anciens logiciels. c'est rapide, sans perte et tout est traité sur l'appareil." +} diff --git a/web/i18n/fr/save.json b/web/i18n/fr/save.json new file mode 100644 index 00000000..bf8d4280 --- /dev/null +++ b/web/i18n/fr/save.json @@ -0,0 +1,22 @@ +{ + "paste": "coller", + "paste.long": "coller et télécharger", + "auto": "auto", + "audio": "audio", + "mute": "muet", + "input.placeholder": "colle le lien ici", + "terms.note.link": "les conditions et l'éthique d'utilisation", + "terms.note.agreement": "en continuant, tu acceptes", + "services.title_show": "afficher les services pris en charge", + "services.title_hide": "masquer les services pris en charge", + "tutorial.title": "comment enregistrer sur ios ?", + "tutorial.intro": "pour enregistrer des médias de manière pratique sur ios, vous devrez utiliser un raccourci siri compagnon dans le menu de partage.", + "tutorial.step.1": "ajoutez les raccourcis siri compagnons :", + "tutorial.step.2": "appuyez sur le bouton \"partager\" dans la boîte de dialogue d'enregistrement de cobalt.", + "tutorial.step.3": "sélectionnez le raccourci respectif dans le menu de partage.", + "tutorial.shortcut.photos": "vers les photos", + "tutorial.shortcut.files": "aux fichiers", + "services.title": "services pris en charge", + "tutorial.outro": "ces raccourcis ne fonctionneront que depuis l'application cobalt, le partage de liens depuis d'autres applications ne fonctionnera pas.", + "services.disclaimer": "cobalt n'est affilié à aucun des services listés ci-dessus." +} diff --git a/web/i18n/fr/settings.json b/web/i18n/fr/settings.json new file mode 100644 index 00000000..db7584e0 --- /dev/null +++ b/web/i18n/fr/settings.json @@ -0,0 +1,101 @@ +{ + "language.preferred.description": "cette langue sera utilisée lorsque la sélection automatique est désactivée. tout texte qui n'est pas traduit sera affiché en anglais.\n\ncertaines langues utilisent des traductions communautaires, elles peuvent être inexactes ou incomplètes.", + "theme": "thème", + "theme.auto": "auto", + "theme.description": "le thème automatique bascule entre les thèmes clair et sombre en fonction du mode d'affichage de votre appareil.", + "video.quality.description": "si la qualité vidéo préférée n'est pas disponible, la meilleure suivante est choisie à la place.", + "video.youtube.codec.description": "h264 : meilleure compatibilité, qualité moyenne. la qualité maximale est de 1080p. \nav1 : meilleure qualité et efficacité. prend en charge 8k & HDR. \nvp9 : même qualité qu'av1, mais le fichier est ~2x plus gros. prend en charge 4k & HDR.\n\nav1 et vp9 ne sont pas aussi largement pris en charge que h264. si av1 ou vp9 ne sont pas disponibles, h264 sera utilisé à la place.", + "audio.bitrate.description": "le débit binaire est appliqué uniquement lors de la conversion audio vers un format avec perte. cobalt ne peut pas améliorer la qualité audio source, donc choisir un débit binaire supérieur à 128kbps peut gonfler la taille du fichier sans différence audible. la qualité perçue peut varier en fonction du format.", + "language.auto.description": "cobalt utilisera la langue par défaut de votre navigateur si une traduction est disponible. sinon, l'anglais sera utilisé à la place.", + "metadata.filename.description": "le style de nom de fichier ne sera utilisé que pour les fichiers tunnelisés par cobalt. certains services ne prennent pas en charge les styles de nom de fichier autres que classique.", + "saving.description": "le moyen préféré d'enregistrer le fichier ou le lien à partir de cobalt. si la méthode préférée n'est pas disponible ou si quelque chose ne va pas, cobalt vous demandera ce qu'il faut faire ensuite.", + "privacy.analytics.description": "l'analyse de trafic anonyme est nécessaire pour obtenir un nombre approximatif d'utilisateurs actifs de cobalt. aucune information vous concernant n'est jamais stockée. toutes les données traitées sont anonymisées et agrégées.\n\nnous utilisons une instance plausible auto-hébergée qui n'utilise pas de cookies et est entièrement conforme au RGPD, au CCPA et au PECR.", + "processing.enable_custom.description": "cobalt utilisera un serveur de traitement personnalisé si vous le souhaitez. même si cobalt dispose de certaines mesures de sécurité, nous ne sommes pas responsables des dommages causés par une instance communautaire, car nous n'avons aucun contrôle sur celles-ci.\n\nveuillez être attentif aux instances que vous utilisez et assurez-vous qu'elles sont hébergées par des personnes en qui vous avez confiance.", + "page.appearance": "apparence", + "page.privacy": "confidentialité", + "page.video": "vidéo", + "page.audio": "audio", + "page.download": "téléchargement", + "page.advanced": "avancé", + "page.debug": "informations de débogage", + "page.instances": "instances", + "section.general": "général", + "section.save": "enregistrer", + "theme.light": "clair", + "theme.dark": "sombre", + "video.quality": "qualité vidéo", + "video.quality.max": "8k+", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.youtube.codec": "codec et conteneur youtube", + "video.twitter.gif": "twitter/x", + "video.twitter.gif.title": "convertir les vidéos en boucle en GIF", + "video.twitter.gif.description": "la conversion en GIF est inefficace, le fichier converti peut être énorme et de basse qualité.", + "video.tiktok.h265": "tiktok", + "video.tiktok.h265.title": "préférer le format HEVC/H265", + "video.tiktok.h265.description": "permet de télécharger des vidéos en 1080p au détriment de la compatibilité.", + "audio.format": "format audio", + "audio.format.best": "meilleur", + "audio.format.mp3": "mp3", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "audio.format.description": "tous les formats sauf \"meilleur\" sont convertis depuis le format d'origine, il y aura une perte de qualité. lorsque le format \"meilleur\" est sélectionné, l'audio est conservé dans son format d'origine dans la mesure du possible.", + "audio.bitrate": "débit binaire audio", + "audio.bitrate.kbps": "kb/s", + "audio.youtube.dub": "piste audio youtube", + "audio.youtube.dub.title": "langue de doublage préférée", + "audio.youtube.dub.description": "cobalt utilisera une piste audio doublée pour la langue sélectionnée si elle est disponible. sinon, l'originale sera utilisée à la place.", + "audio.tiktok.original": "tiktok", + "audio.tiktok.original.title": "télécharger le son original", + "audio.tiktok.original.description": "cobalt téléchargera le son de la vidéo sans aucune modification de l'auteur du post.", + "metadata.filename": "style de nom de fichier", + "metadata.filename.classic": "classique", + "metadata.filename.basic": "basique", + "metadata.filename.pretty": "joli", + "metadata.filename.nerdy": "intello", + "metadata.filename.preview.video": "Titre de la vidéo", + "metadata.filename.preview.audio": "Titre de l'audio - Auteur de l'audio", + "metadata.file": "métadonnées de fichier", + "metadata.disable.title": "désactiver les métadonnées de fichier", + "metadata.disable.description": "le titre, l'artiste et d'autres informations ne seront pas ajoutés au fichier.", + "saving.title": "méthode d'enregistrement", + "saving.ask": "demander", + "saving.download": "télécharger", + "saving.share": "partager", + "saving.copy": "copier", + "accessibility": "accessibilité", + "accessibility.transparency.title": "réduire la transparence visuelle", + "accessibility.transparency.description": "réduit la transparence des surfaces et désactive les effets de flou. peut également améliorer les performances de l'interface utilisateur sur les appareils peu puissants.", + "accessibility.motion.title": "réduire le mouvement", + "accessibility.motion.description": "désactive les animations et les transitions chaque fois que possible.", + "language": "langue", + "language.auto.title": "sélection automatique", + "language.preferred.title": "langue préférée", + "privacy.analytics": "analyse de trafic anonyme", + "privacy.analytics.title": "ne pas contribuer à l'analyse", + "privacy.analytics.learnmore": "en savoir plus sur l'engagement de plausible en matière de confidentialité.", + "privacy.tunnel": "tunnelisation", + "privacy.tunnel.title": "toujours tunneliser les fichiers", + "privacy.tunnel.description": "cobalt masquera votre adresse IP, les informations de votre navigateur et contournera les restrictions du réseau local. lorsqu'il est activé, les fichiers auront également des noms de fichiers lisibles qui seraient autrement du charabia.", + "advanced.debug": "débogage", + "advanced.debug.title": "activer les fonctionnalités de débogage", + "advanced.debug.description": "vous donne accès à une page avec diverses informations qui peuvent être utiles pour le débogage.", + "advanced.data": "gestion des données", + "processing.override": "remplacement de l'instance par défaut", + "processing.override.title": "utiliser le serveur de traitement fourni par l'instance", + "processing.override.description": "si l'instance web fournit son propre serveur de traitement par défaut, vous pouvez choisir de l'utiliser à la place du serveur de traitement principal. assurez-vous qu'il s'agit d'un serveur de quelqu'un en qui vous avez confiance.", + "processing.community": "instances communautaires", + "processing.enable_custom.title": "utiliser un serveur de traitement personnalisé", + "processing.custom.placeholder": "domaine d'instance personnalisé", + "video.youtube.hls.description": "les fichiers se téléchargent plus rapidement et sont moins sujets aux erreurs ou aux coupures brutales. seuls les codecs h264 et vp9 sont disponibles dans ce mode. le codec audio d'origine est aac, il est réencodé pour des raisons de compatibilité, la qualité audio peut être légèrement inférieure à celle de sa version non HLS.\n\ncette option est expérimentale, elle peut disparaître ou changer à l'avenir.", + "video.youtube.hls": "format hls youtube", + "video.youtube.hls.title": "préférer le hls pour la vidéo et l'audio", + "youtube.dub.original": "originale" +} diff --git a/web/i18n/fr/tabs.json b/web/i18n/fr/tabs.json new file mode 100644 index 00000000..211f3c37 --- /dev/null +++ b/web/i18n/fr/tabs.json @@ -0,0 +1,8 @@ +{ + "save": "sauvegarder", + "settings": "paramètres", + "updates": "mises à jour", + "donate": "don", + "about": "à propos", + "remux": "remux" +} diff --git a/web/i18n/fr/updates.json b/web/i18n/fr/updates.json new file mode 100644 index 00000000..41a1b909 --- /dev/null +++ b/web/i18n/fr/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "aller au journal des modifications plus ancien ({{ value }})", + "button.previous": "aller au journal des modifications plus récent ({{ value }})" +} diff --git a/web/i18n/ga/a11y/dialog.json b/web/i18n/ga/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/a11y/donate.json b/web/i18n/ga/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/a11y/general.json b/web/i18n/ga/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/a11y/queue.json b/web/i18n/ga/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/a11y/save.json b/web/i18n/ga/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/a11y/tabs.json b/web/i18n/ga/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/about.json b/web/i18n/ga/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/about/credits.md b/web/i18n/ga/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ga/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ga/about/general.md b/web/i18n/ga/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/ga/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ga/about/privacy.md b/web/i18n/ga/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/ga/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ga/about/terms.md b/web/i18n/ga/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ga/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ga/button.json b/web/i18n/ga/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/dialog.json b/web/i18n/ga/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/donate.json b/web/i18n/ga/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/error.json b/web/i18n/ga/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/error/api.json b/web/i18n/ga/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/error/queue.json b/web/i18n/ga/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/general.json b/web/i18n/ga/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/notification.json b/web/i18n/ga/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/queue.json b/web/i18n/ga/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/receiver.json b/web/i18n/ga/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/remux.json b/web/i18n/ga/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/save.json b/web/i18n/ga/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/settings.json b/web/i18n/ga/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/tabs.json b/web/i18n/ga/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ga/updates.json b/web/i18n/ga/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ga/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/a11y/dialog.json b/web/i18n/gl/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/a11y/donate.json b/web/i18n/gl/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/a11y/general.json b/web/i18n/gl/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/a11y/queue.json b/web/i18n/gl/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/a11y/save.json b/web/i18n/gl/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/a11y/tabs.json b/web/i18n/gl/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/about.json b/web/i18n/gl/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/about/credits.md b/web/i18n/gl/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/gl/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/gl/about/general.md b/web/i18n/gl/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/gl/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/gl/about/privacy.md b/web/i18n/gl/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/gl/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/gl/about/terms.md b/web/i18n/gl/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/gl/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/gl/button.json b/web/i18n/gl/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/dialog.json b/web/i18n/gl/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/donate.json b/web/i18n/gl/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/error.json b/web/i18n/gl/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/error/api.json b/web/i18n/gl/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/error/queue.json b/web/i18n/gl/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/general.json b/web/i18n/gl/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/notification.json b/web/i18n/gl/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/queue.json b/web/i18n/gl/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/receiver.json b/web/i18n/gl/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/remux.json b/web/i18n/gl/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/save.json b/web/i18n/gl/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/settings.json b/web/i18n/gl/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/tabs.json b/web/i18n/gl/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/gl/updates.json b/web/i18n/gl/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/gl/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/a11y/dialog.json b/web/i18n/he/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/a11y/donate.json b/web/i18n/he/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/a11y/general.json b/web/i18n/he/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/a11y/queue.json b/web/i18n/he/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/a11y/save.json b/web/i18n/he/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/a11y/tabs.json b/web/i18n/he/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/about.json b/web/i18n/he/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/about/credits.md b/web/i18n/he/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/he/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/he/about/general.md b/web/i18n/he/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/he/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/he/about/privacy.md b/web/i18n/he/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/he/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/he/about/terms.md b/web/i18n/he/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/he/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/he/button.json b/web/i18n/he/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/dialog.json b/web/i18n/he/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/donate.json b/web/i18n/he/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/error.json b/web/i18n/he/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/error/api.json b/web/i18n/he/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/error/queue.json b/web/i18n/he/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/general.json b/web/i18n/he/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/notification.json b/web/i18n/he/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/queue.json b/web/i18n/he/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/receiver.json b/web/i18n/he/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/remux.json b/web/i18n/he/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/save.json b/web/i18n/he/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/settings.json b/web/i18n/he/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/tabs.json b/web/i18n/he/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/he/updates.json b/web/i18n/he/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/he/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/a11y/dialog.json b/web/i18n/hr/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/a11y/donate.json b/web/i18n/hr/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/a11y/general.json b/web/i18n/hr/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/a11y/queue.json b/web/i18n/hr/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/a11y/save.json b/web/i18n/hr/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/a11y/tabs.json b/web/i18n/hr/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/about.json b/web/i18n/hr/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/about/credits.md b/web/i18n/hr/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/hr/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/hr/about/general.md b/web/i18n/hr/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/hr/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/hr/about/privacy.md b/web/i18n/hr/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/hr/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/hr/about/terms.md b/web/i18n/hr/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/hr/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/hr/button.json b/web/i18n/hr/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/dialog.json b/web/i18n/hr/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/donate.json b/web/i18n/hr/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/error.json b/web/i18n/hr/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/error/api.json b/web/i18n/hr/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/error/queue.json b/web/i18n/hr/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/general.json b/web/i18n/hr/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/notification.json b/web/i18n/hr/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/queue.json b/web/i18n/hr/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/receiver.json b/web/i18n/hr/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/remux.json b/web/i18n/hr/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/save.json b/web/i18n/hr/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/settings.json b/web/i18n/hr/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/tabs.json b/web/i18n/hr/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hr/updates.json b/web/i18n/hr/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hr/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/a11y/dialog.json b/web/i18n/hu/a11y/dialog.json new file mode 100644 index 00000000..bd7326ca --- /dev/null +++ b/web/i18n/hu/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "fotó indexkép", + "picker.item.gif": "gif indexkép", + "picker.item.video": "videó indexkép" +} diff --git a/web/i18n/hu/a11y/donate.json b/web/i18n/hu/a11y/donate.json new file mode 100644 index 00000000..fea34a66 --- /dev/null +++ b/web/i18n/hu/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr kód. kattints a lenyitáshoz.", + "share.qr.collapse": "lenyitott qr kód. kattints a visszazáráshoz." +} diff --git a/web/i18n/hu/a11y/general.json b/web/i18n/hu/a11y/general.json new file mode 100644 index 00000000..c30a243f --- /dev/null +++ b/web/i18n/hu/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "menj vissza" +} diff --git a/web/i18n/hu/a11y/queue.json b/web/i18n/hu/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/a11y/save.json b/web/i18n/hu/a11y/save.json new file mode 100644 index 00000000..dcd81151 --- /dev/null +++ b/web/i18n/hu/a11y/save.json @@ -0,0 +1,12 @@ +{ + "link_area": "link beviteli részleg", + "link_area.turnstile": "link beviteli részleg. éppen nézzük, hogy nem vagy-e robot.", + "download": "letöltés", + "download.check": "letöltése ellenőrzése...", + "download.error": "letöltési hiba", + "tutorial.shortcut.photos": "fotó hozzáadási parancs", + "clear_input": "bevitel törlése", + "download.done": "letöltés kész", + "download.think": "link feldolgozása...", + "tutorial.shortcut.files": "fájl hozzáadási parancs" +} diff --git a/web/i18n/hu/a11y/tabs.json b/web/i18n/hu/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/about.json b/web/i18n/hu/about.json new file mode 100644 index 00000000..39e857bc --- /dev/null +++ b/web/i18n/hu/about.json @@ -0,0 +1,28 @@ +{ + "page.general": "mi az a cobalt?", + "page.community": "közösségünk és segítéskérés", + "page.privacy": "adatvédelmi szabályzat", + "page.terms": "feltételek és etika", + "page.credits": "köszönet és licencek", + "heading.general": "általános feltételek", + "heading.licenses": "licencek", + "page.faq": "GYIK", + "heading.summary": "a legjobb mód arra, hogy elmentsd amit szeretsz", + "support.description.help": "használd a discordot bármilyen egyéb kérdésre. fogalmazd meg a problémát jól a #cobalt-support csatornában, ellenben senki nem fog tudni segíteni.", + "heading.privacy": "vezető adatvédelem", + "heading.community": "nyílt közösség", + "heading.local": "eszközön lévő feldolgozás", + "heading.saving": "mentés", + "heading.encryption": "titkosítás", + "heading.cloudflare": "web adatvédelem és biztonság", + "heading.responsibility": "felhasználói felelősségek", + "heading.motivation": "motiváció", + "heading.testers": "béta teszterek", + "support.github": "nézd meg a cobaltnak a forráskódját, járulj hozzá változtatásokkal, vagy jelents be hibákat", + "support.discord": "beszélgess a közösséggel és a fejlesztőkkel a cobaltról, vagy kérjél segítséget", + "support.twitter": "kövesd a cobalt frissítéseit és fejlesztését a twitter idővonaladon", + "support.telegram": "maradj naprakész a legújabb cobalt frissítésekkel telegram channelünkben", + "support.description.issue": "ha szeretnél bejelenteni egy bugot, vagy bármi újra előjövő problémát, kérlek ezt githubon tedd.", + "heading.plausible": "anonim forgalmi statisztika", + "support.description.best-effort": "bármilyen segítség amit kapsz a legjobb próbálkozása valakinek és nem garantált, bármiféle válasz lehet hogy időbe fog kerülni." +} diff --git a/web/i18n/hu/about/credits.md b/web/i18n/hu/about/credits.md new file mode 100644 index 00000000..7b420d96 --- /dev/null +++ b/web/i18n/hu/about/credits.md @@ -0,0 +1,90 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +minden link külső és az emberek személyes weboldalára vezet, vagy a social +mediájára. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/hu/about/general.md b/web/i18n/hu/about/general.md new file mode 100644 index 00000000..0d934720 --- /dev/null +++ b/web/i18n/hu/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt segít neked lementeni bármit a kedvenc weboldalaidról: videót, hangot, +fotót, vagy gifeket. csak másold be a link és készen is vagy! + +semmi hírdetés, tracker, előfizetési korlátozás, vagy bármilyen hülyeség. csak +egy hasznos web app ami bárhol működik, bárhol akarnád használni. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/hu/about/privacy.md b/web/i18n/hu/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/hu/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/hu/about/terms.md b/web/i18n/hu/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/hu/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/hu/button.json b/web/i18n/hu/button.json new file mode 100644 index 00000000..ebd9cbfc --- /dev/null +++ b/web/i18n/hu/button.json @@ -0,0 +1,3 @@ +{ + "download": "letöltés" +} diff --git a/web/i18n/hu/dialog.json b/web/i18n/hu/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/donate.json b/web/i18n/hu/donate.json new file mode 100644 index 00000000..c20f84cd --- /dev/null +++ b/web/i18n/hu/donate.json @@ -0,0 +1,29 @@ +{ + "banner.title": "Támogass egy biztonságos\nés nyitott internetet", + "banner.subtitle": "támogass az imputnak vagy oszd\nmeg a cobalt örömét egy barátoddal", + "body.motivation": "a cobalt segít rendezőknek, oktatóknak, videósoknak, és sok más embernek azt csinálni amit szeretnek. ez egy másféle program amely szeretettel készült, nem haszonért.", + "body.no_bullshit": "abban hiszünk, hogy az internetnek nem kell ijesztőnek lennie, amiért a cobaltban sosem lesznek reklámok vagy másféle rosszindulatú tartalom. ez egy ígéret amely mellett határozottan kiállunk. minden amelyet csinálunk az adatvédelem, hozzáférhetőség, és kezelhetőség ügyében készül, a cobaltot mindenki számára elérhetővé téve.", + "body.keep_going": "hogyha a cobaltot hasznosnak találod, kérjük fontold meg támogatni a munkánkat! segíthetsz nekünk pénzadománnyal, vagy megoszthatod a cobaltot egy barátoddal. minden adományt nagyra értékelünk és segít nekünk dolgozni a cobalton és más projekteken.", + "card.once": "egyszeres támogatás", + "card.recurring": "ismétlődő támogatás", + "card.custom": "egyéni összeg ($2-tól)", + "card.processor": "a {{value}}-n keresztül", + "card.option.5": "egy pohár kávé", + "card.option.10": "egész pizza", + "card.option.15": "teljes ebéd", + "card.option.30": "kétszemélyes ebéd", + "card.option.100": "egy évnyi domainek", + "card.option.200": "légsütő", + "card.option.500": "divatos irodai szék", + "card.option.1599": "alap macbook pro", + "card.option.4900": "10,000 alma", + "card.option.8629": "egy kisebb telek", + "card.option.9433": "luxus jakuzzi", + "card.custom.submit": "támogass egyéni összeggel", + "share.title": "oszd meg a cobaltot egy barátoddal", + "alternative.title": "alternatív támogatási módok", + "alt.open": "{{ value }}. katt a megnyitáshoz.", + "alt.copy": "{{ value }}. kriptovaluta tárca cím. katt a másoláshoz.", + "card.option.50": "10kg macskaeledel", + "card.option.7398": "kimaxolt macbook pro" +} diff --git a/web/i18n/hu/error.json b/web/i18n/hu/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/error/api.json b/web/i18n/hu/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/error/queue.json b/web/i18n/hu/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/general.json b/web/i18n/hu/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/notification.json b/web/i18n/hu/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/queue.json b/web/i18n/hu/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/receiver.json b/web/i18n/hu/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/remux.json b/web/i18n/hu/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/save.json b/web/i18n/hu/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/settings.json b/web/i18n/hu/settings.json new file mode 100644 index 00000000..81e439b5 --- /dev/null +++ b/web/i18n/hu/settings.json @@ -0,0 +1,17 @@ +{ + "page.appearance": "kinézet", + "page.privacy": "adatvédelem", + "page.video": "videó", + "page.audio": "audió", + "page.download": "letöltés", + "page.advanced": "haladó", + "page.debug": "hibaelhárítási információ", + "page.instances": "szerverek", + "section.general": "általános", + "theme": "téma", + "theme.auto": "automatikus", + "theme.light": "világos", + "theme.dark": "sötét", + "theme.description": "az automatikus téma világos és sötét mód között választ a készüléked beállítása szerint.", + "section.save": "mentés" +} diff --git a/web/i18n/hu/tabs.json b/web/i18n/hu/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/hu/updates.json b/web/i18n/hu/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/hu/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/a11y/dialog.json b/web/i18n/id/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/a11y/donate.json b/web/i18n/id/a11y/donate.json new file mode 100644 index 00000000..9d7567c0 --- /dev/null +++ b/web/i18n/id/a11y/donate.json @@ -0,0 +1,3 @@ +{ + "share.qr.expand": "kode qr. tekan untuk memperluas." +} diff --git a/web/i18n/id/a11y/general.json b/web/i18n/id/a11y/general.json new file mode 100644 index 00000000..17297d73 --- /dev/null +++ b/web/i18n/id/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "kembali" +} diff --git a/web/i18n/id/a11y/queue.json b/web/i18n/id/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/a11y/save.json b/web/i18n/id/a11y/save.json new file mode 100644 index 00000000..5f79af5b --- /dev/null +++ b/web/i18n/id/a11y/save.json @@ -0,0 +1,3 @@ +{ + "link_area": "area input tautan" +} diff --git a/web/i18n/id/a11y/tabs.json b/web/i18n/id/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/about.json b/web/i18n/id/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/about/credits.md b/web/i18n/id/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/id/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/id/about/general.md b/web/i18n/id/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/id/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/id/about/privacy.md b/web/i18n/id/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/id/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/id/about/terms.md b/web/i18n/id/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/id/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/id/button.json b/web/i18n/id/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/dialog.json b/web/i18n/id/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/donate.json b/web/i18n/id/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/error.json b/web/i18n/id/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/error/api.json b/web/i18n/id/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/error/queue.json b/web/i18n/id/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/general.json b/web/i18n/id/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/notification.json b/web/i18n/id/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/queue.json b/web/i18n/id/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/receiver.json b/web/i18n/id/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/remux.json b/web/i18n/id/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/save.json b/web/i18n/id/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/settings.json b/web/i18n/id/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/tabs.json b/web/i18n/id/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/id/updates.json b/web/i18n/id/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/id/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/it/a11y/dialog.json b/web/i18n/it/a11y/dialog.json new file mode 100644 index 00000000..82682391 --- /dev/null +++ b/web/i18n/it/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.video": "copertina video", + "picker.item.gif": "copertina gif", + "picker.item.photo": "copertina foto" +} diff --git a/web/i18n/it/a11y/donate.json b/web/i18n/it/a11y/donate.json new file mode 100644 index 00000000..b209aa23 --- /dev/null +++ b/web/i18n/it/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.collapse": "qr code ingrandito. premi per rimpicciolire.", + "share.qr.expand": "qr code. premi per ingrandire." +} diff --git a/web/i18n/it/a11y/general.json b/web/i18n/it/a11y/general.json new file mode 100644 index 00000000..d55d01cf --- /dev/null +++ b/web/i18n/it/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "indietro" +} diff --git a/web/i18n/it/a11y/queue.json b/web/i18n/it/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/it/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/it/a11y/save.json b/web/i18n/it/a11y/save.json new file mode 100644 index 00000000..59258f0f --- /dev/null +++ b/web/i18n/it/a11y/save.json @@ -0,0 +1,12 @@ +{ + "clear_input": "elimina input", + "download": "scarica", + "link_area": "area di input del link", + "link_area.turnstile": "area di input del link. sto controllando se sei un robot.", + "download.think": "processo il link...", + "download.check": "verifico download...", + "download.done": "download completato", + "download.error": "errore nel download", + "tutorial.shortcut.photos": "scorciatoia per aggiungere foto", + "tutorial.shortcut.files": "scorciatoia per aggiungere file" +} diff --git a/web/i18n/it/a11y/tabs.json b/web/i18n/it/a11y/tabs.json new file mode 100644 index 00000000..ff688057 --- /dev/null +++ b/web/i18n/it/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "pannello delle schede" +} diff --git a/web/i18n/it/about.json b/web/i18n/it/about.json new file mode 100644 index 00000000..915065e3 --- /dev/null +++ b/web/i18n/it/about.json @@ -0,0 +1,30 @@ +{ + "page.general": "cos'è cobalt?", + "page.faq": "FAQ", + "page.community": "community & supporto", + "page.privacy": "policy sulla privacy", + "page.terms": "termini e etica", + "heading.general": "termini generali", + "heading.licenses": "licenze", + "heading.summary": "il modo migliore di salvare ciò che ami", + "heading.privacy": "privacy migliore nel campo", + "heading.community": "community aperta", + "heading.saving": "salvataggio", + "heading.encryption": "criptazione", + "heading.plausible": "analitiche anonime sul traffico", + "heading.cloudflare": "privacy e sicurezza sul web", + "heading.responsibility": "responsabilità dell'utente", + "heading.abuse": "segnalazione di abusi", + "heading.motivation": "motivazione", + "support.discord": "chatta di cobalt con la community e gli sviluppatori o chiedi aiuto", + "page.credits": "ringraziamenti e licenze", + "heading.local": "processazione sul tuo dispositivo", + "heading.testers": "beta tester", + "support.github": "dai un'occhiata al codice sorgente di cobalt, contribuisci cambiamenti, o segnala problemi", + "support.twitter": "segui lo sviluppo e gli aggiornamenti di cobalt sulla tua timeline di twitter", + "support.telegram": "rimani aggiornato sugli aggiornamenti di cobalt tramite un canale telegram", + "support.bluesky": "segui lo sviluppo e gli aggiornamenti di cobalt sul tuo feed di bluesky", + "support.description.issue": "se vuoi segnalare un bug o un altro problema ricorrente, per favore fallo su github.", + "support.description.help": "usa discord per qualsiasi altra domanda. descrivi il problema correttamente su #cobalt-support oppure nessuno potrà aiutarti.", + "support.description.best-effort": "tutto il supporto è basato sul nostro miglior impegno e non è garantito, una risposta potrebbe richiedere tempo." +} diff --git a/web/i18n/it/about/credits.md b/web/i18n/it/about/credits.md new file mode 100644 index 00000000..ae6153f3 --- /dev/null +++ b/web/i18n/it/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +tutti i link sono esterni e portano ai loro siti personali o social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/it/about/general.md b/web/i18n/it/about/general.md new file mode 100644 index 00000000..442bbcfe --- /dev/null +++ b/web/i18n/it/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt ti aiuta a salvare tutto quello che vuoi dai tuoi siti preferiti: video, +audio, foto o gif. incolla il link e sei pronto! + +nessuna pubblicità, tracker, pagamenti, o altre sciocchezze. semplicemente una +web app conveniente che funziona ovunque, quando ti serve. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/it/about/privacy.md b/web/i18n/it/about/privacy.md new file mode 100644 index 00000000..baad1f9b --- /dev/null +++ b/web/i18n/it/about/privacy.md @@ -0,0 +1,124 @@ + + +
+ + +la privacy policy di cobalt è semplice: non raccogliamo nè conserviamo nessun +dato su di te. quello che fai sono solo affari tuoi, non nostri o di +nessun'altro. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/it/about/terms.md b/web/i18n/it/about/terms.md new file mode 100644 index 00000000..9df4f2f1 --- /dev/null +++ b/web/i18n/it/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +tu (l'utente finale) sei responsabile per quello che fai con i nostri strumenti, +come usi e distribuisci i contenuti risultanti. sii consapevole quando usi i +contenuti di altri e dai sempre i crediti ai creator originali. assicurati di +non violare nessun termine o licenza. + +quando usati per scopi educativi, cita sempre le fonti originali e dai i crediti +ai creator originali. + +i crediti e il fair use beneficiano tutti. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**questa email non è per il supporto agli utenti, non riceverai alcuna risposta +se il tuo problema non è correlato a un abuso** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/it/button.json b/web/i18n/it/button.json new file mode 100644 index 00000000..5f3a5a19 --- /dev/null +++ b/web/i18n/it/button.json @@ -0,0 +1,6 @@ +{ + "gotit": "ok", + "cancel": "annulla", + "save": "salva", + "download": "scarica" +} diff --git a/web/i18n/it/dialog.json b/web/i18n/it/dialog.json new file mode 100644 index 00000000..87eb5d3f --- /dev/null +++ b/web/i18n/it/dialog.json @@ -0,0 +1,13 @@ +{ + "reset.title": "resetto tutto?", + "reset.body": "siete sicuri di voler resettare tutti i dati? quest'azione è immediata e irreversibile.", + "picker.title": "scegli cosa salvare", + "picker.description.desktop": "clicca su un elemento per salvarlo. le immagini possono anche essere salvate tramite il menu del tasto destro.", + "import.body": "l'importazione di file sconosciuti o corrotti potrebbe alterare o rompere il funzionamento di cobalt. importate solo file che avete voi stessi esportato senza alcuna modifica. se vi è stato chiesto di importare questo file da qualcuno - non fatelo.\n\nnon siamo responsabili di alcun danno causato dall'importazione di file di configurazione sconosciuti.", + "picker.description.phone": "premi su un elemento per salvarlo. le immagini possono essere salvate tenendo premuto.", + "picker.description.ios": "premi su un elemento per salvarlo con una scorciatoia. le immagini possono anche essere salvate tenendo premuto.", + "saving.title": "scegli come salvare", + "saving.blocked": "cobalt ha provato ad aprire il file in una nuova tab ma il tuo browser l'ha bloccato. puoi autorizzare cobalt ad usare i popup per evitare che questo riaccada la prossima volta.", + "saving.timeout": "cobalt ha provato a salvare il file in automatico ma il tuo browser l'ha fermato. devi selezionare un metodo preferito manualmente.", + "safety.title": "importante avviso di sicurezza" +} diff --git a/web/i18n/it/donate.json b/web/i18n/it/donate.json new file mode 100644 index 00000000..450b73ee --- /dev/null +++ b/web/i18n/it/donate.json @@ -0,0 +1,4 @@ +{ + "banner.subtitle": "dona a imput o condividi\nla gioia di cobalt con un amico", + "banner.title": "Supporta un Internet\naperto e sicuro" +} diff --git a/web/i18n/it/error.json b/web/i18n/it/error.json new file mode 100644 index 00000000..1f0278b8 --- /dev/null +++ b/web/i18n/it/error.json @@ -0,0 +1,6 @@ +{ + "import.no_data": "non c'è niente da caricare nel file. sei sicuro di aver selezionato quello giusto?", + "import.invalid": "il tuo file non ha impostazioni di cobalt valide da importare. sei sicuro di aver selezionato quello giusto?", + "remux.corrupted": "non sono riuscito a leggere i metadati da questo file, potrebbe essere corrotto.", + "import.unknown": "non sono riuscito a caricare i dati dal file. potrebbe essere corrotto o essere in un formato sbagliato. ecco l'errore che ho ottenuto:\n\n{{ value }}" +} diff --git a/web/i18n/it/error/api.json b/web/i18n/it/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/it/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/it/error/queue.json b/web/i18n/it/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/it/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/it/general.json b/web/i18n/it/general.json new file mode 100644 index 00000000..03675272 --- /dev/null +++ b/web/i18n/it/general.json @@ -0,0 +1,6 @@ +{ + "meowbalt": "miaobalt", + "beta": "beta", + "embed.description": "salva quello che ami senza pubblicità, tracking, pagamenti, o altre sciocchezze. cobalt è una web app veramente aperta, creata con amore e cura da imput.", + "cobalt": "cobalt" +} diff --git a/web/i18n/it/notification.json b/web/i18n/it/notification.json new file mode 100644 index 00000000..a87078f8 --- /dev/null +++ b/web/i18n/it/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "aggiornamento disponibile!", + "update.subtext": "premi per ricaricare" +} diff --git a/web/i18n/it/queue.json b/web/i18n/it/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/it/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/it/receiver.json b/web/i18n/it/receiver.json new file mode 100644 index 00000000..8d44db9e --- /dev/null +++ b/web/i18n/it/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "trascina o seleziona un file", + "title.drop": "lascia qua il file!", + "accept": "formati supportati: {{ formats }}." +} diff --git a/web/i18n/it/remux.json b/web/i18n/it/remux.json new file mode 100644 index 00000000..c934c3f9 --- /dev/null +++ b/web/i18n/it/remux.json @@ -0,0 +1,3 @@ +{ + "description": "remuxare sistema spesso problemi di compatibilità con software vecchi. è veloce, lossless, e tutti i dati sono processati sul tuo dispositivo." +} diff --git a/web/i18n/it/save.json b/web/i18n/it/save.json new file mode 100644 index 00000000..cad56b4b --- /dev/null +++ b/web/i18n/it/save.json @@ -0,0 +1,4 @@ +{ + "paste": "incolla", + "paste.long": "incolla e scarica" +} diff --git a/web/i18n/it/settings.json b/web/i18n/it/settings.json new file mode 100644 index 00000000..074326ca --- /dev/null +++ b/web/i18n/it/settings.json @@ -0,0 +1,6 @@ +{ + "page.appearance": "aspetto", + "page.privacy": "privacy", + "page.video": "video", + "page.audio": "audio" +} diff --git a/web/i18n/it/tabs.json b/web/i18n/it/tabs.json new file mode 100644 index 00000000..a1702dfa --- /dev/null +++ b/web/i18n/it/tabs.json @@ -0,0 +1,8 @@ +{ + "save": "salva", + "settings": "impostazioni", + "updates": "aggiornamenti", + "donate": "dona", + "about": "info", + "remux": "remuxa" +} diff --git a/web/i18n/it/updates.json b/web/i18n/it/updates.json new file mode 100644 index 00000000..e755e5c2 --- /dev/null +++ b/web/i18n/it/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "vai al changelog precedente ({{ value }})", + "button.previous": "vai al changelog successivo ({{ value }})" +} diff --git a/web/i18n/ja/a11y/dialog.json b/web/i18n/ja/a11y/dialog.json new file mode 100644 index 00000000..77548ef6 --- /dev/null +++ b/web/i18n/ja/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "画像サムネ", + "picker.item.gif": "GIFサムネ", + "picker.item.video": "動画サムネ" +} diff --git a/web/i18n/ja/a11y/donate.json b/web/i18n/ja/a11y/donate.json new file mode 100644 index 00000000..0e8fbf0e --- /dev/null +++ b/web/i18n/ja/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "QRコード(クリックして拡大)", + "share.qr.collapse": "大きなqrコード。クリックして小さくする。" +} diff --git a/web/i18n/ja/a11y/general.json b/web/i18n/ja/a11y/general.json new file mode 100644 index 00000000..21d020a3 --- /dev/null +++ b/web/i18n/ja/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "戻る" +} diff --git a/web/i18n/ja/a11y/queue.json b/web/i18n/ja/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ja/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ja/a11y/save.json b/web/i18n/ja/a11y/save.json new file mode 100644 index 00000000..2074fc8f --- /dev/null +++ b/web/i18n/ja/a11y/save.json @@ -0,0 +1,10 @@ +{ + "link_area": "リンクを入力してください", + "link_area.turnstile": "リンク入力エリア。あなたがロボットでないか確認中です。", + "clear_input": "削除", + "download": "ダウンロード", + "download.think": "リンクを処理しています。。。", + "download.error": "エラーが発生しました", + "tutorial.shortcut.photos": "写真のショートカットを追加", + "tutorial.shortcut.files": "ファイルのショートカットを追加" +} diff --git a/web/i18n/ja/a11y/tabs.json b/web/i18n/ja/a11y/tabs.json new file mode 100644 index 00000000..6bd72f64 --- /dev/null +++ b/web/i18n/ja/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "タブパネル" +} diff --git a/web/i18n/ja/about.json b/web/i18n/ja/about.json new file mode 100644 index 00000000..2c8cb7ee --- /dev/null +++ b/web/i18n/ja/about.json @@ -0,0 +1,28 @@ +{ + "page.general": "コバルトについて", + "page.faq": "よくある質問", + "page.community": "コミュニティー&サポート", + "page.privacy": "プライバシーポリシー", + "heading.summary": "愛するものを守る最善の方法", + "heading.licenses": "ライセンス規約", + "page.terms": "ご利用規約", + "heading.privacy": "プライバシーの保護", + "heading.community": "コミュニティー", + "heading.local": "デバイス上処理", + "heading.saving": "保存", + "heading.encryption": "暗号化", + "heading.plausible": "匿名トラフィック分析", + "heading.cloudflare": "ウェブプライバシーとセキュリティー", + "heading.responsibility": "ユーザーの責任", + "heading.testers": "ベータテスター", + "heading.abuse": "悪用などの報告", + "support.github": "コバルトのソースコード閲覧、問題の報告などはこちらから", + "heading.motivation": "モチベーション", + "support.discord": "コミュニティや開発者とコバルトについて話したり、助けを求めたりする。", + "support.twitter": "cobaltの最新情報と開発をツイッターのタイムラインでフォローする", + "support.telegram": "テレグラムでcobaltの最新情報を確認", + "support.bluesky": "ブルースカイでcobaltの最新情報を確認", + "support.description.issue": "バグなどの報告はGithubにてお願いします。", + "support.description.help": "その他の質問は discord を使ってね。#cobalt-support で問題をきちんと説明しないと、誰も助けてくれないよ。", + "support.description.best-effort": "すべてのサポートはベストエフォートであり、保証するものではない。" +} diff --git a/web/i18n/ja/about/credits.md b/web/i18n/ja/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ja/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ja/about/general.md b/web/i18n/ja/about/general.md new file mode 100644 index 00000000..f8b31614 --- /dev/null +++ b/web/i18n/ja/about/general.md @@ -0,0 +1,74 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +怪しい広告もトラッカーも無し。いつでもどこでも『無料』で使える、純粋に便利なウェブアプリがここにあります。 +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ja/about/privacy.md b/web/i18n/ja/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/ja/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ja/about/terms.md b/web/i18n/ja/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ja/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ja/button.json b/web/i18n/ja/button.json new file mode 100644 index 00000000..8b631511 --- /dev/null +++ b/web/i18n/ja/button.json @@ -0,0 +1,17 @@ +{ + "save": "保存", + "cancel": "キャンセル", + "gotit": "わかりました", + "done": "完了", + "download.audio": "音声をダウンロード", + "copy.section": "セクションリンクをコピー", + "download": "ダウンロード", + "copy": "コピー", + "copied": "コピーしました", + "import": "インポート", + "continue": "続ける", + "follow": "フォローする", + "export": "エクスポート", + "yes": "はい", + "no": "いいえ" +} diff --git a/web/i18n/ja/dialog.json b/web/i18n/ja/dialog.json new file mode 100644 index 00000000..e9ca7f1c --- /dev/null +++ b/web/i18n/ja/dialog.json @@ -0,0 +1,16 @@ +{ + "reset.body": "本当にすべてのデータをリセットしますか?この操作は即時かつ不可逆的です。", + "reset.title": "すべてのデータをリセットしますか?", + "picker.title": "保存する内容を選択する", + "picker.description.desktop": "項目をクリックして保存します。右クリックメニューから画像を保存することもできます。", + "picker.description.phone": "項目を押して保存します。長押しして画像を保存することもできます。", + "saving.timeout": "cobalt はファイルを自動的に保存しようとしましたが、ブラウザーによって停止されました。手動でお好きな方法を選択してください。", + "saving.blocked": "cobalt は新しいタブでファイルを開こうとしましたが、ご利用のブラウザーでブロックされました。cobalt のポップアップを許可することで、次回からこれを防ぐことができます。", + "safety.title": "重要な安全上の注意", + "import.body": "未知のファイルや破損したファイルをインポートすると、Cobalt の機能が予期せず変更されたり壊れたりすることがあります。あなたが個人的にエクスポートし、変更していないファイルのみをインポートしてください。もしこのファイルをインポートするよう、誰かに頼まれた場合は、やらないでください。\n\n未知の設定ファイルをインポートすることによって生じたいかなる損害にも、私たちは責任を負いません。", + "api.override.title": "インスタンスオーバーライドの処理", + "api.override.body": "{{ value }} が処理インスタンスになりました。信頼できない場合は、「キャンセル」を押すと無視されます。\n\n後で処理設定で選択を変更することができます。", + "safety.custom_instance.body": "カスタムインスタンスは、潜在的にプライバシーと安全性のリスクをもたらす可能性があります。\n\n悪意のあるインスタンスは以下のことができます。\n1. cobalt からあなたを遠ざけて詐欺をする。\n2. リクエストに関するすべての情報を記録し、永久に保存し、ユーザーを追跡するために使用する。\n3. 悪意のあるファイル (マルウェアなど) を提供する。\n4. 広告を見ることを強制したり、ダウンロードのためにお金を払わせたりする。\n\nこの時点で、私たちはあなたを保護できません。どのインスタンスを使用するかに注意し、常に自分の直感を信じてください。もし何かおかしいと感じたら、このページに戻ってカスタムインスタンスをリセットし、GitHub で報告してください。", + "processing.ongoing": "cobalt は現在このタブでメディアを処理しています。このタブを離れると処理は中断されます。本当に実行しますか?", + "processing.title.ongoing": "処理はキャンセルされます" +} diff --git a/web/i18n/ja/donate.json b/web/i18n/ja/donate.json new file mode 100644 index 00000000..7643a6dc --- /dev/null +++ b/web/i18n/ja/donate.json @@ -0,0 +1,28 @@ +{ + "banner.title": "安全で開かれた\nインターネットを支援する", + "banner.subtitle": "imput に寄付するか、友人に\ncobalt についてシェアしましょう", + "body.motivation": "cobalt は、プロデューサー、教育者、ビデオ制作者、その他多くの人たちが、自分の好きなことをするのに役立ちます。利益のためではなく、愛をもって作られた一線を画すサービスです。", + "body.no_bullshit": "私たちは、インターネットは恐れるものである必要はないと信じています。そのため、cobalt には広告やその他の種類の迷惑なコンテンツは一切ありません。それは私たちが固く守る約束です。私たちが行うすべてのことは、プライバシー、アクセシビリティ、使いやすさを念頭に置いて構築されており、誰もが cobalt を利用できるようになっています。", + "body.keep_going": "もし Cobalt が役に立つと感じたなら、ぜひ私たちの活動を支援することをご検討ください!寄付をしたり、友人に Cobalt を共有したりすることで、私たちを支援することができます。どのような寄付でも非常に歓迎しており、Cobalt やその他のプロジェクトの継続に役立っています。", + "card.once": "一回限りの寄付", + "card.processor": "{{value}} 経由", + "card.custom": "カスタムの金額 (2 ドルから)", + "card.option.5": "コーヒー1杯分", + "card.option.10": "ピザ1つの分", + "card.option.15": "ランチ一食分", + "card.option.30": "ランチ二食分", + "card.option.50": "キャットフード10キロの分", + "card.option.100": "ドメインの年間費用", + "card.option.200": "エアフライヤー", + "card.option.500": "高級オフィスチェア", + "card.option.1599": "Macbook Pro", + "card.option.4900": "リンゴ一万個", + "card.option.7398": "最高の Macbook Pro", + "card.option.8629": "小さな土地", + "share.title": "cobalt を友達と共有する", + "card.option.9433": "高級浴槽", + "card.custom.submit": "カスタム金額を寄付する", + "alternative.title": "その他の寄付する方法", + "alt.copy": "{{value}}. 暗号ウォレットアドレス。コピーするには押してください。", + "alt.open": "{{ value }}. クリックして開きます。" +} diff --git a/web/i18n/ja/error.json b/web/i18n/ja/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ja/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ja/error/api.json b/web/i18n/ja/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ja/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ja/error/queue.json b/web/i18n/ja/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ja/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ja/general.json b/web/i18n/ja/general.json new file mode 100644 index 00000000..82327970 --- /dev/null +++ b/web/i18n/ja/general.json @@ -0,0 +1,6 @@ +{ + "cobalt": "cobalt", + "meowbalt": "ニャーバルト", + "beta": "ベータ", + "embed.description": "cobalt は、広告、追跡、ペイウォール、その他の無駄なものは一切なく、好きなものを保存することができます。リンクを貼り付けるだけです!" +} diff --git a/web/i18n/ja/notification.json b/web/i18n/ja/notification.json new file mode 100644 index 00000000..689cdbc7 --- /dev/null +++ b/web/i18n/ja/notification.json @@ -0,0 +1,4 @@ +{ + "update.subtext": "プレスして再読込", + "update.title": "更新が利用可能です!" +} diff --git a/web/i18n/ja/queue.json b/web/i18n/ja/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ja/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ja/receiver.json b/web/i18n/ja/receiver.json new file mode 100644 index 00000000..7860dadc --- /dev/null +++ b/web/i18n/ja/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "ファイルをドラッグまたは選択", + "accept": "対応フォーマット: {{ formats }}.", + "title.drop": "ここにファイルをドロップしてください!" +} diff --git a/web/i18n/ja/remux.json b/web/i18n/ja/remux.json new file mode 100644 index 00000000..c30a78cd --- /dev/null +++ b/web/i18n/ja/remux.json @@ -0,0 +1,7 @@ +{ + "bullet.purpose.description": "Remux は、時刻情報の欠落などファイルコンテナの問題を修正します。Vegas Pro や Windows Media Player などの古いソフトウェアとの互換性を高めるのに役立ちます。", + "bullet.purpose.title": "remux は何をしますか?", + "bullet.explainer.title": "どのように機能しますか?", + "bullet.explainer.description": "Remux は、既存のコーデックデータを新しいメディアコンテナにコピーします。ロスレスで、メディアデータは再エンコードされません。", + "bullet.privacy.title": "デバイス上での処理" +} diff --git a/web/i18n/ja/save.json b/web/i18n/ja/save.json new file mode 100644 index 00000000..bbdd345a --- /dev/null +++ b/web/i18n/ja/save.json @@ -0,0 +1,21 @@ +{ + "paste": "ペースト", + "paste.long": "ペーストしてダウンロード", + "auto": "自動", + "audio": "オーディオ", + "mute": "ミュート", + "terms.note.link": "利用規約と倫理規定", + "services.title": "サポートされているサービス", + "services.title_show": "サポートされているサービスを表示", + "services.title_hide": "サポートされているサービスを非表示", + "services.disclaimer": "cobalt は上記のいずれのサービスとも提携していません。", + "tutorial.title": "iOS ではどのように保存するのですか?", + "tutorial.intro": "iOSでメディアを快適に保存するには、共有シートから Siri ショートカットを使用する必要があります。", + "tutorial.step.1": "コンパニオン Siri ショートカットを追加:", + "tutorial.step.3": "共有シートでそれぞれのショートカットを選択します。", + "tutorial.step.2": "Cobalt の保存ダイアログの「共有」ボタンを押します。", + "tutorial.outro": "これらのショートカットは cobalt アプリからのみ機能し、他のアプリからのリンクの共有は機能しません。", + "label.community_instance": "コミュニティインスタンス", + "tutorial.shortcut.photos": "写真へ", + "tutorial.shortcut.files": "ファイルへ" +} diff --git a/web/i18n/ja/settings.json b/web/i18n/ja/settings.json new file mode 100644 index 00000000..511abeba --- /dev/null +++ b/web/i18n/ja/settings.json @@ -0,0 +1,25 @@ +{ + "page.privacy": "プライバシー", + "page.appearance": "外観", + "page.video": "ビデオ", + "page.audio": "オーディオ", + "page.instances": "インスタンス", + "section.general": "一般", + "section.save": "保存", + "theme": "テーマ", + "theme.auto": "オート", + "theme.light": "ライト", + "theme.dark": "ダーク", + "video.quality.max": "8k+", + "theme.description": "自動テーマは、あなたのデバイスの表示モードに応じて、明るいテーマと暗いテーマを切り替える。", + "video.quality": "ビデオ品質", + "video.quality.480": "480p", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.720": "720p", + "video.quality.1080": "1080p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.quality.description": "選択した画質が利用できない場合は次に近い画質が適用されます。" +} diff --git a/web/i18n/ja/tabs.json b/web/i18n/ja/tabs.json new file mode 100644 index 00000000..1f8f2c01 --- /dev/null +++ b/web/i18n/ja/tabs.json @@ -0,0 +1,8 @@ +{ + "save": "保存", + "updates": "変更履歴", + "settings": "設定", + "donate": "寄付", + "about": "概要", + "remux": "remux" +} diff --git a/web/i18n/ja/updates.json b/web/i18n/ja/updates.json new file mode 100644 index 00000000..c259bebc --- /dev/null +++ b/web/i18n/ja/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "前のアップデートを見る ({{ value }})", + "button.previous": "新しい変更履歴へ移動 ({{ value }})" +} diff --git a/web/i18n/ko/a11y/dialog.json b/web/i18n/ko/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/a11y/donate.json b/web/i18n/ko/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/a11y/general.json b/web/i18n/ko/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/a11y/queue.json b/web/i18n/ko/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/a11y/save.json b/web/i18n/ko/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/a11y/tabs.json b/web/i18n/ko/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/about.json b/web/i18n/ko/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/about/credits.md b/web/i18n/ko/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ko/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ko/about/general.md b/web/i18n/ko/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/ko/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ko/about/privacy.md b/web/i18n/ko/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/ko/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ko/about/terms.md b/web/i18n/ko/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ko/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ko/button.json b/web/i18n/ko/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/dialog.json b/web/i18n/ko/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/donate.json b/web/i18n/ko/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/error.json b/web/i18n/ko/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/error/api.json b/web/i18n/ko/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/error/queue.json b/web/i18n/ko/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/general.json b/web/i18n/ko/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/notification.json b/web/i18n/ko/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/queue.json b/web/i18n/ko/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/receiver.json b/web/i18n/ko/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/remux.json b/web/i18n/ko/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/save.json b/web/i18n/ko/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/settings.json b/web/i18n/ko/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/tabs.json b/web/i18n/ko/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ko/updates.json b/web/i18n/ko/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ko/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/a11y/dialog.json b/web/i18n/lt/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/a11y/donate.json b/web/i18n/lt/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/a11y/general.json b/web/i18n/lt/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/a11y/queue.json b/web/i18n/lt/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/a11y/save.json b/web/i18n/lt/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/a11y/tabs.json b/web/i18n/lt/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/about.json b/web/i18n/lt/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/about/credits.md b/web/i18n/lt/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/lt/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/lt/about/general.md b/web/i18n/lt/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/lt/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/lt/about/privacy.md b/web/i18n/lt/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/lt/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/lt/about/terms.md b/web/i18n/lt/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/lt/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/lt/button.json b/web/i18n/lt/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/dialog.json b/web/i18n/lt/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/donate.json b/web/i18n/lt/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/error.json b/web/i18n/lt/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/error/api.json b/web/i18n/lt/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/error/queue.json b/web/i18n/lt/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/general.json b/web/i18n/lt/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/notification.json b/web/i18n/lt/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/queue.json b/web/i18n/lt/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/receiver.json b/web/i18n/lt/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/remux.json b/web/i18n/lt/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/save.json b/web/i18n/lt/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/settings.json b/web/i18n/lt/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/tabs.json b/web/i18n/lt/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lt/updates.json b/web/i18n/lt/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lt/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/a11y/dialog.json b/web/i18n/lv/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/a11y/donate.json b/web/i18n/lv/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/a11y/general.json b/web/i18n/lv/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/a11y/queue.json b/web/i18n/lv/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/a11y/save.json b/web/i18n/lv/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/a11y/tabs.json b/web/i18n/lv/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/about.json b/web/i18n/lv/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/about/credits.md b/web/i18n/lv/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/lv/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/lv/about/general.md b/web/i18n/lv/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/lv/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/lv/about/privacy.md b/web/i18n/lv/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/lv/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/lv/about/terms.md b/web/i18n/lv/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/lv/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/lv/button.json b/web/i18n/lv/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/dialog.json b/web/i18n/lv/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/donate.json b/web/i18n/lv/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/error.json b/web/i18n/lv/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/error/api.json b/web/i18n/lv/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/error/queue.json b/web/i18n/lv/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/general.json b/web/i18n/lv/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/notification.json b/web/i18n/lv/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/queue.json b/web/i18n/lv/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/receiver.json b/web/i18n/lv/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/remux.json b/web/i18n/lv/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/save.json b/web/i18n/lv/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/settings.json b/web/i18n/lv/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/tabs.json b/web/i18n/lv/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/lv/updates.json b/web/i18n/lv/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/lv/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/a11y/dialog.json b/web/i18n/nb_NO/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/a11y/donate.json b/web/i18n/nb_NO/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/a11y/general.json b/web/i18n/nb_NO/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/a11y/queue.json b/web/i18n/nb_NO/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/a11y/save.json b/web/i18n/nb_NO/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/a11y/tabs.json b/web/i18n/nb_NO/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/about.json b/web/i18n/nb_NO/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/about/credits.md b/web/i18n/nb_NO/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/nb_NO/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/nb_NO/about/general.md b/web/i18n/nb_NO/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/nb_NO/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/nb_NO/about/privacy.md b/web/i18n/nb_NO/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/nb_NO/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/nb_NO/about/terms.md b/web/i18n/nb_NO/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/nb_NO/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/nb_NO/button.json b/web/i18n/nb_NO/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/dialog.json b/web/i18n/nb_NO/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/donate.json b/web/i18n/nb_NO/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/error.json b/web/i18n/nb_NO/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/error/api.json b/web/i18n/nb_NO/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/error/queue.json b/web/i18n/nb_NO/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/general.json b/web/i18n/nb_NO/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/notification.json b/web/i18n/nb_NO/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/queue.json b/web/i18n/nb_NO/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/receiver.json b/web/i18n/nb_NO/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/remux.json b/web/i18n/nb_NO/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/save.json b/web/i18n/nb_NO/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/settings.json b/web/i18n/nb_NO/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/tabs.json b/web/i18n/nb_NO/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nb_NO/updates.json b/web/i18n/nb_NO/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nb_NO/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/a11y/dialog.json b/web/i18n/nl/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/a11y/donate.json b/web/i18n/nl/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/a11y/general.json b/web/i18n/nl/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/a11y/queue.json b/web/i18n/nl/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/a11y/save.json b/web/i18n/nl/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/a11y/tabs.json b/web/i18n/nl/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/about.json b/web/i18n/nl/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/about/credits.md b/web/i18n/nl/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/nl/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/nl/about/general.md b/web/i18n/nl/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/nl/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/nl/about/privacy.md b/web/i18n/nl/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/nl/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/nl/about/terms.md b/web/i18n/nl/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/nl/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/nl/button.json b/web/i18n/nl/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/dialog.json b/web/i18n/nl/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/donate.json b/web/i18n/nl/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/error.json b/web/i18n/nl/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/error/api.json b/web/i18n/nl/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/error/queue.json b/web/i18n/nl/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/general.json b/web/i18n/nl/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/notification.json b/web/i18n/nl/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/queue.json b/web/i18n/nl/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/receiver.json b/web/i18n/nl/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/remux.json b/web/i18n/nl/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/save.json b/web/i18n/nl/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/settings.json b/web/i18n/nl/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/tabs.json b/web/i18n/nl/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nl/updates.json b/web/i18n/nl/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nl/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/a11y/dialog.json b/web/i18n/nn/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/a11y/donate.json b/web/i18n/nn/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/a11y/general.json b/web/i18n/nn/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/a11y/queue.json b/web/i18n/nn/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/a11y/save.json b/web/i18n/nn/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/a11y/tabs.json b/web/i18n/nn/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/about.json b/web/i18n/nn/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/about/credits.md b/web/i18n/nn/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/nn/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/nn/about/general.md b/web/i18n/nn/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/nn/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/nn/about/privacy.md b/web/i18n/nn/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/nn/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/nn/about/terms.md b/web/i18n/nn/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/nn/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/nn/button.json b/web/i18n/nn/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/dialog.json b/web/i18n/nn/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/donate.json b/web/i18n/nn/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/error.json b/web/i18n/nn/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/error/api.json b/web/i18n/nn/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/error/queue.json b/web/i18n/nn/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/general.json b/web/i18n/nn/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/notification.json b/web/i18n/nn/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/queue.json b/web/i18n/nn/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/receiver.json b/web/i18n/nn/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/remux.json b/web/i18n/nn/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/save.json b/web/i18n/nn/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/settings.json b/web/i18n/nn/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/tabs.json b/web/i18n/nn/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/nn/updates.json b/web/i18n/nn/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/nn/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pl/a11y/dialog.json b/web/i18n/pl/a11y/dialog.json new file mode 100644 index 00000000..d59642a0 --- /dev/null +++ b/web/i18n/pl/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "miniaturka zdjęcia", + "picker.item.video": "miniaturka filmu", + "picker.item.gif": "miniaturka gifu" +} diff --git a/web/i18n/pl/a11y/donate.json b/web/i18n/pl/a11y/donate.json new file mode 100644 index 00000000..f7b017a0 --- /dev/null +++ b/web/i18n/pl/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "kod qr. kliknij, aby powiększyć.", + "share.qr.collapse": "rozszerzony kod qr. naciśnij, aby pomniejszyć." +} diff --git a/web/i18n/pl/a11y/general.json b/web/i18n/pl/a11y/general.json new file mode 100644 index 00000000..b9ecc0c9 --- /dev/null +++ b/web/i18n/pl/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "wróć" +} diff --git a/web/i18n/pl/a11y/queue.json b/web/i18n/pl/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pl/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pl/a11y/save.json b/web/i18n/pl/a11y/save.json new file mode 100644 index 00000000..705b1da5 --- /dev/null +++ b/web/i18n/pl/a11y/save.json @@ -0,0 +1,12 @@ +{ + "download": "pobierz", + "link_area.turnstile": "obszar wprowadzenia linku. sprawdzanie czy nie jesteś robotem.", + "link_area": "obszar wprowadzenia linku", + "download.think": "przetwarzanie linku...", + "download.error": "błąd pobierania", + "tutorial.shortcut.photos": "dodaj skrót do zdjęć", + "tutorial.shortcut.files": "dodaj skrót do plików", + "download.done": "rozpoczęto pobieranie", + "download.check": "weryfikowanie pobierania...", + "clear_input": "wyczyść pole" +} diff --git a/web/i18n/pl/a11y/tabs.json b/web/i18n/pl/a11y/tabs.json new file mode 100644 index 00000000..1697cbb9 --- /dev/null +++ b/web/i18n/pl/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "panel nawigacyjny" +} diff --git a/web/i18n/pl/about.json b/web/i18n/pl/about.json new file mode 100644 index 00000000..8ba72ed2 --- /dev/null +++ b/web/i18n/pl/about.json @@ -0,0 +1,30 @@ +{ + "support.twitter": "obserwuj aktualizacje i rozwój cobalta na swojej osi czasu na twitterze", + "support.description.help": "w przypadku innych pytań użyj discorda. poprawnie opisz problem na #cobalt-support, inaczej nikt nie będzie w stanie ci pomóc.", + "page.general": "czym jest cobalt?", + "page.faq": "często zadawane pytania", + "page.community": "społeczność i wsparcie", + "page.privacy": "polityka prywatności", + "page.credits": "podziękowania i licencje", + "heading.general": "ogólne warunki", + "heading.licenses": "licencje", + "heading.summary": "najlepszy sposób na zachowanie tego, co kochasz", + "heading.community": "otwarta społeczność", + "heading.local": "przetwarzanie na urządzeniu", + "heading.saving": "zapisywanie", + "heading.encryption": "szyfrowanie", + "heading.plausible": "anonimowa analiza ruchu", + "heading.responsibility": "obowiązki użytkownika", + "heading.abuse": "zgłaszanie nadużycia", + "heading.motivation": "motywacja", + "heading.testers": "beta testerzy", + "support.github": "sprawdź kod źródłowy cobalta, kontrybuuj i zgłoś błędy", + "support.discord": "rozmawiaj ze społecznością i deweloperami na temat cobalta lub poproś o pomoc", + "support.telegram": "bądź na bieżąco z najnowszymi aktualizacjami cobalta za pośrednictwem kanału na telegramie", + "support.description.issue": "jeśli chcesz zgłosić błąd lub inny powtarzający się problem, proszę zrób to na githubie.", + "heading.privacy": "wiodąca prywatność", + "page.terms": "warunki i etykieta", + "support.bluesky": "śledź aktualizację i rozwój cobalta na bluesky", + "heading.cloudflare": "prywatność i bezpieczeństwo strony", + "support.description.best-effort": "wszelkie wsparcie jest najlepszym wysiłkiem i nie jest gwarantowane, odpowiedź może zająć trochę czasu." +} diff --git a/web/i18n/pl/about/credits.md b/web/i18n/pl/about/credits.md new file mode 100644 index 00000000..0f228c80 --- /dev/null +++ b/web/i18n/pl/about/credits.md @@ -0,0 +1,90 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +wszystkie linki są zewnętrzne i prowadzą do ich osobistych stron lub mediów +społecznościowych. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/pl/about/general.md b/web/i18n/pl/about/general.md new file mode 100644 index 00000000..a1301d1c --- /dev/null +++ b/web/i18n/pl/about/general.md @@ -0,0 +1,76 @@ + + +
+ + +cobalt pomaga tobie zapisać wszystko z twoich ulubionych stron: filmy, audio, +zdjęcia, gify. po prostu wklej link i gotowe! + +bez reklam, trackerów, płatnych zapór i innych bzdur. po prostu wygodna +aplikacja internetowa, która działa wszędzie i zawsze, gdy jej potrzebujesz. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt jest używany przez niezliczonych artystów, nauczycieli i twórców treści, +aby robić to, co kochają, zawsze jesteśmy na linii z naszą społecznością i +pracujemy razem, aby cobalt był jeszcze bardziej przydatny. nie krępuj się +[dołączyć do rozmowy](/about/community)! + +wierzymy, że przysłość internetu jest otwarta, dlatego cobalt jest [source +first](https://sourcefirst.com/) i [łatwy do samodzielnego +hostowania]({docs.instanceHosting}). + +jeśli twój znajomy hostuje instancję przetwarzania, po prostu poproś go o domenę +i [dodaj ją w ustawieniach instancji](/settings/instances#community). + +możesz sprawdzić kod źródłowy i kontrybuować [na githubie]({contacts.github}) w +dowolnym momencie. witamy wszystkie kontrybucje i sugestie! +
diff --git a/web/i18n/pl/about/privacy.md b/web/i18n/pl/about/privacy.md new file mode 100644 index 00000000..bc9e612a --- /dev/null +++ b/web/i18n/pl/about/privacy.md @@ -0,0 +1,125 @@ + + +
+ + +polityka prywatności cobalta jest prosta: nie zbieramy ani nie przechowujemy +żadnych informacji o tobie. to, co robisz, jest wyłącznie twoją sprawą, a nie +naszą lub kogokolwiek innego. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +tymczasowo przechowywane dane tunelu są szyfrowane przy użyciu standardu +AES-256. klucze deszyfrujące są zawarte tylko w łączu dostępu i nigdy nie są +nigdzie rejestrowane/buforowane/przechowywane. tylko użytkownik końcowy ma +dostęp do łącza i kluczy szyfrujących. klucze są generowane unikalnie dla +każdego żądanego tunelu. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible nie używa ciasteczek i jest w pełni zgodny z RODO, CCPA i PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare jest w pełni zgodny z RODO i HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/pl/about/terms.md b/web/i18n/pl/about/terms.md new file mode 100644 index 00000000..04400375 --- /dev/null +++ b/web/i18n/pl/about/terms.md @@ -0,0 +1,66 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +ty (użytkownik końcowy) jesteś odpowiedzialny za to, co robisz z naszymi +narzędziami, w jaki sposób wykorzystujesz i rozpowszechniasz powstałe treści. +prosimy o zachowanie ostrożności podczas korzystania z treści innych osób i +zawsze kredytuj oryginalnych twórców. upewnij się, że nie naruszasz żadnych +warunków ani licencji. + +jeśli używasz ich w celach edukacyjnych, zawsze podawaj źródła i podawaj nazwy +twórców. + +uczciwe użytkowanie i kredytowanie przynosi wszystkim korzyści. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**ten adres email nie jest przeznaczony do wsparcia użytkowników, nie otrzymasz +odpowiedzi, jeśli twoje obawy nie są związane z nadużyciami.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/pl/button.json b/web/i18n/pl/button.json new file mode 100644 index 00000000..02ad8344 --- /dev/null +++ b/web/i18n/pl/button.json @@ -0,0 +1,20 @@ +{ + "cancel": "anuluj", + "done": "gotowe", + "download.audio": "pobierz audio", + "download": "pobierz", + "share": "udostępnij", + "copy": "kopiuj", + "copied": "skopiowano", + "continue": "kontynuuj", + "follow": "obserwuj", + "save": "zapisz", + "yes": "tak", + "no": "nie", + "reset": "resetuj", + "import": "importuj", + "gotit": "zrozumiałem", + "export": "eksportuj", + "copy.section": "kopiuj link sekcji", + "star": "polub" +} diff --git a/web/i18n/pl/dialog.json b/web/i18n/pl/dialog.json new file mode 100644 index 00000000..f3c46b86 --- /dev/null +++ b/web/i18n/pl/dialog.json @@ -0,0 +1,18 @@ +{ + "reset.title": "zresetować wszystkie dane?", + "reset.body": "czy na pewno chcesz zresetować wszystkie dane? ta czynność jest natychmiastowa i nieodwracalna.", + "saving.title": "wybierz sposób zapisywania", + "saving.timeout": "cobalt próbował zapisać plik automatycznie, ale przeglądarka go zatrzymała. musisz wybrać preferowaną metodę ręcznie.", + "safety.title": "ważna informacja dotycząca bezpieczeństwa", + "picker.title": "wybierz, co zapisać", + "saving.blocked": "cobalt próbował otworzyć plik w nowej karcie, ale twoja przeglądarka to zablokowała. możesz zezwolić na pop-upy dla cobalta, aby zapobiec temu następnym razem.", + "import.body": "importowanie nieznanych lub uszkodzonych plików może nieoczekiwanie zmienić lub złamać funkcjonalność cobalt. importuj tylko pliki, które osobiście wyeksportowałeś i nie modyfikowałeś. jeśli zostałeś poproszony o zaimportowanie tego pliku przez kogoś - nie rób tego.\n\nnie ponosimy odpowiedzialności za jakiekolwiek szkody spowodowane importowaniem nieznanych plików ustawień.", + "picker.description.phone": "dotknij item, aby go zapisać. zdjęcia także mogą być zapisane długim przytrzymaniem.", + "picker.description.ios": "dotknij item, aby go zapisać używając skrótu. zdjęcia także mogą być zapisane długim przytrzymaniem.", + "api.override.title": "nadpisanie instancji przetwarzania", + "picker.description.desktop": "kliknij item, aby go zapisać. zdjęcia także mogą być zapisane używając menu prawego kliknięcia.", + "api.override.body": "{{ value }} jest teraz instancją przetwarzania. jeśli jej nie ufasz, naciśnij \"anuluj\", a zostanie ona zignorowana.\n\nmożesz zmienić swój wybór później w ustawieniach przetwarzania.", + "safety.custom_instance.body": "niestandardowe instancje mogą potencjalnie stanowić zagrożenie dla prywatności i bezpieczeństwa.\n\nzłe instancje mogą:\n1. przekierować cię poza cobalta i próbować cię oszukać.\n2. rejestrować wszystkie informacje o twoich żądaniach, przechowywać je na zawsze i wykorzystywać je do śledzenia cię.\n3. wyświetlać złośliwe pliki (takie jak złośliwe oprogramowanie).\n4. zmuszać cię do oglądania reklam lub płacenia za pobieranie.\n\nod tego momentu, nie możemy cię chronić. pamiętaj, jakich instancji używać i zawsze ufaj swojemu przeczuciu. jeśli coś wydaje się nie tak, wróć na tę stronę, zresetuj niestandardową instancję i zgłoś nam to na githubie.", + "processing.ongoing": "cobalt obecnie przetwarza media w tej zakładce. odejście spowoduje przerwanie przetwarzania. czy na pewno chcesz to zrobić?", + "processing.title.ongoing": "przetwarzanie będzie anulowane" +} diff --git a/web/i18n/pl/donate.json b/web/i18n/pl/donate.json new file mode 100644 index 00000000..318f5c7b --- /dev/null +++ b/web/i18n/pl/donate.json @@ -0,0 +1,29 @@ +{ + "banner.title": "Wspieraj bezpieczny\ni otwarty Internet", + "body.motivation": "cobalt pomaga producentom, edukatorom, twórcom wideo i wielu innym osobom robić to, co kochają. to inny rodzaj usługi, która jest tworzona z miłością, a nie dla zysku.", + "body.no_bullshit": "wierzymy, że internet nie musi być przerażający, dlatego cobalt nigdy nie będzie zawierał reklam ani innych rodzajów złośliwych treści. to obietnica, której mocno dotrzymujemy. wszystko, co robimy, jest tworzone z myślą o prywatności, dostępności i łatwości użytkowania, dzięki czemu cobalt jest dostępny dla każdego.", + "card.option.15": "pełny obiad", + "body.keep_going": "jeśli uważasz, że cobalt jest przydatny, zastanów się nad wsparciem naszej pracy! możesz nam pomóc, przekazując darowiznę lub udostępniając cobalt znajomym. każda darowizna jest bardzo mile widziana i pomaga nam kontynuować pracę nad cobaltem i innymi projektami.", + "card.option.30": "obiad dla dwojga", + "card.custom.submit": "wpłać niestandardową kwotę", + "card.option.5": "kubek kawy", + "card.option.50": "10 kg karmy dla kotów", + "card.option.100": "jeden rok domen", + "card.option.200": "frytkownica", + "card.option.500": "eleganckie krzesło biurowe", + "card.option.1599": "podstawowy macbook pro", + "card.option.4900": "10 000 jabłek", + "card.option.8629": "mała działka", + "card.option.9433": "luksusowe jacuzzi", + "share.title": "udostępnij cobalt znajomemu", + "card.once": "jednorazowa darowizna", + "card.recurring": "darowizna cykliczna", + "card.custom": "niestandardowa kwota (od 2 USD)", + "banner.subtitle": "podaruj na rzecz imput lub podziel\nsię radością cobalta z przyjacielem", + "card.processor": "przez {{value}}", + "card.option.10": "pełnowymiarowa pizza", + "alternative.title": "alternatywne sposoby przekazania darowizn", + "alt.copy": "{{ value }}. adres portfela kryptowalutowego. naciśnij, aby skopiować.", + "alt.open": "{{ value }}. naciśnij, aby otworzyć.", + "card.option.7398": "najlepszy macbook pro" +} diff --git a/web/i18n/pl/error.json b/web/i18n/pl/error.json new file mode 100644 index 00000000..e407afcc --- /dev/null +++ b/web/i18n/pl/error.json @@ -0,0 +1,42 @@ +{ + "tunnel.probe": "nie można zweryfikować, czy można pobrać ten plik. spróbuj ponownie za kilka sekund!", + "api.content.video.age": "ten film ma ograniczenia wiekowe, więc nie mogę uzyskać do niego dostępu anonimowo. spróbuj inny film!", + "api.link.invalid": "twój link jest nieprawidłowy lub ta usługa nie jest jeszcze obsługiwana. czy wkleiłeś prawidłowy link?", + "import.no_data": "nie ma nic do wczytania z pliku. jesteś pewien, że to ten właściwy?", + "api.link.unsupported": "{{ service }} jest obsługiwany, ale nie mogłem rozpoznać twojego linku. czy wkleiłeś właściwy?", + "api.fetch.critical": "moduł {{ service }} zwrócił błąd, którego nie rozpoznaję. spróbuj ponownie za kilka sekund, ale jeśli problem nie zniknie, daj nam znać!", + "api.content.video.live": "ten film jest obecnie na żywo, więc nie mogę go jeszcze pobrać. poczekaj, aż transmisja na żywo się zakończy, a następnie spróbuj ponownie!", + "api.content.video.private": "ten film jest prywatny, więc nie mam do niego dostępu. zmień jego widoczność lub wypróbuj inny!", + "api.content.post.private": "ten post pochodzi z prywatnego konta, więc nie mam do niego dostępu. czy wkleiłeś prawidłowy link?", + "api.content.post.unavailable": "nie mogłem znaleźć nic o tym poście. jego widoczność może być ograniczona lub może w ogóle nie istnieć. upewnij się, że twój link działa i spróbuj ponownie za kilka sekund!", + "api.youtube.decipher": "youtube zaktualizował swój algorytm odszyfrowywania i nie mogłem wyodrębnić informacji o filmie.\n\nspróbuj ponownie za kilka sekund, ale jeśli problem nie zniknie, skontaktuj się z nami w celu uzyskania pomocy.", + "api.content.post.age": "ten post ma ograniczenia wiekowe, więc nie mogę uzyskać do niego dostępu anonimowo. czy wkleiłeś prawidłowy link?", + "api.fetch.fail": "coś poszło nie tak podczas pobierania informacji z {{ service }} i nie mogłem nic dla ciebie znaleźć. czy na pewno twój link działa? jeśli tak i nadal widzisz ten błąd, daj nam znać, a postaramy się pomóc!", + "api.service.unsupported": "ta usługa nie jest jeszcze obsługiwana. czy wkleiłeś prawidłowy link?", + "import.invalid": "twój plik nie ma prawidłowych ustawień cobalta do zaimportowania. czy jesteś pewien, że jest to prawidłowy plik?", + "remux.corrupted": "nie mogę odczytać metadanych z tego pliku, może on być uszkodzony.", + "api.auth.jwt.missing": "nie mogę potwierdzić, czy nie jesteś robotem, ponieważ serwer przetwarzający nie otrzymał tokena potrzebnego do weryfikacji tego. spróbuj ponownie za kilka sekund lub odśwież stronę!", + "api.auth.turnstile.invalid": "nie mogę potwierdzić, czy nie jesteś robotem, ponieważ twój token potrzebny do weryfikacji tego wygasł i nie został odnowiony. spróbuj ponownie za kilka sekund lub odśwież stronę!", + "api.unreachable": "nie można połączyć się z serwerem przetwarzania. sprawdź połączenie internetowe i spróbuj ponownie.", + "remux.out_of_resources": "cobaltowi zabrakło zasobów i nie może kontynuować przetwarzania na urządzeniu. jest to związane z ograniczeniami po stronie przeglądarki. spróbuj odświeżyć lub ponownie otworzyć aplikację i spróbować ponownie. niektóre urządzenia mogą przetwarzać tylko małe pliki.", + "api.timed_out": "serwer przetwarzania potrzebował zbyt dużo czasu na odpowiedź. może być w tej chwili przeciążony, spróbuj ponownie za kilka sekund!", + "import.unknown": "nie można załadować danych z pliku. może być uszkodzony lub w złym formacie. oto błąd, który otrzymałem:\n\n{{ value }}", + "api.auth.turnstile.missing": "nie mogę potwierdzić, czy nie jesteś robotem, ponieważ serwer przetwarzający nie otrzymał tokena potrzebnego do weryfikacji tego. spróbuj ponownie za kilka sekund lub odśwież stronę!", + "captcha_ongoing": "wciąż sprawdzam, czy nie jesteś robotem. poczekaj aż kręciołek zniknie i spróbuj ponownie.\n\ndaj nam znać jeśli to zajmuje za długo. korzystamy z cloudflare turnstile dla ochrony przed botami, i czasem blokuje ludzi bez powodu.", + "api.rate_exceeded": "wysyłasz zbyt wiele żądań. spróbuj ponownie za {{ limit }} sekund!", + "api.capacity": "cobalt jest przeciążony i nie może w tej chwili przetworzyć twojego żądania. spróbuj ponownie za kilka sekund. jeśli nadal nie działa, daj nam znać, a postaramy się pomóc!", + "api.auth.jwt.invalid": "nie mogę potwierdzić, czy nie jesteś robotem, ponieważ twój token potrzebny do weryfikacji tego wygasł i nie został odnowiony. spróbuj ponownie za kilka sekund lub odśwież stronę!", + "api.content.video.unavailable": "nie mogę uzyskać dostępu do tego filmu. może być on ograniczony po stronie {{ service }}. czy wkleiłeś prawidłowy link?", + "api.unknown_response": "nie mogłem przeanalizować odpowiedzi z serwera. może to być spowodowane niedopasowaniem wersji. czy jesteś pewien, że korzystasz z najnowszej wersji cobalta?", + "api.service.disabled": "ta usługa jest obsługiwana przez cobalta, ale jest wyłączona na tej instancji. spróbuj link z innej usługi!", + "api.content.too_long": "media, o które poprosiłeś, są zbyt długie. aktualny limit czasu trwania wynosi {{ limit }} minut. spróbuj zamiast tego coś krótszego!", + "api.youtube.login": "nie mogłem pobrać tego filmu, ponieważ youtube oznaczył mnie jako bota. może to być spowodowane tym, że instancja przetwarzania nie ma żadnych aktywnych tokenów kont. spróbuj ponownie za kilka sekund, ale jeśli nadal nie działa, powiedz właścicielowi instancji o tym błędzie!", + "api.generic": "coś poszło nie tak i nie mogłem nic dla ciebie zyskać. spróbuj ponownie za kilka sekund, ale jeśli problem nie zniknie, daj nam znać, a postaramy się pomóc!", + "api.fetch.empty": "nie mogłem znaleźć żadnych mediów, które mógłbym pobrać. czy na pewno wkleiłeś właściwy link?", + "api.youtube.token_expired": "nie mogłem pobrać tego filmu, ponieważ token youtube wygasł i nie mogłem go odświeżyć. spróbuj ponownie za kilka sekund, ale jeśli nadal nie działa, powiedz właścicielowi instancji o tym błędzie!", + "api.youtube.no_hls_streams": "nie mogłem znaleźć żadnych pasujących strumieni HLS. spróbuj inne ustawienia!", + "api.fetch.rate": "serwer przetwarzania cobalta został ograniczony przez api {{ service }}. spróbuj ponownie za kilka sekund!", + "api.fetch.short_link": "nie można uzyskać informacji o linku z krótkiego linku. czy jesteś pewien, że on działa? jeśli tak i nadal pojawia się ten błąd, daj nam znać, a my postaramy się pomóc!", + "api.content.video.region": "ten film jest zablokowany w regionie, w którym serwer przetwarzania się znajduje. spróbuj inny!", + "api.youtube.codec": "youtube nie zwrócił niczego z twoim preferowanym kodekiem wideo. spróbuj inny w ustawieniach!" +} diff --git a/web/i18n/pl/error/api.json b/web/i18n/pl/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pl/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pl/error/queue.json b/web/i18n/pl/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pl/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pl/general.json b/web/i18n/pl/general.json new file mode 100644 index 00000000..5112e512 --- /dev/null +++ b/web/i18n/pl/general.json @@ -0,0 +1,6 @@ +{ + "cobalt": "cobalt", + "meowbalt": "miaubalt", + "embed.description": "zachowaj to, co kochasz, bez reklam, śledzenia, paywalli i innych bzdur. cobalt to prawdziwie otwarta aplikacja internetowa, zbudowana z miłością i troską przez imput.", + "beta": "beta" +} diff --git a/web/i18n/pl/notification.json b/web/i18n/pl/notification.json new file mode 100644 index 00000000..2ed7ed40 --- /dev/null +++ b/web/i18n/pl/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "aktualizacja jest dostępna!", + "update.subtext": "naciśnij, aby odświeżyć" +} diff --git a/web/i18n/pl/queue.json b/web/i18n/pl/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pl/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pl/receiver.json b/web/i18n/pl/receiver.json new file mode 100644 index 00000000..a9b78474 --- /dev/null +++ b/web/i18n/pl/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "przeciągnij lub wybierz plik", + "accept": "obsługiwane formaty: {{ formats }}.", + "title.drop": "upuść plik tutaj!" +} diff --git a/web/i18n/pl/remux.json b/web/i18n/pl/remux.json new file mode 100644 index 00000000..2a7233e1 --- /dev/null +++ b/web/i18n/pl/remux.json @@ -0,0 +1,3 @@ +{ + "description": "remuxowanie często rozwiązuje problemy z kompatybilnością ze starszym oprogramowaniem. jest szybkie, bezstratne i wszystko jest przetwarzane na urządzeniu." +} diff --git a/web/i18n/pl/save.json b/web/i18n/pl/save.json new file mode 100644 index 00000000..46ccfd60 --- /dev/null +++ b/web/i18n/pl/save.json @@ -0,0 +1,22 @@ +{ + "paste": "wklej", + "mute": "wycisz", + "tutorial.intro": "aby wygodnie zapisywać multimedia na ios, musisz użyć skrótu siri z arkusza udostępniania.", + "services.title_show": "pokaż wspierane usługi", + "paste.long": "wklej i pobierz", + "input.placeholder": "wklej link tutaj", + "terms.note.agreement": "kontynuując, zgadzasz się na", + "terms.note.link": "warunki i etykietę użytkowania", + "services.title": "wspierane usługi", + "services.title_hide": "ukryj wspierane usługi", + "services.disclaimer": "cobalt nie jest powiązany z żadną usługą wymienioną powyżej.", + "tutorial.title": "jak zapisać na ios?", + "tutorial.step.1": "dodaj skróty siri:", + "tutorial.step.2": "kliknij przycisk \"udostępnij\" w dialogu zapisywania cobalta.", + "tutorial.step.3": "wybierz odpowiedni skrót w arkuszu udostępniania.", + "tutorial.outro": "te skróty będą działać tylko z aplikacji cobalta, udostępnianie linków z innych aplikacji nie zadziała.", + "tutorial.shortcut.photos": "do zdjęć", + "tutorial.shortcut.files": "do plików", + "audio": "audio", + "auto": "automatyczny" +} diff --git a/web/i18n/pl/settings.json b/web/i18n/pl/settings.json new file mode 100644 index 00000000..83cd5b1a --- /dev/null +++ b/web/i18n/pl/settings.json @@ -0,0 +1,101 @@ +{ + "page.privacy": "prywatność", + "page.video": "wideo", + "page.audio": "audio", + "page.download": "pobieranie", + "page.advanced": "zaawansowane", + "section.general": "ogólne", + "theme": "motyw", + "theme.auto": "auto", + "theme.light": "jasny", + "theme.dark": "ciemny", + "theme.description": "motyw auto przełącza się między jasnym i ciemnym motywem w zależności od trybu wyświetlania urządzenia.", + "video.quality": "jakość wideo", + "video.quality.max": "8k+", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.quality.description": "jeśli preferowana jakość wideo nie jest dostępna, wybierana jest następna najlepsza jakość.", + "video.tiktok.h265": "tiktok", + "video.twitter.gif": "twitter/x", + "audio.format": "format audio", + "audio.format.best": "najlepszy", + "saving.ask": "pytaj", + "saving.share": "udostępnij", + "saving.copy": "kopiuj", + "metadata.disable.description": "tytuł, artysta i inne informacje nie zostaną dodane do pliku.", + "saving.title": "metoda zapisywania", + "saving.download": "pobierz", + "advanced.data": "zarządzanie danymi", + "audio.format.mp3": "mp3", + "audio.youtube.dub": "ścieżka dźwiękowa youtube", + "audio.youtube.dub.title": "preferowany język dubbingu", + "audio.format.description": "wszystkie formaty oprócz najlepszego są konwertowane z formatu źródłowego, więc nastąpi pewna utrata jakości. gdy najlepszy format jest wybrany, dźwięk jest zachowywany w oryginalnym formacie, gdy tylko jest to możliwe.", + "video.tiktok.h265.title": "preferuj format HEVC/H265", + "saving.description": "preferowany sposób zapisania pliku lub linku przez cobalta. jeśli preferowana metoda jest niedostępna lub coś pójdzie nie tak, cobalt zapyta, co robić dalej.", + "audio.youtube.dub.description": "cobalt użyje dubbingowanej ścieżki dźwiękowej dla wybranego języka, jeśli jest dostępna. jeśli nie, zamiast niej zostanie użyta oryginalna ścieżka dźwiękowa.", + "accessibility": "dostępność", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "audio.bitrate": "bitrate audio", + "audio.bitrate.kbps": "kb/s", + "youtube.dub.original": "oryginalny", + "audio.tiktok.original": "tiktok", + "metadata.filename": "styl nazwy pliku", + "metadata.filename.classic": "klasyczny", + "metadata.filename.basic": "podstawowy", + "metadata.filename.pretty": "ładny", + "metadata.filename.preview.video": "Tytuł Wideo", + "metadata.filename.preview.audio": "Tytuł Audio - Twórca Audio", + "metadata.file": "metadane plików", + "metadata.disable.title": "wyłącz metadane pliku", + "language": "język", + "language.auto.description": "cobalt użyje domyślnego języka przeglądarki, jeśli tłumaczenie jest dostępne. jeśli nie, zamiast tego zostanie użyty język angielski.", + "language.preferred.title": "preferowany język", + "page.appearance": "wygląd", + "page.debug": "informacje do debugowania", + "page.instances": "instancje", + "section.save": "zapisz", + "video.youtube.hls.title": "preferuj hls dla wideo i audio", + "audio.tiktok.original.title": "pobierz oryginalny dzwięk", + "metadata.filename.nerdy": "nerdowski", + "metadata.filename.description": "styl nazwy pliku będzie tylko użyty dla plików tunelowanych przez cobalta. niektóre usługi nie obsługują styl nazw pliku innych niż klasyczny.", + "accessibility.motion.title": "zmniejsz ruch", + "accessibility.motion.description": "wyłącza animacje i przejścia, gdy tylko jest to możliwe.", + "language.auto.title": "wybierz automatycznie", + "privacy.analytics": "anonimowa analiza ruchu", + "privacy.analytics.title": "nie przyczyniaj się do analiz", + "privacy.tunnel": "tunelowanie", + "privacy.tunnel.title": "zawsze tuneluj pliki", + "advanced.debug": "debugowanie", + "advanced.debug.title": "włącz funkcje debugowania", + "processing.override.title": "użyj serwera przetwarzania dostarczonego przez instancję", + "processing.community": "instancje społeczności", + "processing.enable_custom.title": "użyj niestandardowego serwera przetwarzania", + "processing.custom.placeholder": "domena niestandardowej instancji", + "accessibility.transparency.description": "zmniejsza przezroczystość powierzchni i wyłącza efekty rozmycia. może również poprawić wydajność interfejsu użytkownika na urządzeniach z niższej półki.", + "processing.enable_custom.description": "cobalt użyje niestandardowego serwera przetwarzania, jeśli tak wybierzesz. mimo że cobalt posiada pewne środki bezpieczeństwa, nie ponosimy odpowiedzialności za szkody wyrządzone przez instancję od społeczności, ponieważ nie mamy nad nimi kontroli.\n\nzwracaj uwagę na to, z jakich instancji korzystasz i upewnij się, że są one hostowane przez osoby, którym ufasz.", + "video.twitter.gif.title": "konwertuj zapętlone wideo na GIFy", + "video.twitter.gif.description": "konwersja GIF jest nieefektywna, przekonwertowany plik może być nieznośnie duży i niskiej jakości.", + "audio.bitrate.description": "bitrate jest stosowany tylko podczas konwersji audio do stratnego formatu. cobalt nie może polepszyć jakości dzwięku źródłowego, więc wybieranie bitrate ponad 128kbps może powiększyć rozmiar pliku bez słyszalnej różnicy. postrzegana jakość może się różnić w zależności od formatu.", + "privacy.analytics.learnmore": "dowiedz się więcej o zaangażowaniu plausible w ochronę prywatności.", + "processing.override": "napisanie domyślnej instancji", + "processing.override.description": "jeśli instancja strony internetowej zapewnia własny domyślny serwer przetwarzania, możesz wybrać by go użyć zamiast domyślnego serwera przetwarzania. upewnij się, że jest to serwer kogoś, komu ufasz.", + "video.youtube.codec": "kodek i kontener youtube", + "video.youtube.codec.description": "h264: najlepsza kompatybilność, średnia jakość. maksymalna jakość to 1080p. \nav1: najlepsza jakość i wydajność. obsługuje 8k i HDR. \nvp9: taka sama jakość jak av1, ale plik jest ~2x większy. obsługuje 4k i HDR.\n\nav1 i vp9 nie są tak szeroko wspierane jak h264. jeśli av1 lub vp9 nie są dostępne, h264 jest używany zamiast nich.", + "video.youtube.hls": "formaty hls youtube", + "video.youtube.hls.description": "pliki pobierają się szybciej i są mniej podatne na błędy lub nagłe odcięcie. tylko kodeki h264 i vp9 są wspierane w tym trybie. kodek oryginalnego audio jest aac, jest ponownie zakodowany dla kompatybilności, jakość audio może być trochę gorsza w porównaniu do wersji bez HLS.\n\nta opcja jest eksperymentalna, może zniknąć lub się zmienić w przyszłości.", + "video.tiktok.h265.description": "umożliwia pobieranie filmów w 1080p kosztem kompatybilności.", + "audio.tiktok.original.description": "cobalt pobierze dźwięk z wideo bez jakichkolwiek zmian wprowadzonych przez autora posta.", + "accessibility.transparency.title": "zmniejsz przezroczystość wizualną", + "language.preferred.description": "ten język zostanie użyty gdy automatycznie wybieranie jest wyłączone. każdy tekst, który nie jest przetłumaczony zostanie wyświetlony po angielsku.\n\nniektóre języki używają z tłumaczeń ze społeczności, mogą być niedokładne lub niekompletne.", + "privacy.analytics.description": "anonimowa analiza ruchu jest potrzebna do uzyskania przybliżonej liczby aktywnych użytkowników cobalta. żadne informacje umożliwiające zidentyfikowanie ciebie nigdy nie są przechowywane. wszystkie przetwarzane dane są zanimizowane i agregowane.\n\nużywamy samodzielnie hostowanej instancji plausible, która nie używa ciasteczek i jest w pełni zgodna z GDPR, CCPA, oraz PECR.", + "privacy.tunnel.description": "cobalt ukryje twój adres ip, informacje o przeglądarce i ominie lokalne ograniczenia sieci. kiedy włączone, pliki będą miały również czytelne nazwy plików, które w przeciwnym razie byłyby bełkotem.", + "advanced.debug.description": "daje ci dostęp do strony z różnymi informacjami, które mogą być przydatne do debugowania." +} diff --git a/web/i18n/pl/tabs.json b/web/i18n/pl/tabs.json new file mode 100644 index 00000000..880512fc --- /dev/null +++ b/web/i18n/pl/tabs.json @@ -0,0 +1,8 @@ +{ + "save": "zapisz", + "settings": "ustawienia", + "updates": "aktualizacje", + "donate": "podaruj", + "about": "o", + "remux": "remuxuj" +} diff --git a/web/i18n/pl/updates.json b/web/i18n/pl/updates.json new file mode 100644 index 00000000..17335cf8 --- /dev/null +++ b/web/i18n/pl/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "przejdź do starszego dziennika zmian ({{ value }})", + "button.previous": "przejdź do nowszego dziennika zmian ({{ value }})" +} diff --git a/web/i18n/pt/a11y/dialog.json b/web/i18n/pt/a11y/dialog.json new file mode 100644 index 00000000..04008f86 --- /dev/null +++ b/web/i18n/pt/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.video": "miniatura do vídeo", + "picker.item.gif": "miniatura do gif", + "picker.item.photo": "miniatura da foto" +} diff --git a/web/i18n/pt/a11y/donate.json b/web/i18n/pt/a11y/donate.json new file mode 100644 index 00000000..047baab0 --- /dev/null +++ b/web/i18n/pt/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr code. clique para expandir.", + "share.qr.collapse": "qr code expandido. pressione para fechar." +} diff --git a/web/i18n/pt/a11y/general.json b/web/i18n/pt/a11y/general.json new file mode 100644 index 00000000..b8398e8b --- /dev/null +++ b/web/i18n/pt/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "voltar" +} diff --git a/web/i18n/pt/a11y/queue.json b/web/i18n/pt/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/a11y/save.json b/web/i18n/pt/a11y/save.json new file mode 100644 index 00000000..e741a6cf --- /dev/null +++ b/web/i18n/pt/a11y/save.json @@ -0,0 +1,12 @@ +{ + "clear_input": "limpar entrada", + "download.check": "verificando o download...", + "link_area.turnstile": "área de entrada de link. verificando se você não é um robô.", + "tutorial.shortcut.photos": "adicionar atalho para fotos", + "link_area": "área de entrada de link", + "download": "descarregar", + "download.think": "processando o link...", + "download.done": "download pronto", + "download.error": "erro ao fazer download", + "tutorial.shortcut.files": "adicionar atalho para arquivos" +} diff --git a/web/i18n/pt/a11y/tabs.json b/web/i18n/pt/a11y/tabs.json new file mode 100644 index 00000000..2c96dfa5 --- /dev/null +++ b/web/i18n/pt/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "painel de abas" +} diff --git a/web/i18n/pt/about.json b/web/i18n/pt/about.json new file mode 100644 index 00000000..cb0caf56 --- /dev/null +++ b/web/i18n/pt/about.json @@ -0,0 +1,35 @@ +{ + "page.faq": "perguntas frequentes", + "page.privacy": "política de privacidade", + "page.credits": "agradecimento & licenças", + "community.discord": "servidor da comunidade no discord", + "community.twitter": "conta de novidades no twitter", + "community.email": "email de suporte", + "heading.general": "termos gerais", + "heading.licenses": "licenças", + "heading.summary": "o melhor jeito de salvar o que você ama", + "heading.privacy": "privacidade líder", + "heading.community": "comunidade aberta", + "heading.abuse": "denunciar abuso", + "heading.local": "processamento no dispositivo", + "heading.saving": "salvando", + "heading.encryption": "encriptação", + "heading.plausible": "análise de tráfego anônima", + "heading.cloudflare": "privacidade web & segurança", + "heading.responsibility": "responsabilidade do usuário", + "heading.motivation": "motivação", + "page.general": "o que é cobalt?", + "page.terms": "termos e ética", + "community.github": "repositório no github", + "community.telegram": "canal de novidades no telegram", + "page.community": "comunidade & suporte", + "heading.testers": "testadores beta", + "support.github": "confira o código-fonte do cobalt, contribua com alterações ou relate problemas", + "support.discord": "peça ajuda ou converse com a comunidade e os desenvolvedores sobre o cobalt", + "support.twitter": "acompanhe as atualizações e o desenvolvimento do cobalt no twitter", + "support.telegram": "mantenha-se atualizado das últimas atualizações do cobalt pelo telegram", + "support.description.issue": "se você quiser relatar um bug ou algum outro problema recorrente, por favor relate pelo github.", + "support.description.help": "Use o Discord para qualquer outra pergunta. Descreva o problema corretamente em #cobalt-support, caso contrário ninguém poderá ajudá-lo.", + "support.description.best-effort": "todo o suporte é feito com o máximo de esforço porém não é garantido; uma resposta pode levar algum tempo.", + "support.bluesky": "acompanhe as atualizações e o desenvolvimento do cobalt em seu feed do bluesky" +} diff --git a/web/i18n/pt/about/credits.md b/web/i18n/pt/about/credits.md new file mode 100644 index 00000000..e6822b9a --- /dev/null +++ b/web/i18n/pt/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +todos os links são externos e levam a seus sites pessoais ou redes sociais. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/pt/about/general.md b/web/i18n/pt/about/general.md new file mode 100644 index 00000000..082ad439 --- /dev/null +++ b/web/i18n/pt/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +o cobalt te ajuda a salvar qualquer coisa dos seus sites favoritos: vídeo, +áudio, fotos ou gifs. é só colar o link e pronto! + +sem anúncios, rastreadores, assinaturas ou outras bobeiras. só um aplicativo da +web conveniente que funciona em qualquer lugar, sempre que precisar. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/pt/about/privacy.md b/web/i18n/pt/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/pt/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/pt/about/terms.md b/web/i18n/pt/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/pt/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/pt/button.json b/web/i18n/pt/button.json new file mode 100644 index 00000000..da2532f1 --- /dev/null +++ b/web/i18n/pt/button.json @@ -0,0 +1,20 @@ +{ + "done": "pronto", + "download": "descarregar", + "gotit": "entendi", + "cancel": "cancelar", + "reset": "reiniciar", + "download.audio": "baixar aúdio", + "share": "compartilhar", + "copy": "copiar", + "copy.section": "copiar link da seção", + "copied": "copiado", + "import": "importar", + "continue": "continuar", + "star": "estrela", + "follow": "seguir", + "save": "salvar", + "export": "exportar", + "yes": "sim", + "no": "não" +} diff --git a/web/i18n/pt/dialog.json b/web/i18n/pt/dialog.json new file mode 100644 index 00000000..27d176fc --- /dev/null +++ b/web/i18n/pt/dialog.json @@ -0,0 +1,18 @@ +{ + "safety.custom_instance.body": "instâncias personalizadas podem potencialmente representar riscos de privacidade e segurança.\n\ninstâncias ruins podem:\n1. redirecionar você para longe do cobalt e tentar enganá-lo.\n2. registrar todas as informações sobre suas solicitações, armazená-las para sempre e usá-las para rastreá-lo.\n3. fornecer arquivos maliciosos (como vírus).\n4. forçá-lo a assistir anúncios ou fazer você pagar pelo download.\n\ndepois desse ponto, não podemos protegê-lo. esteja atento a quais instâncias usar e sempre confie em seu instinto. se algo parecer estranho, volte a esta página, redefina a instância personalizada e nos informe no github.", + "reset.title": "apagar todas as configurações?", + "reset.body": "você tem certeza que quer apagar todas as configurações? essa ação é imediata e irreversível.", + "picker.title": "selecione o que salvar", + "picker.description.desktop": "clique em um item para salvar. imagens também podem ser salvas usando o menu do botão direito.", + "picker.description.ios": "pressione um item para salvar com o atalho. imagens também podem ser salvas com um toque longo.", + "saving.title": "escolha como salvar", + "saving.blocked": "cobalt tentou abrir o arquivo em uma nova guia, mas seu navegador bloqueou. você pode permitir pop-ups para evitar que isso aconteça novamente.", + "saving.timeout": "cobalt tentou baixar o arquivo automaticamente, mas seu navegador não permitiu. você precisa escolher uma maneira para salvar manualmente.", + "safety.title": "notícia importante de segurança", + "import.body": "importar arquivos desconhecidos ou corrompidos pode alterar ou quebrar inesperadamente a funcionalidade do cobalt. importe apenas arquivos que você exportou pessoalmente e não modificou. se alguém lhe pediu para importar este arquivo, não continue.\n\nnão somos responsáveis por nenhum dano causado pela importação de arquivos de configuração desconhecidos.", + "api.override.title": "substituir instância de processamento", + "api.override.body": "{{ value }} é a instância de processamento agora. se você não confia nela, aperte em \"cancelar\".\n\nvocê pode alterar isso depois nas configurações de processamento.", + "processing.ongoing": "cobalt está processando mídia nesta guia. se você sair, isso será abortado. tem certeza de que deseja fazer isso?", + "processing.title.ongoing": "o processamento será cancelado", + "picker.description.phone": "pressione em um item para salvar. imagens também podem ser salvas com um toque longo." +} diff --git a/web/i18n/pt/donate.json b/web/i18n/pt/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/error.json b/web/i18n/pt/error.json new file mode 100644 index 00000000..bf550d83 --- /dev/null +++ b/web/i18n/pt/error.json @@ -0,0 +1,16 @@ +{ + "captcha_ongoing": "ainda verificando se você não é um robô. espere o spinner desaparecer e tente novamente.\n\nse demorar muito, por favor nos avise! usamos o turnstile da cloudflare para proteção de bots e às vezes ele bloqueia as pessoas sem motivo.", + "api.auth.turnstile.missing": "não foi possível confirmar se você não é um robô porque o servidor não recebeu seu token de acesso humano. tente novamente em alguns segundos ou recarregue a página!", + "api.timed_out": "o servidor demorou muito para responder. talvez ele esteja sobrecarregado no momento, tente de novo mais tarde!", + "remux.out_of_resources": "cobalt ficou sem recursos e não pode continuar com o processamento no dispositivo. isso está relacionado a limitações no seu navegador. tente atualizar ou reabrir o aplicativo e tente novamente. alguns dispositivos só conseguem processar arquivos pequenos.", + "import.no_data": "não tem nada nesse arquivo. tem certeza que este é o certo?", + "import.invalid": "seu arquivo não parece ter configurações válidas para ser importado. tem certeza que é esse mesmo?", + "import.unknown": "não consegui carregar os dados do arquivo. ele pode estar corrompido ou está num formato inválido. mensagem de erro:\n\n{{ value }}", + "remux.corrupted": "não foi possível ler os metadados do arquivo, talvez ele esteja corrompido.", + "tunnel.probe": "não consegui ver se você pode baixar esse arquivo. tente novamente em alguns segundos!", + "api.auth.jwt.missing": "não foi possível confirmar se você não é um robô porque o servidor de processamento não recebeu o token de acesso humano. tente novamente em alguns segundos ou recarregue a página!", + "api.auth.jwt.invalid": "não foi possível confirmar se você não é um robô porque seu token de acesso humano expirou e não foi renovado. tente novamente em alguns segundos ou recarregue a página!", + "api.auth.turnstile.invalid": "não foi possível confirmar se você não é um robô porque seu token de acesso humano expirou e não foi renovado. tente novamente em alguns segundos ou recarregue a página!", + "api.unreachable": "não consegui conectar ao servidor de processamento. verifique sua conexão a internet e tenta de novo.", + "api.rate_exceeded": "você fez muitas requisições. tente novamente em {{ limit }} segundos!" +} diff --git a/web/i18n/pt/error/api.json b/web/i18n/pt/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/error/queue.json b/web/i18n/pt/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/general.json b/web/i18n/pt/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/notification.json b/web/i18n/pt/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/queue.json b/web/i18n/pt/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/receiver.json b/web/i18n/pt/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/remux.json b/web/i18n/pt/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/save.json b/web/i18n/pt/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt/settings.json b/web/i18n/pt/settings.json new file mode 100644 index 00000000..936a0b08 --- /dev/null +++ b/web/i18n/pt/settings.json @@ -0,0 +1,3 @@ +{ + "page.appearance": "aparência" +} diff --git a/web/i18n/pt/tabs.json b/web/i18n/pt/tabs.json new file mode 100644 index 00000000..90d5b1b9 --- /dev/null +++ b/web/i18n/pt/tabs.json @@ -0,0 +1,3 @@ +{ + "save": "salvar" +} diff --git a/web/i18n/pt/updates.json b/web/i18n/pt/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/a11y/dialog.json b/web/i18n/pt_BR/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/a11y/donate.json b/web/i18n/pt_BR/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/a11y/general.json b/web/i18n/pt_BR/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/a11y/queue.json b/web/i18n/pt_BR/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/a11y/save.json b/web/i18n/pt_BR/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/a11y/tabs.json b/web/i18n/pt_BR/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/about.json b/web/i18n/pt_BR/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/about/credits.md b/web/i18n/pt_BR/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/pt_BR/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/pt_BR/about/general.md b/web/i18n/pt_BR/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/pt_BR/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/pt_BR/about/privacy.md b/web/i18n/pt_BR/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/pt_BR/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/pt_BR/about/terms.md b/web/i18n/pt_BR/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/pt_BR/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/pt_BR/button.json b/web/i18n/pt_BR/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/dialog.json b/web/i18n/pt_BR/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/donate.json b/web/i18n/pt_BR/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/error.json b/web/i18n/pt_BR/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/error/api.json b/web/i18n/pt_BR/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/error/queue.json b/web/i18n/pt_BR/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/general.json b/web/i18n/pt_BR/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/notification.json b/web/i18n/pt_BR/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/queue.json b/web/i18n/pt_BR/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/receiver.json b/web/i18n/pt_BR/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/remux.json b/web/i18n/pt_BR/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/save.json b/web/i18n/pt_BR/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/settings.json b/web/i18n/pt_BR/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/tabs.json b/web/i18n/pt_BR/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/pt_BR/updates.json b/web/i18n/pt_BR/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/pt_BR/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/a11y/dialog.json b/web/i18n/ro/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/a11y/donate.json b/web/i18n/ro/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/a11y/general.json b/web/i18n/ro/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/a11y/queue.json b/web/i18n/ro/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/a11y/save.json b/web/i18n/ro/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/a11y/tabs.json b/web/i18n/ro/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/about.json b/web/i18n/ro/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/about/credits.md b/web/i18n/ro/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ro/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ro/about/general.md b/web/i18n/ro/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/ro/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ro/about/privacy.md b/web/i18n/ro/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/ro/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ro/about/terms.md b/web/i18n/ro/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ro/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ro/button.json b/web/i18n/ro/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/dialog.json b/web/i18n/ro/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/donate.json b/web/i18n/ro/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/error.json b/web/i18n/ro/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/error/api.json b/web/i18n/ro/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/error/queue.json b/web/i18n/ro/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/general.json b/web/i18n/ro/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/notification.json b/web/i18n/ro/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/queue.json b/web/i18n/ro/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/receiver.json b/web/i18n/ro/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/remux.json b/web/i18n/ro/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/save.json b/web/i18n/ro/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/settings.json b/web/i18n/ro/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/tabs.json b/web/i18n/ro/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ro/updates.json b/web/i18n/ro/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ro/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ru/a11y/dialog.json b/web/i18n/ru/a11y/dialog.json new file mode 100644 index 00000000..ea7c32ce --- /dev/null +++ b/web/i18n/ru/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "превью фотографии", + "picker.item.video": "превью видео", + "picker.item.gif": "превью gif" +} diff --git a/web/i18n/ru/a11y/donate.json b/web/i18n/ru/a11y/donate.json new file mode 100644 index 00000000..93561b71 --- /dev/null +++ b/web/i18n/ru/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr-код. нажми, чтобы развернуть.", + "share.qr.collapse": "развёрнутый qr-код. нажми, чтобы свернуть." +} diff --git a/web/i18n/ru/a11y/queue.json b/web/i18n/ru/a11y/queue.json new file mode 100644 index 00000000..3921c99b --- /dev/null +++ b/web/i18n/ru/a11y/queue.json @@ -0,0 +1,5 @@ +{ + "status.completed": "очередь обработки. все задачи завершены.", + "status.ongoing": "очередь обработки. есть текущие задачи.", + "status.default": "очередь обработки" +} diff --git a/web/i18n/ru/a11y/save.json b/web/i18n/ru/a11y/save.json index d6def5e5..5cf07427 100644 --- a/web/i18n/ru/a11y/save.json +++ b/web/i18n/ru/a11y/save.json @@ -1,9 +1,12 @@ { - "link_area": "зона вставки ссылки", - "clear_input": "clear input", + "link_area": "область ввода ссылки", + "clear_input": "очистить поле ввода", "download": "скачать", "download.think": "обрабатываю ссылку...", "download.check": "проверяю загрузку...", - "download.done": "загрузка завершена!", - "download.error": "ошибка загрузки" + "download.done": "загрузка завершена", + "download.error": "ошибка загрузки", + "link_area.turnstile": "область ввода ссылки. проверяю, что ты не робот.", + "tutorial.shortcut.photos": "добавить команду \"в фото\"", + "tutorial.shortcut.files": "добавить команду \"в файлы\"" } diff --git a/web/i18n/ru/about.json b/web/i18n/ru/about.json new file mode 100644 index 00000000..8a5f758a --- /dev/null +++ b/web/i18n/ru/about.json @@ -0,0 +1,37 @@ +{ + "page.general": "что такое кобальт?", + "heading.general": "общие условия", + "heading.saving": "скачивание", + "heading.encryption": "шифрование", + "heading.abuse": "сообщение о злоупотреблении", + "heading.motivation": "мотивация", + "heading.licenses": "лицензии", + "heading.summary": "лучший способ сохранять то, что ты любишь", + "heading.privacy": "", + "page.faq": "", + "page.community": "сообщество и поддержка", + "page.privacy": "конфиденциальность", + "page.terms": "условия и этика", + "page.credits": "благодарности и лицензии", + "community.discord": "", + "community.twitter": "", + "community.github": "", + "community.email": "", + "community.telegram": "", + "heading.testers": "бета-тестеры", + "heading.community": "открытое сообщество", + "heading.local": "обработка на устройстве", + "heading.plausible": "анонимная аналитика трафика", + "heading.cloudflare": "веб-приватность и безопасность", + "heading.responsibility": "ответственности пользователя", + "support.github": "смотри исходный код кобальта, вноси свой вклад или сообщай о проблемах", + "support.discord": "общайся с сообществом и разработчиками кобальта или попроси о помощи", + "support.description.issue": "если ты хочешь сообщить о баге или какой-то другой повторяющейся проблеме, то делай это на github.", + "support.description.help": "используй discord для любых других вопросов. чётко опиши проблему в #cobalt-support, иначе никто не сможет тебе помочь.", + "support.twitter": "следи за обновлениями и разработкой кобальта в своей ленте твиттера", + "support.telegram": "следи за обновлениями кобальта в телеграм-канале", + "support.description.best-effort": "вся поддержка осуществляется по мере возможности и не гарантируется, а ответ может занять какое-то время.", + "heading.privacy_efficiency": "лучшая приватность и эффективность", + "heading.partners": "партнёры", + "support.bluesky": "следи за обновлениями и разработкой кобальта в своей ленте bluesky" +} diff --git a/web/i18n/ru/about/credits.md b/web/i18n/ru/about/credits.md new file mode 100644 index 00000000..a58bd223 --- /dev/null +++ b/web/i18n/ru/about/credits.md @@ -0,0 +1,94 @@ + + +
+ + +кобальт сделан с любовью и заботой руками [imput](https://imput.net/) ❤️ + +мы маленькая команда из двух человек, но мы очень усердно работаем, чтобы делать +классный софт, который приносит пользу всем. если тебе нравится то, что мы +делаем, поддержи нас на [странице донатов](/donate)! +
+ +
+ + +огромное спасибо нашим тестерам за то, что они тестировали обновления заранее и +следили за их стабильностью. они ещё помогли нам выпустить cobalt 10! + + +все ссылки внешние и ведут на их личные сайты или соцсети. +
+ +
+ + +часть инфраструктуры кобальта предоставлена нашим давним партнёром, +[royalehosting.net]({partners.royalehosting})! +
+ +
+ + +мяубальт — это шустрый маскот кобальта, очень выразительный кот, который любит +быстрый интернет. + +весь потрясающий арт мяубальта, который ты видишь в кобальте, был сделан +[GlitchyPSI](https://glitchypsi.xyz/). он ещё и оригинальный создатель этого +персонажа. + +imput владеет юридическими правами на дизайн персонажа мяубальта, но не на +конкретные арты, которые были созданы GlitchyPSI. + +мы любим мяубальта, поэтому мы вынуждены установить пару правил, чтобы его +защитить: +- ты не можешь использовать дизайн персонажа мяубальта ни в какой форме, кроме + фанарта. +- ты не можешь использовать дизайн или арты мяубальта в коммерческих целях. +- ты не можешь использовать дизайн или арты мяубальта в своих проектах. +- ты не можешь использовать или изменять работы GlitchyPSI с мяубальтом ни в + каком виде. + +если ты нарисуешь фанарт мяубальта, не стесняйся делиться им в [нашем +дискорд-сервере](/about/community), мы с нетерпением ждём! +
+ +
+ + +код api (сервера обработки) кобальта — open source и распространяется по +лицензии [AGPL-3.0]({docs.apiLicense}). + +код фронтенда кобальта — [source first](https://sourcefirst.com/) и +распространяется по лицензии [CC-BY-NC-SA 4.0]({docs.webLicense}). + +нам пришлось сделать фронтенд source first, чтобы грифтеры не наживались на +нашем труде и не создавали вредоносные клоны для обмана людей и порче нашей +репутации. кроме коммерческого использования, у этого типа лицензии те же +принципы, что и у многих open source лицензий. + +мы используем много опенсорсных библиотек, но также создаём и распространяем +свои собственные. полный список зависимостей можно посмотреть на +[github]({contacts.github})! +
diff --git a/web/i18n/ru/about/general.md b/web/i18n/ru/about/general.md new file mode 100644 index 00000000..1657ca7b --- /dev/null +++ b/web/i18n/ru/about/general.md @@ -0,0 +1,79 @@ + + +
+ + +кобальт помогает сохранять что угодно с твоих любимых сайтов: видео, аудио, фото +или гифки. просто вставь ссылку и вперёд! + +никакой рекламы, трекеров, платных подписок и прочей ерунды. просто удобное +веб-приложение, которое работает где угодно и когда угодно. +
+ +
+ + +кобальт был создан для всеобщего блага, чтобы защитить людей от рекламы и +вредоносных программ, которые навязывают альтернативные загрузчики. мы верим, +что лучший софт — безопасный, открытый и доступный. все проекты imput следуют +этим принципам. +
+ +
+ + +все запросы к бэкенду анонимны, и вся инфа о потенциальных файловых туннелях +зашифрована. у нас строгая политика нулевых логов, мы *никогда* не храним +идентифицирующую инфу о людях и никого не отслеживаем. + +если запрос требует дополнительной обработки, например ремукса или +транскодирования, то кобальт обрабатывает медиафайлы прямо на твоём устройстве. +это обеспечивает максимальную эффективность и приватность. + +если твоё устройство не поддерживает локальную обработку, то вместо неё +используется серверная обработка в реальном времени. в этом сценарии +обработанные медиаданные передаются напрямую клиенту, никогда не сохраняясь на +диске сервера. + +ты можешь [включить принудительное туннелирование](/settings/privacy#tunnel), +чтобы ещё сильнее повысить приватность. когда оно включено, кобальт будет +туннелировать все скачиваемые файлы, а не только те, которым это необходимо. +никто не узнает, откуда и что ты скачиваешь, даже твой провайдер. всё, что они +увидят, это то, что ты используешь инстанс кобальта. +
+ +
+ + +кобальт используют бесчисленные артисты, преподаватели и прочие создатели +контента, чтобы заниматься любимым делом. мы всегда на связи с нашим сообществом +и работаем вместе, чтобы делать кобальт ещё полезнее. не стесняйся +[присоединиться к разговору](/about/community)! + +мы верим, что будущее интернета — открытое и свободное, поэтому кобальт +опубликован с [открытым исходным кодом](https://sourcefirst.com/) и его можно +легко [захостить самому]({docs.instanceHosting}). + +если твой друг хостит инстанс обработки, просто попроси у него домен и [добавь +его в настройках инстанса](/settings/instances#community). + +ты можешь посмотреть исходный код и внести свой вклад [на +github]({contacts.github}) в любое время. мы рады любым предложениям и помощи! +
diff --git a/web/i18n/ru/about/privacy.md b/web/i18n/ru/about/privacy.md new file mode 100644 index 00000000..d8522f99 --- /dev/null +++ b/web/i18n/ru/about/privacy.md @@ -0,0 +1,129 @@ + + +
+ + +политика конфиденциальности кобальта проста: мы ничего не собираем и не храним о +тебе. то, что ты делаешь, — это исключительно твоё дело, а не наше или чьё-либо +ещё. + +эти условия применяются только при использовании официального инстанса кобальта. +в других случаях, возможно, придётся обратиться к хостеру инстанса за точной +информацией. +
+ +
+ + +инструменты, которые используют обработку на устройстве, работают офлайн, +локально и никогда никуда не отправляют обработанные данные. они явно помечены +как таковые, когда это применимо. +
+ +
+ + +при использовании функции сохранения, кобальту может понадобиться проксировать +или ремуксировать/транскодировать файлы. если это так, то для этой цели +создаётся временный туннель, и минимально необходимая информация о медиа +хранится в течение 90 секунд. + +на неизменённом и официальном инстансе кобальта **все данные туннеля шифруются +ключом, к которому имеет доступ только конечный пользователь**. + +зашифрованные данные туннеля могут включать: +- название исходного сервиса. +- исходные ссылки на медиафайлы. +- необходимые внутренние аргументы для различения типов обработки. +- ключевые метаданные файла (сгенерированное имя, заголовок, автор, год + создания, данные об авторских правах). +- минимальная информация об исходном запросе, которая может быть использована + для восстановления туннеля после ошибки ссылки во время скачивания. + +эти данные безвозвратно удаляются из оперативной памяти сервера через 90 секунд. +никто не имеет доступа к кэшированным данным туннеля, даже владельцы инстансов, +если исходный код кобальта не изменён. + +медиаданные из туннелей нигде не хранятся/кэшируются. всё обрабатывается в +реальном времени, даже при ремуксинге и транскодировании. туннели кобальта +работают как анонимный прокси. + +если твоё устройство поддерживает локальную обработку, то зашифрованный туннель +содержит намного меньше информации, потому что она возвращается клиенту. + +смотри [соответствующий исходный код на +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream), чтобы +узнать больше о том, как это работает. +
+ +
+ + +временно хранящиеся данные туннеля шифруются с использованием стандарта AES-256. +ключи расшифровки включены только в ссылку доступа и никогда не +логируются/кэшируются/хранятся где-либо. только конечный пользователь имеет +доступ к ссылке и ключам шифрования. ключи генерируются уникально для каждого +запрошенного туннеля. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +мы используем [plausible](https://plausible.io/), чтобы знать приблизительное +число активных пользователей кобальта, полностью анонимно. никакая +идентифицирующая информация о тебе или твоих запросах никогда не хранится. все +данные анонимизированы и агрегированы. мы сами хостим и управляем [инстансом +plausible](https://{env.PLAUSIBLE_HOST}/), который использует кобальт. + +plausible не использует куки и полностью соответствует GDPR, CCPA и PECR. + +если ты хочешь отказаться от анонимной аналитики, то это можно сделать в +[настройках приватности](/settings/privacy#analytics). после отказа скрипт +plausible не будет загружаться. + +[узнай больше о преданности plausible к +приватности](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +мы используем сервисы cloudflare для: +- защиты от ddos и абьюза. +- защиты от ботов (cloudflare turnstile). +- хостинга и деплоя статического веб-приложения (cloudflare workers). + +всё это необходимо для обеспечения лучшего опыта для всех. cloudflare — наиболее +приватный и надёжный провайдер всех упомянутых решений из всех известных нам +провайдеров. + +cloudflare полностью соответствует требованиям GDPR и HIPAA. + +[узнай больше о преданности cloudflare к +приватности](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ru/about/terms.md b/web/i18n/ru/about/terms.md new file mode 100644 index 00000000..edb6df38 --- /dev/null +++ b/web/i18n/ru/about/terms.md @@ -0,0 +1,69 @@ + + +
+ + +эти условия применяются только при использовании официального инстанса кобальта. +в других случаях, возможно, придётся обратиться к хостеру инстанса за точной +информацией. +
+ +
+ + +функция сохранения упрощает скачивание контента из интернета, и мы не несём +никакой ответственности за то, как будет использоваться сохранённый контент. + +серверы обработки работают как продвинутые прокси и никогда не записывают +запрошенный контент на диск. всё происходит в оперативной памяти и полностью +удаляется после завершения туннеля. у нас нет логов загрузок, и мы не можем +никого идентифицировать. + +подробнее о том, как работают туннели, можно узнать в [политике +конфиденциальности](/about/privacy). +
+ +
+ + +ты (конечный пользователь) несёшь ответственность за то, что делаешь с нашими +инструментами, как используешь и распространяешь полученный контент. пожалуйста, +уважай чужой труд и всегда указывай авторов. убедись, что ты не нарушаешь +никаких условий или лицензий. + +при использовании в образовательных целях всегда ссылайся на источники и +указывай авторов. + +добросовестное использование и указание авторства приносят пользу всем. +
+ +
+ + +у нас нет возможности автоматически выявлять злоупотребления, так как кобальт +полностью анонимен. однако, есть возможность сообщить нам о такой деятельности +по почте, и мы сделаем всё возможное, чтобы принять нужные меры вручную: +abuse[at]imput.net + +**этот адрес не предназначен для поддержки пользователей. ты не получишь ответ, +если твой запрос не связан со злоупотреблениями.** + +если у тебя возникли проблемы с работой кобальта, то ты можешь обратиться за +помощью любым удобным способом на [странице поддержки и +сообщества](/about/community). +
diff --git a/web/i18n/ru/button.json b/web/i18n/ru/button.json new file mode 100644 index 00000000..d87f75b8 --- /dev/null +++ b/web/i18n/ru/button.json @@ -0,0 +1,27 @@ +{ + "download.audio": "скачать аудио", + "import": "импортировать", + "copied": "скопировано", + "copy": "скопировать", + "share": "поделиться", + "download": "скачать", + "no": "нет", + "yes": "да", + "save": "скачать", + "continue": "продолжить", + "done": "готово", + "reset": "сбросить", + "cancel": "отменить", + "export": "экспортировать", + "gotit": "понятно", + "copy.section": "скопировать ссылку на раздел", + "clear_input": "очистить поле ввода", + "show_input": "показать ввод", + "hide_input": "скрыть ввод", + "restore_input": "восстановить ввод", + "clear": "очистить", + "remove": "убрать", + "clear_cache": "очистить кэш", + "retry": "повторить", + "delete": "удалить" +} diff --git a/web/i18n/ru/dialog.json b/web/i18n/ru/dialog.json new file mode 100644 index 00000000..e7a4a58a --- /dev/null +++ b/web/i18n/ru/dialog.json @@ -0,0 +1,18 @@ +{ + "reset.title": "cбросить все данные?", + "reset.body": "ты уверен что хочешь сбросить все настройки? это действие немедленно и необратимо.", + "picker.title": "что сохранить?", + "saving.title": "как сохранить?", + "saving.timeout": "кобальт попытался сохранить файл автоматически, но твой браузер остановил это. выбери способ вручную.", + "reset_settings.title": "сбросить все настройки?", + "reset_settings.body": "ты точно хочешь сбросить все настройки? это действие мгновенное и необратимое.", + "picker.description.phone": "нажми на то, что хочешь скачать. картинки также можно скачать долгим нажатием.", + "picker.description.desktop": "кликни на то, что хочешь скачать. картинки также можно скачать через контекстное меню.", + "picker.description.ios": "нажми на то, что хочешь скачать через команду siri. картинки также можно скачать долгим нажатием.", + "saving.blocked": "кобальт попытался открыть файл в новой вкладке, но твой браузер заблокировал это. разреши всплывающие окна для кобальта, чтобы избежать этого в следующий раз.", + "clear_cache.title": "очистить весь кэш?", + "import.body": "импорт неизвестных или повреждённых файлов может неожиданно изменить или сломать работу кобальта. импортируй только те файлы, которые ты экспортировал сам и не изменял. если кто-то попросил тебя импортировать этот файл — не делай этого.\n\nмы не несём ответственности за любой вред, причинённый импортом неизвестных файлов настроек.", + "safety.custom_instance.body": "сторонние инстансы могут быть опасны для твоей приватности и безопасности.\n\nвредоносные инстансы могут:\n1. перенаправлять тебя с кобальта и пытаться обмануть.\n2. записывать всю информацию о твоих запросах, хранить её вечно и использовать для слежки за тобой.\n3. скачивать вредоносные файлы (например, вирусы).\n4. заставлять тебя смотреть рекламу или платить за скачивание.\n\nпосле этого момента мы не сможем тебя защитить. пожалуйста, будь осторожен с выбором инстанса и всегда доверяй своей интуиции. если что-то кажется странным, то вернись на эту страницу, сбрось пользовательский инстанс и сообщи нам об этом на github.", + "clear_cache.body": "все файлы из очереди обработки будут удалены и локальные фичи займут больше времени на загрузку. это действие мгновенное и необратимое.", + "safety.title": "важное предупреждение о безопасности" +} diff --git a/web/i18n/ru/donate.json b/web/i18n/ru/donate.json new file mode 100644 index 00000000..9b88340a --- /dev/null +++ b/web/i18n/ru/donate.json @@ -0,0 +1,29 @@ +{ + "card.once": "одноразовый донат", + "card.option.30": "обед для двоих", + "body.no_bullshit": "мы считаем, что интернет не должен быть страшным. поэтому в кобальте никогда не будет рекламы или другого вредоносного контента. это обещание, за которым мы стоим горой. всё, что мы делаем, создаётся с учётом конфиденциальности, доступности и простоты использования, что делает кобальт доступным для всех.", + "card.custom": "своя сумма (от $2)", + "card.processor": "через {{value}}", + "card.option.5": "чашка кофе", + "card.option.50": "10кг кошачьего корма", + "card.option.1599": "базовый макбук", + "card.option.4900": "10,000 яблок", + "share.title": "поделись кобальтом с другом", + "alternative.title": "альтернативные способы доната", + "alt.copy": "{{ value }}. адрес криптокошелька. нажми, чтобы скопировать.", + "alt.open": "{{ value }}. нажми, чтобы открыть.", + "body.motivation": "кобальт помогает продюсерам, преподавателям, видеомейкерам и многим другим заниматься тем, что они любят. это особый сервис, создающийся с любовью, а не ради прибыли.", + "body.keep_going": "если кобальт помог тебе, пожалуйста, подумай над тем, чтобы поддержать нашу работу! ты можешь поддержать нас донатом, либо поделившись кобальтом с другом. каждый донат очень ценится и помогает нам продолжать работу над кобальтом и другими проектами.", + "card.recurring": "регулярный донат", + "card.option.10": "большая пицца", + "card.option.15": "полный обед", + "card.custom.submit": "своя сумма", + "banner.title": "Поддержи безопасный\nи открытый Интернет", + "banner.subtitle": "поддержи imput или поделись\nкобальтом с другом", + "card.option.100": "один год доменов", + "card.option.200": "аэрогриль", + "card.option.500": "крутое офисное кресло", + "card.option.7398": "флагманский макбук", + "card.option.8629": "маленький земельный участок", + "card.option.9433": "джакузи класса люкс" +} diff --git a/web/i18n/ru/error.json b/web/i18n/ru/error.json new file mode 100644 index 00000000..e7ed5a5a --- /dev/null +++ b/web/i18n/ru/error.json @@ -0,0 +1,10 @@ +{ + "api.link.invalid": "ваша ссылка недействительная либо этот сервис ещё не поддерживается. вы вставили правильную ссылку?", + "api.rate_exceeded": "вы делаете слишком много запросов. попробуйте снова через {{ limit }} секунд!", + "pipeline.missing_response_data": "инстанс обработки не ответил с нужной информацией о файле, поэтому я не могу создать задачи для локальной обработки. попробуй ещё раз через несколько секунд и сообщи о проблеме, если она не исчезнет!", + "captcha_too_long": "cloudflare turnstile слишком долго проверяет, что ты не бот. попробуй ещё раз, но если снова появится эта ошибка, то можно попробовать: отключить странные расширения браузера, сменить сеть, использовать другой браузер или проверить устройство на наличие вредоносных программ.", + "import.invalid": "в этом файле нет совместимых настроек кобальта для импорта. ты уверен, что это тот файл?", + "tunnel.probe": "не удалось протестировать этот туннель. возможно, твой браузер или настройки сети блокируют доступ к одному из серверов кобальта. ты уверен, что у тебя нет каких-то странных расширений для браузера?", + "import.unknown": "не удалось загрузить данные из файла. возможно, он повреждён или не того формата. вот ошибка, которую я получил:\n\n{{ value }}", + "import.no_data": "из этого файла нечего загружать. ты уверен, что это тот файл?" +} diff --git a/web/i18n/ru/error/api.json b/web/i18n/ru/error/api.json new file mode 100644 index 00000000..280d6717 --- /dev/null +++ b/web/i18n/ru/error/api.json @@ -0,0 +1,50 @@ +{ + "auth.jwt.invalid": "не удалось пройти аутентификацию с инстансом обработки, потому что токен доступа недействителен. попробуй ещё раз через пару секунд или перезагрузи страницу!", + "auth.turnstile.invalid": "не удалось пройти аутентификацию с инстансом обработки, потому что решение капчи недействительно. попробуй ещё раз через пару секунд или перезагрузи страницу!", + "auth.key.not_api_key": "для использования этого инстанса нужен ключ доступа, но его нет. добавь его в настройках!", + "auth.key.invalid": "ключ доступа недействителен. сбрось его в настройках инстанса и используй правильный!", + "auth.key.ua_not_allowed": "ты не можешь использовать этот ключ доступа с текущего юзер агента. попробуй другой клиент или устройство!", + "unreachable": "не удалось подключиться к инстансу обработки. проверь своё интернет-соединение и попробуй ещё раз!", + "rate_exceeded": "ты делаешь слишком много запросов. попробуй снова через {{ limit }}с.", + "capacity": "кобальт сейчас перегружен и не может обработать твой запрос. попробуй ещё раз через пару секунд!", + "service.unsupported": "этот сервис ещё не поддерживается. ты уверен, что вставил правильную ссылку?", + "service.audio_not_supported": "этот сервис не поддерживает извлечение аудио. попробуй ссылку с другого сервиса!", + "link.invalid": "твоя ссылка недействительна или этот сервис ещё не поддерживается. ты точно вставил правильную ссылку?", + "fetch.fail": "что-то пошло не так при получении инфы из {{ service }}, и я ничего не смог для тебя достать. если эта проблема не исчезнет, пожалуйста, сообщи о ней!", + "auth.jwt.missing": "не удалось пройти аутентификацию с инстансом обработки, потому что отсутствует токен доступа. попробуй ещё раз через пару секунд или перезагрузи страницу!", + "auth.key.missing": "для использования этого инстанса нужен ключ доступа, но его нет. добавь его в настройках!", + "generic": "что-то пошло не так, и я не смог ничего найти для тебя. попробуй ещё раз через пару секунд. если проблема останется, пожалуйста, сообщи об этом!", + "auth.turnstile.missing": "не удалось пройти аутентификацию с инстансом обработки, потому что отсутствует решение капчи. попробуй ещё раз через пару секунд или перезагрузи страницу!", + "unknown_response": "не удалось прочитать ответ от инстанса обработки. скорее всего, причина в том, что веб-приложение устарело. перезагрузи его и попробуй снова!", + "auth.key.not_found": "использованный тобой ключ доступа не найден. ты уверен, что у этого инстанса есть твой ключ?", + "invalid_body": "не удалось отправить запрос на инстанс обработки. скорее всего, причина в том, что веб-приложение устарело. перезагрузи его и попробуй снова!", + "auth.key.invalid_ip": "не удалось распарсить твой ip-адрес. что-то пошло совсем не так, пожалуйста, сообщи об этой ошибке!", + "auth.key.ip_not_allowed": "ты не можешь использовать этот ключ доступа с текущего ip-адреса. попробуй другой инстанс или сеть!", + "timed_out": "инстанс обработки слишком долго не отвечал. возможно, он сейчас перегружен, попробуй ещё раз через пару секунд!", + "service.disabled": "этот сервис обычно поддерживается кобальтом, но он отключён на этом инстансе. попробуй ссылку с другого сервиса!", + "link.unsupported": "{{ service }} поддерживается, но я не смог распознать твою ссылку. ты точно вставил правильную?", + "fetch.critical": "модуль {{ service }} вернул ошибку, которую я не узнаю. попробуй ещё раз через пару секунд, но если проблема останется, пожалуйста, сообщи о ней!", + "content.too_long": "запрошенное медиа слишком длинное. лимит длительности на этом инстансе — {{ limit }}мин. попробуй что-нибудь покороче!", + "content.video.unavailable": "я не могу получить доступ к этому видео. оно может быть ограничено со стороны {{ service }}. попробуй другую ссылку!", + "content.video.private": "это видео приватное, поэтому я не могу получить к нему доступ. измени его видимость или попробуй другое!", + "content.video.region": "это видео ограничено по региону, а инстанс обработки находится в другом месте. попробуй другую ссылку!", + "content.paid": "этот контент требует покупки. кобальт не может скачивать платный контент. попробуй другую ссылку!", + "content.post.private": "не удалось получить инфу об этом посте, потому что он от закрытого аккаунта. попробуй другую ссылку!", + "youtube.token_expired": "не удалось получить это видео, потому что токен youtube истёк и не был обновлён. попробуй ещё раз через пару секунд, но если так и не заработает, пожалуйста, сообщи об этой проблеме!", + "youtube.no_hls_streams": "не удалось найти ни одного подходящего HLS-потока для этого видео. попробуй скачать его без HLS!", + "youtube.api_error": "youtube что-то обновил в своём api, и я не смог получить инфу об этом видео. попробуй ещё раз через пару секунд, но если проблема останется, пожалуйста, сообщи о ней!", + "youtube.drm": "это youtube-видео защищено widevine DRM, так что я не могу его скачать. попробуй другую ссылку!", + "fetch.rate": "{{ service }} ограничил частоту запросов от инстанса обработки. попробуй ещё раз через пару секунд!", + "youtube.temporary_disabled": "скачивание с youtube временно отключено из-за ограничений со стороны youtube. мы уже ищем способы их обойти.\n\nприносим извинения за неудобства и делаем всё возможное, чтобы восстановить эту функциональность. следи за обновлениями в соцсетях или на github!", + "content.video.age": "это видео ограничено по возрасту, поэтому я не могу получить его анонимно. попробуй ещё раз или попробуй другую ссылку!", + "content.region": "этот контент ограничен по региону, а инстанс обработки находится в другом месте. попробуй другую ссылку!", + "youtube.no_matching_format": "youtube не вернул подходящую комбинацию видео и аудио форматов: либо видео, либо аудио отсутствует. возможно, форматы для этого видео перекодируются на стороне youtube, или же что-то пошло не так при их парсинге. попробуй ещё раз чуть позже!", + "youtube.no_session_tokens": "не удалось получить необходимые токены сессии для ютуба. это может быть вызвано ограничением со стороны ютуба. попробуй ещё раз через пару секунд, но если проблема останется, пожалуйста, сообщи о ней!", + "youtube.decipher": "youtube обновил свой алгоритм расшифровки, и из-за этого мне не удалось получить информацию о видео. попробуй ещё раз через пару секунд, но если проблема останется, пожалуйста, сообщи о ней!", + "fetch.short_link": "не удалось получить инфу по короткой ссылке. ты уверен, что она работает? если да, а ты всё равно видишь эту ошибку, пожалуйста, сообщи об этой проблеме!", + "fetch.empty": "не смог найти медиа, которое я мог бы скачать для тебя. ты уверен, что вставил правильную ссылку?", + "content.post.age": "этот пост ограничен по возрасту, поэтому я не могу получить его анонимно. попробуй ещё раз или попробуй другую ссылку!", + "youtube.login": "не удалось получить это видео, потому что youtube попросил доказать, что инстанс обработки — не бот. попробуй ещё раз через пару секунд, но если так и не заработает, пожалуйста, сообщи об этой проблеме!", + "content.video.live": "это видео сейчас идёт в прямом эфире, поэтому я ещё не могу его скачать. подожди, пока стрим закончится, и попробуй снова!", + "content.post.unavailable": "не удалось ничего найти об этом посте. его видимость может быть ограничена или он может не существовать. убедись, что твоя ссылка работает, и попробуй снова через пару секунд!" +} diff --git a/web/i18n/ru/error/queue.json b/web/i18n/ru/error/queue.json new file mode 100644 index 00000000..5258ef77 --- /dev/null +++ b/web/i18n/ru/error/queue.json @@ -0,0 +1,17 @@ +{ + "fetch.no_file_reader": "не смог записать файл в кэш", + "worker_didnt_start": "не смог запустить воркер обработки", + "ffmpeg.probe_failed": "не удалось проверить этот файл, возможно, он повреждён или не поддерживается", + "fetch.network_error": "скачивание было прервано из-за проблем с сетью", + "no_final_file": "финальный файл пропал", + "fetch.corrupted_file": "файл был скачан не полностью, попробуй ещё раз", + "fetch.crashed": "воркер обработки вылетел, смотри детали в консоли", + "fetch.bad_response": "не смог получить туннель файла", + "fetch.empty_tunnel": "туннель файла пустой, попробуй ещё раз через несколько минут", + "ffmpeg.no_input_type": "тип этого файла не поддерживается", + "ffmpeg.crashed": "воркер ffmpeg вылетел, смотри детали в консоли", + "ffmpeg.no_input_format": "формат этого файла не поддерживается", + "ffmpeg.out_of_memory": "не хватает памяти, не могу продолжить", + "ffmpeg.no_render": "рендер ffmpeg пустой, произошло что-то очень странное", + "ffmpeg.no_args": "воркер ffmpeg не получил нужные аргументы" +} diff --git a/web/i18n/ru/general.json b/web/i18n/ru/general.json index 90cbfef5..d10e39a2 100644 --- a/web/i18n/ru/general.json +++ b/web/i18n/ru/general.json @@ -2,6 +2,5 @@ "cobalt": "кобальт", "meowbalt": "мяубальт", "beta": "бета", - - "embed.description": "сохраняй то, что любишь: без рекламы, трекеров и прочей чепухи. кобальт создан с любовью, а не с целью заработать." + "embed.description": "кобальт помогает тебе сохранять то, что ты любишь, без рекламы, трекеров и прочей ерунды. просто вставь ссылку!" } diff --git a/web/i18n/ru/notification.json b/web/i18n/ru/notification.json new file mode 100644 index 00000000..14822cf3 --- /dev/null +++ b/web/i18n/ru/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "доступно обновление!", + "update.subtext": "нажми, чтобы обновить" +} diff --git a/web/i18n/ru/queue.json b/web/i18n/ru/queue.json new file mode 100644 index 00000000..62a8102a --- /dev/null +++ b/web/i18n/ru/queue.json @@ -0,0 +1,13 @@ +{ + "state.waiting": "в очереди", + "state.starting.fetch": "начинаю скачивание", + "state.running.remux": "ремуксирую", + "state.retrying": "повторяю", + "state.starting.encode": "начинаю транскодирование", + "title": "очередь обработки", + "state.starting": "начинаю", + "state.starting.remux": "начинаю ремуксинг", + "state.running.fetch": "скачиваю", + "state.running.encode": "транскодирую", + "stub": "тут пока что ничего нет, только мы вдвоём.\nпопробуй скачать что-нибудь!" +} diff --git a/web/i18n/ru/receiver.json b/web/i18n/ru/receiver.json new file mode 100644 index 00000000..2f808fac --- /dev/null +++ b/web/i18n/ru/receiver.json @@ -0,0 +1,7 @@ +{ + "accept": "поддерживаемые форматы: {{ formats }}.", + "title": "перетащи или выбери файл", + "title.drop": "скинь файл сюда!", + "title.multiple": "перетащи или выбери файлы", + "title.drop.multiple": "скинь файлы сюда!" +} diff --git a/web/i18n/ru/remux.json b/web/i18n/ru/remux.json new file mode 100644 index 00000000..497cb1c1 --- /dev/null +++ b/web/i18n/ru/remux.json @@ -0,0 +1,9 @@ +{ + "description": "ремукс помогает решить проблемы с совместимостью файлов в старых приложениях. файлы обрабатываются быстро, без потери качества и локально на устройстве.", + "bullet.purpose.description": "ремукс исправляет любые проблемы с файлом, например, отсутствие информации о времени. он помогает повысить совместимость со старыми программами, такими как vegas pro и windows media player.", + "bullet.purpose.title": "что делает ремукс?", + "bullet.explainer.title": "как он работает?", + "bullet.explainer.description": "ремукс берёт существующие данные кодека и копирует их в новый медиаконтейнер. это происходит без потери качества, так как медиаданные не перекодируются.", + "bullet.privacy.title": "локальная обработка", + "bullet.privacy.description": "кобальт ремуксирует файлы локально. файлы никогда не покидают твоё устройство, поэтому обработка происходит практически мгновенно." +} diff --git a/web/i18n/ru/save.json b/web/i18n/ru/save.json index ce64917a..60bb2998 100644 --- a/web/i18n/ru/save.json +++ b/web/i18n/ru/save.json @@ -10,5 +10,15 @@ "services.title": "поддерживаемые сервисы", "services.title_show": "показать поддерживаемые сервисы", "services.title_hide": "скрыть поддерживаемые сервисы", - "services.disclaimer": "кобальт не аффилирован ни с одним из перечисленных выше сервисов.\n\nдеятельность meta platforms (владельца facebook и instagram) запрещена на территории РФ и признана экстремистской." + "services.disclaimer": "кобальт не аффилирован ни с одним из перечисленных выше сервисов.\n\nдеятельность meta platforms (владельца facebook и instagram) запрещена на территории РФ и признана экстремистской.", + "tutorial.step.1": "добавь команды-компаньоны:", + "tutorial.step.2": "нажми кнопку \"поделиться\" в диалоге сохранения кобальта.", + "tutorial.step.3": "выбери нужную команду в окне обмена.", + "tutorial.shortcut.photos": "в фото", + "tutorial.shortcut.files": "в файлы", + "tutorial.title": "как сохранить на ios?", + "tutorial.intro": "чтобы удобно сохранять файлы на ios, придётся использовать команду siri в меню обмена.", + "tutorial.outro": "эти команды siri будут работать только из приложения кобальта, использовать их из других приложений не получится.", + "tooltip.captcha": "cloudflare turnstile проверяет, что ты не бот. подожди, пожалуйста!", + "label.community_instance": "инстанс сообщества" } diff --git a/web/i18n/ru/settings.json b/web/i18n/ru/settings.json new file mode 100644 index 00000000..5136d5d6 --- /dev/null +++ b/web/i18n/ru/settings.json @@ -0,0 +1,126 @@ +{ + "theme.auto": "авто", + "theme.light": "светлая", + "audio.bitrate.kbps": "кб/с", + "theme.dark": "тёмная", + "audio.youtube.dub": "звуковая дорожка youtube", + "video.quality.max": "8k+", + "page.video": "видео", + "page.audio": "аудио", + "page.download": "скачивание", + "section.save": "скачивание", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "metadata.file": "метаданные файла", + "saving.title": "метод сохранения", + "saving.ask": "спросить", + "saving.download": "скачать", + "saving.share": "поделиться", + "saving.copy": "скопировать", + "accessibility": "доступность", + "language": "язык", + "language.preferred.title": "предпочитаемый язык", + "privacy.analytics": "анонимная аналитика трафика", + "audio.tiktok.original.title": "скачивать оригинальный звук", + "privacy.tunnel": "туннелирование", + "privacy.tunnel.title": "всегда туннелировать файлы", + "video.tiktok.h265": "tiktok", + "audio.format.mp3": "mp3", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "page.privacy": "приватность", + "theme": "тема", + "video.quality": "качество видео", + "video.twitter.gif": "twitter/x", + "video.quality.2160": "4k", + "audio.format": "формат аудио", + "audio.bitrate": "битрейт аудио", + "audio.tiktok.original": "tiktok", + "metadata.disable.title": "отключить метаданные", + "language.auto.title": "автоматический выбор", + "metadata.disable.description": "название, исполнитель и другая информация не будут добавлены в файл.", + "language.preferred.description": "этот язык будет использоваться когда автоматический выбор отключен. любой непереведённый текст будет отображаться на английском языке.\n\nмы используем переводы, предоставленные сообществом. они могут быть неточными или неполными.", + "audio.youtube.dub.description": "cobalt будет использовать дублированную аудиодорожку для выбранного языка, если она доступна. в противном случае будет использоваться оригинальная.", + "language.auto.description": "если доступен перевод, то кобальт будет использовать язык твоего браузера. в ином случае будет использоваться английский.", + "theme.description": "авто тема переключается между светлой и тёмной темой в зависимости от системной темы.", + "page.debug": "инфа для гиков", + "section.general": "основные", + "page.appearance": "внешний вид", + "page.instances": "инстансы", + "page.advanced": "продвинутые", + "page.accessibility": "общедоступность", + "page.metadata": "метаданные", + "page.local": "локальная обработка", + "video.youtube.codec": "кодек и контейнер youtube", + "audio.youtube.dub.title": "предпочитаемый язык озвучки", + "metadata.filename.basic": "базовый", + "video.twitter.gif.title": "конвертировать зацикленные видео в GIF", + "metadata.filename.description": "стиль названий файлов используется только для файлов, туннелированных через кобальт. некоторые сервисы поддерживают только классический стиль.", + "youtube.dub.original": "оригинальный", + "metadata.filename.pretty": "красивый", + "metadata.filename.nerdy": "занудный", + "audio.tiktok.original.description": "кобальт будет скачивать оригинальный звук из видео без каких-либо изменений от автора поста.", + "metadata.filename": "стиль названий файлов", + "metadata.filename.classic": "классический", + "video.twitter.gif.description": "GIF конвертация неэффективна, финальный файл может быть огромным и в плохом качестве.", + "audio.youtube.better_audio.title": "предпочитать лучшее качество", + "audio.format.description": "все форматы кроме \"лучшего\" конвертируются из исходного формата, поэтому возможна небольшая потеря качества. когда выбран \"лучший\" формат, аудио остаётся в оригинальном формате, если это возможно.", + "audio.youtube.better_audio.description": "кобальт будет пытаться выбрать самое качественное аудио в режиме скачивания аудио. оно может быть недоступно в зависимости от ответа youtube, текущей нагрузки и состояния сервера. на кастомных инстансах эта опция может не поддерживаться.", + "audio.youtube.better_audio": "качество аудио с youtube", + "video.quality.description": "если предпочитаемое качество недоступно, то выбирается следующий лучший вариант.", + "video.youtube.codec.description": "h264: наилучшая совместимость, среднее качество. максимальное качество — 1080p.\nav1: наилучшее качество и сжатие. поддерживает 8k и HDR.\nvp9: то же качество, что и у av1, но файл в ~2x больше. поддерживает 4k & HDR.\n\nav1 и vp9 не очень широко поддерживаются, возможно придётся использовать дополнительное ПО для их проигрывания/обработки. кобальт выбирает следующий лучший кодек, если предпочитаемый недоступен.", + "audio.bitrate.description": "битрейт применяется только при конвертации аудио в формат с потерями. кобальт не может улучшить качество исходного аудио, поэтому выбор битрейта выше 128 кб/с может увеличить размер файла без заметной разницы в звуке. воспринимаемое качество может различаться в зависимости от формата.", + "video.h265": "high efficiency video codec", + "video.h265.title": "использовать h265 для видео", + "video.h265.description": "позволяет скачивать видео с tiktok и xiaohongshu в более высоком качестве, но с потерей совместимости.", + "video.youtube.hls": "форматы hls для youtube", + "video.youtube.hls.description": "в этом режиме доступны только кодеки h264 и vp9. оригинальный аудио кодек aac перекодируется для совместимости, поэтому качество аудио может быть хуже чем у варианта без HLS.\n\nэта функция экспериментальна, поэтому может быть убрана или изменена в будущем.", + "audio.format.best": "лучший", + "video.youtube.hls.title": "предпочитать hls для видео и аудио", + "metadata.filename.preview.video": "Название Видео - Автор Видео", + "metadata.filename.preview.audio": "Название Аудио - Автор Аудио", + "saving.description": "предпочтительный способ сохранения файла или ссылки с кобальта. если предпочитаемый метод недоступен или что-то пойдёт не так, кобальт спросит тебя как поступить.", + "accessibility.transparency.description": "уменьшает прозрачность поверхностей и выключает эффекты размытия. также может улучшить работу интерфейса на менее мощных устройствах.", + "accessibility.transparency.title": "уменьшить визуальную прозрачность", + "accessibility.visual": "интерфейс", + "accessibility.haptics": "вибрация", + "accessibility.behavior": "поведение", + "accessibility.auto_queue.description": "очередь обработки не будет открываться автоматически при добавлении новой задачи. прогресс всё равно будет отображаться, и ты всё равно сможешь открыть её вручную.", + "privacy.analytics.learnmore": "узнай больше о преданности plausible к приватности.", + "accessibility.motion.description": "анимации и переходы будут отключены, когда это возможно.", + "accessibility.haptics.title": "отключить вибрацию", + "accessibility.haptics.description": "вся вибрация будет отключена.", + "accessibility.auto_queue.title": "не открывать очередь обработки", + "privacy.analytics.description": "анонимная аналитика трафика нужна, чтобы знать приблизительное количество активных пользователей кобальта. идентифицирующая информация о тебе никогда не сохраняется. все обрабатываемые данные анонимизированы и агрегированы.\n\nмы используем собственный инстанс plausible, который не использует куки и полностью соответствует требованиям GDPR, CCPA и PECR.", + "privacy.tunnel.description": "cobalt скроет твой ip адрес, информацию о браузере и обойдёт местные сетевые ограничения. когда включено, у всех файлов будут читаемые названия вместо абракадабры.", + "accessibility.motion.title": "уменьшить движение", + "privacy.analytics.title": "не участвовать в аналитике", + "advanced.debug": "отладка", + "advanced.debug.description": "даёт доступ к странице с различной информацией, которая может быть полезна для отладки. никак не меняет поведение кобальта.", + "advanced.debug.title": "включить функции для зануд", + "processing.community": "инстансы сообщества", + "processing.enable_custom.description": "кобальт будет использовать сторонний инстанс обработки, если ты так решишь. несмотря на то, что у кобальта есть некоторые меры безопасности, мы не несём ответственности за любой ущерб, причинённый сторонним инстансом, так как мы его не контролируем.\n\nбудь осторожен с тем, какие инстансы ты используешь, и убедись, что их хостят люди, которым ты доверяешь.", + "processing.enable_custom.title": "использовать сторонний инстанс", + "local.saving": "обработка медиа", + "local.saving.description": "при скачивании медиа, ремуксинг и транскодирование будут выполняться на устройстве, а не в облаке. ты увидишь подробный прогресс в очереди обработки. инстансы обработки могут принудительно включать эту функцию для экономии ресурсов.\n\nэксклюзивные функции на устройстве не зависят от этого переключателя, они всегда работают локально.", + "local.saving.title": "скачивать и обрабатывать медиа локально", + "advanced.settings_data": "данные настроек", + "local.webcodecs.description": "при декодировании или кодировании файлов кобальт будет пытаться использовать webcodecs. эта функция позволяет обрабатывать медиафайлы с ускорением на GPU, так что всё декодирование и кодирование будет намного быстрее.\n\nдоступность и стабильность этой функции зависят от возможностей твоего устройства и браузера. что-то может сломаться или работать некорректно.", + "processing.access_key": "ключ доступа к инстансу", + "advanced.local_storage": "локальное хранилище", + "local.webcodecs": "webcodecs", + "local.webcodecs.title": "использовать webcodecs для локальной обработки", + "processing.access_key.title": "использовать ключ доступа", + "processing.custom_instance.input.alt_text": "домен стороннего инстанса", + "tabs": "навигация", + "tabs.hide_remux": "скрыть страницу ремукса", + "tabs.hide_remux.description": "если ты не пользуешься ремуксом, то его можно скрыть из панели навигации.", + "processing.access_key.description": "кобальт будет использовать этот ключ для запросов к инстансу обработки вместо других методов аутентификации. убедись, что инстанс поддерживает api ключи!", + "processing.access_key.input.alt_text": "ключ доступа u-u-i-d" +} diff --git a/web/i18n/ru/tabs.json b/web/i18n/ru/tabs.json index 0b93cc7f..afe0d693 100644 --- a/web/i18n/ru/tabs.json +++ b/web/i18n/ru/tabs.json @@ -3,6 +3,6 @@ "settings": "настройки", "updates": "новости", "donate": "донаты", - "about": "инфа", + "about": "инфо", "remux": "ремукс" } diff --git a/web/i18n/ru/updates.json b/web/i18n/ru/updates.json new file mode 100644 index 00000000..f6ab7698 --- /dev/null +++ b/web/i18n/ru/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "перейти к предыдущему обновлению ({{ value }})", + "button.previous": "перейти к следующему обновлению ({{ value }})" +} diff --git a/web/i18n/sk/a11y/dialog.json b/web/i18n/sk/a11y/dialog.json new file mode 100644 index 00000000..5b1bcf63 --- /dev/null +++ b/web/i18n/sk/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "miniatúra fotky", + "picker.item.video": "miniatúra videa", + "picker.item.gif": "miniatúra gifu" +} diff --git a/web/i18n/sk/a11y/donate.json b/web/i18n/sk/a11y/donate.json new file mode 100644 index 00000000..d1662207 --- /dev/null +++ b/web/i18n/sk/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "qr kód. klikni pre rozbalenie.", + "share.qr.collapse": "rozbalený qr kód. klikni pre zbalenie." +} diff --git a/web/i18n/sk/a11y/general.json b/web/i18n/sk/a11y/general.json new file mode 100644 index 00000000..33105779 --- /dev/null +++ b/web/i18n/sk/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "choď späť" +} diff --git a/web/i18n/sk/a11y/queue.json b/web/i18n/sk/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/a11y/save.json b/web/i18n/sk/a11y/save.json new file mode 100644 index 00000000..c28649f4 --- /dev/null +++ b/web/i18n/sk/a11y/save.json @@ -0,0 +1,6 @@ +{ + "clear_input": "vymazať vstup", + "download": "stiahnuť", + "download.done": "sťahovanie hotové", + "download.error": "chyba pri sťahovaní" +} diff --git a/web/i18n/sk/a11y/tabs.json b/web/i18n/sk/a11y/tabs.json new file mode 100644 index 00000000..04342078 --- /dev/null +++ b/web/i18n/sk/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "panel kariet" +} diff --git a/web/i18n/sk/about.json b/web/i18n/sk/about.json new file mode 100644 index 00000000..88a3726a --- /dev/null +++ b/web/i18n/sk/about.json @@ -0,0 +1,23 @@ +{ + "page.general": "čo je cobalt?", + "page.faq": "FAQ", + "page.community": "komunita & podpora", + "page.privacy": "zásady ochrany osobných údajov", + "page.terms": "podmienky a etika", + "page.credits": "poďakovanie & licencie", + "heading.general": "všeobecné podmienky", + "heading.licenses": "licencie", + "heading.summary": "najlepší spôsob ako si uložiť to, čo sa ti páči", + "heading.community": "otvorená komunita", + "heading.local": "spracovanie na vlastnom zariadení", + "heading.saving": "ukladanie", + "heading.motivation": "motivácia", + "heading.testers": "beta testeri", + "support.github": "pozri si zdrojový kód cobaltu, pomôž s vývojom, alebo nahlás chyby", + "support.discord": "porozprávaj sa s komunitou a vývojármi o cobaltu alebo si požiadaj o pomoc", + "support.twitter": "sleduj aktualizácie a rozvoj cobaltu na svojej timeline na twittri", + "support.telegram": "ostaň v obraze s najnovšími aktualizáciami cobaltu cez kanál na telegrame", + "support.bluesky": "sleduj aktualizácie a rozvoj cobaltu na bluesky", + "support.description.issue": "ak chceš nahlásiť chybu alebo akýkoľvek iný problém, nahlás to prosím na github.", + "support.description.help": "použi discord pre akékoľvek ďalšie otázky. detailne popíš problém v kanále #cobalt-support, ináč ti nebude nikto môcť pomôcť." +} diff --git a/web/i18n/sk/about/credits.md b/web/i18n/sk/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/sk/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/sk/about/general.md b/web/i18n/sk/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/sk/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/sk/about/privacy.md b/web/i18n/sk/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/sk/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/sk/about/terms.md b/web/i18n/sk/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/sk/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/sk/button.json b/web/i18n/sk/button.json new file mode 100644 index 00000000..76db653b --- /dev/null +++ b/web/i18n/sk/button.json @@ -0,0 +1,3 @@ +{ + "download": "stiahnuť" +} diff --git a/web/i18n/sk/dialog.json b/web/i18n/sk/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/donate.json b/web/i18n/sk/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/error.json b/web/i18n/sk/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/error/api.json b/web/i18n/sk/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/error/queue.json b/web/i18n/sk/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/general.json b/web/i18n/sk/general.json new file mode 100644 index 00000000..3996851b --- /dev/null +++ b/web/i18n/sk/general.json @@ -0,0 +1,6 @@ +{ + "meowbalt": "mňaubalt", + "beta": "beta", + "embed.description": "ulož si to, čo sa ti páči, bez reklám, sledovania, poplatkov a ďalších nezmyslov. cobalt je naozaj otvorená webová aplikácia, ktorú s láskou vytvoril imput.", + "cobalt": "cobalt" +} diff --git a/web/i18n/sk/notification.json b/web/i18n/sk/notification.json new file mode 100644 index 00000000..a15f078d --- /dev/null +++ b/web/i18n/sk/notification.json @@ -0,0 +1,3 @@ +{ + "update.title": "nová verzia je dostupná!" +} diff --git a/web/i18n/sk/queue.json b/web/i18n/sk/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/receiver.json b/web/i18n/sk/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/remux.json b/web/i18n/sk/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/save.json b/web/i18n/sk/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/settings.json b/web/i18n/sk/settings.json new file mode 100644 index 00000000..6ea4690f --- /dev/null +++ b/web/i18n/sk/settings.json @@ -0,0 +1,25 @@ +{ + "page.appearance": "vzhľad", + "page.privacy": "súkromie", + "page.video": "video", + "page.audio": "zvuk", + "page.download": "sťahovanie", + "page.advanced": "pokročilé", + "section.general": "obecné", + "section.save": "uložiť", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.quality.description": "ak preferovaná kvalita videa nie je k dispozícii, vyberie sa ďalšia najlepšia.", + "video.youtube.codec.description": "h264: najlepšia kompatibilita, priemerná kvalita. najvyššia kvalita je 1080p.\nav1: najlepšia kvalita a efektívnosť. podporuje 8k a HDR.\nvp9: rovnaká kvalita ako av1, ale súbor je ~2krát väčší. podporuje 4k a HDR.\n\nav1 a vp9 nie sú tak podporované ako h264. ak av1 alebo vp9 nie sú k dispozícii, h264 je použitý.", + "video.youtube.hls": "youtube formáty hls", + "video.youtube.hls.title": "preferovať hls pre video a zvuk", + "audio.format": "formát zvuku", + "audio.tiktok.original.title": "stiahnuť pôvodný zvuk", + "video.tiktok.h265.title": "preferovať formát HEVC/H265", + "audio.format.best": "najlepší" +} diff --git a/web/i18n/sk/tabs.json b/web/i18n/sk/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sk/updates.json b/web/i18n/sk/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sk/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/a11y/dialog.json b/web/i18n/sr/a11y/dialog.json new file mode 100644 index 00000000..2609ac90 --- /dev/null +++ b/web/i18n/sr/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "минијатура фотографије", + "picker.item.video": "минијатура видеа", + "picker.item.gif": "минијатура gif-а" +} diff --git a/web/i18n/sr/a11y/donate.json b/web/i18n/sr/a11y/donate.json new file mode 100644 index 00000000..0251ab7d --- /dev/null +++ b/web/i18n/sr/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.collapse": "проширени QR код. притисните да бисте скупили.", + "share.qr.expand": "QR код. притисните да бисте проширили." +} diff --git a/web/i18n/sr/a11y/general.json b/web/i18n/sr/a11y/general.json new file mode 100644 index 00000000..0baa66a6 --- /dev/null +++ b/web/i18n/sr/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "врати се назад" +} diff --git a/web/i18n/sr/a11y/queue.json b/web/i18n/sr/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/a11y/save.json b/web/i18n/sr/a11y/save.json new file mode 100644 index 00000000..a424f7c1 --- /dev/null +++ b/web/i18n/sr/a11y/save.json @@ -0,0 +1,12 @@ +{ + "link_area": "поље за унос везе", + "link_area.turnstile": "поље за унос везе. провера да ли сте робот.", + "clear_input": "очисти унис", + "download": "преузми", + "download.think": "обрада везе…", + "download.check": "потврђивање преузимања…", + "download.done": "преузимање завршено", + "download.error": "грешка при преузимању", + "tutorial.shortcut.photos": "додај пречицу за фотографије", + "tutorial.shortcut.files": "додај пречицу за датотеке" +} diff --git a/web/i18n/sr/a11y/tabs.json b/web/i18n/sr/a11y/tabs.json new file mode 100644 index 00000000..2806eee3 --- /dev/null +++ b/web/i18n/sr/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "панел са картицама" +} diff --git a/web/i18n/sr/about.json b/web/i18n/sr/about.json new file mode 100644 index 00000000..a634e2d4 --- /dev/null +++ b/web/i18n/sr/about.json @@ -0,0 +1,30 @@ +{ + "page.faq": "ЧПП", + "page.privacy": "политика приватности", + "page.terms": "услови и етика", + "page.credits": "хвала и лиценце", + "heading.general": "општи услови", + "heading.licenses": "лиценце", + "heading.summary": "најбољи начин да сачувате оно што волите", + "heading.privacy": "водећа приватност", + "heading.community": "отворена заједница", + "heading.local": "обрада на уређају", + "heading.saving": "чување", + "heading.encryption": "шифровање", + "heading.cloudflare": "веб приватност и безбедност", + "heading.responsibility": "одговорности корисника", + "heading.abuse": "пријављивање злоупотребе", + "heading.motivation": "мотивacija", + "page.community": "заједница и подршка", + "heading.plausible": "анонимна анализа саобраћаја", + "page.general": "шта је cobalt?", + "support.github": "погледајте изворни код cobalt-a, допринесите променама или пријавите проблеме", + "heading.testers": "бета тестери", + "support.discord": "разговарајте са заједницом и програмерима о cobalt-у или затражите помоћ", + "support.twitter": "пратите cobalt-ове актуелности и развој на вашој twitter временској линији", + "support.telegram": "будите у току са најновијим cobalt-овим актуелностима преко telegram канала", + "support.bluesky": "пратите cobalt-ове актуелности и развој на вашем bluesky фиду", + "support.description.issue": "ако желите да пријавите грешку или неки други понављајући проблем, молимо вас да то урадите на github-у.", + "support.description.help": "користите discord за сва остала питања. правилно опишите проблем у #cobalt-support или нико неће моћи да вам помогне.", + "support.description.best-effort": "подршку пружамо како можемо али није загарантована, одговор може потрајати." +} diff --git a/web/i18n/sr/about/credits.md b/web/i18n/sr/about/credits.md new file mode 100644 index 00000000..6028badb --- /dev/null +++ b/web/i18n/sr/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +све везе су спољашње и воде на њихове личне веб странице или друштвене мреже. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/sr/about/general.md b/web/i18n/sr/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/sr/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/sr/about/privacy.md b/web/i18n/sr/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/sr/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/sr/about/terms.md b/web/i18n/sr/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/sr/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/sr/button.json b/web/i18n/sr/button.json new file mode 100644 index 00000000..6424d268 --- /dev/null +++ b/web/i18n/sr/button.json @@ -0,0 +1,3 @@ +{ + "download": "преузми" +} diff --git a/web/i18n/sr/dialog.json b/web/i18n/sr/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/donate.json b/web/i18n/sr/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/error.json b/web/i18n/sr/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/error/api.json b/web/i18n/sr/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/error/queue.json b/web/i18n/sr/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/general.json b/web/i18n/sr/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/notification.json b/web/i18n/sr/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/queue.json b/web/i18n/sr/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/receiver.json b/web/i18n/sr/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/remux.json b/web/i18n/sr/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/save.json b/web/i18n/sr/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/settings.json b/web/i18n/sr/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/tabs.json b/web/i18n/sr/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sr/updates.json b/web/i18n/sr/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sr/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/a11y/dialog.json b/web/i18n/sv/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/a11y/donate.json b/web/i18n/sv/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/a11y/general.json b/web/i18n/sv/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/a11y/queue.json b/web/i18n/sv/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/a11y/save.json b/web/i18n/sv/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/a11y/tabs.json b/web/i18n/sv/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/about.json b/web/i18n/sv/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/about/credits.md b/web/i18n/sv/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/sv/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/sv/about/general.md b/web/i18n/sv/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/sv/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/sv/about/privacy.md b/web/i18n/sv/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/sv/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/sv/about/terms.md b/web/i18n/sv/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/sv/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/sv/button.json b/web/i18n/sv/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/dialog.json b/web/i18n/sv/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/donate.json b/web/i18n/sv/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/error.json b/web/i18n/sv/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/error/api.json b/web/i18n/sv/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/error/queue.json b/web/i18n/sv/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/general.json b/web/i18n/sv/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/notification.json b/web/i18n/sv/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/queue.json b/web/i18n/sv/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/receiver.json b/web/i18n/sv/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/remux.json b/web/i18n/sv/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/save.json b/web/i18n/sv/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/settings.json b/web/i18n/sv/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/tabs.json b/web/i18n/sv/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/sv/updates.json b/web/i18n/sv/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/sv/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/a11y/dialog.json b/web/i18n/th/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/a11y/donate.json b/web/i18n/th/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/a11y/general.json b/web/i18n/th/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/a11y/queue.json b/web/i18n/th/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/a11y/save.json b/web/i18n/th/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/a11y/tabs.json b/web/i18n/th/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/about.json b/web/i18n/th/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/about/credits.md b/web/i18n/th/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/th/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/th/about/general.md b/web/i18n/th/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/th/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/th/about/privacy.md b/web/i18n/th/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/th/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/th/about/terms.md b/web/i18n/th/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/th/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/th/button.json b/web/i18n/th/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/dialog.json b/web/i18n/th/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/donate.json b/web/i18n/th/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/error.json b/web/i18n/th/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/error/api.json b/web/i18n/th/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/error/queue.json b/web/i18n/th/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/general.json b/web/i18n/th/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/notification.json b/web/i18n/th/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/queue.json b/web/i18n/th/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/receiver.json b/web/i18n/th/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/remux.json b/web/i18n/th/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/save.json b/web/i18n/th/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/settings.json b/web/i18n/th/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/tabs.json b/web/i18n/th/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/th/updates.json b/web/i18n/th/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/th/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/a11y/dialog.json b/web/i18n/tok/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/a11y/donate.json b/web/i18n/tok/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/a11y/general.json b/web/i18n/tok/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/a11y/queue.json b/web/i18n/tok/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/a11y/save.json b/web/i18n/tok/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/a11y/tabs.json b/web/i18n/tok/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/about.json b/web/i18n/tok/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/about/credits.md b/web/i18n/tok/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/tok/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/tok/about/general.md b/web/i18n/tok/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/tok/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/tok/about/privacy.md b/web/i18n/tok/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/tok/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/tok/about/terms.md b/web/i18n/tok/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/tok/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/tok/button.json b/web/i18n/tok/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/dialog.json b/web/i18n/tok/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/donate.json b/web/i18n/tok/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/error.json b/web/i18n/tok/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/error/api.json b/web/i18n/tok/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/error/queue.json b/web/i18n/tok/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/general.json b/web/i18n/tok/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/notification.json b/web/i18n/tok/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/queue.json b/web/i18n/tok/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/receiver.json b/web/i18n/tok/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/remux.json b/web/i18n/tok/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/save.json b/web/i18n/tok/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/settings.json b/web/i18n/tok/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/tabs.json b/web/i18n/tok/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tok/updates.json b/web/i18n/tok/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tok/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/a11y/dialog.json b/web/i18n/tr/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/a11y/donate.json b/web/i18n/tr/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/a11y/general.json b/web/i18n/tr/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/a11y/queue.json b/web/i18n/tr/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/a11y/save.json b/web/i18n/tr/a11y/save.json new file mode 100644 index 00000000..181bafe9 --- /dev/null +++ b/web/i18n/tr/a11y/save.json @@ -0,0 +1,12 @@ +{ + "link_area": "bağlantı girdi alanı", + "link_area.turnstile": "bağlantı girdi alanı. robot olup olmadığını kontrol ediyoruz.", + "clear_input": "girdiyi sil", + "download": "indirme", + "download.think": "bağlantı işleniyor...", + "download.check": "indirme onaylanıyor...", + "download.done": "indirme tamamlandı", + "download.error": "indirme hata verdi", + "tutorial.shortcut.photos": "galeri kestirmesini ekle", + "tutorial.shortcut.files": "dosyalar kestirmesini ekle" +} diff --git a/web/i18n/tr/a11y/tabs.json b/web/i18n/tr/a11y/tabs.json new file mode 100644 index 00000000..c63f0ef4 --- /dev/null +++ b/web/i18n/tr/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "sekmeler paneli" +} diff --git a/web/i18n/tr/about.json b/web/i18n/tr/about.json new file mode 100644 index 00000000..076aa61e --- /dev/null +++ b/web/i18n/tr/about.json @@ -0,0 +1,34 @@ +{ + "page.faq": "SSS", + "page.community": "topluluk ve destek", + "heading.testers": "beta test programı", + "page.general": "cobalt nedir?", + "page.privacy": "gizlilik şartları", + "page.terms": "şartlar ve etik", + "page.credits": "teşekkürler ve lisanslar", + "community.discord": "topluluk discord sunucusu", + "community.twitter": "", + "community.github": "github deposu", + "community.email": "destek e-posta adresi", + "community.telegram": "telegram haber kanalı", + "heading.general": "genel şartlar", + "heading.licenses": "lisanslar", + "heading.summary": "beğendiğini kaydetmenin en iyi yolu", + "heading.privacy": "gizlilikte önde gelen", + "heading.community": "açık topluluk", + "heading.local": "cihaz içi işleme", + "heading.saving": "kaydetme", + "heading.encryption": "şifreleme", + "heading.plausible": "anonim erişim analitiği", + "heading.cloudflare": "web gizliliği ve güvenliği", + "heading.responsibility": "kullanıcı sorumlulukları", + "heading.abuse": "kötü kullanım bildirme", + "heading.motivation": "motivasyon", + "support.github": "", + "support.discord": "", + "support.twitter": "", + "support.telegram": "", + "support.description.issue": "", + "support.description.help": "", + "support.description.best-effort": "" +} diff --git a/web/i18n/tr/about/credits.md b/web/i18n/tr/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/tr/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/tr/about/general.md b/web/i18n/tr/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/tr/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/tr/about/privacy.md b/web/i18n/tr/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/tr/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/tr/about/terms.md b/web/i18n/tr/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/tr/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/tr/button.json b/web/i18n/tr/button.json new file mode 100644 index 00000000..f4cb9830 --- /dev/null +++ b/web/i18n/tr/button.json @@ -0,0 +1,4 @@ +{ + "download": "indirme", + "save": "kaydet" +} diff --git a/web/i18n/tr/dialog.json b/web/i18n/tr/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/donate.json b/web/i18n/tr/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/error.json b/web/i18n/tr/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/error/api.json b/web/i18n/tr/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/error/queue.json b/web/i18n/tr/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/general.json b/web/i18n/tr/general.json new file mode 100644 index 00000000..f2cdf4eb --- /dev/null +++ b/web/i18n/tr/general.json @@ -0,0 +1,5 @@ +{ + "meowbalt": "miyavbalt", + "beta": "beta", + "embed.description": "sevdikleri reklamsız,izlenmeden,parasız yada başka saçmalıksız kaydet. cobalt sevgi ve bakımla yapılmış cidden bir açık web uygulamasıdır." +} diff --git a/web/i18n/tr/notification.json b/web/i18n/tr/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/queue.json b/web/i18n/tr/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/receiver.json b/web/i18n/tr/receiver.json new file mode 100644 index 00000000..66fd6877 --- /dev/null +++ b/web/i18n/tr/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "bir dosya sürükleyin veya seçin", + "title.drop": "dosyayı buraya sürükleyin!", + "accept": "desteklenen formatlar: {{ formats }}." +} diff --git a/web/i18n/tr/remux.json b/web/i18n/tr/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/tr/save.json b/web/i18n/tr/save.json new file mode 100644 index 00000000..7285dfde --- /dev/null +++ b/web/i18n/tr/save.json @@ -0,0 +1,22 @@ +{ + "auto": "otomatik", + "mute": "sustur", + "audio": "yalnız ses", + "input.placeholder": "bağlantıyı buraya yapıştırın", + "terms.note.agreement": "devam ederek kullanım şartları ve etik kurallarını kabul edersiniz", + "terms.note.link": "oku", + "services.title": "desteklenen hizmetler", + "services.title_show": "desteklenen hizmetleri göster", + "services.title_hide": "desteklenen hizmetleri gizle", + "services.disclaimer": "cobalt, aşağıda belirtilen hizmetlerin herhangi biri ile bağlı değildir.", + "tutorial.title": "ios'te nasıl kaydedilir?", + "tutorial.intro": "ios'te dosyaları rahatça kaydetmek için, paylaş menüsünden bir siri kestirmesi kullanmanız gerekir.", + "tutorial.step.1": "siri kestirmesini ekle:", + "tutorial.step.2": "cobalt'ın kaydetme kutucuğunda \"paylaş'a\" basın.", + "tutorial.step.3": "paylaş menüsünden uygun kestirmeyi seçin.", + "tutorial.outro": "bu kestirmeler sadece cobalt uygulamasında çalışır. başka uygulamalardan bağlantılarla çalışmaz.", + "tutorial.shortcut.photos": "galeriye", + "tutorial.shortcut.files": "dosyalara", + "paste": "yapıştır", + "paste.long": "yapıştır ve indir" +} diff --git a/web/i18n/tr/settings.json b/web/i18n/tr/settings.json new file mode 100644 index 00000000..b8f4b115 --- /dev/null +++ b/web/i18n/tr/settings.json @@ -0,0 +1,45 @@ +{ + "video.youtube.codec.description": "h264: en iyi uyumluluk, ortalama bithızı. en yüksek kalite 1080p.\nav1: en iyi kalite, verimlilik ve bithızı. 8k ve HDR destekler.\nvp9: av1 ile aynı kalite ve bithızı, ama dosya yaklaşık iki kat daha büyük. 4k ve HDR destekler.\n\nav1 ve vp9, h264 kadar destekli değil.", + "page.appearance": "görünüm", + "page.privacy": "gizlilik", + "page.video": "görüntü", + "page.audio": "ses", + "page.download": "indirme", + "page.advanced": "gelişmiş", + "page.debug": "debug", + "page.instances": "sunucular", + "section.general": "genel", + "section.save": "kaydet", + "theme": "tema", + "theme.auto": "otomatik", + "theme.light": "aydınlık", + "theme.dark": "karanlık", + "theme.description": "otomatik ayar, temayı cihazınızın görüntüleme moduna göre aydınlık veya karanlık temaya değiştirir.", + "video.quality": "görüntü kalitesi", + "video.quality.max": "8k+", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.quality.description": "istenen görüntü kalitesi yoksa, bir sonraki en iyisi kullanılır.", + "video.youtube.codec": "youtube görüntü formatı ve container'ı", + "video.twitter.gif": "twitter/x", + "video.tiktok.h265": "tiktok", + "video.tiktok.h265.title": "HEVC/H265 formatına öncelik ver", + "video.tiktok.h265.description": "uyumluluk pahasına 1080p video indirmeyi sağlar.", + "audio.format": "ses formatı", + "audio.format.best": "en iyi", + "audio.format.mp3": "mp3", + "video.twitter.gif.title": "döngülü videoları GIF'e dönüştür", + "video.twitter.gif.description": "GIF'e dönüştürme verimsizdir. dosya aşırı büyük ve düşük kalite olabilir.", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "audio.bitrate": "ses bithızı", + "audio.format.description": "\"en iyi\" dışındaki tüm formatlar dönüştürülür, bu nedenle hepsinde bir miktar kalite kaybı vardır. ses sadece \"en iyi\" formatı seçildiği takdirde yeniden enkode edilmez.", + "audio.bitrate.kbps": "kb/s" +} diff --git a/web/i18n/tr/tabs.json b/web/i18n/tr/tabs.json new file mode 100644 index 00000000..2ee506af --- /dev/null +++ b/web/i18n/tr/tabs.json @@ -0,0 +1,3 @@ +{ + "save": "kaydet" +} diff --git a/web/i18n/tr/updates.json b/web/i18n/tr/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/tr/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/a11y/dialog.json b/web/i18n/uk/a11y/dialog.json new file mode 100644 index 00000000..3f289592 --- /dev/null +++ b/web/i18n/uk/a11y/dialog.json @@ -0,0 +1,3 @@ +{ + "picker.item.photo": "мініатюра фото" +} diff --git a/web/i18n/uk/a11y/donate.json b/web/i18n/uk/a11y/donate.json new file mode 100644 index 00000000..c417be2f --- /dev/null +++ b/web/i18n/uk/a11y/donate.json @@ -0,0 +1,3 @@ +{ + "share.qr.expand": "qr-код. натисніть, щоб розгорнути." +} diff --git a/web/i18n/uk/a11y/general.json b/web/i18n/uk/a11y/general.json new file mode 100644 index 00000000..64053ece --- /dev/null +++ b/web/i18n/uk/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "назад" +} diff --git a/web/i18n/uk/a11y/queue.json b/web/i18n/uk/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/a11y/save.json b/web/i18n/uk/a11y/save.json new file mode 100644 index 00000000..0572e3bb --- /dev/null +++ b/web/i18n/uk/a11y/save.json @@ -0,0 +1,3 @@ +{ + "link_area": "поле для посилання" +} diff --git a/web/i18n/uk/a11y/tabs.json b/web/i18n/uk/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/about.json b/web/i18n/uk/about.json new file mode 100644 index 00000000..fca76f21 --- /dev/null +++ b/web/i18n/uk/about.json @@ -0,0 +1,3 @@ +{ + "page.general": "що таке кобальт?" +} diff --git a/web/i18n/uk/about/credits.md b/web/i18n/uk/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/uk/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/uk/about/general.md b/web/i18n/uk/about/general.md new file mode 100644 index 00000000..21855f21 --- /dev/null +++ b/web/i18n/uk/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +кобальт допомагає вам зберігати все з ваших улюблених веб-сайтів: відео, аудіо, +фотографії або гіфи. просто вставте посилання, і ви готові до дій! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/uk/about/privacy.md b/web/i18n/uk/about/privacy.md new file mode 100644 index 00000000..0e22900e --- /dev/null +++ b/web/i18n/uk/about/privacy.md @@ -0,0 +1,124 @@ + + +
+ + +політика конфіденційності кобальту проста: ми не збираємо і не зберігаємо нічого +про вас. те, що ви робите, є винятково вашою справою, а не нашою чи когось +іншого. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/uk/about/terms.md b/web/i18n/uk/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/uk/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/uk/button.json b/web/i18n/uk/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/dialog.json b/web/i18n/uk/dialog.json new file mode 100644 index 00000000..648e881d --- /dev/null +++ b/web/i18n/uk/dialog.json @@ -0,0 +1,3 @@ +{ + "reset.title": "скинути всі дані?" +} diff --git a/web/i18n/uk/donate.json b/web/i18n/uk/donate.json new file mode 100644 index 00000000..fcf7a697 --- /dev/null +++ b/web/i18n/uk/donate.json @@ -0,0 +1,3 @@ +{ + "banner.title": "Підтримайте безпечний\nта відкритий Інтернет" +} diff --git a/web/i18n/uk/error.json b/web/i18n/uk/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/error/api.json b/web/i18n/uk/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/error/queue.json b/web/i18n/uk/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/general.json b/web/i18n/uk/general.json new file mode 100644 index 00000000..75ab3b18 --- /dev/null +++ b/web/i18n/uk/general.json @@ -0,0 +1,3 @@ +{ + "cobalt": "кобальт" +} diff --git a/web/i18n/uk/notification.json b/web/i18n/uk/notification.json new file mode 100644 index 00000000..9d18d144 --- /dev/null +++ b/web/i18n/uk/notification.json @@ -0,0 +1,3 @@ +{ + "update.title": "доступне оновлення!" +} diff --git a/web/i18n/uk/queue.json b/web/i18n/uk/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/receiver.json b/web/i18n/uk/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/remux.json b/web/i18n/uk/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/save.json b/web/i18n/uk/save.json new file mode 100644 index 00000000..2097a3a9 --- /dev/null +++ b/web/i18n/uk/save.json @@ -0,0 +1,3 @@ +{ + "paste": "вставити" +} diff --git a/web/i18n/uk/settings.json b/web/i18n/uk/settings.json new file mode 100644 index 00000000..6145548f --- /dev/null +++ b/web/i18n/uk/settings.json @@ -0,0 +1,3 @@ +{ + "page.appearance": "зовнішній вигляд" +} diff --git a/web/i18n/uk/tabs.json b/web/i18n/uk/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/uk/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/uk/updates.json b/web/i18n/uk/updates.json new file mode 100644 index 00000000..89706612 --- /dev/null +++ b/web/i18n/uk/updates.json @@ -0,0 +1,3 @@ +{ + "button.next": "перейти до старішого журналу змін ({{ value }})" +} diff --git a/web/i18n/ur/a11y/dialog.json b/web/i18n/ur/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/a11y/donate.json b/web/i18n/ur/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/a11y/general.json b/web/i18n/ur/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/a11y/queue.json b/web/i18n/ur/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/a11y/save.json b/web/i18n/ur/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/a11y/tabs.json b/web/i18n/ur/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/about.json b/web/i18n/ur/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/about/credits.md b/web/i18n/ur/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/ur/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/ur/about/general.md b/web/i18n/ur/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/ur/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/ur/about/privacy.md b/web/i18n/ur/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/ur/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/ur/about/terms.md b/web/i18n/ur/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/ur/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/ur/button.json b/web/i18n/ur/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/dialog.json b/web/i18n/ur/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/donate.json b/web/i18n/ur/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/error.json b/web/i18n/ur/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/error/api.json b/web/i18n/ur/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/error/queue.json b/web/i18n/ur/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/general.json b/web/i18n/ur/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/notification.json b/web/i18n/ur/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/queue.json b/web/i18n/ur/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/receiver.json b/web/i18n/ur/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/remux.json b/web/i18n/ur/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/save.json b/web/i18n/ur/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/settings.json b/web/i18n/ur/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/tabs.json b/web/i18n/ur/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/ur/updates.json b/web/i18n/ur/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/ur/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/a11y/dialog.json b/web/i18n/vi/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/a11y/donate.json b/web/i18n/vi/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/a11y/general.json b/web/i18n/vi/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/a11y/queue.json b/web/i18n/vi/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/a11y/save.json b/web/i18n/vi/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/a11y/tabs.json b/web/i18n/vi/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/about.json b/web/i18n/vi/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/about/credits.md b/web/i18n/vi/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/vi/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/vi/about/general.md b/web/i18n/vi/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/vi/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/vi/about/privacy.md b/web/i18n/vi/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/vi/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/vi/about/terms.md b/web/i18n/vi/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/vi/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/vi/button.json b/web/i18n/vi/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/dialog.json b/web/i18n/vi/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/donate.json b/web/i18n/vi/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/error.json b/web/i18n/vi/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/error/api.json b/web/i18n/vi/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/error/queue.json b/web/i18n/vi/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/general.json b/web/i18n/vi/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/notification.json b/web/i18n/vi/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/queue.json b/web/i18n/vi/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/receiver.json b/web/i18n/vi/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/remux.json b/web/i18n/vi/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/save.json b/web/i18n/vi/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/settings.json b/web/i18n/vi/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/tabs.json b/web/i18n/vi/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/vi/updates.json b/web/i18n/vi/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/vi/updates.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh/a11y/dialog.json b/web/i18n/zh/a11y/dialog.json new file mode 100644 index 00000000..74c39b86 --- /dev/null +++ b/web/i18n/zh/a11y/dialog.json @@ -0,0 +1,5 @@ +{ + "picker.item.photo": "照片缩略图", + "picker.item.video": "视频缩略图", + "picker.item.gif": "gif 缩略图" +} diff --git a/web/i18n/zh/a11y/donate.json b/web/i18n/zh/a11y/donate.json new file mode 100644 index 00000000..c9e0a406 --- /dev/null +++ b/web/i18n/zh/a11y/donate.json @@ -0,0 +1,4 @@ +{ + "share.qr.expand": "二维码。点击以展开。", + "share.qr.collapse": "展开显示的二维码。点击以收起。" +} diff --git a/web/i18n/zh/a11y/general.json b/web/i18n/zh/a11y/general.json new file mode 100644 index 00000000..00683616 --- /dev/null +++ b/web/i18n/zh/a11y/general.json @@ -0,0 +1,3 @@ +{ + "back": "返回" +} diff --git a/web/i18n/zh/a11y/save.json b/web/i18n/zh/a11y/save.json new file mode 100644 index 00000000..b62b1412 --- /dev/null +++ b/web/i18n/zh/a11y/save.json @@ -0,0 +1,12 @@ +{ + "link_area.turnstile": "链接输入区。正在检查你是不是机器人。", + "link_area": "链接输入区", + "clear_input": "清除输入", + "download": "下载", + "download.think": "处理链接...", + "download.check": "验证下载...", + "download.done": "下载完成", + "download.error": "下载错误", + "tutorial.shortcut.photos": "添加照片快捷方式", + "tutorial.shortcut.files": "快捷指令文件指令" +} diff --git a/web/i18n/zh/a11y/tabs.json b/web/i18n/zh/a11y/tabs.json new file mode 100644 index 00000000..cafde6d7 --- /dev/null +++ b/web/i18n/zh/a11y/tabs.json @@ -0,0 +1,3 @@ +{ + "tab_panel": "标签面板" +} diff --git a/web/i18n/zh/about.json b/web/i18n/zh/about.json new file mode 100644 index 00000000..38657288 --- /dev/null +++ b/web/i18n/zh/about.json @@ -0,0 +1,35 @@ +{ + "page.general": "什么是cobalt?", + "page.community": "社区和支持", + "page.faq": "常见问题", + "page.privacy": "隐私政策", + "page.terms": "条款和道德", + "community.github": "github 仓库", + "community.twitter": "Twitter 新闻帐户", + "page.credits": "感谢和许可证", + "community.discord": "社区 discord 服务器", + "heading.privacy": "领先的隐私保护", + "heading.summary": "保存您所爱的最佳方式", + "heading.licenses": "许可证", + "heading.general": "一般条款", + "community.telegram": "Telegram 上的频道", + "community.email": "支持电子邮件", + "heading.testers": "beta 测试人员", + "heading.motivation": "激励", + "heading.abuse": "举报滥用行为", + "heading.responsibility": "用户责任", + "heading.cloudflare": "网络隐私安全", + "heading.plausible": "匿名流量分析", + "heading.encryption": "加密", + "heading.saving": "保存", + "heading.local": "设备端处理", + "heading.community": "开放社区", + "support.discord": "与社区和开发人员讨论 cobalt 或寻求帮助", + "support.twitter": "在您的 twitter 时间轴上关注 cobalt 的更新和发展动态", + "support.telegram": "通过 telegram 频道了解最新的 cobalt 更新信息", + "support.description.issue": "如果您想报告错误或其他经常出现的问题,请在 github 上报告。", + "support.description.best-effort": "所有支持都是尽最大努力提供的,但不保证一定能提供,回复可能需要一些时间。", + "support.github": "查看 cobalt 的源代码,修改或报告问题", + "support.description.help": "将Discord用于任何其他问题。在#cobalt-support中正确描述问题,否则没有人能为您提供帮助。", + "support.bluesky": "在您的 bluesky feed 上关注 cobalt 的更新和发展" +} diff --git a/web/i18n/zh/about/credits.md b/web/i18n/zh/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/zh/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/zh/about/general.md b/web/i18n/zh/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/zh/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/zh/about/privacy.md b/web/i18n/zh/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/zh/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/zh/about/terms.md b/web/i18n/zh/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/zh/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/zh/button.json b/web/i18n/zh/button.json new file mode 100644 index 00000000..217030c3 --- /dev/null +++ b/web/i18n/zh/button.json @@ -0,0 +1,7 @@ +{ + "download": "下载", + "save": "保存", + "cancel": "取消", + "reset": "重置", + "gotit": "明白" +} diff --git a/web/i18n/zh/dialog.json b/web/i18n/zh/dialog.json new file mode 100644 index 00000000..1a28449f --- /dev/null +++ b/web/i18n/zh/dialog.json @@ -0,0 +1,6 @@ +{ + "reset.body": "您确定要重置所有数据吗?此操作是立即且不可逆的。", + "picker.title": "选择保存内容", + "reset.title": "重置所有数据?", + "picker.description.desktop": "单击一个项目即可保存它。也可以通过右键菜单保存图像。" +} diff --git a/web/i18n/zh/donate.json b/web/i18n/zh/donate.json new file mode 100644 index 00000000..2406e5a0 --- /dev/null +++ b/web/i18n/zh/donate.json @@ -0,0 +1,6 @@ +{ + "banner.title": "支持安全\n开放的互联网", + "banner.subtitle": "向imput捐款或与朋友分享\ncobalt的快乐", + "body.motivation": "cobalt 帮助制作人、教育工作者、视频制作者以及其他许多人做他们喜欢的事情。它是一种充满爱意而非以盈利为目的的不同类型的服务。", + "body.no_bullshit": "我们相信互联网并不可怕,这就是为什么钴永远不会有广告或其他类型的恶意内容。这是我们坚定信守的承诺。我们所做的一切都是以隐私、可访问性和易用性为出发点,让每个人都能使用钴。" +} diff --git a/web/i18n/zh/error.json b/web/i18n/zh/error.json new file mode 100644 index 00000000..f93fe0fd --- /dev/null +++ b/web/i18n/zh/error.json @@ -0,0 +1,41 @@ +{ + "remux.out_of_resources": "这与浏览器方面的限制有关。请尝试刷新或重新打开应用程序再试一次。有些设备只能处理很小的文件。", + "captcha_ongoing": "仍在检查您是否不是机器人。等待旋转器消失,然后重试。\n\n如果花费的时间太长,请告诉我们!我们使用 cloudflare turntile 来保护机器人,有时它会无缘无故地阻止人们。", + "api.youtube.decipher": "YouTube 更新了它的破译算法,我无法提取有关视频的信息。\n\n请在几秒钟内重试,但如果问题仍然存在,请联系我们寻求支持。", + "import.no_data": "文件中没有要加载的内容。您确定这是正确的吗?", + "import.invalid": "您的文件没有要导入的有效 Cobalt 设置。您确定这是正确的吗?", + "remux.corrupted": "无法从该文件读取元数据,它可能已损坏。", + "tunnel.probe": "无法验证您是否可以下载该文件。请稍后再试!", + "api.auth.jwt.invalid": "无法确认您是否不是机器人,因为您的访问令牌已过期且未更新。请在几秒钟后重试或重新加载页面!", + "api.auth.turnstile.missing": "无法确认您是否不是机器人,因为处理服务器没有收到访问令牌。请在几秒钟后重试或重新加载页面!", + "api.auth.turnstile.invalid": "无法确认您是否不是机器人,因为您的访问令牌已过期且未更新。请在几秒钟后重试或重新加载页面!", + "api.unreachable": "无法连接到处理服务器。请检查您的互联网连接并重试。", + "api.timed_out": "处理服务器响应的时间太长。它此刻可能不堪重负,请过几秒钟再试!", + "api.rate_exceeded": "您发出的请求太多了。请在 {{ limit }} 秒后重试!", + "api.capacity": "cobalt 已满负荷,目前无法处理您的请求。请过几秒钟再试。如果仍然不起作用,请告诉我们,我们会尽力帮助您!", + "api.generic": "出了点问题,我无法为您提供任何帮助。请过几秒钟再试一次,但如果问题仍然存在,请告诉我们,我们会尽力帮助您!", + "api.unknown_response": "无法解析来自服务器的响应。这可能是由版本不匹配引起的。您确定您使用的是最新版本的 Cobalt 吗?", + "api.service.unsupported": "目前尚不支持此服务。您粘贴了正确的链接吗?", + "api.service.disabled": "cobalt 支持此服务,但在此实例中已禁用!", + "api.link.invalid": "您的链接无效或此服务尚不受支持。您粘贴了正确的链接吗?", + "api.link.unsupported": "{{ service }} 是支持的,但我无法识别您的链接。你粘贴对了吗?", + "api.fetch.fail": "从 {{ service }} 获取信息时出错,我找不到任何信息。您确定您的链接有效吗?如果有效但您仍然看到此错误,请告知我们,我们会尽力帮助您!", + "api.fetch.critical": "{{ service }} 模块返回了一个我无法识别的错误。请在几秒钟后重试,但如果问题仍然存在,请告诉我们!", + "api.fetch.empty": "找不到可以为您下载的任何媒体。您确定粘贴了正确的链接吗?", + "api.fetch.rate": "Cobalt 处理服务器受到 {{ service }} API 的速率限制。请稍后再试一次!", + "api.fetch.short_link": "无法从短链接获取链接信息。你确定它有效吗?如果有效但你仍然收到此错误,请告诉我们,我们会尽力提供帮助!", + "api.content.too_long": "您请求的媒体太长。当前时长限制为 {{ limit }} 分钟。请尝试更短一些!", + "api.content.video.unavailable": "我无法访问该视频。它可能受到 {{ service }} 方面的限制。您粘贴了正确的链接吗?", + "api.content.video.live": "该视频目前正在直播,所以我还无法下载。请等待直播结束后再试一次!", + "api.content.video.private": "该视频是私人的,所以我无法访问。更改其可见性或尝试另一个!", + "api.content.video.age": "该视频有年龄限制,因此我无法匿名访问。请尝试另一个!", + "api.content.video.region": "该视频是区域锁定的,处理服务器位于不同的位置。请尝试另一个!", + "api.content.post.unavailable": "找不到关于此帖子的任何内容。其可见性可能有限,或者根本不存在。请确保您的链接有效,然后在几秒钟后重试!", + "api.content.post.private": "此帖子来自私人账户,所以我无法访问。您粘贴了正确的链接吗?", + "api.content.post.age": "此帖子有年龄限制,所以我无法匿名访问。您粘贴了正确的链接吗?", + "api.youtube.codec": "Youtube 没有返回任何与您首选的视频编解码器相关的内容。请在设置中尝试其他编解码器!", + "api.youtube.login": "无法获取此视频,因为 youtube 将我标记为机器人。这可能是由于处理实例没有任何活动帐户令牌造成的。请在几秒钟后重试,但如果仍然不起作用,请将此错误告知实例所有者!", + "api.youtube.token_expired": "无法获取此视频,因为 YouTube 令牌已过期,我无法刷新它。请在几秒钟后重试,但如果仍然不起作用,请将此错误告知实例所有者!", + "import.unknown": "无法从文件加载数据。它可能已损坏或格式错误。这是我得到的错误:\n\n{{ value }}", + "api.auth.jwt.missing": "无法确认您是否不是机器人,因为处理服务器没有收到访问令牌。请在几秒钟后重试或重新加载页面!" +} diff --git a/web/i18n/zh/general.json b/web/i18n/zh/general.json new file mode 100644 index 00000000..ec3fbfeb --- /dev/null +++ b/web/i18n/zh/general.json @@ -0,0 +1,5 @@ +{ + "cobalt": "cobalt", + "meowbalt": "喵巴尔特", + "beta": "测试版" +} diff --git a/web/i18n/zh/notification.json b/web/i18n/zh/notification.json new file mode 100644 index 00000000..ec9e1294 --- /dev/null +++ b/web/i18n/zh/notification.json @@ -0,0 +1,4 @@ +{ + "update.title": "可进行更新!", + "update.subtext": "按下重新装弹" +} diff --git a/web/i18n/zh/receiver.json b/web/i18n/zh/receiver.json new file mode 100644 index 00000000..642dd0fc --- /dev/null +++ b/web/i18n/zh/receiver.json @@ -0,0 +1,5 @@ +{ + "title": "拖动或选择文件", + "title.drop": "将文件拖放到这儿!", + "accept": "支持的格式:{{formats}}。" +} diff --git a/web/i18n/zh/remux.json b/web/i18n/zh/remux.json new file mode 100644 index 00000000..b95d8cbf --- /dev/null +++ b/web/i18n/zh/remux.json @@ -0,0 +1,3 @@ +{ + "description": "重新混合通常可以修复与旧软件的兼容性问题。它速度快、无损,并且一切都在设备上处理。" +} diff --git a/web/i18n/zh/save.json b/web/i18n/zh/save.json new file mode 100644 index 00000000..726957b8 --- /dev/null +++ b/web/i18n/zh/save.json @@ -0,0 +1,5 @@ +{ + "paste.long": "粘贴并下载", + "paste": "粘贴", + "auto": "自动" +} diff --git a/web/i18n/zh/settings.json b/web/i18n/zh/settings.json new file mode 100644 index 00000000..44ea29df --- /dev/null +++ b/web/i18n/zh/settings.json @@ -0,0 +1,97 @@ +{ + "processing.enable_custom.description": "如果您选择,cobalt 将使用自定义处理服务器。尽管 cobalt 已采取一些安全措施,但我们对通过社区实例造成的任何损害不承担任何责任,因为我们无法控制它们。\n\n请注意您使用的实例,并确保它们由您信任的人托管。", + "page.appearance": "外观", + "page.privacy": "隐私", + "page.video": "视频", + "page.audio": "音频", + "page.download": "下载中", + "page.advanced": "进阶", + "page.debug": "调试信息", + "page.instances": "实例", + "section.general": "一般", + "section.save": "保存", + "theme": "风格", + "theme.auto": "自动", + "theme.light": "明亮", + "theme.dark": "暗黑", + "theme.description": "自动主题根据您设备的显示模式在明暗主题之间切换。", + "video.quality": "视频质量", + "video.quality.max": "8k+", + "video.quality.2160": "4k", + "video.quality.1440": "1440p", + "video.quality.1080": "1080p", + "video.quality.720": "720p", + "video.quality.480": "480p", + "video.quality.360": "360p", + "video.quality.240": "240p", + "video.quality.144": "144p", + "video.youtube.codec": "YouTube 视频编解码器和容器", + "video.twitter.gif": "twitter/x", + "video.twitter.gif.title": "将循环视频转换为 GIF", + "video.twitter.gif.description": "GIF 转换效率低,转换后的文件可能非常大而且质量低下。", + "video.tiktok.h265": "tiktok", + "video.tiktok.h265.title": "首选 HEVC/H265 格式", + "video.tiktok.h265.description": "允许以兼容性为代价下载 1080p 的视频。", + "audio.format": "音频格式", + "audio.format.best": "最好", + "audio.format.mp3": "mp3", + "audio.format.ogg": "ogg", + "audio.format.wav": "wav", + "audio.format.opus": "opus", + "audio.bitrate": "音频比特率", + "audio.bitrate.kbps": "kb/s", + "audio.youtube.dub": "youtube", + "audio.youtube.dub.title": "使用浏览器语言观看配音视频", + "audio.youtube.dub.description": "即使 cobalt 没有翻译成您的语言也可以工作。", + "audio.tiktok.original": "tiktok", + "audio.tiktok.original.title": "下载原声", + "audio.tiktok.original.description": "cobalt 将从视频中下载声音,而不会对帖子的作者进行任何更改。", + "metadata.filename": "文件名样式", + "metadata.filename.classic": "标准", + "metadata.filename.basic": "基本", + "metadata.filename.pretty": "优化", + "metadata.filename.nerdy": "笨拙", + "metadata.filename.description": "文件名样式将仅用于由 cobalt 发送的文件,某些服务不支持标准文件名样式。", + "metadata.filename.preview.video": "视频标题", + "metadata.filename.preview.audio": "音频标题 - 音频作者", + "metadata.file": "文件元数据", + "metadata.disable.title": "禁用文件元数据", + "metadata.disable.description": "标题、艺术家和其他信息将不会添加到文件中。", + "saving.title": "保存方法", + "saving.ask": "询问", + "saving.download": "下载", + "saving.share": "分享", + "saving.copy": "复制", + "accessibility": "无障碍", + "accessibility.transparency.title": "降低视觉透明度", + "accessibility.transparency.description": "降低表面透明度并禁用模糊效果。", + "accessibility.motion.title": "减少动画", + "accessibility.motion.description": "尽可能禁用动画和过渡。", + "language": "语言", + "language.auto.title": "自动选择", + "language.auto.description": "如果有翻译,cobalt 将使用您浏览器的默认语言。如果没有,则将使用英语。", + "language.preferred.title": "首选语言", + "privacy.analytics": "匿名流量分析", + "privacy.analytics.title": "不参与分析", + "privacy.analytics.description": "需要匿名流量分析来获取活跃 Cobalt 用户的大致数量。不会存储任何有关您的身份信息。所有处理的数据都经过匿名和汇总。\n\n我们使用自托管的 Plausible 实例,该实例不使用 Cookie,并且完全符合 GDPR、CCPA 和 PECR。", + "privacy.analytics.learnmore": "了解有关 plausible 隐私保护的更多信息。", + "privacy.tunnel": "隧道", + "advanced.debug": "调试", + "advanced.debug.title": "启用调试功能", + "advanced.debug.description": "使您能够访问包含各种可用于调试的信息的页面。", + "advanced.data": "设置数据", + "processing.override": "默认实例覆盖", + "processing.override.title": "使用实例提供的处理服务器", + "processing.community": "社区实例", + "processing.enable_custom.title": "使用自定义处理服务器", + "processing.custom.placeholder": "自定义实例域名", + "video.quality.description": "如果没有首选的视频质量,则选择次优质量。", + "video.youtube.codec.description": "H264:兼容性最好,比特率一般。最高质量为 1080p。\nAV1:最佳质量、效率和比特率。支持 8k 和 HDR。\nvp9:质量和比特率与 av1 相同,但文件大约大两倍。支持 4k 和 HDR。\n\nav1 和 vp9 的支持范围不如 h264 广泛。", + "audio.format.description": "除“最佳”格式外,所有格式都会被转换,这意味着会有一些质量损失。只有在选择“最佳”格式时才会重新编码音频。", + "language.preferred.description": "当自动选择被禁用时,将使用此语言。任何未翻译的文本将以英文显示。\n\n对于英语、俄语和捷克语以外的语言,我们使用社区来源的翻译。它们可能不准确或不完整。", + "audio.bitrate.description": "比特率仅在将音频转换为有损格式时应用。钴无法提高源音频质量,因此选择超过 128kbps 的比特率可能会增加文件大小,而不会产生可听见的差别。感知质量可能因格式而异。", + "saving.description": "从 Cobalt 保存文件或链接的首选方式。如果首选方法不可用或出现问题,Cobalt 将询问您下一步该怎么做。", + "privacy.tunnel.description": "Cobalt 将隐藏您的 IP 地址、浏览器信息并绕过本地网络限制。启用后,文件也将具有可读的文件名,否则将是乱码。", + "privacy.tunnel.title": "始终通过隧道传输文件", + "processing.override.description": "如果 web 实例提供了自己的默认处理服务器,您可以选择使用它而不是主处理服务器。确保它是您信任的服务器。" +} diff --git a/web/i18n/zh/tabs.json b/web/i18n/zh/tabs.json new file mode 100644 index 00000000..1319dee4 --- /dev/null +++ b/web/i18n/zh/tabs.json @@ -0,0 +1,5 @@ +{ + "save": "保存", + "settings": "设置", + "updates": "更新日志" +} diff --git a/web/i18n/zh/updates.json b/web/i18n/zh/updates.json new file mode 100644 index 00000000..1e06cdcd --- /dev/null +++ b/web/i18n/zh/updates.json @@ -0,0 +1,4 @@ +{ + "button.next": "转到较旧的更新日志({{ value }})", + "button.previous": "转到较新的变更日志 ({{ value }})" +} diff --git a/web/i18n/zh_Hans/a11y/queue.json b/web/i18n/zh_Hans/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hans/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hans/error/api.json b/web/i18n/zh_Hans/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hans/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hans/error/queue.json b/web/i18n/zh_Hans/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hans/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hans/queue.json b/web/i18n/zh_Hans/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hans/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/a11y/dialog.json b/web/i18n/zh_Hant/a11y/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/a11y/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/a11y/donate.json b/web/i18n/zh_Hant/a11y/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/a11y/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/a11y/general.json b/web/i18n/zh_Hant/a11y/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/a11y/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/a11y/queue.json b/web/i18n/zh_Hant/a11y/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/a11y/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/a11y/save.json b/web/i18n/zh_Hant/a11y/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/a11y/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/a11y/tabs.json b/web/i18n/zh_Hant/a11y/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/a11y/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/about.json b/web/i18n/zh_Hant/about.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/about.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/about/credits.md b/web/i18n/zh_Hant/about/credits.md new file mode 100644 index 00000000..2f67e132 --- /dev/null +++ b/web/i18n/zh_Hant/about/credits.md @@ -0,0 +1,89 @@ + + +
+ + +cobalt is made with love and care by [imput](https://imput.net/) ❤️ + +we're a small team of two guys, but we work really hard to make great software +that benefits everyone. if you like our work, please consider supporting it on +the [donate page](/donate)! +
+ +
+ + +huge shout-out to our testers for testing updates early and making sure they're +stable. they also helped us ship cobalt 10! + +all links are external and lead to their personal websites or social media. +
+ +
+ + +a portion of cobalt's processing infrastructure is provided by our long-standing +partner, [royalehosting.net]({partners.royalehosting})! +
+ +
+ + +meowbalt is cobalt's speedy mascot, a very expressive cat who loves fast +internet. + +all amazing art of meowbalt that you see in cobalt was made by +[GlitchyPSI](https://glitchypsi.xyz/). he's also the original creator of the +character. + +imput holds legal rights to meowbalt's character design, but not specific +artworks that were created by GlitchyPSI. + +we love meowbalt, so we have to set a few rules in place to protect him: +- you cannot use meowbalt's character design in any form that isn't fan art. +- you cannot use meowbalt's design or artworks commercially. +- you cannot use meowbalt's design or artworks in your own projects. +- you cannot use or modify GlitchyPSI's artworks of meowbalt in any form. + +if you create fan art of meowbalt, please share it in [our discord +server](/about/community), we'd love to see it! +
+ +
+ + +cobalt api (processing server) code is open source and licensed under +[AGPL-3.0]({docs.apiLicense}). + +cobalt frontend code is [source first](https://sourcefirst.com/) and is licensed +under [CC-BY-NC-SA 4.0]({docs.webLicense}). + +we had to make frontend source first to stop grifters from profiting off our +work & from creating malicious clones that deceive people and hurt our public +identity. other than commercial use, it follows same principles as many open +source licenses. + +we rely on many open source libraries, but also create & distribute our own. you +can see the full list of dependencies on [github]({contacts.github})! +
diff --git a/web/i18n/zh_Hant/about/general.md b/web/i18n/zh_Hant/about/general.md new file mode 100644 index 00000000..a9802ffc --- /dev/null +++ b/web/i18n/zh_Hant/about/general.md @@ -0,0 +1,75 @@ + + +
+ + +cobalt helps you save anything from your favorite websites: video, audio, photos +or gifs. just paste the link and you're ready to rock! + +no ads, trackers, paywalls, or other nonsense. just a convenient web app that +works anywhere, whenever you need it. +
+ +
+ + +cobalt was created for public benefit, to protect people from ads and malware +pushed by alternative downloaders. we believe that the best software is safe, +open, and accessible. all imput project follow these basic principles. +
+ +
+ + +all requests to the backend are anonymous and all information about potential +file tunnels is encrypted. we have a strict zero log policy and don't store or +track *anything* about individual people. + +if a request requires additional processing, such as remuxing or transcoding, +cobalt processes media directly on your device. this ensures best efficiency and +privacy. + +if your device doesn't support local processing, then server-based live +processing is used instead. in this scenario, processed media is streamed +directly to client, without ever being stored on server's disk. + +you can [enable forced tunneling](/settings/privacy#tunnel) to boost privacy +even further. when enabled, cobalt will tunnel all downloaded files, not just +those that require it. no one will know where you download something from, even +your network provider. all they'll see is that you're using a cobalt instance. +
+ +
+ + +cobalt is used by countless artists, educators, and content creators to do what +they love. we're always on the line with our community and work together to make +cobalt even more useful. feel free to [join the conversation](/about/community)! + +we believe that the future of the internet is open, which is why cobalt is +[source first](https://sourcefirst.com/) and [easily +self-hostable]({docs.instanceHosting}). + +if your friend hosts a processing instance, just ask them for a domain and [add +it in instance settings](/settings/instances#community). + +you can check the source code and contribute [on github]({contacts.github}) at +any time. we welcome all contributions and suggestions! +
diff --git a/web/i18n/zh_Hant/about/privacy.md b/web/i18n/zh_Hant/about/privacy.md new file mode 100644 index 00000000..d4cb2d84 --- /dev/null +++ b/web/i18n/zh_Hant/about/privacy.md @@ -0,0 +1,123 @@ + + +
+ + +cobalt's privacy policy is simple: we don't collect or store anything about you. +what you do is solely your business, not ours or anyone else's. + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +tools that use on-device processing work offline, locally, and never send any +processed data anywhere. they are explicitly marked as such whenever applicable. +
+ +
+ + +when using saving functionality, cobalt may need to proxy or remux/transcode +files. if that's the case, then a temporary tunnel is created for this purpose +and minimal required information about the media is stored for 90 seconds. + +on an unmodified & official cobalt instance, **all tunnel data is encrypted with +a key that only the end user has access to**. + +encrypted tunnel data may include: +- origin service's name. +- original URLs for media files. +- internal arguments needed to differentiate between types of processing. +- minimal file metadata (generated filename, title, author, creation year, + copyright info). +- minimal information about the original request that may be used in case of an + URL failure during the tunnelling process. + +this data is irreversibly purged from server's RAM after 90 seconds. no one has +access to cached tunnel data, even instance owners, as long as cobalt's source +code is not modified. + +media data from tunnels is never stored/cached anywhere. everything is processed +live, even during remuxing and transcoding. cobalt tunnels function like an +anonymous proxy. + +if your device supports local processing, then encrypted tunnel info includes +way less info, because it's returned to client instead. + +see the [related source code on +github](https://github.com/imputnet/cobalt/tree/main/api/src/stream) to learn +more about how it works. +
+ +
+ + +temporarily stored tunnel data is encrypted using the AES-256 standard. +decryption keys are only included in the access link and never +logged/cached/stored anywhere. only the end user has access to the link & +encryption keys. keys are generated uniquely for each requested tunnel. +
+ +{#if env.PLAUSIBLE_ENABLED} +
+ + +we use [plausible](https://plausible.io/) to get an approximate number of active +cobalt users, fully anonymously. no identifiable information about you or your +requests is ever stored. all data is anonymized and aggregated. we self-host and +manage the [plausible instance](https://{env.PLAUSIBLE_HOST}/) that cobalt uses. + +plausible doesn't use cookies and is fully compliant with GDPR, CCPA, and PECR. + +if you wish to opt out of anonymous analytics, you can do it in [privacy +settings](/settings/privacy#analytics). if you opt out, the plausible script +will not be loaded at all. + +[learn more about plausible's dedication to +privacy](https://plausible.io/privacy-focused-web-analytics). +
+{/if} + +
+ + +we use cloudflare services for: +- ddos & abuse protection. +- bot protection (cloudflare turnstile). +- hosting & deploying the statically rendered web app (cloudflare workers). + +all of these are required to provide the best experience for everyone. +cloudflare is the most private & reliable provider for all mentioned solutions +that we know of. + +cloudflare is fully compliant with GDPR and HIPAA. + +[learn more about cloudflare's dedication to +privacy](https://www.cloudflare.com/trust-hub/privacy-and-data-protection/). +
diff --git a/web/i18n/zh_Hant/about/terms.md b/web/i18n/zh_Hant/about/terms.md new file mode 100644 index 00000000..39df9098 --- /dev/null +++ b/web/i18n/zh_Hant/about/terms.md @@ -0,0 +1,65 @@ + + +
+ + +these terms are applicable only when using the official cobalt instance. in +other cases, you may need to contact the instance hoster for accurate info. +
+ +
+ + +saving functionality simplifies downloading content from the internet and we +take zero liability for what the saved content is used for. + +processing servers operate like advanced proxies and don't ever write any +requested content to disk. everything is handled in RAM and permanently purged +once the tunnel is completed. we have no downloading logs and cannot identify +anyone. + +you can learn more about how tunnels work in [privacy policy](/about/privacy). +
+ +
+ + +you (end user) are responsible for what you do with our tools, how you use and +distribute resulting content. please be mindful when using content of others and +always credit original creators. make sure you don't violate any terms or +licenses. + +when used in educational purposes, always cite sources and credit original +creators. + +fair use and credits benefit everyone. +
+ +
+ + +we have no way of detecting abusive behavior automatically because cobalt is +fully anonymous. however, you can report such activities to us via email and +we'll do our best to comply manually: abuse[at]imput.net + +**this email is not intended for user support, you will not get a response if +your concern is not related to abuse.** + +if you're experiencing issues, you can reach out for support via any preferred +method on [the community page](/about/community). +
diff --git a/web/i18n/zh_Hant/button.json b/web/i18n/zh_Hant/button.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/button.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/dialog.json b/web/i18n/zh_Hant/dialog.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/donate.json b/web/i18n/zh_Hant/donate.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/donate.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/error.json b/web/i18n/zh_Hant/error.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/error.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/error/api.json b/web/i18n/zh_Hant/error/api.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/error/api.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/error/queue.json b/web/i18n/zh_Hant/error/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/error/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/general.json b/web/i18n/zh_Hant/general.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/general.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/notification.json b/web/i18n/zh_Hant/notification.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/notification.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/queue.json b/web/i18n/zh_Hant/queue.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/queue.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/receiver.json b/web/i18n/zh_Hant/receiver.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/receiver.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/remux.json b/web/i18n/zh_Hant/remux.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/remux.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/save.json b/web/i18n/zh_Hant/save.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/save.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/settings.json b/web/i18n/zh_Hant/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/tabs.json b/web/i18n/zh_Hant/tabs.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/tabs.json @@ -0,0 +1 @@ +{} diff --git a/web/i18n/zh_Hant/updates.json b/web/i18n/zh_Hant/updates.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/web/i18n/zh_Hant/updates.json @@ -0,0 +1 @@ +{}