diff --git a/adminapp/package.json b/adminapp/package.json index 86fa8577..250610b6 100644 --- a/adminapp/package.json +++ b/adminapp/package.json @@ -41,7 +41,7 @@ "test": "vitest --passWithNoTests --globals", "prettier-check": "prettier --no-error-on-unmatched-pattern --check '*.{jsx,js}' './tools/*.{jsx,js}' './src/**/*.{jsx,js}'", "prettier-fix": "prettier --no-error-on-unmatched-pattern --write '*.{jsx,js}' './tools/*.{jsx,js}' './src/**/*.{jsx,js}'", - "eslint-check": "eslint --ext .js,.jsx --no-error-on-unmatched-pattern '*.js' './tools/' './src/'", + "eslint-check": "eslint --ext .js,.jsx --max-warnings=0 --no-error-on-unmatched-pattern '*.js' './tools/' './src/'", "eslint-fix": "eslint --ext .js,.jsx --no-error-on-unmatched-pattern --fix '*.js' './tools/' './src/'" }, "eslintConfig": { diff --git a/lib/suma/api/commerce.rb b/lib/suma/api/commerce.rb index fbb456e6..a6c8d012 100644 --- a/lib/suma/api/commerce.rb +++ b/lib/suma/api/commerce.rb @@ -447,6 +447,7 @@ class DetailedOrderHistoryEntity < SimpleOrderHistoryEntity &self.delegate_to(:checkout, :cart, :offering, :fulfillment_confirmation) expose :fulfillment_option, with: FulfillmentOptionEntity, &self.delegate_to(:checkout, :fulfillment_option) expose :fulfillment_options_for_editing, with: FulfillmentOptionEntity + expose :fulfillment_option_editable?, as: :fulfillment_option_editable expose :order_status expose :can_claim?, as: :can_claim diff --git a/lib/suma/commerce/order.rb b/lib/suma/commerce/order.rb index 7f66f9dc..881aa8db 100644 --- a/lib/suma/commerce/order.rb +++ b/lib/suma/commerce/order.rb @@ -174,6 +174,15 @@ def fulfillment_options_for_editing return opts end + # Return true if the order's fulfillment option is editable. + # It is editable when there are any options to choose from, + # that is not the currently chosen option. + def fulfillment_option_editable? + opts = self.fulfillment_options_for_editing + opts.delete(self.checkout.fulfillment_option) + return opts.any? + end + def apply_fulfillment_quantity_changes self.items_and_product_inventories.each do |ci, inv| inv.quantity_on_hand -= ci.quantity if inv.limited_quantity? diff --git a/spec/suma/commerce/order_spec.rb b/spec/suma/commerce/order_spec.rb index 0ddf085d..a4596a4b 100644 --- a/spec/suma/commerce/order_spec.rb +++ b/spec/suma/commerce/order_spec.rb @@ -79,6 +79,31 @@ end end + describe "fulfillment_option_editable?" do + let(:offering) { Suma::Fixtures.offering.create } + let(:order) do + checkout = Suma::Fixtures.checkout(cart: Suma::Fixtures.cart(offering:).create).completed.create + Suma::Fixtures.order(checkout:).create + end + + it "returns false if there are no options in the offering" do + order.checkout.update(fulfillment_option: nil) + order.checkout.cart.offering.fulfillment_options.each(&:soft_delete) + expect(order).to_not be_fulfillment_option_editable + end + + it "returns true when no option is chosen and theres at least one available" do + order.checkout.update(fulfillment_option: nil) + expect(order).to be_fulfillment_option_editable + end + + it "returns true when option is chosen and there are more than one available" do + expect(order).to_not be_fulfillment_option_editable + another_option = Suma::Fixtures.offering_fulfillment_option.create(offering:) + expect(order).to be_fulfillment_option_editable + end + end + describe "fulfillment state machine" do let(:limited_product) { Suma::Fixtures.product.limited_quantity(4, 2).create } let(:unlimited_product) { Suma::Fixtures.product.create } diff --git a/webapp/package.json b/webapp/package.json index d4f82832..1c282db0 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -36,7 +36,7 @@ "serve": "vite preview", "prettier-check": "prettier --no-error-on-unmatched-pattern --check '*.{jsx,js}' './tools/*.{jsx,js}' './src/**/*.{jsx,js}'", "prettier-fix": "prettier --no-error-on-unmatched-pattern --write '*.{jsx,js}' './tools/*.{jsx,js}' './src/**/*.{jsx,js}'", - "eslint-check": "eslint --ext .js,.jsx --no-error-on-unmatched-pattern . './tools/' './src/'", + "eslint-check": "eslint --ext .js,.jsx --max-warnings=0 --no-error-on-unmatched-pattern . './tools/' './src/'", "eslint-fix": "eslint --ext .js,.jsx --no-error-on-unmatched-pattern --fix . './tools/' './src/'" }, "eslintConfig": { diff --git a/webapp/public/locale/en/out/strings.out.json b/webapp/public/locale/en/out/strings.out.json index 5c227993..26e943f0 100644 --- a/webapp/public/locale/en/out/strings.out.json +++ b/webapp/public/locale/en/out/strings.out.json @@ -1 +1 @@ -{"alts":{"check_detail_example":["s","Bank check showing the location of the routing number at the bottom left, account number at the bottom center, and check number at the bottom right"],"local_food_stand":["s","Market stand showing fresh fruit and vegetables"],"person_riding_scooter":["s","Person in a blue bike helmet and pink facemask riding an electric scooter down a one way street"],"solar_panels":["s","Solar panels in a field of purple flowers"],"suma_logo":["s","Suma logo showing an ear of corn on top of a coin, all within a circle and gold shaded"]},"auth":{"agree_aria_label":["s","Agree to terms"],"sign_up_agreement":["m","I accept and agree to suma’s [Terms of Use](/terms-of-use) and [Privacy Policy](/privacy-policy). I also agree to receive periodic SMS and/or MMS messages from suma. Message and data rates may apply. Message frequency may vary depending on your activity and settings. Text HELP for more information. Text STOP to stop receiving messages."]},"common":{"add_to_homescreen":["s","Add to homescreen"],"add_to_homescreen_intro":["s","Install suma to your homescreen for an optimized experience."],"app":["s","App"],"app_name":["s","Suma"],"back":["s","Back"],"back_sym":["s","‹"],"cancel":["s","Cancel"],"close":["s","Close"],"contact_us":["s","Contact Us"],"copied_to_clipboard":["s","Copied to clipboard."],"error":["s","Error"],"faq":["m","[FAQ](https://mysuma.org/transportation-faq-en/__blank__ 'frequently asked questions')"],"forward_sym":["s","›"],"go_home":["s","Go Home"],"go_to_dashboard":["s","Go To Dashboard"],"help":["s","Help"],"in_english":["s","English"],"in_spanish":["s","En Español"],"install_suma":["s","Install Suma"],"learn_more":["s","Learn More"],"logout":["s","Logout"],"mysuma_website_link":["m","[www.mysuma.org](https://www.mysuma.org 'mysuma.org homepage')"],"next":["s","Next"],"next_sym":["s","›"],"okay_ex":["s","Okay!"],"open_app":["s","Open app"],"pagination_next":["s","Next ›"],"pagination_prev":["s","‹ Prev"],"privacy_policy":["s","Privacy Policy"],"reference_id":["s","Reference ID"],"scooter_cost":["s","@% to start then @%/min + taxes",{"k":"startCost","f":"sumaCurrency"},{"k":"costPerMinute","f":"sumaCurrency"}],"suma_help_email":["m","[apphelp@mysuma.org](mailto:apphelp@mysuma.org 'suma help email')"],"suma_help_number":["m","[971-351-7862](tel:971-351-7862)"],"terms_of_use":["s","Terms of Use"],"translate_to_english":["s","Translate to English"],"translate_to_spanish":["s","Traducir al Español"],"view_all":["s","View all"],"welcome_to_suma":["s","Welcome to Suma!"],"whats_this":["m","What's this?"]},"contact_list":{"choose_language":["s","Please select a preferred language to continue to your savings!"],"labels":{"friends_family":["s","Friends/Family"],"local_community":["s","Community group"],"mysuma_website":["s","MySuma website"],"other":["s","Other"],"suma_event":["s","Suma event"],"suma_staff":["s","Suma staff"]},"referral_label":["s","How did you hear about suma?"],"sign_up_again":["s","Sign up again"],"signup_intro":["s","Fill in the blanks below to join our contact list, and we will update you on all our projects and upcoming money saving opportunities. We’re so excited!"],"signup_title":["s","Join suma"],"success_intro":["mp","Thank you for signing up, and welcome to the suma app!\n\nWe will update you on all future projects, money saving opportunities, and how to complete the app enrollment process. To learn more about suma, visit our website at @%, or check us out on our social media using the link below. Chat soon!",{"t":"strings:common:mysuma_website_link"}]},"dashboard":{"about_suma":["s","About Suma"],"availableCash":["s","Available cash: @%",{"k":"balance","f":"sumaCurrency"}],"check_ongoing_trip":["s","You have an ongoing trip. Please make sure you end it when you are finished with your ride!"],"check_ongoing_trip_button":["s","See My Trip"],"claim_orders":["s","Your order is ready for pickup."],"intro":["s","Helping our community save money on things you buy the most - all in one place."],"program_ends":["s","Program ends @%",{"k":"date"}]},"errors":{"auth_conflict":["s","You are already signed in. Please sign out first."],"card_contact_bank":["m","Your card was declined. You can try again, but if that does not work you'll need to reach out to your issuer to resolve the failure, or user a different card."],"card_expired":["s","Your card has expired. Please add a new card, and you can delete this one."],"card_generic":["m","We couldn't charge your card, but we don't have much more information why. You can try again, use a different card, or contact your bank."],"card_insufficient_funds":["s","Your card does not have sufficient funds available. Please try again later, or use a different card."],"card_invalid_cvc":["s","Your CVC is incorrect. Please re-enter it and try again."],"card_invalid_expiry":["m","Your card's expiration date is incorrect. Please re-enter it and try again."],"card_invalid_number":["s","Your card number is incorrect. Please re-enter it and try again."],"card_permanent_failure":["s","It looks like your card is no longer valid. Please add a new card, and you can delete this one."],"card_try_again":["s","Our card processor is having some issues. It should go through if you try again."],"checkout_fatal_error":["s","Sorry, something went wrong trying to check out. Please go back and try again."],"checkout_no_items":["s","There are no items in your cart, or all of your items are unavailable. Please go back and try again."],"conflicting_bank_account":["s","You already have a bank account with that account and routing number. Please go back, or enter new account details."],"conflicting_stripe_card":["s","You already have a card with that information. Please go back or enter new account details."],"disambiguation_required":["s","@%",{"t":"strings:errors:unhandled_error"}],"eligibility_violation":["s","@%",{"t":"strings:errors:unhandled_error"}],"forbidden":["s","You are forbidden from accessing these resources."],"impossible_phone_number":["m","That doesn't look like a real phone number."],"invalid_credentials":["s","Sorry, that information is not correct."],"invalid_order_quantity":["s","Sorry, one or more of the items in your order are unavailable. Please go back to your cart and try again."],"invalid_otp":["s","That token is not valid. Enter it again, or request a new code."],"invalid_permissions":["s","You are not allowed to do that."],"mobility_coming_soon":["mp","Thank you for your interest! We’re currently fixing an issue with our e-scooter integration. We’re aiming to have it back shortly.\n\nEmail us if you have any questions, please."],"network_error":["s","There was a network error. Connect to the internet and try again."],"no_active_trip":["s","There is no trip currently active."],"ongoing_trip":["s","You must end your ongoing trip before starting a new one."],"product_unavailable":["s","Sorry, this product is no longer available."],"rate_not_found":["s","@%",{"t":"strings:errors:unhandled_error"}],"read_only_technical_error":["m","@%",{"t":"strings:errors:read_only_unverified"}],"read_only_unverified":["m","Your account is limited while we verify your information. We'll let you know when it's ready!"],"read_only_zero_balance":["m","Sorry, you can't use this until you've added some money to your account."],"required":["s","This field is required."],"resource_not_found":["s","@%",{"t":"strings:errors:forbidden"}],"role_check":["s","@%",{"t":"strings:errors:invalid_permissions"}],"something_went_wrong_body":["m","Sorry, something went wrong. Let's go to your home screen so you can try again."],"something_went_wrong_title":["s","Something went wrong"],"too_many_requests":["s","You have made too many requests in a short period of time. Please try again after @% seconds.",{"k":"seconds"}],"unauthenticated":["s","You must be logged in to proceed."],"unhandled_error":["s","Sorry, something went wrong. Please try again."],"validation_error":["s","Some fields were left blank, please fill in all required fields and try again."],"vehicle_not_found":["s","No vehicle found in this location."]},"food":{"add_card":["s","Add debit/credit card"],"add_to_cart":["s","Add to cart"],"address":["s","Address"],"available_offerings":["s","Available Offerings"],"available_until":["s","Until @%",{"k":"date"}],"cart_available_credit":["m","Available credit: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_cash_cost":["m","Cost to you: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_full":["s","Cart full"],"cart_title":["s","Shopping Cart"],"charge_to":["s","Charge to @%",{"k":"instrumentName"}],"checkout":["s","Checkout"],"checkout_items_title":["s","My cart"],"claimed_on":["s","Claimed on @%",{"k":"fulfilledAt"}],"claiming_instructions":["m","When you arrive at \"@%\", please allow a staff member to help you \"Press and Hold\" to claim your order. **Don't press this button until you are at the market.**",{"k":"offeringDescription"}],"confirmation_help":["m","For questions or concerns, email us at @%",{"t":"strings:common:suma_help_email"}],"confirmation_message":["s","Respond to your confirmation message or reach out if you have any questions."],"confirmation_my_order":["s","My order"],"confirmation_subtitle":["s","You will receive a confirmation text message."],"confirmation_title":["s","Your order has been placed!"],"confirmation_transportation_subtitle":["s","Check out our transportation options."],"confirmation_transportation_title":["s","Looking for Transportation?"],"continue_to_checkout":["s","Continue to Checkout"],"current_offerings":["s","Current Offerings"],"details_header":["s","Details"],"discount_applied":["s","@% discount from @%",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"}],"edit_quantities":["s","Edit quantities"],"ending_in":["s","ending in @%",{"k":"last4"}],"from_vendor":["s","From @%",{"k":"vendorName"}],"insufficient_funds_alert":["s","This account does not have sufficient funds to complete this order."],"intro":["s","Suma wants to make it easy for you to save money on food, whether you shop at a big chain, the corner store or an organic market."],"item_subtotal":["s","Item subtotal"],"items_title":["s","Items"],"labels":{"chargeable_total":["s","To be charged"],"fees_and_taxes":["s","Fees @%, Taxes @%",{"k":"fees","f":"sumaCurrency"},{"k":"taxes","f":"sumaCurrency"}],"handling":["s","Handling"],"items_count":["s","Items (@%)",{"k":"itemCount"}],"price":["s","Price: @%",{"k":"price","f":"sumaCurrency"}],"tax":["s","Tax"],"total":["s","Total: @%",{"k":"total","f":"sumaCurrency"}],"total_before_tax":["s","Total before tax"],"total_savings":["s","Total savings"]},"link_new_payment":["s","Link a new payment method to pay for this order."],"link_new_payment_or":["s","Or, link a new payment method to pay for this order."],"mobility_options":["s","Mobility Options"],"no_cart_items":["s","This cart does not have any items."],"no_orders":["s","You haven’t place any orders yet."],"no_orders_to_claim":["s","You have no orders to claim."],"no_products":["s","There were no products found, this offering might be closed."],"no_unclaimed_orders":["s","See your order history."],"order_available_for_pickup":["s","Available for pickup @%",{"k":"date"}],"order_button":["s","Place order"],"order_claimed":["s","Order @% claimed",{"k":"serial"}],"order_date":["s","Placed @%",{"k":"date"}],"order_for_claimed_on":["s","Claimed at @% on @%",{"k":"offeringDescription"},{"k":"fulfilledAt"}],"order_history_title":["s","Order History"],"order_serial":["s","Order @%",{"k":"serial"}],"order_summary_title":["s","Order summary"],"out_of_stock":["s","Out of stock"],"payment_title":["s","How are you paying?"],"press_and_hold":["mp","Press\n\n and\n\n hold"],"price":["s","Price"],"price_times_quantity":["s","@% x @%",{"k":"price","f":"sumaCurrency"},{"k":"quantity"}],"quantity":["s","Quantity: @%",{"k":"quantity"}],"remove_from_cart":["s","Remove from cart"],"return_to_dashboard_alert":["s","Please return to the dashboard to add more funds or edit the cart quantities to lower your cost."],"save_payment":["s","Save for future orders"],"shop":["s","Shop"],"sold_out":["s","Sold out"],"subsidy_and_discount_applied":["s","@% discount from @% and @% suma subsidy credit",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"},{"k":"subsidyAmount","f":"sumaCurrency"}],"subsidy_applied":["s","@% suma subsidy credit",{"k":"subsidyAmount","f":"sumaCurrency"}],"subtotal_items":["m","Subtotal (@% items): **@%**",{"k":"totalItems"},{"k":"customerCost","f":"sumaCurrency"}],"terms_of_use_agreement":["m","By clicking \"place order\" you agree to suma's [Terms of Use](/terms-of-use__blank__)."],"title":["s","Food"],"total":["s","@%",{"k":"total","f":"sumaCurrency"}],"unclaimed_order_history_intro":["s","Orders that are ready to claim will appear below."],"unclaimed_order_history_title":["s","Claim Orders"],"view_order":["s","View Order"]},"forms":{"account_number":["s","Account Number"],"add_amount":["s","Add @%",{"k":"amount"}],"add_funds":["s","Add Funds"],"address1":["s","Street Address"],"address2":["s","Unit or Apartment Number"],"amount":["s","Amount"],"bank_account_caption":["m","Number of your bank account. You can get these from your online banking portal, or check out @%.",{"t":"strings:forms:paper_check_link"}],"bank_account_type":["s","Account Type"],"bank_account_type_caption":["m","Choose which type of account this is. If you're not sure, use Checking."],"card_number":["s","Card Number"],"checking":["s","Checking"],"choose_organization":["s","Choose Affiliated Organization..."],"choose_state":["s","Choose state..."],"city":["s","City"],"confirm_account_number":["s","Confirm Account Number"],"confirm_account_number_caption":["s","Please retype your Account Number to confirm."],"continue":["s","Continue"],"get_started":["s","Get Started"],"get_started_intro":["s","To start a new account, or sign into your existing account, please enter your phone number. We will send you a verification code to confirm the phone number."],"invalid_bank_account_number":["s","Please enter your bank account number."],"invalid_bank_account_number_confirm":["s","Must match your Account Number above."],"invalid_card_cvc":["s","The security code is a 3 or 4 digit number on the back fo the card."],"invalid_card_expiry":["m","Expiration date should be typed Month Month / Year Year, like '10 / 23'."],"invalid_card_number":["s","Please double check the account number."],"invalid_field":["s","This field is not valid."],"invalid_max_amount":["s","Must be @% or less.",{"k":"constraint","f":"sumaCurrency"}],"invalid_max_length":["s","Cannot be more than @% characters.",{"k":"constraint"}],"invalid_min":["s","Must be greater than or equal to @%.",{"k":"constraint"}],"invalid_min_amount":["s","Must be at least @%.",{"k":"constraint","f":"sumaCurrency"}],"invalid_min_length":["s","Must be at least @% characters.",{"k":"constraint"}],"invalid_required":["s","This field is required."],"invalid_routing_number":["s","Please enter the 9 digit number of your bank account."],"name":["s","Name"],"nickname":["s","Nickname"],"nickname_caption":["s","The name used to refer to the account in Suma."],"option_not_listed":["s","Not listed"],"option_unaffiliated":["s","No affiliation"],"organization_helper_text":["s","Are you connected to one of our listed partners?"],"paper_check_link":["m","[how to find your bank details from a paper check](##check-details 'Paper Check Details')"],"phone":["s","Phone"],"routing_caption":["m","9-digit number for your bank. You can get these from your online banking portal, or check out @%.",{"t":"strings:forms:paper_check_link"}],"routing_number":["s","Routing Number"],"save":["s","Save"],"savings":["s","Savings"],"state":["s","State"],"submit":["s","Submit"],"zip":["s","Zip"]},"ledgerusage":{"commerce_order":["s","@%. You saved @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"credit":["s","@%",{"k":"memo"}],"funding":["s","Transfer from @%",{"k":"accountLabel"}],"misc":["s","Suma charge"],"mobility_trip":["s","@% trip. You saved @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"refund":["s","@%",{"k":"memo"}],"unknown":["s","Uncategorized Suma charge"]},"mobility":{"do_not_park_intro":["s","You cannot park in this area. We may take action for repeated violations."],"do_not_park_title":["s","Please do not park here"],"do_not_ride_intro":["s","You cannot ride in this area. We may take action for repeated violations."],"do_not_ride_title":["s","Please do not ride here"],"end_trip":["s","End Trip"],"intro":["mp","Ride with enhanced privacy and better prices.\n\nSuma partners with Ride Connection to provide transportation options for the elderly and people with disabilities. Call [503-226-0700](tel:503-226-0700) or [click here](https://rideconnection.org/services__blank__) to see their services.\n\nWe're teaming up with Lime to provide free rides to suma users this summer. Lime rides are a new feature and we welcome your feedback via text at @% or email at @%. To get started, click on a e-scooter below or learn more on our @%.",{"t":"strings:common:suma_help_number"},{"t":"strings:common:suma_help_email"},{"t":"strings:common:faq"}],"locate_me":["s","Locate me"],"location_permissions_denied":["s","Map location permissions are denied. Suma will attempt to find your nearest location. Please allow browser location permissions for suma."],"location_permissions_denied_instructions":["m","Map location permissions are denied. Suma will attempt to find your nearest location. [Click here](@%) for instructions on allowing location permission for suma.",{"k":"instructionsUrl"}],"mobility_start_and_per_minute":["s","@% to unlock, @% per minute",{"k":"surchargeCents","f":"sumaCurrency"},{"k":"unitCents","f":"sumaCurrency"}],"relink_private_account_with_vendor":["m","If you are signed out, you can [re-link your @% account](/private-accounts).",{"k":"vendorName"}],"reserve_scooter":["s","Reserve Scooter"],"setup_private_account_with_vendor":["m","To get started, we'll set up a private account for you with @%.",{"k":"vendorName"}],"title":["s","Mobility Services"],"trip_ended":["mp","Your trip with @% has ended.\n\nWe used @% of your Suma balance for this trip.\n\nYou saved @%.",{"k":"vendor"},{"k":"totalCost","f":"sumaCurrency"},{"k":"discountAmount","f":"sumaCurrency"}],"trip_started_at":["s","Trip started at @%.",{"k":"at"}],"zoom_in":["s","Zoom in"],"zoom_out":["s","Zoom out"]},"onboarding":{"enroll_intro":["mp","Welcome to Suma! To get started, we will need to verify your identity. This makes sure you are eligible for the right programs, such as with our affordable housing partners.\n\n**We will never share this information other than to verify your identity.**"],"enroll_title":["s","Enroll in Suma"],"finish":["mp","Thanks! Our team will check things out and be in touch with any questions, or as soon as you’re verified.\n\nVerification usually happens within 1-2 business days.\n\nIn the meantime, you can learn more about the application and see what is available."],"finish_onboarded":["s","Everything looks good. You’re ready to start using Suma!"],"food_text":["s","Suma partners with the grocers you already use to offer discounts and bundled benefits"],"food_title":["s","Fresh Groceries"],"mobility_text":["s","Reduced-fare clean-energy transportation with electric scooters and bikes"],"mobility_title":["s","Clean Mobility"],"utilities_text":["s","Access local Community Solar projects for affordable, clean renewable energy"],"utilities_title":["s","Green Energy"]},"otp":{"code_resent":["s","New code sent to @%.",{"k":"phone"}],"did_not_receive":["m","Didn't recieve a text message?"],"enter_code":["s","Enter code"],"enter_code_sent_to":["s","Enter the code that we sent to"],"send_new_code":["s","Send a new code"],"verify":["s","Verify"],"verify_code":["s","Verify Code"]},"payments":{"account_submission_statement":["s","After you submit your information, one of our Member Experience specialists will be in touch to confirm the account."],"add_another_card":["s","Add Another Card"],"add_card":["s","Add Your Card"],"add_funds":["s","Add Funds"],"add_funds_intro":["s","Add funds to your Suma account so you can purchase discounted goods and services through the app."],"added_card":["s","Card Linked"],"added_card_successful":["s","Your card has been successfully linked to Suma. You can now use it to add funds to your accounts."],"bank_accounts":["s","Bank Accounts"],"cards":["s","Cards"],"check_details_subtitle":["s","At the bottom of your check are three sets of numbers. The first is the 9-digit routing number. The second is your account number. The third, which you can ignore, is your check number."],"check_details_title":["s","What is my Account Number?"],"first_page":["s","‹ First Page"],"funds":["s","Funds"],"ledger_balance":["s","Funds on Suma"],"ledger_label":["s","@% - @%",{"k":"amount","f":"sumaCurrency"},{"k":"label"}],"ledger_transactions":["s","Transaction History"],"ledgers_intro":["s","Your suma accounts are used to purchase goods and services through the application, like a bank account you can use on suma. Below is your account balance and all credits to, and debits from, your account."],"lifetime_savings":["s","Suma Savings"],"link_another_bank_account":["s","Link Another Account"],"link_bank_account":["s","Link bank account"],"linked_bank_account":["s","Bank Account Linked"],"linked_bank_account_successful":["mp","Your bank account has been successfully linked to Suma. Within the next day or two, one of our Member Experience specialists will be in touch to confirm the account.\n\nOnce the account is confirmed, you'll be able to add funds."],"no_bank_accounts_warning":["m","You don't have any bank accounts linked."],"no_cards_warning":["m","You don't have any credit or debit cards linked."],"no_transaction_history":["m","You haven't added or spent any money."],"payment_account_pending":["s","Pending"],"payment_account_verified":["s","Verified"],"payment_intro":{"intro":["m","To add money to your account, you'll need at least one *funding source*. Usually this is a bank account, but other options maybe available to you below."],"privacy_statement":["m","Your financial information is secured using **bank-level encryption** and **never shared without your consent**. Please see [Suma's Privacy Policy](@%) for more details about how we protect and use your financial information.",{"k":"externalLinks.privacyPolicy"}]},"payment_methods":["s","Payment Methods"],"payment_other_sources":["s","Other Sources"],"payment_submission_statement_bank_account":["s","After you submit your payment, you will be able to use the money immediately. The withdrawal should hit your account in 2 or 3 business days."],"payment_submission_statement_card":["s","Suma will charge your card when you submit this form."],"payment_support_coming":["s","Support is coming for additional sources, such as cash, money order, and adding funds through a friend."],"payment_title":["s","Payment Accounts"],"recent_ledger_lines":["s","Recent Charges and Credits"],"sumas_privacy_policy":["m","Suma's Privacy Policy"],"total_balance":["s","Available Balance"],"unlink":["s","Unlink"],"unlink_account":["s","Unlink Account"],"unlink_account_question":["s","Are you sure you want to unlink this account? You can always re-add it later."],"unlink_account_question_subtitle":["s","Any in-progress transactions will not be canceled."]},"preferences":{"account_updates":{"helper_text":["s","Order updates, receipts, and other messages based on actions you take in suma."],"title":["s","Account Updates"]},"intro":["s","Manage the types of communications you receive from suma."],"marketing":{"helper_text":["s","Communications from the suma team. You can unsubscribe from these by replying STOP to any marketing message."],"title":["s","Marketing"]},"security":{"helper_text":["s","For signing in, and other security-based messages. All suma members receive these messages."],"title":["s","Security"]},"success":["s","Your preferences were succesfully changed."],"title":["s","Preferences"]},"private_accounts":{"auth_error":["s","Sorry, something went wrong. You can try again, or email apphelp@mysuma.org."],"create_account":["s","Create account"],"initial":["s","Launch app"],"intro":["s","Used to hide your email and phone number from vendors you use through the Suma platform. Follow the instructions for the vendors you want to create a Private Account with."],"link_app":["s","Link App"],"no_private_accounts":["s","It looks like no vendors are set up for Private Accounts. Contact your administrator for more information."],"polling":["s","Working..."],"polling_detail":["s","This can take up to a minute."],"recent_messages_from_vendor":["s","Recent Messages from @%",{"k":"vendorName"}],"relink_app":["s","Re-link App"],"success_instructions":["s","We sent you a text, please click the link in the text to launch this app."],"vendor_private_accounts":["s","@% Private Accounts",{"k":"vendorName"}]},"titles":{"contact_list":["s","Contact List"],"contact_list_finish":["s","Contact List Finish"],"contact_list_signup":["s","Contact List Signup"],"dashboard":["s","Dashboard"],"funding":["s","Funding"],"home":["s","Home"],"ledgers_overview":["s","Ledgers Overview"],"messaging_preferences":["s","Messaging Preferences"],"mobility":["s","Mobility"],"onboarding":["s","Onboarding"],"onboarding_finish":["s","Onboarding Finish"],"onboarding_signup":["s","Onboarding Signup"],"order":["s","Order"],"order_history":["s","Order History"],"otp":["s","One Time Password"],"preferences":["s","Preferences"],"private_accounts":["s","Private Accounts"],"start":["s","Get Started"],"suma_app":["s","Suma App"],"terms_of_use_and_sale":["s","Terms of Use"]},"utilities":{"intro":["mp","Suma wants to make it easy for you to save money on your utility bills and make our communities more resilient against extreme weather and climate change.\n\nSign up for our free waiting list to help us build a community of members and to show that everyone deserves clean and affordable energy."],"page_title":["s","Utilities"],"title":["s","Utilities"]}} \ No newline at end of file +{"alts":{"check_detail_example":["s","Bank check showing the location of the routing number at the bottom left, account number at the bottom center, and check number at the bottom right"],"local_food_stand":["s","Market stand showing fresh fruit and vegetables"],"person_riding_scooter":["s","Person in a blue bike helmet and pink facemask riding an electric scooter down a one way street"],"solar_panels":["s","Solar panels in a field of purple flowers"],"suma_logo":["s","Suma logo showing an ear of corn on top of a coin, all within a circle and gold shaded"]},"auth":{"agree_aria_label":["s","Agree to terms"],"sign_up_agreement":["m","I accept and agree to suma’s [Terms of Use](/terms-of-use) and [Privacy Policy](/privacy-policy). I also agree to receive periodic SMS and/or MMS messages from suma. Message and data rates may apply. Message frequency may vary depending on your activity and settings. Text HELP for more information. Text STOP to stop receiving messages."]},"common":{"add_to_homescreen":["s","Add to homescreen"],"add_to_homescreen_intro":["s","Install suma to your homescreen for an optimized experience."],"app":["s","App"],"app_name":["s","Suma"],"back":["s","Back"],"back_sym":["s","‹"],"cancel":["s","Cancel"],"close":["s","Close"],"contact_us":["s","Contact Us"],"copied_to_clipboard":["s","Copied to clipboard."],"error":["s","Error"],"faq":["m","[FAQ](https://mysuma.org/transportation-faq-en/__blank__ 'frequently asked questions')"],"forward_sym":["s","›"],"go_home":["s","Go Home"],"go_to_dashboard":["s","Go To Dashboard"],"help":["s","Help"],"in_english":["s","English"],"in_spanish":["s","En Español"],"install_suma":["s","Install Suma"],"learn_more":["s","Learn More"],"logout":["s","Logout"],"mysuma_website_link":["m","[www.mysuma.org](https://www.mysuma.org 'mysuma.org homepage')"],"next":["s","Next"],"next_sym":["s","›"],"okay_ex":["s","Okay!"],"open_app":["s","Open app"],"pagination_next":["s","Next ›"],"pagination_prev":["s","‹ Prev"],"privacy_policy":["s","Privacy Policy"],"reference_id":["s","Reference ID"],"scooter_cost":["s","@% to start then @%/min + taxes",{"k":"startCost","f":"sumaCurrency"},{"k":"costPerMinute","f":"sumaCurrency"}],"suma_help_email":["m","[apphelp@mysuma.org](mailto:apphelp@mysuma.org 'suma help email')"],"suma_help_number":["m","[971-351-7862](tel:971-351-7862)"],"terms_of_use":["s","Terms of Use"],"translate_to_english":["s","Translate to English"],"translate_to_spanish":["s","Traducir al Español"],"view_all":["s","View all"],"welcome_to_suma":["s","Welcome to Suma!"],"whats_this":["m","What's this?"]},"contact_list":{"choose_language":["s","Please select a preferred language to continue to your savings!"],"labels":{"friends_family":["s","Friends/Family"],"local_community":["s","Community group"],"mysuma_website":["s","MySuma website"],"other":["s","Other"],"suma_event":["s","Suma event"],"suma_staff":["s","Suma staff"]},"referral_label":["s","How did you hear about suma?"],"sign_up_again":["s","Sign up again"],"signup_intro":["s","Fill in the blanks below to join our contact list, and we will update you on all our projects and upcoming money saving opportunities. We’re so excited!"],"signup_title":["s","Join suma"],"success_intro":["mp","Thank you for signing up, and welcome to the suma app!\n\nWe will update you on all future projects, money saving opportunities, and how to complete the app enrollment process. To learn more about suma, visit our website at @%, or check us out on our social media using the link below. Chat soon!",{"t":"strings:common:mysuma_website_link"}]},"dashboard":{"about_suma":["s","About Suma"],"availableCash":["s","Available cash: @%",{"k":"balance","f":"sumaCurrency"}],"check_ongoing_trip":["s","You have an ongoing trip. Please make sure you end it when you are finished with your ride!"],"check_ongoing_trip_button":["s","See My Trip"],"claim_orders":["s","Your order is ready for pickup."],"intro":["s","Helping our community save money on things you buy the most - all in one place."],"program_ends":["s","Program ends @%",{"k":"date"}]},"errors":{"auth_conflict":["s","You are already signed in. Please sign out first."],"card_contact_bank":["m","Your card was declined. You can try again, but if that does not work you'll need to reach out to your issuer to resolve the failure, or user a different card."],"card_expired":["s","Your card has expired. Please add a new card, and you can delete this one."],"card_generic":["m","We couldn't charge your card, but we don't have much more information why. You can try again, use a different card, or contact your bank."],"card_insufficient_funds":["s","Your card does not have sufficient funds available. Please try again later, or use a different card."],"card_invalid_cvc":["s","Your CVC is incorrect. Please re-enter it and try again."],"card_invalid_expiry":["m","Your card's expiration date is incorrect. Please re-enter it and try again."],"card_invalid_number":["s","Your card number is incorrect. Please re-enter it and try again."],"card_permanent_failure":["s","It looks like your card is no longer valid. Please add a new card, and you can delete this one."],"card_try_again":["s","Our card processor is having some issues. It should go through if you try again."],"checkout_fatal_error":["s","Sorry, something went wrong trying to check out. Please go back and try again."],"checkout_no_items":["s","There are no items in your cart, or all of your items are unavailable. Please go back and try again."],"conflicting_bank_account":["s","You already have a bank account with that account and routing number. Please go back, or enter new account details."],"conflicting_stripe_card":["s","You already have a card with that information. Please go back or enter new account details."],"disambiguation_required":["s","@%",{"t":"strings:errors:unhandled_error"}],"eligibility_violation":["s","@%",{"t":"strings:errors:unhandled_error"}],"forbidden":["s","You are forbidden from accessing these resources."],"impossible_phone_number":["m","That doesn't look like a real phone number."],"invalid_credentials":["s","Sorry, that information is not correct."],"invalid_order_quantity":["s","Sorry, one or more of the items in your order are unavailable. Please go back to your cart and try again."],"invalid_otp":["s","That token is not valid. Enter it again, or request a new code."],"invalid_permissions":["s","You are not allowed to do that."],"mobility_coming_soon":["mp","Thank you for your interest! We’re currently fixing an issue with our e-scooter integration. We’re aiming to have it back shortly.\n\nEmail us if you have any questions, please."],"network_error":["s","There was a network error. Connect to the internet and try again."],"no_active_trip":["s","There is no trip currently active."],"ongoing_trip":["s","You must end your ongoing trip before starting a new one."],"product_unavailable":["s","Sorry, this product is no longer available."],"rate_not_found":["s","@%",{"t":"strings:errors:unhandled_error"}],"read_only_technical_error":["m","@%",{"t":"strings:errors:read_only_unverified"}],"read_only_unverified":["m","Your account is limited while we verify your information. We'll let you know when it's ready!"],"read_only_zero_balance":["m","Sorry, you can't use this until you've added some money to your account."],"required":["s","This field is required."],"resource_not_found":["s","@%",{"t":"strings:errors:forbidden"}],"role_check":["s","@%",{"t":"strings:errors:invalid_permissions"}],"something_went_wrong_body":["m","Sorry, something went wrong. Let's go to your home screen so you can try again."],"something_went_wrong_title":["s","Something went wrong"],"too_many_requests":["s","You have made too many requests in a short period of time. Please try again after @% seconds.",{"k":"seconds"}],"unauthenticated":["s","You must be logged in to proceed."],"unhandled_error":["s","Sorry, something went wrong. Please try again."],"validation_error":["s","Some fields were left blank, please fill in all required fields and try again."],"vehicle_not_found":["s","No vehicle found in this location."]},"food":{"add_card":["s","Add debit/credit card"],"add_to_cart":["s","Add to cart"],"address":["s","Address"],"available_offerings":["s","Available Offerings"],"available_until":["s","Until @%",{"k":"date"}],"cart_available_credit":["m","Available credit: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_cash_cost":["m","Cost to you: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_full":["s","Cart full"],"cart_title":["s","Shopping Cart"],"charge_to":["s","Charge to @%",{"k":"instrumentName"}],"checkout":["s","Checkout"],"checkout_items_title":["s","My cart"],"claimed_on":["s","Claimed on @%",{"k":"fulfilledAt"}],"claiming_instructions":["m","When you arrive at \"@%\", please allow a staff member to help you \"Press and Hold\" to claim your order. **Don't press this button until you are at the market.**",{"k":"offeringDescription"}],"confirmation_help":["m","For questions or concerns, email us at @%",{"t":"strings:common:suma_help_email"}],"confirmation_message":["s","Respond to your confirmation message or reach out if you have any questions."],"confirmation_my_order":["s","My order"],"confirmation_subtitle":["s","You will receive a confirmation text message."],"confirmation_title":["s","Your order has been placed!"],"confirmation_transportation_subtitle":["s","Check out our transportation options."],"confirmation_transportation_title":["s","Looking for Transportation?"],"continue_to_checkout":["s","Continue to Checkout"],"current_offerings":["s","Current Offerings"],"details_header":["s","Details"],"discount_applied":["s","@% discount from @%",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"}],"edit_quantities":["s","Edit quantities"],"ending_in":["s","ending in @%",{"k":"last4"}],"from_vendor":["s","From @%",{"k":"vendorName"}],"insufficient_funds_alert":["s","This account does not have sufficient funds to complete this order."],"intro":["s","Suma wants to make it easy for you to save money on food, whether you shop at a big chain, the corner store or an organic market."],"item_subtotal":["s","Item subtotal"],"items_title":["s","Items"],"labels":{"chargeable_total":["s","To be charged"],"fees_and_taxes":["s","Fees @%, Taxes @%",{"k":"fees","f":"sumaCurrency"},{"k":"taxes","f":"sumaCurrency"}],"handling":["s","Handling"],"items_count":["s","Items (@%)",{"k":"itemCount"}],"price":["s","Price: @%",{"k":"price","f":"sumaCurrency"}],"tax":["s","Tax"],"total":["s","Total: @%",{"k":"total","f":"sumaCurrency"}],"total_before_tax":["s","Total before tax"],"total_savings":["s","Total savings"]},"link_new_payment":["s","Link a new payment method to pay for this order."],"link_new_payment_or":["s","Or, link a new payment method to pay for this order."],"mobility_options":["s","Mobility Options"],"no_cart_items":["s","This cart does not have any items."],"no_option_chosen":["s","No option chosen"],"no_orders":["s","You haven’t place any orders yet."],"no_orders_to_claim":["s","You have no orders to claim."],"no_products":["s","There were no products found, this offering might be closed."],"no_unclaimed_orders":["s","See your order history."],"order_available_for_pickup":["s","Available for pickup @%",{"k":"date"}],"order_button":["s","Place order"],"order_claimed":["s","Order @% claimed",{"k":"serial"}],"order_date":["s","Placed @%",{"k":"date"}],"order_for_claimed_on":["s","Claimed at @% on @%",{"k":"offeringDescription"},{"k":"fulfilledAt"}],"order_history_title":["s","Order History"],"order_serial":["s","Order @%",{"k":"serial"}],"order_summary_title":["s","Order summary"],"out_of_stock":["s","Out of stock"],"payment_title":["s","How are you paying?"],"press_and_hold":["mp","Press\n\n and\n\n hold"],"price":["s","Price"],"price_times_quantity":["s","@% x @%",{"k":"price","f":"sumaCurrency"},{"k":"quantity"}],"quantity":["s","Quantity: @%",{"k":"quantity"}],"remove_from_cart":["s","Remove from cart"],"return_to_dashboard_alert":["s","Please return to the dashboard to add more funds or edit the cart quantities to lower your cost."],"save_payment":["s","Save for future orders"],"shop":["s","Shop"],"sold_out":["s","Sold out"],"subsidy_and_discount_applied":["s","@% discount from @% and @% suma subsidy credit",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"},{"k":"subsidyAmount","f":"sumaCurrency"}],"subsidy_applied":["s","@% suma subsidy credit",{"k":"subsidyAmount","f":"sumaCurrency"}],"subtotal_items":["m","Subtotal (@% items): **@%**",{"k":"totalItems"},{"k":"customerCost","f":"sumaCurrency"}],"terms_of_use_agreement":["m","By clicking \"place order\" you agree to suma's [Terms of Use](/terms-of-use__blank__)."],"title":["s","Food"],"total":["s","@%",{"k":"total","f":"sumaCurrency"}],"unclaimed_order_history_intro":["s","Orders that are ready to claim will appear below."],"unclaimed_order_history_title":["s","Claim Orders"],"view_order":["s","View Order"]},"forms":{"account_number":["s","Account Number"],"add_amount":["s","Add @%",{"k":"amount"}],"add_funds":["s","Add Funds"],"address1":["s","Street Address"],"address2":["s","Unit or Apartment Number"],"amount":["s","Amount"],"bank_account_caption":["m","Number of your bank account. You can get these from your online banking portal, or check out @%.",{"t":"strings:forms:paper_check_link"}],"bank_account_type":["s","Account Type"],"bank_account_type_caption":["m","Choose which type of account this is. If you're not sure, use Checking."],"card_number":["s","Card Number"],"checking":["s","Checking"],"choose_organization":["s","Choose Affiliated Organization..."],"choose_state":["s","Choose state..."],"city":["s","City"],"confirm_account_number":["s","Confirm Account Number"],"confirm_account_number_caption":["s","Please retype your Account Number to confirm."],"continue":["s","Continue"],"get_started":["s","Get Started"],"get_started_intro":["s","To start a new account, or sign into your existing account, please enter your phone number. We will send you a verification code to confirm the phone number."],"invalid_bank_account_number":["s","Please enter your bank account number."],"invalid_bank_account_number_confirm":["s","Must match your Account Number above."],"invalid_card_cvc":["s","The security code is a 3 or 4 digit number on the back fo the card."],"invalid_card_expiry":["m","Expiration date should be typed Month Month / Year Year, like '10 / 23'."],"invalid_card_number":["s","Please double check the account number."],"invalid_field":["s","This field is not valid."],"invalid_max_amount":["s","Must be @% or less.",{"k":"constraint","f":"sumaCurrency"}],"invalid_max_length":["s","Cannot be more than @% characters.",{"k":"constraint"}],"invalid_min":["s","Must be greater than or equal to @%.",{"k":"constraint"}],"invalid_min_amount":["s","Must be at least @%.",{"k":"constraint","f":"sumaCurrency"}],"invalid_min_length":["s","Must be at least @% characters.",{"k":"constraint"}],"invalid_required":["s","This field is required."],"invalid_routing_number":["s","Please enter the 9 digit number of your bank account."],"name":["s","Name"],"nickname":["s","Nickname"],"nickname_caption":["s","The name used to refer to the account in Suma."],"option_not_listed":["s","Not listed"],"option_unaffiliated":["s","No affiliation"],"organization_helper_text":["s","Are you connected to one of our listed partners?"],"paper_check_link":["m","[how to find your bank details from a paper check](##check-details 'Paper Check Details')"],"phone":["s","Phone"],"routing_caption":["m","9-digit number for your bank. You can get these from your online banking portal, or check out @%.",{"t":"strings:forms:paper_check_link"}],"routing_number":["s","Routing Number"],"save":["s","Save"],"savings":["s","Savings"],"state":["s","State"],"submit":["s","Submit"],"zip":["s","Zip"]},"ledgerusage":{"commerce_order":["s","@%. You saved @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"credit":["s","@%",{"k":"memo"}],"funding":["s","Transfer from @%",{"k":"accountLabel"}],"misc":["s","Suma charge"],"mobility_trip":["s","@% trip. You saved @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"refund":["s","@%",{"k":"memo"}],"unknown":["s","Uncategorized Suma charge"]},"mobility":{"do_not_park_intro":["s","You cannot park in this area. We may take action for repeated violations."],"do_not_park_title":["s","Please do not park here"],"do_not_ride_intro":["s","You cannot ride in this area. We may take action for repeated violations."],"do_not_ride_title":["s","Please do not ride here"],"end_trip":["s","End Trip"],"intro":["mp","Ride with enhanced privacy and better prices.\n\nSuma partners with Ride Connection to provide transportation options for the elderly and people with disabilities. Call [503-226-0700](tel:503-226-0700) or [click here](https://rideconnection.org/services__blank__) to see their services.\n\nWe're teaming up with Lime to provide free rides to suma users this summer. Lime rides are a new feature and we welcome your feedback via text at @% or email at @%. To get started, click on a e-scooter below or learn more on our @%.",{"t":"strings:common:suma_help_number"},{"t":"strings:common:suma_help_email"},{"t":"strings:common:faq"}],"locate_me":["s","Locate me"],"location_permissions_denied":["s","Map location permissions are denied. Suma will attempt to find your nearest location. Please allow browser location permissions for suma."],"location_permissions_denied_instructions":["m","Map location permissions are denied. Suma will attempt to find your nearest location. [Click here](@%) for instructions on allowing location permission for suma.",{"k":"instructionsUrl"}],"mobility_start_and_per_minute":["s","@% to unlock, @% per minute",{"k":"surchargeCents","f":"sumaCurrency"},{"k":"unitCents","f":"sumaCurrency"}],"relink_private_account_with_vendor":["m","If you are signed out, you can [re-link your @% account](/private-accounts).",{"k":"vendorName"}],"reserve_scooter":["s","Reserve Scooter"],"setup_private_account_with_vendor":["m","To get started, we'll set up a private account for you with @%.",{"k":"vendorName"}],"title":["s","Mobility Services"],"trip_ended":["mp","Your trip with @% has ended.\n\nWe used @% of your Suma balance for this trip.\n\nYou saved @%.",{"k":"vendor"},{"k":"totalCost","f":"sumaCurrency"},{"k":"discountAmount","f":"sumaCurrency"}],"trip_started_at":["s","Trip started at @%.",{"k":"at"}],"zoom_in":["s","Zoom in"],"zoom_out":["s","Zoom out"]},"onboarding":{"enroll_intro":["mp","Welcome to Suma! To get started, we will need to verify your identity. This makes sure you are eligible for the right programs, such as with our affordable housing partners.\n\n**We will never share this information other than to verify your identity.**"],"enroll_title":["s","Enroll in Suma"],"finish":["mp","Thanks! Our team will check things out and be in touch with any questions, or as soon as you’re verified.\n\nVerification usually happens within 1-2 business days.\n\nIn the meantime, you can learn more about the application and see what is available."],"finish_onboarded":["s","Everything looks good. You’re ready to start using Suma!"],"food_text":["s","Suma partners with the grocers you already use to offer discounts and bundled benefits"],"food_title":["s","Fresh Groceries"],"mobility_text":["s","Reduced-fare clean-energy transportation with electric scooters and bikes"],"mobility_title":["s","Clean Mobility"],"utilities_text":["s","Access local Community Solar projects for affordable, clean renewable energy"],"utilities_title":["s","Green Energy"]},"otp":{"code_resent":["s","New code sent to @%.",{"k":"phone"}],"did_not_receive":["m","Didn't recieve a text message?"],"enter_code":["s","Enter code"],"enter_code_sent_to":["s","Enter the code that we sent to"],"send_new_code":["s","Send a new code"],"verify":["s","Verify"],"verify_code":["s","Verify Code"]},"payments":{"account_submission_statement":["s","After you submit your information, one of our Member Experience specialists will be in touch to confirm the account."],"add_another_card":["s","Add Another Card"],"add_card":["s","Add Your Card"],"add_funds":["s","Add Funds"],"add_funds_intro":["s","Add funds to your Suma account so you can purchase discounted goods and services through the app."],"added_card":["s","Card Linked"],"added_card_successful":["s","Your card has been successfully linked to Suma. You can now use it to add funds to your accounts."],"bank_accounts":["s","Bank Accounts"],"cards":["s","Cards"],"check_details_subtitle":["s","At the bottom of your check are three sets of numbers. The first is the 9-digit routing number. The second is your account number. The third, which you can ignore, is your check number."],"check_details_title":["s","What is my Account Number?"],"first_page":["s","‹ First Page"],"funds":["s","Funds"],"ledger_balance":["s","Funds on Suma"],"ledger_label":["s","@% - @%",{"k":"amount","f":"sumaCurrency"},{"k":"label"}],"ledger_transactions":["s","Transaction History"],"ledgers_intro":["s","Your suma accounts are used to purchase goods and services through the application, like a bank account you can use on suma. Below is your account balance and all credits to, and debits from, your account."],"lifetime_savings":["s","Suma Savings"],"link_another_bank_account":["s","Link Another Account"],"link_bank_account":["s","Link bank account"],"linked_bank_account":["s","Bank Account Linked"],"linked_bank_account_successful":["mp","Your bank account has been successfully linked to Suma. Within the next day or two, one of our Member Experience specialists will be in touch to confirm the account.\n\nOnce the account is confirmed, you'll be able to add funds."],"no_bank_accounts_warning":["m","You don't have any bank accounts linked."],"no_cards_warning":["m","You don't have any credit or debit cards linked."],"no_transaction_history":["m","You haven't added or spent any money."],"payment_account_pending":["s","Pending"],"payment_account_verified":["s","Verified"],"payment_intro":{"intro":["m","To add money to your account, you'll need at least one *funding source*. Usually this is a bank account, but other options maybe available to you below."],"privacy_statement":["m","Your financial information is secured using **bank-level encryption** and **never shared without your consent**. Please see [Suma's Privacy Policy](@%) for more details about how we protect and use your financial information.",{"k":"externalLinks.privacyPolicy"}]},"payment_methods":["s","Payment Methods"],"payment_other_sources":["s","Other Sources"],"payment_submission_statement_bank_account":["s","After you submit your payment, you will be able to use the money immediately. The withdrawal should hit your account in 2 or 3 business days."],"payment_submission_statement_card":["s","Suma will charge your card when you submit this form."],"payment_support_coming":["s","Support is coming for additional sources, such as cash, money order, and adding funds through a friend."],"payment_title":["s","Payment Accounts"],"recent_ledger_lines":["s","Recent Charges and Credits"],"sumas_privacy_policy":["m","Suma's Privacy Policy"],"total_balance":["s","Available Balance"],"unlink":["s","Unlink"],"unlink_account":["s","Unlink Account"],"unlink_account_question":["s","Are you sure you want to unlink this account? You can always re-add it later."],"unlink_account_question_subtitle":["s","Any in-progress transactions will not be canceled."]},"preferences":{"account_updates":{"helper_text":["s","Order updates, receipts, and other messages based on actions you take in suma."],"title":["s","Account Updates"]},"intro":["s","Manage the types of communications you receive from suma."],"marketing":{"helper_text":["s","Communications from the suma team. You can unsubscribe from these by replying STOP to any marketing message."],"title":["s","Marketing"]},"security":{"helper_text":["s","For signing in, and other security-based messages. All suma members receive these messages."],"title":["s","Security"]},"success":["s","Your preferences were succesfully changed."],"title":["s","Preferences"]},"private_accounts":{"auth_error":["s","Sorry, something went wrong. You can try again, or email apphelp@mysuma.org."],"create_account":["s","Create account"],"initial":["s","Launch app"],"intro":["s","Used to hide your email and phone number from vendors you use through the Suma platform. Follow the instructions for the vendors you want to create a Private Account with."],"link_app":["s","Link App"],"no_private_accounts":["s","It looks like no vendors are set up for Private Accounts. Contact your administrator for more information."],"polling":["s","Working..."],"polling_detail":["s","This can take up to a minute."],"recent_messages_from_vendor":["s","Recent Messages from @%",{"k":"vendorName"}],"relink_app":["s","Re-link App"],"success_instructions":["s","We sent you a text, please click the link in the text to launch this app."],"vendor_private_accounts":["s","@% Private Accounts",{"k":"vendorName"}]},"titles":{"contact_list":["s","Contact List"],"contact_list_finish":["s","Contact List Finish"],"contact_list_signup":["s","Contact List Signup"],"dashboard":["s","Dashboard"],"funding":["s","Funding"],"home":["s","Home"],"ledgers_overview":["s","Ledgers Overview"],"messaging_preferences":["s","Messaging Preferences"],"mobility":["s","Mobility"],"onboarding":["s","Onboarding"],"onboarding_finish":["s","Onboarding Finish"],"onboarding_signup":["s","Onboarding Signup"],"order":["s","Order"],"order_history":["s","Order History"],"otp":["s","One Time Password"],"preferences":["s","Preferences"],"private_accounts":["s","Private Accounts"],"start":["s","Get Started"],"suma_app":["s","Suma App"],"terms_of_use_and_sale":["s","Terms of Use"]},"utilities":{"intro":["mp","Suma wants to make it easy for you to save money on your utility bills and make our communities more resilient against extreme weather and climate change.\n\nSign up for our free waiting list to help us build a community of members and to show that everyone deserves clean and affordable energy."],"page_title":["s","Utilities"],"title":["s","Utilities"]}} \ No newline at end of file diff --git a/webapp/public/locale/en/strings.json b/webapp/public/locale/en/strings.json index 5aa6f913..e3f960ed 100644 --- a/webapp/public/locale/en/strings.json +++ b/webapp/public/locale/en/strings.json @@ -167,6 +167,7 @@ "link_new_payment_or": "Or, link a new payment method to pay for this order.", "mobility_options": "Mobility Options", "no_cart_items": "This cart does not have any items.", + "no_option_chosen": "No option chosen", "no_orders": "You haven’t place any orders yet.", "no_orders_to_claim": "You have no orders to claim.", "no_products": "There were no products found, this offering might be closed.", diff --git a/webapp/public/locale/es/out/strings.out.json b/webapp/public/locale/es/out/strings.out.json index bd1d9333..bef7691d 100644 --- a/webapp/public/locale/es/out/strings.out.json +++ b/webapp/public/locale/es/out/strings.out.json @@ -1 +1 @@ -{"alts":{"check_detail_example":["s","Cheque bancario que muestra la ubicación del número de ruta en la esquina inferior izquierda, el número de cuenta en la parte inferior central y el número de cheque en la parte inferior derecha"],"local_food_stand":["s","Puesto de mercado que muestra frutas y verduras frescas"],"person_riding_scooter":["s","Persona con casco de bicicleta azul y mascarilla rosa conduciendo un patinete eléctrico por una calle de un solo sentido"],"solar_panels":["s","Paneles solares en un campo de flores violetas"],"suma_logo":["s","Logo de suma que muestra una mazorca de maíz encima de una moneda, todo dentro de un círculo y sombreado en dorado"]},"auth":{"agree_aria_label":["s","Aceptar los terminos"],"sign_up_agreement":["m","Acepto y estoy de acuerdo con suma's [Términos de uso](/términos-de-uso) y [Política de privacidad](/privacy-policy). También acepto recibir SMS y/o MMS periódicos de suma. Se pueden aplicar tarifas de mensajes y datos. La frecuencia de los mensajes puede variar según su actividad y configuración. Envíe HELP para obtener más información. Envíe STOP para dejar de recibir mensajes."]},"common":{"add_to_homescreen":["s","Agregar a pantalla principal"],"add_to_homescreen_intro":["s","Instale suma en la pantalla principal de su teléfono para una experiencia optimizada."],"app":["s","Aplicación"],"app_name":["s","Suma"],"back":["s","Volver"],"back_sym":["s","‹"],"cancel":["s","Cancelar"],"close":["s","Cerrar"],"contact_us":["s","Contáctanos"],"copied_to_clipboard":["s","Copiada al portapapeles."],"error":["s","Error"],"faq":["m","[Preguntas Frecuentes](https://mysuma.org/transportation-faq-en/__blank__ 'preguntas frecuentes')"],"forward_sym":["s","›"],"go_home":["s","Volver a la página principal"],"go_to_dashboard":["s","Ir Al Inicio"],"help":["s","Ayuda"],"in_english":["s","English"],"in_spanish":["s","En Español"],"install_suma":["s","Instalar suma"],"learn_more":["s","Más información"],"logout":["s","Cerrar sesión"],"mysuma_website_link":["m","[www.mysuma.org](https://www.mysuma.org 'mysuma.org inicio')"],"next":["s","Siguiente"],"next_sym":["s","›"],"okay_ex":["s","¡De acuerdo!"],"open_app":["s","Abrir aplicación"],"pagination_next":["s","Siguiente ›"],"pagination_prev":["s","‹ Previo"],"privacy_policy":["s","Política de Privacidad"],"reference_id":["s","ID de referencia"],"scooter_cost":["s","@% para empezar, y luego @%/min + impuestos",{"k":"startCost","f":"sumaCurrency"},{"k":"costPerMinute","f":"sumaCurrency"}],"suma_help_email":["m","[apphelp@mysuma.org](mailto:apphelp@mysuma.org 'correo electrónico de ayuda de suma')"],"suma_help_number":["m","[971-351-7862](tel:971-351-7862)"],"terms_of_use":["s","Términos de Uso"],"translate_to_english":["s","Translate to English"],"translate_to_spanish":["s","Traducir al Español"],"view_all":["s","Ver todos"],"welcome_to_suma":["s","¡Bienvenido a Suma!"],"whats_this":["s","¿Qué es esto?"]},"contact_list":{"choose_language":["s","¡Seleccione un idioma preferido para continuar con sus ahorros!"],"labels":{"friends_family":["s","Amigos/Familia"],"local_community":["s","Grupo de la comunidad"],"mysuma_website":["s","MySuma sitio"],"other":["s","Otro"],"suma_event":["s","Evento de suma"],"suma_staff":["s","Personal de suma"]},"referral_label":["s","¿Como te enteraste de suma?"],"sign_up_again":["s","Regístrese de nuevo"],"signup_intro":["s","Complete los espacios abajo para unirse a nuestra lista de contactos y lo actualizaremos sobre todos nuestros proyectos y las próximas oportunidades de ahorro de dinero. ¡Estamos tan emocionados!"],"signup_title":["s","Unirse a suma"],"success_intro":["mp","¡Gracias por registrarte y bienvenido a la app suma!\n\n¡Ya estás inscrito en nuestra comunidad! Lo informaremos sobre todos los proyectos futuros, las oportunidades de ahorro de dinero y cómo completar el proceso de inscripción en la aplicación. Para obtener más información sobre suma, visite nuestro sitio web en @%, o visítenos en nuestras redes sociales usando el enlace abajo. ¡Nos hablamos pronto!",{"t":"strings:common:mysuma_website_link"}]},"dashboard":{"about_suma":["s","Acerca de Suma"],"availableCash":["s","Efectivo disponible: @%",{"k":"balance","f":"sumaCurrency"}],"check_ongoing_trip":["s","Tienes un viaje en curso. Asegúrate de finalizarlo al terminar el viaje."],"check_ongoing_trip_button":["s","Ver Mi Viaje"],"claim_orders":["s","Tu pedido está listo para ser recogido."],"intro":["s","Ayudando a nuestra comunidad a ahorrar dinero en las cosas que compra con más frecuencia - todo en un solo lugar."],"program_ends":["s","Programa termina @%",{"k":"date"}]},"errors":{"auth_conflict":["s","Ya tienes una sesión activa, debes cerrar esa sesión primero."],"card_contact_bank":["s","Tu tarjeta fue rechazada. Puede volver a intentarlo, pero si eso no funciona, deberá comunicarse con su emisor para resolver la falla o usar una tarjeta diferente."],"card_expired":["s","Su tarjeta ha caducado. Agregue una nueva tarjeta y podrá eliminar esta."],"card_generic":["s","No pudimos cargar su tarjeta, pero no tenemos mucha más información de por qué. Puede volver a intentarlo, utilizar una tarjeta diferente o ponerse en contacto con su banco."],"card_insufficient_funds":["s","Su tarjeta no tiene suficientes fondos disponibles. Vuelva a intentarlo más tarde o utilice una tarjeta diferente."],"card_invalid_cvc":["s","Tu CVC es incorrecto. Vuelva a introducirlo e inténtelo de nuevo."],"card_invalid_expiry":["s","La fecha de vencimiento de su tarjeta es incorrecta. Vuelva a introducirlo e inténtelo de nuevo."],"card_invalid_number":["s","Su número de tarjeta es incorrecto. Vuelva a introducirlo e inténtelo de nuevo."],"card_permanent_failure":["s","Parece que su tarjeta ya no es válida. Agregue una nueva tarjeta y podrá eliminar esta."],"card_try_again":["s","Nuestro procesador de tarjeta está teniendo algunos problemas. Debería pasar si lo intentas de nuevo."],"checkout_fatal_error":["s","Lo sentimos, algo salió mal al intentar comprobarlo. Por favor, regrese y vuelva a intentarlo."],"checkout_no_items":["s","No hay artículos en su carrito, o ninguno de sus artículos está disponible. Por favor, regrese y vuelva a intentarlo."],"conflicting_bank_account":["s","Tienes una cuenta bancaria con ese número de cuenta y clave bancaria ya. Intenta de nuevo, o entre los datos de otra cuenta."],"conflicting_stripe_card":["s","Tienes una tarjeta con esa información ya. Intenta de nuevo, o entre los datos de otra cuenta."],"disambiguation_required":["s","@%",{"t":"strings:errors:unhandled_error"}],"eligibility_violation":["s","@%",{"t":"strings:errors:unhandled_error"}],"forbidden":["s","Acceso a estos recursos está restringido."],"impossible_phone_number":["s","Este número de teléfono no es valido."],"invalid_credentials":["s","Lo sentimos, estos datos están erroneos."],"invalid_order_quantity":["s","Lo sentimos, uno o más de los artículos de su pedido no están disponibles. Vuelve a tu carrito e inténtalo de nuevo."],"invalid_otp":["s","Este código no es válido. Vuelve a intentar, o pedir un nuevo código."],"invalid_permissions":["s","Opción inválida"],"mobility_coming_soon":["mp","¡Gracias por tu interés! Actualmente estamos solucionando un problema con nuestra integración de patinetas eléctricas. Nuestro objetivo es recuperarlo en breve.\n\nEnvíenos un correo electrónico si tiene alguna pregunta, por favor."],"network_error":["s","Un error de conectividad en la red ocurrió. Conéctate al internet y inténta de nuevo."],"no_active_trip":["s","No hay un viajes activos."],"ongoing_trip":["s","Debe finalizar el viaje que está en curso antes de iniciar un nuevo viaje."],"product_unavailable":["s","Lo sentimos, este producto ya no está disponible."],"rate_not_found":["s","@%",{"t":"strings:errors:unhandled_error"}],"read_only_technical_error":["m","@%",{"t":"strings:errors:read_only_unverified"}],"read_only_unverified":["s","Su cuenta está limitada mientras verificamos su información. ¡Te haremos saber cuando esté listo!"],"read_only_zero_balance":["s","Lo sentimos, no puedes usar esto hasta que hayas agregado algo de dinero a tu cuenta."],"required":["s","Respuesta requerida"],"resource_not_found":["s","@%",{"t":"strings:errors:forbidden"}],"role_check":["s","@%",{"t":"strings:errors:invalid_permissions"}],"something_went_wrong_body":["s","Lo sentimos, algo salió mal. Vuelve a la página principal para intentar de nuevo."],"something_went_wrong_title":["s","Algo salió mal."],"too_many_requests":["s","Ha realizado demasiadas solicitudes en un corto período de tiempo. Por favor inténtelo de nuevo después de @% segundos.",{"k":"seconds"}],"unauthenticated":["s","Debe iniciar una sesión para proceder."],"unhandled_error":["s","Lo sentimos, algo salió mal. Intenta de nuevo."],"validation_error":["s","Algunos campos de texto están en blanco, introducza los datos requeridos e intente de nuevo."],"vehicle_not_found":["s","No se encuentra un vehículo en este lugar."]},"food":{"add_card":["s","Añadir tarjeta de débito/crédito"],"add_to_cart":["s","Añadir al carrito"],"address":["s","Dirección"],"available_offerings":["s","Ofertas disponibles"],"available_until":["s","Hasta @%",{"k":"date"}],"cart_available_credit":["m","Crédito disponible: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_cash_cost":["m","Costo para usted: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_full":["s","Carrito lleno"],"cart_title":["s","Carrito de Compra"],"charge_to":["s","Cargar a @%",{"k":"instrumentName"}],"checkout":["s","Finalizar"],"checkout_items_title":["s","Mi carrito"],"claimed_on":["s","Reclamado en @%",{"k":"fulfilledAt"}],"claiming_instructions":["m","Cuando llegue a \"@%\", permita que un miembro le ayude a \"Presionar y Sostener\" para reclamar su pedido. **No presione este botón hasta que esté en el mercado.**",{"k":"offeringDescription"}],"confirmation_help":["m","Si tiene preguntas o inquietudes, envíenos un correo electrónico a @%",{"t":"strings:common:suma_help_email"}],"confirmation_message":["s","Responda a su mensaje de confirmación o comuníquese si tiene alguna pregunta."],"confirmation_my_order":["s","Mi pedido"],"confirmation_subtitle":["s","Recibirás un mensaje de texto de confirmación."],"confirmation_title":["s","¡Su pedido ha sido realizado!"],"confirmation_transportation_subtitle":["s","Ver nuestras opciones de transporte."],"confirmation_transportation_title":["s","¿Busca transporte?"],"continue_to_checkout":["s","Continúe para finalizar"],"current_offerings":["s","Ofertas presentes"],"details_header":["s","Detalles"],"discount_applied":["s","@% descuento de @%",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"}],"edit_quantities":["s","Editar cantidades"],"ending_in":["s","terminan en @%",{"k":"last4"}],"from_vendor":["s","De @%",{"k":"vendorName"}],"insufficient_funds_alert":["s","Esta cuenta no tiene fondos suficientes para completar este pedido."],"intro":["s","Suma quiere facilitarle el ahorro de dinero en alimentos, ya sea que compre en una gran cadena, en la tienda de la esquina o en un mercado orgánico."],"item_subtotal":["s","Subtotal del artículo"],"items_title":["s","Artículos"],"labels":{"chargeable_total":["s","Para ser cargado"],"fees_and_taxes":["s","Tarifas @%, Impuestos @%",{"k":"fees","f":"sumaCurrency"},{"k":"taxes","f":"sumaCurrency"}],"handling":["s","Manejo"],"items_count":["s","Artículos (@%)",{"k":"itemCount"}],"price":["s","Precio: @%",{"k":"price","f":"sumaCurrency"}],"tax":["s","Impuestos"],"total":["s","Total: @%",{"k":"total","f":"sumaCurrency"}],"total_before_tax":["s","Total antes de impuesto"],"total_savings":["s","Ahorro total"]},"link_new_payment":["s","Vincule un nuevo método de pago para pagar este pedido."],"link_new_payment_or":["s","O vincula un nuevo método de pago para pagar este pedido."],"mobility_options":["s","Opciones de movilidad"],"no_cart_items":["s","Este carrito no tiene ningún artículo."],"no_orders":["s","Aún no ha realizado ningún pedido."],"no_orders_to_claim":["s","No hay pedidos para reclamar."],"no_products":["s","No se encontraron productos, esta oferta podría estar cerrada."],"no_unclaimed_orders":["s","Ver tu historial de pedidos."],"order_available_for_pickup":["s","Disponible para recoger @%",{"k":"date"}],"order_button":["s","Realizar pedido"],"order_claimed":["s","Pedido @% reclamodo",{"k":"serial"}],"order_date":["s","Realizado @%",{"k":"date"}],"order_for_claimed_on":["s","Reclamado en @% el @%",{"k":"offeringDescription"},{"k":"fulfilledAt"}],"order_history_title":["s","Historial de pedidos"],"order_serial":["s","Pedido @%",{"k":"serial"}],"order_summary_title":["s","Resumen del pedido"],"out_of_stock":["s","Fuera de stock"],"payment_title":["s","¿Cómo está pagando?"],"press_and_hold":["mp","Presionar\n\n y\n\n sostener"],"price":["s","precio"],"price_times_quantity":["s","@% x @%",{"k":"price","f":"sumaCurrency"},{"k":"quantity"}],"quantity":["s","Cantidad: @%",{"k":"quantity"}],"remove_from_cart":["s","Eliminar del carrito"],"return_to_dashboard_alert":["s","Por favor regrese al inicio para agregar más fondos o edite las cantidades del carrito para reducir el costo."],"save_payment":["s","Guardar para pedidos futuros"],"shop":["s","Comprar"],"sold_out":["s","Todo vendido"],"subsidy_and_discount_applied":["s","@% descuento de @% y @% suma subsidio crédito",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"},{"k":"subsidyAmount","f":"sumaCurrency"}],"subsidy_applied":["s","@% suma subsidio crédito",{"k":"subsidyAmount","f":"sumaCurrency"}],"subtotal_items":["m","Subtotal (@% artículos): **@% **",{"k":"totalItems"},{"k":"customerCost","f":"sumaCurrency"}],"terms_of_use_agreement":["m","Al hacer clic en \"realizar pedido\" usted acepta los [Términos de uso](/terms-of-use__blank__) de suma."],"title":["s","Comida"],"total":["s","@%",{"k":"total","f":"sumaCurrency"}],"unclaimed_order_history_intro":["s","Los pedidos que están listos para reclamar aparecerán abajo."],"unclaimed_order_history_title":["s","Reclamar pedidos"],"view_order":["s","Ver Pedido"]},"forms":{"account_number":["s","Número de Cuenta"],"add_amount":["s","Añadir @%",{"k":"amount"}],"add_funds":["s","Añadir Fondos"],"address1":["s","Dirección Postal"],"address2":["s","Unidad o Número de Apartamento"],"amount":["s","Monto"],"bank_account_caption":["m","El número de tu cuenta bancaria. Puede encontrar esta información en el portal de banco en línea, o consultando @%.",{"t":"strings:forms:paper_check_link"}],"bank_account_type":["s","Tipo de cuenta"],"bank_account_type_caption":["s","Elegir el tipo de cuenta. Si no estás seguro, elige Cheques"],"card_number":["s","Número de tarjeta"],"checking":["s","Cheques"],"choose_organization":["s","Elegir Organización Afiliada..."],"choose_state":["s","Elegir Estado..."],"city":["s","Ciudad"],"confirm_account_number":["s","Confirmar el Número de Cuenta"],"confirm_account_number_caption":["s","Vuelve a introducir tu Número de Cuenta para confirmar."],"continue":["s","Continuar"],"get_started":["s","Comenzar"],"get_started_intro":["s","Para crear una nueva cuenta o iniciar una sesión con una cuenta existente, ingrese su número de teléfono. Le enviaremos un código de verificación para confirmar el número telefónico."],"invalid_bank_account_number":["s","Ingresa el número de tu cuenta bancaria."],"invalid_bank_account_number_confirm":["s","Debe coincidir con el number de cuenta de arriba."],"invalid_card_cvc":["s","El código de seguridad es un número de 3 o 4 dígitos que se encuentra en el reverso de la tarjeta."],"invalid_card_expiry":["m","La fecha de caducidad debe escribirse Mes Mes / Año Año, como '10/23'."],"invalid_card_number":["s","Por favor verifique el número de cuenta."],"invalid_field":["s","Respuesta invalida"],"invalid_max_amount":["s","Su respuesta debe ser @% o menos.",{"k":"constraint","f":"sumaCurrency"}],"invalid_max_length":["s","Su respuesta no debe exceder @% caracteres.",{"k":"constraint"}],"invalid_min":["s","Su respuesta debe ser @% o mayor.",{"k":"constraint"}],"invalid_min_amount":["s","Su respuesta debe ser @% o más.",{"k":"constraint","f":"sumaCurrency"}],"invalid_min_length":["s","Su respuesta debe ser @% caracteres o más.",{"k":"constraint"}],"invalid_required":["s","Respuesta requerida"],"invalid_routing_number":["s","Ingrese el código de ruta de 9 dígitos de su cuenta bancaria."],"name":["s","Nombre"],"nickname":["s","Apodo"],"nickname_caption":["s","El nombre utilizado para referirse a la cuenta."],"option_not_listed":["s","No esta en la lista"],"option_unaffiliated":["s","Sin afiliación"],"organization_helper_text":["s","¿Estás conectado con uno de nuestros socios en esta lista?"],"paper_check_link":["m","[cómo encontrar los datos bancarios en un cheque de papel](##check-details 'Detalles de cheque de papel')"],"phone":["s","Teléfono"],"routing_caption":["m","Ingrese el número de ruta de 9 dígitos de su cuenta bancaria. Puede encontrar esta información en el portal de banco en línea, o consultando @%.",{"t":"strings:forms:paper_check_link"}],"routing_number":["s","Código de Identificación"],"save":["s","Salvar"],"savings":["s","Ahorros"],"state":["s","Estado"],"submit":["s","Entregar"],"zip":["s","Código Postal"]},"ledgerusage":{"commerce_order":["s","@%. Ahorraste @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"credit":["s","@%",{"k":"memo"}],"funding":["s","Transferencia de @%",{"k":"accountLabel"}],"misc":["s","Tarifa de Suma"],"mobility_trip":["s","@% viaje. Ahorraste @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"refund":["s","@%",{"k":"memo"}],"unknown":["s","Tarifa de Suma no clasificada"]},"mobility":{"do_not_park_intro":["s","No se estacione en esta zona. Podemos tomar medidas por violaciones repetidas."],"do_not_park_title":["s","Por favor no se estacione aquí."],"do_not_ride_intro":["s","No conduzca en esta zona. Podemos tomar medidas por violaciones repetidas."],"do_not_ride_title":["s","Por favor no conduzca aquí."],"end_trip":["s","Finalizar el viaje"],"intro":["mp","Viaja con más seguridad y mejores precios.\n\nSuma está asociado con Ride Connection para ofrecer opciones de transporte para personas mayores y con discapacidades. Llame al [503-226-0700](tel:503-226-0700) o [haga clic aquí](https://rideconnection.org/services__blank__) para ver sus servicios.\n\nNos asociamos con Lime para ofrecer viajes gratuitos a los usuarios de suma este verano. Los viajes en Lime son una característica nueva y agradecemos sus comentarios por texto al @% o correo electrónico a @%. Para comenzar, haga clic en una patineta eléctrica abajo o obtenga más información en nuestras @%.",{"t":"strings:common:suma_help_number"},{"t":"strings:common:suma_help_email"},{"t":"strings:common:faq"}],"locate_me":["s","Localizarme"],"location_permissions_denied":["s","Se niegan los permisos de ubicación en el mapa. Suma intentará encontrar la ubicación más cercana. Por favor, permita permisos de ubicación del navegador para suma."],"location_permissions_denied_instructions":["m","Se niegan los permisos de ubicación en el mapa. Suma intentará encontrar la ubicación más cercana. [Haga clic aquí](@%) para obtener instrucciones sobre cómo permitir el permiso de ubicación para suma.",{"k":"instructionsUrl"}],"mobility_start_and_per_minute":["s","@% para iniciar, @% por minuto",{"k":"surchargeCents","f":"sumaCurrency"},{"k":"unitCents","f":"sumaCurrency"}],"relink_private_account_with_vendor":["m","Si no ha iniciado sesión, puede [volver a vincular su cuenta de @%](/private-accounts).",{"k":"vendorName"}],"reserve_scooter":["s","Reservar una patineta eléctrica"],"setup_private_account_with_vendor":["s","Para comenzar, configuraremos una cuenta privada para usted con @%.",{"k":"vendorName"}],"title":["s","Servicios de movilidad"],"trip_ended":["mp","Tu viaje con @% ah terminado.\n\nUsamos @% de su saldo de Suma.\n\nSalvaste @%.",{"k":"vendor"},{"k":"totalCost","f":"sumaCurrency"},{"k":"discountAmount","f":"sumaCurrency"}],"trip_started_at":["s","Viaje iniciado a @%.",{"k":"at"}],"zoom_in":["s","Acercar"],"zoom_out":["s","Alejar"]},"onboarding":{"enroll_intro":["mp","¡Bienvenido a Suma! Para comenzar, necesitaremos verificar su identidad. Esto asegura que sea elegible para los programas correctos, como con nuestros socios de vivienda asequible.\n\n**Nunca compartiremos esta información más que para verificar su identidad.**"],"enroll_title":["s","Registrarse en Suma"],"finish":["mp","Gracias! Nuestro equipo verificará las cosas y se pondrá en contacto con cualquier pregunta, o tan pronto como esté verificado.\n\nLa verificación generalmente ocurre dentro de 1-2 días hábiles.\n\nMientras tanto, puede apprender más información sobre la aplicación y ver qué hay disponible."],"finish_onboarded":["s","Todo se ve bien. ¡Estás listo para comenzar a usar Suma!"],"food_text":["s","Suma colabora con las tiendas de comestibles donde compras ya para ofrecer los descuentos y beneficios de compras consolidadas"],"food_title":["s","Alimentos frescos"],"mobility_text":["s","Transporte ecologico a tarifas reducidas en patinetas y bicicletas eléctricas"],"mobility_title":["s","Movilidad limpia"],"utilities_text":["s","Acceder a proyectos cercanos de energía solar comunitaria para energia economica, ecologica y renovable"],"utilities_title":["s","Energia renovable"]},"otp":{"code_resent":["s","Nuevo código enviado a @%.",{"k":"phone"}],"did_not_receive":["s","¿No recibiste un mensaje de texto?"],"enter_code":["s","Introduzca el código"],"enter_code_sent_to":["s","Introducir el código que enviamos"],"send_new_code":["s","Enviar un nuevo código"],"verify":["s","Verificar"],"verify_code":["s","Verificar el código"]},"payments":{"account_submission_statement":["s","Después de enviar su información, uno de nuestros especialistas con experiencia de miembros se pondrá en contacto para confirmar la cuenta."],"add_another_card":["s","Agregar otra tarjeta"],"add_card":["s","Agregar su tarjeta"],"add_funds":["s","Añadir fondos"],"add_funds_intro":["s","Añadir fondos a tu cuenta de Suma para comprar productos y servicios a precio de descuento con la app."],"added_card":["s","Tarjeta vinculada"],"added_card_successful":["s","Su tarjeta se ha vinculado con éxito a Suma. Ahora puede usarlo para agregar fondos a sus cuentas."],"bank_accounts":["s","Cuentas Bancarias"],"cards":["s","Tarjetas"],"check_details_subtitle":["s","Al calce de un cheque a tres conjuntos numericos. El primero es el número de ruta de 9 dígitos. El segundo es tu número de cuenta. El tercero, que puedes ignorar, es el número del cheque."],"check_details_title":["s","¿Cuál es mi número de cuenta?"],"first_page":["s","‹ Primera Página"],"funds":["s","Fondos"],"ledger_balance":["s","Fondos en Suma"],"ledger_label":["s","@% - @%",{"k":"amount","f":"sumaCurrency"},{"k":"label"}],"ledger_transactions":["s","Historial de transacciones"],"ledgers_intro":["s","Puedes usar tus cuentas de suma para comprar bienes y servicios a través de la app, como una cuenta bancaria que se utiliza para suma. Se encuentran a continuación el saldo disponible y un historial de los créditos y débitos de tu cuenta."],"lifetime_savings":["s","Ahorros de Suma"],"link_another_bank_account":["s","Vincular otra cuenta bancaria"],"link_bank_account":["s","Vincular una cuenta bancaria"],"linked_bank_account":["s","Cuenta bancaria vinculada"],"linked_bank_account_successful":["mp","Su cuenta bancaria se ha vinculado con éxito a Suma. Dentro de uno o dos días, uno de nuestros especialistas con experiencia de miembros se pondrá en contacto para confirmar la cuenta.\n\nCuando la cuenta este confirmada, podrá agregar fondos."],"no_bank_accounts_warning":["s","No tienes una cuenta bancaria vinculada."],"no_cards_warning":["s","No tienes ninguna tarjeta de crédito o débito vinculada."],"no_transaction_history":["s","No has añadido ni gastado fondos de tu cuenta."],"payment_account_pending":["s","Pendiente"],"payment_account_verified":["s","Verificado"],"payment_intro":{"intro":["m","Para añadir fondos a tu cuenta, se requiere por lo menos una *fuente de financiamiento*. Por lo regular, es una cuenta bancaria, pero pueda haber otras opciones abajo."],"privacy_statement":["m","Su información financiera está protegida mediante **cifrado de nivel bancario** y **nunca se compartirá sin su consentimiento**. Consulte la [Política de privacidad de Suma](@%) para más información sobre cómo usamos y protegemos su información financiera.",{"k":"externalLinks.privacyPolicy"}]},"payment_methods":["s","Métodos de Pago"],"payment_other_sources":["s","Otras Fuentes"],"payment_submission_statement_bank_account":["s","Una vez que realices tu pago, puedes usar el dinero de inmediato. El retiro será registrado a tu cuenta en 2 a 3 días hábiles."],"payment_submission_statement_card":["s","Suma realizará el cargo en su tarjeta cuando envíe este formulario."],"payment_support_coming":["s","Próximamente se podrá añadir fondos de fuentes adicionales, como dinero en efectivo, giro bancario o depositos por un amigo."],"payment_title":["s","Cuentas de pago"],"recent_ledger_lines":["s","Cargos y Créditos Recientes"],"sumas_privacy_policy":["s","Política de privacidad de Suma"],"total_balance":["s","Saldo Disponible"],"unlink":["s","Desvincular"],"unlink_account":["s","Desvincular esta cuenta"],"unlink_account_question":["s","¿Estás seguro de que quieres desvincular esta cuenta? Siempre lo puedes volver a añadir."],"unlink_account_question_subtitle":["s","No se cancelarán las transaciones en curso."]},"preferences":{"account_updates":{"helper_text":["s","Actualizaciones de pedidos, recibos y otros mensajes basados en las acciones que realiza en suma."],"title":["s","Actualizaciones de cuenta"]},"intro":["s","Administrar los tipos de comunicaciones que recibes de suma."],"marketing":{"helper_text":["s","Comunicaciones del equipo suma. Puede cancelar las suscripciónes respondiendo STOP a cualquier mensaje de mercadotecnia."],"title":["s","Mercadotecnia"]},"security":{"helper_text":["s","Para iniciar sesión y otros mensajes basados en seguridad. Todos los miembros de suma reciben estos mensajes."],"title":["s","Seguridad"]},"success":["s","Tus preferencias se cambiaron correctamente."],"title":["s","Preferencias"]},"private_accounts":{"auth_error":["s","Perdón, algo salió mal. Puede intentarlo nuevamente o enviar un correo electrónico a apphelp@mysuma.org."],"create_account":["s","Crear una cuenta"],"initial":["s","Iniciar aplicación"],"intro":["s","Se utiliza para ocultar su correo electrónico y número de teléfono de los proveedores que utiliza a través de la plataforma suma. Siga las instrucciones de los proveedores con los que desea crear una cuenta privada."],"link_app":["s","Vincular App"],"no_private_accounts":["s","Parece que no hay proveedores configurados para cuentas privadas. Póngase en contacto con su administrador para obtener más información."],"polling":["s","Procesando..."],"polling_detail":["s","Esto puede tardar hasta un minuto."],"recent_messages_from_vendor":["s","Mensajes recientes de @%",{"k":"vendorName"}],"relink_app":["s","Volver a Vincular"],"success_instructions":["s","Le enviamos un mensaje de texto, haga clic en el enlace del texto para iniciar esta app."],"vendor_private_accounts":["s","Cuentas Privadas de @%",{"k":"vendorName"}]},"titles":{"contact_list":["s","Lista de contactos"],"contact_list_finish":["s","Lista de contactos completo"],"contact_list_signup":["s","Registro a lista de contactos"],"dashboard":["s","Tablero"],"funding":["s","Financiamiento"],"home":["s","Inicio"],"ledgers_overview":["s","Estado de Cuentas"],"messaging_preferences":["s","Preferencias de Mensajería"],"mobility":["s","Movilidad"],"onboarding":["s","Integración"],"onboarding_finish":["s","Finalizar la integración"],"onboarding_signup":["s","Registro de incorporación"],"order":["s","Pedido"],"order_history":["s","Historial De Pedidos"],"otp":["s","Contraseña de un solo uso"],"preferences":["s","Preferencias"],"private_accounts":["s","Cuentas Privadas"],"start":["s","Comenzar"],"suma_app":["s","App de Suma"],"terms_of_use_and_sale":["s","Términos de Uso"]},"utilities":{"intro":["mp","Suma quiere facilitarle el ahorro de dinero en sus facturas de servicios públicos y hacer que nuestras comunidades sean más resilientes frente al clima extremo y el cambio climático.\n\nRegístrese en nuestra lista de espera gratuita para ayudarnos a construir una comunidad de miembros y demostrar que todos merecen energía limpia y asequible."],"page_title":["s","Servicios públicos"],"title":["s","Utilidades"]}} \ No newline at end of file +{"alts":{"check_detail_example":["s","Cheque bancario que muestra la ubicación del número de ruta en la esquina inferior izquierda, el número de cuenta en la parte inferior central y el número de cheque en la parte inferior derecha"],"local_food_stand":["s","Puesto de mercado que muestra frutas y verduras frescas"],"person_riding_scooter":["s","Persona con casco de bicicleta azul y mascarilla rosa conduciendo un patinete eléctrico por una calle de un solo sentido"],"solar_panels":["s","Paneles solares en un campo de flores violetas"],"suma_logo":["s","Logo de suma que muestra una mazorca de maíz encima de una moneda, todo dentro de un círculo y sombreado en dorado"]},"auth":{"agree_aria_label":["s","Aceptar los terminos"],"sign_up_agreement":["m","Acepto y estoy de acuerdo con suma's [Términos de uso](/términos-de-uso) y [Política de privacidad](/privacy-policy). También acepto recibir SMS y/o MMS periódicos de suma. Se pueden aplicar tarifas de mensajes y datos. La frecuencia de los mensajes puede variar según su actividad y configuración. Envíe HELP para obtener más información. Envíe STOP para dejar de recibir mensajes."]},"common":{"add_to_homescreen":["s","Agregar a pantalla principal"],"add_to_homescreen_intro":["s","Instale suma en la pantalla principal de su teléfono para una experiencia optimizada."],"app":["s","Aplicación"],"app_name":["s","Suma"],"back":["s","Volver"],"back_sym":["s","‹"],"cancel":["s","Cancelar"],"close":["s","Cerrar"],"contact_us":["s","Contáctanos"],"copied_to_clipboard":["s","Copiada al portapapeles."],"error":["s","Error"],"faq":["m","[Preguntas Frecuentes](https://mysuma.org/transportation-faq-en/__blank__ 'preguntas frecuentes')"],"forward_sym":["s","›"],"go_home":["s","Volver a la página principal"],"go_to_dashboard":["s","Ir Al Inicio"],"help":["s","Ayuda"],"in_english":["s","English"],"in_spanish":["s","En Español"],"install_suma":["s","Instalar suma"],"learn_more":["s","Más información"],"logout":["s","Cerrar sesión"],"mysuma_website_link":["m","[www.mysuma.org](https://www.mysuma.org 'mysuma.org inicio')"],"next":["s","Siguiente"],"next_sym":["s","›"],"okay_ex":["s","¡De acuerdo!"],"open_app":["s","Abrir aplicación"],"pagination_next":["s","Siguiente ›"],"pagination_prev":["s","‹ Previo"],"privacy_policy":["s","Política de Privacidad"],"reference_id":["s","ID de referencia"],"scooter_cost":["s","@% para empezar, y luego @%/min + impuestos",{"k":"startCost","f":"sumaCurrency"},{"k":"costPerMinute","f":"sumaCurrency"}],"suma_help_email":["m","[apphelp@mysuma.org](mailto:apphelp@mysuma.org 'correo electrónico de ayuda de suma')"],"suma_help_number":["m","[971-351-7862](tel:971-351-7862)"],"terms_of_use":["s","Términos de Uso"],"translate_to_english":["s","Translate to English"],"translate_to_spanish":["s","Traducir al Español"],"view_all":["s","Ver todos"],"welcome_to_suma":["s","¡Bienvenido a Suma!"],"whats_this":["s","¿Qué es esto?"]},"contact_list":{"choose_language":["s","¡Seleccione un idioma preferido para continuar con sus ahorros!"],"labels":{"friends_family":["s","Amigos/Familia"],"local_community":["s","Grupo de la comunidad"],"mysuma_website":["s","MySuma sitio"],"other":["s","Otro"],"suma_event":["s","Evento de suma"],"suma_staff":["s","Personal de suma"]},"referral_label":["s","¿Como te enteraste de suma?"],"sign_up_again":["s","Regístrese de nuevo"],"signup_intro":["s","Complete los espacios abajo para unirse a nuestra lista de contactos y lo actualizaremos sobre todos nuestros proyectos y las próximas oportunidades de ahorro de dinero. ¡Estamos tan emocionados!"],"signup_title":["s","Unirse a suma"],"success_intro":["mp","¡Gracias por registrarte y bienvenido a la app suma!\n\n¡Ya estás inscrito en nuestra comunidad! Lo informaremos sobre todos los proyectos futuros, las oportunidades de ahorro de dinero y cómo completar el proceso de inscripción en la aplicación. Para obtener más información sobre suma, visite nuestro sitio web en @%, o visítenos en nuestras redes sociales usando el enlace abajo. ¡Nos hablamos pronto!",{"t":"strings:common:mysuma_website_link"}]},"dashboard":{"about_suma":["s","Acerca de Suma"],"availableCash":["s","Efectivo disponible: @%",{"k":"balance","f":"sumaCurrency"}],"check_ongoing_trip":["s","Tienes un viaje en curso. Asegúrate de finalizarlo al terminar el viaje."],"check_ongoing_trip_button":["s","Ver Mi Viaje"],"claim_orders":["s","Tu pedido está listo para ser recogido."],"intro":["s","Ayudando a nuestra comunidad a ahorrar dinero en las cosas que compra con más frecuencia - todo en un solo lugar."],"program_ends":["s","Programa termina @%",{"k":"date"}]},"errors":{"auth_conflict":["s","Ya tienes una sesión activa, debes cerrar esa sesión primero."],"card_contact_bank":["s","Tu tarjeta fue rechazada. Puede volver a intentarlo, pero si eso no funciona, deberá comunicarse con su emisor para resolver la falla o usar una tarjeta diferente."],"card_expired":["s","Su tarjeta ha caducado. Agregue una nueva tarjeta y podrá eliminar esta."],"card_generic":["s","No pudimos cargar su tarjeta, pero no tenemos mucha más información de por qué. Puede volver a intentarlo, utilizar una tarjeta diferente o ponerse en contacto con su banco."],"card_insufficient_funds":["s","Su tarjeta no tiene suficientes fondos disponibles. Vuelva a intentarlo más tarde o utilice una tarjeta diferente."],"card_invalid_cvc":["s","Tu CVC es incorrecto. Vuelva a introducirlo e inténtelo de nuevo."],"card_invalid_expiry":["s","La fecha de vencimiento de su tarjeta es incorrecta. Vuelva a introducirlo e inténtelo de nuevo."],"card_invalid_number":["s","Su número de tarjeta es incorrecto. Vuelva a introducirlo e inténtelo de nuevo."],"card_permanent_failure":["s","Parece que su tarjeta ya no es válida. Agregue una nueva tarjeta y podrá eliminar esta."],"card_try_again":["s","Nuestro procesador de tarjeta está teniendo algunos problemas. Debería pasar si lo intentas de nuevo."],"checkout_fatal_error":["s","Lo sentimos, algo salió mal al intentar comprobarlo. Por favor, regrese y vuelva a intentarlo."],"checkout_no_items":["s","No hay artículos en su carrito, o ninguno de sus artículos está disponible. Por favor, regrese y vuelva a intentarlo."],"conflicting_bank_account":["s","Tienes una cuenta bancaria con ese número de cuenta y clave bancaria ya. Intenta de nuevo, o entre los datos de otra cuenta."],"conflicting_stripe_card":["s","Tienes una tarjeta con esa información ya. Intenta de nuevo, o entre los datos de otra cuenta."],"disambiguation_required":["s","@%",{"t":"strings:errors:unhandled_error"}],"eligibility_violation":["s","@%",{"t":"strings:errors:unhandled_error"}],"forbidden":["s","Acceso a estos recursos está restringido."],"impossible_phone_number":["s","Este número de teléfono no es valido."],"invalid_credentials":["s","Lo sentimos, estos datos están erroneos."],"invalid_order_quantity":["s","Lo sentimos, uno o más de los artículos de su pedido no están disponibles. Vuelve a tu carrito e inténtalo de nuevo."],"invalid_otp":["s","Este código no es válido. Vuelve a intentar, o pedir un nuevo código."],"invalid_permissions":["s","Opción inválida"],"mobility_coming_soon":["mp","¡Gracias por tu interés! Actualmente estamos solucionando un problema con nuestra integración de patinetas eléctricas. Nuestro objetivo es recuperarlo en breve.\n\nEnvíenos un correo electrónico si tiene alguna pregunta, por favor."],"network_error":["s","Un error de conectividad en la red ocurrió. Conéctate al internet y inténta de nuevo."],"no_active_trip":["s","No hay un viajes activos."],"ongoing_trip":["s","Debe finalizar el viaje que está en curso antes de iniciar un nuevo viaje."],"product_unavailable":["s","Lo sentimos, este producto ya no está disponible."],"rate_not_found":["s","@%",{"t":"strings:errors:unhandled_error"}],"read_only_technical_error":["m","@%",{"t":"strings:errors:read_only_unverified"}],"read_only_unverified":["s","Su cuenta está limitada mientras verificamos su información. ¡Te haremos saber cuando esté listo!"],"read_only_zero_balance":["s","Lo sentimos, no puedes usar esto hasta que hayas agregado algo de dinero a tu cuenta."],"required":["s","Respuesta requerida"],"resource_not_found":["s","@%",{"t":"strings:errors:forbidden"}],"role_check":["s","@%",{"t":"strings:errors:invalid_permissions"}],"something_went_wrong_body":["s","Lo sentimos, algo salió mal. Vuelve a la página principal para intentar de nuevo."],"something_went_wrong_title":["s","Algo salió mal."],"too_many_requests":["s","Ha realizado demasiadas solicitudes en un corto período de tiempo. Por favor inténtelo de nuevo después de @% segundos.",{"k":"seconds"}],"unauthenticated":["s","Debe iniciar una sesión para proceder."],"unhandled_error":["s","Lo sentimos, algo salió mal. Intenta de nuevo."],"validation_error":["s","Algunos campos de texto están en blanco, introducza los datos requeridos e intente de nuevo."],"vehicle_not_found":["s","No se encuentra un vehículo en este lugar."]},"food":{"add_card":["s","Añadir tarjeta de débito/crédito"],"add_to_cart":["s","Añadir al carrito"],"address":["s","Dirección"],"available_offerings":["s","Ofertas disponibles"],"available_until":["s","Hasta @%",{"k":"date"}],"cart_available_credit":["m","Crédito disponible: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_cash_cost":["m","Costo para usted: **@%**",{"k":"amount","f":"sumaCurrency"}],"cart_full":["s","Carrito lleno"],"cart_title":["s","Carrito de Compra"],"charge_to":["s","Cargar a @%",{"k":"instrumentName"}],"checkout":["s","Finalizar"],"checkout_items_title":["s","Mi carrito"],"claimed_on":["s","Reclamado en @%",{"k":"fulfilledAt"}],"claiming_instructions":["m","Cuando llegue a \"@%\", permita que un miembro le ayude a \"Presionar y Sostener\" para reclamar su pedido. **No presione este botón hasta que esté en el mercado.**",{"k":"offeringDescription"}],"confirmation_help":["m","Si tiene preguntas o inquietudes, envíenos un correo electrónico a @%",{"t":"strings:common:suma_help_email"}],"confirmation_message":["s","Responda a su mensaje de confirmación o comuníquese si tiene alguna pregunta."],"confirmation_my_order":["s","Mi pedido"],"confirmation_subtitle":["s","Recibirás un mensaje de texto de confirmación."],"confirmation_title":["s","¡Su pedido ha sido realizado!"],"confirmation_transportation_subtitle":["s","Ver nuestras opciones de transporte."],"confirmation_transportation_title":["s","¿Busca transporte?"],"continue_to_checkout":["s","Continúe para finalizar"],"current_offerings":["s","Ofertas presentes"],"details_header":["s","Detalles"],"discount_applied":["s","@% descuento de @%",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"}],"edit_quantities":["s","Editar cantidades"],"ending_in":["s","terminan en @%",{"k":"last4"}],"from_vendor":["s","De @%",{"k":"vendorName"}],"insufficient_funds_alert":["s","Esta cuenta no tiene fondos suficientes para completar este pedido."],"intro":["s","Suma quiere facilitarle el ahorro de dinero en alimentos, ya sea que compre en una gran cadena, en la tienda de la esquina o en un mercado orgánico."],"item_subtotal":["s","Subtotal del artículo"],"items_title":["s","Artículos"],"labels":{"chargeable_total":["s","Para ser cargado"],"fees_and_taxes":["s","Tarifas @%, Impuestos @%",{"k":"fees","f":"sumaCurrency"},{"k":"taxes","f":"sumaCurrency"}],"handling":["s","Manejo"],"items_count":["s","Artículos (@%)",{"k":"itemCount"}],"price":["s","Precio: @%",{"k":"price","f":"sumaCurrency"}],"tax":["s","Impuestos"],"total":["s","Total: @%",{"k":"total","f":"sumaCurrency"}],"total_before_tax":["s","Total antes de impuesto"],"total_savings":["s","Ahorro total"]},"link_new_payment":["s","Vincule un nuevo método de pago para pagar este pedido."],"link_new_payment_or":["s","O vincula un nuevo método de pago para pagar este pedido."],"mobility_options":["s","Opciones de movilidad"],"no_cart_items":["s","Este carrito no tiene ningún artículo."],"no_option_chosen":["s","Ninguna opción elegida"],"no_orders":["s","Aún no ha realizado ningún pedido."],"no_orders_to_claim":["s","No hay pedidos para reclamar."],"no_products":["s","No se encontraron productos, esta oferta podría estar cerrada."],"no_unclaimed_orders":["s","Ver tu historial de pedidos."],"order_available_for_pickup":["s","Disponible para recoger @%",{"k":"date"}],"order_button":["s","Realizar pedido"],"order_claimed":["s","Pedido @% reclamodo",{"k":"serial"}],"order_date":["s","Realizado @%",{"k":"date"}],"order_for_claimed_on":["s","Reclamado en @% el @%",{"k":"offeringDescription"},{"k":"fulfilledAt"}],"order_history_title":["s","Historial de pedidos"],"order_serial":["s","Pedido @%",{"k":"serial"}],"order_summary_title":["s","Resumen del pedido"],"out_of_stock":["s","Fuera de stock"],"payment_title":["s","¿Cómo está pagando?"],"press_and_hold":["mp","Presionar\n\n y\n\n sostener"],"price":["s","precio"],"price_times_quantity":["s","@% x @%",{"k":"price","f":"sumaCurrency"},{"k":"quantity"}],"quantity":["s","Cantidad: @%",{"k":"quantity"}],"remove_from_cart":["s","Eliminar del carrito"],"return_to_dashboard_alert":["s","Por favor regrese al inicio para agregar más fondos o edite las cantidades del carrito para reducir el costo."],"save_payment":["s","Guardar para pedidos futuros"],"shop":["s","Comprar"],"sold_out":["s","Todo vendido"],"subsidy_and_discount_applied":["s","@% descuento de @% y @% suma subsidio crédito",{"k":"discountAmount","f":"sumaCurrency"},{"k":"vendorName"},{"k":"subsidyAmount","f":"sumaCurrency"}],"subsidy_applied":["s","@% suma subsidio crédito",{"k":"subsidyAmount","f":"sumaCurrency"}],"subtotal_items":["m","Subtotal (@% artículos): **@% **",{"k":"totalItems"},{"k":"customerCost","f":"sumaCurrency"}],"terms_of_use_agreement":["m","Al hacer clic en \"realizar pedido\" usted acepta los [Términos de uso](/terms-of-use__blank__) de suma."],"title":["s","Comida"],"total":["s","@%",{"k":"total","f":"sumaCurrency"}],"unclaimed_order_history_intro":["s","Los pedidos que están listos para reclamar aparecerán abajo."],"unclaimed_order_history_title":["s","Reclamar pedidos"],"view_order":["s","Ver Pedido"]},"forms":{"account_number":["s","Número de Cuenta"],"add_amount":["s","Añadir @%",{"k":"amount"}],"add_funds":["s","Añadir Fondos"],"address1":["s","Dirección Postal"],"address2":["s","Unidad o Número de Apartamento"],"amount":["s","Monto"],"bank_account_caption":["m","El número de tu cuenta bancaria. Puede encontrar esta información en el portal de banco en línea, o consultando @%.",{"t":"strings:forms:paper_check_link"}],"bank_account_type":["s","Tipo de cuenta"],"bank_account_type_caption":["s","Elegir el tipo de cuenta. Si no estás seguro, elige Cheques"],"card_number":["s","Número de tarjeta"],"checking":["s","Cheques"],"choose_organization":["s","Elegir Organización Afiliada..."],"choose_state":["s","Elegir Estado..."],"city":["s","Ciudad"],"confirm_account_number":["s","Confirmar el Número de Cuenta"],"confirm_account_number_caption":["s","Vuelve a introducir tu Número de Cuenta para confirmar."],"continue":["s","Continuar"],"get_started":["s","Comenzar"],"get_started_intro":["s","Para crear una nueva cuenta o iniciar una sesión con una cuenta existente, ingrese su número de teléfono. Le enviaremos un código de verificación para confirmar el número telefónico."],"invalid_bank_account_number":["s","Ingresa el número de tu cuenta bancaria."],"invalid_bank_account_number_confirm":["s","Debe coincidir con el number de cuenta de arriba."],"invalid_card_cvc":["s","El código de seguridad es un número de 3 o 4 dígitos que se encuentra en el reverso de la tarjeta."],"invalid_card_expiry":["m","La fecha de caducidad debe escribirse Mes Mes / Año Año, como '10/23'."],"invalid_card_number":["s","Por favor verifique el número de cuenta."],"invalid_field":["s","Respuesta invalida"],"invalid_max_amount":["s","Su respuesta debe ser @% o menos.",{"k":"constraint","f":"sumaCurrency"}],"invalid_max_length":["s","Su respuesta no debe exceder @% caracteres.",{"k":"constraint"}],"invalid_min":["s","Su respuesta debe ser @% o mayor.",{"k":"constraint"}],"invalid_min_amount":["s","Su respuesta debe ser @% o más.",{"k":"constraint","f":"sumaCurrency"}],"invalid_min_length":["s","Su respuesta debe ser @% caracteres o más.",{"k":"constraint"}],"invalid_required":["s","Respuesta requerida"],"invalid_routing_number":["s","Ingrese el código de ruta de 9 dígitos de su cuenta bancaria."],"name":["s","Nombre"],"nickname":["s","Apodo"],"nickname_caption":["s","El nombre utilizado para referirse a la cuenta."],"option_not_listed":["s","No esta en la lista"],"option_unaffiliated":["s","Sin afiliación"],"organization_helper_text":["s","¿Estás conectado con uno de nuestros socios en esta lista?"],"paper_check_link":["m","[cómo encontrar los datos bancarios en un cheque de papel](##check-details 'Detalles de cheque de papel')"],"phone":["s","Teléfono"],"routing_caption":["m","Ingrese el número de ruta de 9 dígitos de su cuenta bancaria. Puede encontrar esta información en el portal de banco en línea, o consultando @%.",{"t":"strings:forms:paper_check_link"}],"routing_number":["s","Código de Identificación"],"save":["s","Salvar"],"savings":["s","Ahorros"],"state":["s","Estado"],"submit":["s","Entregar"],"zip":["s","Código Postal"]},"ledgerusage":{"commerce_order":["s","@%. Ahorraste @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"credit":["s","@%",{"k":"memo"}],"funding":["s","Transferencia de @%",{"k":"accountLabel"}],"misc":["s","Tarifa de Suma"],"mobility_trip":["s","@% viaje. Ahorraste @%.",{"k":"serviceName"},{"k":"discountAmount","f":"sumaCurrency"}],"refund":["s","@%",{"k":"memo"}],"unknown":["s","Tarifa de Suma no clasificada"]},"mobility":{"do_not_park_intro":["s","No se estacione en esta zona. Podemos tomar medidas por violaciones repetidas."],"do_not_park_title":["s","Por favor no se estacione aquí."],"do_not_ride_intro":["s","No conduzca en esta zona. Podemos tomar medidas por violaciones repetidas."],"do_not_ride_title":["s","Por favor no conduzca aquí."],"end_trip":["s","Finalizar el viaje"],"intro":["mp","Viaja con más seguridad y mejores precios.\n\nSuma está asociado con Ride Connection para ofrecer opciones de transporte para personas mayores y con discapacidades. Llame al [503-226-0700](tel:503-226-0700) o [haga clic aquí](https://rideconnection.org/services__blank__) para ver sus servicios.\n\nNos asociamos con Lime para ofrecer viajes gratuitos a los usuarios de suma este verano. Los viajes en Lime son una característica nueva y agradecemos sus comentarios por texto al @% o correo electrónico a @%. Para comenzar, haga clic en una patineta eléctrica abajo o obtenga más información en nuestras @%.",{"t":"strings:common:suma_help_number"},{"t":"strings:common:suma_help_email"},{"t":"strings:common:faq"}],"locate_me":["s","Localizarme"],"location_permissions_denied":["s","Se niegan los permisos de ubicación en el mapa. Suma intentará encontrar la ubicación más cercana. Por favor, permita permisos de ubicación del navegador para suma."],"location_permissions_denied_instructions":["m","Se niegan los permisos de ubicación en el mapa. Suma intentará encontrar la ubicación más cercana. [Haga clic aquí](@%) para obtener instrucciones sobre cómo permitir el permiso de ubicación para suma.",{"k":"instructionsUrl"}],"mobility_start_and_per_minute":["s","@% para iniciar, @% por minuto",{"k":"surchargeCents","f":"sumaCurrency"},{"k":"unitCents","f":"sumaCurrency"}],"relink_private_account_with_vendor":["m","Si no ha iniciado sesión, puede [volver a vincular su cuenta de @%](/private-accounts).",{"k":"vendorName"}],"reserve_scooter":["s","Reservar una patineta eléctrica"],"setup_private_account_with_vendor":["s","Para comenzar, configuraremos una cuenta privada para usted con @%.",{"k":"vendorName"}],"title":["s","Servicios de movilidad"],"trip_ended":["mp","Tu viaje con @% ah terminado.\n\nUsamos @% de su saldo de Suma.\n\nSalvaste @%.",{"k":"vendor"},{"k":"totalCost","f":"sumaCurrency"},{"k":"discountAmount","f":"sumaCurrency"}],"trip_started_at":["s","Viaje iniciado a @%.",{"k":"at"}],"zoom_in":["s","Acercar"],"zoom_out":["s","Alejar"]},"onboarding":{"enroll_intro":["mp","¡Bienvenido a Suma! Para comenzar, necesitaremos verificar su identidad. Esto asegura que sea elegible para los programas correctos, como con nuestros socios de vivienda asequible.\n\n**Nunca compartiremos esta información más que para verificar su identidad.**"],"enroll_title":["s","Registrarse en Suma"],"finish":["mp","Gracias! Nuestro equipo verificará las cosas y se pondrá en contacto con cualquier pregunta, o tan pronto como esté verificado.\n\nLa verificación generalmente ocurre dentro de 1-2 días hábiles.\n\nMientras tanto, puede apprender más información sobre la aplicación y ver qué hay disponible."],"finish_onboarded":["s","Todo se ve bien. ¡Estás listo para comenzar a usar Suma!"],"food_text":["s","Suma colabora con las tiendas de comestibles donde compras ya para ofrecer los descuentos y beneficios de compras consolidadas"],"food_title":["s","Alimentos frescos"],"mobility_text":["s","Transporte ecologico a tarifas reducidas en patinetas y bicicletas eléctricas"],"mobility_title":["s","Movilidad limpia"],"utilities_text":["s","Acceder a proyectos cercanos de energía solar comunitaria para energia economica, ecologica y renovable"],"utilities_title":["s","Energia renovable"]},"otp":{"code_resent":["s","Nuevo código enviado a @%.",{"k":"phone"}],"did_not_receive":["s","¿No recibiste un mensaje de texto?"],"enter_code":["s","Introduzca el código"],"enter_code_sent_to":["s","Introducir el código que enviamos"],"send_new_code":["s","Enviar un nuevo código"],"verify":["s","Verificar"],"verify_code":["s","Verificar el código"]},"payments":{"account_submission_statement":["s","Después de enviar su información, uno de nuestros especialistas con experiencia de miembros se pondrá en contacto para confirmar la cuenta."],"add_another_card":["s","Agregar otra tarjeta"],"add_card":["s","Agregar su tarjeta"],"add_funds":["s","Añadir fondos"],"add_funds_intro":["s","Añadir fondos a tu cuenta de Suma para comprar productos y servicios a precio de descuento con la app."],"added_card":["s","Tarjeta vinculada"],"added_card_successful":["s","Su tarjeta se ha vinculado con éxito a Suma. Ahora puede usarlo para agregar fondos a sus cuentas."],"bank_accounts":["s","Cuentas Bancarias"],"cards":["s","Tarjetas"],"check_details_subtitle":["s","Al calce de un cheque a tres conjuntos numericos. El primero es el número de ruta de 9 dígitos. El segundo es tu número de cuenta. El tercero, que puedes ignorar, es el número del cheque."],"check_details_title":["s","¿Cuál es mi número de cuenta?"],"first_page":["s","‹ Primera Página"],"funds":["s","Fondos"],"ledger_balance":["s","Fondos en Suma"],"ledger_label":["s","@% - @%",{"k":"amount","f":"sumaCurrency"},{"k":"label"}],"ledger_transactions":["s","Historial de transacciones"],"ledgers_intro":["s","Puedes usar tus cuentas de suma para comprar bienes y servicios a través de la app, como una cuenta bancaria que se utiliza para suma. Se encuentran a continuación el saldo disponible y un historial de los créditos y débitos de tu cuenta."],"lifetime_savings":["s","Ahorros de Suma"],"link_another_bank_account":["s","Vincular otra cuenta bancaria"],"link_bank_account":["s","Vincular una cuenta bancaria"],"linked_bank_account":["s","Cuenta bancaria vinculada"],"linked_bank_account_successful":["mp","Su cuenta bancaria se ha vinculado con éxito a Suma. Dentro de uno o dos días, uno de nuestros especialistas con experiencia de miembros se pondrá en contacto para confirmar la cuenta.\n\nCuando la cuenta este confirmada, podrá agregar fondos."],"no_bank_accounts_warning":["s","No tienes una cuenta bancaria vinculada."],"no_cards_warning":["s","No tienes ninguna tarjeta de crédito o débito vinculada."],"no_transaction_history":["s","No has añadido ni gastado fondos de tu cuenta."],"payment_account_pending":["s","Pendiente"],"payment_account_verified":["s","Verificado"],"payment_intro":{"intro":["m","Para añadir fondos a tu cuenta, se requiere por lo menos una *fuente de financiamiento*. Por lo regular, es una cuenta bancaria, pero pueda haber otras opciones abajo."],"privacy_statement":["m","Su información financiera está protegida mediante **cifrado de nivel bancario** y **nunca se compartirá sin su consentimiento**. Consulte la [Política de privacidad de Suma](@%) para más información sobre cómo usamos y protegemos su información financiera.",{"k":"externalLinks.privacyPolicy"}]},"payment_methods":["s","Métodos de Pago"],"payment_other_sources":["s","Otras Fuentes"],"payment_submission_statement_bank_account":["s","Una vez que realices tu pago, puedes usar el dinero de inmediato. El retiro será registrado a tu cuenta en 2 a 3 días hábiles."],"payment_submission_statement_card":["s","Suma realizará el cargo en su tarjeta cuando envíe este formulario."],"payment_support_coming":["s","Próximamente se podrá añadir fondos de fuentes adicionales, como dinero en efectivo, giro bancario o depositos por un amigo."],"payment_title":["s","Cuentas de pago"],"recent_ledger_lines":["s","Cargos y Créditos Recientes"],"sumas_privacy_policy":["s","Política de privacidad de Suma"],"total_balance":["s","Saldo Disponible"],"unlink":["s","Desvincular"],"unlink_account":["s","Desvincular esta cuenta"],"unlink_account_question":["s","¿Estás seguro de que quieres desvincular esta cuenta? Siempre lo puedes volver a añadir."],"unlink_account_question_subtitle":["s","No se cancelarán las transaciones en curso."]},"preferences":{"account_updates":{"helper_text":["s","Actualizaciones de pedidos, recibos y otros mensajes basados en las acciones que realiza en suma."],"title":["s","Actualizaciones de cuenta"]},"intro":["s","Administrar los tipos de comunicaciones que recibes de suma."],"marketing":{"helper_text":["s","Comunicaciones del equipo suma. Puede cancelar las suscripciónes respondiendo STOP a cualquier mensaje de mercadotecnia."],"title":["s","Mercadotecnia"]},"security":{"helper_text":["s","Para iniciar sesión y otros mensajes basados en seguridad. Todos los miembros de suma reciben estos mensajes."],"title":["s","Seguridad"]},"success":["s","Tus preferencias se cambiaron correctamente."],"title":["s","Preferencias"]},"private_accounts":{"auth_error":["s","Perdón, algo salió mal. Puede intentarlo nuevamente o enviar un correo electrónico a apphelp@mysuma.org."],"create_account":["s","Crear una cuenta"],"initial":["s","Iniciar aplicación"],"intro":["s","Se utiliza para ocultar su correo electrónico y número de teléfono de los proveedores que utiliza a través de la plataforma suma. Siga las instrucciones de los proveedores con los que desea crear una cuenta privada."],"link_app":["s","Vincular App"],"no_private_accounts":["s","Parece que no hay proveedores configurados para cuentas privadas. Póngase en contacto con su administrador para obtener más información."],"polling":["s","Procesando..."],"polling_detail":["s","Esto puede tardar hasta un minuto."],"recent_messages_from_vendor":["s","Mensajes recientes de @%",{"k":"vendorName"}],"relink_app":["s","Volver a Vincular"],"success_instructions":["s","Le enviamos un mensaje de texto, haga clic en el enlace del texto para iniciar esta app."],"vendor_private_accounts":["s","Cuentas Privadas de @%",{"k":"vendorName"}]},"titles":{"contact_list":["s","Lista de contactos"],"contact_list_finish":["s","Lista de contactos completo"],"contact_list_signup":["s","Registro a lista de contactos"],"dashboard":["s","Tablero"],"funding":["s","Financiamiento"],"home":["s","Inicio"],"ledgers_overview":["s","Estado de Cuentas"],"messaging_preferences":["s","Preferencias de Mensajería"],"mobility":["s","Movilidad"],"onboarding":["s","Integración"],"onboarding_finish":["s","Finalizar la integración"],"onboarding_signup":["s","Registro de incorporación"],"order":["s","Pedido"],"order_history":["s","Historial De Pedidos"],"otp":["s","Contraseña de un solo uso"],"preferences":["s","Preferencias"],"private_accounts":["s","Cuentas Privadas"],"start":["s","Comenzar"],"suma_app":["s","App de Suma"],"terms_of_use_and_sale":["s","Términos de Uso"]},"utilities":{"intro":["mp","Suma quiere facilitarle el ahorro de dinero en sus facturas de servicios públicos y hacer que nuestras comunidades sean más resilientes frente al clima extremo y el cambio climático.\n\nRegístrese en nuestra lista de espera gratuita para ayudarnos a construir una comunidad de miembros y demostrar que todos merecen energía limpia y asequible."],"page_title":["s","Servicios públicos"],"title":["s","Utilidades"]}} \ No newline at end of file diff --git a/webapp/public/locale/es/strings.json b/webapp/public/locale/es/strings.json index 7fcb9a5f..81a6ae4b 100644 --- a/webapp/public/locale/es/strings.json +++ b/webapp/public/locale/es/strings.json @@ -167,6 +167,7 @@ "link_new_payment_or": "O vincula un nuevo método de pago para pagar este pedido.", "mobility_options": "Opciones de movilidad", "no_cart_items": "Este carrito no tiene ningún artículo.", + "no_option_chosen": "Ninguna opción elegida", "no_orders": "Aún no ha realizado ningún pedido.", "no_orders_to_claim": "No hay pedidos para reclamar.", "no_products": "No se encontraron productos, esta oferta podría estar cerrada.", diff --git a/webapp/src/components/OrderDetail.jsx b/webapp/src/components/OrderDetail.jsx index 8635b62a..0d727f37 100644 --- a/webapp/src/components/OrderDetail.jsx +++ b/webapp/src/components/OrderDetail.jsx @@ -12,7 +12,6 @@ import useErrorToast from "../state/useErrorToast"; import useScreenLoader from "../state/useScreenLoader"; import useUser from "../state/useUser"; import PressAndHold from "./PressAndHold"; -import clsx from "clsx"; import isEmpty from "lodash/isEmpty"; import React from "react"; import Alert from "react-bootstrap/Alert"; @@ -106,14 +105,14 @@ function FulfillmentOption({ order, onOrderUpdated }) { if (isEmpty(order.fulfillmentOptionsForEditing)) { if (!order.fulfillmentOption) { + // No options, and nothing is selected, so nothing to show return null; } + // No options, but something is selected, so show it return (