From e9ad3c2126160fbecf092223dfa4b8f3f4626561 Mon Sep 17 00:00:00 2001 From: renovate Date: Mon, 25 Oct 2021 16:49:45 +0000 Subject: [PATCH] [skip ci] Updated translations via Crowdin --- src/i18n/lang/cs-CZ.json | 900 ++++++++++++++++++++++++ src/i18n/lang/it-IT.json | 954 +++++++++++++------------- src/i18n/lang/ru-RU.json | 14 +- src/i18n/lang/vi-VN.json | 1394 +++++++++++++++++++------------------- 4 files changed, 2081 insertions(+), 1181 deletions(-) create mode 100644 src/i18n/lang/cs-CZ.json diff --git a/src/i18n/lang/cs-CZ.json b/src/i18n/lang/cs-CZ.json new file mode 100644 index 00000000..5cd14c0c --- /dev/null +++ b/src/i18n/lang/cs-CZ.json @@ -0,0 +1,900 @@ +{ + "home": { + "welcomeNight": "Good Night {username}", + "welcomeMorning": "Good Morning {username}", + "welcomeDay": "Hi {username}", + "welcomeEvening": "Good Evening {username}", + "lastViewed": "Last viewed", + "list": { + "newText": "You can create a new list for your new tasks:", + "new": "Create a new list", + "importText": "Or import your lists and tasks from other services into Vikunja:", + "import": "Import your data into Vikunja" + } + }, + "404": { + "title": "Not found", + "text": "The page you requested does not exist." + }, + "user": { + "auth": { + "username": "Username", + "usernameEmail": "Username Or Email Address", + "usernamePlaceholder": "e.g. frederick", + "email": "E-mail address", + "emailPlaceholder": "e.g. frederic{'@'}vikunja.io", + "password": "Password", + "passwordRepeat": "Retype your password", + "passwordPlaceholder": "e.g. •••••••••••", + "resetPassword": "Reset your password", + "resetPasswordAction": "Send me a password reset link", + "resetPasswordSuccess": "Check your inbox! You should have an e-mail with instructions on how to reset your password.", + "passwordsDontMatch": "Passwords don't match", + "confirmEmailSuccess": "You successfully confirmed your email! You can log in now.", + "totpTitle": "Two Factor Authentication Code", + "totpPlaceholder": "e.g. 123456", + "login": "Login", + "register": "Register", + "loginWith": "Log in with {provider}", + "authenticating": "Authenticating…", + "openIdStateError": "State does not match, refusing to continue!", + "openIdGeneralError": "An error occured while authenticating against the third party.", + "logout": "Logout" + }, + "settings": { + "title": "Settings", + "newPasswordTitle": "Update Your Password", + "newPassword": "New Password", + "newPasswordConfirm": "New Password Confirmation", + "currentPassword": "Current Password", + "currentPasswordPlaceholder": "Your current password", + "passwordsDontMatch": "The new password and its confirmation don't match.", + "passwordUpdateSuccess": "The password was successfully updated.", + "updateEmailTitle": "Update Your E-Mail Address", + "updateEmailNew": "New Email Address", + "updateEmailSuccess": "Your email address was successfully updated. We've sent you a link to confirm it.", + "general": { + "title": "General Settings", + "name": "Name", + "newName": "The new Name", + "savedSuccess": "The settings were successfully updated.", + "emailReminders": "Send me reminders for tasks via Email", + "overdueReminders": "Send me reminders for overdue undone tasks via email each morning", + "discoverableByName": "Let other users find me when they search for my name", + "discoverableByEmail": "Let other users find me when they search for my full email", + "playSoundWhenDone": "Play a sound when marking tasks as done", + "weekStart": "Week starts on", + "weekStartSunday": "Sunday", + "weekStartMonday": "Monday", + "language": "Language", + "defaultList": "Default List" + }, + "totp": { + "title": "Two Factor Authentication", + "enroll": "Enroll", + "finishSetupPart1": "To finish your setup, use this secret in your totp app (Google Authenticator or similar):", + "finishSetupPart2": "After that, enter a code from your app below.", + "scanQR": "Alternatively you can scan this QR code:", + "passcode": "Passcode", + "passcodePlaceholder": "A code generated by your totp application", + "setupSuccess": "You've sucessfully set up two factor authentication!", + "enterPassword": "Please Enter Your Password", + "disable": "Disable two factor authentication", + "confirmSuccess": "You've successfully confirmed your totp setup and can use it from now on!", + "disableSuccess": "Two factor authentication was sucessfully disabled." + }, + "caldav": { + "title": "Caldav", + "howTo": "You can connect Vikunja to caldav clients to view and manage all tasks from different clients. Enter this url into your client:", + "more": "More information about caldav in Vikunja" + }, + "avatar": { + "title": "Avatar", + "initials": "Initials", + "gravatar": "Gravatar", + "upload": "Upload", + "uploadAvatar": "Upload Avatar", + "statusUpdateSuccess": "Avatar status was updated successfully!", + "setSuccess": "The avatar has been set successfully!" + }, + "quickAddMagic": { + "title": "Quick Add Magic Mode", + "disabled": "Disabled", + "todoist": "Todoist", + "vikunja": "Vikunja" + } + }, + "deletion": { + "title": "Delete your Vikunja Account", + "text1": "The deletion of your account is permanent and cannot be undone. We will delete all your namespaces, lists, tasks and everything associated with it.", + "text2": "To proceed, please enter your password. You will receive an email with further instructions.", + "confirm": "Delete my account", + "requestSuccess": "The request was successful. You'll receive an email with further instructions.", + "passwordRequired": "Please enter your password.", + "confirmSuccess": "You've successfully confirmed the deletion of your account. We will delete your account in three days.", + "scheduled": "We will delete your Vikunja account at {date} ({dateSince}).", + "scheduledCancel": "To cancel the deletion of your account, click here.", + "scheduledCancelText": "To cancel the deletion of your account, please enter your password below:", + "scheduledCancelConfirm": "Cancel the deletion of my account", + "scheduledCancelSuccess": "We will not delete your account." + }, + "export": { + "title": "Export your Vikunja data", + "description": "You can request a copy of all your Vikunja data. This include Namespaces, Lists, Tasks and everything associated to them. You can import this data in any Vikunja instance through the migration function.", + "descriptionPasswordRequired": "Please enter your password to proceed:", + "request": "Request a copy of my Vikunja Data", + "success": "You've successfully requested your Vikunja Data! We will send you an email once it's ready to download.", + "downloadTitle": "Download your exported Vikunja data" + } + }, + "list": { + "archived": "This list is archived. It is not possible to create new or edit tasks for it.", + "title": "List Title", + "color": "Color", + "lists": "Lists", + "search": "Type to search for a list…", + "searchSelect": "Click or press enter to select this list", + "shared": "Shared Lists", + "create": { + "header": "Create a new list", + "titlePlaceholder": "The list's title goes here…", + "addTitleRequired": "Please specify a title.", + "createdSuccess": "The list was successfully created.", + "addListRequired": "Please specify a list or set a default list in the settings." + }, + "archive": { + "title": "Archive \"{list}\"", + "archive": "Archive this list", + "unarchive": "Un-Archive this list", + "unarchiveText": "You will be able to create new tasks or edit it.", + "archiveText": "You won't be able to edit this list or create new tasks until you un-archive it.", + "success": "The list was successfully archived." + }, + "background": { + "title": "Set list background", + "remove": "Remove Background", + "upload": "Choose a background from your pc", + "searchPlaceholder": "Search for a background…", + "poweredByUnsplash": "Powered by Unsplash", + "loadMore": "Load more photos", + "success": "The background has been set successfully!", + "removeSuccess": "The background has been removed successfully!" + }, + "delete": { + "title": "Delete \"{list}\"", + "header": "Delete this list", + "text1": "Are you sure you want to delete this list and all of its contents?", + "text2": "This includes all tasks and CANNOT BE UNDONE!", + "success": "The list was successfully deleted." + }, + "duplicate": { + "title": "Duplicate this list", + "label": "Duplicate", + "text": "Select a namespace which should hold the duplicated list:", + "success": "The list was successfully duplicated." + }, + "edit": { + "header": "Edit This List", + "title": "Edit \"{list}\"", + "titlePlaceholder": "The list title goes here…", + "identifierTooltip": "The list identifier can be used to uniquely identify a task across lists. You can set it to empty to disable it.", + "identifier": "List Identifier", + "identifierPlaceholder": "The list identifier goes here…", + "description": "Description", + "descriptionPlaceholder": "The lists description goes here…", + "color": "Color", + "success": "The list was successfully updated." + }, + "share": { + "header": "Share this list", + "title": "Share \"{list}\"", + "share": "Share", + "links": { + "title": "Share Links", + "what": "What is a share link?", + "explanation": "Share Links allow you to easily share a list with other users who don't have an account on Vikunja.", + "create": "Create a new link share", + "name": "Name (optional)", + "namePlaceholder": "e.g. Lorem Ipsum", + "nameExplanation": "All actions done by this link share will show up with the name.", + "password": "Password (optional)", + "passwordExplanation": "When authenticating, the user will be required to enter this password.", + "noName": "No name set", + "remove": "Remove a link share", + "removeText": "Are you sure you want to remove this link share? It will no longer be possible to access this list with this link share. This cannot be undone!", + "createSuccess": "The link share was successfully created.", + "deleteSuccess": "The link share was successfully deleted" + }, + "userTeam": { + "typeUser": "user | users", + "typeTeam": "team | teams", + "shared": "Shared with these {type}", + "you": "You", + "notShared": "Not shared with any {type} yet.", + "removeHeader": "Remove a {type} from the {sharable}", + "removeText": "Are you sure you want to remove this {sharable} from the {type}? This cannot be undone!", + "removeSuccess": "The {sharable} was successfully removed from the {type}.", + "addedSuccess": "The {type} was successfully added.", + "updatedSuccess": "The {type} was successfully added." + }, + "right": { + "title": "Right", + "read": "Read only", + "readWrite": "Read & write", + "admin": "Admin" + }, + "attributes": { + "link": "Link", + "name": "Name", + "sharedBy": "Shared by", + "right": "Right", + "delete": "Delete" + } + }, + "list": { + "title": "List", + "add": "Add", + "addPlaceholder": "Add a new task…", + "empty": "This list is currently empty.", + "newTaskCta": "Create a new task.", + "editTask": "Edit Task" + }, + "gantt": { + "title": "Gantt", + "showTasksWithoutDates": "Show tasks which don't have dates set", + "size": "Size", + "default": "Default", + "month": "Month", + "day": "Day", + "from": "From", + "to": "To", + "noDates": "This task has no dates set." + }, + "table": { + "title": "Table", + "columns": "Columns" + }, + "kanban": { + "title": "Kanban", + "limit": "Limit: {limit}", + "noLimit": "Not Set", + "doneBucket": "Done bucket", + "doneBucketHint": "All tasks moved into this bucket will automatically marked as done.", + "doneBucketHintExtended": "All tasks moved into the done bucket will be marked as done automatically. All tasks marked as done from elsewhere will be moved as well.", + "doneBucketSavedSuccess": "The done bucket has been saved successfully.", + "deleteLast": "You cannot remove the last bucket.", + "addTaskPlaceholder": "Enter the new task title…", + "addTask": "Add a task", + "addAnotherTask": "Add another task", + "addBucket": "Create a new bucket", + "addBucketPlaceholder": "Enter the new bucket title…", + "deleteHeaderBucket": "Delete the bucket", + "deleteBucketText1": "Are you sure you want to delete this bucket?", + "deleteBucketText2": "This will not delete any tasks but move them into the default bucket.", + "deleteBucketSuccess": "The bucket has been deleted successfully.", + "bucketTitleSavedSuccess": "The bucket title has been saved successfully.", + "bucketLimitSavedSuccess": "The bucket limit been saved successfully.", + "collapse": "Collapse this bucket" + }, + "pseudo": { + "favorites": { + "title": "Favorites" + } + } + }, + "namespace": { + "title": "Namespaces & Lists", + "namespace": "Namespace", + "showArchived": "Show Archived", + "noneAvailable": "You don't have any namespaces right now.", + "unarchive": "Un-Archive", + "archived": "Archived", + "noLists": "This namespace does not contain any lists.", + "createList": "Create a new list in this namespace.", + "namespaces": "Namespaces", + "search": "Type to search for a namespace…", + "create": { + "title": "Create a new namespace", + "titleRequired": "Please specify a title.", + "explanation": "A namespace is a collection of lists you can share and use to organize your lists with. In fact, every list belongs to a namepace.", + "tooltip": "What's a namespace?", + "success": "The namespace was successfully created." + }, + "archive": { + "titleArchive": "Archive \"{namespace}\"", + "titleUnarchive": "Un-Archive \"{namespace}\"", + "archiveText": "You won't be able to edit this namespace or create new lists until you un-archive it. This will also archive all lists in this namespace.", + "unarchiveText": "You will be able to create new lists or edit it.", + "success": "The namespace was successfully archived.", + "description": "If a namespace is archived, you cannot create new lists or edit it." + }, + "delete": { + "title": "Delete \"{namespace}\"", + "text1": "Are you sure you want to delete this namespace and all of its contents?", + "text2": "This includes all lists and tasks and CANNOT BE UNDONE!", + "success": "The namespace was successfully deleted." + }, + "edit": { + "title": "Edit \"{namespace}\"", + "success": "The namespace was successfully updated." + }, + "share": { + "title": "Share \"{namespace}\"" + }, + "attributes": { + "title": "Namespace Title", + "titlePlaceholder": "The namespace title goes here…", + "description": "Description", + "descriptionPlaceholder": "The namespaces description goes here…", + "color": "Color", + "archived": "Is Archived", + "isArchived": "This namespace is archived" + }, + "pseudo": { + "sharedLists": { + "title": "Shared Lists" + }, + "favorites": { + "title": "Favorites" + }, + "savedFilters": { + "title": "Filters" + } + } + }, + "filters": { + "title": "Filters", + "attributes": { + "title": "Title", + "titlePlaceholder": "The saved filter title goes here…", + "description": "Description", + "descriptionPlaceholder": "The description goes here…", + "includeNulls": "Include Tasks which don't have a value set", + "requireAll": "Require all filters to be true for a task to show up", + "showDoneTasks": "Show Done Tasks", + "enablePriority": "Enable Filter By Priority", + "enablePercentDone": "Enable Filter By Percent Done", + "dueDateRange": "Due Date Range", + "startDateRange": "Start Date Range", + "endDateRange": "End Date Range", + "reminderRange": "Reminder Date Range" + }, + "create": { + "title": "Create A Saved Filter", + "description": "A saved filter is a virtual list which is computed from a set of filters each time it is accessed. Once created, it will appear in a special namespace.", + "action": "Create new saved filter" + }, + "delete": { + "header": "Delete this saved filter", + "text": "Are you sure you want to delete this saved filter?", + "success": "The filter was deleted successfully." + }, + "edit": { + "title": "Edit This Saved Filter", + "success": "The filter was saved successfully." + } + }, + "migrate": { + "title": "Migrate from other services to Vikunja", + "titleService": "Import your data from {name} into Vikunja", + "import": "Import your data into Vikunja", + "description": "Click on the logo of one of the third-party services below to get started.", + "descriptionDo": "Vikunja will import all lists, tasks, notes, reminders and files you have access to.", + "authorize": "To authorize Vikunja to access your {name} Account, click the button below.", + "getStarted": "Get Started", + "inProgress": "Importing in progress…", + "alreadyMigrated1": "It looks like you've already imported your stuff from {name} at {date}.", + "alreadyMigrated2": "Importing again is possible, but might create duplicates. Are you sure?", + "confirm": "I am sure, please start migrating now!", + "importUpload": "To import data from {name} into Vikunja, click the button below to select a file.", + "upload": "Upload file" + }, + "label": { + "title": "Labels", + "manage": "Manage labels", + "description": "Click on a label to edit it. You can edit all labels you created, you can use all labels which are associated with a task to whose list you have access.", + "newCTA": "You currently do not have any labels.", + "search": "Type to search for a label…", + "create": { + "header": "New label", + "title": "Create a new label", + "titleRequired": "Please specify a title.", + "success": "The label was successfully created." + }, + "edit": { + "header": "Edit Label", + "forbidden": "You are not allowed to edit this label because you dont own it.", + "success": "The label was successfully updated." + }, + "deleteSuccess": "The label was successfully deleted.", + "attributes": { + "title": "Title", + "titlePlaceholder": "The label title goes here…", + "description": "Description", + "descriptionPlaceholder": "Label description", + "color": "Color" + } + }, + "sharing": { + "authenticating": "Authenticating…", + "passwordRequired": "This shared list requires a password. Please enter it below:", + "error": "An error occured.", + "invalidPassword": "The password is invalid." + }, + "navigation": { + "overview": "Overview", + "upcoming": "Upcoming", + "settings": "Settings", + "imprint": "Imprint", + "privacy": "Privacy Policy" + }, + "misc": { + "loading": "Loading…", + "save": "Save", + "delete": "Delete", + "confirm": "Confirm", + "cancel": "Cancel", + "refresh": "Refresh", + "disable": "Disable", + "copy": "Copy to clipboard", + "search": "Search", + "searchPlaceholder": "Type to search…", + "previous": "Previous", + "next": "Next", + "poweredBy": "Powered by Vikunja", + "info": "Info", + "create": "Create", + "doit": "Do it!", + "saving": "Saving…", + "saved": "Saved!", + "default": "Default", + "close": "Close", + "download": "Download" + }, + "input": { + "resetColor": "Reset Color", + "datepicker": { + "today": "Today", + "tomorrow": "Tomorrow", + "nextMonday": "Next Monday", + "thisWeekend": "This Weekend", + "laterThisWeek": "Later This Week", + "nextWeek": "Next Week", + "chooseDate": "Choose a date" + }, + "editor": { + "edit": "Edit", + "done": "Done", + "heading1": "Heading 1", + "heading2": "Heading 2", + "heading3": "Heading 3", + "headingSmaller": "Heading Smaller", + "headingBigger": "Heading Bigger", + "bold": "Bold", + "italic": "Italic", + "strikethrough": "Strikethrough", + "code": "Code", + "quote": "Quote", + "unorderedList": "Unordered List", + "orderedList": "Ordered List", + "cleanBlock": "Clean Block", + "link": "Link", + "image": "Image", + "table": "Table", + "horizontalRule": "Horizontal Rule", + "sideBySide": "Side By Side", + "guide": "Guide" + }, + "multiselect": { + "createPlaceholder": "Create new", + "selectPlaceholder": "Click or press enter to select" + } + }, + "task": { + "task": "Task", + "new": "Create a new task", + "delete": "Delete this task", + "createSuccess": "The task was successfully created.", + "addReminder": "Add a new reminder…", + "doneSuccess": "The task was successfully marked as done.", + "undoneSuccess": "The task was successfully un-marked as done.", + "openDetail": "Open task detail view", + "checklistTotal": "{checked} of {total} tasks", + "checklistAllDone": "{total} tasks", + "show": { + "titleCurrent": "Current Tasks", + "titleDates": "Tasks from {from} until {to}", + "noDates": "Show tasks without dates", + "current": "Current tasks", + "from": "Tasks from", + "until": "until", + "today": "Today", + "nextWeek": "Next Week", + "nextMonth": "Next Month", + "noTasks": "Nothing to do - Have a nice day!" + }, + "detail": { + "chooseDueDate": "Click here to set a due date", + "chooseStartDate": "Click here to set a start date", + "chooseEndDate": "Click here to set an end date", + "move": "Move task to a different list", + "done": "Done!", + "undone": "Mark as undone", + "created": "Created {0} by {1}", + "updated": "Updated {0}", + "doneAt": "Done {0}", + "updateSuccess": "The task was saved successfully.", + "deleteSuccess": "The task has been deleted successfully.", + "belongsToList": "This task belongs to list '{list}'", + "due": "Due {at}", + "closePopup": "Close popup", + "delete": { + "header": "Delete this task", + "text1": "Are you sure you want to remove this task?", + "text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!" + }, + "actions": { + "assign": "Assign this task to a user", + "label": "Add labels", + "priority": "Set Priority", + "dueDate": "Set Due Date", + "startDate": "Set a Start Date", + "endDate": "Set an End Date", + "reminders": "Set Reminders", + "repeatAfter": "Set a repeating interval", + "percentDone": "Set Percent Done", + "attachments": "Add attachments", + "relatedTasks": "Add task relations", + "moveList": "Move task", + "color": "Set task color", + "delete": "Delete task", + "favorite": "Save as favorite", + "unfavorite": "Remove from favorites" + } + }, + "attributes": { + "assignees": "Assignees", + "color": "Color", + "created": "Created", + "createdBy": "Created By", + "description": "Description", + "done": "Done", + "dueDate": "Due Date", + "endDate": "End Date", + "labels": "Labels", + "percentDone": "% Done", + "priority": "Priority", + "relatedTasks": "Related Tasks", + "reminders": "Reminders", + "repeat": "Repeat", + "startDate": "Start Date", + "title": "Title", + "updated": "Updated" + }, + "subscription": { + "subscribedThroughParent": "You can't unsubscribe here because you are subscribed to this {entity} through its {parent}.", + "subscribed": "You are currently subscribed to this {entity} and will receive notifications for changes.", + "notSubscribed": "You are not subscribed to this {entity} and won't receive notifications for changes.", + "subscribe": "Subscribe", + "unsubscribe": "Unsubscribe", + "subscribeSuccess": "You are now subscribed to this {entity}", + "unsubscribeSuccess": "You are now unsubscribed to this {entity}" + }, + "attachment": { + "title": "Attachments", + "createdBy": "created {0} by {1}", + "downloadTooltip": "Download this attachment", + "upload": "Upload attachment", + "drop": "Drop files here to upload", + "delete": "Delete attachment", + "deleteTooltip": "Delete this attachment", + "deleteText1": "Are you sure you want to delete the attachment {filename}?", + "deleteText2": "This cannot be undone!", + "copyUrl": "Copy URL", + "copyUrlTooltip": "Copy the url of this attachment for usage in text" + }, + "comment": { + "title": "Comments", + "loading": "Loading comments…", + "edited": "edited {date}", + "creating": "Creating comment…", + "placeholder": "Add your comment…", + "comment": "Comment", + "delete": "Delete this comment", + "deleteText1": "Are you sure you want to delete this comment?", + "deleteText2": "This cannot be undone!", + "addedSuccess": "The comment was added successfully." + }, + "deferDueDate": { + "title": "Defer due date", + "1day": "1 day", + "3days": "3 days", + "1week": "1 week" + }, + "description": { + "placeholder": "Click here to enter a description…", + "empty": "No description available yet." + }, + "assignee": { + "placeholder": "Type to assign a user…", + "selectPlaceholder": "Assign this user", + "assignSuccess": "The user has been assigned successfully.", + "unassignSuccess": "The user has been unassigned successfully." + }, + "label": { + "placeholder": "Type to add a new label…", + "createPlaceholder": "Add this as new label", + "addSuccess": "The label has been added successfully.", + "createSuccess": "The label has been created successfully.", + "removeSuccess": "The label has been removed successfully.", + "addCreateSuccess": "The label has been created and added successfully." + }, + "priority": { + "unset": "Unset", + "low": "Low", + "medium": "Medium", + "high": "high", + "urgent": "Urgent", + "doNow": "DO NOW" + }, + "relation": { + "add": "Add a New Task Relation", + "new": "New Task Relation", + "searchPlaceholder": "Type search for a new task to add as related…", + "createPlaceholder": "Add this as new related task", + "differentList": "This task belongs to a different list.", + "noneYet": "No task relations yet.", + "delete": "Delete Task Relation", + "deleteText1": "Are you sure you want to delete this task relation?", + "deleteText2": "This cannot be undone!", + "select": "Select a relation kind", + "kinds": { + "subtask": "Subtask | Subtasks", + "parenttask": "Parent Task | Parent Tasks", + "related": "Related Task | Related Tasks", + "duplicateof": "Duplicate Of | Duplicates Of", + "duplicates": "Duplicates | Duplicates", + "blocking": "Blocking | Blocking", + "blocked": "Blocked By | Blocked By", + "precedes": "Precedes | Precedes", + "follows": "Follows | Follows", + "copiedfrom": "Copied From | Copied From", + "copiedto": "Copied To | Copied To" + } + }, + "repeat": { + "everyDay": "Every Day", + "everyWeek": "Every Week", + "everyMonth": "Every Month", + "mode": "Repeat mode", + "monthly": "Monthly", + "fromCurrentDate": "From Current Date", + "each": "Each", + "specifyAmount": "Specify an amount…", + "hours": "Hours", + "days": "Days", + "weeks": "Weeks", + "months": "Months", + "years": "Years" + }, + "quickAddMagic": { + "hint": "You can use Quick Add Magic", + "what": "What?", + "title": "Quick Add Magic", + "intro": "When creating a task, you can use special keywords to directly add attributes to the newly created task. This allows to add commonly used attributes to tasks much faster.", + "multiple": "You can use this multiple times.", + "label1": "To add a label, simply prefix the name of the label with {prefix}.", + "label2": "Vikunja will first check if the label already exist and create it if not.", + "label3": "To use spaces, simply add a \" around the label name.", + "label4": "For example: {prefix}\"Label with spaces\".", + "priority1": "To set a task's priority, add a number 1-5, prefixed with a {prefix}.", + "priority2": "The higher the number, the higher the priority.", + "assignees": "To directly assign the task to a user, add their username prefixed with {prefix} to the task.", + "list1": "To set a list for the task to appear in, enter its name prefixed with {prefix}.", + "list2": "This will return an error if the list does not exist.", + "dateAndTime": "Date and time", + "date": "Any date will be used as the due date of the new task. You can use dates in any of these formats:", + "dateWeekday": "any weekday, will use the next date with that date", + "dateCurrentYear": "will use the current year", + "dateNth": "will use the {day}th of the current month", + "dateTime": "Combine any of the date formats with \"{time}\" (or {timePM}) to set a time." + } + }, + "team": { + "title": "Teams", + "noTeams": "You are currently not part of any teams.", + "create": { + "title": "Create a new team", + "success": "The team was successfully created." + }, + "edit": { + "title": "Edit Team \"{team}\"", + "members": "Team Members", + "search": "Type to search a user…", + "addUser": "Add to team", + "makeMember": "Make Member", + "makeAdmin": "Make Admin", + "success": "The team was successfully updated.", + "userAddedSuccess": "The team member was successfully added.", + "madeMember": "The team member was successfully made member.", + "madeAdmin": "The team member was successfully made admin.", + "delete": { + "header": "Delete the team", + "text1": "Are you sure you want to delete this team and all of its members?", + "text2": "All team members will lose access to lists and namespaces shared with this team. This CANNOT BE UNDONE!", + "success": "The team was successfully deleted." + }, + "deleteUser": { + "header": "Remove a user from the team", + "text1": "Are you sure you want to remove this user from the team?", + "text2": "They will lose access to all lists and namespaces this team has access to. This CANNOT BE UNDONE!", + "success": "The user was successfully deleted from the team." + } + }, + "attributes": { + "name": "Team Name", + "namePlaceholder": "The team's name goes here…", + "nameRequired": "Please specify a name.", + "description": "Description", + "descriptionPlaceholder": "The teams description goes here…", + "admin": "Admin", + "member": "Member" + } + }, + "keyboardShortcuts": { + "title": "Keyboard Shortcuts", + "allPages": "These shortcuts work on all pages.", + "currentPageOnly": "These shortcuts work only on the current page.", + "toggleMenu": "Toggle The Menu", + "quickSearch": "Open the search/quick action bar", + "task": { + "title": "Task Page", + "done": "Mark a task as done", + "assign": "Assign this task to a user", + "labels": "Add labels to this task", + "dueDate": "Change the due date of this task", + "attachment": "Add an attachment to this task", + "related": "Modify related tasks of this task" + } + }, + "update": { + "available": "There is an update for Vikunja available!", + "do": "Update Now" + }, + "menu": { + "edit": "Edit", + "archive": "Archive", + "duplicate": "Duplicate", + "delete": "Delete", + "unarchive": "Un-Archive", + "setBackground": "Set background", + "share": "Share", + "newList": "New list" + }, + "apiConfig": { + "url": "Vikunja URL", + "urlPlaceholder": "eg. https://localhost:3456", + "change": "change", + "signInOn": "Sign in to your Vikunja account on {0}", + "error": "Could not find or use Vikunja installation at \"{domain}\".", + "success": "Using Vikunja installation at \"{domain}\"." + }, + "loadingError": { + "failed": "Loading failed, please {0}. If the error persists, please {1}.", + "tryAgain": "try again", + "contact": "contact us" + }, + "notification": { + "title": "Notifications", + "none": "You don't have any notifications. Have a nice day!", + "explainer": "Notifications will appear here when actions on namespaces, lists or tasks you subscribed to happen." + }, + "quickActions": { + "commands": "Commands", + "placeholder": "Type a command or search…", + "hint": "You can use # to only seach for tasks, * to only search for lists and @ to only search for teams.", + "tasks": "Tasks", + "lists": "Lists", + "teams": "Teams", + "newList": "Enter the title of the new list…", + "newTask": "Enter the title of the new task…", + "newNamespace": "Enter the title of the new namespace…", + "newTeam": "Enter the name of the new team…", + "createTask": "Create a task in the current list ({title})", + "createList": "Create a list in the current namespace ({title})", + "cmds": { + "newTask": "New task", + "newList": "New list", + "newNamespace": "New namespace", + "newTeam": "New team" + } + }, + "date": { + "locale": "en", + "altFormatLong": "j M Y H:i", + "altFormatShort": "j M Y" + }, + "error": { + "error": "Error", + "success": "Success", + "0001": "You're not allowed to do that.", + "1001": "A user with this username already exists.", + "1002": "A user with this email address already exists.", + "1004": "No username and password specified.", + "1005": "The user does not exist.", + "1006": "Could not get the user id.", + "1008": "No password reset token provided.", + "1009": "Invalid password reset token.", + "1010": "Invalid email confirm token.", + "1011": "Wrong username or password.", + "1012": "Email address of the user not confirmed.", + "1013": "New password is empty.", + "1014": "Old password is empty.", + "1015": "Totp is already enabled for this user.", + "1016": "Totp is not enabled for this user.", + "1017": "The totp passcode is invalid.", + "1018": "The user avatar type setting is invalid.", + "2001": "ID cannot be empty or 0.", + "2002": "Some of the request data was invalid.", + "3001": "The list does not exist.", + "3004": "You need to have read permissions on that list to perform that action.", + "3005": "The list title cannot be empty.", + "3006": "The list share does not exist.", + "3007": "A list with this identifier already exists.", + "3008": "The list is archived and can therefore only be accessed read only. This is also true for all tasks associated with this list.", + "4001": "The list task text cannot be empty.", + "4002": "The list task does not exist.", + "4003": "All bulk editing tasks must belong to the same list.", + "4004": "Need at least one task when bulk editing tasks.", + "4005": "You do not have the right to see the task.", + "4006": "You can't set a parent task as the task itself.", + "4007": "You can't create a task relation with an invalid kind of relation.", + "4008": "You can't create a task relation which already exists.", + "4009": "The task relation does not exist.", + "4010": "Cannot relate a task with itself.", + "4011": "The task attachment does not exist.", + "4012": "The task attachment is too large.", + "4013": "The task sort param is invalid.", + "4014": "The task sort order is invalid.", + "4015": "The task comment does not exist.", + "4016": "Invalid task field.", + "4017": "Invalid task filter comparator.", + "4018": "Invalid task filter concatinator.", + "4019": "Invalid task filter value.", + "5001": "The namespace does not exist.", + "5003": "You do not have access to the specified namespace.", + "5006": "The namespace name cannot be empty.", + "5009": "You need to have namespace read access to perform that action.", + "5010": "This team does not have access to that namespace.", + "5011": "This user has already access to that namespace.", + "5012": "The namespace is archived and can therefore only be accessed read only.", + "6001": "The team name cannot be emtpy.", + "6002": "The team does not exist.", + "6004": "The team already has access to that namespace or list.", + "6005": "The user is already a member of that team.", + "6006": "Cannot delete the last team member.", + "6007": "The team does not have access to the list to perform that action.", + "7002": "The user already has access to that list.", + "7003": "You do not have access to that list.", + "8001": "This label already exists on that task.", + "8002": "The label does not exist.", + "8003": "You do not have access to this label.", + "9001": "The right is invalid.", + "10001": "The bucket does not exist.", + "10002": "The bucket does not belong to that list.", + "10003": "You cannot remove the last bucket on a list.", + "10004": "You cannot add the task to this bucket as it already exceeded the limit of tasks it can hold.", + "10005": "There can be only one done bucket per list.", + "11001": "The saved filter does not exist.", + "11002": "Saved filters are not available for link shares.", + "12001": "The subscription entity type is invalid.", + "12002": "You are already subscribed to the entity itself or a parent entity.", + "13001": "This link share requires a password for authentication, but none was provided.", + "13002": "The provided link share password was invalid." + }, + "about": { + "title": "About", + "frontendVersion": "Frontend Version: {version}", + "apiVersion": "API Version: {version}" + } +} diff --git a/src/i18n/lang/it-IT.json b/src/i18n/lang/it-IT.json index 5cd14c0c..55a22543 100644 --- a/src/i18n/lang/it-IT.json +++ b/src/i18n/lang/it-IT.json @@ -1,271 +1,271 @@ { "home": { - "welcomeNight": "Good Night {username}", - "welcomeMorning": "Good Morning {username}", - "welcomeDay": "Hi {username}", - "welcomeEvening": "Good Evening {username}", - "lastViewed": "Last viewed", + "welcomeNight": "Buonanotte {username}", + "welcomeMorning": "Buongiorno {username}", + "welcomeDay": "Ciao {username}", + "welcomeEvening": "Buonasera {username}", + "lastViewed": "Ultima visualizzazione", "list": { - "newText": "You can create a new list for your new tasks:", - "new": "Create a new list", - "importText": "Or import your lists and tasks from other services into Vikunja:", - "import": "Import your data into Vikunja" + "newText": "È possibile creare una nuova lista per le nuove attività:", + "new": "Crea una nuova lista", + "importText": "O importare le liste e le attività da altri servizi in Vikunja:", + "import": "Importa i tuoi dati in Vikunja" } }, "404": { - "title": "Not found", - "text": "The page you requested does not exist." + "title": "Non trovato", + "text": "La pagina richiesta non esiste." }, "user": { "auth": { - "username": "Username", - "usernameEmail": "Username Or Email Address", - "usernamePlaceholder": "e.g. frederick", - "email": "E-mail address", - "emailPlaceholder": "e.g. frederic{'@'}vikunja.io", + "username": "Nome utente", + "usernameEmail": "Nome utente o indirizzo e-mail", + "usernamePlaceholder": "es. frederick", + "email": "Indirizzo e-mail", + "emailPlaceholder": "per es. frederic{'@'}vikunja.io", "password": "Password", - "passwordRepeat": "Retype your password", - "passwordPlaceholder": "e.g. •••••••••••", - "resetPassword": "Reset your password", - "resetPasswordAction": "Send me a password reset link", - "resetPasswordSuccess": "Check your inbox! You should have an e-mail with instructions on how to reset your password.", - "passwordsDontMatch": "Passwords don't match", - "confirmEmailSuccess": "You successfully confirmed your email! You can log in now.", - "totpTitle": "Two Factor Authentication Code", - "totpPlaceholder": "e.g. 123456", - "login": "Login", - "register": "Register", - "loginWith": "Log in with {provider}", - "authenticating": "Authenticating…", + "passwordRepeat": "Digita di nuovo la tua password", + "passwordPlaceholder": "es. ••••••••••••", + "resetPassword": "Reimposta la tua password", + "resetPasswordAction": "Inviami il link per reimpostare la password", + "resetPasswordSuccess": "Controlla la tua casella di posta! Dovresti avere un'e-mail con le istruzioni su come reimpostare la password.", + "passwordsDontMatch": "Le password non corrispondono", + "confirmEmailSuccess": "Hai confermato con successo la tua e-mail! Ora puoi accedere.", + "totpTitle": "Codice di autenticazione a due fattori", + "totpPlaceholder": "es. 123456", + "login": "Accedi", + "register": "Registrati", + "loginWith": "Accedi con {provider}", + "authenticating": "Autenticazione…", "openIdStateError": "State does not match, refusing to continue!", - "openIdGeneralError": "An error occured while authenticating against the third party.", - "logout": "Logout" + "openIdGeneralError": "Si è verificato un errore durante l'autenticazione con terze parti.", + "logout": "Esci" }, "settings": { - "title": "Settings", - "newPasswordTitle": "Update Your Password", - "newPassword": "New Password", - "newPasswordConfirm": "New Password Confirmation", - "currentPassword": "Current Password", - "currentPasswordPlaceholder": "Your current password", - "passwordsDontMatch": "The new password and its confirmation don't match.", - "passwordUpdateSuccess": "The password was successfully updated.", - "updateEmailTitle": "Update Your E-Mail Address", - "updateEmailNew": "New Email Address", - "updateEmailSuccess": "Your email address was successfully updated. We've sent you a link to confirm it.", + "title": "Impostazioni", + "newPasswordTitle": "Aggiorna la tua Password", + "newPassword": "Nuova Password", + "newPasswordConfirm": "Conferma della nuova password", + "currentPassword": "Password attuale", + "currentPasswordPlaceholder": "La tua password attuale", + "passwordsDontMatch": "La nuova password e la conferma non coincidono.", + "passwordUpdateSuccess": "Password aggiornata con successo.", + "updateEmailTitle": "Inserisci il tuo indirizzo e-mail", + "updateEmailNew": "Nuovo indirizzo e-mail", + "updateEmailSuccess": "Il tuo indirizzo e-mail è stato aggiornato correttamente. Ti abbiamo inviato un collegamento per confermarlo.", "general": { - "title": "General Settings", - "name": "Name", - "newName": "The new Name", - "savedSuccess": "The settings were successfully updated.", - "emailReminders": "Send me reminders for tasks via Email", - "overdueReminders": "Send me reminders for overdue undone tasks via email each morning", - "discoverableByName": "Let other users find me when they search for my name", - "discoverableByEmail": "Let other users find me when they search for my full email", - "playSoundWhenDone": "Play a sound when marking tasks as done", - "weekStart": "Week starts on", - "weekStartSunday": "Sunday", - "weekStartMonday": "Monday", - "language": "Language", - "defaultList": "Default List" + "title": "Impostazioni Generali", + "name": "Nome", + "newName": "Il nuovo nome", + "savedSuccess": "Impostazioni salvate con successo.", + "emailReminders": "Inviami promemoria per le attività via e-mail", + "overdueReminders": "Inviami promemoria per le attività scadute via e-mail ogni mattina", + "discoverableByName": "Lascia che altri utenti mi trovino cercando il mio nome", + "discoverableByEmail": "Lascia che altri utenti mi trovino quando cercano il mio indirizzo e-mail completo", + "playSoundWhenDone": "Riproduci un suono quando le attività vengono segnate come fatte", + "weekStart": "La settimana inizia il", + "weekStartSunday": "Domenica", + "weekStartMonday": "Lunedì", + "language": "Lingua", + "defaultList": "Lista predefinita" }, "totp": { - "title": "Two Factor Authentication", - "enroll": "Enroll", - "finishSetupPart1": "To finish your setup, use this secret in your totp app (Google Authenticator or similar):", - "finishSetupPart2": "After that, enter a code from your app below.", - "scanQR": "Alternatively you can scan this QR code:", - "passcode": "Passcode", - "passcodePlaceholder": "A code generated by your totp application", - "setupSuccess": "You've sucessfully set up two factor authentication!", - "enterPassword": "Please Enter Your Password", - "disable": "Disable two factor authentication", - "confirmSuccess": "You've successfully confirmed your totp setup and can use it from now on!", - "disableSuccess": "Two factor authentication was sucessfully disabled." + "title": "Autenticazione a due fattori", + "enroll": "Attiva", + "finishSetupPart1": "Per completare la configurazione, usa questo codice segreto nella tua app TOTP (Autenticatore Google o simile):", + "finishSetupPart2": "Dopodiché, inserisci un codice dalla tua app di qui sotto.", + "scanQR": "In alternativa puoi scansionare questo codice QR:", + "passcode": "Codice di accesso", + "passcodePlaceholder": "Un codice generato dalla tua applicazione TOTP", + "setupSuccess": "Hai impostato con successo l'autenticazione a due fattori!", + "enterPassword": "Inserisci La Tua Password", + "disable": "Disabilita l'autenticazione a due fattori", + "confirmSuccess": "Hai confermato con successo la tua configurazione totp e puoi usarla da ora in poi!", + "disableSuccess": "L'autenticazione a due fattori è stata disattivata." }, "caldav": { - "title": "Caldav", - "howTo": "You can connect Vikunja to caldav clients to view and manage all tasks from different clients. Enter this url into your client:", - "more": "More information about caldav in Vikunja" + "title": "CalDav", + "howTo": "Puoi connettere Vikunja ai client caldav per visualizzare e gestire tutte le attività da diversi client. Inserisci questo URL nel tuo client:", + "more": "Ulteriori informazioni su caldav in Vikunja" }, "avatar": { "title": "Avatar", - "initials": "Initials", + "initials": "Iniziali", "gravatar": "Gravatar", - "upload": "Upload", - "uploadAvatar": "Upload Avatar", + "upload": "Carica", + "uploadAvatar": "Carica Avatar", "statusUpdateSuccess": "Avatar status was updated successfully!", - "setSuccess": "The avatar has been set successfully!" + "setSuccess": "L'avatar è stato impostato con successo!" }, "quickAddMagic": { "title": "Quick Add Magic Mode", - "disabled": "Disabled", + "disabled": "Disabilitato", "todoist": "Todoist", "vikunja": "Vikunja" } }, "deletion": { - "title": "Delete your Vikunja Account", + "title": "Elimina il tuo account Vikunja", "text1": "The deletion of your account is permanent and cannot be undone. We will delete all your namespaces, lists, tasks and everything associated with it.", - "text2": "To proceed, please enter your password. You will receive an email with further instructions.", - "confirm": "Delete my account", - "requestSuccess": "The request was successful. You'll receive an email with further instructions.", - "passwordRequired": "Please enter your password.", - "confirmSuccess": "You've successfully confirmed the deletion of your account. We will delete your account in three days.", - "scheduled": "We will delete your Vikunja account at {date} ({dateSince}).", - "scheduledCancel": "To cancel the deletion of your account, click here.", - "scheduledCancelText": "To cancel the deletion of your account, please enter your password below:", - "scheduledCancelConfirm": "Cancel the deletion of my account", - "scheduledCancelSuccess": "We will not delete your account." + "text2": "Per continuare, inserisci la tua password. Riceverai un'e-mail con ulteriori istruzioni.", + "confirm": "Elimina il mio profilo", + "requestSuccess": "Richiesta riuscita. Riceverai un'e-mail con ulteriori istruzioni.", + "passwordRequired": "Inserisci la tua password.", + "confirmSuccess": "Hai confermato la cancellazione del tuo account. Elimineremo il tuo account tra tre giorni.", + "scheduled": "Elimineremo il tuo account Vikunja il {date} ({dateSince}).", + "scheduledCancel": "Per annullare l'eliminazione del tuo account, clicca qui.", + "scheduledCancelText": "Per annullare l'eliminazione del tuo account, inserisci la password qui sotto:", + "scheduledCancelConfirm": "Annulla l'eliminazione del mio account", + "scheduledCancelSuccess": "Non elimineremo il tuo account." }, "export": { - "title": "Export your Vikunja data", + "title": "Esporta i tuoi dati Vikunja", "description": "You can request a copy of all your Vikunja data. This include Namespaces, Lists, Tasks and everything associated to them. You can import this data in any Vikunja instance through the migration function.", - "descriptionPasswordRequired": "Please enter your password to proceed:", - "request": "Request a copy of my Vikunja Data", - "success": "You've successfully requested your Vikunja Data! We will send you an email once it's ready to download.", - "downloadTitle": "Download your exported Vikunja data" + "descriptionPasswordRequired": "Inserisci la tua password per procedere:", + "request": "Richiedi una copia dei miei dati Vikunja", + "success": "Hai richiesto con successo i tuoi dati Vikunja! Ti invieremo un'e-mail una volta che saranno pronti da scaricare.", + "downloadTitle": "Scarica i tuoi dati Vikunja esportati" } }, "list": { - "archived": "This list is archived. It is not possible to create new or edit tasks for it.", - "title": "List Title", - "color": "Color", - "lists": "Lists", - "search": "Type to search for a list…", - "searchSelect": "Click or press enter to select this list", - "shared": "Shared Lists", + "archived": "Questa lista è archiviata. Non è possibile creare nuove attività o modificarle.", + "title": "Titolo della Lista", + "color": "Colore", + "lists": "Liste", + "search": "Digita per cercare una lista…", + "searchSelect": "Fare clic o premere invio per selezionare questa lista", + "shared": "Liste Condivise", "create": { - "header": "Create a new list", - "titlePlaceholder": "The list's title goes here…", - "addTitleRequired": "Please specify a title.", - "createdSuccess": "The list was successfully created.", - "addListRequired": "Please specify a list or set a default list in the settings." + "header": "Crea una nuova lista", + "titlePlaceholder": "Il titolo della lista va qui…", + "addTitleRequired": "Specifica un titolo.", + "createdSuccess": "La lista è stata creata correttamente.", + "addListRequired": "Specifica una lista o imposta una lista predefinita nelle impostazioni." }, "archive": { - "title": "Archive \"{list}\"", - "archive": "Archive this list", - "unarchive": "Un-Archive this list", - "unarchiveText": "You will be able to create new tasks or edit it.", - "archiveText": "You won't be able to edit this list or create new tasks until you un-archive it.", - "success": "The list was successfully archived." + "title": "Archivia \"{list}\"", + "archive": "Archivia questa lista", + "unarchive": "Estrai questa lista dall'archivio", + "unarchiveText": "Potrai creare nuove attività o modificarle.", + "archiveText": "Non sarà possibile modificare questa lista o creare nuove attività fino a quando non verrà estratta dall'archivio.", + "success": "Lista archiviata con successo." }, "background": { - "title": "Set list background", - "remove": "Remove Background", - "upload": "Choose a background from your pc", - "searchPlaceholder": "Search for a background…", - "poweredByUnsplash": "Powered by Unsplash", - "loadMore": "Load more photos", - "success": "The background has been set successfully!", - "removeSuccess": "The background has been removed successfully!" + "title": "Imposta sfondo lista", + "remove": "Rimuovi Sfondo", + "upload": "Scegli uno sfondo dal tuo pc", + "searchPlaceholder": "Cerca uno sfondo…", + "poweredByUnsplash": "Realizzato con Unsplash", + "loadMore": "Carica altre foto", + "success": "Lo sfondo è stato impostato con successo!", + "removeSuccess": "Lo sfondo è stato rimosso con successo!" }, "delete": { - "title": "Delete \"{list}\"", - "header": "Delete this list", - "text1": "Are you sure you want to delete this list and all of its contents?", - "text2": "This includes all tasks and CANNOT BE UNDONE!", - "success": "The list was successfully deleted." + "title": "Elimina \"{list}\"", + "header": "Elimina questa lista", + "text1": "Sei sicuro di voler eliminare questa lista e tutti i suoi contenuti?", + "text2": "Questo include tutte le attività e NON PUÒ ESSERE RIPRISTINATO!", + "success": "La lista è stata eliminata con successo." }, "duplicate": { - "title": "Duplicate this list", - "label": "Duplicate", + "title": "Duplica questa lista", + "label": "Duplica", "text": "Select a namespace which should hold the duplicated list:", - "success": "The list was successfully duplicated." + "success": "Lista duplicata." }, "edit": { - "header": "Edit This List", - "title": "Edit \"{list}\"", - "titlePlaceholder": "The list title goes here…", - "identifierTooltip": "The list identifier can be used to uniquely identify a task across lists. You can set it to empty to disable it.", - "identifier": "List Identifier", - "identifierPlaceholder": "The list identifier goes here…", - "description": "Description", - "descriptionPlaceholder": "The lists description goes here…", - "color": "Color", - "success": "The list was successfully updated." + "header": "Modifica Questa Lista", + "title": "Modifica \"{list}\"", + "titlePlaceholder": "Il titolo della lista va qui…", + "identifierTooltip": "L'identificatore della lista può essere usato per identificare univocamente un'attività tra le varie liste. Puoi lasciarlo vuoto per disabilitarlo.", + "identifier": "Identificatore Della Lista", + "identifierPlaceholder": "L'identificatore della lista va qui…", + "description": "Descrizione", + "descriptionPlaceholder": "La descrizione della lista va qui…", + "color": "Colore", + "success": "Lista aggiornata." }, "share": { - "header": "Share this list", - "title": "Share \"{list}\"", - "share": "Share", + "header": "Condividi questa lista", + "title": "Condividi \"{list}\"", + "share": "Condividi", "links": { - "title": "Share Links", - "what": "What is a share link?", - "explanation": "Share Links allow you to easily share a list with other users who don't have an account on Vikunja.", - "create": "Create a new link share", - "name": "Name (optional)", - "namePlaceholder": "e.g. Lorem Ipsum", - "nameExplanation": "All actions done by this link share will show up with the name.", - "password": "Password (optional)", - "passwordExplanation": "When authenticating, the user will be required to enter this password.", - "noName": "No name set", - "remove": "Remove a link share", - "removeText": "Are you sure you want to remove this link share? It will no longer be possible to access this list with this link share. This cannot be undone!", - "createSuccess": "The link share was successfully created.", - "deleteSuccess": "The link share was successfully deleted" + "title": "Link di condivisione", + "what": "Cos'è un link di condivisione?", + "explanation": "I link di condivisione consentono di condividere facilmente una lista con altri utenti che non hanno un account su Vikunja.", + "create": "Crea nuovo link di condivisione", + "name": "Nome (facoltativo)", + "namePlaceholder": "es. Lorem Ipsum", + "nameExplanation": "Tutte le azioni svolte tramite questo link di condivisione verranno visualizzate con questo nome.", + "password": "Password (facoltativo)", + "passwordExplanation": "Durante l'autenticazione, l'utente dovrà inserire questa password.", + "noName": "Nessun nome impostato", + "remove": "Rimuovi un link di condivisione", + "removeText": "Sei sicuro di voler rimuovere questo link di condivisione? Non sarà più possibile accedere a questa lista con questo link. Non può essere ripristinato!", + "createSuccess": "Link di condivisione creato.", + "deleteSuccess": "Link di condivisione elimitato" }, "userTeam": { - "typeUser": "user | users", - "typeTeam": "team | teams", - "shared": "Shared with these {type}", - "you": "You", - "notShared": "Not shared with any {type} yet.", - "removeHeader": "Remove a {type} from the {sharable}", - "removeText": "Are you sure you want to remove this {sharable} from the {type}? This cannot be undone!", - "removeSuccess": "The {sharable} was successfully removed from the {type}.", - "addedSuccess": "The {type} was successfully added.", - "updatedSuccess": "The {type} was successfully added." + "typeUser": "utente | utenti", + "typeTeam": "gruppo | gruppi", + "shared": "Condiviso con questi {type}", + "you": "Tu", + "notShared": "Non ancora condiviso con nessun {type}.", + "removeHeader": "Rimuovi un {type} dal {sharable}", + "removeText": "Sei sicuro di voler rimuovere questo {sharable} dal {type}? Non può essere ripristinato!", + "removeSuccess": "{sharable} rimosso dal {type}.", + "addedSuccess": "{type} aggiunto.", + "updatedSuccess": "{type} aggiunto." }, "right": { - "title": "Right", - "read": "Read only", - "readWrite": "Read & write", - "admin": "Admin" + "title": "Permessi", + "read": "Sola lettura", + "readWrite": "Lettura e scrittura", + "admin": "Amministratore" }, "attributes": { "link": "Link", - "name": "Name", - "sharedBy": "Shared by", - "right": "Right", - "delete": "Delete" + "name": "Nome", + "sharedBy": "Condiviso da", + "right": "Permessi", + "delete": "Elimina" } }, "list": { - "title": "List", - "add": "Add", - "addPlaceholder": "Add a new task…", - "empty": "This list is currently empty.", - "newTaskCta": "Create a new task.", - "editTask": "Edit Task" + "title": "Lista", + "add": "Aggiungi", + "addPlaceholder": "Aggiungi una nuova attività…", + "empty": "Questa lista è attualmente vuota.", + "newTaskCta": "Crea una nuova attività.", + "editTask": "Modifica Attività" }, "gantt": { "title": "Gantt", - "showTasksWithoutDates": "Show tasks which don't have dates set", - "size": "Size", - "default": "Default", - "month": "Month", - "day": "Day", - "from": "From", - "to": "To", - "noDates": "This task has no dates set." + "showTasksWithoutDates": "Mostra attività che non hanno date impostate", + "size": "Dimensione", + "default": "Predefinito", + "month": "Mese", + "day": "Giorno", + "from": "Da", + "to": "A", + "noDates": "Questa attività non ha date impostate." }, "table": { - "title": "Table", - "columns": "Columns" + "title": "Tabella", + "columns": "Colonne" }, "kanban": { "title": "Kanban", - "limit": "Limit: {limit}", - "noLimit": "Not Set", + "limit": "Limite: {limit}", + "noLimit": "Non Impostato", "doneBucket": "Done bucket", "doneBucketHint": "All tasks moved into this bucket will automatically marked as done.", "doneBucketHintExtended": "All tasks moved into the done bucket will be marked as done automatically. All tasks marked as done from elsewhere will be moved as well.", "doneBucketSavedSuccess": "The done bucket has been saved successfully.", "deleteLast": "You cannot remove the last bucket.", "addTaskPlaceholder": "Enter the new task title…", - "addTask": "Add a task", - "addAnotherTask": "Add another task", + "addTask": "Aggiungi un'attività", + "addAnotherTask": "Aggiungi un'altra attività", "addBucket": "Create a new bucket", "addBucketPlaceholder": "Enter the new bucket title…", "deleteHeaderBucket": "Delete the bucket", @@ -278,7 +278,7 @@ }, "pseudo": { "favorites": { - "title": "Favorites" + "title": "Preferiti" } } }, @@ -301,7 +301,7 @@ "success": "The namespace was successfully created." }, "archive": { - "titleArchive": "Archive \"{namespace}\"", + "titleArchive": "Archivia \"{namespace}\"", "titleUnarchive": "Un-Archive \"{namespace}\"", "archiveText": "You won't be able to edit this namespace or create new lists until you un-archive it. This will also archive all lists in this namespace.", "unarchiveText": "You will be able to create new lists or edit it.", @@ -311,265 +311,265 @@ "delete": { "title": "Delete \"{namespace}\"", "text1": "Are you sure you want to delete this namespace and all of its contents?", - "text2": "This includes all lists and tasks and CANNOT BE UNDONE!", + "text2": "Questo include tutte le liste e le attività e NON PUÒ ESSERE RIPRISTINATO!", "success": "The namespace was successfully deleted." }, "edit": { - "title": "Edit \"{namespace}\"", + "title": "Modifica \"{namespace}\"", "success": "The namespace was successfully updated." }, "share": { - "title": "Share \"{namespace}\"" + "title": "Condividi \"{namespace}\"" }, "attributes": { "title": "Namespace Title", "titlePlaceholder": "The namespace title goes here…", - "description": "Description", + "description": "Descrizione", "descriptionPlaceholder": "The namespaces description goes here…", - "color": "Color", + "color": "Colore", "archived": "Is Archived", "isArchived": "This namespace is archived" }, "pseudo": { "sharedLists": { - "title": "Shared Lists" + "title": "Liste Condivise" }, "favorites": { - "title": "Favorites" + "title": "Preferiti" }, "savedFilters": { - "title": "Filters" + "title": "Filtri" } } }, "filters": { - "title": "Filters", + "title": "Filtri", "attributes": { - "title": "Title", - "titlePlaceholder": "The saved filter title goes here…", - "description": "Description", - "descriptionPlaceholder": "The description goes here…", - "includeNulls": "Include Tasks which don't have a value set", - "requireAll": "Require all filters to be true for a task to show up", - "showDoneTasks": "Show Done Tasks", - "enablePriority": "Enable Filter By Priority", - "enablePercentDone": "Enable Filter By Percent Done", - "dueDateRange": "Due Date Range", - "startDateRange": "Start Date Range", - "endDateRange": "End Date Range", + "title": "Titolo", + "titlePlaceholder": "Il titolo del filtro salvato va qui…", + "description": "Descrizione", + "descriptionPlaceholder": "La descrizione va qui…", + "includeNulls": "Includi attività che non hanno un valore impostato", + "requireAll": "Tutti i filtri devono essere veri affinché l'attività venga mostrata", + "showDoneTasks": "Mostra Attività Fatte", + "enablePriority": "Abilita Filtro Per Priorità", + "enablePercentDone": "Abilitare Filtro Per Percentuale Fatta", + "dueDateRange": "Intervallo Data Di Scadenza", + "startDateRange": "Intervallo Data Iniziale", + "endDateRange": "Intervallo Data Finale", "reminderRange": "Reminder Date Range" }, "create": { - "title": "Create A Saved Filter", + "title": "Crea Un Filtro Salvato", "description": "A saved filter is a virtual list which is computed from a set of filters each time it is accessed. Once created, it will appear in a special namespace.", - "action": "Create new saved filter" + "action": "Crea nuovo filtro salvato" }, "delete": { - "header": "Delete this saved filter", - "text": "Are you sure you want to delete this saved filter?", - "success": "The filter was deleted successfully." + "header": "Elimina questo filtro salvato", + "text": "Confermi l'eliminazione di questo filtro salvato?", + "success": "Filtro eliminato." }, "edit": { - "title": "Edit This Saved Filter", - "success": "The filter was saved successfully." + "title": "Modifica Questo Filtro Salvato", + "success": "Filtro salvato." } }, "migrate": { - "title": "Migrate from other services to Vikunja", - "titleService": "Import your data from {name} into Vikunja", - "import": "Import your data into Vikunja", - "description": "Click on the logo of one of the third-party services below to get started.", - "descriptionDo": "Vikunja will import all lists, tasks, notes, reminders and files you have access to.", - "authorize": "To authorize Vikunja to access your {name} Account, click the button below.", - "getStarted": "Get Started", - "inProgress": "Importing in progress…", - "alreadyMigrated1": "It looks like you've already imported your stuff from {name} at {date}.", - "alreadyMigrated2": "Importing again is possible, but might create duplicates. Are you sure?", - "confirm": "I am sure, please start migrating now!", - "importUpload": "To import data from {name} into Vikunja, click the button below to select a file.", - "upload": "Upload file" + "title": "Migra da altri servizi a Vikunja", + "titleService": "Importa i tuoi dati da {name} in Vikunja", + "import": "Importa i tuoi dati in Vikunja", + "description": "Clicca sul logo di uno dei servizi esterni qui sotto per iniziare.", + "descriptionDo": "Vikunja importerà tutti gli elenchi, le attività, le note, i promemoria e i file a cui hai accesso.", + "authorize": "Per autorizzare Vikunja ad accedere al tuo account {name}, clicca il pulsante qui sotto.", + "getStarted": "Per Iniziare", + "inProgress": "Importazione in corso…", + "alreadyMigrated1": "Sembra che tu abbia già importato le tue cose da {name} il {date}.", + "alreadyMigrated2": "Importare di nuovo è possibile, ma potrebbe creare duplicati. Sei sicuro?", + "confirm": "Sono sicuro, per favore inizia adesso la migrazione!", + "importUpload": "Per importare i dati da {name} in Vikunja, fai clic sul pulsante qui sotto per selezionare un file.", + "upload": "Carica file" }, "label": { - "title": "Labels", - "manage": "Manage labels", - "description": "Click on a label to edit it. You can edit all labels you created, you can use all labels which are associated with a task to whose list you have access.", - "newCTA": "You currently do not have any labels.", - "search": "Type to search for a label…", + "title": "Etichette", + "manage": "Gestione etichette", + "description": "Fare clic su un'etichetta per modificarla. Puoi modificare tutte le etichette che hai creato, puoi usare tutte le etichette che sono associate a un'attività alla quale hai accesso.", + "newCTA": "Non hai nessuna etichetta.", + "search": "Digita per cercare un'etichetta…", "create": { - "header": "New label", - "title": "Create a new label", - "titleRequired": "Please specify a title.", - "success": "The label was successfully created." + "header": "Nuova etichetta", + "title": "Crea una nuova etichetta", + "titleRequired": "Specifica un titolo.", + "success": "L'etichetta è stata creata correttamente." }, "edit": { - "header": "Edit Label", - "forbidden": "You are not allowed to edit this label because you dont own it.", - "success": "The label was successfully updated." + "header": "Modifica Etichetta", + "forbidden": "Non hai l'autorizzazione per modificare questa etichetta perché non è tua.", + "success": "L'etichetta è stata aggiornata correttamente." }, - "deleteSuccess": "The label was successfully deleted.", + "deleteSuccess": "L'etichetta è stata eliminata correttamente.", "attributes": { - "title": "Title", - "titlePlaceholder": "The label title goes here…", - "description": "Description", - "descriptionPlaceholder": "Label description", - "color": "Color" + "title": "Titolo", + "titlePlaceholder": "Il titolo dell'etichetta va qui…", + "description": "Descrizione", + "descriptionPlaceholder": "Descrizione etichetta", + "color": "Colore" } }, "sharing": { - "authenticating": "Authenticating…", - "passwordRequired": "This shared list requires a password. Please enter it below:", - "error": "An error occured.", - "invalidPassword": "The password is invalid." + "authenticating": "Autenticazione…", + "passwordRequired": "Questo elenco condiviso richiede una password. Inseriscila qui sotto:", + "error": "Si è verificato un errore.", + "invalidPassword": "La password non è valida." }, "navigation": { - "overview": "Overview", + "overview": "Panoramica", "upcoming": "Upcoming", - "settings": "Settings", + "settings": "Impostazioni", "imprint": "Imprint", - "privacy": "Privacy Policy" + "privacy": "Politica sulla Privacy" }, "misc": { - "loading": "Loading…", - "save": "Save", - "delete": "Delete", - "confirm": "Confirm", - "cancel": "Cancel", - "refresh": "Refresh", - "disable": "Disable", - "copy": "Copy to clipboard", - "search": "Search", - "searchPlaceholder": "Type to search…", - "previous": "Previous", - "next": "Next", + "loading": "Caricamento…", + "save": "Salva", + "delete": "Elimina", + "confirm": "Conferma", + "cancel": "Annulla", + "refresh": "Aggiorna", + "disable": "Disabilita", + "copy": "Copia negli appunti", + "search": "Cerca", + "searchPlaceholder": "Digita per cercare…", + "previous": "Precedente", + "next": "Successivo", "poweredBy": "Powered by Vikunja", "info": "Info", "create": "Create", - "doit": "Do it!", - "saving": "Saving…", - "saved": "Saved!", - "default": "Default", - "close": "Close", - "download": "Download" + "doit": "Fallo!", + "saving": "Salvataggio…", + "saved": "Salvato!", + "default": "Predefinito", + "close": "Chiudi", + "download": "Scarica" }, "input": { - "resetColor": "Reset Color", + "resetColor": "Ripristina Colore", "datepicker": { - "today": "Today", - "tomorrow": "Tomorrow", - "nextMonday": "Next Monday", - "thisWeekend": "This Weekend", + "today": "Oggi", + "tomorrow": "Domani", + "nextMonday": "Lunedì Prossimo", + "thisWeekend": "Questo fine settimana", "laterThisWeek": "Later This Week", - "nextWeek": "Next Week", + "nextWeek": "Prossima Settimana", "chooseDate": "Choose a date" }, "editor": { - "edit": "Edit", - "done": "Done", - "heading1": "Heading 1", - "heading2": "Heading 2", - "heading3": "Heading 3", - "headingSmaller": "Heading Smaller", - "headingBigger": "Heading Bigger", - "bold": "Bold", - "italic": "Italic", - "strikethrough": "Strikethrough", - "code": "Code", - "quote": "Quote", - "unorderedList": "Unordered List", - "orderedList": "Ordered List", + "edit": "Modifica", + "done": "Fatto", + "heading1": "Intestazione 1", + "heading2": "Intestazione 2", + "heading3": "Intestazione 3", + "headingSmaller": "Intestazione Più Piccola", + "headingBigger": "Intestazione Più Grande", + "bold": "Grassetto", + "italic": "Corsivo", + "strikethrough": "Barrato", + "code": "Codice", + "quote": "Citazione", + "unorderedList": "Elenco puntato", + "orderedList": "Elenco numerato", "cleanBlock": "Clean Block", "link": "Link", - "image": "Image", - "table": "Table", + "image": "Immagine", + "table": "Tabella", "horizontalRule": "Horizontal Rule", "sideBySide": "Side By Side", "guide": "Guide" }, "multiselect": { "createPlaceholder": "Create new", - "selectPlaceholder": "Click or press enter to select" + "selectPlaceholder": "Clicca o premere invio per selezionare" } }, "task": { - "task": "Task", - "new": "Create a new task", - "delete": "Delete this task", - "createSuccess": "The task was successfully created.", - "addReminder": "Add a new reminder…", - "doneSuccess": "The task was successfully marked as done.", - "undoneSuccess": "The task was successfully un-marked as done.", - "openDetail": "Open task detail view", - "checklistTotal": "{checked} of {total} tasks", - "checklistAllDone": "{total} tasks", + "task": "Attività", + "new": "Crea una nuova attività", + "delete": "Elimina questa attività", + "createSuccess": "Attività creata.", + "addReminder": "Aggiungi un nuovo promemoria…", + "doneSuccess": "Attività segnata come completata.", + "undoneSuccess": "Attività segnata come non completata.", + "openDetail": "Apri vista dettagli attività", + "checklistTotal": "{checked} di {total} attività", + "checklistAllDone": "{total} attività", "show": { - "titleCurrent": "Current Tasks", - "titleDates": "Tasks from {from} until {to}", - "noDates": "Show tasks without dates", - "current": "Current tasks", - "from": "Tasks from", + "titleCurrent": "Attività Attuali", + "titleDates": "Attività dal {from} al {to}", + "noDates": "Mostra attività senza date", + "current": "Attività attuali", + "from": "Attività da", "until": "until", - "today": "Today", - "nextWeek": "Next Week", - "nextMonth": "Next Month", - "noTasks": "Nothing to do - Have a nice day!" + "today": "Oggi", + "nextWeek": "Settimana Prossima", + "nextMonth": "Prossimo Mese", + "noTasks": "Niente da fare - Buona giornata!" }, "detail": { - "chooseDueDate": "Click here to set a due date", - "chooseStartDate": "Click here to set a start date", - "chooseEndDate": "Click here to set an end date", - "move": "Move task to a different list", - "done": "Done!", - "undone": "Mark as undone", - "created": "Created {0} by {1}", - "updated": "Updated {0}", - "doneAt": "Done {0}", - "updateSuccess": "The task was saved successfully.", - "deleteSuccess": "The task has been deleted successfully.", - "belongsToList": "This task belongs to list '{list}'", - "due": "Due {at}", + "chooseDueDate": "Clicca qui per impostare una data di scadenza", + "chooseStartDate": "Clicca qui per impostare una data di inizio", + "chooseEndDate": "Clicca qui per impostare una data di fine", + "move": "Sposta attività in un'altra lista", + "done": "Fatto!", + "undone": "Segna come non completato", + "created": "Creato {0} da {1}", + "updated": "Aggiornato {0}", + "doneAt": "Fatto {0}", + "updateSuccess": "Attività salvata con successo.", + "deleteSuccess": "L'attività è stata eliminata con successo.", + "belongsToList": "Questa attività appartiene alla lista '{list}'", + "due": "Scadenza {at}", "closePopup": "Close popup", "delete": { - "header": "Delete this task", - "text1": "Are you sure you want to remove this task?", - "text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!" + "header": "Elimina questa attività", + "text1": "Sei sicuro di voler eliminare questa attività?", + "text2": "Questo rimuoverà anche tutti gli allegati, i promemoria e le relazioni associati a questa attività e non può essere ripristinato!" }, "actions": { - "assign": "Assign this task to a user", - "label": "Add labels", - "priority": "Set Priority", - "dueDate": "Set Due Date", - "startDate": "Set a Start Date", - "endDate": "Set an End Date", - "reminders": "Set Reminders", - "repeatAfter": "Set a repeating interval", - "percentDone": "Set Percent Done", - "attachments": "Add attachments", - "relatedTasks": "Add task relations", - "moveList": "Move task", - "color": "Set task color", - "delete": "Delete task", - "favorite": "Save as favorite", - "unfavorite": "Remove from favorites" + "assign": "Assegna questa attività a un utente", + "label": "Aggiungi etichette", + "priority": "Imposta Priorità", + "dueDate": "Imposta data di scadenza", + "startDate": "Imposta una data di inizio", + "endDate": "Imposta una data di fine", + "reminders": "Imposta promemoria", + "repeatAfter": "Imposta un intervallo di ripetizione", + "percentDone": "Imposta Percentuale Completata", + "attachments": "Aggiungi allegati", + "relatedTasks": "Aggiungi attività collegate", + "moveList": "Sposta attività", + "color": "Imposta colore attività", + "delete": "Elimina attività", + "favorite": "Salva come preferito", + "unfavorite": "Rimuovi dai preferiti" } }, "attributes": { - "assignees": "Assignees", - "color": "Color", - "created": "Created", - "createdBy": "Created By", - "description": "Description", - "done": "Done", - "dueDate": "Due Date", - "endDate": "End Date", - "labels": "Labels", - "percentDone": "% Done", - "priority": "Priority", - "relatedTasks": "Related Tasks", - "reminders": "Reminders", - "repeat": "Repeat", - "startDate": "Start Date", - "title": "Title", - "updated": "Updated" + "assignees": "Assegnatari", + "color": "Colore", + "created": "Creato", + "createdBy": "Creato Da", + "description": "Descrizione", + "done": "Fatto", + "dueDate": "Data di scadenza", + "endDate": "Data di fine", + "labels": "Etichette", + "percentDone": "% Completata", + "priority": "Priorità", + "relatedTasks": "Attività Collegate", + "reminders": "Promemoria", + "repeat": "Ripeti", + "startDate": "Data Inizio", + "title": "Titolo", + "updated": "Aggiornato" }, "subscription": { "subscribedThroughParent": "You can't unsubscribe here because you are subscribed to this {entity} through its {parent}.", @@ -581,35 +581,35 @@ "unsubscribeSuccess": "You are now unsubscribed to this {entity}" }, "attachment": { - "title": "Attachments", - "createdBy": "created {0} by {1}", - "downloadTooltip": "Download this attachment", - "upload": "Upload attachment", - "drop": "Drop files here to upload", - "delete": "Delete attachment", - "deleteTooltip": "Delete this attachment", - "deleteText1": "Are you sure you want to delete the attachment {filename}?", - "deleteText2": "This cannot be undone!", - "copyUrl": "Copy URL", - "copyUrlTooltip": "Copy the url of this attachment for usage in text" + "title": "Allegati", + "createdBy": "creato {0} da {1}", + "downloadTooltip": "Scarica questo allegato", + "upload": "Carica allegato", + "drop": "Trascina qui i file da caricare", + "delete": "Elimina allegato", + "deleteTooltip": "Elimina questo allegato", + "deleteText1": "Sei sicuro di voler eliminare l'allegato {filename}?", + "deleteText2": "Questa azione non può essere annullata!", + "copyUrl": "Copia URL", + "copyUrlTooltip": "Copia l'URL di questo allegato per usarlo nel testo" }, "comment": { - "title": "Comments", - "loading": "Loading comments…", + "title": "Commenti", + "loading": "Caricamento commenti…", "edited": "edited {date}", - "creating": "Creating comment…", - "placeholder": "Add your comment…", + "creating": "Creazione del commento…", + "placeholder": "Aggiungi un commento…", "comment": "Comment", - "delete": "Delete this comment", - "deleteText1": "Are you sure you want to delete this comment?", - "deleteText2": "This cannot be undone!", - "addedSuccess": "The comment was added successfully." + "delete": "Elimina questo commento", + "deleteText1": "Sei sicuro di voler eliminare questo commento?", + "deleteText2": "Questa azione non può essere annullata!", + "addedSuccess": "Il commento è stato aggiunto correttamente." }, "deferDueDate": { "title": "Defer due date", - "1day": "1 day", - "3days": "3 days", - "1week": "1 week" + "1day": "1 giorno", + "3days": "3 giorni", + "1week": "1 settimana" }, "description": { "placeholder": "Click here to enter a description…", @@ -617,25 +617,25 @@ }, "assignee": { "placeholder": "Type to assign a user…", - "selectPlaceholder": "Assign this user", + "selectPlaceholder": "Assegna questo utente", "assignSuccess": "The user has been assigned successfully.", "unassignSuccess": "The user has been unassigned successfully." }, "label": { "placeholder": "Type to add a new label…", "createPlaceholder": "Add this as new label", - "addSuccess": "The label has been added successfully.", - "createSuccess": "The label has been created successfully.", - "removeSuccess": "The label has been removed successfully.", - "addCreateSuccess": "The label has been created and added successfully." + "addSuccess": "Etichetta aggiunta.", + "createSuccess": "Etichetta creata.", + "removeSuccess": "Etichetta eliminata.", + "addCreateSuccess": "Etichetta creata e aggiunta." }, "priority": { "unset": "Unset", - "low": "Low", - "medium": "Medium", - "high": "high", - "urgent": "Urgent", - "doNow": "DO NOW" + "low": "Bassa", + "medium": "Media", + "high": "Alta", + "urgent": "Urgente", + "doNow": "FARE ORA" }, "relation": { "add": "Add a New Task Relation", @@ -646,13 +646,13 @@ "noneYet": "No task relations yet.", "delete": "Delete Task Relation", "deleteText1": "Are you sure you want to delete this task relation?", - "deleteText2": "This cannot be undone!", + "deleteText2": "Questa azione non può essere annullata!", "select": "Select a relation kind", "kinds": { "subtask": "Subtask | Subtasks", "parenttask": "Parent Task | Parent Tasks", "related": "Related Task | Related Tasks", - "duplicateof": "Duplicate Of | Duplicates Of", + "duplicateof": "Duplicato Di | Duplicati Di", "duplicates": "Duplicates | Duplicates", "blocking": "Blocking | Blocking", "blocked": "Blocked By | Blocked By", @@ -663,26 +663,26 @@ } }, "repeat": { - "everyDay": "Every Day", - "everyWeek": "Every Week", - "everyMonth": "Every Month", + "everyDay": "Ogni Giorno", + "everyWeek": "Ogni Settimana", + "everyMonth": "Ogni Mese", "mode": "Repeat mode", - "monthly": "Monthly", + "monthly": "Mensilmente", "fromCurrentDate": "From Current Date", - "each": "Each", - "specifyAmount": "Specify an amount…", - "hours": "Hours", - "days": "Days", - "weeks": "Weeks", - "months": "Months", - "years": "Years" + "each": "Ogni", + "specifyAmount": "Specifica una quantità…", + "hours": "Ore", + "days": "Giorni", + "weeks": "Settimane", + "months": "Mesi", + "years": "Anni" }, "quickAddMagic": { "hint": "You can use Quick Add Magic", - "what": "What?", + "what": "Cosa?", "title": "Quick Add Magic", "intro": "When creating a task, you can use special keywords to directly add attributes to the newly created task. This allows to add commonly used attributes to tasks much faster.", - "multiple": "You can use this multiple times.", + "multiple": "Puoi usarlo più volte.", "label1": "To add a label, simply prefix the name of the label with {prefix}.", "label2": "Vikunja will first check if the label already exist and create it if not.", "label3": "To use spaces, simply add a \" around the label name.", @@ -692,7 +692,7 @@ "assignees": "To directly assign the task to a user, add their username prefixed with {prefix} to the task.", "list1": "To set a list for the task to appear in, enter its name prefixed with {prefix}.", "list2": "This will return an error if the list does not exist.", - "dateAndTime": "Date and time", + "dateAndTime": "Data e ora", "date": "Any date will be used as the due date of the new task. You can use dates in any of these formats:", "dateWeekday": "any weekday, will use the next date with that date", "dateCurrentYear": "will use the current year", @@ -702,51 +702,51 @@ }, "team": { "title": "Teams", - "noTeams": "You are currently not part of any teams.", + "noTeams": "Non fai parte di nessun gruppo.", "create": { - "title": "Create a new team", - "success": "The team was successfully created." + "title": "Crea un nuovo gruppo", + "success": "Gruppo creato." }, "edit": { - "title": "Edit Team \"{team}\"", - "members": "Team Members", - "search": "Type to search a user…", - "addUser": "Add to team", - "makeMember": "Make Member", - "makeAdmin": "Make Admin", - "success": "The team was successfully updated.", - "userAddedSuccess": "The team member was successfully added.", + "title": "Modifica Gruppo \"{team}\"", + "members": "Membri del Gruppo", + "search": "Digita per cercare un utente…", + "addUser": "Aggiungi al gruppo", + "makeMember": "Rendi Membro", + "makeAdmin": "Rendi Amministratore", + "success": "Gruppo aggiornato.", + "userAddedSuccess": "Membro del gruppo aggiunto.", "madeMember": "The team member was successfully made member.", "madeAdmin": "The team member was successfully made admin.", "delete": { - "header": "Delete the team", - "text1": "Are you sure you want to delete this team and all of its members?", + "header": "Elimina il gruppo", + "text1": "Sei sicuro di voler eliminare questo gruppo e tutti i suoi membri?", "text2": "All team members will lose access to lists and namespaces shared with this team. This CANNOT BE UNDONE!", - "success": "The team was successfully deleted." + "success": "Gruppo eliminato." }, "deleteUser": { - "header": "Remove a user from the team", - "text1": "Are you sure you want to remove this user from the team?", + "header": "Rimuovi un utente dal gruppo", + "text1": "Confermi di voler rimuovere questo utente dal gruppo?", "text2": "They will lose access to all lists and namespaces this team has access to. This CANNOT BE UNDONE!", - "success": "The user was successfully deleted from the team." + "success": "Utente rimosso dal gruppo." } }, "attributes": { "name": "Team Name", - "namePlaceholder": "The team's name goes here…", - "nameRequired": "Please specify a name.", - "description": "Description", - "descriptionPlaceholder": "The teams description goes here…", - "admin": "Admin", - "member": "Member" + "namePlaceholder": "Il nome del gruppo va qui…", + "nameRequired": "Specifica un nome.", + "description": "Descrizione", + "descriptionPlaceholder": "La descrizione del gruppo va qui…", + "admin": "Amministratore", + "member": "Membro" } }, "keyboardShortcuts": { "title": "Keyboard Shortcuts", - "allPages": "These shortcuts work on all pages.", - "currentPageOnly": "These shortcuts work only on the current page.", - "toggleMenu": "Toggle The Menu", - "quickSearch": "Open the search/quick action bar", + "allPages": "Queste scorciatoie funzionano in tutte le pagine.", + "currentPageOnly": "Queste scorciatoie funzionano solo nella pagina attuale.", + "toggleMenu": "Attiva/Disattiva Menu", + "quickSearch": "Apri la barra di ricerca/azione rapida", "task": { "title": "Task Page", "done": "Mark a task as done", @@ -759,21 +759,21 @@ }, "update": { "available": "There is an update for Vikunja available!", - "do": "Update Now" + "do": "Aggiorna Adesso" }, "menu": { - "edit": "Edit", - "archive": "Archive", - "duplicate": "Duplicate", - "delete": "Delete", + "edit": "Modifica", + "archive": "Archivia", + "duplicate": "Duplica", + "delete": "Elimina", "unarchive": "Un-Archive", "setBackground": "Set background", - "share": "Share", - "newList": "New list" + "share": "Condividi", + "newList": "Nuova lista" }, "apiConfig": { - "url": "Vikunja URL", - "urlPlaceholder": "eg. https://localhost:3456", + "url": "URL Vikunja", + "urlPlaceholder": "es. http://localhost:8080", "change": "change", "signInOn": "Sign in to your Vikunja account on {0}", "error": "Could not find or use Vikunja installation at \"{domain}\".", @@ -794,7 +794,7 @@ "placeholder": "Type a command or search…", "hint": "You can use # to only seach for tasks, * to only search for lists and @ to only search for teams.", "tasks": "Tasks", - "lists": "Lists", + "lists": "Liste", "teams": "Teams", "newList": "Enter the title of the new list…", "newTask": "Enter the title of the new task…", @@ -815,38 +815,38 @@ "altFormatShort": "j M Y" }, "error": { - "error": "Error", + "error": "Errore", "success": "Success", - "0001": "You're not allowed to do that.", + "0001": "Non ti è permesso farlo.", "1001": "A user with this username already exists.", - "1002": "A user with this email address already exists.", + "1002": "Un utente con questo indirizzo e-mail esiste già.", "1004": "No username and password specified.", - "1005": "The user does not exist.", - "1006": "Could not get the user id.", + "1005": "L'utente non esiste.", + "1006": "Impossibile ottenere l'id utente.", "1008": "No password reset token provided.", "1009": "Invalid password reset token.", - "1010": "Invalid email confirm token.", + "1010": "Token di conferma dell'e-mail non valido.", "1011": "Wrong username or password.", - "1012": "Email address of the user not confirmed.", - "1013": "New password is empty.", - "1014": "Old password is empty.", - "1015": "Totp is already enabled for this user.", - "1016": "Totp is not enabled for this user.", - "1017": "The totp passcode is invalid.", + "1012": "Indirizzo e-mail dell'utente non confermato.", + "1013": "La nuova password è vuota.", + "1014": "La vecchia password è vuota.", + "1015": "Autenticazione TOTP già abilitata per questo utente.", + "1016": "Autenticazione TOTP non abilitata per questo utente.", + "1017": "Codice TOTP non valido.", "1018": "The user avatar type setting is invalid.", - "2001": "ID cannot be empty or 0.", - "2002": "Some of the request data was invalid.", - "3001": "The list does not exist.", + "2001": "L'ID non può essere vuoto o 0.", + "2002": "Alcuni dati della richiesta non erano validi.", + "3001": "La lista non esiste.", "3004": "You need to have read permissions on that list to perform that action.", - "3005": "The list title cannot be empty.", + "3005": "Il titolo della lista non può essere vuoto.", "3006": "The list share does not exist.", - "3007": "A list with this identifier already exists.", + "3007": "Esiste già una lista con questo identificatore.", "3008": "The list is archived and can therefore only be accessed read only. This is also true for all tasks associated with this list.", "4001": "The list task text cannot be empty.", "4002": "The list task does not exist.", - "4003": "All bulk editing tasks must belong to the same list.", - "4004": "Need at least one task when bulk editing tasks.", - "4005": "You do not have the right to see the task.", + "4003": "Tutte le attività di modifica in blocco devono appartenere alla stessa lista.", + "4004": "Hai bisogno di almeno un'attività quando si modificano in blocco le attività.", + "4005": "Non hai il permesso di vedere l'attività.", "4006": "You can't set a parent task as the task itself.", "4007": "You can't create a task relation with an invalid kind of relation.", "4008": "You can't create a task relation which already exists.", @@ -875,10 +875,10 @@ "6006": "Cannot delete the last team member.", "6007": "The team does not have access to the list to perform that action.", "7002": "The user already has access to that list.", - "7003": "You do not have access to that list.", - "8001": "This label already exists on that task.", - "8002": "The label does not exist.", - "8003": "You do not have access to this label.", + "7003": "Non hai accesso a quella lista.", + "8001": "Questa etichetta esiste già in quell'attività.", + "8002": "L'etichetta non esiste.", + "8003": "Non hai accesso a questa etichetta.", "9001": "The right is invalid.", "10001": "The bucket does not exist.", "10002": "The bucket does not belong to that list.", diff --git a/src/i18n/lang/ru-RU.json b/src/i18n/lang/ru-RU.json index c0169300..a74a3da1 100644 --- a/src/i18n/lang/ru-RU.json +++ b/src/i18n/lang/ru-RU.json @@ -22,7 +22,7 @@ "usernameEmail": "Имя пользователя или Email", "usernamePlaceholder": "напр. frederick", "email": "E-mail адрес", - "emailPlaceholder": "e.g. frederic{'@'}vikunja.io", + "emailPlaceholder": "напр. frederic{'@'}vikunja.io", "password": "Пароль", "passwordRepeat": "Пароль ещё раз", "passwordPlaceholder": "напр. •••••••••••", @@ -119,16 +119,16 @@ "scheduledCancelSuccess": "Мы не будем удалять твой аккаунт." }, "export": { - "title": "Export your Vikunja data", + "title": "Экспорт данных Vikunja", "description": "Ты можешь запросить копию всех своих данных Vikunja. Это включает в себя пространства имён, списки, задачи и всё связанное с ними. Эти данные можно будет импортировать на любом экземпляре Vikunja через функцию миграции.", "descriptionPasswordRequired": "Для продолжения введи свой пароль:", "request": "Запросить копию моих данных Vikunja", "success": "Данные Vikunja успешно запрошены! Мы отправим тебе письмо, когда они будут готовы для скачивания.", - "downloadTitle": "Download your exported Vikunja data" + "downloadTitle": "Скачать экспортированные данные Vikunja" } }, "list": { - "archived": "This list is archived. It is not possible to create new or edit tasks for it.", + "archived": "Этот список архивирован. В нём нелья создавать или изменять задачи.", "title": "Название списка", "color": "Цвет", "lists": "Списки", @@ -627,7 +627,7 @@ "addSuccess": "Метка добавлена.", "createSuccess": "Метка создана.", "removeSuccess": "Метка удалена.", - "addCreateSuccess": "The label has been created and added successfully." + "addCreateSuccess": "Метка успешно создана и добавлена." }, "priority": { "unset": "Не указан", @@ -721,13 +721,13 @@ "delete": { "header": "Удалить команду", "text1": "Удалить эту команду вместе с участниками?", - "text2": "All team members will lose access to lists and namespaces shared with this team. This CANNOT BE UNDONE!", + "text2": "Все участники команды потеряют доступ к спискам и пространствам имён, которыми поделились с этой командой. Это действие отменить НЕЛЬЗЯ!", "success": "Команда удалена." }, "deleteUser": { "header": "Удалить пользователя из команды", "text1": "Удалить этого пользователя из команды?", - "text2": "They will lose access to all lists and namespaces this team has access to. This CANNOT BE UNDONE!", + "text2": "Пользователь потеряет доступ ко всем спискам и пространствам имён, к котором есть доступ у команды. Это действие отменить нельзя!", "success": "Пользователь удалён из команды." } }, diff --git a/src/i18n/lang/vi-VN.json b/src/i18n/lang/vi-VN.json index 5cd14c0c..17d6ebee 100644 --- a/src/i18n/lang/vi-VN.json +++ b/src/i18n/lang/vi-VN.json @@ -1,812 +1,812 @@ { "home": { - "welcomeNight": "Good Night {username}", - "welcomeMorning": "Good Morning {username}", + "welcomeNight": "Ngủ ngon nhé, {username}", + "welcomeMorning": "Chào buổi sáng, {username}", "welcomeDay": "Hi {username}", - "welcomeEvening": "Good Evening {username}", - "lastViewed": "Last viewed", + "welcomeEvening": "Chào buổi tối, {username}", + "lastViewed": "Xem gần đây", "list": { - "newText": "You can create a new list for your new tasks:", - "new": "Create a new list", - "importText": "Or import your lists and tasks from other services into Vikunja:", - "import": "Import your data into Vikunja" + "newText": "Bạn có thể tạo một danh sách công việc mới cho mình:", + "new": "Tạo một danh sách mới", + "importText": "Hoặc nhập danh sách và nhiệm vụ của bạn từ các dịch vụ khác vào Vikunja:", + "import": "Nhập dữ liệu của bạn vào Vikunja" } }, "404": { - "title": "Not found", - "text": "The page you requested does not exist." + "title": "Không tìm thấy gì cả", + "text": "Trang bạn yêu cầu không tồn tại." }, "user": { "auth": { - "username": "Username", - "usernameEmail": "Username Or Email Address", - "usernamePlaceholder": "e.g. frederick", - "email": "E-mail address", - "emailPlaceholder": "e.g. frederic{'@'}vikunja.io", - "password": "Password", - "passwordRepeat": "Retype your password", - "passwordPlaceholder": "e.g. •••••••••••", - "resetPassword": "Reset your password", - "resetPasswordAction": "Send me a password reset link", - "resetPasswordSuccess": "Check your inbox! You should have an e-mail with instructions on how to reset your password.", - "passwordsDontMatch": "Passwords don't match", - "confirmEmailSuccess": "You successfully confirmed your email! You can log in now.", - "totpTitle": "Two Factor Authentication Code", - "totpPlaceholder": "e.g. 123456", - "login": "Login", - "register": "Register", - "loginWith": "Log in with {provider}", - "authenticating": "Authenticating…", - "openIdStateError": "State does not match, refusing to continue!", - "openIdGeneralError": "An error occured while authenticating against the third party.", - "logout": "Logout" + "username": "Tên người dùng", + "usernameEmail": "Tên người dùng hoặc Email", + "usernamePlaceholder": "ví dụ: frederick", + "email": "Địa chỉ Email", + "emailPlaceholder": "ví dụ: frederic{'@'}vikunja.io", + "password": "Mật khẩu", + "passwordRepeat": "Nhập lại mật khẩu", + "passwordPlaceholder": "ví dụ: •••••••••••", + "resetPassword": "Reset mật khẩu của bạn", + "resetPasswordAction": "Gửi cho tôi liên kết reset mật khẩu", + "resetPasswordSuccess": "Kiểm tra hộp thư của bạn! Bạn sẽ nhận một e-mail với hướng dẫn reset mật khẩu của mình.", + "passwordsDontMatch": "Mật khẩu không trùng khớp", + "confirmEmailSuccess": "Bạn đã xác nhận thành công email của mình! Bạn có thể đăng nhập ngay bây giờ.", + "totpTitle": "Mã xác thực hai lớp", + "totpPlaceholder": "ví dụ: 123456", + "login": "Đăng nhập", + "register": "Đăng ký", + "loginWith": "Đăng nhập với {provider}", + "authenticating": "Đang xác thực…", + "openIdStateError": "Trạng thái không khớp, từ chối tiếp tục!", + "openIdGeneralError": "Đã xảy ra lỗi khi xác thực với bên thứ ba.", + "logout": "Đăng xuất" }, "settings": { - "title": "Settings", - "newPasswordTitle": "Update Your Password", - "newPassword": "New Password", - "newPasswordConfirm": "New Password Confirmation", - "currentPassword": "Current Password", - "currentPasswordPlaceholder": "Your current password", - "passwordsDontMatch": "The new password and its confirmation don't match.", - "passwordUpdateSuccess": "The password was successfully updated.", - "updateEmailTitle": "Update Your E-Mail Address", - "updateEmailNew": "New Email Address", - "updateEmailSuccess": "Your email address was successfully updated. We've sent you a link to confirm it.", + "title": "Cài đặt", + "newPasswordTitle": "Thay đổi mật khẩu", + "newPassword": "Mật khẩu mới", + "newPasswordConfirm": "Xác nhận mật khẩu mới", + "currentPassword": "Mật khẩu hiện tại", + "currentPasswordPlaceholder": "Nhập mật khẩu hiện tại của bạn", + "passwordsDontMatch": "Mật khẩu mới và xác nhận của nó không khớp.", + "passwordUpdateSuccess": "Mật khẩu đã được cập nhật thành công.", + "updateEmailTitle": "Cập nhật địa chỉ e-mail của bạn", + "updateEmailNew": "Địa chỉ email mới", + "updateEmailSuccess": "Địa chỉ email của bạn đã được cập nhật thành công. Chúng tôi đã gửi cho bạn một liên kết để xác nhận nó.", "general": { - "title": "General Settings", - "name": "Name", - "newName": "The new Name", - "savedSuccess": "The settings were successfully updated.", - "emailReminders": "Send me reminders for tasks via Email", - "overdueReminders": "Send me reminders for overdue undone tasks via email each morning", - "discoverableByName": "Let other users find me when they search for my name", - "discoverableByEmail": "Let other users find me when they search for my full email", - "playSoundWhenDone": "Play a sound when marking tasks as done", - "weekStart": "Week starts on", - "weekStartSunday": "Sunday", - "weekStartMonday": "Monday", - "language": "Language", - "defaultList": "Default List" + "title": "Cài đặt chung", + "name": "Tên", + "newName": "Tên mới", + "savedSuccess": "Cài đặt đã được lưu lại.", + "emailReminders": "Gửi cho tôi lời nhắc công việc qua Email", + "overdueReminders": "Gửi cho tôi lời nhắc về những công việc chưa kịp hoàn thành qua email vào mỗi buổi sáng", + "discoverableByName": "Cho phép người khác tìm thấy tôi khi họ tìm kiếm tên tôi", + "discoverableByEmail": "Cho phép người khác tìm thấy tôi khi họ tìm kiếm email của tôi", + "playSoundWhenDone": "Phát âm thanh khi đánh dấu nhiệm vụ hoàn thành", + "weekStart": "Tuần bắt đầu vào", + "weekStartSunday": "Chủ nhật", + "weekStartMonday": "Thứ hai", + "language": "Ngôn ngữ", + "defaultList": "Danh sách mặc định" }, "totp": { - "title": "Two Factor Authentication", - "enroll": "Enroll", - "finishSetupPart1": "To finish your setup, use this secret in your totp app (Google Authenticator or similar):", - "finishSetupPart2": "After that, enter a code from your app below.", - "scanQR": "Alternatively you can scan this QR code:", - "passcode": "Passcode", - "passcodePlaceholder": "A code generated by your totp application", - "setupSuccess": "You've sucessfully set up two factor authentication!", - "enterPassword": "Please Enter Your Password", - "disable": "Disable two factor authentication", - "confirmSuccess": "You've successfully confirmed your totp setup and can use it from now on!", - "disableSuccess": "Two factor authentication was sucessfully disabled." + "title": "Xác thực hai lớp", + "enroll": "Đăng ký", + "finishSetupPart1": "Để hoàn tất thiết lập, hãy sử dụng mã bí mật này trong ứng dụng totp của bạn (Google Authenticator hoặc app tương tự):", + "finishSetupPart2": "Sau đó, nhập mã từ ứng dụng của bạn bên dưới.", + "scanQR": "Ngoài ra, bạn có thể quét mã QR này:", + "passcode": "Mã xác thực", + "passcodePlaceholder": "Một đoạn mã được tạo bởi ứng dụng TOTP của bạn", + "setupSuccess": "Bạn đã thiết lập xác thực hai lớp thành công!", + "enterPassword": "Vui lòng nhập mật khẩu", + "disable": "Tắt xác thực 2 lớp", + "confirmSuccess": "Bạn đã xác nhận thành công thiết lập TOTP của mình và có thể sử dụng nó từ bây giờ!", + "disableSuccess": "Xác thực hai lớp đã bị vô hiệu hóa thành công." }, "caldav": { - "title": "Caldav", - "howTo": "You can connect Vikunja to caldav clients to view and manage all tasks from different clients. Enter this url into your client:", - "more": "More information about caldav in Vikunja" + "title": "Giao thức Caldav", + "howTo": "Bạn có thể kết nối Vikunja tới các máy khách CalDAV để xem và quản lý tất cả các công việc từ nhiều máy khách khác nhau. Nhập URL này vào ứng dụng khách của bạn:", + "more": "Tìm hiểu thêm về CalDAV" }, "avatar": { "title": "Avatar", - "initials": "Initials", + "initials": "Chữ cái viết tắt", "gravatar": "Gravatar", - "upload": "Upload", - "uploadAvatar": "Upload Avatar", - "statusUpdateSuccess": "Avatar status was updated successfully!", - "setSuccess": "The avatar has been set successfully!" + "upload": "Tải lên", + "uploadAvatar": "Tải lên Avatar", + "statusUpdateSuccess": "Avatar đã được cập nhật!", + "setSuccess": "Avatar đã được đặt thành công!" }, "quickAddMagic": { - "title": "Quick Add Magic Mode", - "disabled": "Disabled", + "title": "Chế độ Quick Add Magic", + "disabled": "Vô hiệu hóa", "todoist": "Todoist", "vikunja": "Vikunja" } }, "deletion": { - "title": "Delete your Vikunja Account", - "text1": "The deletion of your account is permanent and cannot be undone. We will delete all your namespaces, lists, tasks and everything associated with it.", - "text2": "To proceed, please enter your password. You will receive an email with further instructions.", - "confirm": "Delete my account", - "requestSuccess": "The request was successful. You'll receive an email with further instructions.", - "passwordRequired": "Please enter your password.", - "confirmSuccess": "You've successfully confirmed the deletion of your account. We will delete your account in three days.", - "scheduled": "We will delete your Vikunja account at {date} ({dateSince}).", - "scheduledCancel": "To cancel the deletion of your account, click here.", - "scheduledCancelText": "To cancel the deletion of your account, please enter your password below:", - "scheduledCancelConfirm": "Cancel the deletion of my account", - "scheduledCancelSuccess": "We will not delete your account." + "title": "Xóa tài khoản của bạn", + "text1": "Việc xóa tài khoản của bạn là vĩnh viễn và không thể hoàn tác. Chúng tôi sẽ xóa tất cả góc làm việc, danh sách, công việc và mọi thứ liên quan đến nó.", + "text2": "Để tiếp tục, vui lòng nhập mật khẩu của bạn. Bạn sẽ nhận được một email hướng dẫn thêm.", + "confirm": "Xóa tài khoản của tôi", + "requestSuccess": "Yêu cầu đã thành công. Bạn sẽ nhận được một email hướng dẫn thêm.", + "passwordRequired": "Vui lòng nhập mật khẩu.", + "confirmSuccess": "Bạn đã xác nhận thành công việc xóa tài khoản của mình. Chúng tôi sẽ xóa tài khoản của bạn sau ba ngày.", + "scheduled": "Chúng tôi sẽ xóa tài khoản của bạn vào {date} ({dateSince}).", + "scheduledCancel": "Để hủy việc xóa tài khoản của bạn, hãy nhấp vào đây.", + "scheduledCancelText": "Để hủy việc xóa tài khoản, vui lòng nhập mật khẩu của bạn vào ô bên dưới:", + "scheduledCancelConfirm": "Hủy lệnh xóa tài khoản", + "scheduledCancelSuccess": "Chúng tôi sẽ không xóa tài khoản của bạn nữa." }, "export": { - "title": "Export your Vikunja data", - "description": "You can request a copy of all your Vikunja data. This include Namespaces, Lists, Tasks and everything associated to them. You can import this data in any Vikunja instance through the migration function.", - "descriptionPasswordRequired": "Please enter your password to proceed:", - "request": "Request a copy of my Vikunja Data", - "success": "You've successfully requested your Vikunja Data! We will send you an email once it's ready to download.", - "downloadTitle": "Download your exported Vikunja data" + "title": "Xuất dữ liệu Vikunja của bạn", + "description": "Bạn có thể yêu cầu một bản sao tất cả dữ liệu Vikunja của bạn. Điều này bao gồm Góc làm việc, Danh sách, Công việc và mọi thứ liên quan đến chúng. Bạn có thể nhập dữ liệu này vào bất kỳ phiên bản Vikunja nào thông qua chức năng di chuyển.", + "descriptionPasswordRequired": "Vui lòng nhập mật khẩu của bạn để tiếp tục:", + "request": "Yêu cầu một bản sao Dữ liệu Vikunja của tôi", + "success": "Bạn đã yêu cầu dữ liệu Vikunja của mình thành công! Chúng tôi sẽ gửi cho bạn một email sau khi nó sẵn sàng để tải xuống.", + "downloadTitle": "Tải xuống dữ liệu Vikunja đã xuất của bạn" } }, "list": { - "archived": "This list is archived. It is not possible to create new or edit tasks for it.", - "title": "List Title", - "color": "Color", - "lists": "Lists", - "search": "Type to search for a list…", - "searchSelect": "Click or press enter to select this list", - "shared": "Shared Lists", + "archived": "Danh sách này được lưu trữ. Không thể tạo mới hoặc chỉnh sửa tác vụ cho nó.", + "title": "Tên Danh sách", + "color": "Màu sắc", + "lists": "Danh sách", + "search": "Gõ để tìm kiếm danh sách…", + "searchSelect": "Nhấp hoặc nhấn enter để chọn danh sách này", + "shared": "Danh sách được chia sẻ", "create": { - "header": "Create a new list", - "titlePlaceholder": "The list's title goes here…", - "addTitleRequired": "Please specify a title.", - "createdSuccess": "The list was successfully created.", - "addListRequired": "Please specify a list or set a default list in the settings." + "header": "Tạo một danh sách mới", + "titlePlaceholder": "Tên danh sách ở đây…", + "addTitleRequired": "Hãy xác định một tên.", + "createdSuccess": "Danh sách đã được tạo thành công.", + "addListRequired": "Vui lòng chỉ định danh sách hoặc chọn danh sách mặc định trong cài đặt." }, "archive": { - "title": "Archive \"{list}\"", - "archive": "Archive this list", - "unarchive": "Un-Archive this list", - "unarchiveText": "You will be able to create new tasks or edit it.", - "archiveText": "You won't be able to edit this list or create new tasks until you un-archive it.", - "success": "The list was successfully archived." + "title": "Lưu trữ \"{list}\"", + "archive": "Lưu trữ danh sách này", + "unarchive": "Bỏ lưu trữ danh sách này", + "unarchiveText": "Bạn sẽ có thể tạo các công việc mới hoặc chỉnh sửa nó.", + "archiveText": "Bạn sẽ không thể chỉnh sửa danh sách này hoặc tạo các công việc mới cho đến khi bạn bỏ lưu trữ nó.", + "success": "Danh sách đã được lưu trữ thành công." }, "background": { - "title": "Set list background", - "remove": "Remove Background", - "upload": "Choose a background from your pc", - "searchPlaceholder": "Search for a background…", - "poweredByUnsplash": "Powered by Unsplash", - "loadMore": "Load more photos", - "success": "The background has been set successfully!", - "removeSuccess": "The background has been removed successfully!" + "title": "Đặt ảnh nền cho danh sách", + "remove": "Gỡ hình nền", + "upload": "Chọn một hình nền từ máy của bạn", + "searchPlaceholder": "Tìm kiếm một hình nền…", + "poweredByUnsplash": "Được cung cấp bởi Unsplash", + "loadMore": "Tải thêm ảnh", + "success": "Hình nền đã được thiết lập thành công!", + "removeSuccess": "Hình nền đã bị gỡ bỏ!" }, "delete": { - "title": "Delete \"{list}\"", - "header": "Delete this list", - "text1": "Are you sure you want to delete this list and all of its contents?", - "text2": "This includes all tasks and CANNOT BE UNDONE!", - "success": "The list was successfully deleted." + "title": "Xóa \"{list}\"", + "header": "Xóa danh sách này", + "text1": "Bạn có chắc chắn muốn xóa danh sách này và tất cả nội dung của nó không?", + "text2": "Điều này bao gồm tất cả các công việc và KHÔNG THỂ KHÔI PHỤC!", + "success": "Danh sách đã được xóa." }, "duplicate": { - "title": "Duplicate this list", - "label": "Duplicate", - "text": "Select a namespace which should hold the duplicated list:", - "success": "The list was successfully duplicated." + "title": "Nhân bản danh sách này", + "label": "Nhân bản", + "text": "Chọn một góc làm việc sẽ chứa danh sách nhân bản:", + "success": "Danh sách đã được nhân bản thành công." }, "edit": { - "header": "Edit This List", - "title": "Edit \"{list}\"", - "titlePlaceholder": "The list title goes here…", - "identifierTooltip": "The list identifier can be used to uniquely identify a task across lists. You can set it to empty to disable it.", - "identifier": "List Identifier", - "identifierPlaceholder": "The list identifier goes here…", - "description": "Description", - "descriptionPlaceholder": "The lists description goes here…", - "color": "Color", - "success": "The list was successfully updated." + "header": "Chỉnh sửa danh sách này", + "title": "Chỉnh sửa \"{list}\"", + "titlePlaceholder": "Tên danh sách ở đây…", + "identifierTooltip": "Mã định danh được sử dụng để phân biệt các công việc trong tất cả danh sách. Bạn có thể để trống nếu không sử dụng.", + "identifier": "Mã định danh", + "identifierPlaceholder": "Mã định danh nằm ở đây…", + "description": "Mô tả", + "descriptionPlaceholder": "Mô tả danh sách ở đây…", + "color": "Màu sắc", + "success": "Danh sách đã được cập nhật thành công." }, "share": { - "header": "Share this list", - "title": "Share \"{list}\"", - "share": "Share", + "header": "Chia sẻ danh sách này", + "title": "Chia sẻ \"{list}\"", + "share": "Chia sẻ", "links": { - "title": "Share Links", - "what": "What is a share link?", - "explanation": "Share Links allow you to easily share a list with other users who don't have an account on Vikunja.", - "create": "Create a new link share", - "name": "Name (optional)", - "namePlaceholder": "e.g. Lorem Ipsum", - "nameExplanation": "All actions done by this link share will show up with the name.", - "password": "Password (optional)", - "passwordExplanation": "When authenticating, the user will be required to enter this password.", - "noName": "No name set", - "remove": "Remove a link share", - "removeText": "Are you sure you want to remove this link share? It will no longer be possible to access this list with this link share. This cannot be undone!", - "createSuccess": "The link share was successfully created.", - "deleteSuccess": "The link share was successfully deleted" + "title": "Chia sẻ liên kết", + "what": "Một liên kết chia sẻ là gì?", + "explanation": "Chia sẻ Liên kết cho phép bạn dễ dàng chia sẻ danh sách với người khác không có tài khoản trên Vikunja.", + "create": "Tạo một liên kết chia sẻ", + "name": "Tên (tùy chọn)", + "namePlaceholder": "ví dụ: Nguyễn Minh Hùng", + "nameExplanation": "Tất cả các hành động được thực hiện bởi liên kết chia sẻ này sẽ hiển thị cùng với tên.", + "password": "Mật khẩu (tùy chọn)", + "passwordExplanation": "Khi xác thực, người dùng sẽ được yêu cầu nhập mật khẩu này.", + "noName": "Không có tên", + "remove": "Gỡ liên kết chia sẻ", + "removeText": "Bạn có chắc chắn muốn xóa liên kết chia sẻ này không? Không ai có thể truy cập liên kết này được nữa. Điều này không thể hoàn tác!", + "createSuccess": "Liên kết chia sẻ đã được tạo thành công.", + "deleteSuccess": "Liên kết chia sẽ đã được xóa rồi" }, "userTeam": { - "typeUser": "user | users", - "typeTeam": "team | teams", - "shared": "Shared with these {type}", - "you": "You", - "notShared": "Not shared with any {type} yet.", - "removeHeader": "Remove a {type} from the {sharable}", - "removeText": "Are you sure you want to remove this {sharable} from the {type}? This cannot be undone!", - "removeSuccess": "The {sharable} was successfully removed from the {type}.", - "addedSuccess": "The {type} was successfully added.", - "updatedSuccess": "The {type} was successfully added." + "typeUser": "người dùng | người dùng", + "typeTeam": "team | các team", + "shared": "Được chia sẻ với {type}", + "you": "Bạn", + "notShared": "Chưa được chia sẻ với bất kì {type} nào.", + "removeHeader": "Xóa một {type} khỏi {sharable}", + "removeText": "Bạn có chắc chắn muốn xóa {sharable} này khỏi {type} không? Điều này không thể được hoàn tác!", + "removeSuccess": "{sharable} đã được xóa thành công khỏi {type}.", + "addedSuccess": "{type} đã được thêm thành công.", + "updatedSuccess": "{type} đã được thêm thành công." }, "right": { - "title": "Right", - "read": "Read only", - "readWrite": "Read & write", - "admin": "Admin" + "title": "Quyền hạn", + "read": "Chỉ đọc", + "readWrite": "Đọc & ghi", + "admin": "Quản trị viên" }, "attributes": { - "link": "Link", - "name": "Name", - "sharedBy": "Shared by", - "right": "Right", - "delete": "Delete" + "link": "Liên kết", + "name": "Tên", + "sharedBy": "Chia sẻ bởi", + "right": "Quyền hạn", + "delete": "Xóa" } }, "list": { - "title": "List", - "add": "Add", - "addPlaceholder": "Add a new task…", - "empty": "This list is currently empty.", - "newTaskCta": "Create a new task.", - "editTask": "Edit Task" + "title": "Danh sách", + "add": "Thêm", + "addPlaceholder": "Thêm một công việc mới…", + "empty": "Danh sách này đang trống trơn.", + "newTaskCta": "Thêm một công việc mới.", + "editTask": "Chỉnh sửa Công việc" }, "gantt": { - "title": "Gantt", - "showTasksWithoutDates": "Show tasks which don't have dates set", - "size": "Size", - "default": "Default", - "month": "Month", - "day": "Day", - "from": "From", - "to": "To", - "noDates": "This task has no dates set." + "title": "Biểu đồ Gantt", + "showTasksWithoutDates": "Hiển thị các nhiệm vụ không cài đặt ngày", + "size": "Độ rộng của lịch", + "default": "Mặc định", + "month": "Tháng", + "day": "Ngày", + "from": "Từ", + "to": "Đến", + "noDates": "Công việc này không thiết lập ngày." }, "table": { - "title": "Table", - "columns": "Columns" + "title": "Bảng", + "columns": "Cột" }, "kanban": { "title": "Kanban", - "limit": "Limit: {limit}", - "noLimit": "Not Set", - "doneBucket": "Done bucket", - "doneBucketHint": "All tasks moved into this bucket will automatically marked as done.", - "doneBucketHintExtended": "All tasks moved into the done bucket will be marked as done automatically. All tasks marked as done from elsewhere will be moved as well.", - "doneBucketSavedSuccess": "The done bucket has been saved successfully.", - "deleteLast": "You cannot remove the last bucket.", - "addTaskPlaceholder": "Enter the new task title…", - "addTask": "Add a task", - "addAnotherTask": "Add another task", - "addBucket": "Create a new bucket", - "addBucketPlaceholder": "Enter the new bucket title…", - "deleteHeaderBucket": "Delete the bucket", - "deleteBucketText1": "Are you sure you want to delete this bucket?", - "deleteBucketText2": "This will not delete any tasks but move them into the default bucket.", - "deleteBucketSuccess": "The bucket has been deleted successfully.", - "bucketTitleSavedSuccess": "The bucket title has been saved successfully.", - "bucketLimitSavedSuccess": "The bucket limit been saved successfully.", - "collapse": "Collapse this bucket" + "limit": "Giới hạn: {limit}", + "noLimit": "Chưa đặt", + "doneBucket": "Cột hoàn thành", + "doneBucketHint": "Tất cả công việc được chuyển vào cột này sẽ tự động đánh dấu đã hoàn thành.", + "doneBucketHintExtended": "Tất cả công việc được chuyển đến Cột hoàn thành sẽ tự đánh dấu đã hoàn thành. Tất cả công việc được đánh dấu hoàn thành cũng sẽ được chuyển vào cột này.", + "doneBucketSavedSuccess": "Cột hoàn hành đã được lưu thành công.", + "deleteLast": "Bạn không thể xóa cột cuối cùng.", + "addTaskPlaceholder": "Nhập tên công việc mới…", + "addTask": "Thêm một công việc", + "addAnotherTask": "Thêm công việc khác", + "addBucket": "Thêm cột mới", + "addBucketPlaceholder": "Nhập tên cột mới…", + "deleteHeaderBucket": "Xóa cột", + "deleteBucketText1": "Bạn có chắc muốn xóa cột này?", + "deleteBucketText2": "Thao tác này sẽ không xóa bất kỳ công việc nào nhưng chúng sẽ chuyển chúng vào cột mặc định.", + "deleteBucketSuccess": "Cột đã được xóa.", + "bucketTitleSavedSuccess": "Tên cột đã được lưu.", + "bucketLimitSavedSuccess": "Giới hạn cho cột đã được lưu.", + "collapse": "Thu gọn cột này" }, "pseudo": { "favorites": { - "title": "Favorites" + "title": "Ưa thích" } } }, "namespace": { - "title": "Namespaces & Lists", - "namespace": "Namespace", - "showArchived": "Show Archived", - "noneAvailable": "You don't have any namespaces right now.", - "unarchive": "Un-Archive", - "archived": "Archived", - "noLists": "This namespace does not contain any lists.", - "createList": "Create a new list in this namespace.", - "namespaces": "Namespaces", - "search": "Type to search for a namespace…", + "title": "Góc làm việc", + "namespace": "Góc làm việc", + "showArchived": "Hiển thị đã lưu trữ", + "noneAvailable": "Bạn không có bất kỳ góc làm việc nào.", + "unarchive": "Bỏ lưu trữ", + "archived": "Đã lưu trữ", + "noLists": "Góc làm việc này không chứa danh sách nào cả.", + "createList": "Tạo một danh sách mới trong góc làm việc này.", + "namespaces": "Góc làm việc", + "search": "Gõ để tìm kiếm một góc làm việc…", "create": { - "title": "Create a new namespace", - "titleRequired": "Please specify a title.", - "explanation": "A namespace is a collection of lists you can share and use to organize your lists with. In fact, every list belongs to a namepace.", - "tooltip": "What's a namespace?", - "success": "The namespace was successfully created." + "title": "Tạo một góc làm việc mới", + "titleRequired": "Hãy đặt một tiêu đề.", + "explanation": "Góc làm việc là một tập hợp các danh sách mà bạn có thể chia sẻ và sử dụng để sắp xếp các danh sách của mình. Trên thực tế, mọi danh sách đều thuộc về một góc làm việc.", + "tooltip": "Góc làm việc là gì?", + "success": "Góc làm việc đã được tạo." }, "archive": { - "titleArchive": "Archive \"{namespace}\"", - "titleUnarchive": "Un-Archive \"{namespace}\"", - "archiveText": "You won't be able to edit this namespace or create new lists until you un-archive it. This will also archive all lists in this namespace.", - "unarchiveText": "You will be able to create new lists or edit it.", - "success": "The namespace was successfully archived.", - "description": "If a namespace is archived, you cannot create new lists or edit it." + "titleArchive": "Lưu trữ \"{namespace}\"", + "titleUnarchive": "Bỏ lưu trữ \"{namespace}\"", + "archiveText": "Bạn sẽ không thể chỉnh sửa góc làm việc này hoặc tạo danh sách mới cho đến khi bạn bỏ lưu trữ nó. Điều này cũng sẽ lưu trữ tất cả các danh sách trong góc làm việc này.", + "unarchiveText": "Bạn có thể tạo danh sách mới hoặc chỉnh sửa nó.", + "success": "Góc làm việc đã lưu trữ thành công.", + "description": "Nếu một góc làm việc được lưu trữ, bạn không thể tạo thêm danh sách hoặc chỉnh sửa nó." }, "delete": { - "title": "Delete \"{namespace}\"", - "text1": "Are you sure you want to delete this namespace and all of its contents?", - "text2": "This includes all lists and tasks and CANNOT BE UNDONE!", - "success": "The namespace was successfully deleted." + "title": "Xóa \"{namespace}\"", + "text1": "Bạn có chắc muốn loại bỏ góc làm việc này và tất cả nội dung của nó không?", + "text2": "Điều này bao gồm tất cả danh sách và công việc. KHÔNG THỂ HOÀN TÁC!", + "success": "Góc làm việc đã được loại bỏ." }, "edit": { - "title": "Edit \"{namespace}\"", - "success": "The namespace was successfully updated." + "title": "Chỉnh sửa \"{namespace}\"", + "success": "Góc làm việc đã được làm mới." }, "share": { - "title": "Share \"{namespace}\"" + "title": "Chia sẻ \"{namespace}\"" }, "attributes": { - "title": "Namespace Title", - "titlePlaceholder": "The namespace title goes here…", - "description": "Description", - "descriptionPlaceholder": "The namespaces description goes here…", - "color": "Color", - "archived": "Is Archived", - "isArchived": "This namespace is archived" + "title": "Tên Góc làm việc", + "titlePlaceholder": "Tên góc làm việc ở đây…", + "description": "Mô tả", + "descriptionPlaceholder": "Mô tả góc làm việc ở đây…", + "color": "Màu sắc", + "archived": "Được lưu trữ", + "isArchived": "Góc làm việc này đã được lưu trữ" }, "pseudo": { "sharedLists": { - "title": "Shared Lists" + "title": "Danh sách được chia sẻ" }, "favorites": { - "title": "Favorites" + "title": "Ưa thích" }, "savedFilters": { - "title": "Filters" + "title": "Bộ lọc" } } }, "filters": { - "title": "Filters", + "title": "Bộ lọc", "attributes": { - "title": "Title", - "titlePlaceholder": "The saved filter title goes here…", - "description": "Description", - "descriptionPlaceholder": "The description goes here…", - "includeNulls": "Include Tasks which don't have a value set", - "requireAll": "Require all filters to be true for a task to show up", - "showDoneTasks": "Show Done Tasks", - "enablePriority": "Enable Filter By Priority", - "enablePercentDone": "Enable Filter By Percent Done", - "dueDateRange": "Due Date Range", - "startDateRange": "Start Date Range", - "endDateRange": "End Date Range", - "reminderRange": "Reminder Date Range" + "title": "Tiêu đề", + "titlePlaceholder": "Tiêu đề bộ lọc đã lưu ở đây…", + "description": "Mô tả", + "descriptionPlaceholder": "Mô tả ở đây…", + "includeNulls": "Bao gồm các Công việc không có bộ giá trị", + "requireAll": "Yêu cầu tất cả các bộ lọc phải đúng để một công việc được hiển thị", + "showDoneTasks": "Hiển thị các công việc đã hoàn thành", + "enablePriority": "Bật Bộ lọc theo mức độ ưu tiên", + "enablePercentDone": "Bật Bộ lọc theo tỉ lệ % hoàn thành", + "dueDateRange": "Phạm vi ngày đến hạn", + "startDateRange": "Phạm vi Ngày bắt đầu", + "endDateRange": "Phạm vi Ngày Kết thúc", + "reminderRange": "Phạm vi Ngày nhắc nhở" }, "create": { - "title": "Create A Saved Filter", - "description": "A saved filter is a virtual list which is computed from a set of filters each time it is accessed. Once created, it will appear in a special namespace.", - "action": "Create new saved filter" + "title": "Tạo một Bộ lọc sẵn", + "description": "Bộ lọc sẵn là một danh sách ảo được chọn từ một tập hợp các bộ lọc. Sau khi được tạo, nó sẽ xuất hiện trong một không gian làm việc đặc biệt.", + "action": "Tạo thêm bộ lọc sẵn" }, "delete": { - "header": "Delete this saved filter", - "text": "Are you sure you want to delete this saved filter?", - "success": "The filter was deleted successfully." + "header": "Xóa bộ lọc sẵn này", + "text": "Bạn có chắc chắn muốn xóa bộ lọc sẵn này không?", + "success": "Bộ lọc đã được xóa." }, "edit": { - "title": "Edit This Saved Filter", - "success": "The filter was saved successfully." + "title": "Sửa bộ lọc sẵn này", + "success": "Bộ lọc đã được lưu thành công." } }, "migrate": { - "title": "Migrate from other services to Vikunja", - "titleService": "Import your data from {name} into Vikunja", - "import": "Import your data into Vikunja", - "description": "Click on the logo of one of the third-party services below to get started.", - "descriptionDo": "Vikunja will import all lists, tasks, notes, reminders and files you have access to.", - "authorize": "To authorize Vikunja to access your {name} Account, click the button below.", - "getStarted": "Get Started", - "inProgress": "Importing in progress…", - "alreadyMigrated1": "It looks like you've already imported your stuff from {name} at {date}.", - "alreadyMigrated2": "Importing again is possible, but might create duplicates. Are you sure?", - "confirm": "I am sure, please start migrating now!", - "importUpload": "To import data from {name} into Vikunja, click the button below to select a file.", - "upload": "Upload file" + "title": "Di chuyển từ các dịch vụ khác đến Vikunja", + "titleService": "Nhập dữ liệu của bạn từ {name} vào Vikunja", + "import": "Nhập dữ liệu của bạn vào Vikunja", + "description": "Nhấp vào Logo của một trong các dịch vụ bên dưới để bắt đầu.", + "descriptionDo": "Vikunja sẽ nhập tất cả danh sách, công việc, ghi chú, lời nhắc và tệp mà bạn có quyền truy cập.", + "authorize": "Để cho phép Vikunja truy cập vào Tài khoản {name} của bạn, hãy nhấp vào nút bên dưới.", + "getStarted": "Bắt đầu", + "inProgress": "Đang nhập vào…", + "alreadyMigrated1": "Có vẻ như bạn đã nhập nội dung của mình từ {name} vào {date}.", + "alreadyMigrated2": "Nhập lại được luôn, nhưng có thể tạo ra các trùng lặp đấy. Bạn chắc chưa?", + "confirm": "Tôi chắc như đinh, hãy bắt đầu di chuyển thôi!", + "importUpload": "Để nhập dữ liệu từ {name} vào Vikunja, hãy nhấp vào nút bên dưới để chọn tệp.", + "upload": "Tải tệp lên" }, "label": { - "title": "Labels", - "manage": "Manage labels", - "description": "Click on a label to edit it. You can edit all labels you created, you can use all labels which are associated with a task to whose list you have access.", - "newCTA": "You currently do not have any labels.", - "search": "Type to search for a label…", + "title": "Nhãn", + "manage": "Quản lý nhãn", + "description": "Bấm vào một nhãn để chỉnh sửa nó. Bạn có thể chỉnh sửa tất cả các nhãn bạn đã tạo, bạn có thể sử dụng tất cả các nhãn được liên kết với một công việc mà bạn có quyền truy cập vào danh sách của nó.", + "newCTA": "Bạn không có nhãn nào cả.", + "search": "Gõ để tìm kiếm nhãn…", "create": { - "header": "New label", - "title": "Create a new label", - "titleRequired": "Please specify a title.", - "success": "The label was successfully created." + "header": "Nhãn mới", + "title": "Tạo một nhãn mới", + "titleRequired": "Hãy đặt một tiêu đề.", + "success": "Nhãn đã được tạo thành công." }, "edit": { - "header": "Edit Label", - "forbidden": "You are not allowed to edit this label because you dont own it.", - "success": "The label was successfully updated." + "header": "Chỉnh sửa nhãn", + "forbidden": "Bạn không có quyền được sửa nhãn này do bạn không sở hữu nó.", + "success": "Nhãn được cập nhật thành công." }, - "deleteSuccess": "The label was successfully deleted.", + "deleteSuccess": "Nhãn đã được xóa thành công.", "attributes": { - "title": "Title", - "titlePlaceholder": "The label title goes here…", - "description": "Description", - "descriptionPlaceholder": "Label description", - "color": "Color" + "title": "Tiêu đề", + "titlePlaceholder": "Tên nhãn ở đây…", + "description": "Mô tả", + "descriptionPlaceholder": "Mô tả nhãn", + "color": "Màu sắc" } }, "sharing": { - "authenticating": "Authenticating…", - "passwordRequired": "This shared list requires a password. Please enter it below:", - "error": "An error occured.", - "invalidPassword": "The password is invalid." + "authenticating": "Đang xác thực…", + "passwordRequired": "Danh sách chia sẻ này yêu cầu mật khẩu. Vui lòng nhập mật khẩu bên dưới:", + "error": "Đã xảy ra lỗi.", + "invalidPassword": "Mật khẩu không hợp lệ." }, "navigation": { - "overview": "Overview", - "upcoming": "Upcoming", - "settings": "Settings", - "imprint": "Imprint", - "privacy": "Privacy Policy" + "overview": "Tổng quan", + "upcoming": "Sắp diễn ra", + "settings": "Cài đặt", + "imprint": "Thông tin hợp pháp", + "privacy": "Chính Sách Quyền Riêng Tư" }, "misc": { - "loading": "Loading…", - "save": "Save", - "delete": "Delete", - "confirm": "Confirm", - "cancel": "Cancel", - "refresh": "Refresh", - "disable": "Disable", - "copy": "Copy to clipboard", - "search": "Search", - "searchPlaceholder": "Type to search…", - "previous": "Previous", - "next": "Next", - "poweredBy": "Powered by Vikunja", - "info": "Info", - "create": "Create", - "doit": "Do it!", - "saving": "Saving…", - "saved": "Saved!", - "default": "Default", - "close": "Close", - "download": "Download" + "loading": "Đang tải…", + "save": "Lưu", + "delete": "Xóa", + "confirm": "Xác nhận", + "cancel": "Hủy", + "refresh": "Làm mới", + "disable": "Vô hiệu hóa", + "copy": "Sao chép vào khay nhớ tạm", + "search": "Tìm Kiếm", + "searchPlaceholder": "Gõ để tìm kiếm…", + "previous": "Trước đó", + "next": "Tiếp theo", + "poweredBy": "Được cung cấp bởi Vikunja", + "info": "Thông tin", + "create": "Tạo", + "doit": "Thực hiện!", + "saving": "Đang lưu…", + "saved": "Đã lưu!", + "default": "Mặc định", + "close": "Đóng", + "download": "Tải về" }, "input": { - "resetColor": "Reset Color", + "resetColor": "Đặt lại màu", "datepicker": { - "today": "Today", - "tomorrow": "Tomorrow", - "nextMonday": "Next Monday", - "thisWeekend": "This Weekend", - "laterThisWeek": "Later This Week", - "nextWeek": "Next Week", - "chooseDate": "Choose a date" + "today": "Hôm nay", + "tomorrow": "Ngày mai", + "nextMonday": "Thứ Hai tới", + "thisWeekend": "Cuối tuần này", + "laterThisWeek": "Cuối tuần này", + "nextWeek": "Tuần kế tiếp", + "chooseDate": "Chọn một ngày" }, "editor": { - "edit": "Edit", - "done": "Done", - "heading1": "Heading 1", - "heading2": "Heading 2", - "heading3": "Heading 3", - "headingSmaller": "Heading Smaller", - "headingBigger": "Heading Bigger", - "bold": "Bold", - "italic": "Italic", - "strikethrough": "Strikethrough", + "edit": "Chỉnh sửa", + "done": "Hoàn thành", + "heading1": "Tiêu đề 1", + "heading2": "Tiêu đề 2", + "heading3": "Tiêu đề 3", + "headingSmaller": "Tiêu đề nhỏ hơn", + "headingBigger": "Tiêu đề lớn hơn", + "bold": "In đậm", + "italic": "In nghiêng", + "strikethrough": "Gạch ngang", "code": "Code", - "quote": "Quote", - "unorderedList": "Unordered List", - "orderedList": "Ordered List", - "cleanBlock": "Clean Block", - "link": "Link", - "image": "Image", - "table": "Table", - "horizontalRule": "Horizontal Rule", - "sideBySide": "Side By Side", - "guide": "Guide" + "quote": "Trích dẫn", + "unorderedList": "Gạch đầu dòng", + "orderedList": "Danh sách đánh số", + "cleanBlock": "Làm sạch Khối", + "link": "Liên kết", + "image": "Ảnh", + "table": "Bảng", + "horizontalRule": "Dòng kẻ ngang", + "sideBySide": "Chia đôi cửa sổ", + "guide": "Hướng dẫn" }, "multiselect": { - "createPlaceholder": "Create new", - "selectPlaceholder": "Click or press enter to select" + "createPlaceholder": "Tạo mới", + "selectPlaceholder": "Nhấp hoặc nhấn enter để chọn" } }, "task": { - "task": "Task", - "new": "Create a new task", - "delete": "Delete this task", - "createSuccess": "The task was successfully created.", - "addReminder": "Add a new reminder…", - "doneSuccess": "The task was successfully marked as done.", - "undoneSuccess": "The task was successfully un-marked as done.", - "openDetail": "Open task detail view", - "checklistTotal": "{checked} of {total} tasks", - "checklistAllDone": "{total} tasks", + "task": "Công việc", + "new": "Tạo một công việc mới", + "delete": "Xóa công việc này", + "createSuccess": "Công việc đã được tạo thành công.", + "addReminder": "Thêm lời nhắc mới…", + "doneSuccess": "Công việc đã được đánh dấu Hoàn thành.", + "undoneSuccess": "Công việc đã được bỏ đánh dấu Hoàn thành.", + "openDetail": "Xem chi tiết công việc", + "checklistTotal": "{checked} trong số {total} công việc", + "checklistAllDone": "{total} coogn việc", "show": { - "titleCurrent": "Current Tasks", - "titleDates": "Tasks from {from} until {to}", - "noDates": "Show tasks without dates", - "current": "Current tasks", - "from": "Tasks from", - "until": "until", - "today": "Today", - "nextWeek": "Next Week", - "nextMonth": "Next Month", - "noTasks": "Nothing to do - Have a nice day!" + "titleCurrent": "Công việc hiện tại", + "titleDates": "Công việc từ {from} cho đến {to}", + "noDates": "Hiển thị coogn việc không có ngày tháng", + "current": "Công việc hiện tại", + "from": "Công việc từ", + "until": "cho đến", + "today": "Hôm nay", + "nextWeek": "Tuần kế tiếp", + "nextMonth": "Tháng kế tiếp", + "noTasks": "Hôm nay thảnh thơi - Tận hưởng giây phút tuyệt vời!" }, "detail": { - "chooseDueDate": "Click here to set a due date", - "chooseStartDate": "Click here to set a start date", - "chooseEndDate": "Click here to set an end date", - "move": "Move task to a different list", - "done": "Done!", - "undone": "Mark as undone", - "created": "Created {0} by {1}", - "updated": "Updated {0}", - "doneAt": "Done {0}", - "updateSuccess": "The task was saved successfully.", - "deleteSuccess": "The task has been deleted successfully.", - "belongsToList": "This task belongs to list '{list}'", - "due": "Due {at}", - "closePopup": "Close popup", + "chooseDueDate": "Bấm vào đây để đặt ngày đến hạn", + "chooseStartDate": "Bấm vào đây để đặt ngày bắt đầu", + "chooseEndDate": "Bấm vào đây để đặt ngày kết thúc", + "move": "Di chuyển công việc sang một danh sách khác", + "done": "Xong!", + "undone": "Đánh dấu Chưa xong", + "created": "Đã tạo được {0} bởi {1}", + "updated": "Đã cập nhật {0}", + "doneAt": "Hoàn thành {0}", + "updateSuccess": "Công việc đã được lưu.", + "deleteSuccess": "Công việc đã được xóa.", + "belongsToList": "Công việc này thuộc danh sách '{list}'", + "due": "Đến hạn {at}", + "closePopup": "Đóng cửa sổ", "delete": { - "header": "Delete this task", - "text1": "Are you sure you want to remove this task?", - "text2": "This will also remove all attachments, reminders and relations associated with this task and cannot be undone!" + "header": "Xóa công công việc này", + "text1": "Bạn có chắc muốn xóa công việc này không?", + "text2": "Thao tác này cũng sẽ xóa tất cả tệp đính kèm, lời nhắc và liên kết đến công việc này. Nó không thể hoàn tác!" }, "actions": { - "assign": "Assign this task to a user", - "label": "Add labels", - "priority": "Set Priority", - "dueDate": "Set Due Date", - "startDate": "Set a Start Date", - "endDate": "Set an End Date", - "reminders": "Set Reminders", - "repeatAfter": "Set a repeating interval", - "percentDone": "Set Percent Done", - "attachments": "Add attachments", - "relatedTasks": "Add task relations", - "moveList": "Move task", - "color": "Set task color", - "delete": "Delete task", - "favorite": "Save as favorite", - "unfavorite": "Remove from favorites" + "assign": "Chỉ định người đảm nhiệm công việc này", + "label": "Thêm nhãn", + "priority": "Mức độ ưu tiên", + "dueDate": "Đặt ngày đến hạn", + "startDate": "Chọn ngày bắt đầu", + "endDate": "Chọn ngày kết thúc", + "reminders": "Thiết lập nhắc nhở", + "repeatAfter": "Đặt khoảng lặp lại", + "percentDone": "Chọn tỉ lệ % hoàn thành", + "attachments": "Đính kèm tệp", + "relatedTasks": "Thêm liên kết công việc", + "moveList": "Di chuyển công việc", + "color": "Chọn màu", + "delete": "Loại bỏ công việc", + "favorite": "Lưu thành ưa thích", + "unfavorite": "Gỡ khỏi ưa thích" } }, "attributes": { - "assignees": "Assignees", - "color": "Color", - "created": "Created", - "createdBy": "Created By", - "description": "Description", - "done": "Done", - "dueDate": "Due Date", - "endDate": "End Date", - "labels": "Labels", - "percentDone": "% Done", - "priority": "Priority", - "relatedTasks": "Related Tasks", - "reminders": "Reminders", - "repeat": "Repeat", - "startDate": "Start Date", - "title": "Title", - "updated": "Updated" + "assignees": "Người đảm nhiệm", + "color": "Màu sắc", + "created": "Đã tạo", + "createdBy": "Đã tạo bởi", + "description": "Mô tả", + "done": "Hoàn thành", + "dueDate": "Ngày hết hạn", + "endDate": "Ngày kết thúc", + "labels": "Nhãn", + "percentDone": "% Hoàn thành", + "priority": "Mức độ ưu tiên", + "relatedTasks": "Công việc liên quan", + "reminders": "Nhắc nhở", + "repeat": "Lặp lại", + "startDate": "Ngày bắt đầu", + "title": "Tiêu đề", + "updated": "Đã cập nhật" }, "subscription": { - "subscribedThroughParent": "You can't unsubscribe here because you are subscribed to this {entity} through its {parent}.", - "subscribed": "You are currently subscribed to this {entity} and will receive notifications for changes.", - "notSubscribed": "You are not subscribed to this {entity} and won't receive notifications for changes.", - "subscribe": "Subscribe", - "unsubscribe": "Unsubscribe", - "subscribeSuccess": "You are now subscribed to this {entity}", - "unsubscribeSuccess": "You are now unsubscribed to this {entity}" + "subscribedThroughParent": "Bạn không thể hủy theo dõi ở đây vì bạn đã theo dõi {entity} này thông qua {parent} của nó.", + "subscribed": "Bạn đang theo dõi {entity} này và sẽ nhận được thông báo về các thay đổi.", + "notSubscribed": "Bạn chưa theo dõi {entity} này và sẽ không nhận được thông báo về các thay đổi.", + "subscribe": "Theo dõi", + "unsubscribe": "Bỏ theo dõi", + "subscribeSuccess": "Bạn hiện đã theo dõi {entity} này", + "unsubscribeSuccess": "Bạn đã bỏ theo dõi {entity} này" }, "attachment": { - "title": "Attachments", - "createdBy": "created {0} by {1}", - "downloadTooltip": "Download this attachment", - "upload": "Upload attachment", - "drop": "Drop files here to upload", - "delete": "Delete attachment", - "deleteTooltip": "Delete this attachment", - "deleteText1": "Are you sure you want to delete the attachment {filename}?", - "deleteText2": "This cannot be undone!", - "copyUrl": "Copy URL", - "copyUrlTooltip": "Copy the url of this attachment for usage in text" + "title": "Tệp đính kèm", + "createdBy": "đã tạo {0} bởi {1}", + "downloadTooltip": "Tải xuống tệp đính kèm này", + "upload": "Tải lên tệp đính kèm", + "drop": "Kéo tập tin vào đây để tải lên", + "delete": "Xóa tệp đính kèm", + "deleteTooltip": "Xóa tệp đính kèm này", + "deleteText1": "Bạn có chắc chắn muốn xóa tệp đính kèm {filename} không?", + "deleteText2": "Việc này không thể hoàn tác!", + "copyUrl": "Sao chép URL", + "copyUrlTooltip": "Sao chép url của tệp đính kèm này để sử dụng trong văn bản" }, "comment": { - "title": "Comments", - "loading": "Loading comments…", - "edited": "edited {date}", - "creating": "Creating comment…", - "placeholder": "Add your comment…", - "comment": "Comment", - "delete": "Delete this comment", - "deleteText1": "Are you sure you want to delete this comment?", - "deleteText2": "This cannot be undone!", - "addedSuccess": "The comment was added successfully." + "title": "Bình luận", + "loading": "Đang tải bình luận…", + "edited": "đã sửa {date}", + "creating": "Đang tạo bình luận…", + "placeholder": "Thêm bình luận của bạn…", + "comment": "Bình luận", + "delete": "Xóa bình luận này", + "deleteText1": "Bạn có chắc muốn xóa bình luận này không?", + "deleteText2": "Việc này không thể hoàn tác!", + "addedSuccess": "Bình luận đã được thêm vào." }, "deferDueDate": { - "title": "Defer due date", - "1day": "1 day", - "3days": "3 days", - "1week": "1 week" + "title": "Trì hoãn ngày đến hạn", + "1day": "1 ngày", + "3days": "3 ngày", + "1week": "1 tuần" }, "description": { - "placeholder": "Click here to enter a description…", - "empty": "No description available yet." + "placeholder": "Nhấp vào đây để nhập mô tả…", + "empty": "Chưa có mô tả." }, "assignee": { - "placeholder": "Type to assign a user…", - "selectPlaceholder": "Assign this user", - "assignSuccess": "The user has been assigned successfully.", - "unassignSuccess": "The user has been unassigned successfully." + "placeholder": "Chỉ định một người…", + "selectPlaceholder": "Chỉ định người này", + "assignSuccess": "Chỉ định thành công.", + "unassignSuccess": "Bỏ chỉ định thành công." }, "label": { - "placeholder": "Type to add a new label…", - "createPlaceholder": "Add this as new label", - "addSuccess": "The label has been added successfully.", - "createSuccess": "The label has been created successfully.", - "removeSuccess": "The label has been removed successfully.", - "addCreateSuccess": "The label has been created and added successfully." + "placeholder": "Nhập để thêm nhãn mới…", + "createPlaceholder": "Thêm nhãn mới này", + "addSuccess": "Nhãn đã được thêm thành công.", + "createSuccess": "Nhãn đã được thêm thành công.", + "removeSuccess": "Nhãn đã được gỡ ra.", + "addCreateSuccess": "Nhãn đã được tạo và thêm vào." }, "priority": { - "unset": "Unset", - "low": "Low", - "medium": "Medium", - "high": "high", - "urgent": "Urgent", - "doNow": "DO NOW" + "unset": "Không cài", + "low": "Thấp", + "medium": "Bình thường", + "high": "Cao", + "urgent": "Khẩn cấp", + "doNow": "Ngay lập tức" }, "relation": { - "add": "Add a New Task Relation", - "new": "New Task Relation", - "searchPlaceholder": "Type search for a new task to add as related…", - "createPlaceholder": "Add this as new related task", - "differentList": "This task belongs to a different list.", - "noneYet": "No task relations yet.", - "delete": "Delete Task Relation", - "deleteText1": "Are you sure you want to delete this task relation?", - "deleteText2": "This cannot be undone!", - "select": "Select a relation kind", + "add": "Thêm một Công việc liên quan", + "new": "Công việc liên quan mới", + "searchPlaceholder": "Gõ tìm kiếm một công việc để thêm dưới dạng liên quan…", + "createPlaceholder": "Thêm điều này làm công việc liên quan mới", + "differentList": "Công việc này thuộc về một danh sách khác.", + "noneYet": "Không có công việc liên quan nào.", + "delete": "Xóa công việc liên quan", + "deleteText1": "Bạn có chắc muốn xóa công việc liên quan này không?", + "deleteText2": "Việc này không thể hoàn tác!", + "select": "Chọn kiểu liên kết", "kinds": { - "subtask": "Subtask | Subtasks", - "parenttask": "Parent Task | Parent Tasks", - "related": "Related Task | Related Tasks", - "duplicateof": "Duplicate Of | Duplicates Of", - "duplicates": "Duplicates | Duplicates", - "blocking": "Blocking | Blocking", - "blocked": "Blocked By | Blocked By", - "precedes": "Precedes | Precedes", - "follows": "Follows | Follows", - "copiedfrom": "Copied From | Copied From", - "copiedto": "Copied To | Copied To" + "subtask": "Công việc con | Công việc con", + "parenttask": "Công việc gốc | Công việc gốc", + "related": "Công việc liên quan | Các công việc liên quan", + "duplicateof": "Bản sao của | Các bản sao của", + "duplicates": "Bản sao | Bản sao", + "blocking": "Chặn | Chặn", + "blocked": "Đã chặn bởi | Đã chặn bởi", + "precedes": "Trước đó | Trước đó", + "follows": "Tiếp theo | Tiếp theo", + "copiedfrom": "Sao chép từ | Sao chép từ", + "copiedto": "Sao chép tới | Sao chép tới" } }, "repeat": { - "everyDay": "Every Day", - "everyWeek": "Every Week", - "everyMonth": "Every Month", - "mode": "Repeat mode", - "monthly": "Monthly", - "fromCurrentDate": "From Current Date", - "each": "Each", - "specifyAmount": "Specify an amount…", - "hours": "Hours", - "days": "Days", - "weeks": "Weeks", - "months": "Months", - "years": "Years" + "everyDay": "Mỗi ngày", + "everyWeek": "Mỗi tuần", + "everyMonth": "Mỗi tháng", + "mode": "Chế độ lặp lại", + "monthly": "Hàng tháng", + "fromCurrentDate": "Từ ngày hiện tại", + "each": "Mỗi", + "specifyAmount": "Chỉ định một số lượng…", + "hours": "Giờ", + "days": "Ngày", + "weeks": "Tuần", + "months": "Tháng", + "years": "Năm" }, "quickAddMagic": { - "hint": "You can use Quick Add Magic", - "what": "What?", + "hint": "Bạn có thể sử dụng Quick Add Magic", + "what": "Cái gì vậy?", "title": "Quick Add Magic", - "intro": "When creating a task, you can use special keywords to directly add attributes to the newly created task. This allows to add commonly used attributes to tasks much faster.", - "multiple": "You can use this multiple times.", - "label1": "To add a label, simply prefix the name of the label with {prefix}.", - "label2": "Vikunja will first check if the label already exist and create it if not.", - "label3": "To use spaces, simply add a \" around the label name.", - "label4": "For example: {prefix}\"Label with spaces\".", - "priority1": "To set a task's priority, add a number 1-5, prefixed with a {prefix}.", - "priority2": "The higher the number, the higher the priority.", - "assignees": "To directly assign the task to a user, add their username prefixed with {prefix} to the task.", - "list1": "To set a list for the task to appear in, enter its name prefixed with {prefix}.", - "list2": "This will return an error if the list does not exist.", - "dateAndTime": "Date and time", - "date": "Any date will be used as the due date of the new task. You can use dates in any of these formats:", - "dateWeekday": "any weekday, will use the next date with that date", - "dateCurrentYear": "will use the current year", - "dateNth": "will use the {day}th of the current month", - "dateTime": "Combine any of the date formats with \"{time}\" (or {timePM}) to set a time." + "intro": "Khi tạo một tác vụ, bạn có thể sử dụng các từ khóa đặc biệt để thêm trực tiếp các thuộc tính cho tác vụ mới tạo. Điều này cho phép thêm các thuộc tính thường được sử dụng vào các tác vụ nhanh hơn nhiều.", + "multiple": "Bạn có thể sử dụng tác vụ này nhiều lần.", + "label1": "Để thêm một nhãn, chỉ cần đặt tiền tố tên nhãn bằng {prefix}.", + "label2": "Đầu tiên Vikunja sẽ kiểm tra xem nhãn đã tồn tại chưa và tạo nó nếu chưa.", + "label3": "Để sử dụng dấu cách, chỉ cần thêm dấu \" xung quanh tên nhãn.", + "label4": "Ví dụ: {prefix} \"Nhãn có dấu cách\".", + "priority1": "Để đặt mức độ ưu tiên của công việc, hãy thêm số từ 1-5, có tiền tố là {prefix}.", + "priority2": "Số càng lớn, độ ưu tiên càng cao.", + "assignees": "Để chỉ định trực tiếp công việc cho một người, hãy thêm tên người dùng của họ có tiền tố là {prefix} vào nhiệm vụ.", + "list1": "Để chọn danh sách trong đó nhiệm vụ sẽ xuất hiện, hãy nhập tên của nhiệm vụ trước {prefix}.", + "list2": "Điều này sẽ trả về một lỗi nếu danh sách không tồn tại.", + "dateAndTime": "Ngày và giờ", + "date": "Bất kỳ ngày nào sẽ được sử dụng làm ngày hết hạn của nhiệm vụ mới. Bạn có thể sử dụng ngày ở bất kỳ định dạng nào sau đây:", + "dateWeekday": "bất kỳ ngày nào trong tuần, sẽ sử dụng ngày tiếp theo với ngày đó", + "dateCurrentYear": "sẽ sử dụng năm hiện tại", + "dateNth": "sẽ sử dụng ngày {day} của tháng hiện tại", + "dateTime": "Kết hợp bất kì đinh dạng ngày với \"{time}\" (hoặc {timePM}) để thiết lập thời gian." } }, "team": { - "title": "Teams", - "noTeams": "You are currently not part of any teams.", + "title": "Đội nhóm", + "noTeams": "Bạn hiện đang không là thành viên của đội nhóm nào.", "create": { - "title": "Create a new team", - "success": "The team was successfully created." + "title": "Tạo một đội nhóm mới", + "success": "Đội nhóm được tạo thành công." }, "edit": { - "title": "Edit Team \"{team}\"", - "members": "Team Members", - "search": "Type to search a user…", - "addUser": "Add to team", - "makeMember": "Make Member", - "makeAdmin": "Make Admin", - "success": "The team was successfully updated.", - "userAddedSuccess": "The team member was successfully added.", - "madeMember": "The team member was successfully made member.", - "madeAdmin": "The team member was successfully made admin.", + "title": "Chỉnh sửa Team \"{team}\"", + "members": "Thành viên Team", + "search": "Gõ để tìm kiếm thành viên…", + "addUser": "Thêm vào Team", + "makeMember": "Làm thành viên", + "makeAdmin": "Làm Quản trị viên", + "success": "Team đã được cập nhật thành công.", + "userAddedSuccess": "Thành viên Team đã được thêm.", + "madeMember": "Vai trò thanh viên đã được cập nhật.", + "madeAdmin": "Vai trò thành viên đã được cập nhật.", "delete": { - "header": "Delete the team", - "text1": "Are you sure you want to delete this team and all of its members?", - "text2": "All team members will lose access to lists and namespaces shared with this team. This CANNOT BE UNDONE!", - "success": "The team was successfully deleted." + "header": "Giải tán Team", + "text1": "Bạn có chắc giải tán Team này không?", + "text2": "Tất cả thành viên trong Team sẽ mất quyền truy cập vào danh sách và góc làm việc được chia sẻ với Team. Điều này KHÔNG THỂ HOÀN TÁC!", + "success": "Team đã giải tán." }, "deleteUser": { - "header": "Remove a user from the team", - "text1": "Are you sure you want to remove this user from the team?", - "text2": "They will lose access to all lists and namespaces this team has access to. This CANNOT BE UNDONE!", - "success": "The user was successfully deleted from the team." + "header": "Đưa thành viên ra khỏi Team", + "text1": "Bạn có chắc muốn đưa thành viên này ra khỏi Team không?", + "text2": "Họ sẽ mất quyền truy cập vào tất cả danh sách và góc làm việc mà Team này có quyền truy cập. Điều đó KHÔNG THỂ HOÀN TÁC!", + "success": "Thành viên đã rời khỏi Team." } }, "attributes": { - "name": "Team Name", - "namePlaceholder": "The team's name goes here…", - "nameRequired": "Please specify a name.", - "description": "Description", - "descriptionPlaceholder": "The teams description goes here…", - "admin": "Admin", - "member": "Member" + "name": "Tên của Team", + "namePlaceholder": "Tên của Team ở đây…", + "nameRequired": "Hãy đặt một cái tên.", + "description": "Mô tả", + "descriptionPlaceholder": "Mô tả Team ở đây…", + "admin": "Quản trị viên", + "member": "Thành viên" } }, "keyboardShortcuts": { - "title": "Keyboard Shortcuts", - "allPages": "These shortcuts work on all pages.", - "currentPageOnly": "These shortcuts work only on the current page.", - "toggleMenu": "Toggle The Menu", - "quickSearch": "Open the search/quick action bar", + "title": "Phím tắt", + "allPages": "Các phím tắt này hoạt động ở mọi nơi.", + "currentPageOnly": "Các phím tắt này chỉ hoạt động ở trang hiện tại.", + "toggleMenu": "Bật/tắt Menu", + "quickSearch": "Mở thanh tìm kiếm/thao tác nhanh", "task": { - "title": "Task Page", - "done": "Mark a task as done", - "assign": "Assign this task to a user", - "labels": "Add labels to this task", - "dueDate": "Change the due date of this task", - "attachment": "Add an attachment to this task", - "related": "Modify related tasks of this task" + "title": "Trang công việc", + "done": "Đánh dấu hoàn thành", + "assign": "Chỉnh định việc này cho một người", + "labels": "Thêm nhãn cho công việc này", + "dueDate": "Thay đổi ngày hết hạn của công việc này", + "attachment": "Thêm tệp đính kèm cho công việc này", + "related": "Sửa đổi các công việc liên kết" } }, "update": { - "available": "There is an update for Vikunja available!", - "do": "Update Now" + "available": "Đã có bản cập nhật cho Vikunja!", + "do": "Cập nhật bây giờ" }, "menu": { - "edit": "Edit", - "archive": "Archive", - "duplicate": "Duplicate", - "delete": "Delete", - "unarchive": "Un-Archive", - "setBackground": "Set background", - "share": "Share", - "newList": "New list" + "edit": "Chỉnh sửa", + "archive": "Lưu trữ", + "duplicate": "Nhân bản", + "delete": "Xóa", + "unarchive": "Bỏ lưu trữ", + "setBackground": "Cài hình nền", + "share": "Chia sẻ", + "newList": "Danh sách mới" }, "apiConfig": { - "url": "Vikunja URL", - "urlPlaceholder": "eg. https://localhost:3456", - "change": "change", - "signInOn": "Sign in to your Vikunja account on {0}", - "error": "Could not find or use Vikunja installation at \"{domain}\".", - "success": "Using Vikunja installation at \"{domain}\"." + "url": "URL Vikunja", + "urlPlaceholder": "ví dụ: https://localhost:3456", + "change": "thay đổi", + "signInOn": "Đăng nhập vào tài khoản Vikunia tại {0}", + "error": "Không thể tìm kiếm hay sử dụng cài đặt Vukunja tại \"{domain}\".", + "success": "Sử dụng cài đặt Vikunja tại \"{domain}\"." }, "loadingError": { - "failed": "Loading failed, please {0}. If the error persists, please {1}.", - "tryAgain": "try again", - "contact": "contact us" + "failed": "Tải thất bại, vui lòng {0}. Nếu lỗi vẫn xảy ra, vui lòng {1}.", + "tryAgain": "thử lại", + "contact": "liên hệ chúng tôi" }, "notification": { - "title": "Notifications", - "none": "You don't have any notifications. Have a nice day!", - "explainer": "Notifications will appear here when actions on namespaces, lists or tasks you subscribed to happen." + "title": "Thông báo", + "none": "Bạn không có thông báo nào. Chúc một ngày tốt lành!", + "explainer": "Thông báo sẽ xuất hiện tại đây khi có các hành động trên phần tên, danh sách hoặc tác vụ bạn theo dõi xảy ra." }, "quickActions": { - "commands": "Commands", - "placeholder": "Type a command or search…", - "hint": "You can use # to only seach for tasks, * to only search for lists and @ to only search for teams.", - "tasks": "Tasks", - "lists": "Lists", - "teams": "Teams", - "newList": "Enter the title of the new list…", - "newTask": "Enter the title of the new task…", - "newNamespace": "Enter the title of the new namespace…", - "newTeam": "Enter the name of the new team…", - "createTask": "Create a task in the current list ({title})", - "createList": "Create a list in the current namespace ({title})", + "commands": "Các lệnh", + "placeholder": "Gõ một lệnh hoặc tìm kiếm…", + "hint": "Bạn có thể sử dụng # để chỉ tìm kiếm tác vụ, * để chỉ tìm kiếm danh sách và @ để chỉ tìm kiếm đội nhóm.", + "tasks": "Tác vụ", + "lists": "Danh sách", + "teams": "Đội nhóm", + "newList": "Đặt tên cho danh sách mới…", + "newTask": "Đặt tên cho tác vụ mới…", + "newNamespace": "Nhập tên của Góc làm việc mới…", + "newTeam": "Đặt tên cho đội nhóm mới…", + "createTask": "Tạo một tác trong danh sách hiện có ({title})", + "createList": "Tạo danh sách trong góc làm việc hiện tại ({title})", "cmds": { - "newTask": "New task", - "newList": "New list", - "newNamespace": "New namespace", - "newTeam": "New team" + "newTask": "Tác vụ mới", + "newList": "Danh sách mới", + "newNamespace": "Góc làm việc mới", + "newTeam": "Team mới" } }, "date": { @@ -815,86 +815,86 @@ "altFormatShort": "j M Y" }, "error": { - "error": "Error", - "success": "Success", - "0001": "You're not allowed to do that.", - "1001": "A user with this username already exists.", - "1002": "A user with this email address already exists.", - "1004": "No username and password specified.", - "1005": "The user does not exist.", - "1006": "Could not get the user id.", - "1008": "No password reset token provided.", - "1009": "Invalid password reset token.", - "1010": "Invalid email confirm token.", - "1011": "Wrong username or password.", - "1012": "Email address of the user not confirmed.", - "1013": "New password is empty.", - "1014": "Old password is empty.", - "1015": "Totp is already enabled for this user.", - "1016": "Totp is not enabled for this user.", - "1017": "The totp passcode is invalid.", - "1018": "The user avatar type setting is invalid.", - "2001": "ID cannot be empty or 0.", - "2002": "Some of the request data was invalid.", - "3001": "The list does not exist.", - "3004": "You need to have read permissions on that list to perform that action.", - "3005": "The list title cannot be empty.", - "3006": "The list share does not exist.", - "3007": "A list with this identifier already exists.", - "3008": "The list is archived and can therefore only be accessed read only. This is also true for all tasks associated with this list.", - "4001": "The list task text cannot be empty.", - "4002": "The list task does not exist.", - "4003": "All bulk editing tasks must belong to the same list.", - "4004": "Need at least one task when bulk editing tasks.", - "4005": "You do not have the right to see the task.", - "4006": "You can't set a parent task as the task itself.", - "4007": "You can't create a task relation with an invalid kind of relation.", - "4008": "You can't create a task relation which already exists.", - "4009": "The task relation does not exist.", - "4010": "Cannot relate a task with itself.", - "4011": "The task attachment does not exist.", - "4012": "The task attachment is too large.", - "4013": "The task sort param is invalid.", - "4014": "The task sort order is invalid.", - "4015": "The task comment does not exist.", - "4016": "Invalid task field.", - "4017": "Invalid task filter comparator.", - "4018": "Invalid task filter concatinator.", - "4019": "Invalid task filter value.", - "5001": "The namespace does not exist.", - "5003": "You do not have access to the specified namespace.", - "5006": "The namespace name cannot be empty.", - "5009": "You need to have namespace read access to perform that action.", - "5010": "This team does not have access to that namespace.", - "5011": "This user has already access to that namespace.", - "5012": "The namespace is archived and can therefore only be accessed read only.", - "6001": "The team name cannot be emtpy.", - "6002": "The team does not exist.", - "6004": "The team already has access to that namespace or list.", - "6005": "The user is already a member of that team.", - "6006": "Cannot delete the last team member.", - "6007": "The team does not have access to the list to perform that action.", - "7002": "The user already has access to that list.", - "7003": "You do not have access to that list.", - "8001": "This label already exists on that task.", - "8002": "The label does not exist.", - "8003": "You do not have access to this label.", - "9001": "The right is invalid.", - "10001": "The bucket does not exist.", - "10002": "The bucket does not belong to that list.", - "10003": "You cannot remove the last bucket on a list.", - "10004": "You cannot add the task to this bucket as it already exceeded the limit of tasks it can hold.", - "10005": "There can be only one done bucket per list.", - "11001": "The saved filter does not exist.", - "11002": "Saved filters are not available for link shares.", - "12001": "The subscription entity type is invalid.", - "12002": "You are already subscribed to the entity itself or a parent entity.", - "13001": "This link share requires a password for authentication, but none was provided.", - "13002": "The provided link share password was invalid." + "error": "Lỗi", + "success": "Thành công", + "0001": "Bạn không được phép làm điều đó.", + "1001": "Một người dùng với tên đăng nhập này đã tồn tại.", + "1002": "Một người dùng với địa chỉ email này đã tồn tại.", + "1004": "Không có tên người dùng và mật khẩu được chỉ định.", + "1005": "Người dùng không tồn tại.", + "1006": "Không thể lấy được Id người dùng.", + "1008": "Không có mã xác nhận đặt lại mật khẩu.", + "1009": "Mã xác nhận đặt lại mật khẩu không hợp lệ.", + "1010": "Mã xác nhận email không hợp lệ.", + "1011": "Tên người dùng hoặc mật khẩu không đúng.", + "1012": "Địa chỉ Email của người dùng chưa được xác nhận.", + "1013": "Mật khẩu mới không để trống.", + "1014": "Mật khẩu cũng đang để trống.", + "1015": "Totp đã được kích hoạt cho người dùng này.", + "1016": "Totp không được kích hoạt cho người dùng này.", + "1017": "Mật khẩu totp không hợp lệ.", + "1018": "Cài đặt loại hình đại diện của người dùng không hợp lệ.", + "2001": "ID không thể để trống hoặc là 0.", + "2002": "Một số dữ liệu được yêu cầu không không hợp lệ.", + "3001": "Danh sách không tồn tại.", + "3004": "Bạn cần có quyền đọc trên danh sách đó để thực hiện hành động.", + "3005": "Tiêu đề danh sách không được để trống.", + "3006": "Danh sách chia sẻ không tồn tại.", + "3007": "Một danh sách với mã định danh này đã tồn tại.", + "3008": "Danh sách đã lưu trữ nên chỉ có thể đọc. Điều này cũng đúng cho tất cả các nhiệm vụ được liên kết với danh sách này.", + "4001": "Tiêu đề danh sách công việc không được để trống.", + "4002": "Danh sách công việc không tồn tại.", + "4003": "Tất cả các công việc chỉnh sửa hàng loạt phải thuộc cùng một danh sách.", + "4004": "Cần ít nhất một công việc khi chỉnh sửa hàng loạt.", + "4005": "Bạn không có quyền xem công việc.", + "4006": "Bạn không thể đặt một công việc gốc làm chính công việc đó.", + "4007": "Bạn không thể tạo một liên kết công việc với một kiểu không hợp lệ.", + "4008": "Bạn không thể tạo một liên kết công việc đã tồn tại.", + "4009": "Liên kết công việc không tồn tại.", + "4010": "Không thể liên kết một công việc với chính nó.", + "4011": "Tệp đính kèm không tồn tại.", + "4012": "Tệp đính kèm quá lớn.", + "4013": "Tham số sắp xếp công việc không hợp lệ.", + "4014": "Thứ tự sắp xếp công việc không hợp lệ.", + "4015": "Bình luận không tồn tại.", + "4016": "Trường công việc không hợp lệ.", + "4017": "Bộ so sánh bộ lọc công việc không hợp lệ.", + "4018": "Bộ lọc kết hợp không hợp lệ.", + "4019": "Giá trị bộ lọc công việc không hợp lệ.", + "5001": "Góc làm việc không có nữa.", + "5003": "Bạn chưa được phép bước vào vào góc làm việc được chỉ định.", + "5006": "Góc làm việc cần có một cái tên.", + "5009": "Bạn cần có quyền đọc với góc làm việc để thực hiện hành động đó.", + "5010": "Team này không có quyền bước vào góc làm việc đó.", + "5011": "Người này đã có quyền bước vào góc làm việc đó.", + "5012": "Góc làm việc đã được lưu trữ nên chỉ có thể vào đó để đọc.", + "6001": "Team cũng cần có tên gọi mà.", + "6002": "Team không tồn tại.", + "6004": "Team đã có quyền bước vào góc làm việc và xem danh sách.", + "6005": "Người này đã là thành viên của Team đó rồi.", + "6006": "Không thể loại bỏ thành viên cuối cùng của Team.", + "6007": "Team không có quyền truy cập vào danh sách để thực hiện hành động đó.", + "7002": "Người này đã có quyền truy cập vào danh sách đó.", + "7003": "Bạn không có quyền truy cập vào danh sách đó.", + "8001": "Nhãn này đã tồn tại trên công việc đó.", + "8002": "Nhãn không tồn tại.", + "8003": "Bạn không có quyền truy cập vào nhãn này.", + "9001": "Quyền không hợp lệ.", + "10001": "Cột không tồn tại.", + "10002": "Cột không thuộc danh sách đó.", + "10003": "Bạn không thể xóa cột cuối cùng trên danh sách.", + "10004": "Bạn không thể thêm công việc vào cột này vì nó đã vượt quá giới hạn công việc có thể chứa.", + "10005": "Chỉ được có một cột hoàn thành ở mỗi danh sách.", + "11001": "Bộ lọc sẵn không tồn tại.", + "11002": "Bộ lọc đã lưu không có sẵn cho chia sẻ liên kết.", + "12001": "Loại đăng ký không hợp lệ.", + "12002": "Bạn đã đăng ký với tổ chức này hoặc tổ chức chính rồi.", + "13001": "Chia sẻ liên kết này yêu cầu mật khẩu để xác thực, nhưng không có mật khẩu nào được cung cấp.", + "13002": "Mật khẩu chia sẻ liên kết không hợp lệ." }, "about": { - "title": "About", - "frontendVersion": "Frontend Version: {version}", - "apiVersion": "API Version: {version}" + "title": "Về ứng dụng", + "frontendVersion": "Phiên bản giao diện người dùng: {version}", + "apiVersion": "Phiên bản API: {version}" } }