-
-
-As they say, your thoughts are what you read—and we’ve been consuming noisy feeds for too long! Follow organizes content into one timeline, keeping you updated on what matters, noise-free. Share lists, explore collections, and enjoy distraction-free browsing.
+As they say, your thoughts are what you read—and we’ve been consuming noisy feeds for too long! Folo organizes content into one timeline, keeping you updated on what matters, noise-free. Share lists, explore collections, and enjoy distraction-free browsing.
## 👋🏻 Getting Started & Join Our Community
-Whether for users or professional developers, Follow will be your open information playground. Please be aware that Follow is currently under active development, and feedback is welcome for any [issue](https://github.com/RSSNext/Follow/issues) encountered.
+Whether for users or professional developers, Folo will be your open information playground. Please be aware that Folo is currently under active development, and feedback is welcome for any [issue](https://github.com/RSSNext/Folo/issues) encountered.
Feel free to try it using the following methods:
-| [](https://app.follow.is) | No installation necessary! Visit our web app to experience it firsthand. |
-| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------- |
-| [](https://github.com/RSSNext/Follow/releases/latest) [](https://github.com/RSSNext/Follow/releases/latest) | Download and install the desktop client for a smoother experience and enhanced features. |
+| Operating System | Source |
+| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Any | |
+| iOS | |
+| macOS | |
+| Windows | |
+| Linux | |
You can also install using the following methods maintained by our community:
@@ -46,10 +64,12 @@ You can also install using the following methods maintained by our community:
>
> **Star Us**, You will receive all release notifications from GitHub without any delay \~
+
+
-
+
@@ -69,7 +89,7 @@ A smarter and more efficient browsing with AI-powered features like translation,
### Dynamic Content Support
-Because we know content is more than just text. From articles to videos, images to audio — Follow gets it all covered.
+Because we know content is more than just text. From articles to videos, images to audio — Folo gets it all covered.

@@ -81,56 +101,17 @@ Tip creators across instantly with $POWER, support content you love, and unlock
### More Than Just An App
-This isn’t just another app. Follow is a community — introducing a new era of openness and community-driven experience.
+This isn’t just another app. Folo is a community — introducing a new era of openness and community-driven experience.

## 🤝 Contributing
-If you are eligible to use Follow, you are welcome to join the open source community to build together.
-
-Before you start, make sure you have enabled [Corepack](https://nodejs.org/api/corepack.html). Corepack makes sure you are using the correct version (`packageManager` field in `package.json`) for package manager when you run corresponding commands.
-
-```sh
-corepack enable
-```
-
-Install dependencies.
-
-```sh
-pnpm install
-```
-
-### Develop in the browser
-
-```sh
-pnpm run dev
-```
-
-Then the browser opens `https://app.follow.is/__debug_proxy`,you can access the online API environment to development and debugging.
-
-### Develop in the electron
-
-You need to fill in the required environment variables first.
-
-```sh
-cp .env.example .env
-```
-
-Then set `VITE_API_URL` to `https://api.follow.is` and run:
-
-```sh
-pnpm run dev:electron
-```
-
-Since it is not very convenient to develop in Electron, the first way to develop and contribute is recommended at this stage.
-
-> [!TIP]
-> If you can't log in to the app, copy the `__Secure-better-auth.session_token` in the cookie from your browser into the app.
+You are welcome to join the open source community to build together, please check our [Contributing Guide](./CONTRIBUTING.md) for more details.
## 📝 License
-Follow is licensed under the GNU General Public License version 3 with the addition of the following special exception:
+Folo is licensed under the GNU General Public License version 3 with the addition of the following special exception:
All content in the `icons/mgc` directory is copyrighted by https://mgc.mingcute.com/ and cannot be redistributed.
diff --git a/apps/desktop/build/dev.pfx b/apps/desktop/build/dev.pfx
new file mode 100644
index 0000000000..77c1360804
Binary files /dev/null and b/apps/desktop/build/dev.pfx differ
diff --git a/apps/desktop/changelog/0.3.13.md b/apps/desktop/changelog/0.3.13.md
new file mode 100644
index 0000000000..eabfafb6ab
--- /dev/null
+++ b/apps/desktop/changelog/0.3.13.md
@@ -0,0 +1,12 @@
+# What's new in v0.3.13
+
+## New Features
+
+- New Action Language setting
+- Export entry content to a PDF file
+
+## Improvements
+
+## Bug Fixes
+
+- Unable to update subscription information in time
diff --git a/apps/desktop/forge.config.cts b/apps/desktop/forge.config.cts
index a91e0b1f74..2b2d048bb5 100644
--- a/apps/desktop/forge.config.cts
+++ b/apps/desktop/forge.config.cts
@@ -6,6 +6,7 @@ import { cp, readdir } from "node:fs/promises"
import path, { resolve } from "node:path"
import { FuseV1Options, FuseVersion } from "@electron/fuses"
+import { MakerAppX } from "@electron-forge/maker-appx"
import { MakerDMG } from "@electron-forge/maker-dmg"
import { MakerPKG } from "@electron-forge/maker-pkg"
import { MakerSquirrel } from "@electron-forge/maker-squirrel"
@@ -17,9 +18,9 @@ import setLanguages from "electron-packager-languages"
import yaml from "js-yaml"
import { rimraf, rimrafSync } from "rimraf"
-const platform = process.argv[process.argv.indexOf("--platform") + 1]
+const platform = process.argv.find((arg) => arg.startsWith("--platform"))?.split("=")[1]
-const artifactRegex = /.*\.(?:exe|dmg|AppImage|zip)$/
+const artifactRegex = /.*\.(?:exe|dmg|AppImage|zip|appx)$/
const platformNamesMap = {
darwin: "macos",
linux: "linux",
@@ -99,7 +100,7 @@ const config: ForgeConfig = {
extraResource: ["./resources/app-update.yml"],
protocols: [
{
- name: "Follow",
+ name: "Folo",
schemes: ["follow"],
},
],
@@ -130,7 +131,6 @@ const config: ForgeConfig = {
keychain: process.env.OSX_SIGN_KEYCHAIN_PATH,
identity: process.env.OSX_SIGN_IDENTITY,
provisioningProfile: process.env.OSX_SIGN_PROVISIONING_PROFILE_PATH,
- preAutoEntitlements: platform !== "mas",
},
...(process.env.APPLE_ID &&
process.env.APPLE_PASSWORD &&
@@ -177,7 +177,7 @@ const config: ForgeConfig = {
["darwin", "mas"],
),
new MakerSquirrel({
- name: "Follow",
+ name: "Folo",
setupIcon: "resources/icon.ico",
iconUrl: "https://app.follow.is/favicon.ico",
}),
@@ -193,11 +193,21 @@ const config: ForgeConfig = {
}),
new MakerPKG(
{
- name: "Follow",
+ name: "Folo",
keychain: process.env.KEYCHAIN_PATH,
},
["mas"],
),
+ new MakerAppX({
+ publisher: "CN=7CBBEB6A-9B0E-4387-BAE3-576D0ACA279E",
+ packageDisplayName: "Folo - Follow everything in one place",
+ devCert: "build/dev.pfx",
+ assets: "static/appx",
+ // @ts-ignore
+ publisherDisplayName: "Natural Selection Labs",
+ identityName: "NaturalSelectionLabs.Follow-Yourfavoritesinoneinbo",
+ packageBackgroundColor: "#FF5C00",
+ }),
],
plugins: [
// Fuses are used to enable/disable various Electron functionality
diff --git a/apps/desktop/locales/app/ar-DZ.json b/apps/desktop/locales/app/ar-DZ.json
index 0e9fc14c06..f97018a92e 100644
--- a/apps/desktop/locales/app/ar-DZ.json
+++ b/apps/desktop/locales/app/ar-DZ.json
@@ -15,6 +15,8 @@
"discover.rss_url": "رابط RSS",
"discover.select_placeholder": "اختر",
"entry_actions.copy_link": "نسخ الرابط",
+ "entry_actions.exported_notify": "تم تصدير المقال كملف PDF.",
+ "entry_actions.export_as_pdf": "تصدير كملف PDF",
"entry_actions.failed_to_save_to_eagle": "فشل في الحفظ إلى Eagle.",
"entry_actions.failed_to_save_to_instapaper": "فشل في الحفظ إلى Instapaper.",
"entry_actions.failed_to_save_to_obsidian": "فشل في الحفظ إلى Obsidian.",
diff --git a/apps/desktop/locales/app/ar-IQ.json b/apps/desktop/locales/app/ar-IQ.json
index 607a076fd2..5765b22f9f 100644
--- a/apps/desktop/locales/app/ar-IQ.json
+++ b/apps/desktop/locales/app/ar-IQ.json
@@ -15,6 +15,8 @@
"discover.rss_url": "رابط RSS",
"discover.select_placeholder": "اختر",
"entry_actions.copy_link": "نسخ الرابط",
+ "entry_actions.exported_notify": "تم تصدير المقال كملف PDF.",
+ "entry_actions.export_as_pdf": "تصدير كملف PDF",
"entry_actions.failed_to_save_to_eagle": "فشل في الحفظ إلى Eagle.",
"entry_actions.failed_to_save_to_instapaper": "فشل في الحفظ إلى Instapaper.",
"entry_actions.failed_to_save_to_obsidian": "فشل في الحفظ إلى Obsidian.",
diff --git a/apps/desktop/locales/app/ar-KW.json b/apps/desktop/locales/app/ar-KW.json
index f1b0b4d42a..e20e1000f4 100644
--- a/apps/desktop/locales/app/ar-KW.json
+++ b/apps/desktop/locales/app/ar-KW.json
@@ -15,6 +15,8 @@
"discover.rss_url": "رابط RSS",
"discover.select_placeholder": "اختر",
"entry_actions.copy_link": "نسخ الرابط",
+ "entry_actions.exported_notify": "تم تصدير المقال كملف PDF.",
+ "entry_actions.export_as_pdf": "تصدير كملف PDF",
"entry_actions.failed_to_save_to_eagle": "فشل في الحفظ إلى Eagle.",
"entry_actions.failed_to_save_to_instapaper": "فشل في الحفظ إلى Instapaper.",
"entry_actions.failed_to_save_to_obsidian": "فشل في الحفظ إلى Obsidian",
diff --git a/apps/desktop/locales/app/ar-MA.json b/apps/desktop/locales/app/ar-MA.json
index ad7a5fe0d2..e3fcc656f9 100644
--- a/apps/desktop/locales/app/ar-MA.json
+++ b/apps/desktop/locales/app/ar-MA.json
@@ -15,6 +15,8 @@
"discover.rss_url": "رابط RSS",
"discover.select_placeholder": "اختر",
"entry_actions.copy_link": "نسخ الرابط",
+ "entry_actions.exported_notify": "تم تصدير المقال كملف PDF.",
+ "entry_actions.export_as_pdf": "تصدير كملف PDF",
"entry_actions.failed_to_save_to_eagle": "فشل الحفظ إلى Eagle.",
"entry_actions.failed_to_save_to_instapaper": "فشل الحفظ إلى Instapaper.",
"entry_actions.failed_to_save_to_obsidian": "فشل الحفظ في Obsidian",
diff --git a/apps/desktop/locales/app/ar-SA.json b/apps/desktop/locales/app/ar-SA.json
index 3058725ee0..a6359d1c59 100644
--- a/apps/desktop/locales/app/ar-SA.json
+++ b/apps/desktop/locales/app/ar-SA.json
@@ -15,6 +15,8 @@
"discover.rss_url": "عنوان URL لخلاصة RSS",
"discover.select_placeholder": "اختيار",
"entry_actions.copy_link": "نسخ الرابط",
+ "entry_actions.exported_notify": "تم تصدير المقال كملف PDF.",
+ "entry_actions.export_as_pdf": "تصدير كملف PDF",
"entry_actions.failed_to_save_to_eagle": "فشل في الحفظ إلى Eagle.",
"entry_actions.failed_to_save_to_instapaper": "فشل في الحفظ إلى Instapaper.",
"entry_actions.failed_to_save_to_readwise": "فشل في الحفظ إلى Readwise.",
diff --git a/apps/desktop/locales/app/ar-TN.json b/apps/desktop/locales/app/ar-TN.json
index de92231861..703d068f6c 100644
--- a/apps/desktop/locales/app/ar-TN.json
+++ b/apps/desktop/locales/app/ar-TN.json
@@ -15,6 +15,8 @@
"discover.rss_url": "رابط RSS",
"discover.select_placeholder": "اختر",
"entry_actions.copy_link": "نسخ الرابط",
+ "entry_actions.exported_notify": "تم تصدير المقال كملف PDF.",
+ "entry_actions.export_as_pdf": "تصدير كملف PDF",
"entry_actions.failed_to_save_to_eagle": "فشل في الحفظ إلى Eagle.",
"entry_actions.failed_to_save_to_instapaper": "فشل في الحفظ إلى Instapaper.",
"entry_actions.failed_to_save_to_readwise": "فشل في الحفظ إلى Readwise.",
diff --git a/apps/desktop/locales/app/de.json b/apps/desktop/locales/app/de.json
index 84394d8a07..f27733a698 100644
--- a/apps/desktop/locales/app/de.json
+++ b/apps/desktop/locales/app/de.json
@@ -15,6 +15,8 @@
"discover.rss_url": "RSS-URL",
"discover.select_placeholder": "Auswählen",
"entry_actions.copy_link": "Link kopieren",
+ "entry_actions.exported_notify": "Artikel als PDF exportiert.",
+ "entry_actions.export_as_pdf": "Als PDF exportieren",
"entry_actions.failed_to_save_to_eagle": "Speichern in Eagle fehlgeschlagen.",
"entry_actions.failed_to_save_to_instapaper": "Speichern in Instapaper fehlgeschlagen.",
"entry_actions.failed_to_save_to_obsidian": "Speichern in Obsidian fehlgeschlagen",
diff --git a/apps/desktop/locales/app/en.json b/apps/desktop/locales/app/en.json
index 02776f5d66..f4f567110f 100644
--- a/apps/desktop/locales/app/en.json
+++ b/apps/desktop/locales/app/en.json
@@ -1,16 +1,16 @@
{
"achievement.all_done": "All done!",
"achievement.alpha_tester": "Alpha Tester",
- "achievement.alpha_tester_description": "You are an alpha tester of Follow",
+ "achievement.alpha_tester_description": "You are an alpha tester of Folo",
"achievement.description": "Be a hardcore player and mint NFTs.",
"achievement.feed_booster": "Feed Booster",
- "achievement.feed_booster_description": "You boosted the feed on Follow",
+ "achievement.feed_booster_description": "You boosted the feed on Folo",
"achievement.first_claim_feed": "Feed Owner",
- "achievement.first_claim_feed_description": "You own your feed on Follow",
+ "achievement.first_claim_feed_description": "You own your feed on Folo",
"achievement.first_create_list": "List Creator",
- "achievement.first_create_list_description": "You created your first list on Follow",
+ "achievement.first_create_list_description": "You created your first list on Folo",
"achievement.follow_special_feed": "Special Feed Follower",
- "achievement.follow_special_feed_description": "You followed the special feed on Follow",
+ "achievement.follow_special_feed_description": "You followed the special feed on Folo",
"achievement.list_subscribe_100": "100 List Subscriber",
"achievement.list_subscribe_100_description": "100 subscribers subscribed to the list you created",
"achievement.list_subscribe_50": "50 List Subscriber",
@@ -19,7 +19,7 @@
"achievement.list_subscribe_50_description": "50 subscribers subscribed to the list you created",
"achievement.nft_coming_soon": "You cannot mint NFTs at this time. Once we are ready, they will be automatically credited to your account.",
"achievement.product_hunt_vote": "Product Hunt Upvoter",
- "achievement.product_hunt_vote_description": "You supported Follow on Product Hunt",
+ "achievement.product_hunt_vote_description": "You supported Folo on Product Hunt",
"activation.activate": "Activate",
"activation.description": "During the public testing phase, you need an invitation code to use this feature.",
"activation.title": "Invitation Code",
@@ -108,6 +108,8 @@
"entry_actions.image_gallery": "Image Gallery",
"entry_actions.copied_notify": "{{which}} copied to clipboard.",
"entry_actions.copy_link": "Copy Link",
+ "entry_actions.exported_notify": "Exported article as PDF.",
+ "entry_actions.export_as_pdf": "Export as PDF",
"entry_actions.copy_title": "Copy Title",
"entry_actions.delete": "Delete",
"entry_actions.deleted": "Deleted.",
@@ -246,13 +248,16 @@
"mark_all_read_button.mark_all_as_read": "Mark all as read",
"mark_all_read_button.mark_as_read": "Mark as read",
"mark_all_read_button.undo": "Undo",
+ "new_user_guide.actions.next": "Next",
+ "new_user_guide.actions.back": "Back",
+ "new_user_guide.actions.finish": "Finish",
"new_user_guide.intro.description": "This guide will help you get started with the app.",
- "new_user_guide.intro.title": "Welcome to Follow!",
+ "new_user_guide.intro.title": "Welcome to Folo!",
"new_user_guide.outro.description": "You have completed the guide. Enjoy your journey!",
"new_user_guide.outro.title": "You're all set!",
- "new_user_guide.step.activation.description": "Don't worry, you can continue to use Follow without an invitation code.",
+ "new_user_guide.step.activation.description": "Don't worry, you can continue to use Folo without an invitation code.",
"new_user_guide.step.activation.title": "Activate your account",
- "new_user_guide.step.automation.description": "- Follow leverages advanced AI to assist your operations.\n- Action rules allow you to automate various actions on sources that meet specific conditions.\n- Integrations allow you to save entries to other services.",
+ "new_user_guide.step.automation.description": "- Folo leverages advanced AI to assist your operations.\n- Action rules allow you to automate various actions on sources that meet specific conditions.\n- Integrations allow you to save entries to other services.",
"new_user_guide.step.behavior.title": "Behavior",
"new_user_guide.step.behavior.unread_question.content": "Select how you would like to mark as read.",
"new_user_guide.step.behavior.unread_question.description": "Don't worry, you can also change it later in the preferences.",
@@ -264,10 +269,10 @@
"new_user_guide.step.migrate.profile": "Setup your profile",
"new_user_guide.step.migrate.title": "Migrate from OPML file",
"new_user_guide.step.migrate.wallet": "Check your wallet",
- "new_user_guide.step.power.description": "Follow uses blockchain technology as an incentive mechanism for active users and outstanding creators. Users can obtain more services and benefits by holding and using Power Token. Creators can obtain more rewards by providing high-quality content and services.",
+ "new_user_guide.step.power.description": "Folo uses blockchain technology as an incentive mechanism for active users and outstanding creators. Users can obtain more services and benefits by holding and using Power Token. Creators can obtain more rewards by providing high-quality content and services.",
"new_user_guide.step.rsshub.info": "Everything is RSSible. Our [RSSHub](https://github.com/DIYgod/RSSHub) community, comprising over 1,000 developers, has spent six years adapting nearly a thousand websites to provide almost all the content you need. This includes platforms like X (Twitter), Instagram, PlayStation, Spotify, Telegram, YouTube, and more. You can also write your own scripts to adapt additional websites.",
"new_user_guide.step.rsshub.title": "Subscribe from RSSHub",
- "new_user_guide.step.shortcuts.description1": "Shortcut keys allow you to use Follow more conveniently and efficiently.",
+ "new_user_guide.step.shortcuts.description1": "Shortcut keys allow you to use Folo more conveniently and efficiently.",
"new_user_guide.step.shortcuts.description2": "Press to quickly view all shortcut keys at any time.",
"new_user_guide.step.shortcuts.title": "Shortcuts",
"new_user_guide.step.start_question.content": "Have you used other RSS readers before?",
@@ -275,7 +280,7 @@
"new_user_guide.step.start_question.option2": "No, this is my first time using an RSS reader.",
"new_user_guide.step.start_question.title": "Question",
"new_user_guide.step.trending.title": "Popular Feeds",
- "new_user_guide.step.views.description": "Follow uses different views for various types of content to offer an experience equal to or better than the original platform",
+ "new_user_guide.step.views.description": "Folo uses different views for various types of content to offer an experience equal to or better than the original platform",
"new_user_guide.step.views.title": "Views",
"notify.unfollow_feed": " have been unfollowed.",
"notify.unfollow_feed_many": "All selected feeds have been unfollowed.",
diff --git a/apps/desktop/locales/app/es.json b/apps/desktop/locales/app/es.json
index 686c086876..c299baf2a0 100644
--- a/apps/desktop/locales/app/es.json
+++ b/apps/desktop/locales/app/es.json
@@ -15,6 +15,8 @@
"discover.rss_url": "RSS URL",
"discover.select_placeholder": "Seleccionar",
"entry_actions.copy_link": "Copiar enlace",
+ "entry_actions.exported_notify": "Artículo exportado como PDF.",
+ "entry_actions.export_as_pdf": "Exportar como PDF",
"entry_actions.failed_to_save_to_obsidian": "Error al guardar en Obsidian",
"entry_actions.mark_as_read": "Marcar como leído",
"entry_actions.mark_as_unread": "Marcar como no leído",
diff --git a/apps/desktop/locales/app/fi.json b/apps/desktop/locales/app/fi.json
index 9e4abfe478..baa90f1125 100644
--- a/apps/desktop/locales/app/fi.json
+++ b/apps/desktop/locales/app/fi.json
@@ -15,6 +15,8 @@
"discover.rss_url": "RSS-URL",
"discover.select_placeholder": "Valitse",
"entry_actions.copy_link": "Kopioi linkki",
+ "entry_actions.exported_notify": "Artikkeli vietiin PDF-muodossa.",
+ "entry_actions.export_as_pdf": "Vie PDF:nä",
"entry_actions.failed_to_save_to_eagle": "Tallennus Eagleen epäonnistui.",
"entry_actions.failed_to_save_to_instapaper": "Tallennus Instapaperiin epäonnistui.",
"entry_actions.failed_to_save_to_readwise": "Tallennus Readwiseen epäonnistui.",
diff --git a/apps/desktop/locales/app/fr.json b/apps/desktop/locales/app/fr.json
index 81047be3dc..d973e5cad9 100644
--- a/apps/desktop/locales/app/fr.json
+++ b/apps/desktop/locales/app/fr.json
@@ -15,6 +15,8 @@
"discover.rss_url": "URL du RSS",
"discover.select_placeholder": "Sélectionner",
"entry_actions.copy_link": "Copier le lien",
+ "entry_actions.exported_notify": "Article exporté en PDF.",
+ "entry_actions.export_as_pdf": "Exporter en PDF",
"entry_actions.failed_to_save_to_eagle": "Échec de l'enregistrement sur Eagle.",
"entry_actions.failed_to_save_to_instapaper": "Échec de l'enregistrement sur Instapaper.",
"entry_actions.failed_to_save_to_readwise": "Échec de l'enregistrement sur Readwise.",
diff --git a/apps/desktop/locales/app/it.json b/apps/desktop/locales/app/it.json
index 03e47a3915..a227a30f1f 100644
--- a/apps/desktop/locales/app/it.json
+++ b/apps/desktop/locales/app/it.json
@@ -15,6 +15,8 @@
"discover.rss_url": "URL RSS",
"discover.select_placeholder": "Seleziona",
"entry_actions.copy_link": "Copia link",
+ "entry_actions.exported_notify": "Articolo esportato come PDF.",
+ "entry_actions.export_as_pdf": "Esporta come PDF",
"entry_actions.failed_to_save_to_eagle": "Salvataggio su Eagle non riuscito.",
"entry_actions.failed_to_save_to_instapaper": "Salvataggio su Instapaper non riuscito.",
"entry_actions.failed_to_save_to_readwise": "Salvataggio su Readwise non riuscito.",
diff --git a/apps/desktop/locales/app/ja.json b/apps/desktop/locales/app/ja.json
index 6e5a41074b..d1073451e5 100644
--- a/apps/desktop/locales/app/ja.json
+++ b/apps/desktop/locales/app/ja.json
@@ -1,16 +1,16 @@
{
"achievement.all_done": "すべて完了!",
"achievement.alpha_tester": "アルファ テスター",
- "achievement.alpha_tester_description": "あなたは Follow のアルファ テスターです",
+ "achievement.alpha_tester_description": "あなたは Folo のアルファ テスターです",
"achievement.description": "ハードコア プレイヤーになって NFT をミントしよう。",
"achievement.feed_booster": "フィード ブースター",
- "achievement.feed_booster_description": "Follow のフィードをブーストしました",
+ "achievement.feed_booster_description": "Folo のフィードをブーストしました",
"achievement.first_claim_feed": "フィードの所有者",
- "achievement.first_claim_feed_description": "あなたは Follow のフィード所有者です",
+ "achievement.first_claim_feed_description": "あなたは Folo のフィード所有者です",
"achievement.first_create_list": "リスト作成者",
- "achievement.first_create_list_description": "あなたは Follow のリスト作成者です",
+ "achievement.first_create_list_description": "あなたは Folo のリスト作成者です",
"achievement.follow_special_feed": "スペシャル フィード フォロワーです",
- "achievement.follow_special_feed_description": "あなたは Follow でスペシャルフィードをフォローしています",
+ "achievement.follow_special_feed_description": "あなたは Folo でスペシャルフィードをフォローしています",
"achievement.list_subscribe_100": "100 リスト購読者",
"achievement.list_subscribe_100_description": "あなたが作成したリストの購読者数が 100 人を超えました",
"achievement.list_subscribe_50": "あなたが作成したリストの購読者数が 50 人を超えました",
@@ -19,7 +19,7 @@
"achievement.list_subscribe_50_description": "あなたが作成したリストの購読者数が 50 人を超えました",
"achievement.nft_coming_soon": "今は NFT をミントすることはできません。準備ができたらあなたのアカウントに自動でクレジットされます。",
"achievement.product_hunt_vote": "Product Hunt 投票者",
- "achievement.product_hunt_vote_description": "あなたは Product Hunt での Follow サポーターです",
+ "achievement.product_hunt_vote_description": "あなたは Product Hunt での Folo サポーターです",
"activation.activate": "有効化",
"activation.description": "パブリック ベータ テストフェーズ期間中、この機能を使用するには招待コードが必要です。",
"activation.title": "招待コード",
@@ -63,7 +63,7 @@
"discover.category.travel": "旅行",
"discover.category.university": "大学",
"discover.default_option": " (デフォルト)",
- "discover.feed_description": "このフィードの説明は Follow で表示されます、またパラメータ フォームに関連する情報を記入することができます。",
+ "discover.feed_description": "このフィードの説明は Folo で表示されます、またパラメータ フォームに関連する情報を記入することができます。",
"discover.feed_maintainers": "フィードは RSSHub が提供し とともにクレジットされます。",
"discover.import.click_to_upload": "OPML ファイルをアップロードするにはクリック",
"discover.import.conflictItems": "重複アイテム",
@@ -107,6 +107,8 @@
"discover.target.lists": "リスト",
"entry_actions.copied_notify": "{{which}} をクリップボードにコピーしました。",
"entry_actions.copy_link": "リンクをコピー",
+ "entry_actions.exported_notify": "記事をPDFとしてエクスポートしました。",
+ "entry_actions.export_as_pdf": "PDFとしてエクスポート",
"entry_actions.copy_title": "タイトルをコピー",
"entry_actions.delete": "削除",
"entry_actions.deleted": "削除済み",
@@ -198,7 +200,7 @@
"feed_form.category": "カテゴリー",
"feed_form.category_description": "デフォルトでは、フォローはウェブサイトごとにグループ化されます。",
"feed_form.error_fetching_feed": "フィードの取得に失敗しました。",
- "feed_form.fee": "Follow 手数料",
+ "feed_form.fee": "Folo 手数料",
"feed_form.fee_description": "このリストをフォローするにはリスト作成者が設定した手数料が必要です。",
"feed_form.feed_not_found": "フィードが見つかりません。",
"feed_form.feedback": "フィードバック",
@@ -245,12 +247,12 @@
"mark_all_read_button.mark_as_read": "を既読にする",
"mark_all_read_button.undo": "元に戻す",
"new_user_guide.intro.description": "このガイドはアプリを快適に始めるためのガイドです。",
- "new_user_guide.intro.title": "Follow へようこそ!",
- "new_user_guide.outro.description": "ガイドを完了しました。快適な Follow 体験を!",
+ "new_user_guide.intro.title": "Folo へようこそ!",
+ "new_user_guide.outro.description": "ガイドを完了しました。快適な Folo 体験を!",
"new_user_guide.outro.title": "すべて完了しました!",
- "new_user_guide.step.activation.description": "大丈夫です、 Follow を招待コードなしに続けることができます。",
+ "new_user_guide.step.activation.description": "大丈夫です、 Folo を招待コードなしに続けることができます。",
"new_user_guide.step.activation.title": "アカウントを有効化",
- "new_user_guide.step.automation.description": "- Follow は高度なAIを活用し、お客様の業務を支援します。\n - アクションルールにより、特定の条件を満たしたソースに対して様々なアクションを自動化できます。",
+ "new_user_guide.step.automation.description": "- Folo は高度なAIを活用し、お客様の業務を支援します。\n - アクションルールにより、特定の条件を満たしたソースに対して様々なアクションを自動化できます。",
"new_user_guide.step.behavior.title": "振る舞い",
"new_user_guide.step.behavior.unread_question.content": "既読時の振る舞いを選択してください",
"new_user_guide.step.behavior.unread_question.description": "大丈夫です、設定であとから変更することもできます。",
@@ -262,10 +264,10 @@
"new_user_guide.step.migrate.profile": "プロファイルをセットアップ",
"new_user_guide.step.migrate.title": "OPML ファイルを構成する",
"new_user_guide.step.migrate.wallet": "ウォレットをチェック",
- "new_user_guide.step.power.description": "Follow はアクティブなユーザーや優れたクリエイターに対するインセンティブ メカニズムとしてブロックチェーン技術を利用しています。ユーザーは Power トークンを保有・利用することで、より多くのサービスや特典を得ることができます。クリエイターは、質の高いコンテンツやサービスを提供することで、より多くの報酬を得ることができます。",
+ "new_user_guide.step.power.description": "Folo はアクティブなユーザーや優れたクリエイターに対するインセンティブ メカニズムとしてブロックチェーン技術を利用しています。ユーザーは Power トークンを保有・利用することで、より多くのサービスや特典を得ることができます。クリエイターは、質の高いコンテンツやサービスを提供することで、より多くの報酬を得ることができます。",
"new_user_guide.step.rsshub.info": "すべてを RSSible(RSS化) わたしたちの [RSSHub](https://github.com/DIYgod/RSSHub) コミュニティです。1,000人以上の開発者で構成され、6年間かけて約1,000のウェブサイトを適応させ、あなたが必要とするほぼすべてのコンテンツを提供してきました。これにはX(Twitter)、Instagram、PlayStation、Spotify、Telegram、YouTubeなどのプラットフォームが含まれます。また独自のスクリプトを記述して、追加のウェブサイトを適応させることもできます。",
"new_user_guide.step.rsshub.title": "RSSHub を購読",
- "new_user_guide.step.shortcuts.description1": "ショートカットキーを利用すると Follow をより便利に、より効率的に使えます。",
+ "new_user_guide.step.shortcuts.description1": "ショートカットキーを利用すると Folo をより便利に、より効率的に使えます。",
"new_user_guide.step.shortcuts.description2": " を押すと素早くすべてのショートカットキーにアクセスできます。",
"new_user_guide.step.shortcuts.title": "ショートカット",
"new_user_guide.step.start_question.content": "他の RSS リーダーを使ったことはありますか?",
@@ -273,7 +275,7 @@
"new_user_guide.step.start_question.option2": "いいえ、RSS リーダーを使うのは初めてです",
"new_user_guide.step.start_question.title": "質問",
"new_user_guide.step.trending.title": "人気のフィード",
- "new_user_guide.step.views.description": "Follow は様々なタイプのコンテンツに異なる表示方法を使用し、オリジナルのプラットフォームと同等以上の体験を提供します。",
+ "new_user_guide.step.views.description": "Folo は様々なタイプのコンテンツに異なる表示方法を使用し、オリジナルのプラットフォームと同等以上の体験を提供します。",
"new_user_guide.step.views.title": "表示",
"notify.unfollow_feed": " のフォローを解除しました",
"notify.unfollow_feed_many": "選択したすべてのフィードのフォローを解除しました。",
diff --git a/apps/desktop/locales/app/ko.json b/apps/desktop/locales/app/ko.json
index 034f25e702..c93b822727 100644
--- a/apps/desktop/locales/app/ko.json
+++ b/apps/desktop/locales/app/ko.json
@@ -1,16 +1,16 @@
{
"achievement.all_done": "모두 완료되었습니다!",
"achievement.alpha_tester": "알파 테스터",
- "achievement.alpha_tester_description": "Follow 알파 테스터입니다",
+ "achievement.alpha_tester_description": "Folo 알파 테스터입니다",
"achievement.description": "열렬한 플레이어가 되어 NFT를 발행하세요.",
"achievement.feed_booster": "피드 부스터",
- "achievement.feed_booster_description": "Follow에서 피드를 부스트했습니다",
+ "achievement.feed_booster_description": "Folo에서 피드를 부스트했습니다",
"achievement.first_claim_feed": "피드 소유자",
- "achievement.first_claim_feed_description": "Follow 에서 귀하의 피드를 소유하고 있습니다",
+ "achievement.first_claim_feed_description": "Folo 에서 귀하의 피드를 소유하고 있습니다",
"achievement.first_create_list": "목록 생성자",
- "achievement.first_create_list_description": "Follow에서 첫 번째 목록을 만들었습니다",
+ "achievement.first_create_list_description": "Folo에서 첫 번째 목록을 만들었습니다",
"achievement.follow_special_feed": "특별 피드 팔로워",
- "achievement.follow_special_feed_description": "Follow에서 특별 피드를 팔로우했습니다",
+ "achievement.follow_special_feed_description": "Folo에서 특별 피드를 팔로우했습니다",
"achievement.list_subscribe_100": "100명 목록 구독자",
"achievement.list_subscribe_100_description": "회원님이 만든 목록을 100명이 구독했습니다",
"achievement.list_subscribe_50": "50명 목록 구독자",
@@ -19,7 +19,7 @@
"achievement.list_subscribe_50_description": "50명의 구독자가 생성한 목록을 구독했습니다.",
"achievement.nft_coming_soon": "현재 NFT를 발행할 수 없습니다. 준비가 되면 자동으로 계정에 적립됩니다.",
"achievement.product_hunt_vote": "Product Hunt 추천인",
- "achievement.product_hunt_vote_description": "Product Hunt에서 Follow를 지지했습니다",
+ "achievement.product_hunt_vote_description": "Product Hunt에서 Folo를 지지했습니다",
"activation.activate": "활성화",
"activation.description": "공개 테스트 단계에서는 이 기능을 사용하려면 초대 코드가 필요합니다.",
"activation.title": "초대 코드",
@@ -107,6 +107,8 @@
"discover.target.lists": "목록",
"entry_actions.copied_notify": "{{which}}이(가) 클립보드에 복사되었습니다",
"entry_actions.copy_link": "링크 복사",
+ "entry_actions.exported_notify": "PDF로 기사 내보내기 완료.",
+ "entry_actions.export_as_pdf": "PDF로 내보내기",
"entry_actions.copy_title": "제목 복사",
"entry_actions.delete": "삭제",
"entry_actions.deleted": "삭제됨",
@@ -245,12 +247,12 @@
"mark_all_read_button.mark_as_read": "을(를) 읽음으로 표시",
"mark_all_read_button.undo": "실행 취소",
"new_user_guide.intro.description": "이 가이드는 앱을 시작하는 데 도움이 될 것입니다.",
- "new_user_guide.intro.title": "Follow에 오신 것을 환영합니다!",
+ "new_user_guide.intro.title": "Folo에 오신 것을 환영합니다!",
"new_user_guide.outro.description": "가이드를 완료했습니다. 즐거운 여정 되세요!",
"new_user_guide.outro.title": "모든 준비가 완료되었습니다!",
- "new_user_guide.step.activation.description": "걱정하지 마세요, 초대 코드 없이도 Follow를 계속 사용할 수 있습니다.",
+ "new_user_guide.step.activation.description": "걱정하지 마세요, 초대 코드 없이도 Folo를 계속 사용할 수 있습니다.",
"new_user_guide.step.activation.title": "계정 활성화",
- "new_user_guide.step.automation.description": "- Follow는 고급 AI를 활용하여 작업을 지원합니다.\n- 액션 규칙을 통해 특정 조건을 충족하는 소스에 대해 다양한 작업을 자동화할 수 있습니다.\n- 통합을 통해 항목을 다른 서비스에 저장할 수 있습니다.",
+ "new_user_guide.step.automation.description": "- Folo는 고급 AI를 활용하여 작업을 지원합니다.\n- 액션 규칙을 통해 특정 조건을 충족하는 소스에 대해 다양한 작업을 자동화할 수 있습니다.\n- 통합을 통해 항목을 다른 서비스에 저장할 수 있습니다.",
"new_user_guide.step.behavior.title": "동작",
"new_user_guide.step.behavior.unread_question.content": "읽음 표시 방법을 선택하세요.",
"new_user_guide.step.behavior.unread_question.description": "걱정하지 마세요, 나중에 환경설정에서 변경할 수 있습니다.",
@@ -262,13 +264,13 @@
"new_user_guide.step.migrate.profile": "프로필 설정",
"new_user_guide.step.migrate.title": "OPML 파일에서 마이그레이션",
"new_user_guide.step.migrate.wallet": "지갑 확인",
- "new_user_guide.step.power.description": "Follow는 활발한 사용자와 뛰어난 크리에이터를 위한 인센티브 메커니즘으로 블록체인 기술을 사용합니다. 사용자는 파워 토큰을 보유하고 사용함으로써 더 많은 서비스와 혜택을 얻을 수 있습니다. 크리에이터는 고품질 콘텐츠와 서비스를 제공함으로써 더 많은 보상을 얻을 수 있습니다.",
+ "new_user_guide.step.power.description": "Folo는 활발한 사용자와 뛰어난 크리에이터를 위한 인센티브 메커니즘으로 블록체인 기술을 사용합니다. 사용자는 파워 토큰을 보유하고 사용함으로써 더 많은 서비스와 혜택을 얻을 수 있습니다. 크리에이터는 고품질 콘텐츠와 서비스를 제공함으로써 더 많은 보상을 얻을 수 있습니다.",
"new_user_guide.step.rsshub.info": "모든 것은 RSS가 가능합니다. 1,000명 이상의 개발자로 구성된 [RSSHub](https://github.com/DIYgod/RSSHub) 커뮤니티는 6년 동안 거의 모든 필요한 콘텐츠를 제공하기 위해 수천 개의 웹사이트를 적용해왔습니다. X(Twitter), Instagram, PlayStation, Spotify, Telegram, YouTube 등의 플랫폼이 포함됩니다. 추가 웹사이트를 적용하기 위해 자신만의 스크립트를 작성할 수도 있습니다.",
"new_user_guide.step.rsshub.title": "RSSHub에서 구독",
- "new_user_guide.step.shortcuts.description1": "단축키를 사용하면 Follow를 더 편리하고 효율적으로 사용할 수 있습니다.",
+ "new_user_guide.step.shortcuts.description1": "단축키를 사용하면 Folo를 더 편리하고 효율적으로 사용할 수 있습니다.",
"new_user_guide.step.shortcuts.description2": "언제든지 를 눌러 모든 단축키를 빠르게 볼 수 있습니다.",
"new_user_guide.step.shortcuts.title": "단축키",
- "new_user_guide.step.views.description": "Follow는 다양한 유형의 콘텐츠에 대해 서로 다른 뷰를 사용하여 원본 플랫폼과 동등하거나 더 나은 경험을 제공합니다",
+ "new_user_guide.step.views.description": "Folo는 다양한 유형의 콘텐츠에 대해 서로 다른 뷰를 사용하여 원본 플랫폼과 동등하거나 더 나은 경험을 제공합니다",
"new_user_guide.step.views.title": "뷰",
"notify.unfollow_feed": "이(가) 언팔로우되었습니다.",
"notify.unfollow_feed_many": "선택한 모든 피드가 언팔로우되었습니다.",
diff --git a/apps/desktop/locales/app/pt.json b/apps/desktop/locales/app/pt.json
index 1ad2fd9805..8cdd99d1cd 100644
--- a/apps/desktop/locales/app/pt.json
+++ b/apps/desktop/locales/app/pt.json
@@ -15,6 +15,8 @@
"discover.rss_url": "RSS URL",
"discover.select_placeholder": "選択",
"entry_actions.copy_link": "リンクをコピー",
+ "entry_actions.exported_notify": "Artigo exportado como PDF.",
+ "entry_actions.export_as_pdf": "Exportar como PDF",
"entry_actions.failed_to_save_to_eagle": "Eagle への保存に失敗しました。",
"entry_actions.failed_to_save_to_instapaper": "Instapaper への保存に失敗しました。",
"entry_actions.failed_to_save_to_readwise": "Readwise への保存に失敗しました。",
diff --git a/apps/desktop/locales/app/ru.json b/apps/desktop/locales/app/ru.json
index 7a6b38ae39..8f8f8f6b4f 100644
--- a/apps/desktop/locales/app/ru.json
+++ b/apps/desktop/locales/app/ru.json
@@ -1,16 +1,16 @@
{
"achievement.all_done": "Все сделано!",
"achievement.alpha_tester": "Альфа-тестер",
- "achievement.alpha_tester_description": "Вы альфа-тестер Follow",
+ "achievement.alpha_tester_description": "Вы альфа-тестер Folo",
"achievement.description": "Будьте хардкорным игроком и минтить в NFT.",
"achievement.feed_booster": "Усилитель канала",
- "achievement.feed_booster_description": "Вы усилили канал в Follow",
+ "achievement.feed_booster_description": "Вы усилили канал в Folo",
"achievement.first_claim_feed": "Владелец канала",
- "achievement.first_claim_feed_description": "Вы владеете своим каналом в Follow",
+ "achievement.first_claim_feed_description": "Вы владеете своим каналом в Folo",
"achievement.first_create_list": "Создатель списка",
- "achievement.first_create_list_description": "Вы создали свой первый список в Follow",
+ "achievement.first_create_list_description": "Вы создали свой первый список в Folo",
"achievement.follow_special_feed": "Подписчик специального канала",
- "achievement.follow_special_feed_description": "Вы подписались на специальный канал в Follow",
+ "achievement.follow_special_feed_description": "Вы подписались на специальный канал в Folo",
"achievement.list_subscribe_100": "100 подписчиков списка",
"achievement.list_subscribe_100_description": "100 подписчиков подписались на созданный вами список",
"achievement.list_subscribe_50": "50 подписчиков списка",
@@ -19,7 +19,7 @@
"achievement.list_subscribe_50_description": "50 подписчиков подписались на созданный вами список",
"achievement.nft_coming_soon": "Вы не можете минтить NFT в данный момент. Как только мы будем готовы, они будут автоматически зачислены на ваш аккаунт.",
"achievement.product_hunt_vote": "Голосовавший на Product Hunt",
- "achievement.product_hunt_vote_description": "Вы поддержали Follow на Product Hunt",
+ "achievement.product_hunt_vote_description": "Вы поддержали Folo на Product Hunt",
"activation.activate": "Активировать",
"activation.description": "Во время публичного тестирования вам нужен код приглашения для использования этой функции.",
"activation.title": "Код приглашения",
@@ -103,6 +103,8 @@
"discover.target.lists": "Списки",
"entry_actions.copied_notify": "{{which}} скопировано в буфер обмена.",
"entry_actions.copy_link": "Копировать ссылку",
+ "entry_actions.exported_notify": "Статья экспортирована в PDF.",
+ "entry_actions.export_as_pdf": "Экспортировать в PDF",
"entry_actions.copy_title": "Копировать заголовок",
"entry_actions.delete": "Удалить",
"entry_actions.deleted": "Удалено.",
@@ -241,12 +243,12 @@
"mark_all_read_button.mark_as_read": "Отметить как прочитанное",
"mark_all_read_button.undo": "Отменить",
"new_user_guide.intro.description": "Это руководство поможет вам начать работу с приложением.",
- "new_user_guide.intro.title": "Добро пожаловать в Follow!",
+ "new_user_guide.intro.title": "Добро пожаловать в Folo!",
"new_user_guide.outro.description": "Вы завершили руководство. Приятного путешествия!",
"new_user_guide.outro.title": "Все готово!",
- "new_user_guide.step.activation.description": "Не беспокойтесь, вы можете продолжать использовать Follow без кода приглашения.",
+ "new_user_guide.step.activation.description": "Не беспокойтесь, вы можете продолжать использовать Folo без кода приглашения.",
"new_user_guide.step.activation.title": "Активируйте вашу учетную запись",
- "new_user_guide.step.automation.description": "- Follow использует передовой ИИ для помощи в операциях.\n- Правила действий позволяют автоматизировать различные операции на источниках, соответствующих конкретным условиям.\n- Интеграции позволяют сохранять записи в другие сервисы.",
+ "new_user_guide.step.automation.description": "- Folo использует передовой ИИ для помощи в операциях.\n- Правила действий позволяют автоматизировать различные операции на источниках, соответствующих конкретным условиям.\n- Интеграции позволяют сохранять записи в другие сервисы.",
"new_user_guide.step.behavior.title": "Поведение",
"new_user_guide.step.behavior.unread_question.content": "Выберите, как вы хотите отмечать как прочитанное.",
"new_user_guide.step.behavior.unread_question.description": "Не переживайте, вы можете изменить это позже в настройках.",
@@ -258,10 +260,10 @@
"new_user_guide.step.migrate.profile": "Настройте свой профиль",
"new_user_guide.step.migrate.title": "Перенос из файла OPML",
"new_user_guide.step.migrate.wallet": "Проверьте ваш кошелек",
- "new_user_guide.step.power.description": "Follow использует технологию блокчейн в качестве механизма вознаграждения для активных пользователей и выдающихся создателей. Пользователи могут получить дополнительные услуги и преимущества, держа и используя токен Power. Создатели могут получать больше наград за предоставление качественного контента и услуг.",
+ "new_user_guide.step.power.description": "Folo использует технологию блокчейн в качестве механизма вознаграждения для активных пользователей и выдающихся создателей. Пользователи могут получить дополнительные услуги и преимущества, держа и используя токен Power. Создатели могут получать больше наград за предоставление качественного контента и услуг.",
"new_user_guide.step.rsshub.info": "Всё в формате RSS. Наше сообщество [RSSHub](https://github.com/DIYgod/RSSHub), состоящее более чем из 1,000 разработчиков, потратило шесть лет на адаптацию почти тысячи сайтов, чтобы предоставить весь необходимый контент. Это включает платформы как X (Twitter), Instagram, PlayStation, Spotify, Telegram, YouTube и многие другие. Вы также можете написать собственные скрипты для адаптации дополнительных сайтов.",
"new_user_guide.step.rsshub.title": "Подписка с RSSHub",
- "new_user_guide.step.shortcuts.description1": "Горячие клавиши позволяют использовать Follow удобнее и эффективнее.",
+ "new_user_guide.step.shortcuts.description1": "Горячие клавиши позволяют использовать Folo удобнее и эффективнее.",
"new_user_guide.step.shortcuts.description2": "Нажмите чтобы быстро просмотреть все горячие клавиши в любое время.",
"new_user_guide.step.shortcuts.title": "Горячие клавиши",
"new_user_guide.step.start_question.content": "Вы уже использовали другие RSS-ридеры?",
@@ -269,7 +271,7 @@
"new_user_guide.step.start_question.option2": "Нет, это мой первый опыт с RSS-ридерами.",
"new_user_guide.step.start_question.title": "Вопрос",
"new_user_guide.step.trending.title": "Популярные ленты",
- "new_user_guide.step.views.description": "Follow использует различные виды отображения для разных типов контента, чтобы предложить опыт, равный или лучший оригинальной платформе.",
+ "new_user_guide.step.views.description": "Folo использует различные виды отображения для разных типов контента, чтобы предложить опыт, равный или лучший оригинальной платформе.",
"new_user_guide.step.views.title": "Просмотр",
"notify.unfollow_feed": " был отписан.",
"notify.unfollow_feed_many": "Все выбранные каналы были отписаны.",
diff --git a/apps/desktop/locales/app/tr.json b/apps/desktop/locales/app/tr.json
index b713986f1e..726367e8cb 100644
--- a/apps/desktop/locales/app/tr.json
+++ b/apps/desktop/locales/app/tr.json
@@ -1,7 +1,7 @@
{
"achievement.all_done": "Tüm tamamlandı!",
"achievement.first_claim_feed": "Besleme Sahibi",
- "achievement.first_claim_feed_description": "Follow'da beslemenizi sahibi olun.",
+ "achievement.first_claim_feed_description": "Folo'da beslemenizi sahibi olun.",
"ai_daily.title": "Öne Çıkan Haberler - {{title}}",
"ai_daily.tooltip.content": "Burada, zaman çizelgenizden ( - ) AI tarafından seçilen ve sizin için önemli olabilecek haberler bulunmaktadır.",
"ai_daily.tooltip.update_schedule": "Her gün saat 08:00 ve 20:00'de güncellenir.",
@@ -28,6 +28,8 @@
"discover.target.label": "Arama hedefi",
"discover.target.lists": "Listeler",
"entry_actions.copy_link": "Bağlantıyı kopyala",
+ "entry_actions.exported_notify": "Makale PDF olarak dışa aktarıldı.",
+ "entry_actions.export_as_pdf": "PDF olarak dışa aktar",
"entry_actions.failed_to_save_to_eagle": "Eagle'a kaydetme başarısız oldu.",
"entry_actions.failed_to_save_to_instapaper": "Instapaper'a kaydetme başarısız oldu.",
"entry_actions.failed_to_save_to_readwise": "Readwise'a kaydetme başarısız oldu.",
diff --git a/apps/desktop/locales/app/zh-CN.json b/apps/desktop/locales/app/zh-CN.json
index abf2676a3a..b94c9ba285 100644
--- a/apps/desktop/locales/app/zh-CN.json
+++ b/apps/desktop/locales/app/zh-CN.json
@@ -1,16 +1,16 @@
{
"achievement.all_done": "大功告成!",
"achievement.alpha_tester": "Alpha 内测用户",
- "achievement.alpha_tester_description": "早期 Follow Alpha 版本的内测用户",
+ "achievement.alpha_tester_description": "早期 Folo Alpha 版本的内测用户",
"achievement.description": "成为硬核玩家,赚取 NFT。",
"achievement.feed_booster": "订阅源助力者",
- "achievement.feed_booster_description": "在 Follow 上助力订阅源",
+ "achievement.feed_booster_description": "在 Folo 上助力订阅源",
"achievement.first_claim_feed": "订阅源所有者",
- "achievement.first_claim_feed_description": "在 Follow 上认证订阅源",
+ "achievement.first_claim_feed_description": "在 Folo 上认证订阅源",
"achievement.first_create_list": "列表创作者",
- "achievement.first_create_list_description": "在 Follow 上创建一个列表",
+ "achievement.first_create_list_description": "在 Folo 上创建一个列表",
"achievement.follow_special_feed": "特别订阅",
- "achievement.follow_special_feed_description": "在 Follow 上订阅一个特别的订阅源",
+ "achievement.follow_special_feed_description": "在 Folo 上订阅一个特别的订阅源",
"achievement.list_subscribe_100": "100 个列表订阅者",
"achievement.list_subscribe_100_description": "创建的列表有 100 人订阅",
"achievement.list_subscribe_50": "50 个列表订阅者",
@@ -19,7 +19,7 @@
"achievement.list_subscribe_50_description": "创建的列表有 50 人订阅",
"achievement.nft_coming_soon": "目前你无法赚取 NFT。一旦我们准备好,它们将自动记入你的帐户。",
"achievement.product_hunt_vote": "Product Hunt 支持者",
- "achievement.product_hunt_vote_description": "在 Product Hunt 上给 Follow 投票",
+ "achievement.product_hunt_vote_description": "在 Product Hunt 上给 Folo 投票",
"activation.activate": "激活",
"activation.description": "在公测阶段,预览版用户使用此功能会受限。",
"activation.title": "邀请码",
@@ -108,6 +108,8 @@
"entry_actions.image_gallery": "图片库",
"entry_actions.copied_notify": "{{which}}已复制到剪贴板。",
"entry_actions.copy_link": "复制链接",
+ "entry_actions.exported_notify": "文章已导出为 PDF。",
+ "entry_actions.export_as_pdf": "导出为 PDF",
"entry_actions.copy_title": "复制标题",
"entry_actions.delete": "删除",
"entry_actions.deleted": "已删除",
@@ -246,13 +248,16 @@
"mark_all_read_button.mark_all_as_read": "全部标记为已读",
"mark_all_read_button.mark_as_read": "标记 为已读",
"mark_all_read_button.undo": "撤销",
+ "new_user_guide.actions.next": "下一步",
+ "new_user_guide.actions.back": "上一步",
+ "new_user_guide.actions.finish": "完成",
"new_user_guide.intro.description": "本指南将帮助你快速上手这款应用。",
- "new_user_guide.intro.title": "欢迎使用 Follow!",
+ "new_user_guide.intro.title": "欢迎使用 Folo!",
"new_user_guide.outro.description": "你已完成指南,祝你使用愉快!",
"new_user_guide.outro.title": "一切就绪!",
- "new_user_guide.step.activation.description": "别担心,你可以继续使用 Follow 而无需邀请码。",
+ "new_user_guide.step.activation.description": "别担心,你可以继续使用 Folo 而无需邀请码。",
"new_user_guide.step.activation.title": "激活账号",
- "new_user_guide.step.automation.description": "- Follow 利用先进的 AI 来协助你的操作\n- 自动化帮助你处理符合特定条件的来源\n- 集成帮助你将条目保存到其他服务中",
+ "new_user_guide.step.automation.description": "- Folo 利用先进的 AI 来协助你的操作\n- 自动化帮助你处理符合特定条件的来源\n- 集成帮助你将条目保存到其他服务中",
"new_user_guide.step.behavior.title": "使用偏好",
"new_user_guide.step.behavior.unread_question.content": "希望如何标记为已读。",
"new_user_guide.step.behavior.unread_question.description": "别担心,你可以稍后在设置中再次更改。",
@@ -264,10 +269,10 @@
"new_user_guide.step.migrate.profile": "设置你的个人资料",
"new_user_guide.step.migrate.title": "从 OPML 文件导入",
"new_user_guide.step.migrate.wallet": "检查你的钱包",
- "new_user_guide.step.power.description": "Follow 使用区块链技术作为活跃用户和优秀创作者的激励机制。用户可以通过持有和使用 Power 来获得更多服务和福利。创作者可以通过提供高质量的内容和服务来获得更多奖励。",
+ "new_user_guide.step.power.description": "Folo 使用区块链技术作为活跃用户和优秀创作者的激励机制。用户可以通过持有和使用 Power 来获得更多服务和福利。创作者可以通过提供高质量的内容和服务来获得更多奖励。",
"new_user_guide.step.rsshub.info": "一切皆可 RSS。我们的 RSSHub 社区由超过 1,000 名开发者组成,经过六年的努力,适配了近千个网站,以提供几乎所有你需要的内容。这包括 X(Twitter)、Instagram、PlayStation、Spotify、Telegram、YouTube 等平台。你还可以编写自己的脚本来适配其他网站。",
"new_user_guide.step.rsshub.title": "从 RSSHub 订阅",
- "new_user_guide.step.shortcuts.description1": "快捷键让你更方便、高效地使用 Follow。",
+ "new_user_guide.step.shortcuts.description1": "快捷键让你更方便、高效地使用 Folo",
"new_user_guide.step.shortcuts.description2": "随时按 快速查看所有快捷键。",
"new_user_guide.step.shortcuts.title": "快捷键",
"new_user_guide.step.start_question.content": "你以前使用过其它 RSS 阅读器吗?",
@@ -275,7 +280,7 @@
"new_user_guide.step.start_question.option2": "不,这是我第一次使用 RSS 阅读器。",
"new_user_guide.step.start_question.title": "问题",
"new_user_guide.step.trending.title": "热门订阅源",
- "new_user_guide.step.views.description": "Follow 针对不同类型的内容使用不同的视图,以提供与原平台相当或更好的体验。",
+ "new_user_guide.step.views.description": "Folo 针对不同类型的内容使用不同的视图,以提供与原平台相当或更好的体验。",
"new_user_guide.step.views.title": "视图",
"notify.unfollow_feed": "已取消订阅 ",
"notify.unfollow_feed_many": "已取消订阅选中的订阅源。",
diff --git a/apps/desktop/locales/app/zh-HK.json b/apps/desktop/locales/app/zh-HK.json
index 2029af5004..c4425cec69 100644
--- a/apps/desktop/locales/app/zh-HK.json
+++ b/apps/desktop/locales/app/zh-HK.json
@@ -1,25 +1,25 @@
{
"achievement.all_done": "全部完成!",
"achievement.alpha_tester": "Alpha 內部測試使用者",
- "achievement.alpha_tester_description": "早期 Follow Alpha 版本的內部測試使用者",
+ "achievement.alpha_tester_description": "早期 Folo Alpha 版本的內部測試使用者",
"achievement.description": "成為硬核玩家並鑄造 NFTs",
- "achievement.feed_booster": "訂閲源加成者",
- "achievement.feed_booster_description": "你在 Follow 上加成了訂閲源",
+ "achievement.feed_booster": "訂閱源加成者",
+ "achievement.feed_booster_description": "你在 Folo 上加成了訂閱源",
"achievement.first_claim_feed": "Feed 擁有者",
- "achievement.first_claim_feed_description": "你在 Follow 上擁有你的 Feed",
+ "achievement.first_claim_feed_description": "你在 Folo 上擁有你的 Feed",
"achievement.first_create_list": "清單創作家",
- "achievement.first_create_list_description": "在 Follow 上創建一個清單",
+ "achievement.first_create_list_description": "在 Folo 上建立一個清單",
"achievement.follow_special_feed": "特別的追隨",
- "achievement.follow_special_feed_description": "在 Follow 上追隨一個特別的訂閱源",
+ "achievement.follow_special_feed_description": "在 Folo 上追隨一個特別的訂閱源",
"achievement.list_subscribe_100": "100 個清單追隨者",
- "achievement.list_subscribe_100_description": "創建的清單被 100 人追隨",
+ "achievement.list_subscribe_100_description": "建立的清單被 100 人追隨",
"achievement.list_subscribe_50": "50 個清單追隨者",
"achievement.list_subscribe_500": "500 個清單追隨者",
- "achievement.list_subscribe_500_description": "創建的清單被 500 人追隨",
- "achievement.list_subscribe_50_description": "創建的清單被 50 人追隨",
- "achievement.nft_coming_soon": "你目前不能鑄造NFT。一旦準備好,它們會自動記入你的賬戶。",
+ "achievement.list_subscribe_500_description": "建立的清單被 500 人追隨",
+ "achievement.list_subscribe_50_description": "建立的清單被 50 人追隨",
+ "achievement.nft_coming_soon": "你目前不能鑄造NFT。一旦準備好,它們會自動記入你的帳戶。",
"achievement.product_hunt_vote": "Product Hunt 支持者",
- "achievement.product_hunt_vote_description": "在 Product Hunt 上給 Follow 投票",
+ "achievement.product_hunt_vote_description": "在 Product Hunt 上給 Folo 投票",
"activation.activate": "啟動",
"activation.description": "在公測階段,預覽版使用者使用此功能受限",
"activation.title": "邀請代碼",
@@ -32,7 +32,7 @@
"app.toggle_sidebar": "切換側邊欄",
"beta_access": "Beta 版本",
"boost.boost_feed": "加成",
- "boost.boost_feed_description": "為動態加成以解鎖額外優惠,訂閱的用戶將會感激您帶來的好處!",
+ "boost.boost_feed_description": "為動態加成以解鎖額外優惠,訂閱的使用者將會感激您帶來的好處!",
"boost.boost_success": "🎉 加成成功!",
"boost.boost_success_thanks": "多謝您的支持!",
"boost.expired_description": "您目前無法再添加加成點數,但隨時可以繼續加成。您現有的加成將於 {{expiredDate, datetime}} 到期。",
@@ -65,11 +65,11 @@
"discover.default_option": " (預設)",
"discover.feed_description": "此訂閱源的描述如下,你可以根據相關資訊填寫參數表格。",
"discover.feed_maintainers": "此訂閱源由 RSSHub 提供,感謝 ",
- "discover.import.click_to_upload": "上傳 OPML 文件",
+ "discover.import.click_to_upload": "上傳 OPML 檔案",
"discover.import.conflictItems": "衝突項目",
- "discover.import.new_import_opml": "如果您以前使用過RSS,您可以將資料配置匯出到OPML文件,並在此處匯入",
+ "discover.import.new_import_opml": "如果您以前使用過RSS,您可以將資料配置匯出到OPML檔案,並在此處匯入",
"discover.import.noItems": "沒有項目",
- "discover.import.opml": "OPML 文件",
+ "discover.import.opml": "OPML 檔案",
"discover.import.parsedErrorItems": "解析錯誤項目",
"discover.import.result": " 個訂閱源已成功匯入, 個已訂閱, 個匯入失敗。",
"discover.import.successfulItems": "成功項目",
@@ -79,7 +79,7 @@
"discover.inbox.handle": "識別編號",
"discover.inbox.secret": "密鑰",
"discover.inbox.title": "標題",
- "discover.inbox.webhooks_docs": "Webhooks 文件",
+ "discover.inbox.webhooks_docs": "Webhooks 檔案",
"discover.inbox_create": "新增收件匣",
"discover.inbox_create_description": "你還沒有收件匣,建立一個收件匣以通過收件匣接收資訊。",
"discover.inbox_create_error": "建立收件匣失敗",
@@ -98,12 +98,18 @@
"discover.preview": "預覽",
"discover.rss_hub_route": "RSSHub 路由",
"discover.rss_url": "RSS 網址",
+ "discover.search.results_one": "找到 {{count}} 個訂閱源",
+ "discover.search.results_other": "找到 {{count}} 個訂閱源",
+ "discover.search.results_zero": "未找到訂閱源",
"discover.select_placeholder": "選擇",
"discover.target.feeds": "訂閱源",
"discover.target.label": "搜尋",
"discover.target.lists": "清單",
- "entry_actions.copied_notify": "{{which}}已複製到剪貼板",
- "entry_actions.copy_link": "複製鏈結",
+ "entry_actions.image_gallery": "圖片庫",
+ "entry_actions.copied_notify": "{{which}}已複製到剪貼簿",
+ "entry_actions.copy_link": "複製連結",
+ "entry_actions.exported_notify": "文章已匯出為 PDF。",
+ "entry_actions.export_as_pdf": "匯出為 PDF",
"entry_actions.copy_title": "複製標題",
"entry_actions.delete": "刪除",
"entry_actions.deleted": "已刪除",
@@ -152,7 +158,7 @@
"entry_content.report_issue": "報告問題",
"entry_content.support_amount": "{{amount}} 人支持了此訂閱源的創作者",
"entry_content.support_creator": "支持創作者",
- "entry_content.web_app_notice": "網頁應用可能不支持此內容類型。你可以下載桌面應用程式。",
+ "entry_content.web_app_notice": "網頁應用可能不支援此內容類型。你可以下載桌面應用程式。",
"entry_list.zero_unread": "全部已讀",
"entry_list_header.daily_report": "每日報告",
"entry_list_header.grid": "Grid",
@@ -193,7 +199,7 @@
"feed_form.add_feed": "新增訂閱源",
"feed_form.add_follow": "新增追隨",
"feed_form.category": "分類",
- "feed_form.category_description": "默認情況下,你的追隨會按網站分組。",
+ "feed_form.category_description": "預設情況下,你的追隨會按網站分組。",
"feed_form.error_fetching_feed": "獲取訂閱源時出錯",
"feed_form.fee": "追隨費用",
"feed_form.fee_description": "要追隨此清單,您必須向清單創建者支付費用。",
@@ -207,7 +213,7 @@
"feed_form.private_follow_description": "此追隨是否在你的個人資料頁面上公開可見",
"feed_form.retry": "重試",
"feed_form.title": "標題",
- "feed_form.title_description": "此資訊流的自定義標題。留空則使用默認標題。",
+ "feed_form.title_description": "此資訊流的自定義標題。留空則使用預設標題。",
"feed_form.unfollow": "取消追隨",
"feed_form.update": "更新",
"feed_form.update_follow": "更新追隨",
@@ -221,7 +227,7 @@
"feed_item.error_since": "錯誤始於",
"feed_item.not_publicly_visible": "在你的個人頁面上不公開可見",
"feed_view_type.articles": "文章",
- "feed_view_type.audios": "音頻",
+ "feed_view_type.audios": "音訊",
"feed_view_type.notifications": "通知",
"feed_view_type.pictures": "圖片",
"feed_view_type.social_media": "社交媒體",
@@ -230,6 +236,7 @@
"login.continueWith": "繼續使用 {{provider}}",
"login.email": "電子郵件",
"login.forget_password.note": "忘記密碼?",
+ "login.or": "或",
"login.password": "密碼",
"login.signUp": "使用電子郵件註冊",
"login.submit": "提交",
@@ -242,12 +249,12 @@
"mark_all_read_button.mark_as_read": "標記 為已讀",
"mark_all_read_button.undo": "撤銷",
"new_user_guide.intro.description": "本指南將幫助你輕鬆開始使用這個應用程式",
- "new_user_guide.intro.title": "歡迎使用 Follow!",
+ "new_user_guide.intro.title": "歡迎使用 Folo!",
"new_user_guide.outro.description": "你已完成指南,祝你使用愉快!",
"new_user_guide.outro.title": "一切就緒!",
- "new_user_guide.step.activation.description": "別擔心,繼續使用 Follow 無需邀請碼",
- "new_user_guide.step.activation.title": "啟動賬戶",
- "new_user_guide.step.automation.description": "- Follow 利用先進的 AI 來協助你的動作\n- 自動化幫助你處理符合特定條件的來源\n- 集成幫助你將條目儲存到其他服務中",
+ "new_user_guide.step.activation.description": "別擔心,繼續使用 Folo 無需邀請碼",
+ "new_user_guide.step.activation.title": "啟動帳戶",
+ "new_user_guide.step.automation.description": "- Folo 利用先進的 AI 來協助你的動作\n- 自動化幫助你處理符合特定條件的來源\n- 集成幫助你將條目儲存到其他服務中",
"new_user_guide.step.behavior.title": "使用偏好",
"new_user_guide.step.behavior.unread_question.content": "希望如何標記為已讀",
"new_user_guide.step.behavior.unread_question.description": "別擔心,你可以在設定中再次更改",
@@ -255,14 +262,14 @@
"new_user_guide.step.behavior.unread_question.option2": "平衡:懸停或滾出視野時自動標記為已讀",
"new_user_guide.step.behavior.unread_question.option3": "被動:僅在點擊時標記為已讀",
"new_user_guide.step.features.actions.description": "自動化規則允許你對不同的訂閱執行不同的動作\n- 使用 AI 進行摘要或翻譯\n- 配置閱讀條目的方式\n- 啟用新條目的通知或靜音\n- 重寫或封鎖特定條目\n- 將新條目發送到 webhook 地址",
- "new_user_guide.step.features.integration.description": "集成允許你將條目儲存到其他服務。目前支持的服務有:\n- Eagle\n- Readwise\n- Instapaper\n- Obsidian\n- Outline\n- Readeck",
+ "new_user_guide.step.features.integration.description": "集成允許你將條目儲存到其他服務。目前支援的服務有:\n- Eagle\n- Readwise\n- Instapaper\n- Obsidian\n- Outline\n- Readeck",
"new_user_guide.step.migrate.profile": "設定你的個人資料",
"new_user_guide.step.migrate.title": "從 OPML 檔案匯入",
"new_user_guide.step.migrate.wallet": "檢查你的銀包",
- "new_user_guide.step.power.description": "Follow 使用區塊鏈技術作為活躍使用者和優秀創作者的激勵機制。使用者可以通過持有和使用 Power 來獲得更多服務和福利。創作者可以通過提供高質量的內容和服務來獲得更多獎勵。",
- "new_user_guide.step.rsshub.info": "一切皆可 RSS。我們的 RSSHub 社區由超過 1,000 名開發者組成,經過六年的努力,適用於近千個網站,以提供幾乎所有你需要的內容。這包括 X(Twitter)、Instagram、PlayStation、Spotify、Telegram、YouTube 等平台。你還可以編寫自己的程式碼來支持其他網站。",
+ "new_user_guide.step.power.description": "Folo 使用區塊鏈技術作為活躍使用者和優秀創作者的激勵機制。使用者可以通過持有和使用 Power 來獲得更多服務和福利。創作者可以通過提供高質量的內容和服務來獲得更多獎勵。",
+ "new_user_guide.step.rsshub.info": "一切皆可 RSS。我們的 RSSHub 社區由超過 1,000 名開發者組成,經過六年的努力,適用於近千個網站,以提供幾乎所有你需要的內容。這包括 X(Twitter)、Instagram、PlayStation、Spotify、Telegram、YouTube 等平台。你還可以編寫自己的程式碼來支援其他網站。",
"new_user_guide.step.rsshub.title": "從 RSSHub 訂閱",
- "new_user_guide.step.shortcuts.description1": "快捷鍵讓你更方便、高效地使用 Follow",
+ "new_user_guide.step.shortcuts.description1": "快捷鍵讓你更方便、高效地使用 Folo",
"new_user_guide.step.shortcuts.description2": "隨時按 快速查看所有快捷鍵",
"new_user_guide.step.shortcuts.title": "快捷鍵",
"new_user_guide.step.start_question.content": "你以前使用過其他 RSS 閱讀器嗎?",
@@ -270,10 +277,10 @@
"new_user_guide.step.start_question.option2": "不,這是我第一次使用 RSS 閱讀器",
"new_user_guide.step.start_question.title": "問題",
"new_user_guide.step.trending.title": "熱門訂閱源",
- "new_user_guide.step.views.description": "Follow 針對不同類型的內容使用不同的視圖,以提供與原平台相當或更好的體驗",
+ "new_user_guide.step.views.description": "Folo 針對不同類型的內容使用不同的視圖,以提供與原平台相當或更好的體驗",
"new_user_guide.step.views.title": "視圖",
"notify.unfollow_feed": "已取消追隨 ",
- "notify.unfollow_feed_many": "已取消追隨所有選取的訂閲源",
+ "notify.unfollow_feed_many": "已取消追隨所有選取的訂閱源",
"notify.update_info": "{{app_name}} 已準備好更新!",
"notify.update_info_1": "點擊以重新啟動",
"notify.update_info_2": "點擊以重新載入頁面",
@@ -285,7 +292,7 @@
"player.forward_10s": "快進 10 秒",
"player.full_screen": "全螢幕",
"player.mute": "靜音",
- "player.open_entry": "打開條目",
+ "player.open_entry": "開啟條目",
"player.pause": "暫停",
"player.play": "播放",
"player.playback_rate": "播放速度",
@@ -338,13 +345,13 @@
"sidebar.feed_actions.navigate_to_feed": "導航到訂閱源",
"sidebar.feed_actions.navigate_to_list": "導航到清單",
"sidebar.feed_actions.new_inbox": "新收件匣",
- "sidebar.feed_actions.open_feed_in_browser": "在{{which}}中打開訂閱源",
- "sidebar.feed_actions.open_list_in_browser": "在{{which}}中打開清單",
- "sidebar.feed_actions.open_site_in_browser": "在{{which}}中打開網站",
- "sidebar.feed_actions.reset_feed": "重置訂閲源",
- "sidebar.feed_actions.reset_feed_error": "重置訂閲源失敗",
- "sidebar.feed_actions.reset_feed_success": "訂閲源已成功重置",
- "sidebar.feed_actions.resetting_feed": "正在重置訂閲源...",
+ "sidebar.feed_actions.open_feed_in_browser": "在{{which}}中開啟訂閱源",
+ "sidebar.feed_actions.open_list_in_browser": "在{{which}}中開啟清單",
+ "sidebar.feed_actions.open_site_in_browser": "在{{which}}中開啟網站",
+ "sidebar.feed_actions.reset_feed": "重置訂閱源",
+ "sidebar.feed_actions.reset_feed_error": "重置訂閱源失敗",
+ "sidebar.feed_actions.reset_feed_success": "訂閱源已成功重置",
+ "sidebar.feed_actions.resetting_feed": "正在重置訂閱源...",
"sidebar.feed_actions.unfollow": "取消追隨",
"sidebar.feed_actions.unfollow_feed": "取消追隨訂閱源",
"sidebar.feed_actions.unfollow_feed_many": "取消追隨所有選取的訂閱源",
@@ -371,10 +378,10 @@
"sync_indicator.synced": "已與伺服器同步",
"tip_modal.amount": "金額",
"tip_modal.claim_feed": "認領這個訂閱源",
- "tip_modal.create_wallet": "免費創建",
+ "tip_modal.create_wallet": "免費建立",
"tip_modal.feed_owner": "訂閱源擁有者",
"tip_modal.low_balance": "你的餘額不足以覆蓋此贊助。請調整金額。",
- "tip_modal.no_wallet": "你尚未擁有銀包。請創建一個銀包以進行贊助。",
+ "tip_modal.no_wallet": "你尚未擁有錢包。請建立一個錢包以進行贊助。",
"tip_modal.tip_amount_sent": "已經發送給作者",
"tip_modal.tip_now": "立刻贊助",
"tip_modal.tip_sent": "贊助成功!感謝你的支持。",
@@ -385,7 +392,7 @@
"trending.feed": "熱門資訊",
"trending.list": "熱門清單",
"trending.user": "熱門使用者",
- "user_button.account": "帳號",
+ "user_button.account": "帳戶",
"user_button.achievement": "成就",
"user_button.actions": "自動化",
"user_button.download_desktop_app": "下載桌面應用程式",
@@ -412,7 +419,7 @@
"words.inbox": "收件匣",
"words.items": "項目",
"words.language": "語言",
- "words.link": "鏈結",
+ "words.link": "連結",
"words.lists": "清單",
"words.load_archived_entries": "載入已存檔的條目",
"words.login": "登入",
diff --git a/apps/desktop/locales/app/zh-TW.json b/apps/desktop/locales/app/zh-TW.json
index 884fff3b30..7490e91161 100644
--- a/apps/desktop/locales/app/zh-TW.json
+++ b/apps/desktop/locales/app/zh-TW.json
@@ -1,16 +1,16 @@
{
"achievement.all_done": "大功告成!",
"achievement.alpha_tester": "Alpha 測試者",
- "achievement.alpha_tester_description": "您參與了 Follow 的 Alpha 測試。",
+ "achievement.alpha_tester_description": "您參與了 Folo 的 Alpha 測試。",
"achievement.description": "成為硬派玩家,鑄造 NFT。",
"achievement.feed_booster": "RSS 摘要加成者",
- "achievement.feed_booster_description": "在 Follow 上加成 RSS 摘要",
+ "achievement.feed_booster_description": "在 Folo 上加成 RSS 摘要",
"achievement.first_claim_feed": "RSS 摘要作者",
- "achievement.first_claim_feed_description": "在 Follow 上認證 RSS 摘要",
+ "achievement.first_claim_feed_description": "在 Folo 上認證 RSS 摘要",
"achievement.first_create_list": "列表創建者",
- "achievement.first_create_list_description": "在 Follow 上創建一個列表",
+ "achievement.first_create_list_description": "在 Folo 上創建一個列表",
"achievement.follow_special_feed": "特別 RSS 摘要跟隨者",
- "achievement.follow_special_feed_description": "在 Follow 上跟隨了一個特別的 RSS 摘要",
+ "achievement.follow_special_feed_description": "在 Folo 上跟隨了一個特別的 RSS 摘要",
"achievement.list_subscribe_100": "100 名列表訂閱者",
"achievement.list_subscribe_100_description": "創建的列表有 100 名訂閱者",
"achievement.list_subscribe_50": "50 名列表訂閱者",
@@ -19,7 +19,7 @@
"achievement.list_subscribe_50_description": "創建的列表有 50 名訂閱者",
"achievement.nft_coming_soon": "目前您無法鑄造 NFT。一旦我們準備好,NFT 將自動轉移到您的帳戶。",
"achievement.product_hunt_vote": "Product Hunt 投票",
- "achievement.product_hunt_vote_description": "您在 Product Hunt 上投票給了 Follow",
+ "achievement.product_hunt_vote_description": "您在 Product Hunt 上投票給了 Folo",
"activation.activate": "啟用",
"activation.description": "在公開測試階段,您需要邀請碼才能使用此功能。",
"activation.title": "邀請碼",
@@ -104,6 +104,8 @@
"discover.target.lists": "列表",
"entry_actions.copied_notify": "{{which}}已複製到剪貼簿",
"entry_actions.copy_link": "複製連結",
+ "entry_actions.exported_notify": "文章已匯出為 PDF。",
+ "entry_actions.export_as_pdf": "匯出為 PDF",
"entry_actions.copy_title": "複製標題",
"entry_actions.delete": "刪除",
"entry_actions.deleted": "已刪除。",
@@ -242,12 +244,12 @@
"mark_all_read_button.mark_as_read": "標記 為已讀",
"mark_all_read_button.undo": "復原",
"new_user_guide.intro.description": "這份指南將幫助您快速上手這款應用程式。",
- "new_user_guide.intro.title": "歡迎來到 Follow!",
+ "new_user_guide.intro.title": "歡迎來到 Folo!",
"new_user_guide.outro.description": "您已完成指南,開始您的探索之旅吧!",
"new_user_guide.outro.title": "準備就緒!",
- "new_user_guide.step.activation.description": "別擔心,即使沒有邀請碼,您仍然可以繼續使用 Follow。",
+ "new_user_guide.step.activation.description": "別擔心,即使沒有邀請碼,您仍然可以繼續使用 Folo。",
"new_user_guide.step.activation.title": "帳號啟用",
- "new_user_guide.step.automation.description": "- Follow 利用 AI 技術協助您進行操作。\n- 指令允許您自動化對符合特定條件的來源執行各種操作。\n- 整合功能允許您將項目保存到其他服務。",
+ "new_user_guide.step.automation.description": "- Folo 利用 AI 技術協助您進行操作。\n- 指令允許您自動化對符合特定條件的來源執行各種操作。\n- 整合功能允許您將項目保存到其他服務。",
"new_user_guide.step.behavior.title": "行為設定",
"new_user_guide.step.behavior.unread_question.content": "選擇您想要的標記已讀方式。",
"new_user_guide.step.behavior.unread_question.description": "別擔心,您可以在偏好設定中隨時更改。",
@@ -259,10 +261,10 @@
"new_user_guide.step.migrate.profile": "設定您的個人資料",
"new_user_guide.step.migrate.title": "從 OPML 文件導入",
"new_user_guide.step.migrate.wallet": "檢查您的錢包",
- "new_user_guide.step.power.description": "Follow 使用區塊鏈技術來獎勵活躍使用者和優秀創作者。使用者可以透過 Power Token 獲得更多服務和福利,創作者可以透過提供高品質的內容和服務獲得更多獎勵。",
+ "new_user_guide.step.power.description": "Folo 使用區塊鏈技術來獎勵活躍使用者和優秀創作者。使用者可以透過 Power Token 獲得更多服務和福利,創作者可以透過提供高品質的內容和服務獲得更多獎勵。",
"new_user_guide.step.rsshub.info": "萬物皆可 RSS 我們的 [RSSHub](https://github.com/DIYgod/RSSHub) 社群由超過 1,000 名開發者組成,花了六年時間支援了近千個網站,為您提供幾乎所有需要的內容。這些網站包括 X(Twitter)、Instagram、PlayStation、Spotify、Telegram、YouTube 等平台。您也可以撰寫自己的腳本來新增更多網站支援。",
"new_user_guide.step.rsshub.title": "從 RSSHub 訂閱",
- "new_user_guide.step.shortcuts.description1": "快捷鍵讓您更方便且有效率的使用 Follow。",
+ "new_user_guide.step.shortcuts.description1": "快捷鍵讓您更方便且有效率的使用 Folo。",
"new_user_guide.step.shortcuts.description2": "按 隨時快速查看所有快捷鍵。",
"new_user_guide.step.shortcuts.title": "快捷鍵",
"new_user_guide.step.start_question.content": "您曾經使用過其他 RSS 閱讀器嗎?",
@@ -270,7 +272,7 @@
"new_user_guide.step.start_question.option2": "沒有,這是我第一次使用 RSS 閱讀器。",
"new_user_guide.step.start_question.title": "問卷",
"new_user_guide.step.trending.title": "熱門 RSS 摘要",
- "new_user_guide.step.views.description": "Follow 針對不同類型的內容提供不同的視圖,讓您的使用體驗與原平台一樣出色,甚至更佳。",
+ "new_user_guide.step.views.description": "Folo 針對不同類型的內容提供不同的視圖,讓您的使用體驗與原平台一樣出色,甚至更佳。",
"new_user_guide.step.views.title": "視圖",
"notify.unfollow_feed": "已取消跟隨 ",
"notify.unfollow_feed_many": "已取消跟隨正在選擇的 RSS 摘要。",
diff --git a/apps/desktop/locales/common/zh-HK.json b/apps/desktop/locales/common/zh-HK.json
index 7b94fd68ed..13df54d318 100644
--- a/apps/desktop/locales/common/zh-HK.json
+++ b/apps/desktop/locales/common/zh-HK.json
@@ -17,7 +17,8 @@
"words.all": "全部",
"words.back": "返回",
"words.copy": "複製",
- "words.create": "創建",
+ "words.create": "建立",
+ "words.default": "預設",
"words.delete": "刪除",
"words.download": "下載",
"words.edit": "編輯",
@@ -32,7 +33,7 @@
"words.record": "記錄",
"words.record_one": "記錄",
"words.record_other": "記錄",
- "words.reset": "重置",
+ "words.reset": "重設",
"words.result": "結果",
"words.result_one": "結果",
"words.result_other": "結果",
diff --git a/apps/desktop/locales/errors/zh-CN.json b/apps/desktop/locales/errors/zh-CN.json
index 3bdaf545ca..65bca0eefe 100644
--- a/apps/desktop/locales/errors/zh-CN.json
+++ b/apps/desktop/locales/errors/zh-CN.json
@@ -7,6 +7,7 @@
"1003": "邀请码无效",
"1004": "暂无权限",
"1005": "内部错误",
+ "1006": "邮件地址未验证",
"1100": "超出预览版订阅源最大数量限制",
"1101": "超出预览版订阅列表最大数量限制",
"1102": "超出预览版收件箱最大数量限制",
@@ -60,5 +61,8 @@
"13003": "未找到 RSSHub",
"13004": "RSSHub 用户限制已超出",
"13005": "未找到 RSSHub 购买记录",
- "13006": "RSSHub 配置无效"
+ "13006": "RSSHub 配置无效",
+ "14000": "文件无效",
+ "14001": "文件过大",
+ "14002": "上传失败"
}
diff --git a/apps/desktop/locales/errors/zh-HK.json b/apps/desktop/locales/errors/zh-HK.json
index 7df781e481..ed6c9c6dc4 100644
--- a/apps/desktop/locales/errors/zh-HK.json
+++ b/apps/desktop/locales/errors/zh-HK.json
@@ -7,6 +7,7 @@
"1003": "無效邀請",
"1004": "無權限",
"1005": "內部錯誤",
+ "1006": "電子郵件未驗證",
"1100": "超出預覽版訂閲源最大數量限制",
"1101": "超出預覽版訂閲列表最大數量限制",
"1102": "超出預覽版收件箱最大數量限制",
@@ -20,12 +21,14 @@
"2011": "訂閱數量已達上限",
"3000": "未找到條目",
"4000": "已兌換",
- "4001": "用戶錢包錯誤",
+ "4001": "使用者錢包錯誤",
"4002": "餘額不足",
"4003": "動態可提現餘額不足",
- "4004": "目標用戶錢包錯誤",
- "4005": "每日 power 计算中",
+ "4004": "目標使用者錢包錯誤",
+ "4005": "每日 power 計算中",
"4006": "無效助力數量",
+ "4007": "無效的雙重驗證碼",
+ "4008": "需要雙重驗證碼",
"4010": "無法參加空投",
"4011": "空投發送中",
"4012": "空投已發送",
@@ -34,9 +37,9 @@
"5001": "邀請已存在",
"5002": "邀請碼已被使用",
"5003": "邀請碼不存在",
- "6000": "未找到用戶",
+ "6000": "未找到使用者",
"7000": "未找到設定",
- "7001": "無效的設定標簽",
+ "7001": "無效的設定標籤",
"7002": "無效的設定負載",
"7003": "設定負載太大",
"8000": "清單未找到",
@@ -58,5 +61,8 @@
"13003": "未找到 RSSHub",
"13004": "RSSHub 使用者數量已超過限制",
"13005": "未找到 RSSHub 購買記錄",
- "13006": "RSSHub 配置無效"
+ "13006": "RSSHub 配置無效",
+ "14000": "無效檔案",
+ "14001": "檔案太大",
+ "14002": "上傳失敗"
}
diff --git a/apps/desktop/locales/external/ar-DZ.json b/apps/desktop/locales/external/ar-DZ.json
index a49aa2115a..c757a76510 100644
--- a/apps/desktop/locales/external/ar-DZ.json
+++ b/apps/desktop/locales/external/ar-DZ.json
@@ -8,8 +8,8 @@
"invitation.codeOptions.1": "ابحث عن أي مستخدم اختبار ألفا لدعوتك.",
"invitation.codeOptions.2": "انضم إلى خادم Discord الخاص بنا للحصول على هدايا عرضية.",
"invitation.codeOptions.3": "تابع حسابنا على X للحصول على هدايا عرضية.",
- "invitation.earlyAccess": "حاليًا Follow في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccess": "حاليًا Folo في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} من Power لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
diff --git a/apps/desktop/locales/external/ar-IQ.json b/apps/desktop/locales/external/ar-IQ.json
index a49aa2115a..c757a76510 100644
--- a/apps/desktop/locales/external/ar-IQ.json
+++ b/apps/desktop/locales/external/ar-IQ.json
@@ -8,8 +8,8 @@
"invitation.codeOptions.1": "ابحث عن أي مستخدم اختبار ألفا لدعوتك.",
"invitation.codeOptions.2": "انضم إلى خادم Discord الخاص بنا للحصول على هدايا عرضية.",
"invitation.codeOptions.3": "تابع حسابنا على X للحصول على هدايا عرضية.",
- "invitation.earlyAccess": "حاليًا Follow في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccess": "حاليًا Folo في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} من Power لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
diff --git a/apps/desktop/locales/external/ar-SA.json b/apps/desktop/locales/external/ar-SA.json
index 7989a2a736..a680860a8f 100644
--- a/apps/desktop/locales/external/ar-SA.json
+++ b/apps/desktop/locales/external/ar-SA.json
@@ -8,8 +8,8 @@
"invitation.codeOptions.1": "ابحث عن أي مستخدم اختبار ألفا لدعوتك.",
"invitation.codeOptions.2": "انضم إلى خادمنا على Discord للحصول على هدايا دورية.",
"invitation.codeOptions.3": "تابع حسابنا على X للحصول على هدايا دورية.",
- "invitation.earlyAccess": "حاليًا، Follow في مرحلة الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
- "invitation.earlyAccessMessage": "😰 نأسف، Follow في مرحلة الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
+ "invitation.earlyAccess": "حاليًا، Folo في مرحلة الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
+ "invitation.earlyAccessMessage": "😰 نأسف، Folo في مرحلة الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} Power لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
diff --git a/apps/desktop/locales/external/ar-TN.json b/apps/desktop/locales/external/ar-TN.json
index 806788df06..c46cc2e580 100644
--- a/apps/desktop/locales/external/ar-TN.json
+++ b/apps/desktop/locales/external/ar-TN.json
@@ -11,8 +11,8 @@
"invitation.codeOptions.1": "ابحث عن أي مستخدم اختبار ألفا لدعوتك.",
"invitation.codeOptions.2": "انضم إلى خادم Discord الخاص بنا للحصول على هدايا عرضية.",
"invitation.codeOptions.3": "تابع حسابنا على X للحصول على هدايا عرضية.",
- "invitation.earlyAccess": "Follow حالياً في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذراً، Follow حالياً في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccess": "Folo حالياً في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذراً، Folo حالياً في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} من Power لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
diff --git a/apps/desktop/locales/external/ar-kw.json b/apps/desktop/locales/external/ar-kw.json
index 7a71004f36..088b1c7318 100644
--- a/apps/desktop/locales/external/ar-kw.json
+++ b/apps/desktop/locales/external/ar-kw.json
@@ -11,8 +11,8 @@
"invitation.codeOptions.1": "ابحث عن أي مستخدم اختبار ألفا لدعوتك.",
"invitation.codeOptions.2": "انضم إلى خادم Discord الخاص بنا للحصول على هدايا عرضية.",
"invitation.codeOptions.3": "تابع حسابنا على X للحصول على هدايا عرضية.",
- "invitation.earlyAccess": "تطبيق Follow حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccess": "تطبيق Folo حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} باور لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
diff --git a/apps/desktop/locales/external/de.json b/apps/desktop/locales/external/de.json
index 9c662ce994..16294e84bb 100644
--- a/apps/desktop/locales/external/de.json
+++ b/apps/desktop/locales/external/de.json
@@ -7,9 +7,9 @@
"invitation.activate": "Activate",
"invitation.codeOptions.1": "Looking for an alpha test user to invite you.",
"invitation.codeOptions.2": "Join our Discord server for occasional giveaways.",
- "invitation.codeOptions.3": "Follow our X account for occasional giveaways.",
- "invitation.earlyAccess": "Follow is currently in early access and requires an invitation code to use.",
- "invitation.earlyAccessMessage": "😰 Sorry, Follow is currently in early access and requires an invitation code to use.",
+ "invitation.codeOptions.3": "Folo our X account for occasional giveaways.",
+ "invitation.earlyAccess": "Folo is currently in early access and requires an invitation code to use.",
+ "invitation.earlyAccessMessage": "😰 Sorry, Folo is currently in early access and requires an invitation code to use.",
"invitation.generateButton": "Generate new code",
"invitation.generateCost": "You can spend {{INVITATION_PRICE}} Power to generate an invitation code for your friends.",
"invitation.getCodeMessage": "You can get an invitation code through the following ways:",
diff --git a/apps/desktop/locales/external/en.json b/apps/desktop/locales/external/en.json
index 47a9dc7f7a..45035373b3 100644
--- a/apps/desktop/locales/external/en.json
+++ b/apps/desktop/locales/external/en.json
@@ -28,8 +28,8 @@
"invitation.codeOptions.1": "Looking for any alpha test user to invite you.",
"invitation.codeOptions.2": "Join our Discord server for occasional giveaways.",
"invitation.codeOptions.3": "Follow our X account for occasional giveaways.",
- "invitation.earlyAccess": "Follow is currently in early access and requires an invitation code to use.",
- "invitation.earlyAccessMessage": "😰 Sorry, Follow is currently in early access and requires an invitation code to use.",
+ "invitation.earlyAccess": "Folo is currently in early access and requires an invitation code to use.",
+ "invitation.earlyAccessMessage": "😰 Sorry, Folo is currently in early access and requires an invitation code to use.",
"invitation.generateButton": "Generate new code",
"invitation.generateCost": "You can spend {{INVITATION_PRICE}} Power to generate an invitation code for your friends.",
"invitation.getCodeMessage": "You can get an invitation code in the following ways:",
diff --git a/apps/desktop/locales/external/es.json b/apps/desktop/locales/external/es.json
index 41d675f7d9..b8367baaa9 100644
--- a/apps/desktop/locales/external/es.json
+++ b/apps/desktop/locales/external/es.json
@@ -8,8 +8,8 @@
"invitation.codeOptions.1": "Buscando a algún usuario de prueba alfa que te invite.",
"invitation.codeOptions.2": "Únete a nuestro servidor de Discord para sorteos ocasionales.",
"invitation.codeOptions.3": "Sigue nuestra cuenta de X para sorteos ocasionales.",
- "invitation.earlyAccess": "Follow está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
- "invitation.earlyAccessMessage": "😰 Lo sentimos, Follow está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
+ "invitation.earlyAccess": "Folo está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
+ "invitation.earlyAccessMessage": "😰 Lo sentimos, Folo está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
"invitation.generateButton": "Generar nuevo código",
"invitation.generateCost": "Puedes gastar {{INVITATION_PRICE}} Power para generar un código de invitación para tus amigos.",
"invitation.getCodeMessage": "Puedes obtener un código de invitación de las siguientes maneras:",
diff --git a/apps/desktop/locales/external/fi.json b/apps/desktop/locales/external/fi.json
index 4658a6f3c6..d4d8bce4ac 100644
--- a/apps/desktop/locales/external/fi.json
+++ b/apps/desktop/locales/external/fi.json
@@ -8,8 +8,8 @@
"invitation.codeOptions.1": "Etsi mikä tahansa alpha-testaaja kutsumaan sinut.",
"invitation.codeOptions.2": "Liity Discord-palvelimeemme satunnaisia arvontoja varten.",
"invitation.codeOptions.3": "Seuraa X-tiliämme satunnaisia arvontoja varten.",
- "invitation.earlyAccess": "Follow on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
- "invitation.earlyAccessMessage": "😰 Pahoittelut, Follow on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
+ "invitation.earlyAccess": "Folo on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
+ "invitation.earlyAccessMessage": "😰 Pahoittelut, Folo on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
"invitation.generateButton": "Luo uusi koodi",
"invitation.generateCost": "Voit käyttää {{INVITATION_PRICE}} Poweria luodaksesi kutsukoodin ystävillesi.",
"invitation.getCodeMessage": "Voit saada kutsukoodin seuraavilla tavoilla:",
diff --git a/apps/desktop/locales/external/fr.json b/apps/desktop/locales/external/fr.json
index 374d035e8c..3c9419cf0b 100644
--- a/apps/desktop/locales/external/fr.json
+++ b/apps/desktop/locales/external/fr.json
@@ -10,8 +10,8 @@
"invitation.codeOptions.1": "Cherchez un utilisateur de test alpha pour vous inviter.",
"invitation.codeOptions.2": "Rejoignez notre serveur Discord pour des cadeaux occasionnels.",
"invitation.codeOptions.3": "Suivez notre compte X pour des cadeaux occasionnels.",
- "invitation.earlyAccess": "Follow est actuellement en accès anticipé et nécessite un code d'invitation pour être utilisé.",
- "invitation.earlyAccessMessage": "😰 Désolé, Follow est actuellement en accès anticipé et nécessite un code d'invitation pour être utilisé.",
+ "invitation.earlyAccess": "Folo est actuellement en accès anticipé et nécessite un code d'invitation pour être utilisé.",
+ "invitation.earlyAccessMessage": "😰 Désolé, Folo est actuellement en accès anticipé et nécessite un code d'invitation pour être utilisé.",
"invitation.generateButton": "Générer un nouveau code",
"invitation.generateCost": "Vous pouvez dépenser {{INVITATION_PRICE}} Power pour générer un code d'invitation pour vos amis.",
"invitation.getCodeMessage": "Vous pouvez obtenir un code d'invitation de la manière suivante :",
diff --git a/apps/desktop/locales/external/it.json b/apps/desktop/locales/external/it.json
index 2aa785a5a4..7bf844fea1 100644
--- a/apps/desktop/locales/external/it.json
+++ b/apps/desktop/locales/external/it.json
@@ -8,8 +8,8 @@
"invitation.codeOptions.1": "Cerca qualsiasi utente alpha test per invitarti.",
"invitation.codeOptions.2": "Unisciti al nostro server Discord per partecipare a estrazioni occasionali.",
"invitation.codeOptions.3": "Segui il nostro account X per partecipare a estrazioni occasionali.",
- "invitation.earlyAccess": "Follow è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
- "invitation.earlyAccessMessage": "😰 Ci dispiace, Follow è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
+ "invitation.earlyAccess": "Folo è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
+ "invitation.earlyAccessMessage": "😰 Ci dispiace, Folo è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
"invitation.generateButton": "Genera nuovo codice",
"invitation.generateCost": "Puoi spendere {{INVITATION_PRICE}} Power per generare un codice di invito per i tuoi amici.",
"invitation.getCodeMessage": "Puoi ottenere un codice di invito nei seguenti modi:",
diff --git a/apps/desktop/locales/external/ja.json b/apps/desktop/locales/external/ja.json
index 2ccfe9f0f8..7e1457db5a 100644
--- a/apps/desktop/locales/external/ja.json
+++ b/apps/desktop/locales/external/ja.json
@@ -27,8 +27,8 @@
"invitation.codeOptions.1": "招待してくれるアルファテストユーザーを探しましょう。",
"invitation.codeOptions.2": "時折行われるプレゼント企画のために、私たちの Discord サーバーに参加しましょう。",
"invitation.codeOptions.3": "時折行われるプレゼント企画のために、私たちの X アカウントをフォローしましょう。",
- "invitation.earlyAccess": "現在、Follow はアーリーアクセス中で、利用には招待コードが必要です。",
- "invitation.earlyAccessMessage": "😰 申し訳ありませんが、Follow は現在アーリーアクセス中で、招待コードが必要です。",
+ "invitation.earlyAccess": "現在、Folo はアーリーアクセス中で、利用には招待コードが必要です。",
+ "invitation.earlyAccessMessage": "😰 申し訳ありませんが、Folo は現在アーリーアクセス中で、招待コードが必要です。",
"invitation.generateButton": "新しいコードを生成",
"invitation.generateCost": "友達のために招待コードを生成するには、{{INVITATION_PRICE}} Power を消費できます。",
"invitation.getCodeMessage": "以下の方法で招待コードを入手できます:",
diff --git a/apps/desktop/locales/external/ko.json b/apps/desktop/locales/external/ko.json
index 0c6b22e041..37f4d9d2cc 100644
--- a/apps/desktop/locales/external/ko.json
+++ b/apps/desktop/locales/external/ko.json
@@ -27,8 +27,8 @@
"invitation.codeOptions.1": "초대할 알파 테스트 사용자를 찾고 있습니다.",
"invitation.codeOptions.2": "가끔 경품을 제공하는 Discord 서버에 가입하세요.",
"invitation.codeOptions.3": "가끔 경품을 제공하는 X 계정을 팔로우하세요.",
- "invitation.earlyAccess": "현재 Follow 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
- "invitation.earlyAccessMessage": "😰 죄송합니다. 현재 Follow 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
+ "invitation.earlyAccess": "현재 Folo 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
+ "invitation.earlyAccessMessage": "😰 죄송합니다. 현재 Folo 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
"invitation.generateButton": "새 코드 생성",
"invitation.generateCost": "친구에게 초대 코드를 생성하려면 {{INVITATION_PRICE}} 파워를 사용할 수 있습니다.",
"invitation.getCodeMessage": "다음 방법을 통해 초대 코드를 얻을 수 있습니다:",
diff --git a/apps/desktop/locales/external/pt.json b/apps/desktop/locales/external/pt.json
index 652e749da6..103329afc0 100644
--- a/apps/desktop/locales/external/pt.json
+++ b/apps/desktop/locales/external/pt.json
@@ -10,8 +10,8 @@
"invitation.codeOptions.1": "Procure um utilizador de teste alpha que o convide.",
"invitation.codeOptions.2": "Junte-se ao nosso servidor Discord para receber ofertas ocasionais.",
"invitation.codeOptions.3": "Siga a nossa conta no X para receber ofertas ocasionais.",
- "invitation.earlyAccess": "O Follow está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
- "invitation.earlyAccessMessage": "😰 Lamentamos, o Follow está atualmente em acesso antecipado e requer um código de convite.",
+ "invitation.earlyAccess": "O Folo está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
+ "invitation.earlyAccessMessage": "😰 Lamentamos, o Folo está atualmente em acesso antecipado e requer um código de convite.",
"invitation.generateButton": "Gerar novo código",
"invitation.generateCost": "Pode gastar {{INVITATION_PRICE}} Power para gerar um código de convite para os seus amigos.",
"invitation.getCodeMessage": "Pode obter um código de convite das seguintes maneiras:",
diff --git a/apps/desktop/locales/external/ru.json b/apps/desktop/locales/external/ru.json
index eb198dcf5c..180da02587 100644
--- a/apps/desktop/locales/external/ru.json
+++ b/apps/desktop/locales/external/ru.json
@@ -27,8 +27,8 @@
"invitation.codeOptions.1": "Ищите пользователей для приглашения на альфа-тестирование.",
"invitation.codeOptions.2": "Присоединяйтесь к нашему серверу Discord для участия в раздачах.",
"invitation.codeOptions.3": "Подпишитесь на наш аккаунт X для участия в раздачах.",
- "invitation.earlyAccess": "В настоящее время Follow находится в раннем доступе и требует пригласительного кода для использования.",
- "invitation.earlyAccessMessage": "😰 Извините, Follow находится в раннем доступе и требует пригласительного кода для использования.",
+ "invitation.earlyAccess": "В настоящее время Folo находится в раннем доступе и требует пригласительного кода для использования.",
+ "invitation.earlyAccessMessage": "😰 Извините, Folo находится в раннем доступе и требует пригласительного кода для использования.",
"invitation.generateButton": "Сгенерировать новый код",
"invitation.generateCost": "Вы можете потратить {{INVITATION_PRICE}} Power, чтобы сгенерировать пригласительный код для ваших друзей.",
"invitation.getCodeMessage": "Вы можете получить пригласительный код следующими способами:",
diff --git a/apps/desktop/locales/external/tr.json b/apps/desktop/locales/external/tr.json
index f05c465ccd..6ebdb03afa 100644
--- a/apps/desktop/locales/external/tr.json
+++ b/apps/desktop/locales/external/tr.json
@@ -14,8 +14,8 @@
"invitation.codeOptions.1": "Sizi davet edecek herhangi bir alfa test kullanıcısı aranıyor.",
"invitation.codeOptions.2": "Ara sıra yapılan çekilişler için Discord sunucumuza katılın.",
"invitation.codeOptions.3": "Ara sıra yapılan çekilişler için X hesabımızı takip edin.",
- "invitation.earlyAccess": "Follow şu anda erken erişimde ve kullanmak için bir davet kodu gerektiriyor.",
- "invitation.earlyAccessMessage": "😰 Üzgünüz, Follow şu anda erken erişimde ve kullanmak için bir davet kodu gerektiriyor.",
+ "invitation.earlyAccess": "Folo şu anda erken erişimde ve kullanmak için bir davet kodu gerektiriyor.",
+ "invitation.earlyAccessMessage": "😰 Üzgünüz, Folo şu anda erken erişimde ve kullanmak için bir davet kodu gerektiriyor.",
"invitation.generateButton": "Yeni kod oluştur",
"invitation.generateCost": "Arkadaşlarınız için bir davet kodu oluşturmak için {{INVITATION_PRICE}} Güç harcayabilirsiniz.",
"invitation.getCodeMessage": "Aşağıdaki yollarla bir davet kodu alabilirsiniz:",
diff --git a/apps/desktop/locales/external/zh-CN.json b/apps/desktop/locales/external/zh-CN.json
index 6d06634dda..dba4dd4db1 100644
--- a/apps/desktop/locales/external/zh-CN.json
+++ b/apps/desktop/locales/external/zh-CN.json
@@ -28,8 +28,8 @@
"invitation.codeOptions.1": "寻找内测用户帮你生成邀请码。",
"invitation.codeOptions.2": "加入官方 Discord 频道,不定期发放邀请码。",
"invitation.codeOptions.3": "关注官方 X 账号动态,不定期发放邀请码。",
- "invitation.earlyAccess": "Follow 目前处于早期体验阶段,需要邀请码才能使用。",
- "invitation.earlyAccessMessage": "😰 抱歉,Follow 目前处于早期体验阶段,需要邀请码才能使用。",
+ "invitation.earlyAccess": "Folo 目前处于早期体验阶段,需要邀请码才能使用。",
+ "invitation.earlyAccessMessage": "😰 抱歉,Folo 目前处于早期体验阶段,需要邀请码才能使用。",
"invitation.generateButton": "生成邀请码",
"invitation.generateCost": "花费 {{INVITATION_PRICE}} Power 生成一个邀请码给你的朋友。",
"invitation.getCodeMessage": "通过以下方式获取:",
diff --git a/apps/desktop/locales/external/zh-HK.json b/apps/desktop/locales/external/zh-HK.json
index 4f7b421a02..d194f281c7 100644
--- a/apps/desktop/locales/external/zh-HK.json
+++ b/apps/desktop/locales/external/zh-HK.json
@@ -1,8 +1,8 @@
{
- "copied_link": "鏈接已複製到剪貼簿",
+ "copied_link": "連結已複製到剪貼簿",
"feed.actions.follow": "訂閲",
"feed.actions.followed": "已訂閲",
- "feed.copy_feed_url": "複製鏈接",
+ "feed.copy_feed_url": "複製連結",
"feed.feeds_one": "訂閲源",
"feed.feeds_other": "訂閲源",
"feed.follow_to_view_all": "跟隨以查看所有 {{count}} 個訂閲源...",
@@ -14,7 +14,7 @@
"feed.preview": "預覽",
"feed.read_one": "閱讀",
"feed.read_other": "閱讀數",
- "feed.view_feed_url": "查看鏈接",
+ "feed.view_feed_url": "查看連結",
"feed_item.claimed_by_owner": "訂閲源所有者",
"feed_item.claimed_by_unknown": "未知所有者",
"feed_item.claimed_by_you": "由你認領",
@@ -28,8 +28,8 @@
"invitation.codeOptions.1": "尋找任何內測測試用戶邀請你。",
"invitation.codeOptions.2": "加入我們的 Discord 伺服器,不定期贈送邀請碼。",
"invitation.codeOptions.3": "關注我們的 X 帳戶,不定期贈送邀請碼。",
- "invitation.earlyAccess": "Follow 目前處於早期訪問階段,使用需要邀請碼。",
- "invitation.earlyAccessMessage": "😰 抱歉,Follow 目前處於早期訪問階段,使用需要邀請碼。",
+ "invitation.earlyAccess": "Folo 目前處於早期訪問階段,使用需要邀請碼。",
+ "invitation.earlyAccessMessage": "😰 抱歉,Folo 目前處於早期訪問階段,使用需要邀請碼。",
"invitation.generateButton": "生成新邀請碼",
"invitation.generateCost": "你可以花費 {{INVITATION_PRICE}} Power 為你的朋友生成邀請碼。",
"invitation.getCodeMessage": "你可以通過以下方式獲取邀請碼:",
@@ -42,13 +42,13 @@
"login.forget_password.label": "忘記密碼",
"login.forget_password.note": "忘記密碼?",
"login.forget_password.success": "電子郵件已成功發送",
- "login.logInTo": "登錄到",
- "login.logInWithEmail": "使用電子郵件登錄",
+ "login.logInTo": "登入到",
+ "login.logInWithEmail": "使用電子郵件登入",
"login.new_password.label": "新密碼",
- "login.openApp": "打開應用程式",
+ "login.openApp": "開啟應用程式",
"login.or": "或",
"login.password": "密碼",
- "login.redirecting": "重定向中",
+ "login.redirecting": "重新導向中",
"login.register": "註冊",
"login.reset_password.description": "輸入新密碼並確認以重置密碼",
"login.reset_password.label": "重置密碼",
@@ -56,10 +56,11 @@
"login.signOut": "登出",
"login.signUp": "使用電子郵件註冊",
"login.submit": "提交",
+ "login.two_factor.code": "雙重驗證碼",
"login.welcomeTo": "歡迎來到",
"redirect.continueInBrowser": "在瀏覽器中繼續",
- "redirect.instruction": "現在是時候打開 {{app_name}} 並安全地關閉此頁面。",
- "redirect.openApp": "打開 {{app_name}}",
+ "redirect.instruction": "現在是時候開啟 {{app_name}} 並安全地關閉此頁面。",
+ "redirect.openApp": "開啟 {{app_name}}",
"redirect.successMessage": "你已成功連接到 {{app_name}} 帳戶。",
"register.confirm_password": "確認密碼",
"register.email": "電子郵件",
diff --git a/apps/desktop/locales/external/zh-TW.json b/apps/desktop/locales/external/zh-TW.json
index 28ce81c4d5..ac771d6b55 100644
--- a/apps/desktop/locales/external/zh-TW.json
+++ b/apps/desktop/locales/external/zh-TW.json
@@ -27,8 +27,8 @@
"invitation.codeOptions.1": "尋找任何內部測試使用者邀請您。",
"invitation.codeOptions.2": "加入我們的 Discord 伺服器,不定期贈送邀請碼。",
"invitation.codeOptions.3": "關注我們的 X 帳號,不定期贈送邀請碼。",
- "invitation.earlyAccess": "Follow 目前處於搶先體驗階段,需要邀請碼才能使用。",
- "invitation.earlyAccessMessage": "😰 抱歉,Follow 目前處於搶先體驗階段,需要邀請碼才能使用。",
+ "invitation.earlyAccess": "Folo 目前處於搶先體驗階段,需要邀請碼才能使用。",
+ "invitation.earlyAccessMessage": "😰 抱歉,Folo 目前處於搶先體驗階段,需要邀請碼才能使用。",
"invitation.generateButton": "產生新邀請碼",
"invitation.generateCost": "您可以花費 {{INVITATION_PRICE}} Power 為您的朋友產生邀請碼。",
"invitation.getCodeMessage": "您可以通過以下方式獲取邀請碼:",
diff --git a/apps/desktop/locales/native/en.json b/apps/desktop/locales/native/en.json
index 60bf7a6b1d..88bccdc328 100644
--- a/apps/desktop/locales/native/en.json
+++ b/apps/desktop/locales/native/en.json
@@ -39,7 +39,7 @@
"menu.discover": "Discover",
"menu.edit": "Edit",
"menu.file": "File",
- "menu.followReleases": "Follow releases",
+ "menu.followReleases": "Folo releases",
"menu.forceReload": "Force Reload",
"menu.front": "Bring to Front",
"menu.help": "Help",
diff --git a/apps/desktop/locales/native/zh-HK.json b/apps/desktop/locales/native/zh-HK.json
index 684b29a83f..ba44f39a12 100644
--- a/apps/desktop/locales/native/zh-HK.json
+++ b/apps/desktop/locales/native/zh-HK.json
@@ -2,59 +2,59 @@
"contextMenu.copy": "複製",
"contextMenu.copyImage": "複製圖片",
"contextMenu.copyImageAddress": "複製圖片地址",
- "contextMenu.copyLink": "複製鏈接",
- "contextMenu.copyVideoAddress": "複製視頻地址",
+ "contextMenu.copyLink": "複製連結",
+ "contextMenu.copyVideoAddress": "複製影片地址",
"contextMenu.cut": "剪切",
"contextMenu.inspect": "檢查元素",
"contextMenu.learnSpelling": "學習拼寫",
- "contextMenu.lookUpSelection": "查找選擇",
- "contextMenu.openImageInBrowser": "在瀏覽器中打開圖片",
- "contextMenu.openLinkInBrowser": "在瀏覽器中打開鏈接",
- "contextMenu.paste": "粘貼",
- "contextMenu.saveImage": "保存圖片",
+ "contextMenu.lookUpSelection": "查找選項",
+ "contextMenu.openImageInBrowser": "在瀏覽器中開啟圖片",
+ "contextMenu.openLinkInBrowser": "在瀏覽器中開啟連結",
+ "contextMenu.paste": "貼上",
+ "contextMenu.saveImage": "儲存圖片",
"contextMenu.saveImageAs": "另存圖片為...",
- "contextMenu.saveLinkAs": "另存鏈接為...",
- "contextMenu.saveVideo": "保存視頻",
- "contextMenu.saveVideoAs": "另存視頻為...",
- "contextMenu.searchWithGoogle": "使用 Google 搜索",
+ "contextMenu.saveLinkAs": "另存連結為...",
+ "contextMenu.saveVideo": "儲存影片",
+ "contextMenu.saveVideoAs": "另存影片為...",
+ "contextMenu.searchWithGoogle": "使用 Google 搜尋",
"contextMenu.selectAll": "全選",
"contextMenu.services": "服務",
"dialog.cancel": "取消",
- "dialog.clearAllData": "您確定要清除所有數據嗎?",
+ "dialog.clearAllData": "您確定要清除所有資料嗎?",
"dialog.no": "否",
- "dialog.open": "打開",
- "dialog.openExternalApp.message": "您確定要使用其他應用程序打開 \"{{url}}\" 嗎?",
- "dialog.openExternalApp.title": "打開外部應用程序?",
+ "dialog.open": "開啟",
+ "dialog.openExternalApp.message": "您確定要使用其他應用程式開啟 \"{{url}}\" 嗎?",
+ "dialog.openExternalApp.title": "開啟外部應用程式?",
"dialog.yes": "是",
"menu.about": "關於 {{name}}",
"menu.actualSize": "實際大小",
- "menu.bringAllToFront": "將所有窗口移到最前面",
+ "menu.bringAllToFront": "將所有視窗移到最前面",
"menu.checkForUpdates": "檢查更新",
- "menu.clearAllData": "清除所有數據",
+ "menu.clearAllData": "清除所有資料",
"menu.close": "關閉",
"menu.copy": "複製",
"menu.cut": "剪切",
- "menu.debug": "調試",
+ "menu.debug": "除錯",
"menu.delete": "刪除",
"menu.discover": "發現",
"menu.edit": "編輯",
- "menu.file": "文件",
+ "menu.file": "檔案",
"menu.followReleases": "關注更新",
- "menu.forceReload": "強制重載",
+ "menu.forceReload": "強制重新載入",
"menu.front": "移到最前面",
"menu.help": "幫助",
"menu.hide": "隱藏 {{name}}",
- "menu.hideOthers": "隱藏其他窗口",
+ "menu.hideOthers": "隱藏其他視窗",
"menu.minimize": "最小化",
- "menu.open": "打開 {{name}}",
- "menu.openLogFile": "打開日誌文件",
- "menu.paste": "粘貼",
- "menu.pasteAndMatchStyle": "粘貼並匹配樣式",
+ "menu.open": "開啟 {{name}}",
+ "menu.openLogFile": "開啟日誌檔案",
+ "menu.paste": "貼上",
+ "menu.pasteAndMatchStyle": "貼上並匹配樣式",
"menu.quickAdd": "快速添加",
- "menu.quit": "退出 {{name}}",
- "menu.quitAndInstallUpdate": "調試:退出並安裝更新",
+ "menu.quit": "結束 {{name}}",
+ "menu.quitAndInstallUpdate": "除錯:結束並安裝更新",
"menu.redo": "重做",
- "menu.reload": "重載",
+ "menu.reload": "重新載入",
"menu.search": "搜尋",
"menu.selectAll": "全選",
"menu.services": "服務",
@@ -63,10 +63,10 @@
"menu.startSpeaking": "開始朗讀",
"menu.stopSpeaking": "停止朗讀",
"menu.toggleDevTools": "切換開發者工具",
- "menu.toggleFullScreen": "切換全屏",
+ "menu.toggleFullScreen": "切換全螢幕",
"menu.undo": "撤銷",
- "menu.view": "查看",
- "menu.window": "窗口",
+ "menu.view": "檢視",
+ "menu.window": "視窗",
"menu.zenMode": "Zen 模式",
"menu.zoom": "縮放",
"menu.zoomIn": "放大",
diff --git a/apps/desktop/locales/native/zh-TW.json b/apps/desktop/locales/native/zh-TW.json
index b9346ad02d..659bb7d0ef 100644
--- a/apps/desktop/locales/native/zh-TW.json
+++ b/apps/desktop/locales/native/zh-TW.json
@@ -39,7 +39,7 @@
"menu.discover": "探索",
"menu.edit": "編輯",
"menu.file": "檔案",
- "menu.followReleases": "Follow 發佈",
+ "menu.followReleases": "Folo 發佈",
"menu.forceReload": "強制重新載入",
"menu.front": "置於最上層",
"menu.help": "說明",
diff --git a/apps/desktop/locales/settings/ar-DZ.json b/apps/desktop/locales/settings/ar-DZ.json
index c933272641..bad456b23a 100644
--- a/apps/desktop/locales/settings/ar-DZ.json
+++ b/apps/desktop/locales/settings/ar-DZ.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "إعادة بناء قاعدة البيانات",
"general.rebuild_database.warning.line1": "إعادة بناء قاعدة البيانات سيؤدي إلى مسح جميع بياناتك المحلية.",
"general.rebuild_database.warning.line2": "هل أنت متأكد أنك تريد المتابعة؟",
- "general.send_anonymous_data.description": "عن طريق اختيار إرسال بيانات مجهولة الهوية، تساهم في تحسين تجربة المستخدم العامة لـ Follow.",
+ "general.send_anonymous_data.description": "عن طريق اختيار إرسال بيانات مجهولة الهوية، تساهم في تحسين تجربة المستخدم العامة لـ Folo.",
"general.send_anonymous_data.label": "إرسال بيانات مجهولة الهوية",
"general.show_unread_on_launch.description": "عرض المحتوى غير المقروء عند التشغيل",
"general.show_unread_on_launch.label": "عرض المحتوى غير المقروء عند التشغيل",
@@ -120,8 +120,8 @@
"invitation.confirmModal.continue": "متابعة",
"invitation.confirmModal.message": "إنشاء كود دعوة سيكلفك {{INVITATION_PRICE}} باور.",
"invitation.confirmModal.title": "تأكيد",
- "invitation.earlyAccess": "تطبيق Follow حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
+ "invitation.earlyAccess": "تطبيق Folo حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
"invitation.generateButton": "إنشاء كود جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} باور لإنشاء كود دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على كود دعوة من خلال الطرق التالية:",
@@ -161,7 +161,7 @@
"wallet.claim.tooltip.canClaim": "يمكنك الآن المطالبة بـ {{amount}} باور يوميًا!",
"wallet.create.button": "إنشاء محفظة",
"wallet.create.description": "أنشئ محفظة مجانية لتلقي باور، والذي يمكن استخدامه لمكافأة المبدعين وأيضًا الحصول على مكافآت لمساهماتك في المحتوى.",
- "wallet.power.dailyClaim": "يمكنك المطالبة بـ {{amount}} باور مجاني يوميًا، والذي يمكن استخدامه لإعطاء إكراميات لمقالات RSS على Follow.",
+ "wallet.power.dailyClaim": "يمكنك المطالبة بـ {{amount}} باور مجاني يوميًا، والذي يمكن استخدامه لإعطاء إكراميات لمقالات RSS على Folo.",
"wallet.sidebar_title": "باور",
"wallet.transactions.amount": "المبلغ",
"wallet.transactions.date": "التاريخ",
diff --git a/apps/desktop/locales/settings/ar-IQ.json b/apps/desktop/locales/settings/ar-IQ.json
index 37710aa2d2..97e22fc1b1 100644
--- a/apps/desktop/locales/settings/ar-IQ.json
+++ b/apps/desktop/locales/settings/ar-IQ.json
@@ -87,7 +87,7 @@
"general.rebuild_database.title": "إعادة بناء قاعدة البيانات",
"general.rebuild_database.warning.line1": "إعادة بناء قاعدة البيانات سيؤدي إلى مسح جميع بياناتك المحلية.",
"general.rebuild_database.warning.line2": "هل أنت متأكد أنك تريد المتابعة؟",
- "general.send_anonymous_data.description": "عن طريق اختيار إرسال بيانات مجهولة الهوية، تساهم في تحسين تجربة المستخدم العامة لـ Follow.",
+ "general.send_anonymous_data.description": "عن طريق اختيار إرسال بيانات مجهولة الهوية، تساهم في تحسين تجربة المستخدم العامة لـ Folo.",
"general.send_anonymous_data.label": "إرسال بيانات مجهولة الهوية",
"general.show_unread_on_launch.description": "عرض المحتوى غير المقروء عند التشغيل",
"general.show_unread_on_launch.label": "عرض المحتوى غير المقروء عند التشغيل",
@@ -125,8 +125,8 @@
"invitation.confirmModal.continue": "متابعة",
"invitation.confirmModal.message": "إنشاء كود دعوة سيكلفك {{INVITATION_PRICE}} باور.",
"invitation.confirmModal.title": "تأكيد",
- "invitation.earlyAccess": "تطبيق Follow حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
+ "invitation.earlyAccess": "تطبيق Folo حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo حاليًا في الوصول المبكر ويتطلب كود دعوة للاستخدام.",
"invitation.generateButton": "إنشاء كود جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} باور لإنشاء كود دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على كود دعوة من خلال الطرق التالية:",
@@ -168,7 +168,7 @@
"wallet.claim.tooltip.canClaim": "يمكنك الآن المطالبة بـ {{amount}} باور يوميًا!",
"wallet.create.button": "إنشاء محفظة",
"wallet.create.description": "أنشئ محفظة مجانية لتلقي باور، والذي يمكن استخدامه لمكافأة المبدعين وأيضًا الحصول على مكافآت لمساهماتك في المحتوى.",
- "wallet.power.dailyClaim": "يمكنك المطالبة بـ {{amount}} باور مجاني يوميًا، والذي يمكن استخدامه لإعطاء إكراميات لمقالات RSS على Follow.",
+ "wallet.power.dailyClaim": "يمكنك المطالبة بـ {{amount}} باور مجاني يوميًا، والذي يمكن استخدامه لإعطاء إكراميات لمقالات RSS على Folo.",
"wallet.sidebar_title": "باور",
"wallet.transactions.amount": "المبلغ",
"wallet.transactions.date": "التاريخ",
diff --git a/apps/desktop/locales/settings/ar-KW.json b/apps/desktop/locales/settings/ar-KW.json
index 74cea3af86..a04bf2bdbf 100644
--- a/apps/desktop/locales/settings/ar-KW.json
+++ b/apps/desktop/locales/settings/ar-KW.json
@@ -87,7 +87,7 @@
"general.rebuild_database.title": "إعادة بناء قاعدة البيانات",
"general.rebuild_database.warning.line1": "إعادة بناء قاعدة البيانات ستؤدي إلى مسح جميع بياناتك المحلية.",
"general.rebuild_database.warning.line2": "هل أنت متأكد أنك تريد المتابعة؟",
- "general.send_anonymous_data.description": "عن طريق اختيار إرسال بيانات مجهولة الهوية، تساهم في تحسين تجربة المستخدم العامة لتطبيق Follow.",
+ "general.send_anonymous_data.description": "عن طريق اختيار إرسال بيانات مجهولة الهوية، تساهم في تحسين تجربة المستخدم العامة لتطبيق Folo.",
"general.send_anonymous_data.label": "إرسال بيانات مجهولة الهوية",
"general.show_unread_on_launch.description": "عرض المحتوى غير المقروء عند التشغيل",
"general.show_unread_on_launch.label": "عرض المحتوى غير المقروء عند التشغيل",
@@ -125,8 +125,8 @@
"invitation.confirmModal.continue": "استمرار",
"invitation.confirmModal.message": "إنشاء رمز دعوة سيكلفك {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "تأكيد",
- "invitation.earlyAccess": "تطبيق Follow في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccess": "تطبيق Folo في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} Power لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
@@ -168,7 +168,7 @@
"wallet.claim.tooltip.canClaim": "يمكنك الآن المطالبة بـ {{amount}} Power يوميًا!",
"wallet.create.button": "إنشاء محفظة",
"wallet.create.description": "أنشئ محفظة مجانية لتلقي Power، والذي يمكن استخدامه لمكافأة المبدعين والحصول أيضًا على مكافآت مقابل مساهماتك في المحتوى.",
- "wallet.power.dailyClaim": "يمكنك المطالبة بـ {{amount}} Power مجانًا يوميًا، والذي يمكن استخدامه لإكراميات لمقالات RSS على Follow.",
+ "wallet.power.dailyClaim": "يمكنك المطالبة بـ {{amount}} Power مجانًا يوميًا، والذي يمكن استخدامه لإكراميات لمقالات RSS على Folo.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "المبلغ",
"wallet.transactions.date": "التاريخ",
diff --git a/apps/desktop/locales/settings/ar-MA.json b/apps/desktop/locales/settings/ar-MA.json
index 1604037e5c..dbfaa3a34b 100644
--- a/apps/desktop/locales/settings/ar-MA.json
+++ b/apps/desktop/locales/settings/ar-MA.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "إعادة بناء قاعدة البيانات",
"general.rebuild_database.warning.line1": "إعادة بناء قاعدة البيانات غادي تمسح جميع بياناتك المحلية.",
"general.rebuild_database.warning.line2": "واش متأكد بلي بغيتي تكمل؟",
- "general.send_anonymous_data.description": "باختيار إرسال بيانات مجهولة، كتساهم ف تحسين تجربة المستخدم العامة ديال Follow.",
+ "general.send_anonymous_data.description": "باختيار إرسال بيانات مجهولة، كتساهم ف تحسين تجربة المستخدم العامة ديال Folo.",
"general.send_anonymous_data.label": "إرسال بيانات مجهولة",
"general.show_unread_on_launch.description": "عرض المحتوى الغير مقروء عند التشغيل",
"general.show_unread_on_launch.label": "عرض المحتوى الغير مقروء عند التشغيل",
@@ -120,8 +120,8 @@
"invitation.confirmModal.continue": "استمر",
"invitation.confirmModal.message": "إنشاء كود الدعوة غادي يكلفك {{INVITATION_PRICE}} باور.",
"invitation.confirmModal.title": "تأكيد",
- "invitation.earlyAccess": "Follow حاليا في الوصول المبكر وخصك كود دعوة باش تستعملو.",
- "invitation.earlyAccessMessage": "😰 آسف، Follow دابا في الوصول المبكر وخصك كود دعوة باش تستعملو.",
+ "invitation.earlyAccess": "Folo حاليا في الوصول المبكر وخصك كود دعوة باش تستعملو.",
+ "invitation.earlyAccessMessage": "😰 آسف، Folo دابا في الوصول المبكر وخصك كود دعوة باش تستعملو.",
"invitation.generateButton": "إنشاء كود جديد",
"invitation.generateCost": "تقدر تصرف {{INVITATION_PRICE}} باور باش تنشئ كود دعوة لأصدقائك.",
"invitation.getCodeMessage": "تقدر تحصل على كود الدعوة بطرق التالية:",
@@ -161,7 +161,7 @@
"wallet.claim.tooltip.canClaim": "تقدر تطالب دابا ب {{amount}} باور يومي!",
"wallet.create.button": "إنشاء محفظة",
"wallet.create.description": "صاوب محفظة مجانية باش تلقى باور اللي ممكن تستعملو باش تكافئ المبدعين، أو حتى تتكافئ على المساهمات ديالك.",
- "wallet.power.dailyClaim": "يمكن ليك تطالب ب {{amount}} باور مجاني يومي، اللي ممكن تستعملو باش تقدم إكراميات لمقالات RSS على Follow.",
+ "wallet.power.dailyClaim": "يمكن ليك تطالب ب {{amount}} باور مجاني يومي، اللي ممكن تستعملو باش تقدم إكراميات لمقالات RSS على Folo.",
"wallet.sidebar_title": "باور",
"wallet.transactions.amount": "المبلغ",
"wallet.transactions.date": "التاريخ",
diff --git a/apps/desktop/locales/settings/ar-SA.json b/apps/desktop/locales/settings/ar-SA.json
index c5dc5b7127..1c5efe5952 100644
--- a/apps/desktop/locales/settings/ar-SA.json
+++ b/apps/desktop/locales/settings/ar-SA.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "إعادة بناء قاعدة البيانات",
"general.rebuild_database.warning.line1": "إعادة بناء قاعدة البيانات سيؤدي إلى مسح جميع بياناتك المحلية.",
"general.rebuild_database.warning.line2": "هل أنت متأكد من أنك تريد المتابعة؟",
- "general.send_anonymous_data.description": "بإرسال بيانات التتبع المجهولة، تساهم في تحسين تجربة المستخدم العامة لـ Follow.",
+ "general.send_anonymous_data.description": "بإرسال بيانات التتبع المجهولة، تساهم في تحسين تجربة المستخدم العامة لـ Folo.",
"general.send_anonymous_data.label": "إرسال البيانات مجهولة المصدر",
"general.show_unread_on_launch.description": "عرض المحتوى غير المقروء عند التشغيل",
"general.show_unread_on_launch.label": "عرض المحتوى غير المقروء عند التشغيل",
@@ -115,8 +115,8 @@
"invitation.confirmModal.continue": "استمر",
"invitation.confirmModal.message": "سيكلفك إنشاء رمز دعوة {{INVITATION_PRICE}} من الطاقة.",
"invitation.confirmModal.title": "تأكيد",
- "invitation.earlyAccess": "Follow حاليًا في الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
- "invitation.earlyAccessMessage": "😰 آسف، Follow حاليًا في الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
+ "invitation.earlyAccess": "Folo حاليًا في الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
+ "invitation.earlyAccessMessage": "😰 آسف، Folo حاليًا في الوصول المبكر ويتطلب رمز دعوة لاستخدامه.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} من الطاقة لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
@@ -156,7 +156,7 @@
"wallet.claim.tooltip.canClaim": "احصل على {{amount}} من الطاقة اليومية الآن!",
"wallet.create.button": "إنشاء محفظة",
"wallet.create.description": "قم بإنشاء محفظة مجانية لتلقي الطاقة، التي يمكن استخدامها لمكافأة المبدعين وأيضًا الحصول على مكافآت لمساهماتك في المحتوى.",
- "wallet.power.dailyClaim": "يمكنك الحصول على {{amount}} من الطاقة المجانية يوميًا، التي يمكن استخدامها لإكراميات لمقالات RSS على Follow.",
+ "wallet.power.dailyClaim": "يمكنك الحصول على {{amount}} من الطاقة المجانية يوميًا، التي يمكن استخدامها لإكراميات لمقالات RSS على Folo.",
"wallet.sidebar_title": "الطاقة",
"wallet.transactions.amount": "المبلغ",
"wallet.transactions.date": "التاريخ",
diff --git a/apps/desktop/locales/settings/ar-TN.json b/apps/desktop/locales/settings/ar-TN.json
index fc9ef1710a..5e5d2198e3 100644
--- a/apps/desktop/locales/settings/ar-TN.json
+++ b/apps/desktop/locales/settings/ar-TN.json
@@ -87,7 +87,7 @@
"general.rebuild_database.title": "إعادة بناء قاعدة البيانات",
"general.rebuild_database.warning.line1": "ستؤدي إعادة بناء قاعدة البيانات إلى مسح جميع بياناتك المحلية.",
"general.rebuild_database.warning.line2": "هل أنت متأكد أنك تريد المتابعة؟",
- "general.send_anonymous_data.description": "من خلال اختيار إرسال بيانات عن بعد مجهولة، فإنك تساهم في تحسين تجربة المستخدم العامة لـ Follow.",
+ "general.send_anonymous_data.description": "من خلال اختيار إرسال بيانات عن بعد مجهولة، فإنك تساهم في تحسين تجربة المستخدم العامة لـ Folo.",
"general.send_anonymous_data.label": "إرسال بيانات مجهولة",
"general.show_unread_on_launch.description": "عرض المحتوى غير المقروء عند الإطلاق",
"general.show_unread_on_launch.label": "عرض المحتوى غير المقروء عند الإطلاق",
@@ -120,8 +120,8 @@
"invitation.confirmModal.continue": "متابعة",
"invitation.confirmModal.message": "سيكلفك إنشاء رمز دعوة {{INVITATION_PRICE}} من Power.",
"invitation.confirmModal.title": "تأكيد",
- "invitation.earlyAccess": "Follow حاليًا في الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
- "invitation.earlyAccessMessage": "😰 عذرًا، Follow حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccess": "Folo حاليًا في الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
+ "invitation.earlyAccessMessage": "😰 عذرًا، Folo حاليًا في مرحلة الوصول المبكر ويتطلب رمز دعوة للاستخدام.",
"invitation.generateButton": "إنشاء رمز جديد",
"invitation.generateCost": "يمكنك إنفاق {{INVITATION_PRICE}} من Power لإنشاء رمز دعوة لأصدقائك.",
"invitation.getCodeMessage": "يمكنك الحصول على رمز دعوة من خلال الطرق التالية:",
@@ -163,7 +163,7 @@
"wallet.claim.tooltip.canClaim": "استلم {{amount}} من الطاقة اليومية الآن!",
"wallet.create.button": "إنشاء محفظة",
"wallet.create.description": "أنشئ محفظة مجانية لاستلام Power، والتي يمكن استخدامها لمكافأة المبدعين وأيضًا الحصول على مكافآت مقابل مساهماتك في المحتوى.",
- "wallet.power.dailyClaim": "يمكنك استلام {{amount}} من الطاقة المجانية يوميًا، والتي يمكن استخدامها لإكراميات عناصر RSS على Follow.",
+ "wallet.power.dailyClaim": "يمكنك استلام {{amount}} من الطاقة المجانية يوميًا، والتي يمكن استخدامها لإكراميات عناصر RSS على Folo.",
"wallet.sidebar_title": "الطاقة",
"wallet.transactions.amount": "المبلغ",
"wallet.transactions.date": "التاريخ",
diff --git a/apps/desktop/locales/settings/de.json b/apps/desktop/locales/settings/de.json
index 8939cfb106..1e03c2154d 100644
--- a/apps/desktop/locales/settings/de.json
+++ b/apps/desktop/locales/settings/de.json
@@ -93,7 +93,7 @@
"general.rebuild_database.title": "Datenbank neu aufbauen",
"general.rebuild_database.warning.line1": "Das Neuaufbauen der Datenbank löscht alle Ihre lokalen Daten.",
"general.rebuild_database.warning.line2": "Sind Sie sicher, dass Sie fortfahren möchten?",
- "general.send_anonymous_data.description": "Wenn Sie sich für das Senden anonymisierter Telemetriedaten entscheiden, tragen Sie zur Verbesserung der Benutzererfahrung von Follow bei.",
+ "general.send_anonymous_data.description": "Wenn Sie sich für das Senden anonymisierter Telemetriedaten entscheiden, tragen Sie zur Verbesserung der Benutzererfahrung von Folo bei.",
"general.send_anonymous_data.label": "Anonyme Daten senden",
"general.show_unread_on_launch.description": "Ungelesene Inhalte beim Start anzeigen",
"general.show_unread_on_launch.label": "Ungelesene Inhalte beim Start anzeigen",
@@ -131,8 +131,8 @@
"invitation.confirmModal.continue": "Fortfahren",
"invitation.confirmModal.message": "Das Generieren eines Einladungscodes kostet Sie {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Bestätigen",
- "invitation.earlyAccess": "Follow befindet sich derzeit im Early Access und erfordert einen Einladungscode zur Nutzung.",
- "invitation.earlyAccessMessage": "😰 Entschuldigung, Follow befindet sich derzeit im Early Access und erfordert einen Einladungscode zur Nutzung.",
+ "invitation.earlyAccess": "Folo befindet sich derzeit im Early Access und erfordert einen Einladungscode zur Nutzung.",
+ "invitation.earlyAccessMessage": "😰 Entschuldigung, Folo befindet sich derzeit im Early Access und erfordert einen Einladungscode zur Nutzung.",
"invitation.generateButton": "Neuen Code generieren",
"invitation.generateCost": "Sie können {{INVITATION_PRICE}} Power ausgeben, um einen Einladungscode für Ihre Freunde zu generieren.",
"invitation.getCodeMessage": "Sie können einen Einladungscode auf folgende Weise erhalten:",
@@ -202,7 +202,7 @@
"wallet.claim.tooltip.canClaim": "Beanspruchen Sie jetzt Ihre {{amount}} tägliche Power!",
"wallet.create.button": "Wallet erstellen",
"wallet.create.description": "Erstellen Sie eine kostenlose Wallet, um Power zu erhalten, die verwendet werden kann, um Ersteller zu belohnen und auch für Ihre Inhaltsbeiträge belohnt zu werden.",
- "wallet.power.dailyClaim": "Sie können täglich {{amount}} kostenlose Power beanspruchen, die verwendet werden kann, um RSS-Einträge auf Follow zu belohnen.",
+ "wallet.power.dailyClaim": "Sie können täglich {{amount}} kostenlose Power beanspruchen, die verwendet werden kann, um RSS-Einträge auf Folo zu belohnen.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Betrag",
"wallet.transactions.date": "Datum",
diff --git a/apps/desktop/locales/settings/en.json b/apps/desktop/locales/settings/en.json
index c5e312d214..6ebe5e85d3 100644
--- a/apps/desktop/locales/settings/en.json
+++ b/apps/desktop/locales/settings/en.json
@@ -175,7 +175,7 @@
"general.rebuild_database.title": "Rebuild Database",
"general.rebuild_database.warning.line1": "Rebuilding the database will clear all your local data.",
"general.rebuild_database.warning.line2": "Are you sure you want to continue?",
- "general.send_anonymous_data.description": "By opting to send anonymized telemetry data, you contribute to improving the overall user experience of Follow.",
+ "general.send_anonymous_data.description": "By opting to send anonymized telemetry data, you contribute to improving the overall user experience of Folo.",
"general.send_anonymous_data.label": "Send anonymous data",
"general.show_quick_timeline.description": "Show the quick timeline at the top of the feed list.",
"general.show_quick_timeline.label": "Show feed list timeline",
@@ -187,7 +187,9 @@
"general.startup_screen.timeline": "Timeline",
"general.startup_screen.title": "Startup Screen",
"general.timeline": "Timeline",
- "general.translation_language": "Translation Language",
+ "general.action_language.label": "Action Language",
+ "general.action_language.default": "Default (UI Language)",
+ "general.action_language.description": "The language used for translation and summary",
"general.unread": "Unread",
"general.voices": "Voices",
"integration.eagle.enable.description": "Display 'Save media to Eagle' button when available.",
@@ -236,8 +238,8 @@
"invitation.confirmModal.continue": "Continue",
"invitation.confirmModal.message": "Generating an invitation code will cost you {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Confirm",
- "invitation.earlyAccess": "Follow is currently in early access and requires an invitation code to use.",
- "invitation.earlyAccessMessage": "😰 Sorry, Follow is currently in early access and requires an invitation code to use.",
+ "invitation.earlyAccess": "Folo is currently in early access and requires an invitation code to use.",
+ "invitation.earlyAccessMessage": "😰 Sorry, Folo is currently in early access and requires an invitation code to use.",
"invitation.generateButton": "Generate new code",
"invitation.generateCost": "You can spend {{INVITATION_PRICE}} Power to generate an invitation code for your friends.",
"invitation.getCodeMessage": "You can get an invitation code through the following methods:",
@@ -295,6 +297,7 @@
"profile.email.unverified": "Unverified",
"profile.email.verification_sent": "Email verification sent",
"profile.email.verified": "Verified",
+ "profile.email.verify_email": "Please verify your email ({{email_address}}) to continue",
"profile.handle.description": "Your unique identifier.",
"profile.handle.label": "Handle",
"profile.link_social.authentication": "Authentication",
@@ -326,9 +329,9 @@
"rsshub.addModal.access_key_label": "Access Key (Optional)",
"rsshub.addModal.add": "Add",
"rsshub.addModal.base_url_label": "Base URL",
- "rsshub.addModal.description": "To use your own instance in Follow, you must add the following environment variables to it.",
+ "rsshub.addModal.description": "To use your own instance in Folo, you must add the following environment variables to it.",
"rsshub.add_new_instance": "Add New Instance",
- "rsshub.description": "RSSHub is a community-driven open-source RSS network. Follow provides a built-in dedicated instance and uses it to support thousands of subscription contents, you can also achieve more stable content acquisition by using your own or third-party instances.",
+ "rsshub.description": "RSSHub is a community-driven open-source RSS network. Folo provides a built-in dedicated instance and uses it to support thousands of subscription contents, you can also achieve more stable content acquisition by using your own or third-party instances.",
"rsshub.public_instances": "Available Instances",
"rsshub.table.description": "Description",
"rsshub.table.edit": "Edit",
@@ -372,9 +375,9 @@
"wallet.claim.tooltip.canClaim": "Claim your {{amount}} Daily Power now!",
"wallet.create.button": "Create Wallet",
"wallet.create.description": "Create a free wallet to receive Power, which can be used to reward creators and also get rewarded for your content contributions.",
- "wallet.power.dailyClaim": "You can claim {{amount}} free Power daily, which can be used to tip RSS entries on Follow.",
- "wallet.power.description2": "Power is an ERC-20 token on the {{blockchainName}} blockchain, which can be used for purchases and tipping on Follow.",
- "wallet.power.rewardDescription": "All active users on Follow are eligible for daily power rewards.",
+ "wallet.power.dailyClaim": "You can claim {{amount}} free Power daily, which can be used to tip RSS entries on Folo.",
+ "wallet.power.description2": "Power is an ERC-20 token on the {{blockchainName}} blockchain, which can be used for purchases and tipping on Folo.",
+ "wallet.power.rewardDescription": "All active users on Folo are eligible for daily power rewards.",
"wallet.power.rewardDescription2": "Based on your level and past activities, you can receive a reward today. Learn more.",
"wallet.ranking.level": "Level",
"wallet.ranking.name": "Name",
@@ -383,7 +386,7 @@
"wallet.ranking.title": "Power Ranking",
"wallet.rewardDescription.description1": "The daily rewards for each user are based on two factors: user level and user activity points.",
"wallet.rewardDescription.description2": "User level: Determined by the user's Power ranking compared to all other users.",
- "wallet.rewardDescription.description3": "User Activity: Engaging with various Follow features can boost activity. Rewards range from a minimum of 1x to a maximum of 5x.",
+ "wallet.rewardDescription.description3": "User Activity: Engaging with various Folo features can boost activity. Rewards range from a minimum of 1x to a maximum of 5x.",
"wallet.rewardDescription.level": "User Level",
"wallet.rewardDescription.percentage": "Ranking Percentage",
"wallet.rewardDescription.reward": "Reward Multiplier",
@@ -392,7 +395,7 @@
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Amount",
"wallet.transactions.date": "Date",
- "wallet.transactions.description": "Certain transactions incur a {{percentage}}% platform fee to support Follow go further. For details, please refer to the blockchain transaction.",
+ "wallet.transactions.description": "Certain transactions incur a {{percentage}}% platform fee to support Folo go further. For details, please refer to the blockchain transaction.",
"wallet.transactions.from": "From",
"wallet.transactions.more": "View more through the blockchain explorer.",
"wallet.transactions.noTransactions": "No transactions",
diff --git a/apps/desktop/locales/settings/es.json b/apps/desktop/locales/settings/es.json
index 22b4b65014..b2dcb39d14 100644
--- a/apps/desktop/locales/settings/es.json
+++ b/apps/desktop/locales/settings/es.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "Reconstruir Base de Datos",
"general.rebuild_database.warning.line1": "Reconstruir la base de datos borrará todos tus datos locales.",
"general.rebuild_database.warning.line2": "¿Estás seguro de que deseas continuar?",
- "general.send_anonymous_data.description": "Al optar por enviar datos de telemetría anónimos, contribuyes a mejorar la experiencia general de usuario de Follow.",
+ "general.send_anonymous_data.description": "Al optar por enviar datos de telemetría anónimos, contribuyes a mejorar la experiencia general de usuario de Folo.",
"general.send_anonymous_data.label": "Enviar datos anónimos",
"general.show_unread_on_launch.description": "Mostrar contenido no leído al iniciar",
"general.show_unread_on_launch.label": "Mostrar contenido no leído al iniciar",
@@ -120,8 +120,8 @@
"invitation.confirmModal.continue": "Continuar",
"invitation.confirmModal.message": "Generar un código de invitación te costará {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Confirmar",
- "invitation.earlyAccess": "Follow está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
- "invitation.earlyAccessMessage": "😰 Lo sentimos, Follow está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
+ "invitation.earlyAccess": "Folo está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
+ "invitation.earlyAccessMessage": "😰 Lo sentimos, Folo está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
"invitation.generateButton": "Generar nuevo código",
"invitation.generateCost": "Puedes gastar {{INVITATION_PRICE}} Power para generar un código de invitación para tus amigos.",
"invitation.getCodeMessage": "Puedes obtener un código de invitación a través de los siguientes métodos:",
@@ -161,7 +161,7 @@
"wallet.claim.tooltip.canClaim": "¡Reclama tus {{amount}} Power diarios ahora!",
"wallet.create.button": "Crear Cartera",
"wallet.create.description": "Crea una cartera gratuita para recibir Power, que puede ser usado para recompensar a los creadores y también ser recompensado por tus contribuciones de contenido.",
- "wallet.power.dailyClaim": "Puedes reclamar {{amount}} Power gratis diariamente, que puede ser usado para dar propinas a entradas RSS en Follow.",
+ "wallet.power.dailyClaim": "Puedes reclamar {{amount}} Power gratis diariamente, que puede ser usado para dar propinas a entradas RSS en Folo.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Cantidad",
"wallet.transactions.date": "Fecha",
diff --git a/apps/desktop/locales/settings/fi.json b/apps/desktop/locales/settings/fi.json
index bfad6cc5f8..2295bfa40a 100644
--- a/apps/desktop/locales/settings/fi.json
+++ b/apps/desktop/locales/settings/fi.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "Rakenna tietokanta uudelleen",
"general.rebuild_database.warning.line1": "Tietokannan uudelleenrakentaminen tyhjentää kaikki paikalliset tietosi.",
"general.rebuild_database.warning.line2": "Haluatko varmasti jatkaa?",
- "general.send_anonymous_data.description": "Valitsemalla anonyymien telemetriatietojen lähettämisen autat parantamaan Follow'n yleistä käyttäjäkokemusta.",
+ "general.send_anonymous_data.description": "Valitsemalla anonyymien telemetriatietojen lähettämisen autat parantamaan Folo'n yleistä käyttäjäkokemusta.",
"general.send_anonymous_data.label": "Lähetä anonyymejä tietoja",
"general.show_unread_on_launch.description": "Näytä lukematon sisältö käynnistyksessä",
"general.show_unread_on_launch.label": "Näytä lukematon sisältö käynnistyksessä",
@@ -115,8 +115,8 @@
"invitation.confirmModal.continue": "Jatka",
"invitation.confirmModal.message": "Kutsukoodin luominen maksaa sinulle {{INVITATION_PRICE}} Poweria.",
"invitation.confirmModal.title": "Vahvista",
- "invitation.earlyAccess": "Follow on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
- "invitation.earlyAccessMessage": "😰 Pahoittelut, Follow on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
+ "invitation.earlyAccess": "Folo on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
+ "invitation.earlyAccessMessage": "😰 Pahoittelut, Folo on tällä hetkellä varhaisessa käytössä ja vaatii kutsukoodin.",
"invitation.generateButton": "Luo uusi koodi",
"invitation.generateCost": "Voit käyttää {{INVITATION_PRICE}} Poweria luodaksesi kutsukoodin ystävillesi.",
"invitation.getCodeMessage": "Voit saada kutsukoodin seuraavilla tavoilla:",
@@ -156,7 +156,7 @@
"wallet.claim.tooltip.canClaim": "Vahvista {{amount}} päivittäinen Powerisi nyt!",
"wallet.create.button": "Luo lompakko",
"wallet.create.description": "Luo ilmainen lompakko vastaanottaaksesi Poweria, jota voit käyttää palkitaksesi tekijöitä ja saadaksesi palkintoja sisällön tuottamisesta.",
- "wallet.power.dailyClaim": "Voit vahvistaa {{amount}} ilmaista Poweria päivittäin, jota voit käyttää tipataksesi RSS-merkintöjä Follow'ssa.",
+ "wallet.power.dailyClaim": "Voit vahvistaa {{amount}} ilmaista Poweria päivittäin, jota voit käyttää tipataksesi RSS-merkintöjä Folo'ssa.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Määrä",
"wallet.transactions.date": "Päivämäärä",
diff --git a/apps/desktop/locales/settings/fr.json b/apps/desktop/locales/settings/fr.json
index ee07aa5ca1..604bd04093 100644
--- a/apps/desktop/locales/settings/fr.json
+++ b/apps/desktop/locales/settings/fr.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "Reconstruire la base de données",
"general.rebuild_database.warning.line1": "La reconstruction de la base de données effacera toutes vos données locales.",
"general.rebuild_database.warning.line2": "Êtes-vous sûr de vouloir continuer ?",
- "general.send_anonymous_data.description": "En choisissant d'envoyer des données anonymisées, vous contribuez à améliorer l'expérience utilisateur globale de Follow.",
+ "general.send_anonymous_data.description": "En choisissant d'envoyer des données anonymisées, vous contribuez à améliorer l'expérience utilisateur globale de Folo.",
"general.send_anonymous_data.label": "Envoyer des données anonymes",
"general.show_unread_on_launch.description": "Afficher le contenu non lu au lancement",
"general.show_unread_on_launch.label": "Afficher le contenu non lu au lancement",
@@ -115,8 +115,8 @@
"invitation.confirmModal.continue": "Continuer",
"invitation.confirmModal.message": "Générer un code d'invitation vous coûtera {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Confirmer",
- "invitation.earlyAccess": "Follow est actuellement en accès anticipé et nécessite un code d'invitation pour l'utiliser.",
- "invitation.earlyAccessMessage": "😰 Désolé, Follow est actuellement en accès anticipé et nécessite un code d'invitation pour l'utiliser.",
+ "invitation.earlyAccess": "Folo est actuellement en accès anticipé et nécessite un code d'invitation pour l'utiliser.",
+ "invitation.earlyAccessMessage": "😰 Désolé, Folo est actuellement en accès anticipé et nécessite un code d'invitation pour l'utiliser.",
"invitation.generateButton": "Générer un nouveau code",
"invitation.generateCost": "Vous pouvez dépenser {{INVITATION_PRICE}} Power pour générer un code d'invitation pour vos amis.",
"invitation.getCodeMessage": "Vous pouvez obtenir un code d'invitation par les moyens suivants :",
@@ -156,7 +156,7 @@
"wallet.claim.tooltip.canClaim": "Réclamez votre {{amount}} Power quotidien maintenant !",
"wallet.create.button": "Créer un portefeuille",
"wallet.create.description": "Créez un portefeuille gratuit pour recevoir Power, qui peut être utilisé pour récompenser les créateurs et aussi pour recevoir des récompenses pour vos contributions au contenu.",
- "wallet.power.dailyClaim": "Vous pouvez réclamer {{amount}} Power gratuit quotidiennement, qui peut être utilisé pour donner des pourboires aux entrées RSS sur Follow.",
+ "wallet.power.dailyClaim": "Vous pouvez réclamer {{amount}} Power gratuit quotidiennement, qui peut être utilisé pour donner des pourboires aux entrées RSS sur Folo.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Montant",
"wallet.transactions.date": "Date",
diff --git a/apps/desktop/locales/settings/it.json b/apps/desktop/locales/settings/it.json
index 6323b3b35d..c201ba765c 100644
--- a/apps/desktop/locales/settings/it.json
+++ b/apps/desktop/locales/settings/it.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "Ricostruisci Database",
"general.rebuild_database.warning.line1": "La ricostruzione del database cancellerà tutti i tuoi dati locali.",
"general.rebuild_database.warning.line2": "Sei sicuro di voler continuare?",
- "general.send_anonymous_data.description": "Optando per inviare dati di telemetria anonimi, contribuisci a migliorare l'esperienza utente generale di Follow.",
+ "general.send_anonymous_data.description": "Optando per inviare dati di telemetria anonimi, contribuisci a migliorare l'esperienza utente generale di Folo.",
"general.send_anonymous_data.label": "Invia dati anonimi",
"general.show_unread_on_launch.description": "Mostra contenuti non letti all'avvio",
"general.show_unread_on_launch.label": "Mostra contenuti non letti all'avvio",
@@ -115,8 +115,8 @@
"invitation.confirmModal.continue": "Continua",
"invitation.confirmModal.message": "Generare un codice di invito ti costerà {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Conferma",
- "invitation.earlyAccess": "Follow è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
- "invitation.earlyAccessMessage": "😰 Ci dispiace, Follow è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
+ "invitation.earlyAccess": "Folo è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
+ "invitation.earlyAccessMessage": "😰 Ci dispiace, Folo è attualmente in accesso anticipato e richiede un codice di invito per essere utilizzato.",
"invitation.generateButton": "Genera nuovo codice",
"invitation.generateCost": "Puoi spendere {{INVITATION_PRICE}} Power per generare un codice di invito per i tuoi amici.",
"invitation.getCodeMessage": "Puoi ottenere un codice di invito nei seguenti modi:",
@@ -156,7 +156,7 @@
"wallet.claim.tooltip.canClaim": "Richiedi ora i tuoi {{amount}} Power giornalieri!",
"wallet.create.button": "Crea Wallet",
"wallet.create.description": "Crea un wallet gratuito per ricevere Power, che può essere utilizzato per ricompensare i creatori e ottenere ricompense per i tuoi contributi di contenuti.",
- "wallet.power.dailyClaim": "Puoi richiedere {{amount}} Power gratuiti ogni giorno, che possono essere usati per dare mance agli RSS su Follow.",
+ "wallet.power.dailyClaim": "Puoi richiedere {{amount}} Power gratuiti ogni giorno, che possono essere usati per dare mance agli RSS su Folo.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Importo",
"wallet.transactions.date": "Data",
diff --git a/apps/desktop/locales/settings/ja.json b/apps/desktop/locales/settings/ja.json
index 11a9fb1e45..f991c861be 100644
--- a/apps/desktop/locales/settings/ja.json
+++ b/apps/desktop/locales/settings/ja.json
@@ -155,7 +155,7 @@
"general.rebuild_database.title": "データベースを再構築",
"general.rebuild_database.warning.line1": "データベースの再構築により、すべてのローカルデータが消去されます。",
"general.rebuild_database.warning.line2": "本当に続行しますか?",
- "general.send_anonymous_data.description": "匿名化されたテレメトリーデータを送信することにより、Follow の全体的なユーザーエクスペリエンスの向上に貢献します。",
+ "general.send_anonymous_data.description": "匿名化されたテレメトリーデータを送信することにより、Folo の全体的なユーザーエクスペリエンスの向上に貢献します。",
"general.send_anonymous_data.label": "匿名データを送信",
"general.show_quick_timeline.description": "フィードリストの最上部にクイックタイムラインを表示する",
"general.show_quick_timeline.label": "フィードリストにタイムラインを表示する",
@@ -167,7 +167,6 @@
"general.startup_screen.timeline": "タイムライン",
"general.startup_screen.title": "スタートアップスクリーン",
"general.timeline": "タイムライン",
- "general.translation_language": "翻訳する言語",
"general.unread": "未読",
"general.voices": "音声",
"integration.eagle.enable.description": "利用可能な場合、'Eagle にメディアを保存' ボタンを表示します。",
@@ -216,8 +215,8 @@
"invitation.confirmModal.continue": "続行",
"invitation.confirmModal.message": "招待コードを生成するには、{{INVITATION_PRICE}} Power が必要です。",
"invitation.confirmModal.title": "確認",
- "invitation.earlyAccess": "現在、Follow はアーリーアクセス中で、招待コードが必要です。",
- "invitation.earlyAccessMessage": "😰 申し訳ありません。Follow は現在アーリーアクセス中で、招待コードが必要です。",
+ "invitation.earlyAccess": "現在、Folo はアーリーアクセス中で、招待コードが必要です。",
+ "invitation.earlyAccessMessage": "😰 申し訳ありません。Folo は現在アーリーアクセス中で、招待コードが必要です。",
"invitation.generateButton": "新しいコードを生成",
"invitation.generateCost": "{{INVITATION_PRICE}} Power を消費して、友達のために招待コードを生成できます。",
"invitation.getCodeMessage": "以下の方法で招待コードを取得できます:",
@@ -306,9 +305,9 @@
"rsshub.addModal.access_key_label": "アクセスキー (オプション)",
"rsshub.addModal.add": "追加",
"rsshub.addModal.base_url_label": "Base URL",
- "rsshub.addModal.description": "Follow であなた所有のインスタンスを使うには、以下の環境変数を追加する必要があります。",
+ "rsshub.addModal.description": "Folo であなた所有のインスタンスを使うには、以下の環境変数を追加する必要があります。",
"rsshub.add_new_instance": "新たなインスタンスを追加",
- "rsshub.description": "RSSHub コミュニティ駆動のオープンソース RSS ネットワークです。Follow は内蔵の専用インスタンスを提供し、そのインスタンスを使って数千のサブスクリプションコンテンツをサポートします。また独自あるいはサードパーティのインスタンスを使用することで、より安定したコンテンツ取得を実現できます。",
+ "rsshub.description": "RSSHub コミュニティ駆動のオープンソース RSS ネットワークです。Folo は内蔵の専用インスタンスを提供し、そのインスタンスを使って数千のサブスクリプションコンテンツをサポートします。また独自あるいはサードパーティのインスタンスを使用することで、より安定したコンテンツ取得を実現できます。",
"rsshub.public_instances": "利用可能なインスタンス",
"rsshub.table.description": "説明",
"rsshub.table.edit": "編集",
@@ -351,9 +350,9 @@
"wallet.claim.tooltip.canClaim": "{{amount}} のデイリー Power を今すぐ取得しましょう!",
"wallet.create.button": "ウォレットを作成",
"wallet.create.description": "Powerを受け取るための無料ウォレットを作成し、クリエイターに報酬を与えたり、コンテンツ貢献で報酬を得ることができます。",
- "wallet.power.dailyClaim": "毎日 {{amount}} の無料 Power を取得でき、それを使って Follow の RSS エントリにチップを送ることができます。",
- "wallet.power.description2": "Power はブロックチェーン {{blockchainName}} 上にある ERC-20 トークン で、Follow 内でのチップや購入に使用できます。",
- "wallet.power.rewardDescription": "Follow のすべてのアクティブ ユーザーは、デイリー Power 特典の対象となります。",
+ "wallet.power.dailyClaim": "毎日 {{amount}} の無料 Power を取得でき、それを使って Folo の RSS エントリにチップを送ることができます。",
+ "wallet.power.description2": "Power はブロックチェーン {{blockchainName}} 上にある ERC-20 トークン で、Folo 内でのチップや購入に使用できます。",
+ "wallet.power.rewardDescription": "Folo のすべてのアクティブ ユーザーは、デイリー Power 特典の対象となります。",
"wallet.power.rewardDescription2": "あなたのレベルや日々のアクティビティによって が本日の報酬として提供されます。さらなる情報はこちら",
"wallet.ranking.level": "レベル",
"wallet.ranking.name": "名前",
@@ -362,7 +361,7 @@
"wallet.ranking.title": "Power ランキング",
"wallet.rewardDescription.description1": "各ユーザーの毎日の報酬はユーザー レベルとユーザー アクティビティ ポイントの2つの要素に基づいています。",
"wallet.rewardDescription.description2": "ユーザー レベル: 他のすべてのユーザーと比較したユーザーの Power ランキングによって決定されます。",
- "wallet.rewardDescription.description3": "ユーザーのアクティビティ: 様々な Follow 機能に参加することでアクティビティを高めることができます。報酬は最低1倍から最高10倍まで。",
+ "wallet.rewardDescription.description3": "ユーザーのアクティビティ: 様々な Folo 機能に参加することでアクティビティを高めることができます。報酬は最低1倍から最高10倍まで。",
"wallet.rewardDescription.level": "ユーザー レベル",
"wallet.rewardDescription.percentage": "ランキングの割合",
"wallet.rewardDescription.reward": "報酬の割合",
@@ -371,7 +370,7 @@
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "金額",
"wallet.transactions.date": "日付",
- "wallet.transactions.description": "一部の取引では、Follow のさらなる発展をサポートするため、{{percentage}}%のプラットフォーム手数料が発生します。詳細についてはブロックチェーン取引を参照してください。",
+ "wallet.transactions.description": "一部の取引では、Folo のさらなる発展をサポートするため、{{percentage}}%のプラットフォーム手数料が発生します。詳細についてはブロックチェーン取引を参照してください。",
"wallet.transactions.from": "送信元",
"wallet.transactions.more": "blockchain explorerで詳細を表示する",
"wallet.transactions.noTransactions": "トランザクションなし",
diff --git a/apps/desktop/locales/settings/ko.json b/apps/desktop/locales/settings/ko.json
index e41020236b..a216d3a779 100644
--- a/apps/desktop/locales/settings/ko.json
+++ b/apps/desktop/locales/settings/ko.json
@@ -160,7 +160,7 @@
"general.rebuild_database.title": "데이터베이스 재구축",
"general.rebuild_database.warning.line1": "데이터베이스를 재구축하면 모든 로컬 데이터가 삭제됩니다.",
"general.rebuild_database.warning.line2": "계속하시겠습니까?",
- "general.send_anonymous_data.description": "익명화된 텔레메트리 데이터를 전송하는 것을 선택하면 Follow 의 전반적인 사용자 경험을 향상시키는 데 기여하게 됩니다.",
+ "general.send_anonymous_data.description": "익명화된 텔레메트리 데이터를 전송하는 것을 선택하면 Folo 의 전반적인 사용자 경험을 향상시키는 데 기여하게 됩니다.",
"general.send_anonymous_data.label": "익명 데이터 전송",
"general.show_quick_timeline.description": "피드 목록 상단에 빠른 타임라인을 표시합니다.",
"general.show_quick_timeline.label": "피드 목록 타임라인 표시",
@@ -172,7 +172,6 @@
"general.startup_screen.timeline": "타임라인",
"general.startup_screen.title": "시작 화면",
"general.timeline": "타임라인",
- "general.translation_language": "번역 언어",
"general.unread": "읽지 않음",
"general.voices": "음성",
"integration.eagle.enable.description": "가능할 때 '미디어를 Eagle 에 저장' 버튼 표시.",
@@ -221,8 +220,8 @@
"invitation.confirmModal.continue": "계속",
"invitation.confirmModal.message": "초대 코드를 생성하려면 {{INVITATION_PRICE}} 파워가 소모됩니다.",
"invitation.confirmModal.title": "확인",
- "invitation.earlyAccess": "현재 Follow 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
- "invitation.earlyAccessMessage": "😰 죄송합니다. 현재 Follow 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
+ "invitation.earlyAccess": "현재 Folo 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
+ "invitation.earlyAccessMessage": "😰 죄송합니다. 현재 Folo 는 얼리 액세스 중이며 사용하려면 초대 코드가 필요합니다.",
"invitation.generateButton": "새 코드 생성",
"invitation.generateCost": "친구에게 초대 코드를 생성하려면 {{INVITATION_PRICE}} 파워를 사용할 수 있습니다.",
"invitation.getCodeMessage": "다음 방법을 통해 초대 코드를 얻을 수 있습니다:",
@@ -311,9 +310,9 @@
"rsshub.addModal.access_key_label": "액세스 키 (선택사항)",
"rsshub.addModal.add": "추가",
"rsshub.addModal.base_url_label": "기본 URL",
- "rsshub.addModal.description": "Follow에서 자체 인스턴스를 사용하려면 다음 환경 변수를 추가해야 합니다.",
+ "rsshub.addModal.description": "Folo에서 자체 인스턴스를 사용하려면 다음 환경 변수를 추가해야 합니다.",
"rsshub.add_new_instance": "새 인스턴스 추가",
- "rsshub.description": "RSSHub는 커뮤니티 주도의 오픈소스 RSS 네트워크입니다. Follow는 내장된 전용 인스턴스를 제공하여 수천 개의 구독 콘텐츠를 지원하며, 자체 또는 제3자 인스턴스를 사용하여 더 안정적인 콘텐츠 획득을 달성할 수 있습니다.",
+ "rsshub.description": "RSSHub는 커뮤니티 주도의 오픈소스 RSS 네트워크입니다. Folo는 내장된 전용 인스턴스를 제공하여 수천 개의 구독 콘텐츠를 지원하며, 자체 또는 제3자 인스턴스를 사용하여 더 안정적인 콘텐츠 획득을 달성할 수 있습니다.",
"rsshub.public_instances": "사용 가능한 인스턴스",
"rsshub.table.description": "설명",
"rsshub.table.edit": "편집",
@@ -357,9 +356,9 @@
"wallet.claim.tooltip.canClaim": "지금 {{amount}} 일일 파워를 클레임하세요!",
"wallet.create.button": "지갑 생성",
"wallet.create.description": "파워를 받기 위해 무료 지갑을 생성하세요. 이는 제작자를 보상하는 데 사용할 수 있으며, 콘텐츠 기여에 대해 보상을 받을 수도 있습니다.",
- "wallet.power.dailyClaim": "매일 {{amount}} 무료 파워를 클레임할 수 있으며, 이는 Follow 에서 RSS 항목에 팁을 보내는 데 사용할 수 있습니다.",
- "wallet.power.description2": "파워는 {{blockchainName}} 블록체인의 ERC-20 토큰으로, Follow에서 구매와 팁에 사용할 수 있습니다.",
- "wallet.power.rewardDescription": "Follow의 모든 활성 사용자는 일일 파워 보상을 받을 수 있습니다.",
+ "wallet.power.dailyClaim": "매일 {{amount}} 무료 파워를 클레임할 수 있으며, 이는 Folo 에서 RSS 항목에 팁을 보내는 데 사용할 수 있습니다.",
+ "wallet.power.description2": "파워는 {{blockchainName}} 블록체인의 ERC-20 토큰으로, Folo에서 구매와 팁에 사용할 수 있습니다.",
+ "wallet.power.rewardDescription": "Folo의 모든 활성 사용자는 일일 파워 보상을 받을 수 있습니다.",
"wallet.power.rewardDescription2": "귀하의 레벨과 과거 활동을 기반으로 오늘 보상을 받을 수 있습니다. 자세히 알아보기",
"wallet.ranking.level": "레벨",
"wallet.ranking.name": "이름",
@@ -368,7 +367,7 @@
"wallet.ranking.title": "파워 순위",
"wallet.rewardDescription.description1": "보상은 다음 요소를 기반으로 합니다:",
"wallet.rewardDescription.description2": "사용자 레벨: 더 높은 레벨은 더 많은 보상을 의미합니다.",
- "wallet.rewardDescription.description3": "사용자 활동: Follow 기능을 다양하게 사용하면 활동이 증가합니다. 보상은 최소 1배에서 최대 5배까지 가능합니다.",
+ "wallet.rewardDescription.description3": "사용자 활동: Folo 기능을 다양하게 사용하면 활동이 증가합니다. 보상은 최소 1배에서 최대 5배까지 가능합니다.",
"wallet.rewardDescription.level": "사용자 레벨",
"wallet.rewardDescription.percentage": "순위 백분율",
"wallet.rewardDescription.reward": "보상 배수",
@@ -377,7 +376,7 @@
"wallet.sidebar_title": "파워",
"wallet.transactions.amount": "금액",
"wallet.transactions.date": "날짜",
- "wallet.transactions.description": "특정 거래에는 Follow의 발전을 지원하기 위해 {{percentage}}%의 플랫폼 수수료가 부과됩니다. 자세한 내용은 블록체인 거래를 참조하세요.",
+ "wallet.transactions.description": "특정 거래에는 Folo의 발전을 지원하기 위해 {{percentage}}%의 플랫폼 수수료가 부과됩니다. 자세한 내용은 블록체인 거래를 참조하세요.",
"wallet.transactions.from": "보낸 사람",
"wallet.transactions.more": "블록체인 탐색기에서 더 보기",
"wallet.transactions.noTransactions": "거래 없음",
diff --git a/apps/desktop/locales/settings/pt.json b/apps/desktop/locales/settings/pt.json
index 72f236c939..33609ee20b 100644
--- a/apps/desktop/locales/settings/pt.json
+++ b/apps/desktop/locales/settings/pt.json
@@ -82,7 +82,7 @@
"general.rebuild_database.title": "Reconstruir Base de Dados",
"general.rebuild_database.warning.line1": "Reconstruir a base de dados vai apagar todos os seus dados locais.",
"general.rebuild_database.warning.line2": "Tem a certeza de que quer continuar?",
- "general.send_anonymous_data.description": "Ao optar por enviar dados anónimos de telemetria, está a contribuir para a melhoria da experiência do utilizador no Follow.",
+ "general.send_anonymous_data.description": "Ao optar por enviar dados anónimos de telemetria, está a contribuir para a melhoria da experiência do utilizador no Folo.",
"general.send_anonymous_data.label": "Enviar dados anónimos",
"general.show_unread_on_launch.description": "Mostrar conteúdo não lido ao iniciar",
"general.show_unread_on_launch.label": "Mostrar conteúdo não lido ao iniciar",
@@ -115,8 +115,8 @@
"invitation.confirmModal.continue": "Continuar",
"invitation.confirmModal.message": "Gerar um código de convite vai custar-lhe {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Confirmar",
- "invitation.earlyAccess": "O Follow está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
- "invitation.earlyAccessMessage": "😰 Desculpe, o Follow está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
+ "invitation.earlyAccess": "O Folo está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
+ "invitation.earlyAccessMessage": "😰 Desculpe, o Folo está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
"invitation.generateButton": "Gerar novo código",
"invitation.generateCost": "Pode gastar {{INVITATION_PRICE}} Power para gerar um código de convite para os seus amigos.",
"invitation.getCodeMessage": "Pode obter um código de convite através dos seguintes métodos:",
@@ -156,7 +156,7 @@
"wallet.claim.tooltip.canClaim": "Reivindique agora o seu {{amount}} Power Diário!",
"wallet.create.button": "Criar Carteira",
"wallet.create.description": "Crie uma carteira gratuita para receber Power, que pode ser utilizado para recompensar criadores e também para ser recompensado pelas suas contribuições de conteúdo.",
- "wallet.power.dailyClaim": "Pode reivindicar {{amount}} de Power gratuito diariamente, que pode ser usado para dar dicas em entradas de RSS no Follow.",
+ "wallet.power.dailyClaim": "Pode reivindicar {{amount}} de Power gratuito diariamente, que pode ser usado para dar dicas em entradas de RSS no Folo.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Quantia",
"wallet.transactions.date": "Data",
diff --git a/apps/desktop/locales/settings/ru.json b/apps/desktop/locales/settings/ru.json
index 17433674c0..cf1d5cbd7a 100644
--- a/apps/desktop/locales/settings/ru.json
+++ b/apps/desktop/locales/settings/ru.json
@@ -154,7 +154,7 @@
"general.rebuild_database.title": "Перестроить базу данных",
"general.rebuild_database.warning.line1": "Перестроение базы данных удалит все ваши локальные данные.",
"general.rebuild_database.warning.line2": "Вы уверены, что хотите продолжить?",
- "general.send_anonymous_data.description": "При выборе отправки анонимных данных телеметрии вы помогаете улучшить общий пользовательский опыт Follow.",
+ "general.send_anonymous_data.description": "При выборе отправки анонимных данных телеметрии вы помогаете улучшить общий пользовательский опыт Folo.",
"general.send_anonymous_data.label": "Отправлять анонимные данные",
"general.show_quick_timeline.description": "Показать быструю временную шкалу в верхней части списка потоков.",
"general.show_quick_timeline.label": "Показать временную шкалу списка потоков",
@@ -214,8 +214,8 @@
"invitation.confirmModal.continue": "Продолжить",
"invitation.confirmModal.message": "Создание пригласительного кода обойдется вам в {{INVITATION_PRICE}} Power.",
"invitation.confirmModal.title": "Подтвердить",
- "invitation.earlyAccess": "Follow находится в раннем доступе и требует пригласительного кода для использования.",
- "invitation.earlyAccessMessage": "😰 Извините, Follow находится в раннем доступе и требует пригласительного кода для использования.",
+ "invitation.earlyAccess": "Folo находится в раннем доступе и требует пригласительного кода для использования.",
+ "invitation.earlyAccessMessage": "😰 Извините, Folo находится в раннем доступе и требует пригласительного кода для использования.",
"invitation.generateButton": "Создать новый код",
"invitation.generateCost": "Вы можете потратить {{INVITATION_PRICE}} Power, чтобы сгенерировать пригласительный код для своих друзей.",
"invitation.getCodeMessage": "Вы можете получить пригласительный код следующими способами:",
@@ -292,9 +292,9 @@
"rsshub.addModal.access_key_label": "Ключ доступа (необязательно)",
"rsshub.addModal.add": "Добавить",
"rsshub.addModal.base_url_label": "Базовый URL",
- "rsshub.addModal.description": "Чтобы использовать свой собственный экземпляр в Follow, необходимо добавить следующие переменные окружения.",
+ "rsshub.addModal.description": "Чтобы использовать свой собственный экземпляр в Folo, необходимо добавить следующие переменные окружения.",
"rsshub.add_new_instance": "Добавить новый экземпляр",
- "rsshub.description": "RSSHub — это открытая сеть RSS, поддерживаемая сообществом. Follow предоставляет встроенный выделенный экземпляр и использует его для поддержки тысяч подписок. Вы также можете достичь более стабильного получения контента, используя собственные или сторонние экземпляры.",
+ "rsshub.description": "RSSHub — это открытая сеть RSS, поддерживаемая сообществом. Folo предоставляет встроенный выделенный экземпляр и использует его для поддержки тысяч подписок. Вы также можете достичь более стабильного получения контента, используя собственные или сторонние экземпляры.",
"rsshub.public_instances": "Доступные экземпляры",
"rsshub.table.description": "Описание",
"rsshub.table.edit": "Редактировать",
@@ -335,9 +335,9 @@
"wallet.claim.tooltip.canClaim": "Заберите свои {{amount}} Power прямо сейчас!",
"wallet.create.button": "Создать кошелек",
"wallet.create.description": "Создайте бесплатный кошелек для получения Power, который можно использовать для вознаграждения создателей контента и получения наград за ваши собственные публикации.",
- "wallet.power.dailyClaim": "Вы можете ежедневно получать {{amount}} бесплатного Power, который можно использовать для вознаграждения записей RSS на Follow.",
- "wallet.power.description2": "Power — это токен ERC-20 на блокчейне {{blockchainName}}, который можно использовать для покупок и чаевых на Follow.",
- "wallet.power.rewardDescription": "Все активные пользователи на Follow имеют право на ежедневные вознаграждения Power.",
+ "wallet.power.dailyClaim": "Вы можете ежедневно получать {{amount}} бесплатного Power, который можно использовать для вознаграждения записей RSS на Folo.",
+ "wallet.power.description2": "Power — это токен ERC-20 на блокчейне {{blockchainName}}, который можно использовать для покупок и чаевых на Folo.",
+ "wallet.power.rewardDescription": "Все активные пользователи на Folo имеют право на ежедневные вознаграждения Power.",
"wallet.power.rewardDescription2": "В зависимости от вашего уровня и прошлых действий, вы можете получить вознаграждения сегодня. Узнать больше.",
"wallet.ranking.level": "Уровень",
"wallet.ranking.name": "Имя",
@@ -346,7 +346,7 @@
"wallet.ranking.title": "Рейтинг Power",
"wallet.rewardDescription.description1": "Ежедневные вознаграждения для каждого пользователя зависят от двух факторов: уровня пользователя и активности пользователя.",
"wallet.rewardDescription.description2": "Уровень пользователя: определяется сравнением рейтинга пользователя с рейтингами всех других пользователей.",
- "wallet.rewardDescription.description3": "Активность пользователя: взаимодействие с различными функциями Follow может повысить активность. Награды варьируются от минимум 1x до максимум 5x.",
+ "wallet.rewardDescription.description3": "Активность пользователя: взаимодействие с различными функциями Folo может повысить активность. Награды варьируются от минимум 1x до максимум 5x.",
"wallet.rewardDescription.level": "Уровень пользователя",
"wallet.rewardDescription.percentage": "Процент в рейтинге",
"wallet.rewardDescription.reward": "Множитель вознаграждения",
@@ -355,7 +355,7 @@
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Сумма",
"wallet.transactions.date": "Дата",
- "wallet.transactions.description": "Некоторые транзакции влекут за собой комиссию платформы в размере {{percentage}}%, чтобы поддержать дальнейшее развитие Follow. Для подробностей обратитесь к транзакции на блокчейне.",
+ "wallet.transactions.description": "Некоторые транзакции влекут за собой комиссию платформы в размере {{percentage}}%, чтобы поддержать дальнейшее развитие Folo. Для подробностей обратитесь к транзакции на блокчейне.",
"wallet.transactions.from": "От",
"wallet.transactions.more": "Посмотреть больше через блокчейн-обозреватель.",
"wallet.transactions.noTransactions": "Нет транзакций",
diff --git a/apps/desktop/locales/settings/tr.json b/apps/desktop/locales/settings/tr.json
index 8bb5b40455..dcaf90811f 100644
--- a/apps/desktop/locales/settings/tr.json
+++ b/apps/desktop/locales/settings/tr.json
@@ -93,7 +93,7 @@
"general.rebuild_database.title": "Veritabanını Yeniden Oluştur",
"general.rebuild_database.warning.line1": "Veritabanını yeniden oluşturmak tüm yerel verilerinizi temizleyecektir.",
"general.rebuild_database.warning.line2": "Devam etmek istediğinizden emin misiniz?",
- "general.send_anonymous_data.description": "Anonim telemetri verisi göndermeyi seçerek, Follow'un genel kullanıcı deneyimini iyileştirmeye katkıda bulunursunuz.",
+ "general.send_anonymous_data.description": "Anonim telemetri verisi göndermeyi seçerek, Folo'un genel kullanıcı deneyimini iyileştirmeye katkıda bulunursunuz.",
"general.send_anonymous_data.label": "Anonim veri gönder",
"general.show_unread_on_launch.description": "Başlangıçta okunmamış içeriği göster",
"general.show_unread_on_launch.label": "Başlangıçta okunmamış içeriği göster",
@@ -126,8 +126,8 @@
"invitation.confirmModal.continue": "Devam",
"invitation.confirmModal.message": "Bir davet kodu oluşturmak size {{INVITATION_PRICE}} Power'a mal olacak.",
"invitation.confirmModal.title": "Onayla",
- "invitation.earlyAccess": "Follow şu anda erken erişim aşamasındadır ve kullanmak için bir davet kodu gerektirir.",
- "invitation.earlyAccessMessage": "😰 Üzgünüz, Follow şu anda erken erişim aşamasındadır ve kullanmak için bir davet kodu gerektirir.",
+ "invitation.earlyAccess": "Folo şu anda erken erişim aşamasındadır ve kullanmak için bir davet kodu gerektirir.",
+ "invitation.earlyAccessMessage": "😰 Üzgünüz, Folo şu anda erken erişim aşamasındadır ve kullanmak için bir davet kodu gerektirir.",
"invitation.generateButton": "Yeni kod oluştur",
"invitation.generateCost": "Arkadaşlarınız için bir davet kodu oluşturmak için {{INVITATION_PRICE}} Power harcayabilirsiniz.",
"invitation.getCodeMessage": "Aşağıdaki yöntemlerle bir davet kodu alabilirsiniz:",
@@ -196,7 +196,7 @@
"wallet.claim.tooltip.canClaim": "{{amount}} Günlük Power'ınızı şimdi alın!",
"wallet.create.button": "Cüzdan Oluştur",
"wallet.create.description": "İçerik katkılarınız için ödüllendirilmek ve ayrıca içerik oluşturucuları ödüllendirmek için kullanılabilecek Power almak için ücretsiz bir cüzdan oluşturun.",
- "wallet.power.dailyClaim": "Günlük olarak {{amount}} ücretsiz Power alabilirsiniz, bu Follow'da RSS girdilerine bahşiş vermek için kullanılabilir.",
+ "wallet.power.dailyClaim": "Günlük olarak {{amount}} ücretsiz Power alabilirsiniz, bu Folo'da RSS girdilerine bahşiş vermek için kullanılabilir.",
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "Miktar",
"wallet.transactions.date": "Tarih",
diff --git a/apps/desktop/locales/settings/zh-CN.json b/apps/desktop/locales/settings/zh-CN.json
index 74033aa741..80e8fe06e7 100644
--- a/apps/desktop/locales/settings/zh-CN.json
+++ b/apps/desktop/locales/settings/zh-CN.json
@@ -187,7 +187,9 @@
"general.startup_screen.timeline": "时间线",
"general.startup_screen.title": "起始界面",
"general.timeline": "时间线",
- "general.translation_language": "翻译语言",
+ "general.action_language.label": "自动化语言",
+ "general.action_language.default": "默认(界面语言)",
+ "general.action_language.description": "用于翻译和总结的语言。",
"general.unread": "未读",
"general.voices": "声音",
"integration.eagle.enable.description": "显示「保存到 Eagle」按钮(如果可用)。",
@@ -236,8 +238,8 @@
"invitation.confirmModal.continue": "继续",
"invitation.confirmModal.message": "生成邀请码将花费 {{INVITATION_PRICE}} Power。",
"invitation.confirmModal.title": "确认",
- "invitation.earlyAccess": "Follow 目前处于早期开发状态,需要邀请码才能使用。",
- "invitation.earlyAccessMessage": "😰 抱歉,Follow 目前处于抢先体验阶段,需要邀请码才能使用。",
+ "invitation.earlyAccess": "Folo 目前处于早期开发状态,需要邀请码才能使用。",
+ "invitation.earlyAccessMessage": "😰 抱歉,Folo 目前处于抢先体验阶段,需要邀请码才能使用。",
"invitation.generateButton": "生成邀请码",
"invitation.generateCost": "你可以花费 {{INVITATION_PRICE}} Power 为你的朋友生成邀请码。",
"invitation.getCodeMessage": "通过以下方式获取邀请码:",
@@ -295,6 +297,7 @@
"profile.email.unverified": "未验证",
"profile.email.verification_sent": "验证邮件已发送。",
"profile.email.verified": "已验证",
+ "profile.email.verify_email": "请验证你的邮件地址 ({{email_address}}) 以继续。",
"profile.handle.description": "你的唯一标识。",
"profile.handle.label": "唯一标识",
"profile.link_social.authentication": "身份验证",
@@ -326,9 +329,9 @@
"rsshub.addModal.access_key_label": "访问密钥(可选)",
"rsshub.addModal.add": "添加",
"rsshub.addModal.base_url_label": "根 URL",
- "rsshub.addModal.description": "要在 Follow 中使用自己的实例,必须将以下环境变量添加到实例。",
+ "rsshub.addModal.description": "要在 Folo 中使用自己的实例,必须将以下环境变量添加到实例。",
"rsshub.add_new_instance": "添加新实例",
- "rsshub.description": "RSSHub 是由社区驱动的开源 RSS 网络。Follow 提供了内建的专用实例来支持数以千计的订阅内容,你也可以通过使用自己的或第三方的实例来实现更稳定的内容获取。",
+ "rsshub.description": "RSSHub 是由社区驱动的开源 RSS 网络。Folo 提供了内建的专用实例来支持数以千计的订阅内容,你也可以通过使用自己的或第三方的实例来实现更稳定的内容获取。",
"rsshub.public_instances": "实例",
"rsshub.table.description": "描述",
"rsshub.table.edit": "编辑",
@@ -372,9 +375,9 @@
"wallet.claim.tooltip.canClaim": "立即领取你的 {{amount}} 每日 Power!",
"wallet.create.button": "创建钱包",
"wallet.create.description": "创建一个免费钱包以获得 Power。你可以给其他创作者打赏,也可以通过贡献内容来获得奖励。",
- "wallet.power.dailyClaim": "每天可以领取 {{amount}} 个免费 Power。Power 可用于在 Follow 上打赏 RSS 条目。",
- "wallet.power.description2": "Power 是 {{blockchainName}} 区块链上的一个 ERC-20 代币,可用于在 Follow 平台上进行购买和打赏。",
- "wallet.power.rewardDescription": "所有活跃在 Follow 的用户都有资格获得每日 Power 奖励。",
+ "wallet.power.dailyClaim": "每天可以领取 {{amount}} 个免费 Power。Power 可用于在 Folo 上打赏 RSS 条目。",
+ "wallet.power.description2": "Power 是 {{blockchainName}} 区块链上的一个 ERC-20 代币,可用于在 Folo 平台上进行购买和打赏。",
+ "wallet.power.rewardDescription": "所有活跃在 Folo 的用户都有资格获得每日 Power 奖励。",
"wallet.power.rewardDescription2": "根据你的等级和过往活跃度,今日可以获得 的奖励。了解更多…",
"wallet.ranking.level": "等级",
"wallet.ranking.name": "用户",
@@ -383,7 +386,7 @@
"wallet.ranking.title": "Power 排名",
"wallet.rewardDescription.description1": "每日奖励基于「用户等级」和「用户活跃度」两部分计算。",
"wallet.rewardDescription.description2": "用户等级:由用户在 Power 排行榜的排名决定。",
- "wallet.rewardDescription.description3": "用户活跃度:使用 Follow 功能可以提升活跃度,活跃度的奖励倍数范围是 1x ~ 5x。",
+ "wallet.rewardDescription.description3": "用户活跃度:使用 Folo 功能可以提升活跃度,活跃度的奖励倍数范围是 1x ~ 5x。",
"wallet.rewardDescription.level": "用户等级",
"wallet.rewardDescription.percentage": "排名比例",
"wallet.rewardDescription.reward": "奖励倍数",
@@ -392,7 +395,7 @@
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "数额",
"wallet.transactions.date": "日期",
- "wallet.transactions.description": "部分交易会收取 {{percentage}}% 的平台手续费用于 Follow 的发展,详情请查看区块链交易记录。",
+ "wallet.transactions.description": "部分交易会收取 {{percentage}}% 的平台手续费用于 Folo 的发展,详情请查看区块链交易记录。",
"wallet.transactions.from": "发送者",
"wallet.transactions.more": "通过区块链浏览器查看更多交易…",
"wallet.transactions.noTransactions": "无交易记录",
diff --git a/apps/desktop/locales/settings/zh-HK.json b/apps/desktop/locales/settings/zh-HK.json
index 2ffa87bd85..5874d3472e 100644
--- a/apps/desktop/locales/settings/zh-HK.json
+++ b/apps/desktop/locales/settings/zh-HK.json
@@ -54,11 +54,22 @@
"actions.title": "動作",
"appearance.code_highlight_theme": "程式碼高亮主題",
"appearance.content": "內容",
+ "appearance.content_font.default": "預設(界面字體)",
"appearance.content_font.label": "內容字體",
+ "appearance.content_font_size": "內容字體大小",
+ "appearance.content_line_height.label": "內容行高",
+ "appearance.content_line_height.loose": "寬鬆",
+ "appearance.content_line_height.normal": "正常",
+ "appearance.content_line_height.relaxed": "舒適",
+ "appearance.content_line_height.snug": "緊湊",
+ "appearance.content_line_height.tight": "緊密",
"appearance.custom_css.button": "編輯",
"appearance.custom_css.description": "自定義 CSS 樣式內容",
"appearance.custom_css.label": "自定義 CSS",
"appearance.custom_font": "自訂字體",
+ "appearance.date_format": "日期格式",
+ "appearance.font.custom": "自訂",
+ "appearance.font.system": "系統界面",
"appearance.fonts": "字體",
"appearance.general": "一般",
"appearance.guess_code_language.description": "使用模型來推斷未標註程式碼區塊的主要程式語言",
@@ -80,7 +91,11 @@
"appearance.sidebar": "側邊欄",
"appearance.sidebar_show_unread_count.label": "側邊欄顯示未讀數量",
"appearance.sidebar_title": "外觀",
- "appearance.text_size.label": "文字大小",
+ "appearance.text_size.default": "預設",
+ "appearance.text_size.label": "全域文字大小",
+ "appearance.text_size.large": "大",
+ "appearance.text_size.medium": "中",
+ "appearance.text_size.smaller": "較小",
"appearance.theme.dark": "深色",
"appearance.theme.label": "主題",
"appearance.theme.light": "淺色",
@@ -97,6 +112,11 @@
"appearance.zen_mode.description": "Zen 模式是一種不受打擾的閱讀模式,讓您專注於內容而不會有任何干擾。啟用 Zen 模式後,側邊欄將被隱藏。",
"appearance.zen_mode.label": "Zen 模式",
"common.give_star": "喜歡我們的產品嗎? 在 GitHub 上給我們 star 吧!",
+ "customizeToolbar.more_actions.description": "將顯示在下拉選單中",
+ "customizeToolbar.more_actions.title": "更多動作",
+ "customizeToolbar.quick_actions.description": "自訂並重新排列你常用的動作",
+ "customizeToolbar.quick_actions.title": "快速動作",
+ "customizeToolbar.reset_layout": "重設為預設佈局",
"customizeToolbar.title": "自訂工具列",
"data_control.app_cache_limit.description": "應用程式快取的最大大小。當快取達到此大小時,最舊的項目將被刪除以釋放空間。",
"data_control.app_cache_limit.label": "應用程式快取限制",
@@ -115,11 +135,11 @@
"general.auto_group.label": "自動分組",
"general.cache": "快取",
"general.data": "數據",
- "general.data_file.label": "數據文件",
+ "general.data_file.label": "數據檔案",
"general.data_persist.description": "本地儲存數據以啟用離線存取和本地搜尋",
"general.data_persist.label": "離線使用時保留數據",
"general.export.button": "匯出",
- "general.export.description": "匯出你的訂閱到 OPML 文件",
+ "general.export.description": "匯出你的訂閱到 OPML 檔案",
"general.export.folder_mode.description": "決定如何組織匯出資料夾。",
"general.export.folder_mode.label": "資料夾模式",
"general.export.folder_mode.option.category": "分類",
@@ -135,11 +155,11 @@
"general.language": "語言",
"general.launch_at_login": "登入時啟動",
"general.log_file.button": "顯示",
- "general.log_file.description": "在系統中顯示日誌文件",
- "general.log_file.label": "日誌文件",
+ "general.log_file.description": "在系統中顯示日誌檔案",
+ "general.log_file.label": "日誌檔案",
"general.mark_as_read.hover.description": "游標懸停時自動將條目標記為已讀",
"general.mark_as_read.hover.label": "懸停時標記為已讀",
- "general.mark_as_read.render.description": "當條目進入視圖時,會自動標記單層條目(例如社交媒體貼文、圖片、視頻觀看)為已讀。",
+ "general.mark_as_read.render.description": "當條目進入視圖時,會自動標記單層條目(例如社交媒體貼文、圖片、影片觀看)為已讀。",
"general.mark_as_read.render.label": "在視圖中時標記為已讀",
"general.mark_as_read.scroll.description": "當滾動出視圖時,自動標記條目為已讀。",
"general.mark_as_read.scroll.label": "滾動時標記為已讀",
@@ -155,7 +175,7 @@
"general.rebuild_database.title": "重建數據庫",
"general.rebuild_database.warning.line1": "重建數據庫會清除所有本地數據",
"general.rebuild_database.warning.line2": "你確定要繼續嗎?",
- "general.send_anonymous_data.description": "選擇發送匿名的遙測數據,將有助於提升 Follow 的整體用戶體驗。",
+ "general.send_anonymous_data.description": "選擇發送匿名的遙測數據,將有助於提升 Folo 的整體用戶體驗。",
"general.send_anonymous_data.label": "發送匿名數據",
"general.show_quick_timeline.description": "在訂閱源清單頂部顯示快速時間軸。",
"general.show_quick_timeline.label": "顯示訂閱源清單時間軸",
@@ -167,7 +187,6 @@
"general.startup_screen.timeline": "時間軸",
"general.startup_screen.title": "啟動畫面",
"general.timeline": "時間軸",
- "general.translation_language": "翻譯語言",
"general.unread": "未讀",
"general.voices": "語音",
"integration.eagle.enable.description": "顯示「將媒體儲存到 Eagle」按鈕(如果可用)",
@@ -177,7 +196,7 @@
"integration.instapaper.enable.label": "啟用",
"integration.instapaper.password.label": "Instapaper 密碼",
"integration.instapaper.title": "Instapaper",
- "integration.instapaper.username.label": "Instapaper 用戶名",
+ "integration.instapaper.username.label": "Instapaper 使用者名稱",
"integration.obsidian.enable.description": "顯示「儲存至 Obsidian」按鈕(如果可用)",
"integration.obsidian.enable.label": "啟用",
"integration.obsidian.title": "Obsidian",
@@ -216,8 +235,8 @@
"invitation.confirmModal.continue": "繼續",
"invitation.confirmModal.message": "生成邀請代碼將消耗 {{INVITATION_PRICE}} Power。",
"invitation.confirmModal.title": "確認",
- "invitation.earlyAccess": "Follow 目前處於早期開發階段,需要邀請代碼才能使用。",
- "invitation.earlyAccessMessage": "😰 對不起,Follow 目前處於早期開發階段,需要邀請代碼才能使用。",
+ "invitation.earlyAccess": "Folo 目前處於早期開發階段,需要邀請代碼才能使用。",
+ "invitation.earlyAccessMessage": "😰 對不起,Folo 目前處於早期開發階段,需要邀請代碼才能使用。",
"invitation.generateButton": "生成新代碼",
"invitation.generateCost": "你可以花費 {{INVITATION_PRICE}} Power 來生成邀請代碼給你的朋友。",
"invitation.getCodeMessage": "你可以通過以下方法獲得邀請代碼:",
@@ -262,7 +281,7 @@
"lists.submit": "提交",
"lists.subscriptions": "訂閱",
"lists.title": "標題",
- "lists.view": "視圖",
+ "lists.view": "檢視",
"profile.avatar.label": "頭像",
"profile.change_password.label": "更改密碼",
"profile.confirm_password.label": "確認密碼",
@@ -284,19 +303,31 @@
"profile.name.description": "你的公開顯示名稱",
"profile.name.label": "顯示名稱",
"profile.new_password.label": "新密碼",
+ "profile.no_password": "重設你的密碼以設置新密碼。",
"profile.password.label": "密碼",
"profile.reset_password_mail_sent": "重設密碼郵件已發送",
"profile.sidebar_title": "個人資料",
"profile.submit": "提交",
"profile.title": "個人資料設置",
+ "profile.totp_code.init": "使用 TOTP 應用程式掃描 QR 碼",
+ "profile.totp_code.invalid": "無效的 TOTP 驗證碼。",
+ "profile.totp_code.label": "TOTP 驗證碼",
+ "profile.totp_code.title": "輸入 TOTP 驗證碼",
+ "profile.two_factor.disable": "停用雙重驗證",
+ "profile.two_factor.disabled": "雙重驗證已停用。",
+ "profile.two_factor.enable": "啟用雙重驗證",
+ "profile.two_factor.enable_notice": "您需要啟用雙重驗證才能執行此操作。",
+ "profile.two_factor.enabled": "雙重驗證已啟用。",
+ "profile.two_factor.label": "雙重驗證",
+ "profile.two_factor.no_password": "您需要先設置密碼才能啟用雙重驗證。",
"profile.updateSuccess": "個人資料已更新",
"profile.update_password_success": "密碼已更新",
"rsshub.addModal.access_key_label": "存取金鑰(選填)",
"rsshub.addModal.add": "新增",
"rsshub.addModal.base_url_label": "基本網址",
- "rsshub.addModal.description": "要在 Follow 中使用您自己的實例,您必須將以下環境變數新增到它。",
+ "rsshub.addModal.description": "要在 Folo 中使用您自己的實例,您必須將以下環境變數新增到它。",
"rsshub.add_new_instance": "新增實例",
- "rsshub.description": "RSSHub 是一個由社群驅動的開源 RSS 網絡。Follow 提供內建的專用實例,並使用它來支援成千上萬的訂閱內容,您也可以透過使用您自己的或第三方實例來實現更穩定的內容獲取。",
+ "rsshub.description": "RSSHub 是一個由社群驅動的開源 RSS 網絡。Folo 提供內建的專用實例,並使用它來支援成千上萬的訂閱內容,您也可以透過使用您自己的或第三方實例來實現更穩定的內容獲取。",
"rsshub.public_instances": "可用實例",
"rsshub.table.description": "描述",
"rsshub.table.edit": "編輯",
@@ -340,9 +371,9 @@
"wallet.claim.tooltip.canClaim": "立即領取你的 {{amount}} 每日 Power!",
"wallet.create.button": "創建錢包",
"wallet.create.description": "創建一個免費的錢包來接收 Power,可以用來贊助創作者,也可以因你的內容貢獻而獲得回報。",
- "wallet.power.dailyClaim": "你可以每日領取 {{amount}} 免費的 Power,用於在 Follow 上贊助 RSS 條目。",
- "wallet.power.description2": "Power 是 {{blockchainName}} 區塊鏈上的 ERC-20 代币,可用於 Follow 購買或贊助",
- "wallet.power.rewardDescription": "所有 Follow 的活躍用戶都可以獲得每日 Power 獎勵",
+ "wallet.power.dailyClaim": "你可以每日領取 {{amount}} 免費的 Power,用於在 Folo 上贊助 RSS 條目。",
+ "wallet.power.description2": "Power 是 {{blockchainName}} 區塊鏈上的 ERC-20 代币,可用於 Folo 購買或贊助",
+ "wallet.power.rewardDescription": "所有 Folo 的活躍用戶都可以獲得每日 Power 獎勵",
"wallet.power.rewardDescription2": "根據你的等級和過去活動,你獲得一份 奖励。更多詳情",
"wallet.ranking.level": "等級",
"wallet.ranking.name": "用戶",
@@ -351,7 +382,7 @@
"wallet.ranking.title": "Power 排名",
"wallet.rewardDescription.description1": "每日獎勵基於「用戶等級」和「活躍度」兩部分計算",
"wallet.rewardDescription.description2": "用戶等級: 由 Power 排行榜的排名決定",
- "wallet.rewardDescription.description3": "用戶活躍度: 使用 Follow 功能可以提升活躍度,活躍度獎勵倍數範圍是 1x ~ 5x",
+ "wallet.rewardDescription.description3": "用戶活躍度: 使用 Folo 功能可以提升活躍度,活躍度獎勵倍數範圍是 1x ~ 5x",
"wallet.rewardDescription.level": "用戶等級",
"wallet.rewardDescription.percentage": "排名比例",
"wallet.rewardDescription.reward": "獎勵倍數",
@@ -360,7 +391,7 @@
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "數量",
"wallet.transactions.date": "日期",
- "wallet.transactions.description": "部分交易会收取 {{percentage}}% 的平臺手續費用於 Follow 的發展,詳情請查看區塊鏈交易記錄。",
+ "wallet.transactions.description": "部分交易会收取 {{percentage}}% 的平臺手續費用於 Folo 的發展,詳情請查看區塊鏈交易記錄。",
"wallet.transactions.from": "來自",
"wallet.transactions.more": "通過區塊鏈瀏覽器查看更多交易",
"wallet.transactions.noTransactions": "無交易記錄",
diff --git a/apps/desktop/locales/settings/zh-TW.json b/apps/desktop/locales/settings/zh-TW.json
index d432ec64c5..e348ac5e6f 100644
--- a/apps/desktop/locales/settings/zh-TW.json
+++ b/apps/desktop/locales/settings/zh-TW.json
@@ -160,7 +160,7 @@
"general.rebuild_database.title": "重置資料庫",
"general.rebuild_database.warning.line1": "重置資料庫將會清除您所有的本機資料。",
"general.rebuild_database.warning.line2": "您確定要繼續嗎?",
- "general.send_anonymous_data.description": "選擇傳送匿名使用資料,您將幫助改善 Follow 的整體使用體驗。",
+ "general.send_anonymous_data.description": "選擇傳送匿名使用資料,您將幫助改善 Folo 的整體使用體驗。",
"general.send_anonymous_data.label": "傳送匿名資料",
"general.show_quick_timeline.description": "在 RSS 摘要列表頂部顯示快速時間軸。",
"general.show_quick_timeline.label": "顯示 RSS 摘要列表時間軸",
@@ -172,7 +172,6 @@
"general.startup_screen.timeline": "時間軸",
"general.startup_screen.title": "開始畫面",
"general.timeline": "時間軸",
- "general.translation_language": "翻譯語言",
"general.unread": "未讀",
"general.voices": "聲音",
"integration.eagle.enable.description": "顯示「將媒體儲存到 Eagle」按鈕(如果可用)。",
@@ -221,7 +220,7 @@
"invitation.confirmModal.continue": "繼續",
"invitation.confirmModal.message": "產生邀請碼將會花費您 {{INVITATION_PRICE}} Power。",
"invitation.confirmModal.title": "確認",
- "invitation.earlyAccess": "Follow 目前處於早期開發狀態,需要邀請碼才能使用。",
+ "invitation.earlyAccess": "Folo 目前處於早期開發狀態,需要邀請碼才能使用。",
"invitation.earlyAccessMessage": "😰 抱歉,關注目前處於搶先體驗階段,需要邀請碼才能使用。",
"invitation.generateButton": "產生邀請碼",
"invitation.generateCost": "您可以花費 {{INVITATION_PRICE}} Power 為您的朋友產生邀請碼。",
@@ -311,9 +310,9 @@
"rsshub.addModal.access_key_label": "存取金鑰(選填)",
"rsshub.addModal.add": "新增",
"rsshub.addModal.base_url_label": "基礎 URL",
- "rsshub.addModal.description": "要在 Follow 中使用自己的 RSSHub 實例伺服器,必須將以下環境變數新增到伺服器中。",
+ "rsshub.addModal.description": "要在 Folo 中使用自己的 RSSHub 實例伺服器,必須將以下環境變數新增到伺服器中。",
"rsshub.add_new_instance": "新增 RSSHub 實例伺服器",
- "rsshub.description": "RSSHub 是由社群驅動的開源 RSS 網路。Follow 提供了內建的專用實例伺服器來支持數以千計的訂閱內容,你也可以通過使用自己的或第三方的實例伺服器來實現更穩定的內容獲取。",
+ "rsshub.description": "RSSHub 是由社群驅動的開源 RSS 網路。Folo 提供了內建的專用實例伺服器來支持數以千計的訂閱內容,你也可以通過使用自己的或第三方的實例伺服器來實現更穩定的內容獲取。",
"rsshub.public_instances": "實例伺服器",
"rsshub.table.description": "描述",
"rsshub.table.edit": "編輯",
@@ -357,9 +356,9 @@
"wallet.claim.tooltip.canClaim": "立即領取您的 {{amount}} 每日 Power!",
"wallet.create.button": "建立錢包",
"wallet.create.description": "建立一個免費錢包以接收 Power,可用於獎勵創作者,也可以因您的內容貢獻而獲得獎勵。",
- "wallet.power.dailyClaim": "您每天可以領取 {{amount}} 個免費 Power,可用於在 Follow 上贊助 RSS 項目。",
- "wallet.power.description2": "Power 是 {{blockchainName}} 區塊鏈上的 ERC-20 代幣,可用於 Follow 購買或贊助",
- "wallet.power.rewardDescription": "所有 Follow 的活躍使用者都可以獲得每日 Power 獎勵",
+ "wallet.power.dailyClaim": "您每天可以領取 {{amount}} 個免費 Power,可用於在 Folo 上贊助 RSS 項目。",
+ "wallet.power.description2": "Power 是 {{blockchainName}} 區塊鏈上的 ERC-20 代幣,可用於 Folo 購買或贊助",
+ "wallet.power.rewardDescription": "所有 Folo 的活躍使用者都可以獲得每日 Power 獎勵",
"wallet.power.rewardDescription2": "根據你的等級和過去活動,您將獲得一份 獎勵。更多詳情",
"wallet.ranking.level": "等級",
"wallet.ranking.name": "使用者",
@@ -368,7 +367,7 @@
"wallet.ranking.title": "Power 排名",
"wallet.rewardDescription.description1": "每日獎勵基於「使用者等級」和「活躍度」兩部分計算",
"wallet.rewardDescription.description2": "使用者等級: 由 Power 排行榜的排名決定",
- "wallet.rewardDescription.description3": "使用者活躍度: 使用 Follow 功能可以提升活躍度,活躍度獎勵倍數範圍是 1x ~ 5x",
+ "wallet.rewardDescription.description3": "使用者活躍度: 使用 Folo 功能可以提升活躍度,活躍度獎勵倍數範圍是 1x ~ 5x",
"wallet.rewardDescription.level": "使用者等級",
"wallet.rewardDescription.percentage": "排名比例",
"wallet.rewardDescription.reward": "獎勵倍數",
@@ -377,7 +376,7 @@
"wallet.sidebar_title": "Power",
"wallet.transactions.amount": "額度",
"wallet.transactions.date": "日期",
- "wallet.transactions.description": "部分交易會收取 {{percentage}}% 的平臺手續費用於 Follow 的發展,詳情請查看區塊鏈交易記錄。",
+ "wallet.transactions.description": "部分交易會收取 {{percentage}}% 的平臺手續費用於 Folo 的發展,詳情請查看區塊鏈交易記錄。",
"wallet.transactions.from": "發送者",
"wallet.transactions.more": "通過區塊鏈瀏覽器查看更多交易…",
"wallet.transactions.noTransactions": "無交易紀錄",
diff --git a/apps/desktop/locales/shortcuts/zh-HK.json b/apps/desktop/locales/shortcuts/zh-HK.json
index 7d87ceb896..4f29ea3ac0 100644
--- a/apps/desktop/locales/shortcuts/zh-HK.json
+++ b/apps/desktop/locales/shortcuts/zh-HK.json
@@ -1,5 +1,5 @@
{
- "keys.audio.playPause": "播放/暫停(當音頻播放器開啟時)",
+ "keys.audio.playPause": "播放/暫停(當音訊播放器開啟時)",
"keys.entries.markAllAsRead": "標記所有為已讀",
"keys.entries.next": "下一條目",
"keys.entries.previous": "上一條目",
@@ -23,11 +23,11 @@
"keys.layout.toggleSidebar": "顯示/隱藏訂閱側邊欄",
"keys.layout.toggleWideMode": "切換寬屏模式",
"keys.layout.zenMode": "Zen 模式",
- "keys.misc.quickSearch": "快速搜索",
- "keys.type.audio": "音頻",
+ "keys.misc.quickSearch": "快速搜尋",
+ "keys.type.audio": "音訊",
"keys.type.entries": "條目列表",
"keys.type.entry": "條目",
- "keys.type.feeds": "訂閲源",
+ "keys.type.feeds": "訂閱源",
"keys.type.layout": "佈局",
"keys.type.misc": "其他",
"sidebar_title": "快捷鍵"
diff --git a/apps/desktop/package.json b/apps/desktop/package.json
index 50efc09a02..b530dafc19 100644
--- a/apps/desktop/package.json
+++ b/apps/desktop/package.json
@@ -1,10 +1,10 @@
{
- "name": "Follow",
+ "name": "Folo",
"type": "module",
- "version": "0.3.12",
+ "version": "0.3.13",
"private": true,
"description": "Follow everything in one place",
- "author": "Follow Team",
+ "author": "Folo Team",
"homepage": "https://github.com/RSSNext",
"repository": {
"url": "https://github.com/RSSNext/follow",
@@ -38,6 +38,7 @@
"devDependencies": {
"@clack/prompts": "0.10.0",
"@electron-forge/cli": "7.7.0",
+ "@electron-forge/maker-appx": "7.7.0",
"@electron-forge/maker-dmg": "7.7.0",
"@electron-forge/maker-pkg": "7.7.0",
"@electron-forge/maker-squirrel": "7.7.0",
@@ -63,7 +64,7 @@
"cssnano": "7.0.6",
"dotenv": "16.4.7",
"drizzle-orm": "0.40.0",
- "electron": "35.0.1",
+ "electron": "34.2.0",
"electron-devtools-installer": "4.0.0",
"electron-packager-languages": "0.6.0",
"electron-vite": "3.0.0",
@@ -80,8 +81,8 @@
"unplugin-ast": "0.14.3",
"utf-8-validate": "6.0.5"
},
- "productName": "Follow",
- "mainHash": "03d744e78f7b1eedc24f83c05939b1faaa07b3b5ff15cfc6242594c74c726637",
+ "productName": "Folo",
+ "mainHash": "569e7dd06fa94fcc22fc451346fbf1c9e8203d364cb84d49a7a08bf7dff39630",
"bump": {
"before": [
"git pull --rebase",
diff --git a/apps/desktop/src/main/package.json b/apps/desktop/src/main/package.json
index 12fb3fba54..26cd925d68 100644
--- a/apps/desktop/src/main/package.json
+++ b/apps/desktop/src/main/package.json
@@ -2,7 +2,7 @@
"name": "@follow/electron-main",
"type": "module",
"private": true,
- "author": "Follow Team",
+ "author": "Folo Team",
"license": "GPL-3.0-only",
"homepage": "https://github.com/RSSNext",
"repository": {
@@ -40,7 +40,7 @@
"es-toolkit": "1.33.0",
"fast-folder-size": "2.4.0",
"font-list": "1.5.1",
- "i18next": "24.2.2",
+ "i18next": "24.2.3",
"js-yaml": "4.1.0",
"linkedom": "0.18.9",
"lowdb": "7.0.1",
@@ -56,7 +56,7 @@
"@follow/types": "workspace:*",
"@types/js-yaml": "4.0.9",
"@types/node": "22.13.10",
- "electron": "35.0.1",
+ "electron": "34.2.0",
"electron-devtools-installer": "4.0.0",
"hono": "4.7.4"
}
diff --git a/apps/desktop/src/main/preload/index.ts b/apps/desktop/src/main/preload/index.ts
index cc0f2290b9..d5590bdc46 100644
--- a/apps/desktop/src/main/preload/index.ts
+++ b/apps/desktop/src/main/preload/index.ts
@@ -2,7 +2,7 @@ import os from "node:os"
import { platform } from "node:process"
import { electronAPI } from "@electron-toolkit/preload"
-import { contextBridge } from "electron"
+import { clipboard, contextBridge } from "electron"
export const isMacOS = platform === "darwin"
@@ -49,4 +49,10 @@ if (process.contextIsolated) {
window.api = api
// @ts-ignore (define in dts)
window.platform = process.platform
+
+ Object.defineProperty(window.navigator, "clipboard", {
+ get: () => {
+ return clipboard
+ },
+ })
}
diff --git a/apps/desktop/src/main/src/index.ts b/apps/desktop/src/main/src/index.ts
index 4e4082ce13..f1e15a1455 100644
--- a/apps/desktop/src/main/src/index.ts
+++ b/apps/desktop/src/main/src/index.ts
@@ -150,7 +150,7 @@ function bootstrap() {
if (responseHeaders?.["set-cookie"]) {
const cookies = responseHeaders["set-cookie"] as string[]
cookies.forEach((cookie) => {
- const cookieObj = parse(cookie)
+ const cookieObj = parse(cookie, { decode: (value) => value })
Object.keys(cookieObj).forEach((name) => {
const value = cookieObj[name]
mainWindow.webContents.session.cookies.set({
@@ -232,7 +232,7 @@ function bootstrap() {
if (ck && apiURL) {
setBetterAuthSessionCookie(ck)
- const cookie = parse(atob(ck))
+ const cookie = parse(atob(ck), { decode: (value) => value })
Object.keys(cookie).forEach((name) => {
const value = cookie[name]
mainWindow.webContents.session.cookies.set({
diff --git a/apps/desktop/src/main/src/lib/api-client.ts b/apps/desktop/src/main/src/lib/api-client.ts
index 8f3d979826..27e773c9f0 100644
--- a/apps/desktop/src/main/src/lib/api-client.ts
+++ b/apps/desktop/src/main/src/lib/api-client.ts
@@ -38,7 +38,7 @@ export const apiClient = hc("", {
"X-App-Version": PKG.version,
"X-App-Dev": process.env.NODE_ENV === "development" ? "1" : "0",
Cookie: betterAuthSessionCookie ? atob(betterAuthSessionCookie) : "",
- "User-Agent": `Follow/${PKG.version}${user?.id ? ` uid: ${user.id}` : ""}`,
+ "User-Agent": `Folo/${PKG.version}${user?.id ? ` uid: ${user.id}` : ""}`,
}
},
})
diff --git a/apps/desktop/src/renderer/index.html b/apps/desktop/src/renderer/index.html
index 2b9372b02c..b92cf8851f 100644
--- a/apps/desktop/src/renderer/index.html
+++ b/apps/desktop/src/renderer/index.html
@@ -11,22 +11,22 @@
-
-
+
+
- Follow
+ Folo
-
+
-
+
diff --git a/apps/desktop/src/renderer/package.json b/apps/desktop/src/renderer/package.json
index 4e39fc018c..99c6b396e6 100644
--- a/apps/desktop/src/renderer/package.json
+++ b/apps/desktop/src/renderer/package.json
@@ -34,18 +34,18 @@
"@radix-ui/react-slot": "1.1.2",
"@sentry/react": "9.5.0",
"@shikijs/transformers": "3.2.1",
- "@tanstack/query-sync-storage-persister": "5.67.3",
- "@tanstack/react-query": "5.67.3",
- "@tanstack/react-query-devtools": "5.67.3",
- "@tanstack/react-query-persist-client": "5.67.3",
- "@tanstack/react-virtual": "3.13.3",
+ "@tanstack/query-sync-storage-persister": "5.68.0",
+ "@tanstack/react-query": "5.68.0",
+ "@tanstack/react-query-devtools": "5.68.0",
+ "@tanstack/react-query-persist-client": "5.68.0",
+ "@tanstack/react-virtual": "3.13.4",
"@use-gesture/react": "10.3.1",
"@welldone-software/why-did-you-render": "10.0.1",
"@yornaath/batshit": "0.10.1",
"camelcase-keys": "9.1.3",
"click-to-react-component": "1.1.2",
"clsx": "2.1.1",
- "cmdk": "1.0.4",
+ "cmdk": "1.1.1",
"dayjs": "1.11.13",
"dexie": "4.0.11",
"dexie-export-import": "4.1.4",
@@ -60,7 +60,7 @@
"fuse.js": "7.1.0",
"hast-util-to-jsx-runtime": "2.3.6",
"hast-util-to-mdast": "10.1.2",
- "i18next": "24.2.2",
+ "i18next": "24.2.3",
"i18next-browser-languagedetector": "8.0.4",
"idb-keyval": "6.2.1",
"immer": "10.1.1",
@@ -90,6 +90,7 @@
"sonner": "2.0.1",
"tldts": "6.1.84",
"use-context-selector": "2.0.0",
+ "use-sync-external-store": "1.4.0",
"usehooks-ts": "3.1.1",
"zod": "3.24.2",
"zustand": "5.0.3"
diff --git a/apps/desktop/src/renderer/src/atoms/player.ts b/apps/desktop/src/renderer/src/atoms/player.ts
index d8adc89e09..267595778c 100644
--- a/apps/desktop/src/renderer/src/atoms/player.ts
+++ b/apps/desktop/src/renderer/src/atoms/player.ts
@@ -99,8 +99,11 @@ export const AudioPlayer = {
currentTime: this.audio.currentTime,
})
}, 1000)
- if (Number.isNaN(this.audio.duration) || this.audio.duration === Infinity) {
- this.audio.currentTime = 0
+
+ this.audio.onloadedmetadata = () => {
+ if (Number.isNaN(this.audio.duration) || this.audio.duration === Infinity) {
+ this.audio.currentTime = 0
+ }
}
const currentActionId = this.__currentActionId
diff --git a/apps/desktop/src/renderer/src/atoms/settings/general.ts b/apps/desktop/src/renderer/src/atoms/settings/general.ts
index ca78f02585..f4a28a9e8c 100644
--- a/apps/desktop/src/renderer/src/atoms/settings/general.ts
+++ b/apps/desktop/src/renderer/src/atoms/settings/general.ts
@@ -1,13 +1,16 @@
import { createSettingAtom } from "@follow/atoms/helper/setting.js"
+import type { SupportedLanguages } from "@follow/models"
import type { GeneralSettings } from "@follow/shared/interface/settings"
import { jotaiStore } from "~/lib/jotai"
+export const DEFAULT_ACTION_LANGUAGE = "default"
+
const createDefaultSettings = (): GeneralSettings => ({
// App
appLaunchOnStartup: false,
language: "en",
- translationLanguage: "zh-CN",
+ actionLanguage: DEFAULT_ACTION_LANGUAGE,
// mobile app
startupScreen: "timeline",
@@ -47,6 +50,14 @@ export const {
settingAtom: __generalSettingAtom,
} = createSettingAtom("general", createDefaultSettings)
+export function useActionLanguage() {
+ const actionLanguage = useGeneralSettingSelector((s) => s.actionLanguage)
+ const language = useGeneralSettingSelector((s) => s.language)
+ return (
+ actionLanguage === DEFAULT_ACTION_LANGUAGE ? language : actionLanguage
+ ) as SupportedLanguages
+}
+
export const subscribeShouldUseIndexedDB = (callback: (value: boolean) => void) =>
jotaiStore.sub(__generalSettingAtom, () => callback(getGeneralSettings().dataPersist))
diff --git a/apps/desktop/src/renderer/src/components/ui/collapse/Collapse.tsx b/apps/desktop/src/renderer/src/components/ui/collapse/Collapse.tsx
index 222b0d7e2d..d205a6f3ce 100644
--- a/apps/desktop/src/renderer/src/components/ui/collapse/Collapse.tsx
+++ b/apps/desktop/src/renderer/src/components/ui/collapse/Collapse.tsx
@@ -90,21 +90,19 @@ export const CollapseContent: Component<{
return v
}, [])
return (
- <>
-
- {isOpened && (
-
- {children}
-
- )}
-
- >
+
+ {isOpened && (
+
+ {children}
+
+ )}
+
)
}
diff --git a/apps/desktop/src/renderer/src/components/ui/media/preview-media.tsx b/apps/desktop/src/renderer/src/components/ui/media/preview-media.tsx
index abe1ca19fd..840ae9f7a7 100644
--- a/apps/desktop/src/renderer/src/components/ui/media/preview-media.tsx
+++ b/apps/desktop/src/renderer/src/components/ui/media/preview-media.tsx
@@ -36,7 +36,7 @@ const Wrapper: Component<{
const [showActionOverlay, setShowActionOverlay] = useState(false)
useEffect(() => {
- if (!containerRef.current) {
+ if (!containerRef.current || !showActions) {
return
}
const $container = containerRef.current
@@ -57,7 +57,7 @@ const Wrapper: Component<{
$container.removeEventListener("mousemove", handleMouseMove)
$container.removeEventListener("mouseleave", outOfContainer)
}
- }, [sideContent])
+ }, [sideContent, showActions])
return (