From 5ee7726c34e29afdbfe0c229b8ce931f83a14417 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal Date: Fri, 23 May 2025 17:27:27 +0530 Subject: [PATCH 1/5] chore: add ARIA attributes --- .../i18n/src/locales/en/translations.json | 24 ++++++ packages/ui/src/avatar/avatar.tsx | 2 +- packages/ui/src/dropdowns/custom-menu.tsx | 6 +- packages/ui/src/dropdowns/helper.tsx | 1 + .../(projects)/extended-sidebar.tsx | 6 +- web/ce/components/workspace/edition-badge.tsx | 10 ++- .../workspace/sidebar/app-search.tsx | 6 ++ .../sidebar/extended-sidebar-item.tsx | 2 +- .../workspace/sidebar/sidebar-item.tsx | 2 +- web/ce/constants/sidebar-favorites.ts | 4 +- web/core/components/workspace/logo.tsx | 46 +++++----- .../components/workspace/sidebar/dropdown.tsx | 21 ++--- .../sidebar/favorites/favorite-folder.tsx | 18 ++-- .../common/favorite-item-quick-action.tsx | 9 +- .../sidebar/favorites/favorites-menu.tsx | 83 ++++++++++++------- .../sidebar/favorites/new-fav-folder.tsx | 9 +- .../workspace/sidebar/help-section.tsx | 3 +- .../workspace/sidebar/projects-list-item.tsx | 9 +- .../workspace/sidebar/projects-list.tsx | 11 ++- .../workspace/sidebar/quick-actions.tsx | 4 +- .../workspace/sidebar/sidebar-menu-items.tsx | 60 +++++++------- web/core/store/theme.store.ts | 15 ++-- 22 files changed, 229 insertions(+), 122 deletions(-) diff --git a/packages/i18n/src/locales/en/translations.json b/packages/i18n/src/locales/en/translations.json index c959108e0a1..0e5b16fe24c 100644 --- a/packages/i18n/src/locales/en/translations.json +++ b/packages/i18n/src/locales/en/translations.json @@ -2295,5 +2295,29 @@ "last_edited_by": "Last edited by", "previously_edited_by": "Previously edited by", "edited_by": "Edited by" + }, + + "aria_labels": { + "workspace_logo": "Workspace logo", + "open_workspace_switcher": "Open workspace switcher", + "open_user_menu": "Open user menu", + "open_command_palette": "Open command palette", + "open_extended_sidebar": "Open extended sidebar", + "close_extended_sidebar": "Close extended sidebar", + "create_favorites_folder": "Create favorites folder", + "open_folder": "Open folder", + "close_folder": "Close folder", + "open_favorites_menu": "Open favorites menu", + "close_favorites_menu": "Close favorites menu", + "enter_folder_name": "Enter folder name", + "create_new_project": "Create new project", + "open_projects_menu": "Open projects menu", + "close_projects_menu": "Close projects menu", + "toggle_quick_actions_menu": "Toggle quick actions menu", + "open_project_menu": "Open project menu", + "close_project_menu": "Close project menu", + "collapse_sidebar": "Collapse sidebar", + "expand_sidebar": "Expand sidebar", + "edition_badge": "Open paid plans' modal" } } diff --git a/packages/ui/src/avatar/avatar.tsx b/packages/ui/src/avatar/avatar.tsx index 0c57ccebabb..84a8ab89558 100644 --- a/packages/ui/src/avatar/avatar.tsx +++ b/packages/ui/src/avatar/avatar.tsx @@ -160,7 +160,7 @@ export const Avatar: React.FC = (props) => { color: fallbackTextColor ?? "#ffffff", }} > - {name ? name[0].toUpperCase() : fallbackText ?? "?"} + {name?.[0]?.toUpperCase() ?? fallbackText ?? "?"} )} diff --git a/packages/ui/src/dropdowns/custom-menu.tsx b/packages/ui/src/dropdowns/custom-menu.tsx index 24c8a106a08..688f1489749 100644 --- a/packages/ui/src/dropdowns/custom-menu.tsx +++ b/packages/ui/src/dropdowns/custom-menu.tsx @@ -14,6 +14,7 @@ import { ICustomMenuDropdownProps, ICustomMenuItemProps } from "./helper"; const CustomMenu = (props: ICustomMenuDropdownProps) => { const { + ariaLabel, buttonClassName = "", customButtonClassName = "", customButtonTabIndex = 0, @@ -75,7 +76,7 @@ const CustomMenu = (props: ICustomMenuDropdownProps) => { e.stopPropagation(); e.preventDefault(); isOpen ? closeDropdown() : openDropdown(); - if (menuButtonOnClick) menuButtonOnClick(); + menuButtonOnClick?.(); }; const handleMouseEnter = () => { @@ -147,6 +148,7 @@ const CustomMenu = (props: ICustomMenuDropdownProps) => { className={customButtonClassName} tabIndex={customButtonTabIndex} disabled={disabled} + aria-label={ariaLabel} > {customButton} @@ -164,6 +166,7 @@ const CustomMenu = (props: ICustomMenuDropdownProps) => { disabled ? "cursor-not-allowed" : "cursor-pointer hover:bg-custom-background-80" } ${buttonClassName}`} tabIndex={customButtonTabIndex} + aria-label={ariaLabel} > @@ -183,6 +186,7 @@ const CustomMenu = (props: ICustomMenuDropdownProps) => { onClick={handleMenuButtonClick} tabIndex={customButtonTabIndex} disabled={disabled} + aria-label={ariaLabel} > {label} {!noChevron && } diff --git a/packages/ui/src/dropdowns/helper.tsx b/packages/ui/src/dropdowns/helper.tsx index 0e758705110..1d40acef795 100644 --- a/packages/ui/src/dropdowns/helper.tsx +++ b/packages/ui/src/dropdowns/helper.tsx @@ -32,6 +32,7 @@ export interface ICustomMenuDropdownProps extends IDropdownProps { closeOnSelect?: boolean; portalElement?: Element | null; openOnHover?: boolean; + ariaLabel?: string; } export interface ICustomSelectProps extends IDropdownProps { diff --git a/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx b/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx index e0003eeba5a..baa41eb9fb9 100644 --- a/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx +++ b/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx @@ -96,7 +96,7 @@ export const ExtendedAppSidebar = observer(() => { useExtendedSidebarOutsideClickDetector( extendedSidebarRef, - () => toggleExtendedSidebar(false), + () => toggleExtendedSidebar(true), "extended-sidebar-toggle" ); @@ -106,8 +106,8 @@ export const ExtendedAppSidebar = observer(() => { className={cn( "absolute top-0 h-full z-[19] flex flex-col gap-0.5 w-[300px] transform transition-all duration-300 ease-in-out bg-custom-sidebar-background-100 border-r border-custom-sidebar-border-200 p-4 shadow-md pb-6", { - "translate-x-0 opacity-100 pointer-events-auto": extendedSidebarCollapsed, - "-translate-x-full opacity-0 pointer-events-none": !extendedSidebarCollapsed, + "-translate-x-full opacity-0 pointer-events-none": extendedSidebarCollapsed, + "translate-x-0 opacity-100 pointer-events-auto": !extendedSidebarCollapsed, "left-[70px]": sidebarCollapsed, "left-[250px]": !sidebarCollapsed, } diff --git a/web/ce/components/workspace/edition-badge.tsx b/web/ce/components/workspace/edition-badge.tsx index b32ce9e61ad..a2be72bfbaf 100644 --- a/web/ce/components/workspace/edition-badge.tsx +++ b/web/ce/components/workspace/edition-badge.tsx @@ -1,7 +1,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; import packageJson from "package.json"; -// ui +// plane imports +import { useTranslation } from "@plane/i18n"; import { Button, Tooltip } from "@plane/ui"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; @@ -9,9 +10,12 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; import { PaidPlanUpgradeModal } from "../license"; export const WorkspaceEditionBadge = observer(() => { - const { isMobile } = usePlatformOS(); // states const [isPaidPlanPurchaseModalOpen, setIsPaidPlanPurchaseModalOpen] = useState(false); + // translation + const { t } = useTranslation(); + // platform + const { isMobile } = usePlatformOS(); return ( <> @@ -25,6 +29,8 @@ export const WorkspaceEditionBadge = observer(() => { variant="accent-primary" className="w-fit min-w-24 cursor-pointer rounded-2xl px-2 py-1 text-center text-sm font-medium outline-none" onClick={() => setIsPaidPlanPurchaseModalOpen(true)} + aria-haspopup="dialog" + aria-label={t("aria_labels.edition_badge")} > Community diff --git a/web/ce/components/workspace/sidebar/app-search.tsx b/web/ce/components/workspace/sidebar/app-search.tsx index 6ab92b99604..992fa8bbb72 100644 --- a/web/ce/components/workspace/sidebar/app-search.tsx +++ b/web/ce/components/workspace/sidebar/app-search.tsx @@ -1,5 +1,7 @@ import { observer } from "mobx-react"; import { Search } from "lucide-react"; +// plane imports +import { useTranslation } from "@plane/i18n"; // helpers import { cn } from "@/helpers/common.helper"; // hooks @@ -9,9 +11,12 @@ export const AppSearch = observer(() => { // store hooks const { sidebarCollapsed } = useAppTheme(); const { toggleCommandPaletteModal } = useCommandPalette(); + // translation + const { t } = useTranslation(); return ( diff --git a/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx b/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx index 5bb2fe885f5..5e7343e0a8a 100644 --- a/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx +++ b/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx @@ -55,7 +55,7 @@ export const ExtendedSidebarItem: FC = observer((prop const sidebarPreference = getNavigationPreferences(workspaceSlug.toString()); const isPinned = sidebarPreference?.[item.key]?.is_pinned; - const handleLinkClick = () => toggleExtendedSidebar(); + const handleLinkClick = () => toggleExtendedSidebar(true); if (!allowPermissions(item.access as any, EUserPermissionsLevel.WORKSPACE, workspaceSlug.toString())) { return null; diff --git a/web/ce/components/workspace/sidebar/sidebar-item.tsx b/web/ce/components/workspace/sidebar/sidebar-item.tsx index 51a5735de35..3645bde3ddd 100644 --- a/web/ce/components/workspace/sidebar/sidebar-item.tsx +++ b/web/ce/components/workspace/sidebar/sidebar-item.tsx @@ -38,7 +38,7 @@ export const SidebarItem: FC = observer((props) => { if (window.innerWidth < 768) { toggleSidebar(); } - if (extendedSidebarCollapsed) toggleExtendedSidebar(); + if (!extendedSidebarCollapsed) toggleExtendedSidebar(); }; const staticItems = ["home", "inbox", "pi-chat", "projects"]; diff --git a/web/ce/constants/sidebar-favorites.ts b/web/ce/constants/sidebar-favorites.ts index 9fa80e05f47..a6f49f8aaf8 100644 --- a/web/ce/constants/sidebar-favorites.ts +++ b/web/ce/constants/sidebar-favorites.ts @@ -1,7 +1,7 @@ -import { Briefcase, ContrastIcon, FileText, Layers, LucideIcon } from "lucide-react"; +import { Briefcase, FileText, Layers, LucideIcon } from "lucide-react"; // plane imports import { IFavorite } from "@plane/types"; -import { DiceIcon, FavoriteFolderIcon, ISvgIcons } from "@plane/ui"; +import { ContrastIcon, DiceIcon, FavoriteFolderIcon, ISvgIcons } from "@plane/ui"; export const FAVORITE_ITEM_ICONS: Record | LucideIcon> = { page: FileText, diff --git a/web/core/components/workspace/logo.tsx b/web/core/components/workspace/logo.tsx index 460e076c5fc..1f971825c24 100644 --- a/web/core/components/workspace/logo.tsx +++ b/web/core/components/workspace/logo.tsx @@ -1,4 +1,5 @@ -// plane utils +// plane imports +import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; // helpers import { getFileURL } from "@/helpers/file.helper"; @@ -9,22 +10,27 @@ type Props = { classNames?: string; }; -export const WorkspaceLogo = (props: Props) => ( -
- {props.logo && props.logo !== "" ? ( - Workspace Logo - ) : ( - (props.name?.charAt(0) ?? "...") - )} -
-); +export const WorkspaceLogo = (props: Props) => { + // translation + const { t } = useTranslation(); + + return ( +
+ {props.logo && props.logo !== "" ? ( + {t("aria_labels.workspace_logo")} + ) : ( + (props.name?.[0] ?? "...") + )} +
+ ); +}; diff --git a/web/core/components/workspace/sidebar/dropdown.tsx b/web/core/components/workspace/sidebar/dropdown.tsx index f9e2aca5989..4312cc291bb 100644 --- a/web/core/components/workspace/sidebar/dropdown.tsx +++ b/web/core/components/workspace/sidebar/dropdown.tsx @@ -25,21 +25,17 @@ import { WorkspaceLogo } from "../logo"; import SidebarDropdownItem from "./dropdown-item"; export const SidebarDropdown = observer(() => { - const { t } = useTranslation(); - // store hooks const { sidebarCollapsed, toggleSidebar } = useAppTheme(); const { data: currentUser } = useUser(); - const { - // updateCurrentUser, - // isUserInstanceAdmin, - signOut, - } = useUser(); + const { signOut } = useUser(); const { updateUserProfile } = useUserProfile(); + const { currentWorkspace: activeWorkspace, workspaces } = useWorkspace(); + // derived values const isWorkspaceCreationEnabled = getIsWorkspaceCreationDisabled() === false; - const isUserInstanceAdmin = false; - const { currentWorkspace: activeWorkspace, workspaces } = useWorkspace(); + // translation + const { t } = useTranslation(); // popper-js refs const [referenceElement, setReferenceElement] = useState(null); const [popperElement, setPopperElement] = useState(null); @@ -87,6 +83,7 @@ export const SidebarDropdown = observer(() => { "group/menu-button flex items-center justify-between gap-1 p-1 truncate rounded text-sm font-medium text-custom-sidebar-text-200 hover:bg-custom-sidebar-background-80 focus:outline-none", { "flex-grow": !sidebarCollapsed } )} + aria-label={t("aria_labels.open_workspace_switcher")} >
@@ -190,7 +187,11 @@ export const SidebarDropdown = observer(() => { )} - + = (props) => { const [isDragging, setIsDragging] = useState(false); const [folderToRename, setFolderToRename] = useState(null); const [instruction, setInstruction] = useState(undefined); - // refs const actionSectionRef = useRef(null); const elementRef = useRef(null); + // translation + const { t } = useTranslation(); useEffect(() => { if (favorite.children === undefined && workspaceSlug) { @@ -231,11 +231,11 @@ export const FavoriteFolder: React.FC = (props) => { setIsMenuActive(!isMenuActive)} > - + } + menuButtonOnClick={() => setIsMenuActive(!isMenuActive)} className={cn( "opacity-0 pointer-events-none flex-shrink-0 group-hover/project-item:opacity-100 group-hover/project-item:pointer-events-auto", { @@ -244,6 +244,7 @@ export const FavoriteFolder: React.FC = (props) => { )} customButtonClassName="grid place-items-center" placement="bottom-start" + ariaLabel={t("aria_labels.toggle_quick_actions_menu")} > handleRemoveFromFavorites(favorite)}> @@ -267,9 +268,10 @@ export const FavoriteFolder: React.FC = (props) => { "inline-block": isMenuActive, } )} + aria-label={t(open ? "aria_labels.close_folder" : "aria_labels.open_folder")} > diff --git a/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx b/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx index eadaedb3458..db2a1ffdeac 100644 --- a/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx @@ -1,8 +1,9 @@ "use client"; import React, { FC } from "react"; import { MoreHorizontal, Star } from "lucide-react"; +// plane imports +import { useTranslation } from "@plane/i18n"; import { IFavorite } from "@plane/types"; -// ui import { CustomMenu } from "@plane/ui"; // helpers import { cn } from "@/helpers/common.helper"; @@ -17,17 +18,20 @@ type Props = { export const FavoriteItemQuickAction: FC = (props) => { const { ref, isMenuActive, onChange, handleRemoveFromFavorites, favorite } = props; + // translation + const { t } = useTranslation(); + return ( onChange(!isMenuActive)} > } + menuButtonOnClick={() => onChange(!isMenuActive)} className={cn( "opacity-0 pointer-events-none flex-shrink-0 group-hover/project-item:opacity-100 group-hover/project-item:pointer-events-auto", { @@ -36,6 +40,7 @@ export const FavoriteItemQuickAction: FC = (props) => { )} customButtonClassName="grid place-items-center" placement="bottom-start" + ariaLabel={t("aria_labels.toggle_quick_actions_menu")} > handleRemoveFromFavorites(favorite)}> diff --git a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index 2beed74f66b..9f2bffc0bea 100644 --- a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -34,13 +34,12 @@ import { getInstructionFromPayload, TargetData } from "./favorites.helpers"; import { NewFavoriteFolder } from "./new-fav-folder"; export const SidebarFavoritesMenu = observer(() => { - //state + // states const [createNewFolder, setCreateNewFolder] = useState(null); - const [isDragging, setIsDragging] = useState(false); - + // navigation + const { workspaceSlug } = useParams(); // store hooks - const { t } = useTranslation(); const { sidebarCollapsed } = useAppTheme(); const { favoriteIds, @@ -50,17 +49,17 @@ export const SidebarFavoritesMenu = observer(() => { reOrderFavorite, moveFavoriteToFolder, } = useFavorite(); - const { workspaceSlug } = useParams(); - + // translation + const { t } = useTranslation(); + // platform hooks const { isMobile } = usePlatformOS(); - // local storage const { setValue: toggleFavoriteMenu, storedValue } = useLocalStorage(IS_FAVORITE_MENU_OPEN, false); // derived values const isFavoriteMenuOpen = !!storedValue; // refs - const containerRef = useRef(null); - const elementRef = useRef(null); + const containerRef = useRef(null); + const elementRef = useRef(null); const handleMoveToFolder = (sourceId: string, destinationId: string) => { moveFavoriteToFolder(workspaceSlug.toString(), sourceId, { @@ -131,6 +130,7 @@ export const SidebarFavoritesMenu = observer(() => { }); }); }; + const handleRemoveFromFavoritesFolder = (favoriteId: string) => { removeFromFavoriteFolder(workspaceSlug.toString(), favoriteId).catch(() => { setToast({ @@ -151,7 +151,7 @@ export const SidebarFavoritesMenu = observer(() => { }); }); }, - [workspaceSlug, reOrderFavorite] + [workspaceSlug, reOrderFavorite, t] ); useEffect(() => { @@ -190,37 +190,64 @@ export const SidebarFavoritesMenu = observer(() => { <> {!sidebarCollapsed && ( - - toggleFavoriteMenu(!isFavoriteMenuOpen)} className="flex-1 text-start"> - {t("favorites")} - - + toggleFavoriteMenu(!isFavoriteMenuOpen)} + aria-label={t( + isFavoriteMenuOpen ? "aria_labels.close_favorites_menu" : "aria_labels.open_favorites_menu" + )} + > + {t("favorites")} + +
- { setCreateNewFolder(true); if (!isFavoriteMenuOpen) toggleFavoriteMenu(!isFavoriteMenuOpen); }} - className={cn("size-4 flex-shrink-0 text-custom-sidebar-text-400 transition-transform")} - /> + aria-label={t("aria_labels.create_favorites_folder")} + > + + - toggleFavoriteMenu(!isFavoriteMenuOpen)} - className={cn("size-4 flex-shrink-0 text-custom-sidebar-text-400 transition-transform", { - "rotate-90": isFavoriteMenuOpen, - })} - /> - - + aria-label={t( + isFavoriteMenuOpen ? "aria_labels.close_favorites_menu" : "aria_labels.open_favorites_menu" + )} + > + + +
+
)} { name="name" control={control} rules={{ required: true }} - render={({ field }) => } + render={({ field }) => ( + + )} /> diff --git a/web/core/components/workspace/sidebar/help-section.tsx b/web/core/components/workspace/sidebar/help-section.tsx index 04ef02fea86..d01c7ea2183 100644 --- a/web/core/components/workspace/sidebar/help-section.tsx +++ b/web/core/components/workspace/sidebar/help-section.tsx @@ -175,8 +175,9 @@ export const SidebarHelpSection: React.FC = observer( isCollapsed ? "w-full" : "" }`} onClick={() => toggleSidebar()} + aria-label={t(isCollapsed ? "aria_labels.expand_sidebar" : "aria_labels.collapse_sidebar")} > - + diff --git a/web/core/components/workspace/sidebar/projects-list-item.tsx b/web/core/components/workspace/sidebar/projects-list-item.tsx index 75b10aa4c79..58fe73a0aef 100644 --- a/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -184,13 +184,13 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { const sourceId = source?.data?.id as string | undefined; const destinationId = self?.data?.id as string | undefined; - handleOnProjectDrop && handleOnProjectDrop(sourceId, destinationId, currentInstruction === "DRAG_BELOW"); + handleOnProjectDrop?.(sourceId, destinationId, currentInstruction === "DRAG_BELOW"); highlightIssueOnDrop(`sidebar-${sourceId}-${projectListType}`); }, }) ); - }, [projectRef?.current, dragHandleRef?.current, projectId, isLastChild, projectListType, handleOnProjectDrop]); + }, [projectId, isLastChild, projectListType, handleOnProjectDrop]); useOutsideClickDetector(actionSectionRef, () => setIsMenuActive(false)); useOutsideClickDetector(projectRef, () => projectRef?.current?.classList?.remove(HIGHLIGHT_CLASS)); @@ -284,6 +284,9 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { className={cn("flex-grow flex items-center gap-1.5 text-left select-none w-full", { "justify-center": isSidebarCollapsed, })} + aria-label={ + isProjectListOpen ? t("aria_labels.close_project_menu") : t("aria_labels.open_project_menu") + } >
@@ -310,6 +313,7 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { )} customButtonClassName="grid place-items-center" placement="bottom-start" + ariaLabel={t("aria_labels.toggle_quick_actions_menu")} useCaptureForOutsideClick > {/* TODO: Removed is_favorite logic due to the optimization in projects API */} @@ -383,6 +387,7 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { } )} onClick={() => setIsProjectListOpen(!isProjectListOpen)} + aria-label={t(isProjectListOpen ? "aria_labels.close_project_menu" : "aria_labels.open_project_menu")} > { as="button" type="button" className={cn( - "group w-full flex items-center gap-1 whitespace-nowrap text-left text-sm font-semibold text-custom-sidebar-text-400", + "w-full flex items-center gap-1 whitespace-nowrap text-left text-sm font-semibold text-custom-sidebar-text-400", { "!text-center w-8 px-2 py-1.5 justify-center": isCollapsed, } )} onClick={() => toggleListDisclosure(!isAllProjectsListOpen)} + aria-label={t( + isAllProjectsListOpen ? "aria_labels.close_projects_menu" : "aria_labels.open_projects_menu" + )} > <> @@ -195,6 +198,7 @@ export const SidebarProjectsList: FC = observer(() => { setTrackElement(`APP_SIDEBAR_JOINED_BLOCK`); setIsProjectModalOpen(true); }} + aria-label={t("aria_labels.create_new_project")} > @@ -205,9 +209,12 @@ export const SidebarProjectsList: FC = observer(() => { type="button" className="p-0.5 rounded hover:bg-custom-sidebar-background-80 flex-shrink-0" onClick={() => toggleListDisclosure(!isAllProjectsListOpen)} + aria-label={t( + isAllProjectsListOpen ? "aria_labels.close_projects_menu" : "aria_labels.open_projects_menu" + )} > diff --git a/web/core/components/workspace/sidebar/quick-actions.tsx b/web/core/components/workspace/sidebar/quick-actions.tsx index 150c08d6838..86ab8960300 100644 --- a/web/core/components/workspace/sidebar/quick-actions.tsx +++ b/web/core/components/workspace/sidebar/quick-actions.tsx @@ -46,7 +46,9 @@ export const SidebarQuickActions = observer(() => { const handleMouseEnter = () => { // if enter before time out clear the timeout - timeoutRef?.current && clearTimeout(timeoutRef.current); + if (timeoutRef?.current) { + clearTimeout(timeoutRef.current); + } setIsDraftButtonOpen(true); }; diff --git a/web/core/components/workspace/sidebar/sidebar-menu-items.tsx b/web/core/components/workspace/sidebar/sidebar-menu-items.tsx index bedfa02a30d..5fa9e5de80d 100644 --- a/web/core/components/workspace/sidebar/sidebar-menu-items.tsx +++ b/web/core/components/workspace/sidebar/sidebar-menu-items.tsx @@ -8,6 +8,7 @@ import { WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS, WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS_LINKS, } from "@plane/constants"; +import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; // components import { SidebarNavItem } from "@/components/sidebar"; @@ -20,9 +21,10 @@ export const SidebarMenuItems = observer(() => { // routers const { workspaceSlug } = useParams(); // store hooks - const { sidebarCollapsed, toggleExtendedSidebar } = useAppTheme(); + const { sidebarCollapsed, extendedSidebarCollapsed, toggleExtendedSidebar } = useAppTheme(); const { getNavigationPreferences } = useWorkspace(); - + // translation + const { t } = useTranslation(); // derived values const currentWorkspaceNavigationPreferences = getNavigationPreferences(workspaceSlug.toString()); @@ -39,31 +41,33 @@ export const SidebarMenuItems = observer(() => { ); return ( - <> -
- {WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS_LINKS.map((item, _index) => ( - - ))} - {sortedNavigationItems.map((item, _index) => ( - - ))} - - - -
- +
+ {WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS_LINKS.map((item, _index) => ( + + ))} + {sortedNavigationItems.map((item, _index) => ( + + ))} + + + +
); }); diff --git a/web/core/store/theme.store.ts b/web/core/store/theme.store.ts index a5d961e2db2..b37fb0ef5f3 100644 --- a/web/core/store/theme.store.ts +++ b/web/core/store/theme.store.ts @@ -1,4 +1,4 @@ -import { action, observable, makeObservable } from "mobx"; +import { action, observable, makeObservable, runInAction } from "mobx"; export interface IThemeStore { // observables @@ -26,7 +26,7 @@ export interface IThemeStore { export class ThemeStore implements IThemeStore { // observables sidebarCollapsed: boolean | undefined = undefined; - extendedSidebarCollapsed: boolean | undefined = undefined; + extendedSidebarCollapsed: boolean | undefined = true; extendedProjectSidebarCollapsed: boolean | undefined = undefined; profileSidebarCollapsed: boolean | undefined = undefined; workspaceAnalyticsSidebarCollapsed: boolean | undefined = undefined; @@ -78,12 +78,11 @@ export class ThemeStore implements IThemeStore { * @param collapsed */ toggleExtendedSidebar = (collapsed?: boolean) => { - if (collapsed === undefined) { - this.extendedSidebarCollapsed = !this.extendedSidebarCollapsed; - } else { - this.extendedSidebarCollapsed = collapsed; - } - localStorage.setItem("extended_sidebar_collapsed", this.extendedSidebarCollapsed.toString()); + const updatedState = collapsed ?? !this.extendedSidebarCollapsed; + runInAction(() => { + this.extendedSidebarCollapsed = updatedState; + }); + localStorage.setItem("extended_sidebar_collapsed", updatedState.toString()); }; /** From ac3a1f2859dae2e12a305fa5fd544f0e6927dc58 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal Date: Fri, 23 May 2025 17:34:37 +0530 Subject: [PATCH 2/5] chore: add missing translations --- .../i18n/src/locales/cs/translations.json | 28 +++++++++++- .../i18n/src/locales/de/translations.json | 28 +++++++++++- .../i18n/src/locales/en/translations.json | 44 ++++++++++--------- .../i18n/src/locales/es/translations.json | 28 +++++++++++- .../i18n/src/locales/fr/translations.json | 28 +++++++++++- .../i18n/src/locales/id/translations.json | 28 +++++++++++- .../i18n/src/locales/it/translations.json | 28 +++++++++++- .../i18n/src/locales/ja/translations.json | 28 +++++++++++- .../i18n/src/locales/ko/translations.json | 28 +++++++++++- .../i18n/src/locales/pl/translations.json | 28 +++++++++++- .../i18n/src/locales/pt-BR/translations.json | 28 +++++++++++- .../i18n/src/locales/ro/translations.json | 28 +++++++++++- .../i18n/src/locales/ru/translations.json | 28 +++++++++++- .../i18n/src/locales/sk/translations.json | 28 +++++++++++- .../i18n/src/locales/tr-TR/translations.json | 28 +++++++++++- .../i18n/src/locales/ua/translations.json | 28 +++++++++++- .../i18n/src/locales/vi-VN/translations.json | 28 +++++++++++- .../i18n/src/locales/zh-CN/translations.json | 28 +++++++++++- .../i18n/src/locales/zh-TW/translations.json | 28 +++++++++++- web/ce/components/workspace/edition-badge.tsx | 2 +- .../workspace/sidebar/app-search.tsx | 2 +- web/core/components/workspace/logo.tsx | 2 +- .../components/workspace/sidebar/dropdown.tsx | 4 +- .../sidebar/favorites/favorite-folder.tsx | 6 ++- .../common/favorite-item-quick-action.tsx | 2 +- .../sidebar/favorites/favorites-menu.tsx | 10 +++-- .../sidebar/favorites/new-fav-folder.tsx | 2 +- .../workspace/sidebar/help-section.tsx | 6 ++- .../workspace/sidebar/projects-list-item.tsx | 12 +++-- .../workspace/sidebar/projects-list.tsx | 10 +++-- .../workspace/sidebar/sidebar-menu-items.tsx | 4 +- 31 files changed, 551 insertions(+), 59 deletions(-) diff --git a/packages/i18n/src/locales/cs/translations.json b/packages/i18n/src/locales/cs/translations.json index 28109cd9d26..569ee466b75 100644 --- a/packages/i18n/src/locales/cs/translations.json +++ b/packages/i18n/src/locales/cs/translations.json @@ -2459,5 +2459,31 @@ "last_edited_by": "Naposledy upraveno uživatelem", "previously_edited_by": "Dříve upraveno uživatelem", "edited_by": "Upraveno uživatelem" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo pracovního prostoru", + "open_workspace_switcher": "Otevřít přepínač pracovního prostoru", + "open_user_menu": "Otevřít uživatelské menu", + "open_command_palette": "Otevřít paletu příkazů", + "open_extended_sidebar": "Otevřít rozšířený postranní panel", + "close_extended_sidebar": "Zavřít rozšířený postranní panel", + "create_favorites_folder": "Vytvořit složku oblíbených", + "open_folder": "Otevřít složku", + "close_folder": "Zavřít složku", + "open_favorites_menu": "Otevřít menu oblíbených", + "close_favorites_menu": "Zavřít menu oblíbených", + "enter_folder_name": "Zadejte název složky", + "create_new_project": "Vytvořit nový projekt", + "open_projects_menu": "Otevřít menu projektů", + "close_projects_menu": "Zavřít menu projektů", + "toggle_quick_actions_menu": "Přepnout menu rychlých akcí", + "open_project_menu": "Otevřít menu projektu", + "close_project_menu": "Zavřít menu projektu", + "collapse_sidebar": "Sbalit postranní panel", + "expand_sidebar": "Rozbalit postranní panel", + "edition_badge": "Otevřít modal placených plánů" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/de/translations.json b/packages/i18n/src/locales/de/translations.json index 1cc37072872..15cfa1e01f9 100644 --- a/packages/i18n/src/locales/de/translations.json +++ b/packages/i18n/src/locales/de/translations.json @@ -2458,5 +2458,31 @@ "last_edited_by": "Zuletzt bearbeitet von", "previously_edited_by": "Zuvor bearbeitet von", "edited_by": "Bearbeitet von" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Arbeitsbereich-Logo", + "open_workspace_switcher": "Arbeitsbereich-Umschalter öffnen", + "open_user_menu": "Benutzermenü öffnen", + "open_command_palette": "Befehlspalette öffnen", + "open_extended_sidebar": "Erweiterte Seitenleiste öffnen", + "close_extended_sidebar": "Erweiterte Seitenleiste schließen", + "create_favorites_folder": "Favoriten-Ordner erstellen", + "open_folder": "Ordner öffnen", + "close_folder": "Ordner schließen", + "open_favorites_menu": "Favoriten-Menü öffnen", + "close_favorites_menu": "Favoriten-Menü schließen", + "enter_folder_name": "Ordnername eingeben", + "create_new_project": "Neues Projekt erstellen", + "open_projects_menu": "Projekt-Menü öffnen", + "close_projects_menu": "Projekt-Menü schließen", + "toggle_quick_actions_menu": "Schnellaktionen-Menü umschalten", + "open_project_menu": "Projekt-Menü öffnen", + "close_project_menu": "Projekt-Menü schließen", + "collapse_sidebar": "Seitenleiste einklappen", + "expand_sidebar": "Seitenleiste ausklappen", + "edition_badge": "Modal für kostenpflichtige Pläne öffnen" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/en/translations.json b/packages/i18n/src/locales/en/translations.json index 0e5b16fe24c..c598d2c553c 100644 --- a/packages/i18n/src/locales/en/translations.json +++ b/packages/i18n/src/locales/en/translations.json @@ -2298,26 +2298,28 @@ }, "aria_labels": { - "workspace_logo": "Workspace logo", - "open_workspace_switcher": "Open workspace switcher", - "open_user_menu": "Open user menu", - "open_command_palette": "Open command palette", - "open_extended_sidebar": "Open extended sidebar", - "close_extended_sidebar": "Close extended sidebar", - "create_favorites_folder": "Create favorites folder", - "open_folder": "Open folder", - "close_folder": "Close folder", - "open_favorites_menu": "Open favorites menu", - "close_favorites_menu": "Close favorites menu", - "enter_folder_name": "Enter folder name", - "create_new_project": "Create new project", - "open_projects_menu": "Open projects menu", - "close_projects_menu": "Close projects menu", - "toggle_quick_actions_menu": "Toggle quick actions menu", - "open_project_menu": "Open project menu", - "close_project_menu": "Close project menu", - "collapse_sidebar": "Collapse sidebar", - "expand_sidebar": "Expand sidebar", - "edition_badge": "Open paid plans' modal" + "projects_sidebar": { + "workspace_logo": "Workspace logo", + "open_workspace_switcher": "Open workspace switcher", + "open_user_menu": "Open user menu", + "open_command_palette": "Open command palette", + "open_extended_sidebar": "Open extended sidebar", + "close_extended_sidebar": "Close extended sidebar", + "create_favorites_folder": "Create favorites folder", + "open_folder": "Open folder", + "close_folder": "Close folder", + "open_favorites_menu": "Open favorites menu", + "close_favorites_menu": "Close favorites menu", + "enter_folder_name": "Enter folder name", + "create_new_project": "Create new project", + "open_projects_menu": "Open projects menu", + "close_projects_menu": "Close projects menu", + "toggle_quick_actions_menu": "Toggle quick actions menu", + "open_project_menu": "Open project menu", + "close_project_menu": "Close project menu", + "collapse_sidebar": "Collapse sidebar", + "expand_sidebar": "Expand sidebar", + "edition_badge": "Open paid plans' modal" + } } } diff --git a/packages/i18n/src/locales/es/translations.json b/packages/i18n/src/locales/es/translations.json index 94f1819a48d..cedfdec5429 100644 --- a/packages/i18n/src/locales/es/translations.json +++ b/packages/i18n/src/locales/es/translations.json @@ -2461,5 +2461,31 @@ "last_edited_by": "Última edición por", "previously_edited_by": "Editado anteriormente por", "edited_by": "Editado por" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo del espacio de trabajo", + "open_workspace_switcher": "Abrir cambiador de espacio de trabajo", + "open_user_menu": "Abrir menú de usuario", + "open_command_palette": "Abrir paleta de comandos", + "open_extended_sidebar": "Abrir barra lateral extendida", + "close_extended_sidebar": "Cerrar barra lateral extendida", + "create_favorites_folder": "Crear carpeta de favoritos", + "open_folder": "Abrir carpeta", + "close_folder": "Cerrar carpeta", + "open_favorites_menu": "Abrir menú de favoritos", + "close_favorites_menu": "Cerrar menú de favoritos", + "enter_folder_name": "Ingresar nombre de carpeta", + "create_new_project": "Crear nuevo proyecto", + "open_projects_menu": "Abrir menú de proyectos", + "close_projects_menu": "Cerrar menú de proyectos", + "toggle_quick_actions_menu": "Alternar menú de acciones rápidas", + "open_project_menu": "Abrir menú de proyecto", + "close_project_menu": "Cerrar menú de proyecto", + "collapse_sidebar": "Colapsar barra lateral", + "expand_sidebar": "Expandir barra lateral", + "edition_badge": "Abrir modal de planes de pago" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/fr/translations.json b/packages/i18n/src/locales/fr/translations.json index 4f356f1491e..054100d2f42 100644 --- a/packages/i18n/src/locales/fr/translations.json +++ b/packages/i18n/src/locales/fr/translations.json @@ -2459,5 +2459,31 @@ "last_edited_by": "Dernière modification par", "previously_edited_by": "Précédemment modifié par", "edited_by": "Modifié par" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo de l'espace de travail", + "open_workspace_switcher": "Ouvrir le sélecteur d'espace de travail", + "open_user_menu": "Ouvrir le menu utilisateur", + "open_command_palette": "Ouvrir la palette de commandes", + "open_extended_sidebar": "Ouvrir la barre latérale étendue", + "close_extended_sidebar": "Fermer la barre latérale étendue", + "create_favorites_folder": "Créer un dossier de favoris", + "open_folder": "Ouvrir le dossier", + "close_folder": "Fermer le dossier", + "open_favorites_menu": "Ouvrir le menu des favoris", + "close_favorites_menu": "Fermer le menu des favoris", + "enter_folder_name": "Saisir le nom du dossier", + "create_new_project": "Créer un nouveau projet", + "open_projects_menu": "Ouvrir le menu des projets", + "close_projects_menu": "Fermer le menu des projets", + "toggle_quick_actions_menu": "Basculer le menu d'actions rapides", + "open_project_menu": "Ouvrir le menu du projet", + "close_project_menu": "Fermer le menu du projet", + "collapse_sidebar": "Réduire la barre latérale", + "expand_sidebar": "Étendre la barre latérale", + "edition_badge": "Ouvrir le modal des plans payants" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/id/translations.json b/packages/i18n/src/locales/id/translations.json index 20b683c65fe..25c217e854c 100644 --- a/packages/i18n/src/locales/id/translations.json +++ b/packages/i18n/src/locales/id/translations.json @@ -2453,5 +2453,31 @@ "last_edited_by": "Terakhir disunting oleh", "previously_edited_by": "Sebelumnya disunting oleh", "edited_by": "Disunting oleh" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo ruang kerja", + "open_workspace_switcher": "Buka penukar ruang kerja", + "open_user_menu": "Buka menu pengguna", + "open_command_palette": "Buka palet perintah", + "open_extended_sidebar": "Buka sidebar diperluas", + "close_extended_sidebar": "Tutup sidebar diperluas", + "create_favorites_folder": "Buat folder favorit", + "open_folder": "Buka folder", + "close_folder": "Tutup folder", + "open_favorites_menu": "Buka menu favorit", + "close_favorites_menu": "Tutup menu favorit", + "enter_folder_name": "Masukkan nama folder", + "create_new_project": "Buat proyek baru", + "open_projects_menu": "Buka menu proyek", + "close_projects_menu": "Tutup menu proyek", + "toggle_quick_actions_menu": "Alihkan menu tindakan cepat", + "open_project_menu": "Buka menu proyek", + "close_project_menu": "Tutup menu proyek", + "collapse_sidebar": "Tutup sidebar", + "expand_sidebar": "Perluas sidebar", + "edition_badge": "Buka modal paket berbayar" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/it/translations.json b/packages/i18n/src/locales/it/translations.json index 5534d885c10..91b6306c21f 100644 --- a/packages/i18n/src/locales/it/translations.json +++ b/packages/i18n/src/locales/it/translations.json @@ -2458,5 +2458,31 @@ "last_edited_by": "Ultima modifica di", "previously_edited_by": "Precedentemente modificato da", "edited_by": "Modificato da" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo dell'area di lavoro", + "open_workspace_switcher": "Apri selettore area di lavoro", + "open_user_menu": "Apri menu utente", + "open_command_palette": "Apri tavolozza comandi", + "open_extended_sidebar": "Apri barra laterale estesa", + "close_extended_sidebar": "Chiudi barra laterale estesa", + "create_favorites_folder": "Crea cartella preferiti", + "open_folder": "Apri cartella", + "close_folder": "Chiudi cartella", + "open_favorites_menu": "Apri menu preferiti", + "close_favorites_menu": "Chiudi menu preferiti", + "enter_folder_name": "Inserisci nome cartella", + "create_new_project": "Crea nuovo progetto", + "open_projects_menu": "Apri menu progetti", + "close_projects_menu": "Chiudi menu progetti", + "toggle_quick_actions_menu": "Attiva/disattiva menu azioni rapide", + "open_project_menu": "Apri menu progetto", + "close_project_menu": "Chiudi menu progetto", + "collapse_sidebar": "Comprimi barra laterale", + "expand_sidebar": "Espandi barra laterale", + "edition_badge": "Apri modal piani a pagamento" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/ja/translations.json b/packages/i18n/src/locales/ja/translations.json index a6f36a65b5f..792b045a9a1 100644 --- a/packages/i18n/src/locales/ja/translations.json +++ b/packages/i18n/src/locales/ja/translations.json @@ -2459,5 +2459,31 @@ "last_edited_by": "最終編集者", "previously_edited_by": "以前の編集者", "edited_by": "編集者" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "ワークスペースロゴ", + "open_workspace_switcher": "ワークスペーススイッチャーを開く", + "open_user_menu": "ユーザーメニューを開く", + "open_command_palette": "コマンドパレットを開く", + "open_extended_sidebar": "拡張サイドバーを開く", + "close_extended_sidebar": "拡張サイドバーを閉じる", + "create_favorites_folder": "お気に入りフォルダを作成", + "open_folder": "フォルダを開く", + "close_folder": "フォルダを閉じる", + "open_favorites_menu": "お気に入りメニューを開く", + "close_favorites_menu": "お気に入りメニューを閉じる", + "enter_folder_name": "フォルダ名を入力", + "create_new_project": "新しいプロジェクトを作成", + "open_projects_menu": "プロジェクトメニューを開く", + "close_projects_menu": "プロジェクトメニューを閉じる", + "toggle_quick_actions_menu": "クイックアクションメニューの切り替え", + "open_project_menu": "プロジェクトメニューを開く", + "close_project_menu": "プロジェクトメニューを閉じる", + "collapse_sidebar": "サイドバーを折りたたむ", + "expand_sidebar": "サイドバーを展開", + "edition_badge": "有料プランのモーダルを開く" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/ko/translations.json b/packages/i18n/src/locales/ko/translations.json index 2858d729cb4..8c56189d37a 100644 --- a/packages/i18n/src/locales/ko/translations.json +++ b/packages/i18n/src/locales/ko/translations.json @@ -2461,5 +2461,31 @@ "last_edited_by": "마지막 편집자", "previously_edited_by": "이전 편집자", "edited_by": "편집자" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "워크스페이스 로고", + "open_workspace_switcher": "워크스페이스 전환기 열기", + "open_user_menu": "사용자 메뉴 열기", + "open_command_palette": "명령 팔레트 열기", + "open_extended_sidebar": "확장된 사이드바 열기", + "close_extended_sidebar": "확장된 사이드바 닫기", + "create_favorites_folder": "즐겨찾기 폴더 생성", + "open_folder": "폴더 열기", + "close_folder": "폴더 닫기", + "open_favorites_menu": "즐겨찾기 메뉴 열기", + "close_favorites_menu": "즐겨찾기 메뉴 닫기", + "enter_folder_name": "폴더 이름 입력", + "create_new_project": "새 프로젝트 생성", + "open_projects_menu": "프로젝트 메뉴 열기", + "close_projects_menu": "프로젝트 메뉴 닫기", + "toggle_quick_actions_menu": "빠른 작업 메뉴 토글", + "open_project_menu": "프로젝트 메뉴 열기", + "close_project_menu": "프로젝트 메뉴 닫기", + "collapse_sidebar": "사이드바 축소", + "expand_sidebar": "사이드바 확장", + "edition_badge": "유료 플랜 모달 열기" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/pl/translations.json b/packages/i18n/src/locales/pl/translations.json index d11005833fd..d7140746d97 100644 --- a/packages/i18n/src/locales/pl/translations.json +++ b/packages/i18n/src/locales/pl/translations.json @@ -2460,5 +2460,31 @@ "last_edited_by": "Ostatnio edytowane przez", "previously_edited_by": "Wcześniej edytowane przez", "edited_by": "Edytowane przez" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo obszaru roboczego", + "open_workspace_switcher": "Otwórz przełącznik obszaru roboczego", + "open_user_menu": "Otwórz menu użytkownika", + "open_command_palette": "Otwórz paletę poleceń", + "open_extended_sidebar": "Otwórz rozszerzoną pasek boczny", + "close_extended_sidebar": "Zamknij rozszerzoną pasek boczny", + "create_favorites_folder": "Utwórz folder ulubionych", + "open_folder": "Otwórz folder", + "close_folder": "Zamknij folder", + "open_favorites_menu": "Otwórz menu ulubionych", + "close_favorites_menu": "Zamknij menu ulubionych", + "enter_folder_name": "Wprowadź nazwę folderu", + "create_new_project": "Utwórz nowy projekt", + "open_projects_menu": "Otwórz menu projektów", + "close_projects_menu": "Zamknij menu projektów", + "toggle_quick_actions_menu": "Przełącz menu szybkich akcji", + "open_project_menu": "Otwórz menu projektu", + "close_project_menu": "Zamknij menu projektu", + "collapse_sidebar": "Zwiń pasek boczny", + "expand_sidebar": "Rozwiń pasek boczny", + "edition_badge": "Otwórz modal płatnych planów" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/pt-BR/translations.json b/packages/i18n/src/locales/pt-BR/translations.json index de630da9745..c345d5ae196 100644 --- a/packages/i18n/src/locales/pt-BR/translations.json +++ b/packages/i18n/src/locales/pt-BR/translations.json @@ -2455,5 +2455,31 @@ "last_edited_by": "Última edição por", "previously_edited_by": "Anteriormente editado por", "edited_by": "Editado por" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo do espaço de trabalho", + "open_workspace_switcher": "Abrir seletor de espaço de trabalho", + "open_user_menu": "Abrir menu do usuário", + "open_command_palette": "Abrir paleta de comandos", + "open_extended_sidebar": "Abrir barra lateral estendida", + "close_extended_sidebar": "Fechar barra lateral estendida", + "create_favorites_folder": "Criar pasta de favoritos", + "open_folder": "Abrir pasta", + "close_folder": "Fechar pasta", + "open_favorites_menu": "Abrir menu de favoritos", + "close_favorites_menu": "Fechar menu de favoritos", + "enter_folder_name": "Digite o nome da pasta", + "create_new_project": "Criar novo projeto", + "open_projects_menu": "Abrir menu de projetos", + "close_projects_menu": "Fechar menu de projetos", + "toggle_quick_actions_menu": "Alternar menu de ações rápidas", + "open_project_menu": "Abrir menu do projeto", + "close_project_menu": "Fechar menu do projeto", + "collapse_sidebar": "Recolher barra lateral", + "expand_sidebar": "Expandir barra lateral", + "edition_badge": "Abrir modal de planos pagos" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/ro/translations.json b/packages/i18n/src/locales/ro/translations.json index f60a4881b55..ed0e7bd59ae 100644 --- a/packages/i18n/src/locales/ro/translations.json +++ b/packages/i18n/src/locales/ro/translations.json @@ -2453,5 +2453,31 @@ "last_edited_by": "Ultima editare de către", "previously_edited_by": "Editat anterior de către", "edited_by": "Editat de" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo spațiu de lucru", + "open_workspace_switcher": "Deschide comutator spațiu de lucru", + "open_user_menu": "Deschide meniul utilizatorului", + "open_command_palette": "Deschide paleta de comenzi", + "open_extended_sidebar": "Deschide bara laterală extinsă", + "close_extended_sidebar": "Închide bara laterală extinsă", + "create_favorites_folder": "Creează folder de favorite", + "open_folder": "Deschide folderul", + "close_folder": "Închide folderul", + "open_favorites_menu": "Deschide meniul de favorite", + "close_favorites_menu": "Închide meniul de favorite", + "enter_folder_name": "Introduceți numele folderului", + "create_new_project": "Creează proiect nou", + "open_projects_menu": "Deschide meniul de proiecte", + "close_projects_menu": "Închide meniul de proiecte", + "toggle_quick_actions_menu": "Comută meniul de acțiuni rapide", + "open_project_menu": "Deschide meniul proiectului", + "close_project_menu": "Închide meniul proiectului", + "collapse_sidebar": "Restrânge bara laterală", + "expand_sidebar": "Extinde bara laterală", + "edition_badge": "Deschide modalul planurilor plătite" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/ru/translations.json b/packages/i18n/src/locales/ru/translations.json index 564716529d2..912515c658c 100644 --- a/packages/i18n/src/locales/ru/translations.json +++ b/packages/i18n/src/locales/ru/translations.json @@ -2461,5 +2461,31 @@ "last_edited_by": "Последнее редактирование", "previously_edited_by": "Ранее отредактировано", "edited_by": "Отредактировано" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Логотип рабочей области", + "open_workspace_switcher": "Открыть переключатель рабочей области", + "open_user_menu": "Открыть пользовательское меню", + "open_command_palette": "Открыть палитру команд", + "open_extended_sidebar": "Открыть расширенную боковую панель", + "close_extended_sidebar": "Закрыть расширенную боковую панель", + "create_favorites_folder": "Создать папку избранного", + "open_folder": "Открыть папку", + "close_folder": "Закрыть папку", + "open_favorites_menu": "Открыть меню избранного", + "close_favorites_menu": "Закрыть меню избранного", + "enter_folder_name": "Введите имя папки", + "create_new_project": "Создать новый проект", + "open_projects_menu": "Открыть меню проектов", + "close_projects_menu": "Закрыть меню проектов", + "toggle_quick_actions_menu": "Переключить меню быстрых действий", + "open_project_menu": "Открыть меню проекта", + "close_project_menu": "Закрыть меню проекта", + "collapse_sidebar": "Свернуть боковую панель", + "expand_sidebar": "Развернуть боковую панель", + "edition_badge": "Открыть модал платных планов" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/sk/translations.json b/packages/i18n/src/locales/sk/translations.json index 60f2c21ca86..e80bba44cf9 100644 --- a/packages/i18n/src/locales/sk/translations.json +++ b/packages/i18n/src/locales/sk/translations.json @@ -2460,5 +2460,31 @@ "last_edited_by": "Naposledy upravené používateľom", "previously_edited_by": "Predtým upravené používateľom", "edited_by": "Upravené používateľom" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo pracovného priestoru", + "open_workspace_switcher": "Otvoriť prepínač pracovného priestoru", + "open_user_menu": "Otvoriť používateľské menu", + "open_command_palette": "Otvoriť paletu príkazov", + "open_extended_sidebar": "Otvoriť rozšírený bočný panel", + "close_extended_sidebar": "Zavrieť rozšírený bočný panel", + "create_favorites_folder": "Vytvoriť priečinok obľúbených", + "open_folder": "Otvoriť priečinok", + "close_folder": "Zavrieť priečinok", + "open_favorites_menu": "Otvoriť menu obľúbených", + "close_favorites_menu": "Zavrieť menu obľúbených", + "enter_folder_name": "Zadajte názov priečinka", + "create_new_project": "Vytvoriť nový projekt", + "open_projects_menu": "Otvoriť menu projektov", + "close_projects_menu": "Zavrieť menu projektov", + "toggle_quick_actions_menu": "Prepnúť menu rýchlych akcií", + "open_project_menu": "Otvoriť menu projektu", + "close_project_menu": "Zavrieť menu projektu", + "collapse_sidebar": "Zbaliť bočný panel", + "expand_sidebar": "Rozbaliť bočný panel", + "edition_badge": "Otvoriť modal platených plánov" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/tr-TR/translations.json b/packages/i18n/src/locales/tr-TR/translations.json index cec11a99217..f91496fcfc2 100644 --- a/packages/i18n/src/locales/tr-TR/translations.json +++ b/packages/i18n/src/locales/tr-TR/translations.json @@ -2439,5 +2439,31 @@ "last_edited_by": "Son düzenleyen", "previously_edited_by": "Önceki düzenleyen", "edited_by": "Tarafından düzenlendi" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Çalışma alanı logosu", + "open_workspace_switcher": "Çalışma alanı değiştiricisini aç", + "open_user_menu": "Kullanıcı menüsünü aç", + "open_command_palette": "Komut paletini aç", + "open_extended_sidebar": "Genişletilmiş kenar çubuğunu aç", + "close_extended_sidebar": "Genişletilmiş kenar çubuğunu kapat", + "create_favorites_folder": "Favoriler klasörü oluştur", + "open_folder": "Klasörü aç", + "close_folder": "Klasörü kapat", + "open_favorites_menu": "Favoriler menüsünü aç", + "close_favorites_menu": "Favoriler menüsünü kapat", + "enter_folder_name": "Klasör adını girin", + "create_new_project": "Yeni proje oluştur", + "open_projects_menu": "Projeler menüsünü aç", + "close_projects_menu": "Projeler menüsünü kapat", + "toggle_quick_actions_menu": "Hızlı eylemler menüsünü aç/kapat", + "open_project_menu": "Proje menüsünü aç", + "close_project_menu": "Proje menüsünü kapat", + "collapse_sidebar": "Kenar çubuğunu daralt", + "expand_sidebar": "Kenar çubuğunu genişlet", + "edition_badge": "Ücretli planlar modalını aç" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/ua/translations.json b/packages/i18n/src/locales/ua/translations.json index 2a82df68f5e..d398f7bee57 100644 --- a/packages/i18n/src/locales/ua/translations.json +++ b/packages/i18n/src/locales/ua/translations.json @@ -2460,5 +2460,31 @@ "last_edited_by": "Останнє редагування", "previously_edited_by": "Раніше відредаговано", "edited_by": "Відредаговано" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Логотип робочого простору", + "open_workspace_switcher": "Відкрити перемикач робочого простору", + "open_user_menu": "Відкрити меню користувача", + "open_command_palette": "Відкрити палітру команд", + "open_extended_sidebar": "Відкрити розширену бічну панель", + "close_extended_sidebar": "Закрити розширену бічну панель", + "create_favorites_folder": "Створити папку улюблених", + "open_folder": "Відкрити папку", + "close_folder": "Закрити папку", + "open_favorites_menu": "Відкрити меню улюблених", + "close_favorites_menu": "Закрити меню улюблених", + "enter_folder_name": "Введіть назву папки", + "create_new_project": "Створити новий проект", + "open_projects_menu": "Відкрити меню проектів", + "close_projects_menu": "Закрити меню проектів", + "toggle_quick_actions_menu": "Перемкнути меню швидких дій", + "open_project_menu": "Відкрити меню проекту", + "close_project_menu": "Закрити меню проекту", + "collapse_sidebar": "Згорнути бічну панель", + "expand_sidebar": "Розгорнути бічну панель", + "edition_badge": "Відкрити модал платних планів" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/vi-VN/translations.json b/packages/i18n/src/locales/vi-VN/translations.json index 418d96ac43e..a329f5d3e18 100644 --- a/packages/i18n/src/locales/vi-VN/translations.json +++ b/packages/i18n/src/locales/vi-VN/translations.json @@ -2458,5 +2458,31 @@ "last_edited_by": "Chỉnh sửa lần cuối bởi", "previously_edited_by": "Trước đây được chỉnh sửa bởi", "edited_by": "Được chỉnh sửa bởi" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo không gian làm việc", + "open_workspace_switcher": "Mở trình chuyển đổi không gian làm việc", + "open_user_menu": "Mở menu người dùng", + "open_command_palette": "Mở bảng lệnh", + "open_extended_sidebar": "Mở thanh bên mở rộng", + "close_extended_sidebar": "Đóng thanh bên mở rộng", + "create_favorites_folder": "Tạo thư mục yêu thích", + "open_folder": "Mở thư mục", + "close_folder": "Đóng thư mục", + "open_favorites_menu": "Mở menu yêu thích", + "close_favorites_menu": "Đóng menu yêu thích", + "enter_folder_name": "Nhập tên thư mục", + "create_new_project": "Tạo dự án mới", + "open_projects_menu": "Mở menu dự án", + "close_projects_menu": "Đóng menu dự án", + "toggle_quick_actions_menu": "Bật/tắt menu hành động nhanh", + "open_project_menu": "Mở menu dự án", + "close_project_menu": "Đóng menu dự án", + "collapse_sidebar": "Thu gọn thanh bên", + "expand_sidebar": "Mở rộng thanh bên", + "edition_badge": "Mở modal gói trả phí" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/zh-CN/translations.json b/packages/i18n/src/locales/zh-CN/translations.json index 8f8ca2d26fa..734eb786d2f 100644 --- a/packages/i18n/src/locales/zh-CN/translations.json +++ b/packages/i18n/src/locales/zh-CN/translations.json @@ -2440,5 +2440,31 @@ "last_edited_by": "最后编辑者", "previously_edited_by": "之前编辑者", "edited_by": "编辑者" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "工作空间徽标", + "open_workspace_switcher": "打开工作空间切换器", + "open_user_menu": "打开用户菜单", + "open_command_palette": "打开命令面板", + "open_extended_sidebar": "打开扩展侧边栏", + "close_extended_sidebar": "关闭扩展侧边栏", + "create_favorites_folder": "创建收藏夹文件夹", + "open_folder": "打开文件夹", + "close_folder": "关闭文件夹", + "open_favorites_menu": "打开收藏夹菜单", + "close_favorites_menu": "关闭收藏夹菜单", + "enter_folder_name": "输入文件夹名称", + "create_new_project": "创建新项目", + "open_projects_menu": "打开项目菜单", + "close_projects_menu": "关闭项目菜单", + "toggle_quick_actions_menu": "切换快速操作菜单", + "open_project_menu": "打开项目菜单", + "close_project_menu": "关闭项目菜单", + "collapse_sidebar": "折叠侧边栏", + "expand_sidebar": "展开侧边栏", + "edition_badge": "打开付费计划模态框" + } } -} \ No newline at end of file +} diff --git a/packages/i18n/src/locales/zh-TW/translations.json b/packages/i18n/src/locales/zh-TW/translations.json index 472ba631c1d..f001a04a7bf 100644 --- a/packages/i18n/src/locales/zh-TW/translations.json +++ b/packages/i18n/src/locales/zh-TW/translations.json @@ -2461,5 +2461,31 @@ "last_edited_by": "最後編輯者", "previously_edited_by": "先前編輯者", "edited_by": "編輯者" + }, + + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "工作空間標誌", + "open_workspace_switcher": "打開工作空間切換器", + "open_user_menu": "打開用戶選單", + "open_command_palette": "打開命令面板", + "open_extended_sidebar": "打開擴展側邊欄", + "close_extended_sidebar": "關閉擴展側邊欄", + "create_favorites_folder": "創建收藏夾文件夾", + "open_folder": "打開文件夾", + "close_folder": "關閉文件夾", + "open_favorites_menu": "打開收藏夾選單", + "close_favorites_menu": "關閉收藏夾選單", + "enter_folder_name": "輸入文件夾名稱", + "create_new_project": "創建新項目", + "open_projects_menu": "打開項目選單", + "close_projects_menu": "關閉項目選單", + "toggle_quick_actions_menu": "切換快速操作選單", + "open_project_menu": "打開項目選單", + "close_project_menu": "關閉項目選單", + "collapse_sidebar": "摺疊側邊欄", + "expand_sidebar": "展開側邊欄", + "edition_badge": "打開付費計劃模態框" + } } -} \ No newline at end of file +} diff --git a/web/ce/components/workspace/edition-badge.tsx b/web/ce/components/workspace/edition-badge.tsx index a2be72bfbaf..e0fefc3568c 100644 --- a/web/ce/components/workspace/edition-badge.tsx +++ b/web/ce/components/workspace/edition-badge.tsx @@ -30,7 +30,7 @@ export const WorkspaceEditionBadge = observer(() => { className="w-fit min-w-24 cursor-pointer rounded-2xl px-2 py-1 text-center text-sm font-medium outline-none" onClick={() => setIsPaidPlanPurchaseModalOpen(true)} aria-haspopup="dialog" - aria-label={t("aria_labels.edition_badge")} + aria-label={t("aria_labels.projects_sidebar.edition_badge")} > Community diff --git a/web/ce/components/workspace/sidebar/app-search.tsx b/web/ce/components/workspace/sidebar/app-search.tsx index 992fa8bbb72..1ba0ea72c2a 100644 --- a/web/ce/components/workspace/sidebar/app-search.tsx +++ b/web/ce/components/workspace/sidebar/app-search.tsx @@ -24,7 +24,7 @@ export const AppSearch = observer(() => { } )} onClick={() => toggleCommandPaletteModal(true)} - aria-label={t("aria_labels.open_command_palette")} + aria-label={t("aria_labels.projects_sidebar.open_command_palette")} > diff --git a/web/core/components/workspace/logo.tsx b/web/core/components/workspace/logo.tsx index 1f971825c24..e0c60f8029d 100644 --- a/web/core/components/workspace/logo.tsx +++ b/web/core/components/workspace/logo.tsx @@ -26,7 +26,7 @@ export const WorkspaceLogo = (props: Props) => { {t("aria_labels.workspace_logo")} ) : ( (props.name?.[0] ?? "...") diff --git a/web/core/components/workspace/sidebar/dropdown.tsx b/web/core/components/workspace/sidebar/dropdown.tsx index 4312cc291bb..b4e6b93d7b0 100644 --- a/web/core/components/workspace/sidebar/dropdown.tsx +++ b/web/core/components/workspace/sidebar/dropdown.tsx @@ -83,7 +83,7 @@ export const SidebarDropdown = observer(() => { "group/menu-button flex items-center justify-between gap-1 p-1 truncate rounded text-sm font-medium text-custom-sidebar-text-200 hover:bg-custom-sidebar-background-80 focus:outline-none", { "flex-grow": !sidebarCollapsed } )} - aria-label={t("aria_labels.open_workspace_switcher")} + aria-label={t("aria_labels.projects_sidebar.open_workspace_switcher")} >
@@ -190,7 +190,7 @@ export const SidebarDropdown = observer(() => { = (props) => { )} customButtonClassName="grid place-items-center" placement="bottom-start" - ariaLabel={t("aria_labels.toggle_quick_actions_menu")} + ariaLabel={t("aria_labels.projects_sidebar.toggle_quick_actions_menu")} > handleRemoveFromFavorites(favorite)}> @@ -268,7 +268,9 @@ export const FavoriteFolder: React.FC = (props) => { "inline-block": isMenuActive, } )} - aria-label={t(open ? "aria_labels.close_folder" : "aria_labels.open_folder")} + aria-label={t( + open ? "aria_labels.projects_sidebar.close_folder" : "aria_labels.projects_sidebar.open_folder" + )} > = (props) => { )} customButtonClassName="grid place-items-center" placement="bottom-start" - ariaLabel={t("aria_labels.toggle_quick_actions_menu")} + ariaLabel={t("aria_labels.projects_sidebar.toggle_quick_actions_menu")} > handleRemoveFromFavorites(favorite)}> diff --git a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index 9f2bffc0bea..f83f0ed061b 100644 --- a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -212,7 +212,9 @@ export const SidebarFavoritesMenu = observer(() => { )} onClick={() => toggleFavoriteMenu(!isFavoriteMenuOpen)} aria-label={t( - isFavoriteMenuOpen ? "aria_labels.close_favorites_menu" : "aria_labels.open_favorites_menu" + isFavoriteMenuOpen + ? "aria_labels.projects_sidebar.close_favorites_menu" + : "aria_labels.projects_sidebar.open_favorites_menu" )} > {t("favorites")} @@ -226,7 +228,7 @@ export const SidebarFavoritesMenu = observer(() => { setCreateNewFolder(true); if (!isFavoriteMenuOpen) toggleFavoriteMenu(!isFavoriteMenuOpen); }} - aria-label={t("aria_labels.create_favorites_folder")} + aria-label={t("aria_labels.projects_sidebar.create_favorites_folder")} > @@ -237,7 +239,9 @@ export const SidebarFavoritesMenu = observer(() => { className="p-0.5 rounded hover:bg-custom-sidebar-background-80 flex-shrink-0 grid place-items-center" onClick={() => toggleFavoriteMenu(!isFavoriteMenuOpen)} aria-label={t( - isFavoriteMenuOpen ? "aria_labels.close_favorites_menu" : "aria_labels.open_favorites_menu" + isFavoriteMenuOpen + ? "aria_labels.projects_sidebar.close_favorites_menu" + : "aria_labels.projects_sidebar.open_favorites_menu" )} > { )} diff --git a/web/core/components/workspace/sidebar/help-section.tsx b/web/core/components/workspace/sidebar/help-section.tsx index d01c7ea2183..9c1b98fe8be 100644 --- a/web/core/components/workspace/sidebar/help-section.tsx +++ b/web/core/components/workspace/sidebar/help-section.tsx @@ -175,7 +175,11 @@ export const SidebarHelpSection: React.FC = observer( isCollapsed ? "w-full" : "" }`} onClick={() => toggleSidebar()} - aria-label={t(isCollapsed ? "aria_labels.expand_sidebar" : "aria_labels.collapse_sidebar")} + aria-label={t( + isCollapsed + ? "aria_labels.projects_sidebar.expand_sidebar" + : "aria_labels.projects_sidebar.collapse_sidebar" + )} > diff --git a/web/core/components/workspace/sidebar/projects-list-item.tsx b/web/core/components/workspace/sidebar/projects-list-item.tsx index 58fe73a0aef..1a813d29598 100644 --- a/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -285,7 +285,9 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { "justify-center": isSidebarCollapsed, })} aria-label={ - isProjectListOpen ? t("aria_labels.close_project_menu") : t("aria_labels.open_project_menu") + isProjectListOpen + ? t("aria_labels.projects_sidebar.close_project_menu") + : t("aria_labels.projects_sidebar.open_project_menu") } >
@@ -313,7 +315,7 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { )} customButtonClassName="grid place-items-center" placement="bottom-start" - ariaLabel={t("aria_labels.toggle_quick_actions_menu")} + ariaLabel={t("aria_labels.projects_sidebar.toggle_quick_actions_menu")} useCaptureForOutsideClick > {/* TODO: Removed is_favorite logic due to the optimization in projects API */} @@ -387,7 +389,11 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { } )} onClick={() => setIsProjectListOpen(!isProjectListOpen)} - aria-label={t(isProjectListOpen ? "aria_labels.close_project_menu" : "aria_labels.open_project_menu")} + aria-label={t( + isProjectListOpen + ? "aria_labels.projects_sidebar.close_project_menu" + : "aria_labels.projects_sidebar.open_project_menu" + )} > { )} onClick={() => toggleListDisclosure(!isAllProjectsListOpen)} aria-label={t( - isAllProjectsListOpen ? "aria_labels.close_projects_menu" : "aria_labels.open_projects_menu" + isAllProjectsListOpen + ? "aria_labels.projects_sidebar.close_projects_menu" + : "aria_labels.projects_sidebar.open_projects_menu" )} > @@ -198,7 +200,7 @@ export const SidebarProjectsList: FC = observer(() => { setTrackElement(`APP_SIDEBAR_JOINED_BLOCK`); setIsProjectModalOpen(true); }} - aria-label={t("aria_labels.create_new_project")} + aria-label={t("aria_labels.projects_sidebar.create_new_project")} > @@ -210,7 +212,9 @@ export const SidebarProjectsList: FC = observer(() => { className="p-0.5 rounded hover:bg-custom-sidebar-background-80 flex-shrink-0" onClick={() => toggleListDisclosure(!isAllProjectsListOpen)} aria-label={t( - isAllProjectsListOpen ? "aria_labels.close_projects_menu" : "aria_labels.open_projects_menu" + isAllProjectsListOpen + ? "aria_labels.projects_sidebar.close_projects_menu" + : "aria_labels.projects_sidebar.open_projects_menu" )} > { })} id="extended-sidebar-toggle" aria-label={t( - extendedSidebarCollapsed ? "aria_labels.open_extended_sidebar" : "aria_labels.close_extended_sidebar" + extendedSidebarCollapsed + ? "aria_labels.projects_sidebar.open_extended_sidebar" + : "aria_labels.projects_sidebar.close_extended_sidebar" )} > From 37545cdf890ab4ca0806f8bc3ede7ad960a2d82e Mon Sep 17 00:00:00 2001 From: JayashTripathy Date: Mon, 26 May 2025 16:17:47 +0530 Subject: [PATCH 3/5] chore: add accessibility translations for multiple languages and configured store according to it --- .../i18n/src/locales/cs/accessibility.json | 27 +++++++++++ .../i18n/src/locales/cs/translations.json | 28 +----------- .../i18n/src/locales/de/accessibility.json | 27 +++++++++++ .../i18n/src/locales/de/translations.json | 28 +----------- .../i18n/src/locales/en/accessibility.json | 27 +++++++++++ .../i18n/src/locales/en/translations.json | 28 +----------- .../i18n/src/locales/es/accessibility.json | 27 +++++++++++ .../i18n/src/locales/es/translations.json | 28 +----------- .../i18n/src/locales/fr/accessibility.json | 27 +++++++++++ .../i18n/src/locales/fr/translations.json | 28 +----------- .../i18n/src/locales/id/accessibility.json | 27 +++++++++++ .../i18n/src/locales/id/translations.json | 28 +----------- .../i18n/src/locales/it/accessibility.json | 27 +++++++++++ .../i18n/src/locales/it/translations.json | 28 +----------- .../i18n/src/locales/ja/accessibility.json | 27 +++++++++++ .../i18n/src/locales/ja/translations.json | 28 +----------- .../i18n/src/locales/ko/accessibility.json | 27 +++++++++++ .../i18n/src/locales/ko/translations.json | 28 +----------- .../i18n/src/locales/pl/accessibility.json | 27 +++++++++++ .../i18n/src/locales/pl/translations.json | 28 +----------- .../i18n/src/locales/pt-BR/accessibility.json | 27 +++++++++++ .../i18n/src/locales/pt-BR/translations.json | 28 +----------- .../i18n/src/locales/ro/accessibility.json | 27 +++++++++++ .../i18n/src/locales/ro/translations.json | 28 +----------- .../i18n/src/locales/ru/accessibility.json | 27 +++++++++++ .../i18n/src/locales/ru/translations.json | 28 +----------- .../i18n/src/locales/sk/accessibility.json | 27 +++++++++++ .../i18n/src/locales/sk/translations.json | 28 +----------- .../i18n/src/locales/tr-TR/accessibility.json | 27 +++++++++++ .../i18n/src/locales/tr-TR/translations.json | 28 +----------- .../i18n/src/locales/ua/accessibility.json | 27 +++++++++++ .../i18n/src/locales/ua/translations.json | 28 +----------- .../i18n/src/locales/vi-VN/accessibility.json | 27 +++++++++++ .../i18n/src/locales/vi-VN/translations.json | 28 +----------- .../i18n/src/locales/zh-CN/accessibility.json | 27 +++++++++++ .../i18n/src/locales/zh-CN/translations.json | 28 +----------- .../i18n/src/locales/zh-TW/accessibility.json | 27 +++++++++++ .../i18n/src/locales/zh-TW/translations.json | 28 +----------- packages/i18n/src/store/index.ts | 45 ++++++++++--------- 39 files changed, 557 insertions(+), 533 deletions(-) create mode 100644 packages/i18n/src/locales/cs/accessibility.json create mode 100644 packages/i18n/src/locales/de/accessibility.json create mode 100644 packages/i18n/src/locales/en/accessibility.json create mode 100644 packages/i18n/src/locales/es/accessibility.json create mode 100644 packages/i18n/src/locales/fr/accessibility.json create mode 100644 packages/i18n/src/locales/id/accessibility.json create mode 100644 packages/i18n/src/locales/it/accessibility.json create mode 100644 packages/i18n/src/locales/ja/accessibility.json create mode 100644 packages/i18n/src/locales/ko/accessibility.json create mode 100644 packages/i18n/src/locales/pl/accessibility.json create mode 100644 packages/i18n/src/locales/pt-BR/accessibility.json create mode 100644 packages/i18n/src/locales/ro/accessibility.json create mode 100644 packages/i18n/src/locales/ru/accessibility.json create mode 100644 packages/i18n/src/locales/sk/accessibility.json create mode 100644 packages/i18n/src/locales/tr-TR/accessibility.json create mode 100644 packages/i18n/src/locales/ua/accessibility.json create mode 100644 packages/i18n/src/locales/vi-VN/accessibility.json create mode 100644 packages/i18n/src/locales/zh-CN/accessibility.json create mode 100644 packages/i18n/src/locales/zh-TW/accessibility.json diff --git a/packages/i18n/src/locales/cs/accessibility.json b/packages/i18n/src/locales/cs/accessibility.json new file mode 100644 index 00000000000..4a715f75be1 --- /dev/null +++ b/packages/i18n/src/locales/cs/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo pracovního prostoru", + "open_workspace_switcher": "Otevřít přepínač pracovního prostoru", + "open_user_menu": "Otevřít uživatelské menu", + "open_command_palette": "Otevřít paletu příkazů", + "open_extended_sidebar": "Otevřít rozšířený postranní panel", + "close_extended_sidebar": "Zavřít rozšířený postranní panel", + "create_favorites_folder": "Vytvořit složku oblíbených", + "open_folder": "Otevřít složku", + "close_folder": "Zavřít složku", + "open_favorites_menu": "Otevřít menu oblíbených", + "close_favorites_menu": "Zavřít menu oblíbených", + "enter_folder_name": "Zadejte název složky", + "create_new_project": "Vytvořit nový projekt", + "open_projects_menu": "Otevřít menu projektů", + "close_projects_menu": "Zavřít menu projektů", + "toggle_quick_actions_menu": "Přepnout menu rychlých akcí", + "open_project_menu": "Otevřít menu projektu", + "close_project_menu": "Zavřít menu projektu", + "collapse_sidebar": "Sbalit postranní panel", + "expand_sidebar": "Rozbalit postranní panel", + "edition_badge": "Otevřít modal placených plánů" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/cs/translations.json b/packages/i18n/src/locales/cs/translations.json index 569ee466b75..28109cd9d26 100644 --- a/packages/i18n/src/locales/cs/translations.json +++ b/packages/i18n/src/locales/cs/translations.json @@ -2459,31 +2459,5 @@ "last_edited_by": "Naposledy upraveno uživatelem", "previously_edited_by": "Dříve upraveno uživatelem", "edited_by": "Upraveno uživatelem" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo pracovního prostoru", - "open_workspace_switcher": "Otevřít přepínač pracovního prostoru", - "open_user_menu": "Otevřít uživatelské menu", - "open_command_palette": "Otevřít paletu příkazů", - "open_extended_sidebar": "Otevřít rozšířený postranní panel", - "close_extended_sidebar": "Zavřít rozšířený postranní panel", - "create_favorites_folder": "Vytvořit složku oblíbených", - "open_folder": "Otevřít složku", - "close_folder": "Zavřít složku", - "open_favorites_menu": "Otevřít menu oblíbených", - "close_favorites_menu": "Zavřít menu oblíbených", - "enter_folder_name": "Zadejte název složky", - "create_new_project": "Vytvořit nový projekt", - "open_projects_menu": "Otevřít menu projektů", - "close_projects_menu": "Zavřít menu projektů", - "toggle_quick_actions_menu": "Přepnout menu rychlých akcí", - "open_project_menu": "Otevřít menu projektu", - "close_project_menu": "Zavřít menu projektu", - "collapse_sidebar": "Sbalit postranní panel", - "expand_sidebar": "Rozbalit postranní panel", - "edition_badge": "Otevřít modal placených plánů" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/de/accessibility.json b/packages/i18n/src/locales/de/accessibility.json new file mode 100644 index 00000000000..0faf0091681 --- /dev/null +++ b/packages/i18n/src/locales/de/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Arbeitsbereich-Logo", + "open_workspace_switcher": "Arbeitsbereich-Umschalter öffnen", + "open_user_menu": "Benutzermenü öffnen", + "open_command_palette": "Befehlspalette öffnen", + "open_extended_sidebar": "Erweiterte Seitenleiste öffnen", + "close_extended_sidebar": "Erweiterte Seitenleiste schließen", + "create_favorites_folder": "Favoriten-Ordner erstellen", + "open_folder": "Ordner öffnen", + "close_folder": "Ordner schließen", + "open_favorites_menu": "Favoriten-Menü öffnen", + "close_favorites_menu": "Favoriten-Menü schließen", + "enter_folder_name": "Ordnername eingeben", + "create_new_project": "Neues Projekt erstellen", + "open_projects_menu": "Projekt-Menü öffnen", + "close_projects_menu": "Projekt-Menü schließen", + "toggle_quick_actions_menu": "Schnellaktionen-Menü umschalten", + "open_project_menu": "Projekt-Menü öffnen", + "close_project_menu": "Projekt-Menü schließen", + "collapse_sidebar": "Seitenleiste einklappen", + "expand_sidebar": "Seitenleiste ausklappen", + "edition_badge": "Modal für kostenpflichtige Pläne öffnen" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/de/translations.json b/packages/i18n/src/locales/de/translations.json index 15cfa1e01f9..1cc37072872 100644 --- a/packages/i18n/src/locales/de/translations.json +++ b/packages/i18n/src/locales/de/translations.json @@ -2458,31 +2458,5 @@ "last_edited_by": "Zuletzt bearbeitet von", "previously_edited_by": "Zuvor bearbeitet von", "edited_by": "Bearbeitet von" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Arbeitsbereich-Logo", - "open_workspace_switcher": "Arbeitsbereich-Umschalter öffnen", - "open_user_menu": "Benutzermenü öffnen", - "open_command_palette": "Befehlspalette öffnen", - "open_extended_sidebar": "Erweiterte Seitenleiste öffnen", - "close_extended_sidebar": "Erweiterte Seitenleiste schließen", - "create_favorites_folder": "Favoriten-Ordner erstellen", - "open_folder": "Ordner öffnen", - "close_folder": "Ordner schließen", - "open_favorites_menu": "Favoriten-Menü öffnen", - "close_favorites_menu": "Favoriten-Menü schließen", - "enter_folder_name": "Ordnername eingeben", - "create_new_project": "Neues Projekt erstellen", - "open_projects_menu": "Projekt-Menü öffnen", - "close_projects_menu": "Projekt-Menü schließen", - "toggle_quick_actions_menu": "Schnellaktionen-Menü umschalten", - "open_project_menu": "Projekt-Menü öffnen", - "close_project_menu": "Projekt-Menü schließen", - "collapse_sidebar": "Seitenleiste einklappen", - "expand_sidebar": "Seitenleiste ausklappen", - "edition_badge": "Modal für kostenpflichtige Pläne öffnen" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/en/accessibility.json b/packages/i18n/src/locales/en/accessibility.json new file mode 100644 index 00000000000..35759d26627 --- /dev/null +++ b/packages/i18n/src/locales/en/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Workspace logo", + "open_workspace_switcher": "Open workspace switcher", + "open_user_menu": "Open user menu", + "open_command_palette": "Open command palette", + "open_extended_sidebar": "Open extended sidebar", + "close_extended_sidebar": "Close extended sidebar", + "create_favorites_folder": "Create favorites folder", + "open_folder": "Open folder", + "close_folder": "Close folder", + "open_favorites_menu": "Open favorites menu", + "close_favorites_menu": "Close favorites menu", + "enter_folder_name": "Enter folder name", + "create_new_project": "Create new project", + "open_projects_menu": "Open projects menu", + "close_projects_menu": "Close projects menu", + "toggle_quick_actions_menu": "Toggle quick actions menu", + "open_project_menu": "Open project menu", + "close_project_menu": "Close project menu", + "collapse_sidebar": "Collapse sidebar", + "expand_sidebar": "Expand sidebar", + "edition_badge": "Open paid plans' modal" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/en/translations.json b/packages/i18n/src/locales/en/translations.json index c598d2c553c..ead40fd1e53 100644 --- a/packages/i18n/src/locales/en/translations.json +++ b/packages/i18n/src/locales/en/translations.json @@ -2295,31 +2295,5 @@ "last_edited_by": "Last edited by", "previously_edited_by": "Previously edited by", "edited_by": "Edited by" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Workspace logo", - "open_workspace_switcher": "Open workspace switcher", - "open_user_menu": "Open user menu", - "open_command_palette": "Open command palette", - "open_extended_sidebar": "Open extended sidebar", - "close_extended_sidebar": "Close extended sidebar", - "create_favorites_folder": "Create favorites folder", - "open_folder": "Open folder", - "close_folder": "Close folder", - "open_favorites_menu": "Open favorites menu", - "close_favorites_menu": "Close favorites menu", - "enter_folder_name": "Enter folder name", - "create_new_project": "Create new project", - "open_projects_menu": "Open projects menu", - "close_projects_menu": "Close projects menu", - "toggle_quick_actions_menu": "Toggle quick actions menu", - "open_project_menu": "Open project menu", - "close_project_menu": "Close project menu", - "collapse_sidebar": "Collapse sidebar", - "expand_sidebar": "Expand sidebar", - "edition_badge": "Open paid plans' modal" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/es/accessibility.json b/packages/i18n/src/locales/es/accessibility.json new file mode 100644 index 00000000000..41bf0b777d0 --- /dev/null +++ b/packages/i18n/src/locales/es/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo del espacio de trabajo", + "open_workspace_switcher": "Abrir cambiador de espacio de trabajo", + "open_user_menu": "Abrir menú de usuario", + "open_command_palette": "Abrir paleta de comandos", + "open_extended_sidebar": "Abrir barra lateral extendida", + "close_extended_sidebar": "Cerrar barra lateral extendida", + "create_favorites_folder": "Crear carpeta de favoritos", + "open_folder": "Abrir carpeta", + "close_folder": "Cerrar carpeta", + "open_favorites_menu": "Abrir menú de favoritos", + "close_favorites_menu": "Cerrar menú de favoritos", + "enter_folder_name": "Ingresar nombre de carpeta", + "create_new_project": "Crear nuevo proyecto", + "open_projects_menu": "Abrir menú de proyectos", + "close_projects_menu": "Cerrar menú de proyectos", + "toggle_quick_actions_menu": "Alternar menú de acciones rápidas", + "open_project_menu": "Abrir menú de proyecto", + "close_project_menu": "Cerrar menú de proyecto", + "collapse_sidebar": "Colapsar barra lateral", + "expand_sidebar": "Expandir barra lateral", + "edition_badge": "Abrir modal de planes de pago" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/es/translations.json b/packages/i18n/src/locales/es/translations.json index cedfdec5429..94f1819a48d 100644 --- a/packages/i18n/src/locales/es/translations.json +++ b/packages/i18n/src/locales/es/translations.json @@ -2461,31 +2461,5 @@ "last_edited_by": "Última edición por", "previously_edited_by": "Editado anteriormente por", "edited_by": "Editado por" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo del espacio de trabajo", - "open_workspace_switcher": "Abrir cambiador de espacio de trabajo", - "open_user_menu": "Abrir menú de usuario", - "open_command_palette": "Abrir paleta de comandos", - "open_extended_sidebar": "Abrir barra lateral extendida", - "close_extended_sidebar": "Cerrar barra lateral extendida", - "create_favorites_folder": "Crear carpeta de favoritos", - "open_folder": "Abrir carpeta", - "close_folder": "Cerrar carpeta", - "open_favorites_menu": "Abrir menú de favoritos", - "close_favorites_menu": "Cerrar menú de favoritos", - "enter_folder_name": "Ingresar nombre de carpeta", - "create_new_project": "Crear nuevo proyecto", - "open_projects_menu": "Abrir menú de proyectos", - "close_projects_menu": "Cerrar menú de proyectos", - "toggle_quick_actions_menu": "Alternar menú de acciones rápidas", - "open_project_menu": "Abrir menú de proyecto", - "close_project_menu": "Cerrar menú de proyecto", - "collapse_sidebar": "Colapsar barra lateral", - "expand_sidebar": "Expandir barra lateral", - "edition_badge": "Abrir modal de planes de pago" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/fr/accessibility.json b/packages/i18n/src/locales/fr/accessibility.json new file mode 100644 index 00000000000..ba42a4f4183 --- /dev/null +++ b/packages/i18n/src/locales/fr/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo de l'espace de travail", + "open_workspace_switcher": "Ouvrir le sélecteur d'espace de travail", + "open_user_menu": "Ouvrir le menu utilisateur", + "open_command_palette": "Ouvrir la palette de commandes", + "open_extended_sidebar": "Ouvrir la barre latérale étendue", + "close_extended_sidebar": "Fermer la barre latérale étendue", + "create_favorites_folder": "Créer un dossier de favoris", + "open_folder": "Ouvrir le dossier", + "close_folder": "Fermer le dossier", + "open_favorites_menu": "Ouvrir le menu des favoris", + "close_favorites_menu": "Fermer le menu des favoris", + "enter_folder_name": "Saisir le nom du dossier", + "create_new_project": "Créer un nouveau projet", + "open_projects_menu": "Ouvrir le menu des projets", + "close_projects_menu": "Fermer le menu des projets", + "toggle_quick_actions_menu": "Basculer le menu d'actions rapides", + "open_project_menu": "Ouvrir le menu du projet", + "close_project_menu": "Fermer le menu du projet", + "collapse_sidebar": "Réduire la barre latérale", + "expand_sidebar": "Étendre la barre latérale", + "edition_badge": "Ouvrir le modal des plans payants" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/fr/translations.json b/packages/i18n/src/locales/fr/translations.json index 054100d2f42..4f356f1491e 100644 --- a/packages/i18n/src/locales/fr/translations.json +++ b/packages/i18n/src/locales/fr/translations.json @@ -2459,31 +2459,5 @@ "last_edited_by": "Dernière modification par", "previously_edited_by": "Précédemment modifié par", "edited_by": "Modifié par" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo de l'espace de travail", - "open_workspace_switcher": "Ouvrir le sélecteur d'espace de travail", - "open_user_menu": "Ouvrir le menu utilisateur", - "open_command_palette": "Ouvrir la palette de commandes", - "open_extended_sidebar": "Ouvrir la barre latérale étendue", - "close_extended_sidebar": "Fermer la barre latérale étendue", - "create_favorites_folder": "Créer un dossier de favoris", - "open_folder": "Ouvrir le dossier", - "close_folder": "Fermer le dossier", - "open_favorites_menu": "Ouvrir le menu des favoris", - "close_favorites_menu": "Fermer le menu des favoris", - "enter_folder_name": "Saisir le nom du dossier", - "create_new_project": "Créer un nouveau projet", - "open_projects_menu": "Ouvrir le menu des projets", - "close_projects_menu": "Fermer le menu des projets", - "toggle_quick_actions_menu": "Basculer le menu d'actions rapides", - "open_project_menu": "Ouvrir le menu du projet", - "close_project_menu": "Fermer le menu du projet", - "collapse_sidebar": "Réduire la barre latérale", - "expand_sidebar": "Étendre la barre latérale", - "edition_badge": "Ouvrir le modal des plans payants" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/id/accessibility.json b/packages/i18n/src/locales/id/accessibility.json new file mode 100644 index 00000000000..2aca032cc11 --- /dev/null +++ b/packages/i18n/src/locales/id/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo ruang kerja", + "open_workspace_switcher": "Buka penukar ruang kerja", + "open_user_menu": "Buka menu pengguna", + "open_command_palette": "Buka palet perintah", + "open_extended_sidebar": "Buka sidebar diperluas", + "close_extended_sidebar": "Tutup sidebar diperluas", + "create_favorites_folder": "Buat folder favorit", + "open_folder": "Buka folder", + "close_folder": "Tutup folder", + "open_favorites_menu": "Buka menu favorit", + "close_favorites_menu": "Tutup menu favorit", + "enter_folder_name": "Masukkan nama folder", + "create_new_project": "Buat proyek baru", + "open_projects_menu": "Buka menu proyek", + "close_projects_menu": "Tutup menu proyek", + "toggle_quick_actions_menu": "Alihkan menu tindakan cepat", + "open_project_menu": "Buka menu proyek", + "close_project_menu": "Tutup menu proyek", + "collapse_sidebar": "Tutup sidebar", + "expand_sidebar": "Perluas sidebar", + "edition_badge": "Buka modal paket berbayar" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/id/translations.json b/packages/i18n/src/locales/id/translations.json index 25c217e854c..20b683c65fe 100644 --- a/packages/i18n/src/locales/id/translations.json +++ b/packages/i18n/src/locales/id/translations.json @@ -2453,31 +2453,5 @@ "last_edited_by": "Terakhir disunting oleh", "previously_edited_by": "Sebelumnya disunting oleh", "edited_by": "Disunting oleh" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo ruang kerja", - "open_workspace_switcher": "Buka penukar ruang kerja", - "open_user_menu": "Buka menu pengguna", - "open_command_palette": "Buka palet perintah", - "open_extended_sidebar": "Buka sidebar diperluas", - "close_extended_sidebar": "Tutup sidebar diperluas", - "create_favorites_folder": "Buat folder favorit", - "open_folder": "Buka folder", - "close_folder": "Tutup folder", - "open_favorites_menu": "Buka menu favorit", - "close_favorites_menu": "Tutup menu favorit", - "enter_folder_name": "Masukkan nama folder", - "create_new_project": "Buat proyek baru", - "open_projects_menu": "Buka menu proyek", - "close_projects_menu": "Tutup menu proyek", - "toggle_quick_actions_menu": "Alihkan menu tindakan cepat", - "open_project_menu": "Buka menu proyek", - "close_project_menu": "Tutup menu proyek", - "collapse_sidebar": "Tutup sidebar", - "expand_sidebar": "Perluas sidebar", - "edition_badge": "Buka modal paket berbayar" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/it/accessibility.json b/packages/i18n/src/locales/it/accessibility.json new file mode 100644 index 00000000000..8f22d3b8ea4 --- /dev/null +++ b/packages/i18n/src/locales/it/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo dell'area di lavoro", + "open_workspace_switcher": "Apri selettore area di lavoro", + "open_user_menu": "Apri menu utente", + "open_command_palette": "Apri tavolozza comandi", + "open_extended_sidebar": "Apri barra laterale estesa", + "close_extended_sidebar": "Chiudi barra laterale estesa", + "create_favorites_folder": "Crea cartella preferiti", + "open_folder": "Apri cartella", + "close_folder": "Chiudi cartella", + "open_favorites_menu": "Apri menu preferiti", + "close_favorites_menu": "Chiudi menu preferiti", + "enter_folder_name": "Inserisci nome cartella", + "create_new_project": "Crea nuovo progetto", + "open_projects_menu": "Apri menu progetti", + "close_projects_menu": "Chiudi menu progetti", + "toggle_quick_actions_menu": "Attiva/disattiva menu azioni rapide", + "open_project_menu": "Apri menu progetto", + "close_project_menu": "Chiudi menu progetto", + "collapse_sidebar": "Comprimi barra laterale", + "expand_sidebar": "Espandi barra laterale", + "edition_badge": "Apri modal piani a pagamento" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/it/translations.json b/packages/i18n/src/locales/it/translations.json index 91b6306c21f..5534d885c10 100644 --- a/packages/i18n/src/locales/it/translations.json +++ b/packages/i18n/src/locales/it/translations.json @@ -2458,31 +2458,5 @@ "last_edited_by": "Ultima modifica di", "previously_edited_by": "Precedentemente modificato da", "edited_by": "Modificato da" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo dell'area di lavoro", - "open_workspace_switcher": "Apri selettore area di lavoro", - "open_user_menu": "Apri menu utente", - "open_command_palette": "Apri tavolozza comandi", - "open_extended_sidebar": "Apri barra laterale estesa", - "close_extended_sidebar": "Chiudi barra laterale estesa", - "create_favorites_folder": "Crea cartella preferiti", - "open_folder": "Apri cartella", - "close_folder": "Chiudi cartella", - "open_favorites_menu": "Apri menu preferiti", - "close_favorites_menu": "Chiudi menu preferiti", - "enter_folder_name": "Inserisci nome cartella", - "create_new_project": "Crea nuovo progetto", - "open_projects_menu": "Apri menu progetti", - "close_projects_menu": "Chiudi menu progetti", - "toggle_quick_actions_menu": "Attiva/disattiva menu azioni rapide", - "open_project_menu": "Apri menu progetto", - "close_project_menu": "Chiudi menu progetto", - "collapse_sidebar": "Comprimi barra laterale", - "expand_sidebar": "Espandi barra laterale", - "edition_badge": "Apri modal piani a pagamento" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ja/accessibility.json b/packages/i18n/src/locales/ja/accessibility.json new file mode 100644 index 00000000000..a598c435a9a --- /dev/null +++ b/packages/i18n/src/locales/ja/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "ワークスペースロゴ", + "open_workspace_switcher": "ワークスペーススイッチャーを開く", + "open_user_menu": "ユーザーメニューを開く", + "open_command_palette": "コマンドパレットを開く", + "open_extended_sidebar": "拡張サイドバーを開く", + "close_extended_sidebar": "拡張サイドバーを閉じる", + "create_favorites_folder": "お気に入りフォルダを作成", + "open_folder": "フォルダを開く", + "close_folder": "フォルダを閉じる", + "open_favorites_menu": "お気に入りメニューを開く", + "close_favorites_menu": "お気に入りメニューを閉じる", + "enter_folder_name": "フォルダ名を入力", + "create_new_project": "新しいプロジェクトを作成", + "open_projects_menu": "プロジェクトメニューを開く", + "close_projects_menu": "プロジェクトメニューを閉じる", + "toggle_quick_actions_menu": "クイックアクションメニューの切り替え", + "open_project_menu": "プロジェクトメニューを開く", + "close_project_menu": "プロジェクトメニューを閉じる", + "collapse_sidebar": "サイドバーを折りたたむ", + "expand_sidebar": "サイドバーを展開", + "edition_badge": "有料プランのモーダルを開く" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ja/translations.json b/packages/i18n/src/locales/ja/translations.json index 792b045a9a1..a6f36a65b5f 100644 --- a/packages/i18n/src/locales/ja/translations.json +++ b/packages/i18n/src/locales/ja/translations.json @@ -2459,31 +2459,5 @@ "last_edited_by": "最終編集者", "previously_edited_by": "以前の編集者", "edited_by": "編集者" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "ワークスペースロゴ", - "open_workspace_switcher": "ワークスペーススイッチャーを開く", - "open_user_menu": "ユーザーメニューを開く", - "open_command_palette": "コマンドパレットを開く", - "open_extended_sidebar": "拡張サイドバーを開く", - "close_extended_sidebar": "拡張サイドバーを閉じる", - "create_favorites_folder": "お気に入りフォルダを作成", - "open_folder": "フォルダを開く", - "close_folder": "フォルダを閉じる", - "open_favorites_menu": "お気に入りメニューを開く", - "close_favorites_menu": "お気に入りメニューを閉じる", - "enter_folder_name": "フォルダ名を入力", - "create_new_project": "新しいプロジェクトを作成", - "open_projects_menu": "プロジェクトメニューを開く", - "close_projects_menu": "プロジェクトメニューを閉じる", - "toggle_quick_actions_menu": "クイックアクションメニューの切り替え", - "open_project_menu": "プロジェクトメニューを開く", - "close_project_menu": "プロジェクトメニューを閉じる", - "collapse_sidebar": "サイドバーを折りたたむ", - "expand_sidebar": "サイドバーを展開", - "edition_badge": "有料プランのモーダルを開く" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ko/accessibility.json b/packages/i18n/src/locales/ko/accessibility.json new file mode 100644 index 00000000000..491b8c35c6a --- /dev/null +++ b/packages/i18n/src/locales/ko/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "워크스페이스 로고", + "open_workspace_switcher": "워크스페이스 전환기 열기", + "open_user_menu": "사용자 메뉴 열기", + "open_command_palette": "명령 팔레트 열기", + "open_extended_sidebar": "확장된 사이드바 열기", + "close_extended_sidebar": "확장된 사이드바 닫기", + "create_favorites_folder": "즐겨찾기 폴더 생성", + "open_folder": "폴더 열기", + "close_folder": "폴더 닫기", + "open_favorites_menu": "즐겨찾기 메뉴 열기", + "close_favorites_menu": "즐겨찾기 메뉴 닫기", + "enter_folder_name": "폴더 이름 입력", + "create_new_project": "새 프로젝트 생성", + "open_projects_menu": "프로젝트 메뉴 열기", + "close_projects_menu": "프로젝트 메뉴 닫기", + "toggle_quick_actions_menu": "빠른 작업 메뉴 토글", + "open_project_menu": "프로젝트 메뉴 열기", + "close_project_menu": "프로젝트 메뉴 닫기", + "collapse_sidebar": "사이드바 축소", + "expand_sidebar": "사이드바 확장", + "edition_badge": "유료 플랜 모달 열기" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ko/translations.json b/packages/i18n/src/locales/ko/translations.json index 8c56189d37a..2858d729cb4 100644 --- a/packages/i18n/src/locales/ko/translations.json +++ b/packages/i18n/src/locales/ko/translations.json @@ -2461,31 +2461,5 @@ "last_edited_by": "마지막 편집자", "previously_edited_by": "이전 편집자", "edited_by": "편집자" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "워크스페이스 로고", - "open_workspace_switcher": "워크스페이스 전환기 열기", - "open_user_menu": "사용자 메뉴 열기", - "open_command_palette": "명령 팔레트 열기", - "open_extended_sidebar": "확장된 사이드바 열기", - "close_extended_sidebar": "확장된 사이드바 닫기", - "create_favorites_folder": "즐겨찾기 폴더 생성", - "open_folder": "폴더 열기", - "close_folder": "폴더 닫기", - "open_favorites_menu": "즐겨찾기 메뉴 열기", - "close_favorites_menu": "즐겨찾기 메뉴 닫기", - "enter_folder_name": "폴더 이름 입력", - "create_new_project": "새 프로젝트 생성", - "open_projects_menu": "프로젝트 메뉴 열기", - "close_projects_menu": "프로젝트 메뉴 닫기", - "toggle_quick_actions_menu": "빠른 작업 메뉴 토글", - "open_project_menu": "프로젝트 메뉴 열기", - "close_project_menu": "프로젝트 메뉴 닫기", - "collapse_sidebar": "사이드바 축소", - "expand_sidebar": "사이드바 확장", - "edition_badge": "유료 플랜 모달 열기" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/pl/accessibility.json b/packages/i18n/src/locales/pl/accessibility.json new file mode 100644 index 00000000000..5ff936d47f2 --- /dev/null +++ b/packages/i18n/src/locales/pl/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo obszaru roboczego", + "open_workspace_switcher": "Otwórz przełącznik obszaru roboczego", + "open_user_menu": "Otwórz menu użytkownika", + "open_command_palette": "Otwórz paletę poleceń", + "open_extended_sidebar": "Otwórz rozszerzoną pasek boczny", + "close_extended_sidebar": "Zamknij rozszerzoną pasek boczny", + "create_favorites_folder": "Utwórz folder ulubionych", + "open_folder": "Otwórz folder", + "close_folder": "Zamknij folder", + "open_favorites_menu": "Otwórz menu ulubionych", + "close_favorites_menu": "Zamknij menu ulubionych", + "enter_folder_name": "Wprowadź nazwę folderu", + "create_new_project": "Utwórz nowy projekt", + "open_projects_menu": "Otwórz menu projektów", + "close_projects_menu": "Zamknij menu projektów", + "toggle_quick_actions_menu": "Przełącz menu szybkich akcji", + "open_project_menu": "Otwórz menu projektu", + "close_project_menu": "Zamknij menu projektu", + "collapse_sidebar": "Zwiń pasek boczny", + "expand_sidebar": "Rozwiń pasek boczny", + "edition_badge": "Otwórz modal płatnych planów" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/pl/translations.json b/packages/i18n/src/locales/pl/translations.json index d7140746d97..d11005833fd 100644 --- a/packages/i18n/src/locales/pl/translations.json +++ b/packages/i18n/src/locales/pl/translations.json @@ -2460,31 +2460,5 @@ "last_edited_by": "Ostatnio edytowane przez", "previously_edited_by": "Wcześniej edytowane przez", "edited_by": "Edytowane przez" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo obszaru roboczego", - "open_workspace_switcher": "Otwórz przełącznik obszaru roboczego", - "open_user_menu": "Otwórz menu użytkownika", - "open_command_palette": "Otwórz paletę poleceń", - "open_extended_sidebar": "Otwórz rozszerzoną pasek boczny", - "close_extended_sidebar": "Zamknij rozszerzoną pasek boczny", - "create_favorites_folder": "Utwórz folder ulubionych", - "open_folder": "Otwórz folder", - "close_folder": "Zamknij folder", - "open_favorites_menu": "Otwórz menu ulubionych", - "close_favorites_menu": "Zamknij menu ulubionych", - "enter_folder_name": "Wprowadź nazwę folderu", - "create_new_project": "Utwórz nowy projekt", - "open_projects_menu": "Otwórz menu projektów", - "close_projects_menu": "Zamknij menu projektów", - "toggle_quick_actions_menu": "Przełącz menu szybkich akcji", - "open_project_menu": "Otwórz menu projektu", - "close_project_menu": "Zamknij menu projektu", - "collapse_sidebar": "Zwiń pasek boczny", - "expand_sidebar": "Rozwiń pasek boczny", - "edition_badge": "Otwórz modal płatnych planów" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/pt-BR/accessibility.json b/packages/i18n/src/locales/pt-BR/accessibility.json new file mode 100644 index 00000000000..333b55a7fbc --- /dev/null +++ b/packages/i18n/src/locales/pt-BR/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo do espaço de trabalho", + "open_workspace_switcher": "Abrir seletor de espaço de trabalho", + "open_user_menu": "Abrir menu do usuário", + "open_command_palette": "Abrir paleta de comandos", + "open_extended_sidebar": "Abrir barra lateral estendida", + "close_extended_sidebar": "Fechar barra lateral estendida", + "create_favorites_folder": "Criar pasta de favoritos", + "open_folder": "Abrir pasta", + "close_folder": "Fechar pasta", + "open_favorites_menu": "Abrir menu de favoritos", + "close_favorites_menu": "Fechar menu de favoritos", + "enter_folder_name": "Digite o nome da pasta", + "create_new_project": "Criar novo projeto", + "open_projects_menu": "Abrir menu de projetos", + "close_projects_menu": "Fechar menu de projetos", + "toggle_quick_actions_menu": "Alternar menu de ações rápidas", + "open_project_menu": "Abrir menu do projeto", + "close_project_menu": "Fechar menu do projeto", + "collapse_sidebar": "Recolher barra lateral", + "expand_sidebar": "Expandir barra lateral", + "edition_badge": "Abrir modal de planos pagos" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/pt-BR/translations.json b/packages/i18n/src/locales/pt-BR/translations.json index c345d5ae196..de630da9745 100644 --- a/packages/i18n/src/locales/pt-BR/translations.json +++ b/packages/i18n/src/locales/pt-BR/translations.json @@ -2455,31 +2455,5 @@ "last_edited_by": "Última edição por", "previously_edited_by": "Anteriormente editado por", "edited_by": "Editado por" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo do espaço de trabalho", - "open_workspace_switcher": "Abrir seletor de espaço de trabalho", - "open_user_menu": "Abrir menu do usuário", - "open_command_palette": "Abrir paleta de comandos", - "open_extended_sidebar": "Abrir barra lateral estendida", - "close_extended_sidebar": "Fechar barra lateral estendida", - "create_favorites_folder": "Criar pasta de favoritos", - "open_folder": "Abrir pasta", - "close_folder": "Fechar pasta", - "open_favorites_menu": "Abrir menu de favoritos", - "close_favorites_menu": "Fechar menu de favoritos", - "enter_folder_name": "Digite o nome da pasta", - "create_new_project": "Criar novo projeto", - "open_projects_menu": "Abrir menu de projetos", - "close_projects_menu": "Fechar menu de projetos", - "toggle_quick_actions_menu": "Alternar menu de ações rápidas", - "open_project_menu": "Abrir menu do projeto", - "close_project_menu": "Fechar menu do projeto", - "collapse_sidebar": "Recolher barra lateral", - "expand_sidebar": "Expandir barra lateral", - "edition_badge": "Abrir modal de planos pagos" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ro/accessibility.json b/packages/i18n/src/locales/ro/accessibility.json new file mode 100644 index 00000000000..1a201a48c8a --- /dev/null +++ b/packages/i18n/src/locales/ro/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo spațiu de lucru", + "open_workspace_switcher": "Deschide comutator spațiu de lucru", + "open_user_menu": "Deschide meniul utilizatorului", + "open_command_palette": "Deschide paleta de comenzi", + "open_extended_sidebar": "Deschide bara laterală extinsă", + "close_extended_sidebar": "Închide bara laterală extinsă", + "create_favorites_folder": "Creează folder de favorite", + "open_folder": "Deschide folderul", + "close_folder": "Închide folderul", + "open_favorites_menu": "Deschide meniul de favorite", + "close_favorites_menu": "Închide meniul de favorite", + "enter_folder_name": "Introduceți numele folderului", + "create_new_project": "Creează proiect nou", + "open_projects_menu": "Deschide meniul de proiecte", + "close_projects_menu": "Închide meniul de proiecte", + "toggle_quick_actions_menu": "Comută meniul de acțiuni rapide", + "open_project_menu": "Deschide meniul proiectului", + "close_project_menu": "Închide meniul proiectului", + "collapse_sidebar": "Restrânge bara laterală", + "expand_sidebar": "Extinde bara laterală", + "edition_badge": "Deschide modalul planurilor plătite" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ro/translations.json b/packages/i18n/src/locales/ro/translations.json index ed0e7bd59ae..f60a4881b55 100644 --- a/packages/i18n/src/locales/ro/translations.json +++ b/packages/i18n/src/locales/ro/translations.json @@ -2453,31 +2453,5 @@ "last_edited_by": "Ultima editare de către", "previously_edited_by": "Editat anterior de către", "edited_by": "Editat de" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo spațiu de lucru", - "open_workspace_switcher": "Deschide comutator spațiu de lucru", - "open_user_menu": "Deschide meniul utilizatorului", - "open_command_palette": "Deschide paleta de comenzi", - "open_extended_sidebar": "Deschide bara laterală extinsă", - "close_extended_sidebar": "Închide bara laterală extinsă", - "create_favorites_folder": "Creează folder de favorite", - "open_folder": "Deschide folderul", - "close_folder": "Închide folderul", - "open_favorites_menu": "Deschide meniul de favorite", - "close_favorites_menu": "Închide meniul de favorite", - "enter_folder_name": "Introduceți numele folderului", - "create_new_project": "Creează proiect nou", - "open_projects_menu": "Deschide meniul de proiecte", - "close_projects_menu": "Închide meniul de proiecte", - "toggle_quick_actions_menu": "Comută meniul de acțiuni rapide", - "open_project_menu": "Deschide meniul proiectului", - "close_project_menu": "Închide meniul proiectului", - "collapse_sidebar": "Restrânge bara laterală", - "expand_sidebar": "Extinde bara laterală", - "edition_badge": "Deschide modalul planurilor plătite" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ru/accessibility.json b/packages/i18n/src/locales/ru/accessibility.json new file mode 100644 index 00000000000..ebec8dc2f86 --- /dev/null +++ b/packages/i18n/src/locales/ru/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Логотип рабочей области", + "open_workspace_switcher": "Открыть переключатель рабочей области", + "open_user_menu": "Открыть пользовательское меню", + "open_command_palette": "Открыть палитру команд", + "open_extended_sidebar": "Открыть расширенную боковую панель", + "close_extended_sidebar": "Закрыть расширенную боковую панель", + "create_favorites_folder": "Создать папку избранного", + "open_folder": "Открыть папку", + "close_folder": "Закрыть папку", + "open_favorites_menu": "Открыть меню избранного", + "close_favorites_menu": "Закрыть меню избранного", + "enter_folder_name": "Введите имя папки", + "create_new_project": "Создать новый проект", + "open_projects_menu": "Открыть меню проектов", + "close_projects_menu": "Закрыть меню проектов", + "toggle_quick_actions_menu": "Переключить меню быстрых действий", + "open_project_menu": "Открыть меню проекта", + "close_project_menu": "Закрыть меню проекта", + "collapse_sidebar": "Свернуть боковую панель", + "expand_sidebar": "Развернуть боковую панель", + "edition_badge": "Открыть модал платных планов" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ru/translations.json b/packages/i18n/src/locales/ru/translations.json index 912515c658c..564716529d2 100644 --- a/packages/i18n/src/locales/ru/translations.json +++ b/packages/i18n/src/locales/ru/translations.json @@ -2461,31 +2461,5 @@ "last_edited_by": "Последнее редактирование", "previously_edited_by": "Ранее отредактировано", "edited_by": "Отредактировано" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Логотип рабочей области", - "open_workspace_switcher": "Открыть переключатель рабочей области", - "open_user_menu": "Открыть пользовательское меню", - "open_command_palette": "Открыть палитру команд", - "open_extended_sidebar": "Открыть расширенную боковую панель", - "close_extended_sidebar": "Закрыть расширенную боковую панель", - "create_favorites_folder": "Создать папку избранного", - "open_folder": "Открыть папку", - "close_folder": "Закрыть папку", - "open_favorites_menu": "Открыть меню избранного", - "close_favorites_menu": "Закрыть меню избранного", - "enter_folder_name": "Введите имя папки", - "create_new_project": "Создать новый проект", - "open_projects_menu": "Открыть меню проектов", - "close_projects_menu": "Закрыть меню проектов", - "toggle_quick_actions_menu": "Переключить меню быстрых действий", - "open_project_menu": "Открыть меню проекта", - "close_project_menu": "Закрыть меню проекта", - "collapse_sidebar": "Свернуть боковую панель", - "expand_sidebar": "Развернуть боковую панель", - "edition_badge": "Открыть модал платных планов" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/sk/accessibility.json b/packages/i18n/src/locales/sk/accessibility.json new file mode 100644 index 00000000000..59a309f6032 --- /dev/null +++ b/packages/i18n/src/locales/sk/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo pracovného priestoru", + "open_workspace_switcher": "Otvoriť prepínač pracovného priestoru", + "open_user_menu": "Otvoriť používateľské menu", + "open_command_palette": "Otvoriť paletu príkazov", + "open_extended_sidebar": "Otvoriť rozšírený bočný panel", + "close_extended_sidebar": "Zavrieť rozšírený bočný panel", + "create_favorites_folder": "Vytvoriť priečinok obľúbených", + "open_folder": "Otvoriť priečinok", + "close_folder": "Zavrieť priečinok", + "open_favorites_menu": "Otvoriť menu obľúbených", + "close_favorites_menu": "Zavrieť menu obľúbených", + "enter_folder_name": "Zadajte názov priečinka", + "create_new_project": "Vytvoriť nový projekt", + "open_projects_menu": "Otvoriť menu projektov", + "close_projects_menu": "Zavrieť menu projektov", + "toggle_quick_actions_menu": "Prepnúť menu rýchlych akcií", + "open_project_menu": "Otvoriť menu projektu", + "close_project_menu": "Zavrieť menu projektu", + "collapse_sidebar": "Zbaliť bočný panel", + "expand_sidebar": "Rozbaliť bočný panel", + "edition_badge": "Otvoriť modal platených plánov" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/sk/translations.json b/packages/i18n/src/locales/sk/translations.json index e80bba44cf9..60f2c21ca86 100644 --- a/packages/i18n/src/locales/sk/translations.json +++ b/packages/i18n/src/locales/sk/translations.json @@ -2460,31 +2460,5 @@ "last_edited_by": "Naposledy upravené používateľom", "previously_edited_by": "Predtým upravené používateľom", "edited_by": "Upravené používateľom" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo pracovného priestoru", - "open_workspace_switcher": "Otvoriť prepínač pracovného priestoru", - "open_user_menu": "Otvoriť používateľské menu", - "open_command_palette": "Otvoriť paletu príkazov", - "open_extended_sidebar": "Otvoriť rozšírený bočný panel", - "close_extended_sidebar": "Zavrieť rozšírený bočný panel", - "create_favorites_folder": "Vytvoriť priečinok obľúbených", - "open_folder": "Otvoriť priečinok", - "close_folder": "Zavrieť priečinok", - "open_favorites_menu": "Otvoriť menu obľúbených", - "close_favorites_menu": "Zavrieť menu obľúbených", - "enter_folder_name": "Zadajte názov priečinka", - "create_new_project": "Vytvoriť nový projekt", - "open_projects_menu": "Otvoriť menu projektov", - "close_projects_menu": "Zavrieť menu projektov", - "toggle_quick_actions_menu": "Prepnúť menu rýchlych akcií", - "open_project_menu": "Otvoriť menu projektu", - "close_project_menu": "Zavrieť menu projektu", - "collapse_sidebar": "Zbaliť bočný panel", - "expand_sidebar": "Rozbaliť bočný panel", - "edition_badge": "Otvoriť modal platených plánov" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/tr-TR/accessibility.json b/packages/i18n/src/locales/tr-TR/accessibility.json new file mode 100644 index 00000000000..35b8f340e9c --- /dev/null +++ b/packages/i18n/src/locales/tr-TR/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Çalışma alanı logosu", + "open_workspace_switcher": "Çalışma alanı değiştiricisini aç", + "open_user_menu": "Kullanıcı menüsünü aç", + "open_command_palette": "Komut paletini aç", + "open_extended_sidebar": "Genişletilmiş kenar çubuğunu aç", + "close_extended_sidebar": "Genişletilmiş kenar çubuğunu kapat", + "create_favorites_folder": "Favoriler klasörü oluştur", + "open_folder": "Klasörü aç", + "close_folder": "Klasörü kapat", + "open_favorites_menu": "Favoriler menüsünü aç", + "close_favorites_menu": "Favoriler menüsünü kapat", + "enter_folder_name": "Klasör adını girin", + "create_new_project": "Yeni proje oluştur", + "open_projects_menu": "Projeler menüsünü aç", + "close_projects_menu": "Projeler menüsünü kapat", + "toggle_quick_actions_menu": "Hızlı eylemler menüsünü aç/kapat", + "open_project_menu": "Proje menüsünü aç", + "close_project_menu": "Proje menüsünü kapat", + "collapse_sidebar": "Kenar çubuğunu daralt", + "expand_sidebar": "Kenar çubuğunu genişlet", + "edition_badge": "Ücretli planlar modalını aç" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/tr-TR/translations.json b/packages/i18n/src/locales/tr-TR/translations.json index f91496fcfc2..cec11a99217 100644 --- a/packages/i18n/src/locales/tr-TR/translations.json +++ b/packages/i18n/src/locales/tr-TR/translations.json @@ -2439,31 +2439,5 @@ "last_edited_by": "Son düzenleyen", "previously_edited_by": "Önceki düzenleyen", "edited_by": "Tarafından düzenlendi" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Çalışma alanı logosu", - "open_workspace_switcher": "Çalışma alanı değiştiricisini aç", - "open_user_menu": "Kullanıcı menüsünü aç", - "open_command_palette": "Komut paletini aç", - "open_extended_sidebar": "Genişletilmiş kenar çubuğunu aç", - "close_extended_sidebar": "Genişletilmiş kenar çubuğunu kapat", - "create_favorites_folder": "Favoriler klasörü oluştur", - "open_folder": "Klasörü aç", - "close_folder": "Klasörü kapat", - "open_favorites_menu": "Favoriler menüsünü aç", - "close_favorites_menu": "Favoriler menüsünü kapat", - "enter_folder_name": "Klasör adını girin", - "create_new_project": "Yeni proje oluştur", - "open_projects_menu": "Projeler menüsünü aç", - "close_projects_menu": "Projeler menüsünü kapat", - "toggle_quick_actions_menu": "Hızlı eylemler menüsünü aç/kapat", - "open_project_menu": "Proje menüsünü aç", - "close_project_menu": "Proje menüsünü kapat", - "collapse_sidebar": "Kenar çubuğunu daralt", - "expand_sidebar": "Kenar çubuğunu genişlet", - "edition_badge": "Ücretli planlar modalını aç" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ua/accessibility.json b/packages/i18n/src/locales/ua/accessibility.json new file mode 100644 index 00000000000..b6bdc7d52be --- /dev/null +++ b/packages/i18n/src/locales/ua/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Логотип робочого простору", + "open_workspace_switcher": "Відкрити перемикач робочого простору", + "open_user_menu": "Відкрити меню користувача", + "open_command_palette": "Відкрити палітру команд", + "open_extended_sidebar": "Відкрити розширену бічну панель", + "close_extended_sidebar": "Закрити розширену бічну панель", + "create_favorites_folder": "Створити папку улюблених", + "open_folder": "Відкрити папку", + "close_folder": "Закрити папку", + "open_favorites_menu": "Відкрити меню улюблених", + "close_favorites_menu": "Закрити меню улюблених", + "enter_folder_name": "Введіть назву папки", + "create_new_project": "Створити новий проект", + "open_projects_menu": "Відкрити меню проектів", + "close_projects_menu": "Закрити меню проектів", + "toggle_quick_actions_menu": "Перемкнути меню швидких дій", + "open_project_menu": "Відкрити меню проекту", + "close_project_menu": "Закрити меню проекту", + "collapse_sidebar": "Згорнути бічну панель", + "expand_sidebar": "Розгорнути бічну панель", + "edition_badge": "Відкрити модал платних планів" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/ua/translations.json b/packages/i18n/src/locales/ua/translations.json index d398f7bee57..2a82df68f5e 100644 --- a/packages/i18n/src/locales/ua/translations.json +++ b/packages/i18n/src/locales/ua/translations.json @@ -2460,31 +2460,5 @@ "last_edited_by": "Останнє редагування", "previously_edited_by": "Раніше відредаговано", "edited_by": "Відредаговано" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Логотип робочого простору", - "open_workspace_switcher": "Відкрити перемикач робочого простору", - "open_user_menu": "Відкрити меню користувача", - "open_command_palette": "Відкрити палітру команд", - "open_extended_sidebar": "Відкрити розширену бічну панель", - "close_extended_sidebar": "Закрити розширену бічну панель", - "create_favorites_folder": "Створити папку улюблених", - "open_folder": "Відкрити папку", - "close_folder": "Закрити папку", - "open_favorites_menu": "Відкрити меню улюблених", - "close_favorites_menu": "Закрити меню улюблених", - "enter_folder_name": "Введіть назву папки", - "create_new_project": "Створити новий проект", - "open_projects_menu": "Відкрити меню проектів", - "close_projects_menu": "Закрити меню проектів", - "toggle_quick_actions_menu": "Перемкнути меню швидких дій", - "open_project_menu": "Відкрити меню проекту", - "close_project_menu": "Закрити меню проекту", - "collapse_sidebar": "Згорнути бічну панель", - "expand_sidebar": "Розгорнути бічну панель", - "edition_badge": "Відкрити модал платних планів" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/vi-VN/accessibility.json b/packages/i18n/src/locales/vi-VN/accessibility.json new file mode 100644 index 00000000000..8071da9e388 --- /dev/null +++ b/packages/i18n/src/locales/vi-VN/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "Logo không gian làm việc", + "open_workspace_switcher": "Mở trình chuyển đổi không gian làm việc", + "open_user_menu": "Mở menu người dùng", + "open_command_palette": "Mở bảng lệnh", + "open_extended_sidebar": "Mở thanh bên mở rộng", + "close_extended_sidebar": "Đóng thanh bên mở rộng", + "create_favorites_folder": "Tạo thư mục yêu thích", + "open_folder": "Mở thư mục", + "close_folder": "Đóng thư mục", + "open_favorites_menu": "Mở menu yêu thích", + "close_favorites_menu": "Đóng menu yêu thích", + "enter_folder_name": "Nhập tên thư mục", + "create_new_project": "Tạo dự án mới", + "open_projects_menu": "Mở menu dự án", + "close_projects_menu": "Đóng menu dự án", + "toggle_quick_actions_menu": "Bật/tắt menu hành động nhanh", + "open_project_menu": "Mở menu dự án", + "close_project_menu": "Đóng menu dự án", + "collapse_sidebar": "Thu gọn thanh bên", + "expand_sidebar": "Mở rộng thanh bên", + "edition_badge": "Mở modal gói trả phí" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/vi-VN/translations.json b/packages/i18n/src/locales/vi-VN/translations.json index a329f5d3e18..418d96ac43e 100644 --- a/packages/i18n/src/locales/vi-VN/translations.json +++ b/packages/i18n/src/locales/vi-VN/translations.json @@ -2458,31 +2458,5 @@ "last_edited_by": "Chỉnh sửa lần cuối bởi", "previously_edited_by": "Trước đây được chỉnh sửa bởi", "edited_by": "Được chỉnh sửa bởi" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "Logo không gian làm việc", - "open_workspace_switcher": "Mở trình chuyển đổi không gian làm việc", - "open_user_menu": "Mở menu người dùng", - "open_command_palette": "Mở bảng lệnh", - "open_extended_sidebar": "Mở thanh bên mở rộng", - "close_extended_sidebar": "Đóng thanh bên mở rộng", - "create_favorites_folder": "Tạo thư mục yêu thích", - "open_folder": "Mở thư mục", - "close_folder": "Đóng thư mục", - "open_favorites_menu": "Mở menu yêu thích", - "close_favorites_menu": "Đóng menu yêu thích", - "enter_folder_name": "Nhập tên thư mục", - "create_new_project": "Tạo dự án mới", - "open_projects_menu": "Mở menu dự án", - "close_projects_menu": "Đóng menu dự án", - "toggle_quick_actions_menu": "Bật/tắt menu hành động nhanh", - "open_project_menu": "Mở menu dự án", - "close_project_menu": "Đóng menu dự án", - "collapse_sidebar": "Thu gọn thanh bên", - "expand_sidebar": "Mở rộng thanh bên", - "edition_badge": "Mở modal gói trả phí" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/zh-CN/accessibility.json b/packages/i18n/src/locales/zh-CN/accessibility.json new file mode 100644 index 00000000000..b19f68676ac --- /dev/null +++ b/packages/i18n/src/locales/zh-CN/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "工作空间徽标", + "open_workspace_switcher": "打开工作空间切换器", + "open_user_menu": "打开用户菜单", + "open_command_palette": "打开命令面板", + "open_extended_sidebar": "打开扩展侧边栏", + "close_extended_sidebar": "关闭扩展侧边栏", + "create_favorites_folder": "创建收藏夹文件夹", + "open_folder": "打开文件夹", + "close_folder": "关闭文件夹", + "open_favorites_menu": "打开收藏夹菜单", + "close_favorites_menu": "关闭收藏夹菜单", + "enter_folder_name": "输入文件夹名称", + "create_new_project": "创建新项目", + "open_projects_menu": "打开项目菜单", + "close_projects_menu": "关闭项目菜单", + "toggle_quick_actions_menu": "切换快速操作菜单", + "open_project_menu": "打开项目菜单", + "close_project_menu": "关闭项目菜单", + "collapse_sidebar": "折叠侧边栏", + "expand_sidebar": "展开侧边栏", + "edition_badge": "打开付费计划模态框" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/zh-CN/translations.json b/packages/i18n/src/locales/zh-CN/translations.json index 734eb786d2f..8f8ca2d26fa 100644 --- a/packages/i18n/src/locales/zh-CN/translations.json +++ b/packages/i18n/src/locales/zh-CN/translations.json @@ -2440,31 +2440,5 @@ "last_edited_by": "最后编辑者", "previously_edited_by": "之前编辑者", "edited_by": "编辑者" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "工作空间徽标", - "open_workspace_switcher": "打开工作空间切换器", - "open_user_menu": "打开用户菜单", - "open_command_palette": "打开命令面板", - "open_extended_sidebar": "打开扩展侧边栏", - "close_extended_sidebar": "关闭扩展侧边栏", - "create_favorites_folder": "创建收藏夹文件夹", - "open_folder": "打开文件夹", - "close_folder": "关闭文件夹", - "open_favorites_menu": "打开收藏夹菜单", - "close_favorites_menu": "关闭收藏夹菜单", - "enter_folder_name": "输入文件夹名称", - "create_new_project": "创建新项目", - "open_projects_menu": "打开项目菜单", - "close_projects_menu": "关闭项目菜单", - "toggle_quick_actions_menu": "切换快速操作菜单", - "open_project_menu": "打开项目菜单", - "close_project_menu": "关闭项目菜单", - "collapse_sidebar": "折叠侧边栏", - "expand_sidebar": "展开侧边栏", - "edition_badge": "打开付费计划模态框" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/locales/zh-TW/accessibility.json b/packages/i18n/src/locales/zh-TW/accessibility.json new file mode 100644 index 00000000000..97e07ae73b9 --- /dev/null +++ b/packages/i18n/src/locales/zh-TW/accessibility.json @@ -0,0 +1,27 @@ +{ + "aria_labels": { + "projects_sidebar": { + "workspace_logo": "工作空間標誌", + "open_workspace_switcher": "打開工作空間切換器", + "open_user_menu": "打開用戶選單", + "open_command_palette": "打開命令面板", + "open_extended_sidebar": "打開擴展側邊欄", + "close_extended_sidebar": "關閉擴展側邊欄", + "create_favorites_folder": "創建收藏夾文件夾", + "open_folder": "打開文件夾", + "close_folder": "關閉文件夾", + "open_favorites_menu": "打開收藏夾選單", + "close_favorites_menu": "關閉收藏夾選單", + "enter_folder_name": "輸入文件夾名稱", + "create_new_project": "創建新項目", + "open_projects_menu": "打開項目選單", + "close_projects_menu": "關閉項目選單", + "toggle_quick_actions_menu": "切換快速操作選單", + "open_project_menu": "打開項目選單", + "close_project_menu": "關閉項目選單", + "collapse_sidebar": "摺疊側邊欄", + "expand_sidebar": "展開側邊欄", + "edition_badge": "打開付費計劃模態框" + } + } +} \ No newline at end of file diff --git a/packages/i18n/src/locales/zh-TW/translations.json b/packages/i18n/src/locales/zh-TW/translations.json index f001a04a7bf..472ba631c1d 100644 --- a/packages/i18n/src/locales/zh-TW/translations.json +++ b/packages/i18n/src/locales/zh-TW/translations.json @@ -2461,31 +2461,5 @@ "last_edited_by": "最後編輯者", "previously_edited_by": "先前編輯者", "edited_by": "編輯者" - }, - - "aria_labels": { - "projects_sidebar": { - "workspace_logo": "工作空間標誌", - "open_workspace_switcher": "打開工作空間切換器", - "open_user_menu": "打開用戶選單", - "open_command_palette": "打開命令面板", - "open_extended_sidebar": "打開擴展側邊欄", - "close_extended_sidebar": "關閉擴展側邊欄", - "create_favorites_folder": "創建收藏夾文件夾", - "open_folder": "打開文件夾", - "close_folder": "關閉文件夾", - "open_favorites_menu": "打開收藏夾選單", - "close_favorites_menu": "關閉收藏夾選單", - "enter_folder_name": "輸入文件夾名稱", - "create_new_project": "創建新項目", - "open_projects_menu": "打開項目選單", - "close_projects_menu": "關閉項目選單", - "toggle_quick_actions_menu": "切換快速操作選單", - "open_project_menu": "打開項目選單", - "close_project_menu": "關閉項目選單", - "collapse_sidebar": "摺疊側邊欄", - "expand_sidebar": "展開側邊欄", - "edition_badge": "打開付費計劃模態框" - } } -} +} \ No newline at end of file diff --git a/packages/i18n/src/store/index.ts b/packages/i18n/src/store/index.ts index ff4cee10762..ec3da6e0b57 100644 --- a/packages/i18n/src/store/index.ts +++ b/packages/i18n/src/store/index.ts @@ -130,51 +130,56 @@ export class TranslationStore { } } + /** + * Helper function to import and merge multiple translation files for a language + * @param language - The language code + * @param files - Array of file names to import (without .json extension) + * @returns Promise that resolves to merged translations + */ + private async importAndMergeFiles(language: TLanguage, files: string[]): Promise { + const importPromises = files.map((file) => import(`../locales/${language}/${file}.json`)); + + const modules = await Promise.all(importPromises); + const merged = modules.reduce( + (acc, module) => ({ + ...acc, + ...module.default, + }), + {} + ); + + return { default: merged }; + } + /** * Imports the translations for the given language * @param language - The language to import the translations for * @returns {Promise} */ - private importLanguageFile(language: TLanguage): Promise { + private async importLanguageFile(language: TLanguage): Promise { + const files = ["translations", "accessibility"]; + switch (language) { case "en": - return import("../locales/en/translations.json"); case "fr": - return import("../locales/fr/translations.json"); case "es": - return import("../locales/es/translations.json"); case "ja": - return import("../locales/ja/translations.json"); case "zh-CN": - return import("../locales/zh-CN/translations.json"); case "zh-TW": - return import("../locales/zh-TW/translations.json"); case "ru": - return import("../locales/ru/translations.json"); case "it": - return import("../locales/it/translations.json"); case "cs": - return import("../locales/cs/translations.json"); case "sk": - return import("../locales/sk/translations.json"); case "de": - return import("../locales/de/translations.json"); case "ua": - return import("../locales/ua/translations.json"); case "pl": - return import("../locales/pl/translations.json"); case "ko": - return import("../locales/ko/translations.json"); case "pt-BR": - return import("../locales/pt-BR/translations.json"); case "id": - return import("../locales/id/translations.json"); case "ro": - return import("../locales/ro/translations.json"); case "vi-VN": - return import("../locales/vi-VN/translations.json"); case "tr-TR": - return import("../locales/tr-TR/translations.json"); + return this.importAndMergeFiles(language, files); default: throw new Error(`Unsupported language: ${language}`); } From 862031ca29ab92ea8802dc8847f9836e3420f973 Mon Sep 17 00:00:00 2001 From: JayashTripathy Date: Tue, 27 May 2025 16:31:57 +0530 Subject: [PATCH 4/5] chore: refactor translation file handling and introduce TranslationFiles enum --- packages/i18n/src/constants/language.ts | 9 +++++ packages/i18n/src/store/index.ts | 49 ++++++------------------- 2 files changed, 20 insertions(+), 38 deletions(-) diff --git a/packages/i18n/src/constants/language.ts b/packages/i18n/src/constants/language.ts index d3d3a887a34..c02d8d86c51 100644 --- a/packages/i18n/src/constants/language.ts +++ b/packages/i18n/src/constants/language.ts @@ -24,4 +24,13 @@ export const SUPPORTED_LANGUAGES: ILanguageOption[] = [ { label: "Türkçe", value: "tr-TR" }, ]; +/** + * Enum for translation file names + * These are the JSON files that contain translations each category + */ +export enum TranslationFiles { + TRANSLATIONS = "translations", + ACCESSIBILITY = "accessibility", +} + export const LANGUAGE_STORAGE_KEY = "userLanguage"; diff --git a/packages/i18n/src/store/index.ts b/packages/i18n/src/store/index.ts index ec3da6e0b57..0a883a3b591 100644 --- a/packages/i18n/src/store/index.ts +++ b/packages/i18n/src/store/index.ts @@ -3,7 +3,7 @@ import get from "lodash/get"; import merge from "lodash/merge"; import { makeAutoObservable, runInAction } from "mobx"; // constants -import { FALLBACK_LANGUAGE, SUPPORTED_LANGUAGES, LANGUAGE_STORAGE_KEY } from "../constants"; +import { FALLBACK_LANGUAGE, SUPPORTED_LANGUAGES, LANGUAGE_STORAGE_KEY, TranslationFiles } from "../constants"; // core translations imports import coreEn from "../locales/en/core.json"; // types @@ -137,18 +137,15 @@ export class TranslationStore { * @returns Promise that resolves to merged translations */ private async importAndMergeFiles(language: TLanguage, files: string[]): Promise { - const importPromises = files.map((file) => import(`../locales/${language}/${file}.json`)); - - const modules = await Promise.all(importPromises); - const merged = modules.reduce( - (acc, module) => ({ - ...acc, - ...module.default, - }), - {} - ); + try { + const importPromises = files.map((file) => import(`../locales/${language}/${file}.json`)); - return { default: merged }; + const modules = await Promise.all(importPromises); + const merged = modules.reduce((acc, module) => merge(acc, module.default), {}); + return { default: merged }; + } catch (error) { + throw new Error(`Failed to import and merge files for ${language}: ${error}`); + } } /** @@ -157,32 +154,8 @@ export class TranslationStore { * @returns {Promise} */ private async importLanguageFile(language: TLanguage): Promise { - const files = ["translations", "accessibility"]; - - switch (language) { - case "en": - case "fr": - case "es": - case "ja": - case "zh-CN": - case "zh-TW": - case "ru": - case "it": - case "cs": - case "sk": - case "de": - case "ua": - case "pl": - case "ko": - case "pt-BR": - case "id": - case "ro": - case "vi-VN": - case "tr-TR": - return this.importAndMergeFiles(language, files); - default: - throw new Error(`Unsupported language: ${language}`); - } + const files = Object.values(TranslationFiles); + return this.importAndMergeFiles(language, files); } /** Checks if the language is valid based on the supported languages */ From 89ab4005510e960921de99c2b4c2a8a6ef44cb19 Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Tue, 27 May 2025 21:05:46 +0530 Subject: [PATCH 5/5] fix: accessibility issues in workspace sidebar --- packages/i18n/src/constants/language.ts | 2 +- packages/i18n/src/store/index.ts | 4 ++-- web/core/components/workspace/logo.tsx | 5 +++-- .../favorite-items/common/favorite-item-quick-action.tsx | 5 +++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/i18n/src/constants/language.ts b/packages/i18n/src/constants/language.ts index c02d8d86c51..4969178a598 100644 --- a/packages/i18n/src/constants/language.ts +++ b/packages/i18n/src/constants/language.ts @@ -28,7 +28,7 @@ export const SUPPORTED_LANGUAGES: ILanguageOption[] = [ * Enum for translation file names * These are the JSON files that contain translations each category */ -export enum TranslationFiles { +export enum ETranslationFiles { TRANSLATIONS = "translations", ACCESSIBILITY = "accessibility", } diff --git a/packages/i18n/src/store/index.ts b/packages/i18n/src/store/index.ts index 0a883a3b591..c75d7b8a324 100644 --- a/packages/i18n/src/store/index.ts +++ b/packages/i18n/src/store/index.ts @@ -3,7 +3,7 @@ import get from "lodash/get"; import merge from "lodash/merge"; import { makeAutoObservable, runInAction } from "mobx"; // constants -import { FALLBACK_LANGUAGE, SUPPORTED_LANGUAGES, LANGUAGE_STORAGE_KEY, TranslationFiles } from "../constants"; +import { FALLBACK_LANGUAGE, SUPPORTED_LANGUAGES, LANGUAGE_STORAGE_KEY, ETranslationFiles } from "../constants"; // core translations imports import coreEn from "../locales/en/core.json"; // types @@ -154,7 +154,7 @@ export class TranslationStore { * @returns {Promise} */ private async importLanguageFile(language: TLanguage): Promise { - const files = Object.values(TranslationFiles); + const files = Object.values(ETranslationFiles); return this.importAndMergeFiles(language, files); } diff --git a/web/core/components/workspace/logo.tsx b/web/core/components/workspace/logo.tsx index e0c60f8029d..f25615dfc22 100644 --- a/web/core/components/workspace/logo.tsx +++ b/web/core/components/workspace/logo.tsx @@ -1,3 +1,4 @@ +import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; @@ -10,7 +11,7 @@ type Props = { classNames?: string; }; -export const WorkspaceLogo = (props: Props) => { +export const WorkspaceLogo = observer((props: Props) => { // translation const { t } = useTranslation(); @@ -33,4 +34,4 @@ export const WorkspaceLogo = (props: Props) => { )}
); -}; +}); diff --git a/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx b/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx index 0af03c80dbd..cf6436733f4 100644 --- a/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx @@ -1,5 +1,6 @@ "use client"; import React, { FC } from "react"; +import { observer } from "mobx-react"; import { MoreHorizontal, Star } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; @@ -16,7 +17,7 @@ type Props = { handleRemoveFromFavorites: (favorite: IFavorite) => void; }; -export const FavoriteItemQuickAction: FC = (props) => { +export const FavoriteItemQuickAction: FC = observer((props) => { const { ref, isMenuActive, onChange, handleRemoveFromFavorites, favorite } = props; // translation const { t } = useTranslation(); @@ -50,4 +51,4 @@ export const FavoriteItemQuickAction: FC = (props) => {
); -}; +});