{ "account": { "change_language": "Change language", "change_language_details": { "messages": { "language_changed": "Language changed successfully" }, "no_language_found": "No language found.", "placeholder": "Select a language", "title": "Select a language" }, "download_app": "Download app", "download_app_details": { "download_as_pwa": "You can download SplitPro as a PWA to your home screen.", "title": "Download app", "using_android": "If you are using Android, checkout this", "using_ios": "If you are using iOS, checkout this", "video": "video" }, "download_splitpro_data": "Download SplitPro data", "default_balance_currency": "Default balance currency", "edit_name": { "apply_avatar": "Apply avatar", "avatar_label": "Profile picture", "avatar_preview": "Avatar preview", "placeholder": "Enter name", "remove_avatar": "Remove avatar", "select_avatar": "Select picture", "zoom": "Zoom", "title": "Edit details" }, "follow_on_x": "Follow us on X", "import_from_splitwise": "Import from Splitwise", "import_from_splitwise_details": { "choose_file": "Choose file", "export_splitwise_data_button": "Export splitwise data", "follow_to_export_splitwise_data": "Follow this link to export splitwise data", "messages": { "import_success": "Import successful" }, "no_file_chosen": "No file chosen", "note": "Note: It currently only supports importing friends and groups. It will not import transactions. We are working on it." }, "logout": "Logout", "messages": { "submit_error": "Failed to update details", "submit_success": "Details updated" }, "notifications": { "disable_notification": "Disable notification", "enable_notification": "Enable notification", "messages": { "notification_granted": "You will receive notifications now" } }, "star_on_github": "Star us on GitHub", "submit_feedback": "Submit feedback", "submit_feedback_details": { "placeholder": "Enter your feedback", "title": "Submit feedback", "messages": { "submit_error": "Failed to send feedback", "submit_success": "Feedback sent" } }, "support_us": "Sponsor us", "title": "Account", "write_review": "Write a review", "debug_info": "Debug info", "debug_info_details": { "title": "Debug Information", "description": "Paste the information below when creating a support request:", "user_agent": "UserAgent", "git": "Git", "version": "Version", "new_version_available": "A new version is available:", "copy_failed": "Failed to copy debug info to clipboard", "send_test_notification": "Send test notification", "test_notification_sent": "Test notification sent", "test_notification_failed": "Could not send test notification" }, "deletion": { "action": "Delete account", "title": "Delete your account?", "description": "This cannot be undone. Your identity and sign-in details will be removed, and you will be signed out on all devices. Shared expenses, notes, receipts, group memberships, and outstanding balances will remain under “Deleted user”. Personal information written in shared content will remain. Group ownership will pass to another available member where possible. Recurring expenses you created will stop. You can download your SplitPro data from the account page before continuing.", "confirm": "Permanently delete account", "error": "Could not delete your account. Please try again." } }, "actions": { "add_expense": "Add expense", "back": "Back", "cancel": "Cancel", "close": "Close", "copy": "Copy", "confirm": "Confirm", "create": "Create", "edit_expense": "Edit expense", "export": "Export", "fetch": "Fetch", "import": "Import", "invite": "Invite", "leave": "Leave", "next": "Next", "save": "Save", "settle_up": "Settle up", "submit": "Submit", "reconnect": "Reconnect", "connect": "Connect", "remind_later": "Remind me later", "retry": "Try again" }, "actors": { "deleted_user": "Deleted user", "all": "All", "friends": "Friends", "other_users": "Other users", "groups": "Groups", "members": "Members", "owner": "Owner", "you": "You", "you_accusativus": "You", "you_dativus": "You" }, "auth": { "continue_with": "Continue with {provider}", "email_placeholder": "Enter your email", "no_providers_configured": "No authentication providers configured", "no_providers_instructions": "Please configure at least one authentication provider to sign in. See the", "otp_sent": "We have sent an email with the OTP. Please check your inbox and click the link in the email to sign in.", "send_magic_link": "Send magic link", "sending": "Sending...", "setup_instructions": "Docker setup instructions", "trouble_logging_in": "Trouble logging in? Contact" }, "currency_conversion": { "amount_to_receive": "Amount to receive", "description": "Convert the amount to a different currency.", "exchange_rate": "Exchange rate", "fetching_rate": "Fetching rate...", "rate": "Rate", "success_toast": "Currency conversion set successfully", "title": "Currency conversion", "amount_aria_label": "Amount", "converted_amount_aria_label": "Converted amount" }, "errors": { "currency_conversion_error": "Error while setting currency conversion", "email_invalid": "Email is invalid, please try the signin flow again.", "no_providers": "Error when fetching authentication providers. Please check backend logs.", "email_required": "Email is required", "feedback_min_length": "Feedback should be at least 10 characters", "feedback_required": "Feedback is required", "add_member_failed": "Failed to add member to the group", "group_name_update_failed": "Error in updating group name", "import_failed": "Error importing file", "invalid_currency_code": "Invalid currency code {code}", "invalid_split": "Adjust who owes this expense before saving.", "language_change_failed": "Error changing language", "less_than": "File should be less than {size}MB", "image_compression_failed": "Image compression failed, trying to upload original file", "name_required": "Name is required", "notification_not_supported": "Notification is not supported", "otp_invalid": "Invalid OTP", "otp_required": "OTP is required", "request_error": "Error requesting notification", "saving_expense": "Error while saving expense", "setting_update_failed": "Failed to update setting", "signin_error": "An error occurred while signing in: {error}", "signup_disabled": "Signup of new accounts is disabled on this instance", "something_went_wrong": "Something went wrong", "subscribe_error": "Cannot subscribe to notification", "unsubscribe_error": "Error unsubscribing notification", "upload_failed": "Failed to upload file", "uploading_error": "Error uploading file", "valid_email": "Enter valid email", "group_balances_malformed": "Group balances data is malformed, please report an issue or try recalculating.", "currency_conversion_malformed": "Currency conversion data is malformed", "invalid_cron_expression": "Invalid cron expression", "currency_conversion_failed": "Failed to convert currencies", "recurrence_delete_failed": "Failed to delete recurrence", "recurrence_update_failed": "Failed to update recurrence", "notification_request_failed": "Error requesting notification permission", "notification_subscribe_failed": "Cannot subscribe to notifications", "expense_submission_failed": "An unexpected error occurred while submitting the expense.", "expense_deletion_failed": "An unexpected error occurred while deleting the expense.", "friend_deletion_failed": "Failed to delete friend", "signin_failed": "Sign-in failed. Please try again.", "invite_email_failed": "Failed to send invite email. Check the SMTP configuration." }, "bank_transactions": { "choose_bank_provider": "Choose bank provider", "select_bank_provider": "Select bank provider", "search_bank": "Search bank", "no_bank_providers_found": "No bank providers found", "to_bank": "to bank", "plaid": { "bank_connected_successfully": "Bank connected successfully", "bank_connection_failed": "Failed to connect to bank", "bank_connection_cancelled": "Bank connection cancelled" } }, "expense_details": { "add_expense": "Add expense", "add_expense_details": { "add_new_expense": "Add new expense", "amount_placeholder": "Enter amount", "description_placeholder": "Enter description", "pick_a_date": "Pick a date", "select_user_or_group": { "add_to_split_pro": "Add to Expense", "note": "Email invites are disabled. You can still add someone by email without sending an invite.", "only_one_group_time": "You can have only one group at a time", "send_invite": "Add with email invitation", "warning": "Both buttons add the person to this draft expense. Save the expense when you are done. The invitation option emails a link to SplitPro only if their email is not verified; it does not sign them in.", "empty_image_alt": "No users found" }, "split_type_section": { "direction": { "no_money_flow": "No one else owes anything", "owes_payer": "{debtor} owes {payer}", "owes_you": "{debtor} owes you", "you_owe": "You owe {payer}" }, "split_equally": "split equally", "split_unequally": "split unequally", "types": { "adjustment": { "remaining_to_split_equally": "Remaining to split equally", "title": "Adjustment" }, "equal": { "per_person": "per person", "title": "Equal" }, "exact": { "remaining": "Remaining", "title": "Exact" }, "percentage": { "remaining": "Remaining", "title": "Percentage" }, "share": { "shares": "Share(s)", "title": "Share", "total_shares": "Total shares" } }, "split_equally_with_count": "split equally among {count, plural, one {# person} other {# people}}" }, "sponsor_us": "Sponsor us", "upload_file": { "messages": { "upload_success": "File uploaded successfully" } }, "user_input": { "add_more_friends": "Search friends, groups or add email", "cannot_change_group": "Cannot change group while editing", "remove_group": "Press delete to remove group", "search_friends": "Search friends, groups or add email" } }, "balance_list": { "are_settled_up": "are settled up", "is_settled_up": "is settled up", "press_balance_info": "Press on individual balance to initiate settlement", "settled": "{actor, select, you {You are settled up} other {{person} is settled up}}", "lent": "{actor, select, you {You lent} other {{person} lent}}", "owes": "{actor, select, you {You owe} other {{person} owes}}" }, "delete_expense_details": { "text": "This action cannot be undone. This will permanently delete your expense.", "title": "Are you absolutely sure?" }, "multiple_transactions": { "title": "Add multiple transactions", "description": "You have selected multiple transactions. Pick whether you want them added all together with the current split settings or adjust the settings one by one.", "add_all": "Add all", "add_one_by_one": "Add one by one" }, "title": "Add expense", "title_mobile": "Add", "clear": "Clear", "bank_transactions": "Bank transactions", "submit_all": "Submit all", "pending": "Pending", "no_transactions_yet": "No transactions yet", "already_added": "Already added", "receipt": { "title": "Expense receipt", "thumbnail_alt": "Expense receipt thumbnail", "image_alt": "Expense receipt" }, "empty_state_image_alt": "No expenses" }, "group_details": { "add_members": "Add members", "copied": "Copied", "create_group": { "group_name_placeholder": "Group name", "title": "Create a group" }, "group_info": { "actions": "Actions", "archive_group": "Archive group", "configure_default_split": "Configure default split", "default_split": "Default split", "default_balance_currency": "Default balance currency", "edit_group": "Edit group", "archive_group_details": { "can_archive": "This group will be archived and hidden from your main groups list. You can still access it later if needed.", "cant_archive": "Cannot archive group with outstanding balances. All balances must be settled first.", "title": "Are you sure you want to archive this group?" }, "archived": "Archived", "delete_group": "Delete group", "delete_group_details": { "can_delete": "This action cannot be reversed", "cant_delete": "Can't delete the group until everyone settles up the balance", "title": "Are you absolutely sure?" }, "group_created": "Group created", "leave_group": "Leave group", "leave_group_details": { "can_leave": "This action cannot be reversed", "cant_leave": "Can't leave the group until your outstanding balance is settled", "title": "Are you absolutely sure?" }, "members": "Members", "recalculate_balances": "Recalculate balances", "recalculate_balances_details": { "description": "If balances do not match expenses, you can recalculate them. Note that it may take some time if the expense count is large. Balances outside the group will not be affected.", "title": "Are you sure?" }, "remove_member_details": { "can_remove": "You are about to remove this member from the group", "cant_remove": "Can't remove member until their outstanding balance is settled", "title": "Are you absolutely sure?" }, "simplify_debts": "Simplify debts", "title": "Group info" }, "group_statistics": { "first_expense": "First expense", "title": "Group statistics", "total_expenses": "Total expenses" }, "messages": { "default_split_cleared": "Default split cleared", "default_split_updated": "Default split updated", "default_balance_currency_cleared": "Default balance currency cleared", "default_balance_currency_updated": "Default balance currency updated", "balances_recalculated": "Balances recalculated successfully", "group_archived": "Group archived successfully", "group_name_updated": "Updated group details" }, "no_members": { "add_members": "Add members", "add_members_details": { "add_to_split_pro": "Add to Group", "note": "Email invites are disabled. You can still add someone by email without sending an invite.", "placeholder": "Enter name or email", "send_invite": "Add with email invitation", "title": "Add members", "warning": "Both buttons immediately add the person and any selected contacts to this group. Save adds selected contacts only, not the typed email. The invitation option emails a link to SplitPro only if their email is not verified; it does not sign them in." }, "invite_link": "Invite link", "no_members": "No members in the group yet." }, "tabs": { "balances": "Balances", "expenses": "Expenses" }, "title": "Group outstanding balances" }, "invite_message": { "in_splitpro": "in Splitpro", "join_to": "Join to", "text": "Join to the group and you can add, manage expenses, and track your balances" }, "meta": { "application_name": "SplitPro", "description": "Split Expenses with your friends for free", "title": "SplitPro: Split Expenses with your friends for free" }, "balances": { "user_preferences": { "title": "Preferences" }, "default_split": { "cleared": "Default split cleared", "configure": "Default split", "updated": "Default split updated" } }, "navigation": { "account": "Account", "activity": "Activity", "add": "Add", "add_expense": "Add Expense", "recurring": "Recurring", "balances": "Balances", "groups": "Groups" }, "recurrence": { "title": "Recurrence", "description": "Set up automatic recurrence for this expense.", "cron_expression": "Cron Expression", "time_of_day": "Time of Day", "days_of_week": "Days of Week", "days_of_month": "Days of Month", "months": "Months", "last_day": "Last day", "never": "No schedule configured", "empty": "No recurring expenses yet", "recurring": "Recurring", "expense_for_the_amount_of": "Expense {name} for the amount of {amount} {currency}", "delete_title": "Delete Recurrence", "delete_description": "This will stop future expense creation. Existing expenses created by this recurrence will not be deleted.", "edit_title": "Edit Recurrence", "edit_description": "This will change the schedule for future expenses. Existing expenses will not be modified.", "schedule_type": { "never": "Never", "custom": "Custom", "day": "Daily", "month": "Monthly", "week": "Weekly", "year": "Yearly" }, "edit_confirmation_title": "Edit Recurring Expense", "template_edit_warning": "This is a recurring expense template. Changes will apply to all recurring expenses created in the future.", "derived_edit_warning": "This expense is part of a recurrence. Changes will only affect this expense.", "template_delete_warning": "This is a recurring expense template. Deleting it will stop all future recurring expenses.", "derived_delete_warning": "This expense is part of a recurrence. Only this expense will be deleted. Future recurring expenses will continue.", "view_recurring_page": "View Recurring page", "toggle_options": "Toggle recurring expense options", "execution_time_loading": "Loading execution time…", "execution_time_unavailable": "Execution time is unavailable.", "next_local_run": "Next scheduled run: {date} ({timeZone}, your time zone).", "instance_schedule": "Schedule: {schedule} ({timeZone})." }, "ui": { "added_by": "Added by", "and": "and", "balance": "balance", "balances": "balances", "delete": "Delete", "deleted_by": "Deleted by", "edited_by": "Edited by", "expense": { "for": "for", "from": "from", "paid_by": "Paid by", "received_by": "Received by", "to": "to", "user": { "deleted": "deleted", "get": "gets", "lent": "lent", "owe": "owes", "paid": "paid", "pay": "pays", "received": "received" }, "you": { "deleted": "deleted", "get": "get", "lent": "lent", "owe": "owe", "paid": "paid", "pay": "pay", "received": "received" }, "payer": { "current_user": "You" }, "recipient": { "current_user": "You" }, "statements": { "you_lent": "You lent", "you_owe": "You owe", "you_lent_amount": "You lent {amount}", "you_owe_amount": "You owe {amount}", "you_pay_user": "You pay {user}", "user_pays_you": "{user} pays you", "user_pays_user": "{payer} pays {receiver}" } }, "expense_details": "Expense details", "no_activity": "No activities yet", "not_involved": "Not involved", "not_set": "Not set", "on": "on", "or": "or", "outstanding_balances": "Outstanding balances", "group_people_list_empty": { "no_contacts": "No saved contacts to show", "no_matches": "No available contacts match your search", "all_added": "All your saved contacts are already in this group" }, "people_list_load_error": "Could not load contacts. Please try again.", "people_list_empty": { "no_contacts": "No saved contacts or groups to show", "no_matches": "No available contacts or groups match your search", "all_added": "All your saved contacts are already in this group" }, "total_balance": "Total balance", "select_currency": "Select currency", "select_balance": "Select balance", "settle_up_name": "Settle up", "settled_up": "Settled up", "settlement": "Settlement", "share_text": "Check out SplitPro. It's an open source free alternative for Splitwise", "show_all_currencies": "Show all currencies", "today": "Today", "in_group": "In group", "transfer": "{senderRole, select, you {You pay {receiver}} other {{receiverRole, select, you {{sender} pays you} other {{sender} pays {receiver}}}}}", "invitation": { "send_email": "Send an invitation email", "adding": "Adding…", "email_help": "For the email address you enter, we’ll send a link to SplitPro only if it is not verified. This does not sign them in.", "no_email_help": "No invitation email will be sent. Users who have not signed up yet, can sign in later using this email address.", "disabled_help": "Invitation emails are disabled on this server. You can still add someone by email.", "draft_help": "Adding a participant does not save the expense. Save the expense as well when editing.", "group_partial_success": "Added to the group, but the invitation email could not be sent.", "expense_partial_success": "Added to the draft expense, but the invitation email could not be sent." } }, "friend": { "delete_confirmation": { "title": "Are you absolutely sure?", "description": "Do you really want to continue?", "outstanding_balance": "You cannot remove a friend with outstanding balances. Settle up first." } }, "activity": { "you_paid_for_expense": "You paid {amount} for {expense}", "you_received_for_expense": "You received {amount} for {expense}", "user_paid_for_expense": "{user} paid {amount} for {expense}", "user_received_for_expense": "{user} received {amount} for {expense}", "user_deleted_expense": "{actor, select, you {You deleted {expense}} other {{user} deleted {expense}}}", "you_paid_amount": "You paid {amount}", "you_received_amount": "You received {amount}" }, "balance_summary": { "friend_owes_you": "{friend} owes you {amount}", "you_owe_friend": "You owe {friend} {amount}", "more": "{count, plural, one {# more balance} other {# more balances}}" }, "balance_list": { "pays": "{payerRole, select, you {You pay {amount} to {receiver}} other {{payer} pays {amount} to {receiverRole, select, you {you} other {{receiver}}}}}", "gets": "{receiverRole, select, you {You get {amount} from {payer}} other {{receiver} gets {amount} from {payerRole, select, you {you} other {{payer}}}}}" }, "expense_participant": { "gets": "{actor, select, you { get } other { gets }}", "owes": "{actor, select, you { owe } other { owes }}", "paid": " paid ", "received": " received " }, "expense_metadata": { "edited_by": "{actor, select, you {Edited by you on {date}} other {Edited by {user} on {date}}}", "deleted_by": "{actor, select, you {Deleted by you on {date}} other {Deleted by {user} on {date}}}", "added_by": "{actor, select, you {Added by you on {date}} other {Added by {user} on {date}}}" }, "expense_list": { "upcoming_expenses": "Upcoming expenses", "future_expense": "Future expense — not included in balances yet", "user_paid": "{actor, select, you {You paid {amount}} other {{user} paid {amount}}}", "user_received": "{actor, select, you {You received {amount}} other {{user} received {amount}}}", "settlement": "{payerRole, select, you {You paid {amount} to {receiver}} other {{receiverRole, select, you {{payer} paid you {amount}} other {{payer} paid {amount} to {receiver}}}}}", "conversion_for_users": "Currency conversion for {payerRole, select, you {you} other {{payer}}} and {receiverRole, select, you {you} other {{receiver}}}" }, "notifications": { "enable_title": "Enable notifications", "enable_description": "Don't miss important events. Subscribe to receive notifications when expenses are added or updated.", "permission_granted": "You will receive notifications now", "subscribe": "Subscribe" }, "pagination": { "load_more": "Load more", "loading": "Loading expenses", "retry": "Try again", "error": "Could not load expenses. Please try again." }, "comments": { "title": "Comments", "initial_label": "Add a note (optional)", "initial_placeholder": "Add details about this expense…", "add": "Add a comment", "placeholder": "Write a comment…", "post": "Post comment", "edit": "Edit", "delete": "Delete", "edit_label": "Edit comment", "delete_confirm": "Delete this comment?", "error": "Could not save the comment" } }