mirror of
https://github.com/docmost/docmost.git
synced 2025-11-16 10:51:11 +10:00
feat: update group translation
This commit is contained in:
@ -1 +1,34 @@
|
||||
{}
|
||||
{
|
||||
"Groups": "Groups",
|
||||
"Create group": "Create group",
|
||||
"Group": "Group",
|
||||
"Members": "Members",
|
||||
"member": "member",
|
||||
"members": "members",
|
||||
"Manage Group": "Manage Group",
|
||||
"addGroupMembers": "addGroupMembers",
|
||||
"add": "add",
|
||||
"Edit group": "Edit group",
|
||||
"Group name": "Group name",
|
||||
"e.g Developers": "e.g Developers",
|
||||
"Group description": "Group description",
|
||||
"e.g Group for developers": "e.g Group for developers",
|
||||
"Edit": "Edit",
|
||||
"Delete group": "Delete group",
|
||||
"Are you sure you want to delete this group? Members will lose access to resources this group has access to.": "Are you sure you want to delete this group? Members will lose access to resources this group has access to.",
|
||||
"Delete": "Delete",
|
||||
"Cancel": "Cancel",
|
||||
"Remove group member": "Remove group member",
|
||||
"Are you sure you want to remove this user from the group? The user will lose access to resources this group has access to.": "Are you sure you want to remove this user from the group? The user will lose access to resources this group has access to.",
|
||||
"Add group members": "Add group members",
|
||||
"Create": "Create",
|
||||
"User": "User",
|
||||
"Status": "Status",
|
||||
"Active": "Active",
|
||||
"Add members": "Add members",
|
||||
"Search for users": "Search for users",
|
||||
"No user found": "No user found",
|
||||
"Add groups": "Add groups",
|
||||
"Search for groups": "Search for groups",
|
||||
"No group found": "No group found"
|
||||
}
|
||||
|
||||
@ -48,40 +48,7 @@
|
||||
"Failed to update data": "Failed to update data"
|
||||
},
|
||||
"member": {},
|
||||
"group": {
|
||||
"Groups": "Groups",
|
||||
"Create group": "Create group",
|
||||
"Group": "Group",
|
||||
"Members": "Members",
|
||||
"member": "member",
|
||||
"members": "members",
|
||||
"Manage Group": "Manage Group",
|
||||
"addGroupMembers": "addGroupMembers",
|
||||
"add": "add",
|
||||
"Edit group": "Edit group",
|
||||
"Group name": "Group name",
|
||||
"e.g Developers": "e.g Developers",
|
||||
"Group description": "Group description",
|
||||
"e.g Group for developers": "e.g Group for developers",
|
||||
"Edit": "Edit",
|
||||
"Delete group": "Delete group",
|
||||
"Are you sure you want to delete this group? Members will lose access to resources this group has access to.": "Are you sure you want to delete this group? Members will lose access to resources this group has access to.",
|
||||
"Delete": "Delete",
|
||||
"Cancel": "Cancel",
|
||||
"Remove group member": "Remove group member",
|
||||
"Are you sure you want to remove this user from the group? The user will lose access to resources this group has access to.": "Are you sure you want to remove this user from the group? The user will lose access to resources this group has access to.",
|
||||
"Add group members": "Add group members",
|
||||
"Create": "Create",
|
||||
"User": "User",
|
||||
"Status": "Status",
|
||||
"Active": "Active",
|
||||
"Add members": "Add members",
|
||||
"Search for users": "Search for users",
|
||||
"No user found": "No user found",
|
||||
"Add groups": "Add groups",
|
||||
"Search for groups": "Search for groups",
|
||||
"No group found": "No group found"
|
||||
},
|
||||
"group": {},
|
||||
"space": {}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1 +1,34 @@
|
||||
{}
|
||||
{
|
||||
"Groups": "群组",
|
||||
"Create group": "创建群组",
|
||||
"Group": "群组",
|
||||
"Members": "成员",
|
||||
"member": "个成员",
|
||||
"members": "个成员",
|
||||
"Manage Group": "管理群组",
|
||||
"addGroupMembers": "添加群组成员",
|
||||
"add": "添加",
|
||||
"Edit group": "编辑群组",
|
||||
"Group name": "群组名称",
|
||||
"e.g Developers": "例如:开发人员",
|
||||
"Group description": "群组描述",
|
||||
"e.g Group for developers": "例如:开发人员群组",
|
||||
"Edit": "编辑",
|
||||
"Delete group": "删除群组",
|
||||
"Are you sure you want to delete this group? Members will lose access to resources this group has access to.": "您确定要删除这个群组吗?成员将失去对该群组可访问资源的访问权限。",
|
||||
"Delete": "删除",
|
||||
"Cancel": "取消",
|
||||
"Remove group member": "移除群组成员",
|
||||
"Are you sure you want to remove this user from the group? The user will lose access to resources this group has access to.": "您确定要从群组中移除这个用户吗?该用户将失去对该群组可访问资源的访问权限。",
|
||||
"Add group members": "添加群组成员",
|
||||
"Create": "创建",
|
||||
"User": "用户",
|
||||
"Status": "状态",
|
||||
"Active": "活跃",
|
||||
"Add members": "添加成员",
|
||||
"Search for users": "搜索用户",
|
||||
"No user found": "未找到用户",
|
||||
"Add groups": "添加群组",
|
||||
"Search for groups": "搜索群组",
|
||||
"No group found": "未找到群组"
|
||||
}
|
||||
|
||||
@ -48,40 +48,7 @@
|
||||
"Failed to update data": "数据更新失败"
|
||||
},
|
||||
"member": {},
|
||||
"group": {
|
||||
"Groups": "群组",
|
||||
"Create group": "创建群组",
|
||||
"Group": "群组",
|
||||
"Members": "成员",
|
||||
"member": "成员",
|
||||
"members": "成员",
|
||||
"Manage Group": "管理群组",
|
||||
"addGroupMembers": "添加群组成员",
|
||||
"add": "添加",
|
||||
"Edit group": "编辑群组",
|
||||
"Group name": "群组名称",
|
||||
"e.g Developers": "例如:开发人员",
|
||||
"Group description": "群组描述",
|
||||
"e.g Group for developers": "例如:开发人员群组",
|
||||
"Edit": "编辑",
|
||||
"Delete group": "删除群组",
|
||||
"Are you sure you want to delete this group? Members will lose access to resources this group has access to.": "您确定要删除这个群组吗?成员将失去对该群组可访问资源的访问权限。",
|
||||
"Delete": "删除",
|
||||
"Cancel": "取消",
|
||||
"Remove group member": "移除群组成员",
|
||||
"Are you sure you want to remove this user from the group? The user will lose access to resources this group has access to.": "您确定要从群组中移除这个用户吗?该用户将失去对该群组可访问资源的访问权限。",
|
||||
"Add group members": "添加群组成员",
|
||||
"Create": "创建",
|
||||
"User": "用户",
|
||||
"Status": "状态",
|
||||
"Active": "活跃",
|
||||
"Add members": "添加成员",
|
||||
"Search for users": "搜索用户",
|
||||
"No user found": "未找到用户",
|
||||
"Add groups": "添加群组",
|
||||
"Search for groups": "搜索群组",
|
||||
"No group found": "未找到群组"
|
||||
},
|
||||
"group": {},
|
||||
"space": {}
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,9 +7,7 @@ import { useAddGroupMemberMutation } from "@/features/group/queries/group-query.
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function AddGroupMemberModal() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const { groupId } = useParams();
|
||||
const [opened, { open, close }] = useDisclosure(false);
|
||||
const [userIds, setUserIds] = useState<string[]>([]);
|
||||
|
||||
@ -15,9 +15,7 @@ const formSchema = z.object({
|
||||
type FormValues = z.infer<typeof formSchema>;
|
||||
|
||||
export function CreateGroupForm() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const createGroupMutation = useCreateGroupMutation();
|
||||
const [userIds, setUserIds] = useState<string[]>([]);
|
||||
const navigate = useNavigate();
|
||||
|
||||
@ -4,9 +4,7 @@ import { CreateGroupForm } from "@/features/group/components/create-group-form.t
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function CreateGroupModal() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const [opened, { open, close }] = useDisclosure(false);
|
||||
|
||||
return (
|
||||
|
||||
@ -19,9 +19,7 @@ interface EditGroupFormProps {
|
||||
onClose?: () => void;
|
||||
}
|
||||
export function EditGroupForm({ onClose }: EditGroupFormProps) {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const updateGroupMutation = useUpdateGroupMutation();
|
||||
const { isSuccess } = updateGroupMutation;
|
||||
const { groupId } = useParams();
|
||||
|
||||
@ -11,9 +11,7 @@ export default function EditGroupModal({
|
||||
opened,
|
||||
onClose,
|
||||
}: EditGroupModalProps) {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@ -12,9 +12,7 @@ import { modals } from "@mantine/modals";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function GroupActionMenu() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const { groupId } = useParams();
|
||||
const { data: group, isLoading } = useGroupQuery(groupId);
|
||||
const deleteGroupMutation = useDeleteGroupMutation();
|
||||
|
||||
@ -4,11 +4,10 @@ import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import { IconGroupCircle } from "@/components/icons/icon-people-circle.tsx";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { formatMemberCount } from "@/lib";
|
||||
|
||||
export default function GroupList() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation(["group"]);
|
||||
const { data, isLoading } = useGetGroupsQuery();
|
||||
|
||||
return (
|
||||
@ -61,7 +60,7 @@ export default function GroupList() {
|
||||
component={Link}
|
||||
to={`/settings/groups/${group.id}`}
|
||||
>
|
||||
{group.memberCount} members
|
||||
{formatMemberCount(group.memberCount, t)}
|
||||
</Anchor>
|
||||
</Table.Td>
|
||||
</Table.Tr>
|
||||
|
||||
@ -12,9 +12,7 @@ import useUserRole from "@/hooks/use-user-role.tsx";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function GroupMembersList() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const { groupId } = useParams();
|
||||
const { data, isLoading } = useGroupMembersQuery(groupId);
|
||||
const removeGroupMember = useRemoveGroupMemberMutation();
|
||||
|
||||
@ -30,9 +30,7 @@ export function MultiGroupSelect({
|
||||
description,
|
||||
mt,
|
||||
}: MultiGroupSelectProps) {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const [searchValue, setSearchValue] = useState("");
|
||||
const [debouncedQuery] = useDebouncedValue(searchValue, 500);
|
||||
const { data: groups, isLoading } = useGetGroupsQuery({
|
||||
|
||||
@ -30,9 +30,7 @@ const renderMultiSelectOption: MultiSelectProps["renderOption"] = ({
|
||||
);
|
||||
|
||||
export function MultiUserSelect({ onChange, label }: MultiUserSelectProps) {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const [searchValue, setSearchValue] = useState("");
|
||||
const [debouncedQuery] = useDebouncedValue(searchValue, 500);
|
||||
const { data: users, isLoading } = useWorkspaceMembersQuery({
|
||||
|
||||
@ -2,9 +2,9 @@ import { TFunction } from "i18next";
|
||||
|
||||
export function formatMemberCount(memberCount: number, t: TFunction): string {
|
||||
if (memberCount === 1) {
|
||||
return `1 ${t('member')}`;
|
||||
return `1 ${t("member")}`;
|
||||
} else {
|
||||
return `${memberCount} ${t('members')}`;
|
||||
return `${memberCount} ${t("members")}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,9 +4,7 @@ import GroupDetails from "@/features/group/components/group-details";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function GroupInfo() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@ -6,9 +6,7 @@ import useUserRole from "@/hooks/use-user-role.tsx";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function Groups() {
|
||||
const { t } = useTranslation("settings", {
|
||||
keyPrefix: "workspace.group",
|
||||
});
|
||||
const { t } = useTranslation("group");
|
||||
const { isAdmin } = useUserRole();
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user