* chore: Update Japanese translations for new features and errors
Added and updated multiple Japanese locale strings across AI, app, errors, external, settings, and shortcuts modules. Changes include new labels, descriptions, error messages, and UI text for features such as scheduling, token usage, inbox management, toolbar customization, and quick search.
* Add Japanese README documentation
Introduces README-ja.md with comprehensive information about Folo, including features, installation instructions, community links, contribution guidelines, code signing policies, and license details for Japanese-speaking users.
* Update formatting in Japanese README
Corrected the admonition marker from '[!重要]' to '[!IMPORTANT]' for consistency and made minor formatting adjustments in the README-ja.md file.
* Update community section in Japanese README
Revised wording and formatting in the community participation section of README-ja.md for improved clarity and consistency.
* Remove Japanese README file
Deleted README-ja.md to reduce duplication or outdated documentation. All relevant information should now be referenced from the main README or other documentation files.
* feat: add French (fr-FR) localization
* fix: sort imports in default-resource.ts to resolve lint error
* feat: add missing French translations for mobile/default, native, and external locales
* feat: add French language filter to discovery/recommended feeds
* docs: update changelog for French localization
* feat(i18n): merge PR #4597/#4774 and finish localization audit
---------
Co-authored-by: dai <dosada@gmail.com>
Co-authored-by: Anthony Mahé <snpepito@gmail.com>
Co-authored-by: Anthony Mahé <104373430+AnthonyMahe@users.noreply.github.com>
- Added a custom hook `useUnSavedBlocker` to prompt users about unsaved changes when navigating away from the action settings.
- Updated the `SettingModalLayout` component to use a new shadow class for better visual consistency.
- Enhanced localization by adding a new translation key for unsaved changes in the English locale.
- Refactored shadow styles in Tailwind CSS to utilize CSS variables for improved maintainability.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(feed): a masonry view for all feed (wip)
* fix: adjust color and icons
* feat: all masonry
* feat: item details
* fix: styles
* fix: styles
* fix: default tab to be -1
* fix: selectable view
* fix: safe area
* fix: remove safe area
* fix: styles
* fix: styles
* fix: navigation
* fix: aspect-ratio
* fix: hooks
* fix: styles
* chore: comment
* fix: splash issue
* fix: style
* fix: style
* fix: style
* fix: style
* fix: close entry
* fix: styles
* fix: folder in all
* fix: styles
* fix: styles
* fix: styles
* refactor(desktop): enhance entry data handling in AllItem component
- Updated the AllItem component to destructure additional properties (content, description) from the entry state for improved data accessibility.
- Modified the rendering logic to display title, content, or description in the UI, enhancing user experience by providing more context.
This refactor aims to streamline data management and improve the presentation of entry information.
* refactor(desktop): improve entry display order in AllItem component
- Adjusted the rendering logic in the AllItem component to prioritize displaying the entry title before the description and content. This change enhances the clarity and relevance of the information presented to users.
This update aims to further refine the user experience by ensuring the most important entry information is highlighted first.
* feat: enhance AllItem component with keyword highlighting
- Added support for highlighting keywords in the title using a new `title_keyword` property in the ExtraModel.
- Introduced random card and highlight styles for visual differentiation.
- Updated the rendering logic to display highlighted keywords within the title.
This improves the user experience by making important keywords more prominent in the item display.
* refactor(AllItem): update media rendering logic to include Audios
- Modified the rendering conditions in the AllItem component to include Audios in the media display alongside Articles, Notifications, and Social Media.
- Removed the previously defined separate rendering block for Audios to streamline the component structure.
This update enhances the media display functionality by integrating Audios into the existing media rendering logic.
* fix: height calc
* feat(AllMasonry): add refetch and scroll handling functionality
- Introduced a `refetch` prop to the `AllMasonry` component for improved data fetching capabilities.
- Implemented a `handleScrollTo` function to facilitate scrolling to specific items within the masonry layout.
- Updated the component structure to accommodate these new features, enhancing user interaction and experience.
This update enhances the functionality of the AllMasonry component by allowing for better data management and item navigation.
* feat(AllItem): enhance title rendering and entry read tracking
- Updated the title rendering logic to improve keyword highlighting with case-insensitive matching.
- Integrated the `unreadSyncService` to mark entries as read when hovered, enhancing user interaction.
- Refactored highlight styles to support new underline and background options for better visual distinction.
This update improves the user experience by providing clearer title visibility and tracking read status effectively.
* refactor(AllItem): streamline hover behavior and enhance title keyword matching
- Refactored hover handling to utilize a timer for showing previews, improving performance and user experience.
- Updated title keyword matching logic to ensure proper escaping of special characters, enhancing accuracy in highlighting.
- Cleaned up unused underline-wavy styles for better code maintainability.
This update optimizes the interaction flow and improves the visual representation of keywords in titles.
* feat(timeline): filter views based on AI feature flag
- Introduced a check for the AI feature to conditionally filter out the 'All' view from the timeline list.
- Updated the logic to create view IDs based on the filtered views, enhancing the timeline's adaptability to feature availability.
This update improves the timeline's functionality by ensuring that the view options align with the current feature set.
* refactor(AllItem): simplify highlight styles and improve text decoration handling
- Removed unnecessary text-decoration-skip-ink styles from highlight class names for cleaner code.
- Added inline style to ensure consistent text decoration behavior in highlighted keywords.
This update enhances code maintainability and ensures proper rendering of highlighted text.
* fix(EntryColumnGrid): add refetch prop and update comments in AllItem
- Added the `refetch` prop to the `EntryColumnGrid` component for improved data handling.
- Updated comment in `AllItem` from "Social Media" to "Common views" for better clarity.
- Enhanced the no content display in `AllItem` for improved user experience.
This update improves functionality and clarity in the entry column components.
* refactor(AllItem): clean up media handling and improve preview logic
- Removed unused `firstMedia` variable and adjusted media cover logic for clarity.
- Updated aspect ratio handling to ensure default values are set correctly.
- Enhanced the no media available display for better user experience.
- Refactored preview display logic to improve readability and maintainability.
This update streamlines the media handling in the AllItem component and enhances the user interface.
* fix: index key
* refactor(AllItem): optimize title keyword highlighting logic
- Simplified the keyword highlighting logic in the AllItem component by extracting the regex pattern into a separate variable.
- Improved readability and maintainability of the code by reducing redundancy in the title rendering function.
This update enhances the performance and clarity of the title rendering process.
* fix: button width
* fix: first screen navigation
* fix: video hovering autoplay
* feat(timeline-tabs): implement customizable timeline tabs settings
- Added a new `TimelineTabsSettingsModal` component for managing visible and hidden timeline tabs.
- Introduced drag-and-drop functionality for reordering tabs and customizing their visibility.
- Updated `SubscriptionTabButton` to accept a shortcut prop for improved keyboard navigation.
- Enhanced global shortcuts handling to allow bypassing input restrictions for specific actions.
These changes provide users with greater flexibility in managing their timeline tabs, improving the overall user experience.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: clean up error handling in AllMasonry component and update UnreadSyncService to use new API method
- Removed console log from error handling in the AllMasonry component to streamline the code.
- Updated the UnreadSyncService to utilize the new `markAllAsRead` API method, improving the readability and structure of the request handling.
These changes enhance code clarity and maintainability across the affected components.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: optimize rendering performance in AllMasonry component
- Introduced `startTransition` for setting width in the ResizeObserver to improve rendering performance during layout updates.
- Updated the `LoadingSkeleton` component's class names for better styling consistency.
- Simplified key generation in the `SkeletonGrid` component by using `null` instead of `crypto.randomUUID()`.
These changes enhance the efficiency and maintainability of the AllMasonry component and its related elements.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: simplify icon rendering in TimelineTabsSettingsModal
- Removed conditional rendering for the icon in the TabItem component, directly displaying the icon for improved clarity and performance.
- This change streamlines the code and enhances the maintainability of the TimelineTabsSettingsModal component.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
* chore: update ja.json
* chore: update 6 ja.json files
chore: update and bump 6 ja.json files.
* chore: update error/ja.json
fix locale/error/ja.json
* chore: auto-fix linting and formatting issues
* chore: update app/ja.json
* chore: update ja.json
* chore: update ja.json
* chore: update ja.json and tested local.
* chore: update ja.json
update settings/ja.json
* feat(i18n): update Japanese locale files with new error messages and dialog options
* chore(vscode): set default formatter for JSON and JSONC files
* Remove JSON and JSONC formatter settings
so sorry, @hyoban 😢
Perhaps my local settings are in. I have restored it to the original. Thanks for your kindness.
You have always been a great help.
* chore: auto-fix linting and formatting issues
* chore: update ja.json
sync and update settings/ja.json
* chore: update Japanese translations for clarity and consistency
* chore: update some ja.json
* chore(locales): update Japanese translations with new entry actions and settings
* fix: update Japanese translations for user actions and login prompts
* feat(locales): add Japanese translations for login and registration features
* feat(locales): update Japanese translations for RSSHub and related settings
* chore: auto-fix linting and formatting issues
* feat(i18n): update Japanese locale with new toolbar customization and profile link social fields
* feat(locales): update Japanese translations for search results and two-factor authentication
* feat: 日本語ローカライズの更新
---------
Co-authored-by: dai <dai@users.noreply.github.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Innei <Innei@users.noreply.github.com>
* fix(dayjs): fix relative time not follow when language change
* fix: update world in grid item template
* fix: change dayjs locale to settings change
* fix: apply suggest review suggestion
- Added camelcase-keys version 9.1.3 to package.json and pnpm-lock.yaml.
- Introduced language options for the discover module, enhancing the user experience.
- Updated the discover screen to include a new "Good Luck" section.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(mobile): extract language selection
* feat(mobile): enhance onboarding with language selection preferences
* feat(mobile): enhance onboarding with internationalization support
* feat(mobile): add internationalization support for onboarding preferences
* feat(mobile): localize reading preferences in onboarding screen
* feat(mobile): add internationalization support to onboarding completion and interests steps
* feat(mobile): add Japanese, Traditional Chinese, and Hong Kong Chinese localization for onboarding steps
* chore(mobile): better internationalization support
* feat(mobile): translation for settings
* general
* appearance
* data control
* account
* invitation
* about
* privacy
* list
* actions
* update action
* update list and common words
* settings
* feat: update localization for korean
* chore: auto-fix linting and formatting issues
---------
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
* chore: update ja.json
* chore: update 6 ja.json files
chore: update and bump 6 ja.json files.
* chore: update error/ja.json
fix locale/error/ja.json
* chore: auto-fix linting and formatting issues
* chore: update app/ja.json
* chore: update ja.json
* chore: update ja.json
* chore: update ja.json and tested local.
* chore: update ja.json
update settings/ja.json
* feat(i18n): update Japanese locale files with new error messages and dialog options
* chore(vscode): set default formatter for JSON and JSONC files
* Remove JSON and JSONC formatter settings
so sorry, @hyoban 😢
Perhaps my local settings are in. I have restored it to the original. Thanks for your kindness.
You have always been a great help.
* chore: auto-fix linting and formatting issues
* chore: update ja.json
sync and update settings/ja.json
* chore: update Japanese translations for clarity and consistency
* chore: update some ja.json
* chore(locales): update Japanese translations with new entry actions and settings
* fix: update Japanese translations for user actions and login prompts
* feat(locales): add Japanese translations for login and registration features
* feat(locales): update Japanese translations for RSSHub and related settings
* chore: auto-fix linting and formatting issues
---------
Co-authored-by: dai <dai@users.noreply.github.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Innei <Innei@users.noreply.github.com>
* feat(i18n): Added multiple text translations (zh-TW)
* feat(i18n):
1. Added multiple text translations (zh-TW)
2. Revised some text translations(zh-TW)
* chore: update ja.json
Merged from app/en.json to app/ja.json and translated non-translate string.
* chore: update ja.json
Merged from app/en.json to app/ja.json and translated non-translate string.
* chore: Update ja.json
Updated app/ja.json, Translated has been done.
* chore: Update common/ja.json
Updated to common/ja.json done.
* chore: Update error/ja.json
Translate error/ja.json has done
* chore: auto-fix linting and formatting issues
* chore: merge and translated to 3files.
Update to 3 ja.json files are completed.
* chore: auto-fix linting and formatting issues
* chore: sync latest and localize them
sync latest en json (common, settings) and translated to ja them.
* chore: update settings/ja.json
---------
Co-authored-by: dai <dai@users.noreply.github.com>