6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 29ef8b7b
Changed files
comwell_key_app/.env.example | 0 .../assets/translations/all_translations.csv | 383 ++++ comwell_key_app/assets/translations/da-DK.json | 384 ---- comwell_key_app/assets/translations/en-US.json | 384 ---- comwell_key_app/assets/translations/intl_da.arb | 386 ++++ comwell_key_app/assets/translations/intl_en.arb | 386 ++++ comwell_key_app/l10n.yaml | 7 + .../lib/.generated/l10n/app_localizations.dart | 2425 ++++++++++++++++++++ .../lib/.generated/l10n/app_localizations_da.dart | 1235 ++++++++++ .../lib/.generated/l10n/app_localizations_en.dart | 1231 ++++++++++ .../components/booking_details_bottom_sheet.dart | 23 +- .../lib/check_out/bloc/check_out_state.dart | 100 +- .../check_out/components/accept_terms_toggle.dart | 8 +- .../check_out/components/apply_club_points.dart | 28 +- .../components/check_out_bottom_sheet.dart | 8 +- .../components/check_out_payment_card.dart | 6 +- .../components/checkout_itemized_bill.dart | 4 +- .../components/confirm_check_out_dialog.dart | 31 +- .../lib/check_out/components/send_receipt.dart | 31 +- .../pages/check_out_confirmation_page.dart | 8 +- .../lib/check_out/pages/check_out_error_page.dart | 8 +- .../check_out/pages/check_out_success_page.dart | 10 +- .../components/housekeeping_service.dart | 20 +- .../components/selectable_service.dart | 5 +- .../lib/housekeeping/housekeeping_page.dart | 12 +- comwell_key_app/lib/key/key_page.dart | 14 +- .../lib/login/components/create_user_button.dart | 13 +- .../lib/login/components/login_button.dart | 4 +- comwell_key_app/lib/main.dart | 13 +- .../components/balance_bottom_sheet.dart | 57 +- .../lib/my_booking/my_booking_page.dart | 54 +- .../my_booking/pages/my_booking_payment_page.dart | 4 +- comwell_key_app/lib/services/api.dart | 4 +- .../lib/share/cubit/share_booking_cubit.dart | 25 +- comwell_key_app/lib/share/share_booking_page.dart | 2 +- comwell_key_app/lib/utils/l10n_utils.dart | 8 + comwell_key_app/pubspec.yaml | 8 +- .../scripts/dart/sort_translations.dart | 47 + .../scripts/dart/sync_translations.dart | 62 + comwell_key_app/scripts/dart/utils.dart | 15 + comwell_key_app/scripts/gen.sh | 2 +- comwell_key_app/scripts/sync_translations.sh | 4 + comwell_key_app/untranslated_messages.txt | 1 + 43 files changed, 6444 insertions(+), 1016 deletions(-)
Diff
diff --git a/comwell_key_app/.env.example b/comwell_key_app/.env.example
deleted file mode 100644
index e69de29b..00000000
diff --git a/comwell_key_app/assets/translations/all_translations.csv b/comwell_key_app/assets/translations/all_translations.csv
new file mode 100644
index 00000000..d8d46ac9
--- /dev/null
+++ b/comwell_key_app/assets/translations/all_translations.csv
@@ -0,0 +1,383 @@
+"key","en","da"
+"generic_continue","Continue","Fortsæt"
+"generic_information_required","This information is required","Dette felt er påkrævet"
+"generic_confirm","Confirm","Bekræft"
+"generic_done","Done","Færdig"
+"generic_ok","OK","OK"
+"generic_credit_card","Credit Card","Kreditkort"
+"generic_apple_pay","Apple Pay","Apple Pay"
+"generic_google_pay","Google Pay","Google Pay"
+"generic_error","An error occurred. Please try again later.","Der skete en fejl. Prøv igen."
+"welcome_headline","Welcome at Comwell Hotels","Velkommen hos Comwell Hotels"
+"welcome_button","Continue","Fortsæt"
+"welcome_error","An error occurred. Please try again later.","Der er sket en fejl. Genstart app."
+"room_key","Room key","Nøgle"
+"room_keys","Room keys","Nøgler"
+"redeem_code","Redeem code","Indløs kode"
+"error_opening_door","An error occurred","Der skete en fejl."
+"try_again","Try again","Prøv igen"
+"room_key_description","This is your room key","Dette er din nøgle til værelset."
+"login_button","Login","Login"
+"create_user_button","Create new user","Opret ny bruger"
+"profile_settings_profile_menu","Profile settings","Profilindstillinger"
+"payment_card_profile_menu","Payment card","Betalingskort"
+"notifications_profile_menu","Notifications","Notifikationer"
+"logout_profile_menu","Logout","Log ud"
+"logout_dialog_title","Do you want to log out of your profile","Vil du logge ud af din profil"
+"cancel","Cancel","Annuller"
+"name_cc_sign","Name","Navn"
+"become_cc_member_title","Join comwell club","Bliv medlem af comwell club"
+"become_cc_member_subtitle","Join and earn points every time you stay at a Comwell Hotel.","Bliv medlem og optjen point, hver gang du overnatter på et Comwell Hotel."
+"overview_tabbar_active","Current","Aktuelle"
+"overview_tabbar_past","Past","Tidligere"
+"overview_tabbar_cancelled","Cancelled","Annulleret"
+"no_past_bookings_title","No past stays","Ingen tidligere ophold"
+"no_past_bookings_subtitle","You have no past stays at Comwell Hotels.","Du har ingen tidligere overnatninger på Comwell Hotels."
+"no_cancelled_booking_title","No cancelled stays","Ingen annullerede ophold"
+"no_cancelled_booking_subtitle","You have no cancelled stays with us.","Du har ingen annullerede overnatninger hos os."
+"booking_annulled","Cancelled","Annulleret"
+"no_current_bookings","No current bookings","Ingen aktuelle bookinger"
+"no_current_bookings_subtitle","You have no current bookings. Plan your next stay at Comwell.","Du har ingen aktuelle bookinger. Planlæg næste ophold på Comwell."
+"adults","adults","voksne"
+"children","children","børn"
+"adult","adult","voksen"
+"child","child","barn"
+"rooms","Rooms","Værelser"
+"prepare_room","Prepare your room","Klargør dit værelse"
+"jump_line_text","Skip the line with digital check-in","Spring køen over med digital check-in"
+"overview_add_booking","Find booking","Find booking"
+"open_room","Open room","Åben værelse"
+"hold_phone_to_door","Hold phone to door","Hold tæt på læser"
+"open_room_success","Success","Succes"
+"open_room_error","Try again!","Prøv igen!"
+"profile_settings","Profile settings","Profilindstillinger"
+"profile_settings_firstname","First name","Fornavn"
+"profile_settings_lastname","Last name","Efternavn"
+"profile_settings_email","Email","Email"
+"profile_settings_phone","Phone","Telefon"
+"profile_settings_address","Address","Adresse"
+"profile_settings_birthday","Birthday","Fødselsdag"
+"profile_settings_edit_password","Edit password","Ret adgangskode"
+"profile_settings_error","An error occurred. Please try again later.","Der skete en fejl. Prøv igen."
+"delete_profile","Delete profile","Slet profil"
+"my_booking","My booking","Min booking"
+"booking_reference","Bookingreference","Bookingreference"
+"check_in","Check-in","Check-in"
+"check_out","Check-out","Check-out"
+"overview_page_check_in_physical_card_subtitle","Go to the lobby to get your key","Gå i lobbyen og få udleveret din nøgle"
+"booking_details","Booking","Booking"
+"number_of_guests","Number of guests","Personer"
+"booker","Booker","Booker"
+"booking_date","Booking date","Booking dato"
+"payment","Payment","Betaling"
+"payment_method","Payment method","Betalingsmetode"
+"bill","Bill","Kvittering"
+"get_bill","Get bill","Hent kvittering"
+"your_last_name","Your last name","Dit efternavn"
+"find_booking","Find booking","Find booking"
+"choose_hotel","Choose hotel","Vælg hotel"
+"hotels","Hotels","Hoteller"
+"all","All","Alle"
+"zealand","Zealand","Sjælland"
+"funen","Funen","Fyn"
+"jutland","Jutland","Jylland"
+"booking_not_found","Booking not found","Booking blev ikke fundet"
+"booking_not_found_subtitle","We could not find a booking with the information you provided.","Den booking du leder efter, kunne ikke findes. \nHar du skrevet oplysningerne korrekt?"
+"booking_not_found_button","Try again","Prøv igen"
+"booking_not_found_cancel","Cancel","Annuller"
+"save","Save","Gem"
+"zipCode","Zip code","Postnummer"
+"city","City","By"
+"country","Country","Land"
+"delete_profile_title","You are about to delete your profile","Du er ved at slette din profil"
+"delete_profile_description","Are you sure you want to delete your profile? This action cannot be undone.","Når du sletter din profil, mister du overblik over tidligere ophold samt dine Comwell Club point"
+"delete_profile_button","Delete profile","Slet profil"
+"delete_profile_cancel","Cancel","Annuller"
+"check_in_loading_title","Finding your room...","Finder dit værelse..."
+"check_in_room_found_title","Room found...","Værelse fundet..."
+"check_in_your_digital_card_title","Your Digital KeyCard","Dit Digitale Nøglekort"
+"check_in_your_digital_card_subtitle","Use your phone to open your room. You do not have to check in at the reception","Brug din mobiltelefon til at åbne værelset op. Du skal ikke længere checke ind i receptionen."
+"check_in_your_digital_card_nb","NB: If you require a physical keycard, you can always get one from the reception","NB: Ønsker du et fysisk nøglekort, kan du altid gå i receptionen og få det udleveret."
+"check_in_error_title","Room not found...","Værelse ikke fundet..."
+"check_in_error_subtitle","We could not find the room. Please check in at the reception.","Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen."
+"preregistration_address_title","Address","Adresse"
+"check_in_your_digital_card_room_prefix","Room","Værelse"
+"preregistration_address_subtitle","It is required by law to know your address","Det er lovpligtigt at vi kender adressen på den primære beboer på værelset. Dette er pga. brandsikkerhed"
+"preregistration_address_label_address","Address","Adresse"
+"preregistration_address_label_postal_code","Postal code","Postnummer"
+"preregistration_address_label_city","City","By"
+"preregistration_address_label_country","Country","Land"
+"preregistration_payment_title","Payment methods","Betalingskort"
+"preregistration_payment_subtitle","To stay at Comwell, you need to add a payment method","For at kunne overnatte på Comwell, skal vi bruge et betalingskort."
+"preregistration_payment_add_card","Add card","Tilføj kort"
+"preregistration_confirmation_title","Registration information","Registeringsinformation"
+"preregistration_confirmation_profile_card_title","Profile information","Profilinformation"
+"preregistration_confirmation_address_card_title","Address","Adresse"
+"preregistration_confirmation_payment_card_title","Payment method","Betalingskort"
+"preregistration_confirmation_extras_card_title_singular","1 extra purchase","1 valgt Tilkøb"
+"preregistration_confirmation_extras_card_title_plural","{amount} extra purchases","{amount} valgte tilkøb"
+"preregistration_confirmation_extras_card_subtitle","Will be added to your bill","Skrives på din værelsesregning"
+"need_help","Need help?","Har du brug for hjælp?"
+"call_us","Call us","Ring til os"
+"call_us_description","Enter your phone number below and we will call you.","Har du brug for at komme i kontakt med et af vores hoteller? Benyt knappen nedenfor for at ringe op."
+"get_a_call","Get a call","Bliv ringet op"
+"get_a_call_description","Enter your phone number below and we will call you.","Indtast dit telefonnummer herunder og bliv ringet op."
+"call_received_title","Received","Modtaget"
+"call_received_description","We have received your contact request. Our team will get back to you soon.","Vi har modtaget din kontaktforespørgsel. Vores team vil kontakte dig snart."
+"telephone_number","Telephone number","Telefonnummer"
+"comwell_telephone_number","+4570274274","+4570274274"
+"booking_details_page_hotel_information_button_title","Hotel information","Hotelinformation"
+"booking_details_page_hotel_information_button_subtitle","Find relevant information about the hotel","Find relevant information om hotellet"
+"booking_details_page_contact_button_title","Contact","Kontakt"
+"booking_details_page_contact_button_subtitle","Contact the reception ","Kom i kontakt med receptionen."
+"housekeeping_page_title","Housekeeping","Housekeeping"
+"housekeeping_page_subtitle","If you wish for housekeeping, you can order it here","Ønsker du ekstra rengøring eller opfyldning på værelset, kan du altid bestille det her - uden omkostninger"
+"housekeeping_page_button","Order housekeeping","Bestil housekeeping"
+"housekeeping_page_service_title_cleaning","Cleaning of the room","Rengøring af værelse"
+"housekeeping_page_service_title_towels","Soap and shampoo","Friske håndklæder"
+"housekeeping_page_service_title_refill","Refill coffee and tea","Genopfyldning af kaffe og te"
+"housekeeping_page_service_title_trash","Fresh towels","Afhentning af skrald"
+"housekeeping_page_service_title_soap","Trash removal","Sæbe/shampoo"
+"housekeeping_page_service_cleaning_subtitle","Cleaning is between 11 and 14","Der bliver gjort rent mellem 11 og 14"
+"housekeeping_page_supplies","Supplies","Forsyninger"
+"housekeeping_page_cleaning","Cleaning","Rengøring"
+"booking_details_page_housekeeping_button_title_ordered","Cleaning is ordered","Housekeeping bestilt"
+"booking_details_page_housekeeping_button_subtitle_ordered","Cleaning is between 11 and 14","Rengøring kommer mellem kl. 11 og 14"
+"housekeeping_page_supplies_subtitle_towels","Soap and shampoo","Soap and shampoo"
+"housekeeping_page_supplies_subtitle_refill","Refill coffee and tea","Refill coffee and tea"
+"housekeeping_page_supplies_subtitle_trash","Fresh towels","Fresh towels"
+"housekeeping_page_supplies_subtitle_soap","Trash removal","Trash removal"
+"booking_details_page_housekeeping_button_title","Order housekeeping","Bestil housekeeping"
+"booking_details_page_housekeeping_button_subtitle","The day before housekeeping is requested.","Dagen før housekeeping ønskes."
+"booking_details_page_practical_information","Practical information","Praktisk information"
+"booking_details_page_checkout_title","Check-out","Check-out"
+"booking_details_page_checkout_subtitle","Start your check-out here","Start dit check-out her"
+"booking_details_page_checkout_time","10 AM","10:00"
+"hotel_information_page_menu_restaurants_title","Restaurants","Restauranter"
+"hotel_information_page_menu_restaurants_subtitle","Read about our restaurant","Læs om vores restaurant"
+"hotel_information_page_menu_spa_title","Spa","Spa"
+"hotel_information_page_menu_spa_subtitle","Baths, saunas, brechelbath, etc.","Bade, saunaer, brechelbath, mm."
+"hotel_information_page_menu_parking_title","Parking","Parkering"
+"hotel_information_page_menu_other_info_title","More information","Øvrige informationer"
+"hotel_information_page_menu_other_info_subtitle","Find more information","Find mere information om hotellet"
+"hotel_information_page_spa_button","Book spa","Book spa"
+"restaurant_page_practical_information","Practical information","Praktisk information"
+"restaurant_page_address","Addrese","Adresse"
+"restaurant_page_opening_hours","Opening hours","Åbningstider"
+"restaurant_page_book_table","Book table","Book bord"
+"restaurant_page_send_email","Write an email","Skriv en email"
+"overview_page_check_in_button_subtitle","Get your digital key card","Få dit digitale nøglekort med det samme"
+"checkout_page_confirmation_title","Check-out","Check-out"
+"checkout_page_confirmation_subtitle","When you check out, you have 30 minutes to leave your room","Når du bekræfter dit check-out har du 30 minutter til at forlade værelset før dit nøglekort vil stoppe med at virke."
+"checkout_page_confirmation_deadline","Check out latest at 10 AM","Dit check-out skal ske senest kl. 10:00"
+"checkout_page_confirmation_price_title","To be paid","Til betaling"
+"checkout_page_confirmation_continue","Go to payment","Gå til betaling"
+"checkout_page_payment_title","Payment overview","Betalingsoversigt"
+"checkout_page_payment_total","Total","Total"
+"checkout_page_payment_price","{amount} kr.","{amount} kr."
+"checkout_page_payment_club_points_title","Use Comwell Club Points","Brug Comwell Club Point"
+"checkout_page_payment_club_points_subtitle","You have {points} points, use them and save {amount}kr.","Du har {points} point, anvend og spar {amount}kr."
+"checkout_page_payment_club_points_subtitle_zero","You have no points to use","Du har ingen point at anvende"
+"checkout_page_payment_payment_title","Pay and check out","Betal og check ud"
+"checkout_page_confirmation","Go to checkout","Gå til check-out"
+"accept_terms","Accept terms and conditions","Accepter betingelserne"
+"checkout_page_payment_dialog_title","Are you sure you want to check out?","Er du sikker på du vil checke ud af hotellet?"
+"checkout_page_payment_dialog_subtitle","When you check out, you have 30 minutes to leave your room","Når du bekræfter, har du 30 minutter til at forlade dit værelse."
+"checkout_page_payment_dialog_confirm","Yes, check out now","Ja, check ud nu"
+"checkout_page_payment_dialog_cancel","No","Nej"
+"checkout_page_processing_success_title","Check-out confirmed","Check-out bekræftet"
+"checkout_page_processing_success_subtitle","You have 30 minutes to leave your room, after which you will no longer be able to use your keycard.","Dit check-out er nu bekræftet og du har nu 30 minutter til at forlade dit værelse. Herefter vil du ikke længere kunne bruge dit nøglekort. "
+"checkout_page_processing_success_subtitle_no_digital_card","You are now checked out. Please return your key to the reception","Du er nu checket ud. Husk at aflevere din nøgle i lobbyen."
+"checkout_page_processing_error_title","Check-out failed","Check-out fejlet"
+"checkout_page_processing_error_subtitle","An error occurred while checking out. Please go to the reception.","Der skete en fejl ved check-out. Du bedes henvende dig i receptionen."
+"payment_cards_title","Payment cards","Betalingskort"
+"payment_cards_subtitle","To stay at Comwell, we need a payment card.","For at kunne overnatte på Comwell, skal vi bruge et betalingskort."
+"payment_cards_my_cards","My cards","Mine kort"
+"payment_cards_confirm_remove_title","You are removing the card","Du er ved at fjerne et betalingskort"
+"payment_cards_confirm_remove_subtitle","This payment card will no longer be usable","Dette betalingskort vil ikke længere være tilgængeligt, hvis du sletter det."
+"payment_cards_remove_card_button","Remove card","Fjern kort"
+"payment_cards_edit_card_title","Edit card","Redigér kort"
+"payment_cards_save_card_button","Save card","Gem kort"
+"share_booking_page_title","Share booking","Del ophold"
+"share_booking_page_subtitle","Here you can share your booking with another guest and give them access to booking information, keycard and Concierge","Her kan du dele dit ophold med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge"
+"share_booking_page_share_button","Share your booking","Del dit ophold"
+"handle_guests_title","Handle guests","Håndter gæster"
+"cancel_sharing","Cancel sharing","Fortryd deling"
+"check_out_my_booking","Check out my booking","Check ud af mit ophold"
+"dates","Dates","Datoer"
+"guests","Guests","Gæster"
+"view_booking","View booking","Se booking"
+"comwell_booking","Comwell Booking","Comwell Ophold"
+"name_on_card_hint","Name on card","Navn på kort"
+"card_number_hint","Card number","Kortnummer"
+"expiry_date_hint","Expiry date","Udløbsdato"
+"cvc_hint","CVC","CVC"
+"remove_guest","Remove guest","Fjern gæst"
+"remove_guests","Remove guests","Fjern gæster"
+"are_you_sure","Are you sure?","Er du sikker?"
+"guest_removal_responsibility","You will be responsible for all things purchased on the room at checkout ","Du vil være ansvarlig for alle køb på værelset ved udtjekning (316 kr.)"
+"notifications_page_title","Notifications","Notifikationer"
+"subscribe_all","Subscribe to all notifications","Tilmeld alle notifikationer"
+"company_deal","Company deal","Virksomheds aftale"
+"company_deal_subtitle","Yes, I would like to receive relevant information related to the company agreement from Comwell A/S via email and SMS. You can unsubscribe at any time by clicking the unsubscribe link at the bottom of the email.","Ja, jeg vil gerne modtage relevant information relateret til virksomheds aftalen fra Comwell A/S via email og SMS. Du kan til enhver tid afslutte din tilmelding ved at klikke på afslut linket nederst i emailen."
+"club_newsletter","Club newsletter","Comwell Club nyhedsbrev"
+"club_newsletter_subtitle","Yes, I would like to recieve e-mails with exiciting offers regarding hotel stays and events at Comwell. I can at any time, unsubscribe.","Ja, jeg vil gerne modtage e-mails med spændende tilbud om hotelophold og events hos Comwell Hotels. Jeg kan til enhver tid, afslutte min tilmelding."
+"digital_media","Digital media","Digital media"
+"digital_media_subtitle","Yes, I would like see personalized digital media advertising with news, inspiration and invitations to events. I can at any time, unsubscribe.","Ja, jeg vil gerne se personligt tilpassede digitale reklamer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding."
+"sms","SMS","SMS"
+"sms_subtitle","Yes, I would like to recieve SMS with news, inspiration and invitations to events. I can at any time, unsubscribe.","Ja, jeg vil gerne modtage SMS med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding."
+"email_subtitle","Yes, I would like to receive emails with news, inspiration and invitations to events. I can at any time, unsubscribe.","Ja, jeg vil gerne modtage Emails med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding."
+"push_subtitle","Yes, I would like to receive push notifications with news, inspiration and invitations to events. I can at any time, unsubscribe.","Ja, jeg vil gerne modtage push notifikationer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding."
+"update_profile","Update profile","Opdater profil"
+"profile_settings_invalid_date","Invalid date","Ugyldigt dato"
+"gender","Gender","Køn"
+"comwell_club_dialog_title","Become a member","Bliv medlem"
+"comwell_club_dialog_description","Please fill in the following information to join Comwell Club","Indtast følgende oplysninger for at blive medlem af Comwell Club"
+"postal_code","Postal code","Postnummer"
+"male","Male","Mand"
+"female","Female","Kvinde"
+"not_specified","Not Specified","Ikke angivet"
+"tos_accept","Accept ","Accepter "
+"tos_accept_link","terms and conditions for Comwell Club","regler og betingelser for Comwell Club"
+"newsletter_accept","Yes, I would like to receive updates on current member offers, Comwell Club surprises and other recommendations tailored to me. I can unsubscribe at any time.","Ja tak, jeg vil gerne opdateres på aktuelle medlemstilbud, Comwell Club overraskelser og andre anbefalinger tilpasset mig. Jeg kan til enhver tid afmelde mig igen."
+"read_more","Read more","Læs mere"
+"read_less","Read less","Læs mindre"
+"comwell_club_inactive","Inactive","Inaktiv"
+"points","Points","Point"
+"my_balance","My balance","Min balance"
+"cancel_booking","Cancel booking","Annuller ophold"
+"cancellation_policy","Cancellation policy","Annuleringsbetingelser"
+"cancellation_policy_description","This booking can be cancelled free of charge until the day of arrival. If cancelled later than 14.01, the first night will be charged.","Dette ophold kan annuleres omkostningsfrit indtil d. 12.11.2024 kl. 15:00 på ankomstdagen. Annulleres senere end d. 14.01 skal del faktureres v/r for den første nat."
+"payment_date","Payment date","Betalingsdato"
+"not_shared","Not shared","Ikke delt"
+"share_booking","Share booking","Del ophold"
+"total_charge","Total charge","I alt til betaling"
+"early_checkin","Early check-in","Tidlig check-in"
+"paid","PAID","BETALT"
+"restaurant","Restaurant","Restaurant"
+"spa","Spa","Spa"
+"parking","Parking","Parkering"
+"go_to_payment","Go to payment","Gå til betaling"
+"room_prefix","Room {roomNumber}","Værelse {roomNumber}"
+"total_charge_value","{amount} kr.","{amount} kr."
+"generic_error_profile_page","An error occurred. Please try again later. Or logout and try again.","Der skete en fejl. Prøv igen senere. Eller log ud og prøv igen."
+"profile_error_name","Failed to load profile information","Fejl ved indlæsning af profiloplysninger"
+"error","Error","Fejl"
+"error_logout","There has been an error","Der skete en fejl"
+"error_logout_subtitle","Please log in again","Du har været logget ud. Log venligst ind igen."
+"edit","Edit","Rediger"
+"error_cards","Failed to load cards, try again later","Fejl ved indlæsning af kort, prøv igen senere."
+"check_in_button_timer_days_hours_minutes","In {d} days, {h} hours and {m} minutes","Om {d} dage, {h} timer og {m} minutter"
+"check_in_button_timer_hours_minutes","In {h} hours and {m} minutes","Om {h} timer og {m} minutter"
+"check_in_button_timer_minutes","In {m} minutes","Om {m} minutter"
+"check_in_button_timer_seconds","In {s} seconds","Om {s} sekunder"
+"approve_conditions_title","I accept ","Jeg accepter "
+"approve_conditions_subtitle","terms and conditions","betingelserne"
+"up_sales_title","Early check-in","Tidlig check-in"
+"up_sales_subtitle","With early check-in you can check in at 13.00 instead of 15.00.","Med tidlig check-in kan du checke ind kl. 13.00 i stedet for kl. 15.00."
+"up_sales_popular","POPULAR","POPULÆR"
+"services","Services","Tjenester"
+"up_sales_see_all","See all","Se alle"
+"up_sales_catalog_button_title","See product catalog","Se produktkatalog"
+"up_sales_catalog_button_subtitle","Here you can see and order products and write them automatically on your room bill.","Her kan du se og bestille produkter og skrive dem helt automatisk på din værelsesregning."
+"up_sales_catalog_title","Upgrades & Services","Tilkøbsmuligheder"
+"room_upgrades","Room upgrades","Værelsesopgraderinger"
+"other_up_sales","Other upgrades","Andre tilkøb"
+"read_more_up_sales","Read more","Læs mere"
+"continue_without_up_sales","Continue without upgrades","Fortsæt uden tilkøb"
+"open_maps_error_title","Cannot open maps","Kan ikke åbne kort"
+"open_maps_error_subtitle","No maps application is available.","Ingen kortprogram er tilgængeligt."
+"apple_maps","Apple Maps","Apple Kort"
+"google_maps","Google Maps","Google Kort"
+"add_to_booking","Add to booking","Tilføj til booking"
+"see_all_facilities","See all facilities","Se alle faciliteter"
+"remove_from_booking","Remove from booking","Fjern fra booking"
+"no_services_available","No services available","Ingen tjenester tilgængelige"
+"no_room_upgrades_available","No room upgrades available","Ingen værelsesopgraderinger tilgængelige"
+"confirm_up_sales_dialog_title","Confirm upgrades","Bekræft tilkøb"
+"confirm_up_sales_dialog_subtitle","Are you sure you want to add these upgrades for {amount} kr to your booking?","Er du sikker på, at du vil tilføje disse tilkøb for {amount} kr. til din booking?"
+"confirm_up_sales_dialog_confirm","Yes, add upgrades","Ja, tilføj tilkøb"
+"confirm_up_sales_dialog_cancel","No","Nej"
+"email_launch_error","Could not launch email client","Kunne ikke åbne email klient"
+"phone_launch_error","Could not launch phone call","Kunne ikke åbne telefon"
+"balance","BALANCE","SALDO"
+"new_booking","Make a new booking","Book nyt ophold"
+"error_opening_website","Failed to open the website. Please try again later.","Kunne ikke åbne hjemmesiden. Prøv igen senere."
+"error_opening_website_title","Error","Fejl"
+"room_selection","Room selection","Vælg værelse"
+"room_selection_subtitle","Select a room for your stay","Vælg et værelse til dit ophold"
+"choose_room","Choose room","Vælg dit værelse"
+"choose_room_subtitle","You need to choose the room you want to sleep in. When you have chosen, you can assign the other rooms to others.","Du skal vælge dét værelse du gerne vil sove på. Når du har valgt, kan du tildele de andre værelser til andre."
+"check_in_date","Check-in date","Check-in dato"
+"check_out_date","Check-out date","Check-out dato"
+"confirmation_number","Confirmation number","Bekræftelsesnummer"
+"close","Close","Luk"
+"choose_room_confirmation_title","Are you sure you want to choose this room?","Er du sikker på du vil vælge dette værelse?"
+"choose_room_confirmation_subtitle","You cannot undo your choice. Remaining rooms must be assigned.","Du kan ikke fortryde dit valg. Resterende værelser skal fordeles."
+"choose_room_confirmation_confirm","Yes, choose room","Ja, vælg værelse"
+"choose_room_confirmation_cancel","No","Nej"
+"my_room","My room","Mit værelse"
+"share_room","Share room","Del værelse"
+"share_room_page_title","Share room","Del værelse"
+"share_room_page_subtitle","Here you can share your room with another guest and give them access to booking information, keycard and Concierge","Her kan du dele dit værelse med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge"
+"share_room_page_button","Share your room","Del dit værelse"
+"addon","Added purchase","Tilkøbt"
+"added_to_room","Added to room","Tilkøbt på værelse"
+"force_update_title","Update required","Opdater for at bruge appen"
+"force_update_description","To continue using the app, please update to the latest version.","Der er en nødvendig opdatering til appen, der gør at du skal opdatere for at kunne fortsætte."
+"force_update_button","Go to App Store","Gå til App Store"
+"invalid_birthday","Invalid birthday","Ugyldig fødselsdag"
+"invalid_birthday_description","Your saved birthday is not allowed. Please pick a new date.","Din gemte fødselsdag er ikke tilladt. Vælg en ny dato."
+"up_sales_confirmation_title","Payment overview","Betalingsoversigt"
+"up_sales_confirmation_no_up_sales","No upgrades selected.","Ingen tilvalg valgt."
+"facilities","Facilities","Faciliteter"
+"remove","Remove","Fjern"
+"up_sales_processing_error_title","Failed to add addons","Kunne ikke tilføje tilkøb"
+"up_sales_processing_error_subtitle","Addons are not available at the moment. Please try again later.","Opgraderinger virker ikke i øjeblikket. Prøv igen senere."
+"pay_bill","Pay bill","Betal regning"
+"discount","Comwell Club Points Discount","Comwell Club Point Rabat"
+"error_preregistration","Failed to preregister, go to reception","Kunne ikke preregister, gå til reception"
+"get_keys","Get digital key","Hent digital nøgle"
+"get_keys_subtitle","Get your digital key card","Få dit digitale nøglekort med det samme"
+"add_card","Add card","Tilføj kort"
+"total","Total","I alt"
+"profile_error_title","Could not load your profile","Kunne ikke loade din profil"
+"profile_error_subtitle","An error occurred. Please try again later.","Der er sket en fejl. Prøv igen senere."
+"generic_error_title","There was an error","Der er sket en fejl"
+"notifications_error_subtitle","Notifications could not be loaded. Please try again later.","Notifikationer kan ikke hentes i øjeblikket. Prøv igen senere."
+"payment_cards_error_subtitle","Payment cards could not be loaded. Please try again later.","Dine betalingskort kan ikke hentes i øjeblikket. Prøv igen senere."
+"hotel_information_error_subtitle","Hotel information could not be loaded. Please try again later.","Hotelinformationen kan ikke hentes i øjeblikket. Prøv igen senere."
+"overview_error_title","Could not load your bookings","Kunne ikke indlæse dine bookinger"
+"overview_error_subtitle","An error occurred. We could not load your bookings. Please try again later.","Der er sket en fejl. Vi kunne ikke loade dine bookinger. Prøv igen senere."
+"up_sales_error_title","Could not load up sales","Tillægskøb er ikke tilgængelige i øjeblikket"
+"up_sales_error_subtitle","An error occurred. We could not load up sales. Please try again later.","Der er sket en fejl. Prøv igen senere."
+"choose_room_error_title","Could not choose room","Kunne ikke vælge værelse"
+"choose_room_error_subtitle","An error occurred. Please try again later or go to the reception.","Der er sket en fejl. Prøv igen senere eller gå til receptionen"
+"share_booking_error_title","Could not find guests on the room","Kunne ikke finde gæsterne på værelset"
+"share_booking_error_subtitle","An error occurred. Please try again later.","Der er sket en fejl. Prøv igen senere."
+"refresh_bookings","Refresh bookings","Opdater bookinger"
+"document_type","Document type","Dokumenttype"
+"document_type_passport","Passport","Passport"
+"document_type_id_card","ID card","ID-kort"
+"document_type_driver_license","Driver license","Kørekort"
+"document_type_other","Other","Andet"
+"document_number","Document number","Dokumentnummer"
+"up_sales_catalog_no_up_sales_title","No upgrades available","Ingen tilvalg tilgængelige"
+"up_sales_catalog_no_up_sales_subtitle","No upgrades are available at the moment. Please try again later.","Der er ingen tilvalg tilgængelige i øjeblikket. Prøv igen senere."
+"payment_cards_missing_payment_method_title","Missing payment method","Manglende betalingsmetode"
+"payment_cards_missing_payment_method_subtitle","Please select a payment method to continue.","Vælg venligst en betalingsmetode for at fortsætte."
+"share_booking_page_error_title","Error","Fejl"
+"share_booking_page_error_subtitle","This booking has already been shared.","Denne booking er allerede delt."
+"share_booking_message","{name} would like to share a booking with you at Comwell {hotel}. Access via the link: {url}","{name} vil gerne dele et ophold med dig på Comwell {hotel}. Tilgå via linket: {url}"
+"check_in_page_error_title","Room not found","Værelse ikke fundet"
+"check_in_page_error_subtitle","We could not find the room. Please check in at the reception.","Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen."
+"remove_guest_overview","Remove","Fjern"
+"home_page","Home","Hjem"
+"send_to_email","Send to email","Send til email"
+"download_bill","Get receipt","Få tilsendt kvittering"
+"bill_email_placeholder","E-mail","E-mail"
+"payment_overview_send_receipt_title","Receipt via email","Kvittering via email"
+"payment_overview_send_receipt_subtitle","Sent to {name}","Sendes til {name}"
+"payment_overview_send_comment_title","Comment","Kommentar"
+"payment_overview_send_receipt_hint","Enter comment","Indsæt kommentar"
+"key_page_room_prefix","Room {roomNumber}","Værelse {roomNumber}"
diff --git a/comwell_key_app/assets/translations/da-DK.json b/comwell_key_app/assets/translations/da-DK.json
deleted file mode 100644
index 49d4d7bb..00000000
--- a/comwell_key_app/assets/translations/da-DK.json
+++ /dev/null
@@ -1,384 +0,0 @@
-{
- "generic_continue": "Fortsæt",
- "generic_ok": "OK ",
- "generic_information_required": "Dette felt er påkrævet",
- "generic_confirm": "Bekræft",
- "generic_done": "Færdig",
- "generic_credit_card": "Kreditkort",
- "generic_apple_pay": "Apple Pay",
- "generic_google_pay": "Google Pay",
- "generic_error": "Der skete en fejl. Prøv igen.",
- "welcome_headline": "Velkommen hos Comwell Hotels",
- "welcome_button": "Fortsæt",
- "welcome_error": "Der er sket en fejl. Genstart app.",
- "room_key": "Nøgle",
- "room_keys": "Nøgler",
- "redeem_code": "Indløs kode",
- "error_opening_door": "Der skete en fejl.",
- "try_again": "Prøv igen",
- "room_key_description": "Dette er din nøgle til værelset.",
- "login_button": "Login",
- "create_user_button": "Opret ny bruger",
- "profile_settings_profile_menu": "Profilindstillinger",
- "payment_card_profile_menu": "Betalingskort",
- "notifications_profile_menu": "Notifikationer",
- "logout_profile_menu": "Log ud",
- "logout_dialog_title": "Vil du logge ud af din profil",
- "cancel": "Annuller",
- "name_cc_sign": "Navn",
- "become_cc_member_title": "Bliv medlem af comwell club",
- "become_cc_member_subtitle": "Bliv medlem og optjen point, hver gang du overnatter på et Comwell Hotel.",
- "overview_tabbar_active": "Aktuelle",
- "overview_tabbar_past": "Tidligere",
- "overview_tabbar_cancelled": "Annulleret",
- "no_past_bookings_title": "Ingen tidligere ophold",
- "no_past_bookings_subtitle": "Du har ingen tidligere overnatninger på Comwell Hotels.",
- "no_cancelled_booking_title": "Ingen annullerede ophold",
- "no_cancelled_booking_subtitle": "Du har ingen annullerede overnatninger hos os.",
- "booking_annulled": "Annulleret",
- "no_current_bookings": "Ingen aktuelle bookinger",
- "no_current_bookings_subtitle": "Du har ingen aktuelle bookinger. Planlæg næste ophold på Comwell.",
- "adults": "voksne",
- "children": "børn",
- "adult": "voksen",
- "child": "barn",
- "rooms": "Værelser",
- "prepare_room": "Klargør dit værelse",
- "jump_line_text": "Spring køen over med digital check-in",
- "overview_add_booking": "Find booking",
- "open_room": "Åben værelse",
- "hold_phone_to_door": "Hold tæt på læser",
- "open_room_success": "Succes",
- "open_room_error": "Prøv igen!",
- "profile_settings": "Profilindstillinger",
- "profile_settings_firstname": "Fornavn",
- "profile_settings_lastname": "Efternavn",
- "profile_settings_email": "Email",
- "profile_settings_phone": "Telefon",
- "profile_settings_address": "Adresse",
- "profile_settings_birthday": "Fødselsdag",
- "profile_settings_edit_password": "Ret adgangskode",
- "profile_settings_error": "Der skete en fejl. Prøv igen.",
- "delete_profile": "Slet profil",
- "my_booking": "Min booking",
- "booking_reference": "Bookingreference",
- "check_in": "Check-in",
- "check_out": "Check-out",
- "overview_page_check_in_physical_card_subtitle": "Gå i lobbyen og få udleveret din nøgle",
- "booking_details": "Booking",
- "number_of_guests": "Personer",
- "booker": "Booker",
- "booking_date": "Booking dato",
- "payment": "Betaling",
- "payment_method": "Betalingsmetode",
- "bill": "Kvittering",
- "get_bill": "Hent kvittering",
- "your_last_name": "Dit efternavn",
- "find_booking": "Find booking",
- "choose_hotel": "Vælg hotel",
- "hotels": "Hoteller",
- "all": "Alle",
- "zealand": "Sjælland",
- "funen": "Fyn",
- "jutland": "Jylland",
- "booking_not_found": "Booking blev ikke fundet",
- "booking_not_found_subtitle": "Den booking du leder efter, kunne ikke findes. \nHar du skrevet oplysningerne korrekt?",
- "booking_not_found_button": "Prøv igen",
- "booking_not_found_cancel": "Annuller",
- "save": "Gem",
- "zipCode": "Postnummer",
- "city": "By",
- "country": "Land",
- "delete_profile_title": "Du er ved at slette din profil",
- "delete_profile_description": "Når du sletter din profil, mister du overblik over tidligere ophold samt dine Comwell Club point",
- "delete_profile_button": "Slet profil",
- "delete_profile_cancel": "Annuller",
- "check_in_loading_title": "Finder dit værelse...",
- "check_in_room_found_title": "Værelse fundet...",
- "check_in_your_digital_card_title": "Dit Digitale Nøglekort",
- "check_in_your_digital_card_room_prefix": "Værelse",
- "check_in_your_digital_card_subtitle": "Brug din mobiltelefon til at åbne værelset op. Du skal ikke længere checke ind i receptionen.",
- "check_in_your_digital_card_nb": "NB: Ønsker du et fysisk nøglekort, kan du altid gå i receptionen og få det udleveret.",
- "check_in_error_title": "Værelse ikke fundet...",
- "check_in_error_subtitle": "Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen.",
- "preregistration_address_title": "Adresse",
- "preregistration_address_subtitle": "Det er lovpligtigt at vi kender adressen på den primære beboer på værelset. Dette er pga. brandsikkerhed",
- "preregistration_address_label_address": "Adresse",
- "preregistration_address_label_postal_code": "Postnummer",
- "preregistration_address_label_city": "By",
- "preregistration_address_label_country": "Land",
- "preregistration_payment_title": "Betalingskort",
- "preregistration_payment_subtitle": "For at kunne overnatte på Comwell, skal vi bruge et betalingskort.",
- "preregistration_payment_add_card": "Tilføj kort",
- "preregistration_confirmation_title": "Registeringsinformation",
- "preregistration_confirmation_profile_card_title": "Profilinformation",
- "preregistration_confirmation_address_card_title": "Adresse",
- "preregistration_confirmation_payment_card_title": "Betalingskort",
- "preregistration_confirmation_extras_card_title_singular": "1 valgt Tilkøb",
- "preregistration_confirmation_extras_card_title_plural": "{} valgte tilkøb",
- "preregistration_confirmation_extras_card_subtitle": "Skrives på din værelsesregning",
- "comwell_telephone_number": "+4570274274",
- "booking_details_page_hotel_information_button_title": "Hotelinformation",
- "booking_details_page_hotel_information_button_subtitle": "Find relevant information om hotellet",
- "booking_details_page_contact_button_title": "Kontakt",
- "booking_details_page_contact_button_subtitle": "Kom i kontakt med receptionen.",
- "hotel_information_page_menu_restaurants_title": "Restauranter",
- "hotel_information_page_menu_restaurants_subtitle": "Læs om vores restaurant",
- "hotel_information_page_menu_spa_title": "Spa",
- "hotel_information_page_menu_spa_subtitle": "Bade, saunaer, brechelbath, mm.",
- "hotel_information_page_menu_parking_title": "Parkering",
- "hotel_information_page_menu_other_info_title": "Øvrige informationer",
- "hotel_information_page_menu_other_info_subtitle": "Find mere information om hotellet",
- "hotel_information_page_spa_button": "Book spa",
- "housekeeping_page_title": "Housekeeping",
- "housekeeping_page_subtitle": "Ønsker du ekstra rengøring eller opfyldning på værelset, kan du altid bestille det her - uden omkostninger",
- "housekeeping_page_button": "Bestil housekeeping",
- "housekeeping_page_service_title_cleaning": "Rengøring af værelse",
- "housekeeping_page_service_title_towels": "Friske håndklæder",
- "housekeeping_page_service_title_refill": "Genopfyldning af kaffe og te",
- "housekeeping_page_service_title_trash": "Afhentning af skrald",
- "housekeeping_page_service_title_soap": "Sæbe/shampoo",
- "housekeeping_page_cleaning": "Rengøring",
- "housekeeping_page_service_cleaning_subtitle": "Der bliver gjort rent mellem 11 og 14",
- "housekeeping_page_supplies": "Forsyninger",
- "booking_details_page_housekeeping_button_title_ordered": "Housekeeping bestilt",
- "booking_details_page_housekeeping_button_subtitle_ordered": "Rengøring kommer mellem kl. 11 og 14",
- "booking_details_page_housekeeping_button_title": "Bestil housekeeping",
- "booking_details_page_housekeeping_button_subtitle": "Dagen før housekeeping ønskes.",
- "booking_details_page_practical_information": "Praktisk information",
- "booking_details_page_checkout_title": "Check-out",
- "booking_details_page_checkout_subtitle": "Start dit check-out her",
- "booking_details_page_checkout_time": "10:00",
- "need_help": "Har du brug for hjælp?",
- "call_us": "Ring til os",
- "call_us_description": "Har du brug for at komme i kontakt med et af vores hoteller? Benyt knappen nedenfor for at ringe op.",
- "get_a_call": "Bliv ringet op",
- "get_a_call_description": "Indtast dit telefonnummer herunder og bliv ringet op.",
- "call_received_title": "Modtaget",
- "call_received_description": "Vi har modtaget din kontaktforespørgsel. Vores team vil kontakte dig snart.",
- "telephone_number": "Telefonnummer",
- "comwell_telefon_number": "+4570274274",
- "restaurant_page_practical_information": "Praktisk information",
- "restaurant_page_address": "Adresse",
- "restaurant_page_opening_hours": "Åbningstider",
- "restaurant_page_book_table": "Book bord",
- "restaurant_page_send_email": "Skriv en email",
- "overview_page_check_in_button_subtitle": "Få dit digitale nøglekort med det samme",
- "checkout_page_confirmation_title": "Check-out",
- "checkout_page_confirmation_subtitle": "Når du bekræfter dit check-out har du 30 minutter til at forlade værelset før dit nøglekort vil stoppe med at virke.",
- "checkout_page_confirmation_deadline": "Dit check-out skal ske senest kl. 10:00",
- "checkout_page_confirmation_price_title": "Til betaling",
- "checkout_page_confirmation_continue": "Gå til betaling",
- "checkout_page_payment_title": "Betalingsoversigt",
- "checkout_page_payment_total": "Total",
- "checkout_page_payment_price": "{} kr.",
- "checkout_page_payment_club_points_title": "Brug Comwell Club Point",
- "checkout_page_payment_club_points_subtitle": "Du har {} point, anvend og spar {}kr.",
- "checkout_page_payment_club_points_subtitle_zero": "Du har ingen point at anvende",
- "checkout_page_payment_payment_title": "Betal og check ud",
- "checkout_page_confirmation": "Gå til check-out",
- "accept_terms": "Accepter betingelserne",
- "checkout_page_payment_dialog_title": "Er du sikker på du vil checke ud af hotellet?",
- "checkout_page_payment_dialog_subtitle": "Når du bekræfter, har du 30 minutter til at forlade dit værelse.",
- "checkout_page_payment_dialog_confirm": "Ja, check ud nu",
- "checkout_page_payment_dialog_cancel": "Nej",
- "checkout_page_processing_success_title": "Check-out bekræftet",
- "checkout_page_processing_success_subtitle": "Dit check-out er nu bekræftet og du har nu 30 minutter til at forlade dit værelse. Herefter vil du ikke længere kunne bruge dit nøglekort. ",
- "checkout_page_processing_success_subtitle_no_digital_card": "Du er nu checket ud. Husk at aflevere din nøgle i lobbyen.",
- "checkout_page_processing_error_title": "Check-out fejlet",
- "checkout_page_processing_error_subtitle": "Der skete en fejl ved check-out. Du bedes henvende dig i receptionen.",
- "payment_cards_title": "Betalingskort",
- "payment_cards_subtitle": "For at kunne overnatte på Comwell, skal vi bruge et betalingskort.",
- "payment_cards_my_cards": "Mine kort",
- "payment_cards_edit_card_title": "Redigér kort",
- "payment_cards_confirm_remove_title": "Du er ved at fjerne et betalingskort",
- "payment_cards_confirm_remove_subtitle": "Dette betalingskort vil ikke længere være tilgængeligt, hvis du sletter det.",
- "payment_cards_remove_card_button": "Fjern kort",
- "payment_cards_save_card_button": "Gem kort",
- "share_booking_page_title": "Del ophold",
- "share_booking_page_subtitle": "Her kan du dele dit ophold med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge",
- "share_booking_page_share_button": "Del dit ophold",
- "check_out_my_booking": "Check ud af mit ophold",
- "dates": "Datoer",
- "guests": "Gæster",
- "view_booking": "Se booking",
- "comwell_booking": "Comwell Ophold",
- "handle_guests_title": "Håndter gæster",
- "cancel_sharing": "Fortryd deling",
- "name_on_card_hint": "Navn på kort",
- "card_number_hint": "Kortnummer",
- "expiry_date_hint": "Udløbsdato",
- "cvc_hint": "CVC",
- "remove_guest": "Fjern gæst",
- "remove_guests": "Fjern gæster",
- "are_you_sure": "Er du sikker?",
- "guest_removal_responsibility": "Du vil være ansvarlig for alle køb på værelset ved udtjekning (316 kr.)",
- "notifications_page_title": "Notifikationer",
- "subscribe_all": "Tilmeld alle notifikationer",
- "company_deal": "Virksomheds aftale",
- "company_deal_subtitle": "Ja, jeg vil gerne modtage relevant information relateret til virksomheds aftalen fra Comwell A/S via email og SMS. Du kan til enhver tid afslutte din tilmelding ved at klikke på afslut linket nederst i emailen.",
- "club_newsletter": "Comwell Club nyhedsbrev",
- "club_newsletter_subtitle": "Ja, jeg vil gerne modtage e-mails med spændende tilbud om hotelophold og events hos Comwell Hotels. Jeg kan til enhver tid, afslutte min tilmelding.",
- "digital_media": "Digital media",
- "digital_media_subtitle": "Ja, jeg vil gerne se personligt tilpassede digitale reklamer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
- "sms": "SMS",
- "sms_subtitle": "Ja, jeg vil gerne modtage SMS med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
- "email_subtitle": "Ja, jeg vil gerne modtage Emails med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
- "push_subtitle": "Ja, jeg vil gerne modtage push notifikationer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
- "update_profile": "Opdater profil",
- "profile_settings_invalid_date": "Ugyldigt dato",
- "gender": "Køn",
- "comwell_club_dialog_title": "Bliv medlem",
- "comwell_club_dialog_description": "Indtast følgende oplysninger for at blive medlem af Comwell Club",
- "postal_code": "Postnummer",
- "male": "Mand",
- "female": "Kvinde",
- "not_specified": "Ikke angivet",
- "tos_accept": "Accepter ",
- "tos_accept_link": "regler og betingelser for Comwell Club",
- "newsletter_accept": "Ja tak, jeg vil gerne opdateres på aktuelle medlemstilbud, Comwell Club overraskelser og andre anbefalinger tilpasset mig. Jeg kan til enhver tid afmelde mig igen.",
- "read_more": "Læs mere",
- "read_less": "Læs mindre",
- "comwell_club_inactive": "Inaktiv",
- "points": "Point",
- "my_balance": "Min balance",
- "cancel_booking": "Annuller ophold",
- "cancellation_policy": "Annuleringsbetingelser",
- "cancellation_policy_description": "Dette ophold kan annuleres omkostningsfrit indtil d. 12.11.2024 kl. 15:00 på ankomstdagen. Annulleres senere end d. 14.01 skal del faktureres v/r for den første nat.",
- "payment_date": "Betalingsdato",
- "not_shared": "Ikke delt",
- "share_booking": "Del ophold",
- "total_charge": "I alt til betaling",
- "early_checkin": "Tidlig check-in",
- "paid": "BETALT",
- "room_prefix": "Værelse {}",
- "total_charge_value": "{} kr.",
- "generic_error_profile_page": "Der skete en fejl. Prøv igen senere. Eller log ud og prøv igen.",
- "profile_error_name": "Fejl ved indlæsning af profiloplysninger",
- "error": "Fejl",
- "error_logout": "Der skete en fejl",
- "error_logout_subtitle": "Du har været logget ud. Log venligst ind igen.",
- "edit": "Rediger",
- "error_cards": "Fejl ved indlæsning af kort, prøv igen senere.",
- "check_in_button_timer_days_hours_minutes": "Om {} dage, {} timer og {} minutter",
- "check_in_button_timer_hours_minutes": "Om {} timer og {} minutter",
- "check_in_button_timer_minutes": "Om {} minutter",
- "check_in_button_timer_seconds": "Om {} sekunder",
- "approve_conditions_title": "Jeg accepter ",
- "approve_conditions_subtitle": "betingelserne",
- "up_sales_title": "Tidlig check-in",
- "up_sales_subtitle": "Med tidlig check-in kan du checke ind kl. 13.00 i stedet for kl. 15.00.",
- "up_sales_popular": "POPULÆR",
- "services": "Tjenester",
- "up_sales_see_all": "Se alle",
- "up_sales_catalog_button_title": "Se produktkatalog",
- "up_sales_catalog_button_subtitle": "Her kan du se og bestille produkter og skrive dem helt automatisk på din værelsesregning.",
- "up_sales_catalog_title": "Tilkøbsmuligheder",
- "room_upgrades": "Værelsesopgraderinger",
- "other_up_sales": "Andre tilkøb",
- "read_more_up_sales": "Læs mere",
- "continue_without_up_sales": "Fortsæt uden tilkøb",
- "restaurant": "Restaurant",
- "spa": "Spa",
- "parking": "Parkering",
- "go_to_payment": "Gå til betaling",
- "open_maps_error_title": "Kan ikke åbne kort",
- "open_maps_error_subtitle": "Ingen kortprogram er tilgængeligt.",
- "apple_maps": "Apple Kort",
- "google_maps": "Google Kort",
- "add_to_booking": "Tilføj til booking",
- "see_all_facilities": "Se alle faciliteter",
- "remove_from_booking": "Fjern fra booking",
- "no_services_available": "Ingen tjenester tilgængelige",
- "no_room_upgrades_available": "Ingen værelsesopgraderinger tilgængelige",
- "confirm_up_sales_dialog_title": "Bekræft tilkøb",
- "confirm_up_sales_dialog_subtitle": "Er du sikker på, at du vil tilføje disse tilkøb for {} kr. til din booking?",
- "confirm_up_sales_dialog_confirm": "Ja, tilføj tilkøb",
- "confirm_up_sales_dialog_cancel": "Nej",
- "email_launch_error": "Kunne ikke åbne email klient",
- "phone_launch_error": "Kunne ikke åbne telefon",
- "balance": "SALDO",
- "new_booking": "Book nyt ophold",
- "error_opening_website": "Kunne ikke åbne hjemmesiden. Prøv igen senere.",
- "error_opening_website_title": "Fejl",
- "room_selection": "Vælg værelse",
- "room_selection_subtitle": "Vælg et værelse til dit ophold",
- "choose_room": "Vælg dit værelse",
- "choose_room_subtitle": "Du skal vælge dét værelse du gerne vil sove på. Når du har valgt, kan du tildele de andre værelser til andre.",
- "check_in_date": "Check-in dato",
- "check_out_date": "Check-out dato",
- "confirmation_number": "Bekræftelsesnummer",
- "close": "Luk",
- "choose_room_confirmation_title": "Er du sikker på du vil vælge dette værelse?",
- "choose_room_confirmation_subtitle": "Du kan ikke fortryde dit valg. Resterende værelser skal fordeles.",
- "choose_room_confirmation_confirm": "Ja, vælg værelse",
- "choose_room_confirmation_cancel": "Nej",
- "my_room": "Mit værelse",
- "share_room": "Del værelse",
- "share_room_page_title": "Del værelse",
- "share_room_page_subtitle": "Her kan du dele dit værelse med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge",
- "share_room_page_button": "Del dit værelse",
- "received_shared_room_page_title": "Delt med dig",
- "received_shared_room_page_subtitle": "{} har delt dette værelse med dig. Opholdet er blevet tilføjet til din konto.",
- "addon": "Tilkøbt",
- "added_to_room": "Tilkøbt på værelse",
- "force_update_title": "Opdater for at bruge appen",
- "force_update_description": "Der er en nødvendig opdatering til appen, der gør at du skal opdatere for at kunne fortsætte.",
- "force_update_button": "Gå til App Store",
- "invalid_birthday": "Ugyldig fødselsdag",
- "invalid_birthday_description": "Din gemte fødselsdag er ikke tilladt. Vælg en ny dato.",
- "up_sales_confirmation_title": "Betalingsoversigt",
- "up_sales_confirmation_no_up_sales": "Ingen tilvalg valgt.",
- "facilities": "Faciliteter",
- "remove": "Fjern",
- "up_sales_processing_error_title": "Kunne ikke tilføje tilkøb",
- "up_sales_processing_error_subtitle": "Opgraderinger virker ikke i øjeblikket. Prøv igen senere.",
- "pay_bill": "Betal regning",
- "discount": "Comwell Club Point Rabat",
- "error_preregistration": "Kunne ikke preregister, gå til reception",
- "get_keys": "Hent digital nøgle",
- "get_keys_subtitle": "Få dit digitale nøglekort med det samme",
- "add_card": "Tilføj kort",
- "total": "I alt",
- "profile_error_title": "Kunne ikke loade din profil",
- "profile_error_subtitle": "Der er sket en fejl. Prøv igen senere.",
- "generic_error_title": "Der er sket en fejl",
- "notifications_error_subtitle": "Notifikationer kan ikke hentes i øjeblikket. Prøv igen senere.",
- "payment_cards_error_subtitle": "Dine betalingskort kan ikke hentes i øjeblikket. Prøv igen senere.",
- "hotel_information_error_subtitle": "Hotelinformationen kan ikke hentes i øjeblikket. Prøv igen senere.",
- "overview_error_title": "Kunne ikke indlæse dine bookinger",
- "overview_error_subtitle": "Der er sket en fejl. Vi kunne ikke loade dine bookinger. Prøv igen senere.",
- "up_sales_error_title": "Tillægskøb er ikke tilgængelige i øjeblikket",
- "up_sales_error_subtitle": "Der er sket en fejl. Prøv igen senere.",
- "choose_room_error_title": "Kunne ikke vælge værelse",
- "choose_room_error_subtitle": "Der er sket en fejl. Prøv igen senere eller gå til receptionen",
- "share_booking_error_title": "Kunne ikke finde gæsterne på værelset",
- "share_booking_error_subtitle": "Der er sket en fejl. Prøv igen senere.",
- "refresh_bookings": "Opdater bookinger",
- "document_type": "Dokumenttype",
- "document_type_passport": "Passport",
- "document_type_id_card": "ID-kort",
- "document_type_driver_license": "Kørekort",
- "document_type_other": "Andet",
- "document_number": "Dokumentnummer",
- "up_sales_catalog_no_up_sales_title": "Ingen tilvalg tilgængelige",
- "up_sales_catalog_no_up_sales_subtitle": "Der er ingen tilvalg tilgængelige i øjeblikket. Prøv igen senere.",
- "payment_cards_missing_payment_method_title": "Manglende betalingsmetode",
- "payment_cards_missing_payment_method_subtitle": "Vælg venligst en betalingsmetode for at fortsætte.",
- "share_booking_page_error_title": "Fejl",
- "share_booking_page_error_subtitle": "Denne booking er allerede delt.",
- "share_booking_message": "{} vil gerne dele et ophold med dig på Comwell {}. Tilgå via linket: {}",
- "received_shared_booking_page_subtitle": "{} har delt dette ophold med dig. Opholdet er blevet tilføjet til din konto.",
- "check_in_page_error_title": "Værelse ikke fundet",
- "check_in_page_error_subtitle": "Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen.",
- "remove_guest_overview": "Fjern",
- "home_page": "Hjem",
- "send_to_email": "Send til email",
- "download_bill": "Få tilsendt kvittering",
- "bill_email_placeholder": "E-mail",
- "payment_overview_send_receipt_title": "Kvittering via email",
- "payment_overview_send_receipt_subtitle": "VSendes til {}",
- "payment_overview_send_comment_title": "Kommentar",
- "payment_overview_send_receipt_hint": "Indsæt kommentar",
- "key_page_room_prefix": "Værelse {}"
-}
\ No newline at end of file
diff --git a/comwell_key_app/assets/translations/en-US.json b/comwell_key_app/assets/translations/en-US.json
deleted file mode 100644
index 02c44339..00000000
--- a/comwell_key_app/assets/translations/en-US.json
+++ /dev/null
@@ -1,384 +0,0 @@
-{
- "generic_continue": "Continue",
- "generic_information_required": "This information is required",
- "generic_confirm": "Confirm",
- "generic_done": "Done",
- "generic_ok": "OK",
- "generic_credit_card": "Credit Card",
- "generic_apple_pay": "Apple Pay",
- "generic_google_pay": "Google Pay",
- "generic_error": "An error occurred. Please try again later.",
- "lcome_headline": "Welcome at Comwell Hotels",
- "welcome_button": "Continue",
- "welcome_error": "An error occurred. Please try again later.",
- "room_key": "Room key",
- "room_keys": "Room keys",
- "redeem_code": "Redeem code",
- "error_opening_door": "An error occurred",
- "try_again": "Try again",
- "room_key_description": "This is your room key",
- "login_button": "Login",
- "create_user_button": "Create new user",
- "profile_settings_profile_menu": "Profile settings",
- "payment_card_profile_menu": "Payment card",
- "notifications_profile_menu": "Notifications",
- "logout_profile_menu": "Logout",
- "logout_dialog_title": "Do you want to log out of your profile",
- "cancel": "Cancel",
- "name_cc_sign": "Name",
- "become_cc_member_title": "Join comwell club",
- "become_cc_member_subtitle": "Join and earn points every time you stay at a Comwell Hotel.",
- "overview_tabbar_active": "Current",
- "overview_tabbar_past": "Past",
- "overview_tabbar_cancelled": "Cancelled",
- "no_past_bookings_title": "No past stays",
- "no_past_bookings_subtitle": "You have no past stays at Comwell Hotels.",
- "no_cancelled_booking_title": "No cancelled stays",
- "no_cancelled_booking_subtitle": "You have no cancelled stays with us.",
- "booking_annulled": "Cancelled",
- "no_current_bookings": "No current bookings",
- "no_current_bookings_subtitle": "You have no current bookings. Plan your next stay at Comwell.",
- "adults": "adults",
- "children": "children",
- "adult": "adult",
- "child": "child",
- "rooms": "Rooms",
- "prepare_room": "Prepare your room",
- "jump_line_text": "Skip the line with digital check-in",
- "overview_add_booking": "Find booking",
- "open_room": "Open room",
- "hold_phone_to_door": "Hold phone to door",
- "open_room_success": "Success",
- "open_room_error": "Try again!",
- "profile_settings": "Profile settings",
- "profile_settings_firstname": "First name",
- "profile_settings_lastname": "Last name",
- "profile_settings_email": "Email",
- "profile_settings_phone": "Phone",
- "profile_settings_address": "Address",
- "profile_settings_birthday": "Birthday",
- "profile_settings_edit_password": "Edit password",
- "profile_settings_error": "An error occurred. Please try again later.",
- "delete_profile": "Delete profile",
- "my_booking": "My booking",
- "booking_reference": "Bookingreference",
- "check_in": "Check-in",
- "check_out": "Check-out",
- "overview_page_check_in_physical_card_subtitle": "Go to the lobby to get your key",
- "booking_details": "Booking",
- "number_of_guests": "Number of guests",
- "booker": "Booker",
- "booking_date": "Booking date",
- "payment": "Payment",
- "payment_method": "Payment method",
- "bill": "Bill",
- "get_bill": "Get bill",
- "your_last_name": "Your last name",
- "find_booking": "Find booking",
- "choose_hotel": "Choose hotel",
- "hotels": "Hotels",
- "all": "All",
- "zealand": "Zealand",
- "funen": "Funen",
- "jutland": "Jutland",
- "booking_not_found": "Booking not found",
- "booking_not_found_subtitle": "We could not find a booking with the information you provided.",
- "booking_not_found_button": "Try again",
- "booking_not_found_cancel": "Cancel",
- "save": "Save",
- "zipCode": "Zip code",
- "city": "City",
- "country": "Country",
- "delete_profile_title": "You are about to delete your profile",
- "delete_profile_description": "Are you sure you want to delete your profile? This action cannot be undone.",
- "delete_profile_button": "Delete profile",
- "delete_profile_cancel": "Cancel",
- "check_in_loading_title": "Finding your room...",
- "check_in_room_found_title": "Room found...",
- "check_in_your_digital_card_title": "Your Digital KeyCard",
- "check_in_your_digital_card_subtitle": "Use your phone to open your room. You do not have to check in at the reception",
- "check_in_your_digital_card_nb": "NB: If you require a physical keycard, you can always get one from the reception",
- "check_in_error_title": "Room not found...",
- "check_in_error_subtitle": "We could not find the room. Please check in at the reception.",
- "preregistration_address_title": "Address",
- "check_in_your_digital_card_room_prefix": "Room",
- "preregistration_address_subtitle": "It is required by law to know your address",
- "preregistration_address_label_address": "Address",
- "preregistration_address_label_postal_code": "Postal code",
- "preregistration_address_label_city": "City",
- "preregistration_address_label_country": "Country",
- "preregistration_payment_title": "Payment methods",
- "preregistration_payment_subtitle": "To stay at Comwell, you need to add a payment method",
- "preregistration_payment_add_card": "Add card",
- "preregistration_confirmation_title": "Registration information",
- "preregistration_confirmation_profile_card_title": "Profile information",
- "preregistration_confirmation_address_card_title": "Address",
- "preregistration_confirmation_payment_card_title": "Payment method",
- "preregistration_confirmation_extras_card_title_singular": "1 extra purchase",
- "preregistration_confirmation_extras_card_title_plural": "{} extra purchases",
- "preregistration_confirmation_extras_card_subtitle": "Will be added to your bill",
- "need_help": "Need help?",
- "call_us": "Call us",
- "call_us_description": "Enter your phone number below and we will call you.",
- "get_a_call": "Get a call",
- "get_a_call_description": "Enter your phone number below and we will call you.",
- "call_received_title": "Received",
- "call_received_description": "We have received your contact request. Our team will get back to you soon.",
- "telephone_number": "Telephone number",
- "comwell_telephone_number": "+4570274274",
- "booking_details_page_hotel_information_button_title": "Hotel information",
- "booking_details_page_hotel_information_button_subtitle": "Find relevant information about the hotel",
- "booking_details_page_contact_button_title": "Contact",
- "booking_details_page_contact_button_subtitle": "Contact the reception ",
- "housekeeping_page_title": "Housekeeping",
- "housekeeping_page_subtitle": "If you wish for housekeeping, you can order it here",
- "housekeeping_page_button": "Order housekeeping",
- "housekeeping_page_service_title_cleaning": "Cleaning of the room",
- "housekeeping_page_service_title_towels": "Soap and shampoo",
- "housekeeping_page_service_title_refill": "Refill coffee and tea",
- "housekeeping_page_service_title_trash": "Fresh towels",
- "housekeeping_page_service_title_soap": "Trash removal",
- "housekeeping_page_service_cleaning_subtitle": "Cleaning is between 11 and 14",
- "housekeeping_page_supplies": "Supplies",
- "housekeeping_page_cleaning": "Cleaning",
- "booking_details_page_housekeeping_button_title_ordered": "Cleaning is ordered",
- "booking_details_page_housekeeping_button_subtitle_ordered": "Cleaning is between 11 and 14",
- "housekeeping_page_supplies_subtitle_towels": "Soap and shampoo",
- "housekeeping_page_supplies_subtitle_refill": "Refill coffee and tea",
- "housekeeping_page_supplies_subtitle_trash": "Fresh towels",
- "housekeeping_page_supplies_subtitle_soap": "Trash removal",
- "booking_details_page_housekeeping_button_title": "Order housekeeping",
- "booking_details_page_housekeeping_button_subtitle": "The day before housekeeping is requested.",
- "booking_details_page_practical_information": "Practical information",
- "booking_details_page_checkout_title": "Check-out",
- "booking_details_page_checkout_subtitle": "Start your check-out here",
- "booking_details_page_checkout_time": "10 AM",
- "hotel_information_page_menu_restaurants_title": "Restaurants",
- "hotel_information_page_menu_restaurants_subtitle": "Read about our restaurant",
- "hotel_information_page_menu_spa_title": "Spa",
- "hotel_information_page_menu_spa_subtitle": "Baths, saunas, brechelbath, etc.",
- "hotel_information_page_menu_parking_title": "Parking",
- "hotel_information_page_menu_other_info_title": "More information",
- "hotel_information_page_menu_other_info_subtitle": "Find more information",
- "hotel_information_page_spa_button": "Book spa",
- "restaurant_page_practical_information": "Practical information",
- "restaurant_page_address": "Addrese",
- "restaurant_page_opening_hours": "Opening hours",
- "restaurant_page_book_table": "Book table",
- "restaurant_page_send_email": "Write an email",
- "overview_page_check_in_button_subtitle": "Get your digital key card",
- "checkout_page_confirmation_title": "Check-out",
- "checkout_page_confirmation_subtitle": "When you check out, you have 30 minutes to leave your room",
- "checkout_page_confirmation_deadline": "Check out latest at 10 AM",
- "checkout_page_confirmation_price_title": "To be paid",
- "checkout_page_confirmation_continue": "Go to payment",
- "checkout_page_payment_title": "Payment overview",
- "checkout_page_payment_total": "Total",
- "checkout_page_payment_price": "{} kr.",
- "checkout_page_payment_club_points_title": "Use Comwell Club Points",
- "checkout_page_payment_club_points_subtitle": "You have {} points, use them and save {}kr.",
- "checkout_page_payment_club_points_subtitle_zero": "You have no points to use",
- "checkout_page_payment_payment_title": "Pay and check out",
- "checkout_page_confirmation": "Go to checkout",
- "accept_terms": "Accept terms and conditions",
- "checkout_page_payment_dialog_title": "Are you sure you want to check out?",
- "checkout_page_payment_dialog_subtitle": "When you check out, you have 30 minutes to leave your room",
- "checkout_page_payment_dialog_confirm": "Yes, check out now",
- "checkout_page_payment_dialog_cancel": "No",
- "checkout_page_processing_success_title": "Check-out confirmed",
- "checkout_page_processing_success_subtitle": "You have 30 minutes to leave your room, after which you will no longer be able to use your keycard.",
- "checkout_page_processing_success_subtitle_no_digital_card": "You are now checked out. Please return your key to the reception",
- "checkout_page_processing_error_title": "Check-out failed",
- "checkout_page_processing_error_subtitle": "An error occurred while checking out. Please go to the reception.",
- "payment_cards_title": "Payment cards",
- "payment_cards_subtitle": "To stay at Comwell, we need a payment card.",
- "payment_cards_my_cards": "My cards",
- "payment_cards_confirm_remove_title": "You are removing the card",
- "payment_cards_confirm_remove_subtitle": "This payment card will no longer be usable",
- "payment_cards_remove_card_button": "Remove card",
- "payment_cards_edit_card_title": "Edit card",
- "payment_cards_save_card_button": "Save card",
- "share_booking_page_title": "Share booking",
- "share_booking_page_subtitle": "Here you can share your booking with another guest and give them access to booking information, keycard and Concierge",
- "share_booking_page_share_button": "Share your booking",
- "handle_guests_title": "Handle guests",
- "cancel_sharing": "Cancel sharing",
- "check_out_my_booking": "Check out my booking",
- "dates": "Dates",
- "guests": "Guests",
- "view_booking": "View booking",
- "comwell_booking": "Comwell Booking",
- "name_on_card_hint": "Name on card",
- "card_number_hint": "Card number",
- "expiry_date_hint": "Expiry date",
- "cvc_hint": "CVC",
- "remove_guest": "Remove guest",
- "remove_guests": "Remove guests",
- "are_you_sure": "Are you sure?",
- "guest_removal_responsibility": "You will be responsible for all things purchased on the room at checkout ",
- "notifications_page_title": "Notifications",
- "subscribe_all": "Subscribe to all notifications",
- "company_deal": "Company deal",
- "company_deal_subtitle": "Yes, I would like to receive relevant information related to the company agreement from Comwell A/S via email and SMS. You can unsubscribe at any time by clicking the unsubscribe link at the bottom of the email.",
- "club_newsletter": "Club newsletter",
- "club_newsletter_subtitle": "Yes, I would like to recieve e-mails with exiciting offers regarding hotel stays and events at Comwell. I can at any time, unsubscribe.",
- "digital_media": "Digital media",
- "digital_media_subtitle": "Yes, I would like see personalized digital media advertising with news, inspiration and invitations to events. I can at any time, unsubscribe.",
- "sms": "SMS",
- "sms_subtitle": "Yes, I would like to recieve SMS with news, inspiration and invitations to events. I can at any time, unsubscribe.",
- "email_subtitle": "Yes, I would like to receive emails with news, inspiration and invitations to events. I can at any time, unsubscribe.",
- "push_subtitle": "Yes, I would like to receive push notifications with news, inspiration and invitations to events. I can at any time, unsubscribe.",
- "update_profile": "Update profile",
- "profile_settings_invalid_date": "Invalid date",
- "gender": "Gender",
- "comwell_club_dialog_title": "Become a member",
- "comwell_club_dialog_description": "Please fill in the following information to join Comwell Club",
- "postal_code": "Postal code",
- "male": "Male",
- "female": "Female",
- "not_specified": "Not Specified",
- "tos_accept": "Accept ",
- "tos_accept_link": "terms and conditions for Comwell Club",
- "newsletter_accept": "Yes, I would like to receive updates on current member offers, Comwell Club surprises and other recommendations tailored to me. I can unsubscribe at any time.",
- "read_more": "Read more",
- "read_less": "Read less",
- "comwell_club_inactive": "Inactive",
- "points": "Points",
- "my_balance": "My balance",
- "cancel_booking": "Cancel booking",
- "cancellation_policy": "Cancellation policy",
- "cancellation_policy_description": "This booking can be cancelled free of charge until the day of arrival. If cancelled later than 14.01, the first night will be charged.",
- "payment_date": "Payment date",
- "not_shared": "Not shared",
- "share_booking": "Share booking",
- "total_charge": "Total charge",
- "early_checkin": "Early check-in",
- "paid": "PAID",
- "restaurant": "Restaurant",
- "spa": "Spa",
- "parking": "Parking",
- "go_to_payment": "Go to payment",
- "room_prefix": "Room {}",
- "total_charge_value": "{} kr.",
- "generic_error_profile_page": "An error occurred. Please try again later. Or logout and try again.",
- "profile_error_name": "Failed to load profile information",
- "error": "Error",
- "error_logout": "There has been an error",
- "error_logout_subtitle": "Please log in again",
- "edit": "Edit",
- "error_cards": "Failed to load cards, try again later",
- "check_in_button_timer_days_hours_minutes": "In {} days, {} hours and {} minutes",
- "check_in_button_timer_hours_minutes": "In {} hours and {} minutes",
- "check_in_button_timer_minutes": "In {} minutes",
- "check_in_button_timer_seconds": "In {} seconds",
- "approve_conditions_title": "I accept ",
- "approve_conditions_subtitle": "terms and conditions",
- "up_sales_title": "Early check-in",
- "up_sales_subtitle": "With early check-in you can check in at 13.00 instead of 15.00.",
- "up_sales_popular": "POPULAR",
- "services": "Services",
- "up_sales_see_all": "See all",
- "up_sales_catalog_button_title": "See product catalog",
- "up_sales_catalog_button_subtitle": "Here you can see and order products and write them automatically on your room bill.",
- "up_sales_catalog_title": "Upgrades & Services",
- "room_upgrades": "Room upgrades",
- "other_up_sales": "Other upgrades",
- "read_more_up_sales": "Read more",
- "continue_without_up_sales": "Continue without upgrades",
- "open_maps_error_title": "Cannot open maps",
- "open_maps_error_subtitle": "No maps application is available.",
- "apple_maps": "Apple Maps",
- "google_maps": "Google Maps",
- "add_to_booking": "Add to booking",
- "see_all_facilities": "See all facilities",
- "remove_from_booking": "Remove from booking",
- "no_services_available": "No services available",
- "no_room_upgrades_available": "No room upgrades available",
- "confirm_up_sales_dialog_title": "Confirm upgrades",
- "confirm_up_sales_dialog_subtitle": "Are you sure you want to add these upgrades for {} kr to your booking?",
- "confirm_up_sales_dialog_confirm": "Yes, add upgrades",
- "confirm_up_sales_dialog_cancel": "No",
- "email_launch_error": "Could not launch email client",
- "phone_launch_error": "Could not launch phone call",
- "balance": "BALANCE",
- "new_booking": "Make a new booking",
- "error_opening_website": "Failed to open the website. Please try again later.",
- "error_opening_website_title": "Error",
- "room_selection": "Room selection",
- "room_selection_subtitle": "Select a room for your stay",
- "choose_room": "Choose room",
- "choose_room_subtitle": "You need to choose the room you want to sleep in. When you have chosen, you can assign the other rooms to others.",
- "check_in_date": "Check-in date",
- "check_out_date": "Check-out date",
- "confirmation_number": "Confirmation number",
- "close": "Close",
- "choose_room_confirmation_title": "Are you sure you want to choose this room?",
- "choose_room_confirmation_subtitle": "You cannot undo your choice. Remaining rooms must be assigned.",
- "choose_room_confirmation_confirm": "Yes, choose room",
- "choose_room_confirmation_cancel": "No",
- "my_room": "My room",
- "share_room": "Share room",
- "share_room_page_title": "Share room",
- "share_room_page_subtitle": "Here you can share your room with another guest and give them access to booking information, keycard and Concierge",
- "share_room_page_button": "Share your room",
- "addon": "Added purchase",
- "added_to_room": "Added to room",
- "force_update_title": "Update required",
- "force_update_description": "To continue using the app, please update to the latest version.",
- "force_update_button": "Go to App Store",
- "invalid_birthday": "Invalid birthday",
- "invalid_birthday_description": "Your saved birthday is not allowed. Please pick a new date.",
- "up_sales_confirmation_title": "Payment overview",
- "up_sales_confirmation_no_up_sales": "No upgrades selected.",
- "facilities": "Facilities",
- "remove": "Remove",
- "up_sales_processing_error_title": "Failed to add addons",
- "up_sales_processing_error_subtitle": "Addons are not available at the moment. Please try again later.",
- "pay_bill": "Pay bill",
- "discount": "Comwell Club Points Discount",
- "error_preregistration": "Failed to preregister, go to reception",
- "get_keys": "Get digital key",
- "get_keys_subtitle": "Get your digital key card",
- "add_card": "Add card",
- "total": "Total",
- "profile_error_title": "Could not load your profile",
- "profile_error_subtitle": "An error occurred. Please try again later.",
- "generic_error_title": "There was an error",
- "notifications_error_subtitle": "Notifications could not be loaded. Please try again later.",
- "payment_cards_error_subtitle": "Payment cards could not be loaded. Please try again later.",
- "hotel_information_error_subtitle": "Hotel information could not be loaded. Please try again later.",
- "overview_error_title": "Could not load your bookings",
- "overview_error_subtitle": "An error occurred. We could not load your bookings. Please try again later.",
- "up_sales_error_title": "Could not load up sales",
- "up_sales_error_subtitle": "An error occurred. We could not load up sales. Please try again later.",
- "choose_room_error_title": "Could not choose room",
- "choose_room_error_subtitle": "An error occurred. Please try again later or go to the reception.",
- "share_booking_error_title": "Could not find guests on the room",
- "share_booking_error_subtitle": "An error occurred. Please try again later.",
- "refresh_bookings": "Refresh bookings",
- "document_type": "Document type",
- "document_type_passport": "Passport",
- "document_type_id_card": "ID card",
- "document_type_driver_license": "Driver license",
- "document_type_other": "Other",
- "document_number": "Document number",
- "up_sales_catalog_no_up_sales_title": "No upgrades available",
- "up_sales_catalog_no_up_sales_subtitle": "No upgrades are available at the moment. Please try again later.",
- "payment_cards_missing_payment_method_title": "Missing payment method",
- "payment_cards_missing_payment_method_subtitle": "Please select a payment method to continue.",
- "share_booking_page_error_title": "Error",
- "share_booking_page_error_subtitle": "This booking has already been shared.",
- "share_booking_message": "{} would like to share a booking with you at Comwell {}. Access via the link: {}",
- "check_in_page_error_title": "Room not found",
- "check_in_page_error_subtitle": "We could not find the room. Please check in at the reception.",
- "remove_guest_overview": "Remove",
- "home_page": "Home",
- "send_to_email": "Send to email",
- "download_bill": "Get receipt",
- "bill_email_placeholder": "E-mail",
- "payment_overview_send_receipt_title": "Receipt via email",
- "payment_overview_send_receipt_subtitle": "Sent to {}",
- "payment_overview_send_comment_title": "Comment",
- "payment_overview_send_receipt_hint": "Enter comment",
- "key_page_room_prefix": "Room {}"
-}
diff --git a/comwell_key_app/assets/translations/intl_da.arb b/comwell_key_app/assets/translations/intl_da.arb
new file mode 100644
index 00000000..91173665
--- /dev/null
+++ b/comwell_key_app/assets/translations/intl_da.arb
@@ -0,0 +1,386 @@
+{
+ "@@locale": "da",
+ "generic_continue": "Fortsæt",
+ "generic_information_required": "Dette felt er påkrævet",
+ "generic_confirm": "Bekræft",
+ "generic_done": "Færdig",
+ "generic_ok": "OK",
+ "generic_credit_card": "Kreditkort",
+ "generic_apple_pay": "Apple Pay",
+ "generic_google_pay": "Google Pay",
+ "generic_error": "Der skete en fejl. Prøv igen.",
+ "welcome_headline": "Velkommen hos Comwell Hotels",
+ "welcome_button": "Fortsæt",
+ "welcome_error": "Der er sket en fejl. Genstart app.",
+ "room_key": "Nøgle",
+ "room_keys": "Nøgler",
+ "redeem_code": "Indløs kode",
+ "error_opening_door": "Der skete en fejl.",
+ "try_again": "Prøv igen",
+ "room_key_description": "Dette er din nøgle til værelset.",
+ "login_button": "Login",
+ "create_user_button": "Opret ny bruger",
+ "profile_settings_profile_menu": "Profilindstillinger",
+ "payment_card_profile_menu": "Betalingskort",
+ "notifications_profile_menu": "Notifikationer",
+ "logout_profile_menu": "Log ud",
+ "logout_dialog_title": "Vil du logge ud af din profil",
+ "cancel": "Annuller",
+ "name_cc_sign": "Navn",
+ "become_cc_member_title": "Bliv medlem af comwell club",
+ "become_cc_member_subtitle": "Bliv medlem og optjen point, hver gang du overnatter på et Comwell Hotel.",
+ "overview_tabbar_active": "Aktuelle",
+ "overview_tabbar_past": "Tidligere",
+ "overview_tabbar_cancelled": "Annulleret",
+ "no_past_bookings_title": "Ingen tidligere ophold",
+ "no_past_bookings_subtitle": "Du har ingen tidligere overnatninger på Comwell Hotels.",
+ "no_cancelled_booking_title": "Ingen annullerede ophold",
+ "no_cancelled_booking_subtitle": "Du har ingen annullerede overnatninger hos os.",
+ "booking_annulled": "Annulleret",
+ "no_current_bookings": "Ingen aktuelle bookinger",
+ "no_current_bookings_subtitle": "Du har ingen aktuelle bookinger. Planlæg næste ophold på Comwell.",
+ "adults": "voksne",
+ "children": "børn",
+ "adult": "voksen",
+ "child": "barn",
+ "rooms": "Værelser",
+ "prepare_room": "Klargør dit værelse",
+ "jump_line_text": "Spring køen over med digital check-in",
+ "overview_add_booking": "Find booking",
+ "open_room": "Åben værelse",
+ "hold_phone_to_door": "Hold tæt på læser",
+ "open_room_success": "Succes",
+ "open_room_error": "Prøv igen!",
+ "profile_settings": "Profilindstillinger",
+ "profile_settings_firstname": "Fornavn",
+ "profile_settings_lastname": "Efternavn",
+ "profile_settings_email": "Email",
+ "profile_settings_phone": "Telefon",
+ "profile_settings_address": "Adresse",
+ "profile_settings_birthday": "Fødselsdag",
+ "profile_settings_edit_password": "Ret adgangskode",
+ "profile_settings_error": "Der skete en fejl. Prøv igen.",
+ "delete_profile": "Slet profil",
+ "my_booking": "Min booking",
+ "booking_reference": "Bookingreference",
+ "check_in": "Check-in",
+ "check_out": "Check-out",
+ "overview_page_check_in_physical_card_subtitle": "Gå i lobbyen og få udleveret din nøgle",
+ "booking_details": "Booking",
+ "number_of_guests": "Personer",
+ "booker": "Booker",
+ "booking_date": "Booking dato",
+ "payment": "Betaling",
+ "payment_method": "Betalingsmetode",
+ "bill": "Kvittering",
+ "get_bill": "Hent kvittering",
+ "your_last_name": "Dit efternavn",
+ "find_booking": "Find booking",
+ "choose_hotel": "Vælg hotel",
+ "hotels": "Hoteller",
+ "all": "Alle",
+ "zealand": "Sjælland",
+ "funen": "Fyn",
+ "jutland": "Jylland",
+ "booking_not_found": "Booking blev ikke fundet",
+ "booking_not_found_subtitle": "Den booking du leder efter, kunne ikke findes. \nHar du skrevet oplysningerne korrekt?",
+ "booking_not_found_button": "Prøv igen",
+ "booking_not_found_cancel": "Annuller",
+ "save": "Gem",
+ "zipCode": "Postnummer",
+ "city": "By",
+ "country": "Land",
+ "delete_profile_title": "Du er ved at slette din profil",
+ "delete_profile_description": "Når du sletter din profil, mister du overblik over tidligere ophold samt dine Comwell Club point",
+ "delete_profile_button": "Slet profil",
+ "delete_profile_cancel": "Annuller",
+ "check_in_loading_title": "Finder dit værelse...",
+ "check_in_room_found_title": "Værelse fundet...",
+ "check_in_your_digital_card_title": "Dit Digitale Nøglekort",
+ "check_in_your_digital_card_subtitle": "Brug din mobiltelefon til at åbne værelset op. Du skal ikke længere checke ind i receptionen.",
+ "check_in_your_digital_card_nb": "NB: Ønsker du et fysisk nøglekort, kan du altid gå i receptionen og få det udleveret.",
+ "check_in_error_title": "Værelse ikke fundet...",
+ "check_in_error_subtitle": "Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen.",
+ "preregistration_address_title": "Adresse",
+ "check_in_your_digital_card_room_prefix": "Værelse",
+ "preregistration_address_subtitle": "Det er lovpligtigt at vi kender adressen på den primære beboer på værelset. Dette er pga. brandsikkerhed",
+ "preregistration_address_label_address": "Adresse",
+ "preregistration_address_label_postal_code": "Postnummer",
+ "preregistration_address_label_city": "By",
+ "preregistration_address_label_country": "Land",
+ "preregistration_payment_title": "Betalingskort",
+ "preregistration_payment_subtitle": "For at kunne overnatte på Comwell, skal vi bruge et betalingskort.",
+ "preregistration_payment_add_card": "Tilføj kort",
+ "preregistration_confirmation_title": "Registeringsinformation",
+ "preregistration_confirmation_profile_card_title": "Profilinformation",
+ "preregistration_confirmation_address_card_title": "Adresse",
+ "preregistration_confirmation_payment_card_title": "Betalingskort",
+ "preregistration_confirmation_extras_card_title_singular": "1 valgt Tilkøb",
+ "preregistration_confirmation_extras_card_title_plural": "{amount} valgte tilkøb",
+ "preregistration_confirmation_extras_card_subtitle": "Skrives på din værelsesregning",
+ "need_help": "Har du brug for hjælp?",
+ "call_us": "Ring til os",
+ "call_us_description": "Har du brug for at komme i kontakt med et af vores hoteller? Benyt knappen nedenfor for at ringe op.",
+ "get_a_call": "Bliv ringet op",
+ "get_a_call_description": "Indtast dit telefonnummer herunder og bliv ringet op.",
+ "call_received_title": "Modtaget",
+ "call_received_description": "Vi har modtaget din kontaktforespørgsel. Vores team vil kontakte dig snart.",
+ "telephone_number": "Telefonnummer",
+ "comwell_telephone_number": "+4570274274",
+ "booking_details_page_hotel_information_button_title": "Hotelinformation",
+ "booking_details_page_hotel_information_button_subtitle": "Find relevant information om hotellet",
+ "booking_details_page_contact_button_title": "Kontakt",
+ "booking_details_page_contact_button_subtitle": "Kom i kontakt med receptionen.",
+ "housekeeping_page_title": "Housekeeping",
+ "housekeeping_page_subtitle": "Ønsker du ekstra rengøring eller opfyldning på værelset, kan du altid bestille det her - uden omkostninger",
+ "housekeeping_page_button": "Bestil housekeeping",
+ "housekeeping_page_service_title_cleaning": "Rengøring af værelse",
+ "housekeeping_page_service_title_towels": "Friske håndklæder",
+ "housekeeping_page_service_title_refill": "Genopfyldning af kaffe og te",
+ "housekeeping_page_service_title_trash": "Afhentning af skrald",
+ "housekeeping_page_service_title_soap": "Sæbe/shampoo",
+ "housekeeping_page_service_cleaning_subtitle": "Der bliver gjort rent mellem 11 og 14",
+ "housekeeping_page_supplies": "Forsyninger",
+ "housekeeping_page_cleaning": "Rengøring",
+ "booking_details_page_housekeeping_button_title_ordered": "Housekeeping bestilt",
+ "booking_details_page_housekeeping_button_subtitle_ordered": "Rengøring kommer mellem kl. 11 og 14",
+ "housekeeping_page_supplies_subtitle_towels": "Soap and shampoo",
+ "housekeeping_page_supplies_subtitle_refill": "Refill coffee and tea",
+ "housekeeping_page_supplies_subtitle_trash": "Fresh towels",
+ "housekeeping_page_supplies_subtitle_soap": "Trash removal",
+ "booking_details_page_housekeeping_button_title": "Bestil housekeeping",
+ "booking_details_page_housekeeping_button_subtitle": "Dagen før housekeeping ønskes.",
+ "booking_details_page_practical_information": "Praktisk information",
+ "booking_details_page_checkout_title": "Check-out",
+ "booking_details_page_checkout_subtitle": "Start dit check-out her",
+ "booking_details_page_checkout_time": "10:00 AM",
+ "hotel_information_page_menu_restaurants_title": "Restauranter",
+ "hotel_information_page_menu_restaurants_subtitle": "Læs om vores restaurant",
+ "hotel_information_page_menu_spa_title": "Spa",
+ "hotel_information_page_menu_spa_subtitle": "Bade, saunaer, brechelbath, mm.",
+ "hotel_information_page_menu_parking_title": "Parkering",
+ "hotel_information_page_menu_other_info_title": "Øvrige informationer",
+ "hotel_information_page_menu_other_info_subtitle": "Find mere information om hotellet",
+ "hotel_information_page_spa_button": "Book spa",
+ "restaurant_page_practical_information": "Praktisk information",
+ "restaurant_page_address": "Adresse",
+ "restaurant_page_opening_hours": "Åbningstider",
+ "restaurant_page_book_table": "Book bord",
+ "restaurant_page_send_email": "Skriv en email",
+ "overview_page_check_in_button_subtitle": "Få dit digitale nøglekort med det samme",
+ "checkout_page_confirmation_title": "Check-out",
+ "checkout_page_confirmation_subtitle": "Når du bekræfter dit check-out har du 30 minutter til at forlade værelset før dit nøglekort vil stoppe med at virke.",
+ "checkout_page_confirmation_deadline": "Dit check-out skal ske senest kl. 10:00",
+ "checkout_page_confirmation_price_title": "Til betaling",
+ "checkout_page_confirmation_continue": "Gå til betaling",
+ "checkout_page_payment_title": "Betalingsoversigt",
+ "checkout_page_payment_total": "Total",
+ "checkout_page_payment_price": "{amount} kr.",
+ "checkout_page_payment_club_points_title": "Brug Comwell Club Point",
+ "checkout_page_payment_club_points_subtitle": "Du har {points} point, anvend og spar {amount}kr.",
+ "checkout_page_payment_club_points_subtitle_zero": "Du har ingen point at anvende",
+ "checkout_page_payment_payment_title": "Betal og check ud",
+ "checkout_page_confirmation": "Gå til check-out",
+ "accept_terms": "Accepter betingelserne",
+ "checkout_page_payment_dialog_title": "Er du sikker på du vil checke ud af hotellet?",
+ "checkout_page_payment_dialog_subtitle": "Når du bekræfter, har du 30 minutter til at forlade dit værelse.",
+ "checkout_page_payment_dialog_confirm": "Ja, check ud nu",
+ "checkout_page_payment_dialog_cancel": "Nej",
+ "checkout_page_processing_success_title": "Check-out bekræftet",
+ "checkout_page_processing_success_subtitle": "Dit check-out er nu bekræftet og du har nu 30 minutter til at forlade dit værelse. Herefter vil du ikke længere kunne bruge dit nøglekort. ",
+ "checkout_page_processing_success_subtitle_no_digital_card": "Du er nu checket ud. Husk at aflevere din nøgle i lobbyen.",
+ "checkout_page_processing_error_title": "Check-out fejlet",
+ "checkout_page_processing_error_subtitle": "Der skete en fejl ved check-out. Du bedes henvende dig i receptionen.",
+ "payment_cards_title": "Betalingskort",
+ "payment_cards_subtitle": "For at kunne overnatte på Comwell, skal vi bruge et betalingskort.",
+ "payment_cards_my_cards": "Mine kort",
+ "payment_cards_confirm_remove_title": "Du er ved at fjerne et betalingskort",
+ "payment_cards_confirm_remove_subtitle": "Dette betalingskort vil ikke længere være tilgængeligt, hvis du sletter det.",
+ "payment_cards_remove_card_button": "Fjern kort",
+ "payment_cards_edit_card_title": "Redigér kort",
+ "payment_cards_save_card_button": "Gem kort",
+ "share_booking_page_title": "Del ophold",
+ "share_booking_page_subtitle": "Her kan du dele dit ophold med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge",
+ "share_booking_page_share_button": "Del dit ophold",
+ "handle_guests_title": "Håndter gæster",
+ "cancel_sharing": "Fortryd deling",
+ "check_out_my_booking": "Check ud af mit ophold",
+ "dates": "Datoer",
+ "guests": "Gæster",
+ "view_booking": "Se booking",
+ "comwell_booking": "Comwell Ophold",
+ "name_on_card_hint": "Navn på kort",
+ "card_number_hint": "Kortnummer",
+ "expiry_date_hint": "Udløbsdato",
+ "cvc_hint": "CVC",
+ "remove_guest": "Fjern gæst",
+ "remove_guests": "Fjern gæster",
+ "are_you_sure": "Er du sikker?",
+ "guest_removal_responsibility": "Du vil være ansvarlig for alle køb på værelset ved udtjekning (316 kr.)",
+ "notifications_page_title": "Notifikationer",
+ "subscribe_all": "Tilmeld alle notifikationer",
+ "company_deal": "Virksomheds aftale",
+ "company_deal_subtitle": "Ja, jeg vil gerne modtage relevant information relateret til virksomheds aftalen fra Comwell A/S via email og SMS. Du kan til enhver tid afslutte din tilmelding ved at klikke på afslut linket nederst i emailen.",
+ "club_newsletter": "Comwell Club nyhedsbrev",
+ "club_newsletter_subtitle": "Ja, jeg vil gerne modtage e-mails med spændende tilbud om hotelophold og events hos Comwell Hotels. Jeg kan til enhver tid, afslutte min tilmelding.",
+ "digital_media": "Digital media",
+ "digital_media_subtitle": "Ja, jeg vil gerne se personligt tilpassede digitale reklamer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
+ "sms": "SMS",
+ "sms_subtitle": "Ja, jeg vil gerne modtage SMS med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
+ "email_subtitle": "Ja, jeg vil gerne modtage Emails med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
+ "push_subtitle": "Ja, jeg vil gerne modtage push notifikationer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.",
+ "update_profile": "Opdater profil",
+ "profile_settings_invalid_date": "Ugyldigt dato",
+ "gender": "Køn",
+ "comwell_club_dialog_title": "Bliv medlem",
+ "comwell_club_dialog_description": "Indtast følgende oplysninger for at blive medlem af Comwell Club",
+ "postal_code": "Postnummer",
+ "male": "Mand",
+ "female": "Kvinde",
+ "not_specified": "Ikke angivet",
+ "tos_accept": "Accepter ",
+ "tos_accept_link": "regler og betingelser for Comwell Club",
+ "newsletter_accept": "Ja tak, jeg vil gerne opdateres på aktuelle medlemstilbud, Comwell Club overraskelser og andre anbefalinger tilpasset mig. Jeg kan til enhver tid afmelde mig igen.",
+ "read_more": "Læs mere",
+ "read_less": "Læs mindre",
+ "comwell_club_inactive": "Inaktiv",
+ "points": "Point",
+ "my_balance": "Min balance",
+ "cancel_booking": "Annuller ophold",
+ "cancellation_policy": "Annuleringsbetingelser",
+ "cancellation_policy_description": "Dette ophold kan annuleres omkostningsfrit indtil d. 12.11.2024 kl. 15:00 på ankomstdagen. Annulleres senere end d. 14.01 skal del faktureres v/r for den første nat.",
+ "payment_date": "Betalingsdato",
+ "not_shared": "Ikke delt",
+ "share_booking": "Del ophold",
+ "total_charge": "I alt til betaling",
+ "early_checkin": "Tidlig check-in",
+ "paid": "BETALT",
+ "restaurant": "Restaurant",
+ "spa": "Spa",
+ "parking": "Parkering",
+ "go_to_payment": "Gå til betaling",
+ "room_prefix": "Værelse {roomNumber}",
+ "total_charge_value": "{amount} kr.",
+ "generic_error_profile_page": "Der skete en fejl. Prøv igen senere. Eller log ud og prøv igen.",
+ "profile_error_name": "Fejl ved indlæsning af profiloplysninger",
+ "error": "Fejl",
+ "error_logout": "Der skete en fejl",
+ "error_logout_subtitle": "Du har været logget ud. Log venligst ind igen.",
+ "edit": "Rediger",
+ "error_cards": "Fejl ved indlæsning af kort, prøv igen senere.",
+ "check_in_button_timer_days_hours_minutes": "Om {d} dage, {h} timer og {m} minutter",
+ "check_in_button_timer_hours_minutes": "Om {h} timer og {m} minutter",
+ "check_in_button_timer_minutes": "Om {m} minutter",
+ "check_in_button_timer_seconds": "Om {s} sekunder",
+ "approve_conditions_title": "Jeg accepter ",
+ "approve_conditions_subtitle": "betingelserne",
+ "up_sales_title": "Tidlig check-in",
+ "up_sales_subtitle": "Med tidlig check-in kan du checke ind kl. 13.00 i stedet for kl. 15.00.",
+ "up_sales_popular": "POPULÆR",
+ "services": "Tjenester",
+ "up_sales_see_all": "Se alle",
+ "up_sales_catalog_button_title": "Se produktkatalog",
+ "up_sales_catalog_button_subtitle": "Her kan du se og bestille produkter og skrive dem helt automatisk på din værelsesregning.",
+ "up_sales_catalog_title": "Tilkøbsmuligheder",
+ "room_upgrades": "Værelsesopgraderinger",
+ "other_up_sales": "Andre tilkøb",
+ "read_more_up_sales": "Læs mere",
+ "continue_without_up_sales": "Fortsæt uden tilkøb",
+ "open_maps_error_title": "Kan ikke åbne kort",
+ "open_maps_error_subtitle": "Ingen kortprogram er tilgængeligt.",
+ "apple_maps": "Apple Kort",
+ "google_maps": "Google Kort",
+ "add_to_booking": "Tilføj til booking",
+ "see_all_facilities": "Se alle faciliteter",
+ "remove_from_booking": "Fjern fra booking",
+ "no_services_available": "Ingen tjenester tilgængelige",
+ "no_room_upgrades_available": "Ingen værelsesopgraderinger tilgængelige",
+ "confirm_up_sales_dialog_title": "Bekræft tilkøb",
+ "confirm_up_sales_dialog_subtitle": "Er du sikker på, at du vil tilføje disse tilkøb for {amount} kr. til din booking?",
+ "confirm_up_sales_dialog_confirm": "Ja, tilføj tilkøb",
+ "confirm_up_sales_dialog_cancel": "Nej",
+ "email_launch_error": "Kunne ikke åbne email klient",
+ "phone_launch_error": "Kunne ikke åbne telefon",
+ "balance": "SALDO",
+ "new_booking": "Book nyt ophold",
+ "error_opening_website": "Kunne ikke åbne hjemmesiden. Prøv igen senere.",
+ "error_opening_website_title": "Fejl",
+ "room_selection": "Vælg værelse",
+ "room_selection_subtitle": "Vælg et værelse til dit ophold",
+ "choose_room": "Vælg dit værelse",
+ "choose_room_subtitle": "Du skal vælge dét værelse du gerne vil sove på. Når du har valgt, kan du tildele de andre værelser til andre.",
+ "check_in_date": "Check-in dato",
+ "check_out_date": "Check-out dato",
+ "confirmation_number": "Bekræftelsesnummer",
+ "close": "Luk",
+ "choose_room_confirmation_title": "Er du sikker på du vil vælge dette værelse?",
+ "choose_room_confirmation_subtitle": "Du kan ikke fortryde dit valg. Resterende værelser skal fordeles.",
+ "choose_room_confirmation_confirm": "Ja, vælg værelse",
+ "choose_room_confirmation_cancel": "Nej",
+ "my_room": "Mit værelse",
+ "share_room": "Del værelse",
+ "share_room_page_title": "Del værelse",
+ "share_room_page_subtitle": "Her kan du dele dit værelse med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge",
+ "share_room_page_button": "Del dit værelse",
+ "addon": "Tilkøbt",
+ "added_to_room": "Tilkøbt på værelse",
+ "force_update_title": "Opdater for at bruge appen",
+ "force_update_description": "Der er en nødvendig opdatering til appen, der gør at du skal opdatere for at kunne fortsætte.",
+ "force_update_button": "Gå til App Store",
+ "invalid_birthday": "Ugyldig fødselsdag",
+ "invalid_birthday_description": "Din gemte fødselsdag er ikke tilladt. Vælg en ny dato.",
+ "up_sales_confirmation_title": "Betalingsoversigt",
+ "up_sales_confirmation_no_up_sales": "Ingen tilvalg valgt.",
+ "facilities": "Faciliteter",
+ "remove": "Fjern",
+ "up_sales_processing_error_title": "Kunne ikke tilføje tilkøb",
+ "up_sales_processing_error_subtitle": "Opgraderinger virker ikke i øjeblikket. Prøv igen senere.",
+ "pay_bill": "Betal regning",
+ "discount": "Comwell Club Point Rabat",
+ "error_preregistration": "Kunne ikke preregister, gå til reception",
+ "get_keys": "Hent digital nøgle",
+ "get_keys_subtitle": "Få dit digitale nøglekort med det samme",
+ "add_card": "Tilføj kort",
+ "total": "I alt",
+ "profile_error_title": "Kunne ikke loade din profil",
+ "profile_error_subtitle": "Der er sket en fejl. Prøv igen senere.",
+ "generic_error_title": "Der er sket en fejl",
+ "notifications_error_subtitle": "Notifikationer kan ikke hentes i øjeblikket. Prøv igen senere.",
+ "payment_cards_error_subtitle": "Dine betalingskort kan ikke hentes i øjeblikket. Prøv igen senere.",
+ "hotel_information_error_subtitle": "Hotelinformationen kan ikke hentes i øjeblikket. Prøv igen senere.",
+ "overview_error_title": "Kunne ikke indlæse dine bookinger",
+ "overview_error_subtitle": "Der er sket en fejl. Vi kunne ikke loade dine bookinger. Prøv igen senere.",
+ "up_sales_error_title": "Tillægskøb er ikke tilgængelige i øjeblikket",
+ "up_sales_error_subtitle": "Der er sket en fejl. Prøv igen senere.",
+ "choose_room_error_title": "Kunne ikke vælge værelse",
+ "choose_room_error_subtitle": "Der er sket en fejl. Prøv igen senere eller gå til receptionen",
+ "share_booking_error_title": "Kunne ikke finde gæsterne på værelset",
+ "share_booking_error_subtitle": "Der er sket en fejl. Prøv igen senere.",
+ "refresh_bookings": "Opdater bookinger",
+ "document_type": "Dokumenttype",
+ "document_type_passport": "Passport",
+ "document_type_id_card": "ID-kort",
+ "document_type_driver_license": "Kørekort",
+ "document_type_other": "Andet",
+ "document_number": "Dokumentnummer",
+ "up_sales_catalog_no_up_sales_title": "Ingen tilvalg tilgængelige",
+ "up_sales_catalog_no_up_sales_subtitle": "Der er ingen tilvalg tilgængelige i øjeblikket. Prøv igen senere.",
+ "payment_cards_missing_payment_method_title": "Manglende betalingsmetode",
+ "payment_cards_missing_payment_method_subtitle": "Vælg venligst en betalingsmetode for at fortsætte.",
+ "share_booking_page_error_title": "Fejl",
+ "share_booking_page_error_subtitle": "Denne booking er allerede delt.",
+ "share_booking_message": "{name} vil gerne dele et ophold med dig på Comwell {hotel}. Tilgå via linket: {url}",
+ "check_in_page_error_title": "Værelse ikke fundet",
+ "check_in_page_error_subtitle": "Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen.",
+ "remove_guest_overview": "Fjern",
+ "home_page": "Hjem",
+ "send_to_email": "Send til email",
+ "download_bill": "Få tilsendt kvittering",
+ "bill_email_placeholder": "E-mail",
+ "payment_overview_send_receipt_title": "Kvittering via email",
+ "payment_overview_send_receipt_subtitle": "Sendes til {name}",
+ "payment_overview_send_comment_title": "Kommentar",
+ "payment_overview_send_receipt_hint": "Indsæt kommentar",
+ "key_page_room_prefix": "Værelse {roomNumber}",
+ "please_accept_terms": "Accepter venligst vilkårene"
+}
\ No newline at end of file
diff --git a/comwell_key_app/assets/translations/intl_en.arb b/comwell_key_app/assets/translations/intl_en.arb
new file mode 100644
index 00000000..eb9e0d59
--- /dev/null
+++ b/comwell_key_app/assets/translations/intl_en.arb
@@ -0,0 +1,386 @@
+{
+ "@@locale": "en",
+ "generic_continue": "Continue",
+ "generic_information_required": "This information is required",
+ "generic_confirm": "Confirm",
+ "generic_done": "Done",
+ "generic_ok": "OK",
+ "generic_credit_card": "Credit Card",
+ "generic_apple_pay": "Apple Pay",
+ "generic_google_pay": "Google Pay",
+ "generic_error": "An error occurred. Please try again later.",
+ "welcome_headline": "Welcome at Comwell Hotels",
+ "welcome_button": "Continue",
+ "welcome_error": "An error occurred. Please try again later.",
+ "room_key": "Room key",
+ "room_keys": "Room keys",
+ "redeem_code": "Redeem code",
+ "error_opening_door": "An error occurred",
+ "try_again": "Try again",
+ "room_key_description": "This is your room key",
+ "login_button": "Login",
+ "create_user_button": "Create new user",
+ "profile_settings_profile_menu": "Profile settings",
+ "payment_card_profile_menu": "Payment card",
+ "notifications_profile_menu": "Notifications",
+ "logout_profile_menu": "Logout",
+ "logout_dialog_title": "Do you want to log out of your profile",
+ "cancel": "Cancel",
+ "name_cc_sign": "Name",
+ "become_cc_member_title": "Join comwell club",
+ "become_cc_member_subtitle": "Join and earn points every time you stay at a Comwell Hotel.",
+ "overview_tabbar_active": "Current",
+ "overview_tabbar_past": "Past",
+ "overview_tabbar_cancelled": "Cancelled",
+ "no_past_bookings_title": "No past stays",
+ "no_past_bookings_subtitle": "You have no past stays at Comwell Hotels.",
+ "no_cancelled_booking_title": "No cancelled stays",
+ "no_cancelled_booking_subtitle": "You have no cancelled stays with us.",
+ "booking_annulled": "Cancelled",
+ "no_current_bookings": "No current bookings",
+ "no_current_bookings_subtitle": "You have no current bookings. Plan your next stay at Comwell.",
+ "adults": "adults",
+ "children": "children",
+ "adult": "adult",
+ "child": "child",
+ "rooms": "Rooms",
+ "prepare_room": "Prepare your room",
+ "jump_line_text": "Skip the line with digital check-in",
+ "overview_add_booking": "Find booking",
+ "open_room": "Open room",
+ "hold_phone_to_door": "Hold phone to door",
+ "open_room_success": "Success",
+ "open_room_error": "Try again!",
+ "profile_settings": "Profile settings",
+ "profile_settings_firstname": "First name",
+ "profile_settings_lastname": "Last name",
+ "profile_settings_email": "Email",
+ "profile_settings_phone": "Phone",
+ "profile_settings_address": "Address",
+ "profile_settings_birthday": "Birthday",
+ "profile_settings_edit_password": "Edit password",
+ "profile_settings_error": "An error occurred. Please try again later.",
+ "delete_profile": "Delete profile",
+ "my_booking": "My booking",
+ "booking_reference": "Bookingreference",
+ "check_in": "Check-in",
+ "check_out": "Check-out",
+ "overview_page_check_in_physical_card_subtitle": "Go to the lobby to get your key",
+ "booking_details": "Booking",
+ "number_of_guests": "Number of guests",
+ "booker": "Booker",
+ "booking_date": "Booking date",
+ "payment": "Payment",
+ "payment_method": "Payment method",
+ "bill": "Bill",
+ "get_bill": "Get bill",
+ "your_last_name": "Your last name",
+ "find_booking": "Find booking",
+ "choose_hotel": "Choose hotel",
+ "hotels": "Hotels",
+ "all": "All",
+ "zealand": "Zealand",
+ "funen": "Funen",
+ "jutland": "Jutland",
+ "booking_not_found": "Booking not found",
+ "booking_not_found_subtitle": "We could not find a booking with the information you provided.",
+ "booking_not_found_button": "Try again",
+ "booking_not_found_cancel": "Cancel",
+ "save": "Save",
+ "zipCode": "Zip code",
+ "city": "City",
+ "country": "Country",
+ "delete_profile_title": "You are about to delete your profile",
+ "delete_profile_description": "Are you sure you want to delete your profile? This action cannot be undone.",
+ "delete_profile_button": "Delete profile",
+ "delete_profile_cancel": "Cancel",
+ "check_in_loading_title": "Finding your room...",
+ "check_in_room_found_title": "Room found...",
+ "check_in_your_digital_card_title": "Your Digital KeyCard",
+ "check_in_your_digital_card_subtitle": "Use your phone to open your room. You do not have to check in at the reception",
+ "check_in_your_digital_card_nb": "NB: If you require a physical keycard, you can always get one from the reception",
+ "check_in_error_title": "Room not found...",
+ "check_in_error_subtitle": "We could not find the room. Please check in at the reception.",
+ "preregistration_address_title": "Address",
+ "check_in_your_digital_card_room_prefix": "Room",
+ "preregistration_address_subtitle": "It is required by law to know your address",
+ "preregistration_address_label_address": "Address",
+ "preregistration_address_label_postal_code": "Postal code",
+ "preregistration_address_label_city": "City",
+ "preregistration_address_label_country": "Country",
+ "preregistration_payment_title": "Payment methods",
+ "preregistration_payment_subtitle": "To stay at Comwell, you need to add a payment method",
+ "preregistration_payment_add_card": "Add card",
+ "preregistration_confirmation_title": "Registration information",
+ "preregistration_confirmation_profile_card_title": "Profile information",
+ "preregistration_confirmation_address_card_title": "Address",
+ "preregistration_confirmation_payment_card_title": "Payment method",
+ "preregistration_confirmation_extras_card_title_singular": "1 extra purchase",
+ "preregistration_confirmation_extras_card_title_plural": "{amount} extra purchases",
+ "preregistration_confirmation_extras_card_subtitle": "Will be added to your bill",
+ "need_help": "Need help?",
+ "call_us": "Call us",
+ "call_us_description": "Enter your phone number below and we will call you.",
+ "get_a_call": "Get a call",
+ "get_a_call_description": "Enter your phone number below and we will call you.",
+ "call_received_title": "Received",
+ "call_received_description": "We have received your contact request. Our team will get back to you soon.",
+ "telephone_number": "Telephone number",
+ "comwell_telephone_number": "+4570274274",
+ "booking_details_page_hotel_information_button_title": "Hotel information",
+ "booking_details_page_hotel_information_button_subtitle": "Find relevant information about the hotel",
+ "booking_details_page_contact_button_title": "Contact",
+ "booking_details_page_contact_button_subtitle": "Contact the reception ",
+ "housekeeping_page_title": "Housekeeping",
+ "housekeeping_page_subtitle": "If you wish for housekeeping, you can order it here",
+ "housekeeping_page_button": "Order housekeeping",
+ "housekeeping_page_service_title_cleaning": "Cleaning of the room",
+ "housekeeping_page_service_title_towels": "Soap and shampoo",
+ "housekeeping_page_service_title_refill": "Refill coffee and tea",
+ "housekeeping_page_service_title_trash": "Fresh towels",
+ "housekeeping_page_service_title_soap": "Trash removal",
+ "housekeeping_page_service_cleaning_subtitle": "Cleaning is between 11 and 14",
+ "housekeeping_page_supplies": "Supplies",
+ "housekeeping_page_cleaning": "Cleaning",
+ "booking_details_page_housekeeping_button_title_ordered": "Cleaning is ordered",
+ "booking_details_page_housekeeping_button_subtitle_ordered": "Cleaning is between 11 and 14",
+ "housekeeping_page_supplies_subtitle_towels": "Soap and shampoo",
+ "housekeeping_page_supplies_subtitle_refill": "Refill coffee and tea",
+ "housekeeping_page_supplies_subtitle_trash": "Fresh towels",
+ "housekeeping_page_supplies_subtitle_soap": "Trash removal",
+ "booking_details_page_housekeeping_button_title": "Order housekeeping",
+ "booking_details_page_housekeeping_button_subtitle": "The day before housekeeping is requested.",
+ "booking_details_page_practical_information": "Practical information",
+ "booking_details_page_checkout_title": "Check-out",
+ "booking_details_page_checkout_subtitle": "Start your check-out here",
+ "booking_details_page_checkout_time": "10:00 AM",
+ "hotel_information_page_menu_restaurants_title": "Restaurants",
+ "hotel_information_page_menu_restaurants_subtitle": "Read about our restaurant",
+ "hotel_information_page_menu_spa_title": "Spa",
+ "hotel_information_page_menu_spa_subtitle": "Baths, saunas, brechelbath, etc.",
+ "hotel_information_page_menu_parking_title": "Parking",
+ "hotel_information_page_menu_other_info_title": "More information",
+ "hotel_information_page_menu_other_info_subtitle": "Find more information",
+ "hotel_information_page_spa_button": "Book spa",
+ "restaurant_page_practical_information": "Practical information",
+ "restaurant_page_address": "Addrese",
+ "restaurant_page_opening_hours": "Opening hours",
+ "restaurant_page_book_table": "Book table",
+ "restaurant_page_send_email": "Write an email",
+ "overview_page_check_in_button_subtitle": "Get your digital key card",
+ "checkout_page_confirmation_title": "Check-out",
+ "checkout_page_confirmation_subtitle": "When you check out, you have 30 minutes to leave your room",
+ "checkout_page_confirmation_deadline": "Check out latest at 10 AM",
+ "checkout_page_confirmation_price_title": "To be paid",
+ "checkout_page_confirmation_continue": "Go to payment",
+ "checkout_page_payment_title": "Payment overview",
+ "checkout_page_payment_total": "Total",
+ "checkout_page_payment_price": "{amount} kr.",
+ "checkout_page_payment_club_points_title": "Use Comwell Club Points",
+ "checkout_page_payment_club_points_subtitle": "You have {points} points, use them and save {amount}kr.",
+ "checkout_page_payment_club_points_subtitle_zero": "You have no points to use",
+ "checkout_page_payment_payment_title": "Pay and check out",
+ "checkout_page_confirmation": "Go to checkout",
+ "accept_terms": "Accept terms and conditions",
+ "checkout_page_payment_dialog_title": "Are you sure you want to check out?",
+ "checkout_page_payment_dialog_subtitle": "When you check out, you have 30 minutes to leave your room",
+ "checkout_page_payment_dialog_confirm": "Yes, check out now",
+ "checkout_page_payment_dialog_cancel": "No",
+ "checkout_page_processing_success_title": "Check-out confirmed",
+ "checkout_page_processing_success_subtitle": "You have 30 minutes to leave your room, after which you will no longer be able to use your keycard.",
+ "checkout_page_processing_success_subtitle_no_digital_card": "You are now checked out. Please return your key to the reception",
+ "checkout_page_processing_error_title": "Check-out failed",
+ "checkout_page_processing_error_subtitle": "An error occurred while checking out. Please go to the reception.",
+ "payment_cards_title": "Payment cards",
+ "payment_cards_subtitle": "To stay at Comwell, we need a payment card.",
+ "payment_cards_my_cards": "My cards",
+ "payment_cards_confirm_remove_title": "You are removing the card",
+ "payment_cards_confirm_remove_subtitle": "This payment card will no longer be usable",
+ "payment_cards_remove_card_button": "Remove card",
+ "payment_cards_edit_card_title": "Edit card",
+ "payment_cards_save_card_button": "Save card",
+ "share_booking_page_title": "Share booking",
+ "share_booking_page_subtitle": "Here you can share your booking with another guest and give them access to booking information, keycard and Concierge",
+ "share_booking_page_share_button": "Share your booking",
+ "handle_guests_title": "Handle guests",
+ "cancel_sharing": "Cancel sharing",
+ "check_out_my_booking": "Check out my booking",
+ "dates": "Dates",
+ "guests": "Guests",
+ "view_booking": "View booking",
+ "comwell_booking": "Comwell Booking",
+ "name_on_card_hint": "Name on card",
+ "card_number_hint": "Card number",
+ "expiry_date_hint": "Expiry date",
+ "cvc_hint": "CVC",
+ "remove_guest": "Remove guest",
+ "remove_guests": "Remove guests",
+ "are_you_sure": "Are you sure?",
+ "guest_removal_responsibility": "You will be responsible for all things purchased on the room at checkout ",
+ "notifications_page_title": "Notifications",
+ "subscribe_all": "Subscribe to all notifications",
+ "company_deal": "Company deal",
+ "company_deal_subtitle": "Yes, I would like to receive relevant information related to the company agreement from Comwell A/S via email and SMS. You can unsubscribe at any time by clicking the unsubscribe link at the bottom of the email.",
+ "club_newsletter": "Club newsletter",
+ "club_newsletter_subtitle": "Yes, I would like to recieve e-mails with exiciting offers regarding hotel stays and events at Comwell. I can at any time, unsubscribe.",
+ "digital_media": "Digital media",
+ "digital_media_subtitle": "Yes, I would like see personalized digital media advertising with news, inspiration and invitations to events. I can at any time, unsubscribe.",
+ "sms": "SMS",
+ "sms_subtitle": "Yes, I would like to recieve SMS with news, inspiration and invitations to events. I can at any time, unsubscribe.",
+ "email_subtitle": "Yes, I would like to receive emails with news, inspiration and invitations to events. I can at any time, unsubscribe.",
+ "push_subtitle": "Yes, I would like to receive push notifications with news, inspiration and invitations to events. I can at any time, unsubscribe.",
+ "update_profile": "Update profile",
+ "profile_settings_invalid_date": "Invalid date",
+ "gender": "Gender",
+ "comwell_club_dialog_title": "Become a member",
+ "comwell_club_dialog_description": "Please fill in the following information to join Comwell Club",
+ "postal_code": "Postal code",
+ "male": "Male",
+ "female": "Female",
+ "not_specified": "Not Specified",
+ "tos_accept": "Accept ",
+ "tos_accept_link": "terms and conditions for Comwell Club",
+ "newsletter_accept": "Yes, I would like to receive updates on current member offers, Comwell Club surprises and other recommendations tailored to me. I can unsubscribe at any time.",
+ "read_more": "Read more",
+ "read_less": "Read less",
+ "comwell_club_inactive": "Inactive",
+ "points": "Points",
+ "my_balance": "My balance",
+ "cancel_booking": "Cancel booking",
+ "cancellation_policy": "Cancellation policy",
+ "cancellation_policy_description": "This booking can be cancelled free of charge until the day of arrival. If cancelled later than 14.01, the first night will be charged.",
+ "payment_date": "Payment date",
+ "not_shared": "Not shared",
+ "share_booking": "Share booking",
+ "total_charge": "Total charge",
+ "early_checkin": "Early check-in",
+ "paid": "PAID",
+ "restaurant": "Restaurant",
+ "spa": "Spa",
+ "parking": "Parking",
+ "go_to_payment": "Go to payment",
+ "room_prefix": "Room {roomNumber}",
+ "total_charge_value": "{amount} kr.",
+ "generic_error_profile_page": "An error occurred. Please try again later. Or logout and try again.",
+ "profile_error_name": "Failed to load profile information",
+ "error": "Error",
+ "error_logout": "There has been an error",
+ "error_logout_subtitle": "Please log in again",
+ "edit": "Edit",
+ "error_cards": "Failed to load cards, try again later",
+ "check_in_button_timer_days_hours_minutes": "In {d} days, {h} hours and {m} minutes",
+ "check_in_button_timer_hours_minutes": "In {h} hours and {m} minutes",
+ "check_in_button_timer_minutes": "In {m} minutes",
+ "check_in_button_timer_seconds": "In {s} seconds",
+ "approve_conditions_title": "I accept ",
+ "approve_conditions_subtitle": "terms and conditions",
+ "up_sales_title": "Early check-in",
+ "up_sales_subtitle": "With early check-in you can check in at 13.00 instead of 15.00.",
+ "up_sales_popular": "POPULAR",
+ "services": "Services",
+ "up_sales_see_all": "See all",
+ "up_sales_catalog_button_title": "See product catalog",
+ "up_sales_catalog_button_subtitle": "Here you can see and order products and write them automatically on your room bill.",
+ "up_sales_catalog_title": "Upgrades & Services",
+ "room_upgrades": "Room upgrades",
+ "other_up_sales": "Other upgrades",
+ "read_more_up_sales": "Read more",
+ "continue_without_up_sales": "Continue without upgrades",
+ "open_maps_error_title": "Cannot open maps",
+ "open_maps_error_subtitle": "No maps application is available.",
+ "apple_maps": "Apple Maps",
+ "google_maps": "Google Maps",
+ "add_to_booking": "Add to booking",
+ "see_all_facilities": "See all facilities",
+ "remove_from_booking": "Remove from booking",
+ "no_services_available": "No services available",
+ "no_room_upgrades_available": "No room upgrades available",
+ "confirm_up_sales_dialog_title": "Confirm upgrades",
+ "confirm_up_sales_dialog_subtitle": "Are you sure you want to add these upgrades for {amount} kr to your booking?",
+ "confirm_up_sales_dialog_confirm": "Yes, add upgrades",
+ "confirm_up_sales_dialog_cancel": "No",
+ "email_launch_error": "Could not launch email client",
+ "phone_launch_error": "Could not launch phone call",
+ "balance": "BALANCE",
+ "new_booking": "Make a new booking",
+ "error_opening_website": "Failed to open the website. Please try again later.",
+ "error_opening_website_title": "Error",
+ "room_selection": "Room selection",
+ "room_selection_subtitle": "Select a room for your stay",
+ "choose_room": "Choose room",
+ "choose_room_subtitle": "You need to choose the room you want to sleep in. When you have chosen, you can assign the other rooms to others.",
+ "check_in_date": "Check-in date",
+ "check_out_date": "Check-out date",
+ "confirmation_number": "Confirmation number",
+ "close": "Close",
+ "choose_room_confirmation_title": "Are you sure you want to choose this room?",
+ "choose_room_confirmation_subtitle": "You cannot undo your choice. Remaining rooms must be assigned.",
+ "choose_room_confirmation_confirm": "Yes, choose room",
+ "choose_room_confirmation_cancel": "No",
+ "my_room": "My room",
+ "share_room": "Share room",
+ "share_room_page_title": "Share room",
+ "share_room_page_subtitle": "Here you can share your room with another guest and give them access to booking information, keycard and Concierge",
+ "share_room_page_button": "Share your room",
+ "addon": "Added purchase",
+ "added_to_room": "Added to room",
+ "force_update_title": "Update required",
+ "force_update_description": "To continue using the app, please update to the latest version.",
+ "force_update_button": "Go to App Store",
+ "invalid_birthday": "Invalid birthday",
+ "invalid_birthday_description": "Your saved birthday is not allowed. Please pick a new date.",
+ "up_sales_confirmation_title": "Payment overview",
+ "up_sales_confirmation_no_up_sales": "No upgrades selected.",
+ "facilities": "Facilities",
+ "remove": "Remove",
+ "up_sales_processing_error_title": "Failed to add addons",
+ "up_sales_processing_error_subtitle": "Addons are not available at the moment. Please try again later.",
+ "pay_bill": "Pay bill",
+ "discount": "Comwell Club Points Discount",
+ "error_preregistration": "Failed to preregister, go to reception",
+ "get_keys": "Get digital key",
+ "get_keys_subtitle": "Get your digital key card",
+ "add_card": "Add card",
+ "total": "Total",
+ "profile_error_title": "Could not load your profile",
+ "profile_error_subtitle": "An error occurred. Please try again later.",
+ "generic_error_title": "There was an error",
+ "notifications_error_subtitle": "Notifications could not be loaded. Please try again later.",
+ "payment_cards_error_subtitle": "Payment cards could not be loaded. Please try again later.",
+ "hotel_information_error_subtitle": "Hotel information could not be loaded. Please try again later.",
+ "overview_error_title": "Could not load your bookings",
+ "overview_error_subtitle": "An error occurred. We could not load your bookings. Please try again later.",
+ "up_sales_error_title": "Could not load up sales",
+ "up_sales_error_subtitle": "An error occurred. We could not load up sales. Please try again later.",
+ "choose_room_error_title": "Could not choose room",
+ "choose_room_error_subtitle": "An error occurred. Please try again later or go to the reception.",
+ "share_booking_error_title": "Could not find guests on the room",
+ "share_booking_error_subtitle": "An error occurred. Please try again later.",
+ "refresh_bookings": "Refresh bookings",
+ "document_type": "Document type",
+ "document_type_passport": "Passport",
+ "document_type_id_card": "ID card",
+ "document_type_driver_license": "Driver license",
+ "document_type_other": "Other",
+ "document_number": "Document number",
+ "up_sales_catalog_no_up_sales_title": "No upgrades available",
+ "up_sales_catalog_no_up_sales_subtitle": "No upgrades are available at the moment. Please try again later.",
+ "payment_cards_missing_payment_method_title": "Missing payment method",
+ "payment_cards_missing_payment_method_subtitle": "Please select a payment method to continue.",
+ "share_booking_page_error_title": "Error",
+ "share_booking_page_error_subtitle": "This booking has already been shared.",
+ "share_booking_message": "{name} would like to share a booking with you at Comwell {hotel}. Access via the link: {url}",
+ "check_in_page_error_title": "Room not found",
+ "check_in_page_error_subtitle": "We could not find the room. Please check in at the reception.",
+ "remove_guest_overview": "Remove",
+ "home_page": "Home",
+ "send_to_email": "Send to email",
+ "download_bill": "Get receipt",
+ "bill_email_placeholder": "E-mail",
+ "payment_overview_send_receipt_title": "Receipt via email",
+ "payment_overview_send_receipt_subtitle": "Sent to {name}",
+ "payment_overview_send_comment_title": "Comment",
+ "payment_overview_send_receipt_hint": "Enter comment",
+ "key_page_room_prefix": "Room {roomNumber}",
+ "please_accept_terms": "Please accept terms"
+}
\ No newline at end of file
diff --git a/comwell_key_app/l10n.yaml b/comwell_key_app/l10n.yaml
new file mode 100644
index 00000000..a56cb88b
--- /dev/null
+++ b/comwell_key_app/l10n.yaml
@@ -0,0 +1,7 @@
+arb-dir: assets/translations/
+template-arb-file: intl_en.arb
+output-localization-file: app_localizations.dart
+output-dir: lib/.generated/l10n
+untranslated-messages-file: untranslated_messages.txt
+
+
diff --git a/comwell_key_app/lib/.generated/l10n/app_localizations.dart b/comwell_key_app/lib/.generated/l10n/app_localizations.dart
new file mode 100644
index 00000000..8733b2ea
--- /dev/null
+++ b/comwell_key_app/lib/.generated/l10n/app_localizations.dart
@@ -0,0 +1,2425 @@
+import 'dart:async';
+
+import 'package:flutter/foundation.dart';
+import 'package:flutter/widgets.dart';
+import 'package:flutter_localizations/flutter_localizations.dart';
+import 'package:intl/intl.dart' as intl;
+
+import 'app_localizations_da.dart';
+import 'app_localizations_en.dart';
+
+// ignore_for_file: type=lint
+
+/// Callers can lookup localized strings with an instance of AppLocalizations
+/// returned by `AppLocalizations.of(context)`.
+///
+/// Applications need to include `AppLocalizations.delegate()` in their app's
+/// `localizationDelegates` list, and the locales they support in the app's
+/// `supportedLocales` list. For example:
+///
+/// ```dart
+/// import 'l10n/app_localizations.dart';
+///
+/// return MaterialApp(
+/// localizationsDelegates: AppLocalizations.localizationsDelegates,
+/// supportedLocales: AppLocalizations.supportedLocales,
+/// home: MyApplicationHome(),
+/// );
+/// ```
+///
+/// ## Update pubspec.yaml
+///
+/// Please make sure to update your pubspec.yaml to include the following
+/// packages:
+///
+/// ```yaml
+/// dependencies:
+/// # Internationalization support.
+/// flutter_localizations:
+/// sdk: flutter
+/// intl: any # Use the pinned version from flutter_localizations
+///
+/// # Rest of dependencies
+/// ```
+///
+/// ## iOS Applications
+///
+/// iOS applications define key application metadata, including supported
+/// locales, in an Info.plist file that is built into the application bundle.
+/// To configure the locales supported by your app, you’ll need to edit this
+/// file.
+///
+/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
+/// Then, in the Project Navigator, open the Info.plist file under the Runner
+/// project’s Runner folder.
+///
+/// Next, select the Information Property List item, select Add Item from the
+/// Editor menu, then select Localizations from the pop-up menu.
+///
+/// Select and expand the newly-created Localizations item then, for each
+/// locale your application supports, add a new item and select the locale
+/// you wish to add from the pop-up menu in the Value field. This list should
+/// be consistent with the languages listed in the AppLocalizations.supportedLocales
+/// property.
+abstract class AppLocalizations {
+ AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString());
+
+ final String localeName;
+
+ static AppLocalizations? of(BuildContext context) {
+ return Localizations.of<AppLocalizations>(context, AppLocalizations);
+ }
+
+ static const LocalizationsDelegate<AppLocalizations> delegate = _AppLocalizationsDelegate();
+
+ /// A list of this localizations delegate along with the default localizations
+ /// delegates.
+ ///
+ /// Returns a list of localizations delegates containing this delegate along with
+ /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
+ /// and GlobalWidgetsLocalizations.delegate.
+ ///
+ /// Additional delegates can be added by appending to this list in
+ /// MaterialApp. This list does not have to be used at all if a custom list
+ /// of delegates is preferred or required.
+ static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
+ <LocalizationsDelegate<dynamic>>[
+ delegate,
+ GlobalMaterialLocalizations.delegate,
+ GlobalCupertinoLocalizations.delegate,
+ GlobalWidgetsLocalizations.delegate,
+ ];
+
+ /// A list of this localizations delegate's supported locales.
+ static const List<Locale> supportedLocales = <Locale>[Locale('da'), Locale('en')];
+
+ /// No description provided for @generic_continue.
+ ///
+ /// In en, this message translates to:
+ /// **'Continue'**
+ String get generic_continue;
+
+ /// No description provided for @generic_information_required.
+ ///
+ /// In en, this message translates to:
+ /// **'This information is required'**
+ String get generic_information_required;
+
+ /// No description provided for @generic_confirm.
+ ///
+ /// In en, this message translates to:
+ /// **'Confirm'**
+ String get generic_confirm;
+
+ /// No description provided for @generic_done.
+ ///
+ /// In en, this message translates to:
+ /// **'Done'**
+ String get generic_done;
+
+ /// No description provided for @generic_ok.
+ ///
+ /// In en, this message translates to:
+ /// **'OK'**
+ String get generic_ok;
+
+ /// No description provided for @generic_credit_card.
+ ///
+ /// In en, this message translates to:
+ /// **'Credit Card'**
+ String get generic_credit_card;
+
+ /// No description provided for @generic_apple_pay.
+ ///
+ /// In en, this message translates to:
+ /// **'Apple Pay'**
+ String get generic_apple_pay;
+
+ /// No description provided for @generic_google_pay.
+ ///
+ /// In en, this message translates to:
+ /// **'Google Pay'**
+ String get generic_google_pay;
+
+ /// No description provided for @generic_error.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later.'**
+ String get generic_error;
+
+ /// No description provided for @welcome_headline.
+ ///
+ /// In en, this message translates to:
+ /// **'Welcome at Comwell Hotels'**
+ String get welcome_headline;
+
+ /// No description provided for @welcome_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Continue'**
+ String get welcome_button;
+
+ /// No description provided for @welcome_error.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later.'**
+ String get welcome_error;
+
+ /// No description provided for @room_key.
+ ///
+ /// In en, this message translates to:
+ /// **'Room key'**
+ String get room_key;
+
+ /// No description provided for @room_keys.
+ ///
+ /// In en, this message translates to:
+ /// **'Room keys'**
+ String get room_keys;
+
+ /// No description provided for @redeem_code.
+ ///
+ /// In en, this message translates to:
+ /// **'Redeem code'**
+ String get redeem_code;
+
+ /// No description provided for @error_opening_door.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred'**
+ String get error_opening_door;
+
+ /// No description provided for @try_again.
+ ///
+ /// In en, this message translates to:
+ /// **'Try again'**
+ String get try_again;
+
+ /// No description provided for @room_key_description.
+ ///
+ /// In en, this message translates to:
+ /// **'This is your room key'**
+ String get room_key_description;
+
+ /// No description provided for @login_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Login'**
+ String get login_button;
+
+ /// No description provided for @create_user_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Create new user'**
+ String get create_user_button;
+
+ /// No description provided for @profile_settings_profile_menu.
+ ///
+ /// In en, this message translates to:
+ /// **'Profile settings'**
+ String get profile_settings_profile_menu;
+
+ /// No description provided for @payment_card_profile_menu.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment card'**
+ String get payment_card_profile_menu;
+
+ /// No description provided for @notifications_profile_menu.
+ ///
+ /// In en, this message translates to:
+ /// **'Notifications'**
+ String get notifications_profile_menu;
+
+ /// No description provided for @logout_profile_menu.
+ ///
+ /// In en, this message translates to:
+ /// **'Logout'**
+ String get logout_profile_menu;
+
+ /// No description provided for @logout_dialog_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Do you want to log out of your profile'**
+ String get logout_dialog_title;
+
+ /// No description provided for @cancel.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancel'**
+ String get cancel;
+
+ /// No description provided for @name_cc_sign.
+ ///
+ /// In en, this message translates to:
+ /// **'Name'**
+ String get name_cc_sign;
+
+ /// No description provided for @become_cc_member_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Join comwell club'**
+ String get become_cc_member_title;
+
+ /// No description provided for @become_cc_member_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Join and earn points every time you stay at a Comwell Hotel.'**
+ String get become_cc_member_subtitle;
+
+ /// No description provided for @overview_tabbar_active.
+ ///
+ /// In en, this message translates to:
+ /// **'Current'**
+ String get overview_tabbar_active;
+
+ /// No description provided for @overview_tabbar_past.
+ ///
+ /// In en, this message translates to:
+ /// **'Past'**
+ String get overview_tabbar_past;
+
+ /// No description provided for @overview_tabbar_cancelled.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancelled'**
+ String get overview_tabbar_cancelled;
+
+ /// No description provided for @no_past_bookings_title.
+ ///
+ /// In en, this message translates to:
+ /// **'No past stays'**
+ String get no_past_bookings_title;
+
+ /// No description provided for @no_past_bookings_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You have no past stays at Comwell Hotels.'**
+ String get no_past_bookings_subtitle;
+
+ /// No description provided for @no_cancelled_booking_title.
+ ///
+ /// In en, this message translates to:
+ /// **'No cancelled stays'**
+ String get no_cancelled_booking_title;
+
+ /// No description provided for @no_cancelled_booking_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You have no cancelled stays with us.'**
+ String get no_cancelled_booking_subtitle;
+
+ /// No description provided for @booking_annulled.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancelled'**
+ String get booking_annulled;
+
+ /// No description provided for @no_current_bookings.
+ ///
+ /// In en, this message translates to:
+ /// **'No current bookings'**
+ String get no_current_bookings;
+
+ /// No description provided for @no_current_bookings_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You have no current bookings. Plan your next stay at Comwell.'**
+ String get no_current_bookings_subtitle;
+
+ /// No description provided for @adults.
+ ///
+ /// In en, this message translates to:
+ /// **'adults'**
+ String get adults;
+
+ /// No description provided for @children.
+ ///
+ /// In en, this message translates to:
+ /// **'children'**
+ String get children;
+
+ /// No description provided for @adult.
+ ///
+ /// In en, this message translates to:
+ /// **'adult'**
+ String get adult;
+
+ /// No description provided for @child.
+ ///
+ /// In en, this message translates to:
+ /// **'child'**
+ String get child;
+
+ /// No description provided for @rooms.
+ ///
+ /// In en, this message translates to:
+ /// **'Rooms'**
+ String get rooms;
+
+ /// No description provided for @prepare_room.
+ ///
+ /// In en, this message translates to:
+ /// **'Prepare your room'**
+ String get prepare_room;
+
+ /// No description provided for @jump_line_text.
+ ///
+ /// In en, this message translates to:
+ /// **'Skip the line with digital check-in'**
+ String get jump_line_text;
+
+ /// No description provided for @overview_add_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Find booking'**
+ String get overview_add_booking;
+
+ /// No description provided for @open_room.
+ ///
+ /// In en, this message translates to:
+ /// **'Open room'**
+ String get open_room;
+
+ /// No description provided for @hold_phone_to_door.
+ ///
+ /// In en, this message translates to:
+ /// **'Hold phone to door'**
+ String get hold_phone_to_door;
+
+ /// No description provided for @open_room_success.
+ ///
+ /// In en, this message translates to:
+ /// **'Success'**
+ String get open_room_success;
+
+ /// No description provided for @open_room_error.
+ ///
+ /// In en, this message translates to:
+ /// **'Try again!'**
+ String get open_room_error;
+
+ /// No description provided for @profile_settings.
+ ///
+ /// In en, this message translates to:
+ /// **'Profile settings'**
+ String get profile_settings;
+
+ /// No description provided for @profile_settings_firstname.
+ ///
+ /// In en, this message translates to:
+ /// **'First name'**
+ String get profile_settings_firstname;
+
+ /// No description provided for @profile_settings_lastname.
+ ///
+ /// In en, this message translates to:
+ /// **'Last name'**
+ String get profile_settings_lastname;
+
+ /// No description provided for @profile_settings_email.
+ ///
+ /// In en, this message translates to:
+ /// **'Email'**
+ String get profile_settings_email;
+
+ /// No description provided for @profile_settings_phone.
+ ///
+ /// In en, this message translates to:
+ /// **'Phone'**
+ String get profile_settings_phone;
+
+ /// No description provided for @profile_settings_address.
+ ///
+ /// In en, this message translates to:
+ /// **'Address'**
+ String get profile_settings_address;
+
+ /// No description provided for @profile_settings_birthday.
+ ///
+ /// In en, this message translates to:
+ /// **'Birthday'**
+ String get profile_settings_birthday;
+
+ /// No description provided for @profile_settings_edit_password.
+ ///
+ /// In en, this message translates to:
+ /// **'Edit password'**
+ String get profile_settings_edit_password;
+
+ /// No description provided for @profile_settings_error.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later.'**
+ String get profile_settings_error;
+
+ /// No description provided for @delete_profile.
+ ///
+ /// In en, this message translates to:
+ /// **'Delete profile'**
+ String get delete_profile;
+
+ /// No description provided for @my_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'My booking'**
+ String get my_booking;
+
+ /// No description provided for @booking_reference.
+ ///
+ /// In en, this message translates to:
+ /// **'Bookingreference'**
+ String get booking_reference;
+
+ /// No description provided for @check_in.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-in'**
+ String get check_in;
+
+ /// No description provided for @check_out.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-out'**
+ String get check_out;
+
+ /// No description provided for @overview_page_check_in_physical_card_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Go to the lobby to get your key'**
+ String get overview_page_check_in_physical_card_subtitle;
+
+ /// No description provided for @booking_details.
+ ///
+ /// In en, this message translates to:
+ /// **'Booking'**
+ String get booking_details;
+
+ /// No description provided for @number_of_guests.
+ ///
+ /// In en, this message translates to:
+ /// **'Number of guests'**
+ String get number_of_guests;
+
+ /// No description provided for @booker.
+ ///
+ /// In en, this message translates to:
+ /// **'Booker'**
+ String get booker;
+
+ /// No description provided for @booking_date.
+ ///
+ /// In en, this message translates to:
+ /// **'Booking date'**
+ String get booking_date;
+
+ /// No description provided for @payment.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment'**
+ String get payment;
+
+ /// No description provided for @payment_method.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment method'**
+ String get payment_method;
+
+ /// No description provided for @bill.
+ ///
+ /// In en, this message translates to:
+ /// **'Bill'**
+ String get bill;
+
+ /// No description provided for @get_bill.
+ ///
+ /// In en, this message translates to:
+ /// **'Get bill'**
+ String get get_bill;
+
+ /// No description provided for @your_last_name.
+ ///
+ /// In en, this message translates to:
+ /// **'Your last name'**
+ String get your_last_name;
+
+ /// No description provided for @find_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Find booking'**
+ String get find_booking;
+
+ /// No description provided for @choose_hotel.
+ ///
+ /// In en, this message translates to:
+ /// **'Choose hotel'**
+ String get choose_hotel;
+
+ /// No description provided for @hotels.
+ ///
+ /// In en, this message translates to:
+ /// **'Hotels'**
+ String get hotels;
+
+ /// No description provided for @all.
+ ///
+ /// In en, this message translates to:
+ /// **'All'**
+ String get all;
+
+ /// No description provided for @zealand.
+ ///
+ /// In en, this message translates to:
+ /// **'Zealand'**
+ String get zealand;
+
+ /// No description provided for @funen.
+ ///
+ /// In en, this message translates to:
+ /// **'Funen'**
+ String get funen;
+
+ /// No description provided for @jutland.
+ ///
+ /// In en, this message translates to:
+ /// **'Jutland'**
+ String get jutland;
+
+ /// No description provided for @booking_not_found.
+ ///
+ /// In en, this message translates to:
+ /// **'Booking not found'**
+ String get booking_not_found;
+
+ /// No description provided for @booking_not_found_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'We could not find a booking with the information you provided.'**
+ String get booking_not_found_subtitle;
+
+ /// No description provided for @booking_not_found_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Try again'**
+ String get booking_not_found_button;
+
+ /// No description provided for @booking_not_found_cancel.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancel'**
+ String get booking_not_found_cancel;
+
+ /// No description provided for @save.
+ ///
+ /// In en, this message translates to:
+ /// **'Save'**
+ String get save;
+
+ /// No description provided for @zipCode.
+ ///
+ /// In en, this message translates to:
+ /// **'Zip code'**
+ String get zipCode;
+
+ /// No description provided for @city.
+ ///
+ /// In en, this message translates to:
+ /// **'City'**
+ String get city;
+
+ /// No description provided for @country.
+ ///
+ /// In en, this message translates to:
+ /// **'Country'**
+ String get country;
+
+ /// No description provided for @delete_profile_title.
+ ///
+ /// In en, this message translates to:
+ /// **'You are about to delete your profile'**
+ String get delete_profile_title;
+
+ /// No description provided for @delete_profile_description.
+ ///
+ /// In en, this message translates to:
+ /// **'Are you sure you want to delete your profile? This action cannot be undone.'**
+ String get delete_profile_description;
+
+ /// No description provided for @delete_profile_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Delete profile'**
+ String get delete_profile_button;
+
+ /// No description provided for @delete_profile_cancel.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancel'**
+ String get delete_profile_cancel;
+
+ /// No description provided for @check_in_loading_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Finding your room...'**
+ String get check_in_loading_title;
+
+ /// No description provided for @check_in_room_found_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Room found...'**
+ String get check_in_room_found_title;
+
+ /// No description provided for @check_in_your_digital_card_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Your Digital KeyCard'**
+ String get check_in_your_digital_card_title;
+
+ /// No description provided for @check_in_your_digital_card_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Use your phone to open your room. You do not have to check in at the reception'**
+ String get check_in_your_digital_card_subtitle;
+
+ /// No description provided for @check_in_your_digital_card_nb.
+ ///
+ /// In en, this message translates to:
+ /// **'NB: If you require a physical keycard, you can always get one from the reception'**
+ String get check_in_your_digital_card_nb;
+
+ /// No description provided for @check_in_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Room not found...'**
+ String get check_in_error_title;
+
+ /// No description provided for @check_in_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'We could not find the room. Please check in at the reception.'**
+ String get check_in_error_subtitle;
+
+ /// No description provided for @preregistration_address_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Address'**
+ String get preregistration_address_title;
+
+ /// No description provided for @check_in_your_digital_card_room_prefix.
+ ///
+ /// In en, this message translates to:
+ /// **'Room'**
+ String get check_in_your_digital_card_room_prefix;
+
+ /// No description provided for @preregistration_address_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'It is required by law to know your address'**
+ String get preregistration_address_subtitle;
+
+ /// No description provided for @preregistration_address_label_address.
+ ///
+ /// In en, this message translates to:
+ /// **'Address'**
+ String get preregistration_address_label_address;
+
+ /// No description provided for @preregistration_address_label_postal_code.
+ ///
+ /// In en, this message translates to:
+ /// **'Postal code'**
+ String get preregistration_address_label_postal_code;
+
+ /// No description provided for @preregistration_address_label_city.
+ ///
+ /// In en, this message translates to:
+ /// **'City'**
+ String get preregistration_address_label_city;
+
+ /// No description provided for @preregistration_address_label_country.
+ ///
+ /// In en, this message translates to:
+ /// **'Country'**
+ String get preregistration_address_label_country;
+
+ /// No description provided for @preregistration_payment_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment methods'**
+ String get preregistration_payment_title;
+
+ /// No description provided for @preregistration_payment_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'To stay at Comwell, you need to add a payment method'**
+ String get preregistration_payment_subtitle;
+
+ /// No description provided for @preregistration_payment_add_card.
+ ///
+ /// In en, this message translates to:
+ /// **'Add card'**
+ String get preregistration_payment_add_card;
+
+ /// No description provided for @preregistration_confirmation_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Registration information'**
+ String get preregistration_confirmation_title;
+
+ /// No description provided for @preregistration_confirmation_profile_card_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Profile information'**
+ String get preregistration_confirmation_profile_card_title;
+
+ /// No description provided for @preregistration_confirmation_address_card_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Address'**
+ String get preregistration_confirmation_address_card_title;
+
+ /// No description provided for @preregistration_confirmation_payment_card_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment method'**
+ String get preregistration_confirmation_payment_card_title;
+
+ /// No description provided for @preregistration_confirmation_extras_card_title_singular.
+ ///
+ /// In en, this message translates to:
+ /// **'1 extra purchase'**
+ String get preregistration_confirmation_extras_card_title_singular;
+
+ /// No description provided for @preregistration_confirmation_extras_card_title_plural.
+ ///
+ /// In en, this message translates to:
+ /// **'{amount} extra purchases'**
+ String preregistration_confirmation_extras_card_title_plural(Object amount);
+
+ /// No description provided for @preregistration_confirmation_extras_card_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Will be added to your bill'**
+ String get preregistration_confirmation_extras_card_subtitle;
+
+ /// No description provided for @need_help.
+ ///
+ /// In en, this message translates to:
+ /// **'Need help?'**
+ String get need_help;
+
+ /// No description provided for @call_us.
+ ///
+ /// In en, this message translates to:
+ /// **'Call us'**
+ String get call_us;
+
+ /// No description provided for @call_us_description.
+ ///
+ /// In en, this message translates to:
+ /// **'Enter your phone number below and we will call you.'**
+ String get call_us_description;
+
+ /// No description provided for @get_a_call.
+ ///
+ /// In en, this message translates to:
+ /// **'Get a call'**
+ String get get_a_call;
+
+ /// No description provided for @get_a_call_description.
+ ///
+ /// In en, this message translates to:
+ /// **'Enter your phone number below and we will call you.'**
+ String get get_a_call_description;
+
+ /// No description provided for @call_received_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Received'**
+ String get call_received_title;
+
+ /// No description provided for @call_received_description.
+ ///
+ /// In en, this message translates to:
+ /// **'We have received your contact request. Our team will get back to you soon.'**
+ String get call_received_description;
+
+ /// No description provided for @telephone_number.
+ ///
+ /// In en, this message translates to:
+ /// **'Telephone number'**
+ String get telephone_number;
+
+ /// No description provided for @comwell_telephone_number.
+ ///
+ /// In en, this message translates to:
+ /// **'+4570274274'**
+ String get comwell_telephone_number;
+
+ /// No description provided for @booking_details_page_hotel_information_button_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Hotel information'**
+ String get booking_details_page_hotel_information_button_title;
+
+ /// No description provided for @booking_details_page_hotel_information_button_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Find relevant information about the hotel'**
+ String get booking_details_page_hotel_information_button_subtitle;
+
+ /// No description provided for @booking_details_page_contact_button_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Contact'**
+ String get booking_details_page_contact_button_title;
+
+ /// No description provided for @booking_details_page_contact_button_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Contact the reception '**
+ String get booking_details_page_contact_button_subtitle;
+
+ /// No description provided for @housekeeping_page_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Housekeeping'**
+ String get housekeeping_page_title;
+
+ /// No description provided for @housekeeping_page_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'If you wish for housekeeping, you can order it here'**
+ String get housekeeping_page_subtitle;
+
+ /// No description provided for @housekeeping_page_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Order housekeeping'**
+ String get housekeeping_page_button;
+
+ /// No description provided for @housekeeping_page_service_title_cleaning.
+ ///
+ /// In en, this message translates to:
+ /// **'Cleaning of the room'**
+ String get housekeeping_page_service_title_cleaning;
+
+ /// No description provided for @housekeeping_page_service_title_towels.
+ ///
+ /// In en, this message translates to:
+ /// **'Soap and shampoo'**
+ String get housekeeping_page_service_title_towels;
+
+ /// No description provided for @housekeeping_page_service_title_refill.
+ ///
+ /// In en, this message translates to:
+ /// **'Refill coffee and tea'**
+ String get housekeeping_page_service_title_refill;
+
+ /// No description provided for @housekeeping_page_service_title_trash.
+ ///
+ /// In en, this message translates to:
+ /// **'Fresh towels'**
+ String get housekeeping_page_service_title_trash;
+
+ /// No description provided for @housekeeping_page_service_title_soap.
+ ///
+ /// In en, this message translates to:
+ /// **'Trash removal'**
+ String get housekeeping_page_service_title_soap;
+
+ /// No description provided for @housekeeping_page_service_cleaning_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Cleaning is between 11 and 14'**
+ String get housekeeping_page_service_cleaning_subtitle;
+
+ /// No description provided for @housekeeping_page_supplies.
+ ///
+ /// In en, this message translates to:
+ /// **'Supplies'**
+ String get housekeeping_page_supplies;
+
+ /// No description provided for @housekeeping_page_cleaning.
+ ///
+ /// In en, this message translates to:
+ /// **'Cleaning'**
+ String get housekeeping_page_cleaning;
+
+ /// No description provided for @booking_details_page_housekeeping_button_title_ordered.
+ ///
+ /// In en, this message translates to:
+ /// **'Cleaning is ordered'**
+ String get booking_details_page_housekeeping_button_title_ordered;
+
+ /// No description provided for @booking_details_page_housekeeping_button_subtitle_ordered.
+ ///
+ /// In en, this message translates to:
+ /// **'Cleaning is between 11 and 14'**
+ String get booking_details_page_housekeeping_button_subtitle_ordered;
+
+ /// No description provided for @housekeeping_page_supplies_subtitle_towels.
+ ///
+ /// In en, this message translates to:
+ /// **'Soap and shampoo'**
+ String get housekeeping_page_supplies_subtitle_towels;
+
+ /// No description provided for @housekeeping_page_supplies_subtitle_refill.
+ ///
+ /// In en, this message translates to:
+ /// **'Refill coffee and tea'**
+ String get housekeeping_page_supplies_subtitle_refill;
+
+ /// No description provided for @housekeeping_page_supplies_subtitle_trash.
+ ///
+ /// In en, this message translates to:
+ /// **'Fresh towels'**
+ String get housekeeping_page_supplies_subtitle_trash;
+
+ /// No description provided for @housekeeping_page_supplies_subtitle_soap.
+ ///
+ /// In en, this message translates to:
+ /// **'Trash removal'**
+ String get housekeeping_page_supplies_subtitle_soap;
+
+ /// No description provided for @booking_details_page_housekeeping_button_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Order housekeeping'**
+ String get booking_details_page_housekeeping_button_title;
+
+ /// No description provided for @booking_details_page_housekeeping_button_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'The day before housekeeping is requested.'**
+ String get booking_details_page_housekeeping_button_subtitle;
+
+ /// No description provided for @booking_details_page_practical_information.
+ ///
+ /// In en, this message translates to:
+ /// **'Practical information'**
+ String get booking_details_page_practical_information;
+
+ /// No description provided for @booking_details_page_checkout_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-out'**
+ String get booking_details_page_checkout_title;
+
+ /// No description provided for @booking_details_page_checkout_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Start your check-out here'**
+ String get booking_details_page_checkout_subtitle;
+
+ /// No description provided for @booking_details_page_checkout_time.
+ ///
+ /// In en, this message translates to:
+ /// **'10:00 AM'**
+ String get booking_details_page_checkout_time;
+
+ /// No description provided for @hotel_information_page_menu_restaurants_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Restaurants'**
+ String get hotel_information_page_menu_restaurants_title;
+
+ /// No description provided for @hotel_information_page_menu_restaurants_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Read about our restaurant'**
+ String get hotel_information_page_menu_restaurants_subtitle;
+
+ /// No description provided for @hotel_information_page_menu_spa_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Spa'**
+ String get hotel_information_page_menu_spa_title;
+
+ /// No description provided for @hotel_information_page_menu_spa_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Baths, saunas, brechelbath, etc.'**
+ String get hotel_information_page_menu_spa_subtitle;
+
+ /// No description provided for @hotel_information_page_menu_parking_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Parking'**
+ String get hotel_information_page_menu_parking_title;
+
+ /// No description provided for @hotel_information_page_menu_other_info_title.
+ ///
+ /// In en, this message translates to:
+ /// **'More information'**
+ String get hotel_information_page_menu_other_info_title;
+
+ /// No description provided for @hotel_information_page_menu_other_info_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Find more information'**
+ String get hotel_information_page_menu_other_info_subtitle;
+
+ /// No description provided for @hotel_information_page_spa_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Book spa'**
+ String get hotel_information_page_spa_button;
+
+ /// No description provided for @restaurant_page_practical_information.
+ ///
+ /// In en, this message translates to:
+ /// **'Practical information'**
+ String get restaurant_page_practical_information;
+
+ /// No description provided for @restaurant_page_address.
+ ///
+ /// In en, this message translates to:
+ /// **'Addrese'**
+ String get restaurant_page_address;
+
+ /// No description provided for @restaurant_page_opening_hours.
+ ///
+ /// In en, this message translates to:
+ /// **'Opening hours'**
+ String get restaurant_page_opening_hours;
+
+ /// No description provided for @restaurant_page_book_table.
+ ///
+ /// In en, this message translates to:
+ /// **'Book table'**
+ String get restaurant_page_book_table;
+
+ /// No description provided for @restaurant_page_send_email.
+ ///
+ /// In en, this message translates to:
+ /// **'Write an email'**
+ String get restaurant_page_send_email;
+
+ /// No description provided for @overview_page_check_in_button_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Get your digital key card'**
+ String get overview_page_check_in_button_subtitle;
+
+ /// No description provided for @checkout_page_confirmation_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-out'**
+ String get checkout_page_confirmation_title;
+
+ /// No description provided for @checkout_page_confirmation_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'When you check out, you have 30 minutes to leave your room'**
+ String get checkout_page_confirmation_subtitle;
+
+ /// No description provided for @checkout_page_confirmation_deadline.
+ ///
+ /// In en, this message translates to:
+ /// **'Check out latest at 10 AM'**
+ String get checkout_page_confirmation_deadline;
+
+ /// No description provided for @checkout_page_confirmation_price_title.
+ ///
+ /// In en, this message translates to:
+ /// **'To be paid'**
+ String get checkout_page_confirmation_price_title;
+
+ /// No description provided for @checkout_page_confirmation_continue.
+ ///
+ /// In en, this message translates to:
+ /// **'Go to payment'**
+ String get checkout_page_confirmation_continue;
+
+ /// No description provided for @checkout_page_payment_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment overview'**
+ String get checkout_page_payment_title;
+
+ /// No description provided for @checkout_page_payment_total.
+ ///
+ /// In en, this message translates to:
+ /// **'Total'**
+ String get checkout_page_payment_total;
+
+ /// No description provided for @checkout_page_payment_price.
+ ///
+ /// In en, this message translates to:
+ /// **'{amount} kr.'**
+ String checkout_page_payment_price(Object amount);
+
+ /// No description provided for @checkout_page_payment_club_points_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Use Comwell Club Points'**
+ String get checkout_page_payment_club_points_title;
+
+ /// No description provided for @checkout_page_payment_club_points_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You have {points} points, use them and save {amount}kr.'**
+ String checkout_page_payment_club_points_subtitle(Object amount, Object points);
+
+ /// No description provided for @checkout_page_payment_club_points_subtitle_zero.
+ ///
+ /// In en, this message translates to:
+ /// **'You have no points to use'**
+ String get checkout_page_payment_club_points_subtitle_zero;
+
+ /// No description provided for @checkout_page_payment_payment_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Pay and check out'**
+ String get checkout_page_payment_payment_title;
+
+ /// No description provided for @checkout_page_confirmation.
+ ///
+ /// In en, this message translates to:
+ /// **'Go to checkout'**
+ String get checkout_page_confirmation;
+
+ /// No description provided for @accept_terms.
+ ///
+ /// In en, this message translates to:
+ /// **'Accept terms and conditions'**
+ String get accept_terms;
+
+ /// No description provided for @checkout_page_payment_dialog_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Are you sure you want to check out?'**
+ String get checkout_page_payment_dialog_title;
+
+ /// No description provided for @checkout_page_payment_dialog_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'When you check out, you have 30 minutes to leave your room'**
+ String get checkout_page_payment_dialog_subtitle;
+
+ /// No description provided for @checkout_page_payment_dialog_confirm.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, check out now'**
+ String get checkout_page_payment_dialog_confirm;
+
+ /// No description provided for @checkout_page_payment_dialog_cancel.
+ ///
+ /// In en, this message translates to:
+ /// **'No'**
+ String get checkout_page_payment_dialog_cancel;
+
+ /// No description provided for @checkout_page_processing_success_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-out confirmed'**
+ String get checkout_page_processing_success_title;
+
+ /// No description provided for @checkout_page_processing_success_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You have 30 minutes to leave your room, after which you will no longer be able to use your keycard.'**
+ String get checkout_page_processing_success_subtitle;
+
+ /// No description provided for @checkout_page_processing_success_subtitle_no_digital_card.
+ ///
+ /// In en, this message translates to:
+ /// **'You are now checked out. Please return your key to the reception'**
+ String get checkout_page_processing_success_subtitle_no_digital_card;
+
+ /// No description provided for @checkout_page_processing_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-out failed'**
+ String get checkout_page_processing_error_title;
+
+ /// No description provided for @checkout_page_processing_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred while checking out. Please go to the reception.'**
+ String get checkout_page_processing_error_subtitle;
+
+ /// No description provided for @payment_cards_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment cards'**
+ String get payment_cards_title;
+
+ /// No description provided for @payment_cards_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'To stay at Comwell, we need a payment card.'**
+ String get payment_cards_subtitle;
+
+ /// No description provided for @payment_cards_my_cards.
+ ///
+ /// In en, this message translates to:
+ /// **'My cards'**
+ String get payment_cards_my_cards;
+
+ /// No description provided for @payment_cards_confirm_remove_title.
+ ///
+ /// In en, this message translates to:
+ /// **'You are removing the card'**
+ String get payment_cards_confirm_remove_title;
+
+ /// No description provided for @payment_cards_confirm_remove_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'This payment card will no longer be usable'**
+ String get payment_cards_confirm_remove_subtitle;
+
+ /// No description provided for @payment_cards_remove_card_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Remove card'**
+ String get payment_cards_remove_card_button;
+
+ /// No description provided for @payment_cards_edit_card_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Edit card'**
+ String get payment_cards_edit_card_title;
+
+ /// No description provided for @payment_cards_save_card_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Save card'**
+ String get payment_cards_save_card_button;
+
+ /// No description provided for @share_booking_page_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Share booking'**
+ String get share_booking_page_title;
+
+ /// No description provided for @share_booking_page_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Here you can share your booking with another guest and give them access to booking information, keycard and Concierge'**
+ String get share_booking_page_subtitle;
+
+ /// No description provided for @share_booking_page_share_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Share your booking'**
+ String get share_booking_page_share_button;
+
+ /// No description provided for @handle_guests_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Handle guests'**
+ String get handle_guests_title;
+
+ /// No description provided for @cancel_sharing.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancel sharing'**
+ String get cancel_sharing;
+
+ /// No description provided for @check_out_my_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Check out my booking'**
+ String get check_out_my_booking;
+
+ /// No description provided for @dates.
+ ///
+ /// In en, this message translates to:
+ /// **'Dates'**
+ String get dates;
+
+ /// No description provided for @guests.
+ ///
+ /// In en, this message translates to:
+ /// **'Guests'**
+ String get guests;
+
+ /// No description provided for @view_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'View booking'**
+ String get view_booking;
+
+ /// No description provided for @comwell_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Comwell Booking'**
+ String get comwell_booking;
+
+ /// No description provided for @name_on_card_hint.
+ ///
+ /// In en, this message translates to:
+ /// **'Name on card'**
+ String get name_on_card_hint;
+
+ /// No description provided for @card_number_hint.
+ ///
+ /// In en, this message translates to:
+ /// **'Card number'**
+ String get card_number_hint;
+
+ /// No description provided for @expiry_date_hint.
+ ///
+ /// In en, this message translates to:
+ /// **'Expiry date'**
+ String get expiry_date_hint;
+
+ /// No description provided for @cvc_hint.
+ ///
+ /// In en, this message translates to:
+ /// **'CVC'**
+ String get cvc_hint;
+
+ /// No description provided for @remove_guest.
+ ///
+ /// In en, this message translates to:
+ /// **'Remove guest'**
+ String get remove_guest;
+
+ /// No description provided for @remove_guests.
+ ///
+ /// In en, this message translates to:
+ /// **'Remove guests'**
+ String get remove_guests;
+
+ /// No description provided for @are_you_sure.
+ ///
+ /// In en, this message translates to:
+ /// **'Are you sure?'**
+ String get are_you_sure;
+
+ /// No description provided for @guest_removal_responsibility.
+ ///
+ /// In en, this message translates to:
+ /// **'You will be responsible for all things purchased on the room at checkout '**
+ String get guest_removal_responsibility;
+
+ /// No description provided for @notifications_page_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Notifications'**
+ String get notifications_page_title;
+
+ /// No description provided for @subscribe_all.
+ ///
+ /// In en, this message translates to:
+ /// **'Subscribe to all notifications'**
+ String get subscribe_all;
+
+ /// No description provided for @company_deal.
+ ///
+ /// In en, this message translates to:
+ /// **'Company deal'**
+ String get company_deal;
+
+ /// No description provided for @company_deal_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like to receive relevant information related to the company agreement from Comwell A/S via email and SMS. You can unsubscribe at any time by clicking the unsubscribe link at the bottom of the email.'**
+ String get company_deal_subtitle;
+
+ /// No description provided for @club_newsletter.
+ ///
+ /// In en, this message translates to:
+ /// **'Club newsletter'**
+ String get club_newsletter;
+
+ /// No description provided for @club_newsletter_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like to recieve e-mails with exiciting offers regarding hotel stays and events at Comwell. I can at any time, unsubscribe.'**
+ String get club_newsletter_subtitle;
+
+ /// No description provided for @digital_media.
+ ///
+ /// In en, this message translates to:
+ /// **'Digital media'**
+ String get digital_media;
+
+ /// No description provided for @digital_media_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like see personalized digital media advertising with news, inspiration and invitations to events. I can at any time, unsubscribe.'**
+ String get digital_media_subtitle;
+
+ /// No description provided for @sms.
+ ///
+ /// In en, this message translates to:
+ /// **'SMS'**
+ String get sms;
+
+ /// No description provided for @sms_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like to recieve SMS with news, inspiration and invitations to events. I can at any time, unsubscribe.'**
+ String get sms_subtitle;
+
+ /// No description provided for @email_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like to receive emails with news, inspiration and invitations to events. I can at any time, unsubscribe.'**
+ String get email_subtitle;
+
+ /// No description provided for @push_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like to receive push notifications with news, inspiration and invitations to events. I can at any time, unsubscribe.'**
+ String get push_subtitle;
+
+ /// No description provided for @update_profile.
+ ///
+ /// In en, this message translates to:
+ /// **'Update profile'**
+ String get update_profile;
+
+ /// No description provided for @profile_settings_invalid_date.
+ ///
+ /// In en, this message translates to:
+ /// **'Invalid date'**
+ String get profile_settings_invalid_date;
+
+ /// No description provided for @gender.
+ ///
+ /// In en, this message translates to:
+ /// **'Gender'**
+ String get gender;
+
+ /// No description provided for @comwell_club_dialog_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Become a member'**
+ String get comwell_club_dialog_title;
+
+ /// No description provided for @comwell_club_dialog_description.
+ ///
+ /// In en, this message translates to:
+ /// **'Please fill in the following information to join Comwell Club'**
+ String get comwell_club_dialog_description;
+
+ /// No description provided for @postal_code.
+ ///
+ /// In en, this message translates to:
+ /// **'Postal code'**
+ String get postal_code;
+
+ /// No description provided for @male.
+ ///
+ /// In en, this message translates to:
+ /// **'Male'**
+ String get male;
+
+ /// No description provided for @female.
+ ///
+ /// In en, this message translates to:
+ /// **'Female'**
+ String get female;
+
+ /// No description provided for @not_specified.
+ ///
+ /// In en, this message translates to:
+ /// **'Not Specified'**
+ String get not_specified;
+
+ /// No description provided for @tos_accept.
+ ///
+ /// In en, this message translates to:
+ /// **'Accept '**
+ String get tos_accept;
+
+ /// No description provided for @tos_accept_link.
+ ///
+ /// In en, this message translates to:
+ /// **'terms and conditions for Comwell Club'**
+ String get tos_accept_link;
+
+ /// No description provided for @newsletter_accept.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, I would like to receive updates on current member offers, Comwell Club surprises and other recommendations tailored to me. I can unsubscribe at any time.'**
+ String get newsletter_accept;
+
+ /// No description provided for @read_more.
+ ///
+ /// In en, this message translates to:
+ /// **'Read more'**
+ String get read_more;
+
+ /// No description provided for @read_less.
+ ///
+ /// In en, this message translates to:
+ /// **'Read less'**
+ String get read_less;
+
+ /// No description provided for @comwell_club_inactive.
+ ///
+ /// In en, this message translates to:
+ /// **'Inactive'**
+ String get comwell_club_inactive;
+
+ /// No description provided for @points.
+ ///
+ /// In en, this message translates to:
+ /// **'Points'**
+ String get points;
+
+ /// No description provided for @my_balance.
+ ///
+ /// In en, this message translates to:
+ /// **'My balance'**
+ String get my_balance;
+
+ /// No description provided for @cancel_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancel booking'**
+ String get cancel_booking;
+
+ /// No description provided for @cancellation_policy.
+ ///
+ /// In en, this message translates to:
+ /// **'Cancellation policy'**
+ String get cancellation_policy;
+
+ /// No description provided for @cancellation_policy_description.
+ ///
+ /// In en, this message translates to:
+ /// **'This booking can be cancelled free of charge until the day of arrival. If cancelled later than 14.01, the first night will be charged.'**
+ String get cancellation_policy_description;
+
+ /// No description provided for @payment_date.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment date'**
+ String get payment_date;
+
+ /// No description provided for @not_shared.
+ ///
+ /// In en, this message translates to:
+ /// **'Not shared'**
+ String get not_shared;
+
+ /// No description provided for @share_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Share booking'**
+ String get share_booking;
+
+ /// No description provided for @total_charge.
+ ///
+ /// In en, this message translates to:
+ /// **'Total charge'**
+ String get total_charge;
+
+ /// No description provided for @early_checkin.
+ ///
+ /// In en, this message translates to:
+ /// **'Early check-in'**
+ String get early_checkin;
+
+ /// No description provided for @paid.
+ ///
+ /// In en, this message translates to:
+ /// **'PAID'**
+ String get paid;
+
+ /// No description provided for @restaurant.
+ ///
+ /// In en, this message translates to:
+ /// **'Restaurant'**
+ String get restaurant;
+
+ /// No description provided for @spa.
+ ///
+ /// In en, this message translates to:
+ /// **'Spa'**
+ String get spa;
+
+ /// No description provided for @parking.
+ ///
+ /// In en, this message translates to:
+ /// **'Parking'**
+ String get parking;
+
+ /// No description provided for @go_to_payment.
+ ///
+ /// In en, this message translates to:
+ /// **'Go to payment'**
+ String get go_to_payment;
+
+ /// No description provided for @room_prefix.
+ ///
+ /// In en, this message translates to:
+ /// **'Room {roomNumber}'**
+ String room_prefix(Object roomNumber);
+
+ /// No description provided for @total_charge_value.
+ ///
+ /// In en, this message translates to:
+ /// **'{amount} kr.'**
+ String total_charge_value(Object amount);
+
+ /// No description provided for @generic_error_profile_page.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later. Or logout and try again.'**
+ String get generic_error_profile_page;
+
+ /// No description provided for @profile_error_name.
+ ///
+ /// In en, this message translates to:
+ /// **'Failed to load profile information'**
+ String get profile_error_name;
+
+ /// No description provided for @error.
+ ///
+ /// In en, this message translates to:
+ /// **'Error'**
+ String get error;
+
+ /// No description provided for @error_logout.
+ ///
+ /// In en, this message translates to:
+ /// **'There has been an error'**
+ String get error_logout;
+
+ /// No description provided for @error_logout_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Please log in again'**
+ String get error_logout_subtitle;
+
+ /// No description provided for @edit.
+ ///
+ /// In en, this message translates to:
+ /// **'Edit'**
+ String get edit;
+
+ /// No description provided for @error_cards.
+ ///
+ /// In en, this message translates to:
+ /// **'Failed to load cards, try again later'**
+ String get error_cards;
+
+ /// No description provided for @check_in_button_timer_days_hours_minutes.
+ ///
+ /// In en, this message translates to:
+ /// **'In {d} days, {h} hours and {m} minutes'**
+ String check_in_button_timer_days_hours_minutes(Object d, Object h, Object m);
+
+ /// No description provided for @check_in_button_timer_hours_minutes.
+ ///
+ /// In en, this message translates to:
+ /// **'In {h} hours and {m} minutes'**
+ String check_in_button_timer_hours_minutes(Object h, Object m);
+
+ /// No description provided for @check_in_button_timer_minutes.
+ ///
+ /// In en, this message translates to:
+ /// **'In {m} minutes'**
+ String check_in_button_timer_minutes(Object m);
+
+ /// No description provided for @check_in_button_timer_seconds.
+ ///
+ /// In en, this message translates to:
+ /// **'In {s} seconds'**
+ String check_in_button_timer_seconds(Object s);
+
+ /// No description provided for @approve_conditions_title.
+ ///
+ /// In en, this message translates to:
+ /// **'I accept '**
+ String get approve_conditions_title;
+
+ /// No description provided for @approve_conditions_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'terms and conditions'**
+ String get approve_conditions_subtitle;
+
+ /// No description provided for @up_sales_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Early check-in'**
+ String get up_sales_title;
+
+ /// No description provided for @up_sales_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'With early check-in you can check in at 13.00 instead of 15.00.'**
+ String get up_sales_subtitle;
+
+ /// No description provided for @up_sales_popular.
+ ///
+ /// In en, this message translates to:
+ /// **'POPULAR'**
+ String get up_sales_popular;
+
+ /// No description provided for @services.
+ ///
+ /// In en, this message translates to:
+ /// **'Services'**
+ String get services;
+
+ /// No description provided for @up_sales_see_all.
+ ///
+ /// In en, this message translates to:
+ /// **'See all'**
+ String get up_sales_see_all;
+
+ /// No description provided for @up_sales_catalog_button_title.
+ ///
+ /// In en, this message translates to:
+ /// **'See product catalog'**
+ String get up_sales_catalog_button_title;
+
+ /// No description provided for @up_sales_catalog_button_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Here you can see and order products and write them automatically on your room bill.'**
+ String get up_sales_catalog_button_subtitle;
+
+ /// No description provided for @up_sales_catalog_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Upgrades & Services'**
+ String get up_sales_catalog_title;
+
+ /// No description provided for @room_upgrades.
+ ///
+ /// In en, this message translates to:
+ /// **'Room upgrades'**
+ String get room_upgrades;
+
+ /// No description provided for @other_up_sales.
+ ///
+ /// In en, this message translates to:
+ /// **'Other upgrades'**
+ String get other_up_sales;
+
+ /// No description provided for @read_more_up_sales.
+ ///
+ /// In en, this message translates to:
+ /// **'Read more'**
+ String get read_more_up_sales;
+
+ /// No description provided for @continue_without_up_sales.
+ ///
+ /// In en, this message translates to:
+ /// **'Continue without upgrades'**
+ String get continue_without_up_sales;
+
+ /// No description provided for @open_maps_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Cannot open maps'**
+ String get open_maps_error_title;
+
+ /// No description provided for @open_maps_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'No maps application is available.'**
+ String get open_maps_error_subtitle;
+
+ /// No description provided for @apple_maps.
+ ///
+ /// In en, this message translates to:
+ /// **'Apple Maps'**
+ String get apple_maps;
+
+ /// No description provided for @google_maps.
+ ///
+ /// In en, this message translates to:
+ /// **'Google Maps'**
+ String get google_maps;
+
+ /// No description provided for @add_to_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Add to booking'**
+ String get add_to_booking;
+
+ /// No description provided for @see_all_facilities.
+ ///
+ /// In en, this message translates to:
+ /// **'See all facilities'**
+ String get see_all_facilities;
+
+ /// No description provided for @remove_from_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Remove from booking'**
+ String get remove_from_booking;
+
+ /// No description provided for @no_services_available.
+ ///
+ /// In en, this message translates to:
+ /// **'No services available'**
+ String get no_services_available;
+
+ /// No description provided for @no_room_upgrades_available.
+ ///
+ /// In en, this message translates to:
+ /// **'No room upgrades available'**
+ String get no_room_upgrades_available;
+
+ /// No description provided for @confirm_up_sales_dialog_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Confirm upgrades'**
+ String get confirm_up_sales_dialog_title;
+
+ /// No description provided for @confirm_up_sales_dialog_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Are you sure you want to add these upgrades for {amount} kr to your booking?'**
+ String confirm_up_sales_dialog_subtitle(Object amount);
+
+ /// No description provided for @confirm_up_sales_dialog_confirm.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, add upgrades'**
+ String get confirm_up_sales_dialog_confirm;
+
+ /// No description provided for @confirm_up_sales_dialog_cancel.
+ ///
+ /// In en, this message translates to:
+ /// **'No'**
+ String get confirm_up_sales_dialog_cancel;
+
+ /// No description provided for @email_launch_error.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not launch email client'**
+ String get email_launch_error;
+
+ /// No description provided for @phone_launch_error.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not launch phone call'**
+ String get phone_launch_error;
+
+ /// No description provided for @balance.
+ ///
+ /// In en, this message translates to:
+ /// **'BALANCE'**
+ String get balance;
+
+ /// No description provided for @new_booking.
+ ///
+ /// In en, this message translates to:
+ /// **'Make a new booking'**
+ String get new_booking;
+
+ /// No description provided for @error_opening_website.
+ ///
+ /// In en, this message translates to:
+ /// **'Failed to open the website. Please try again later.'**
+ String get error_opening_website;
+
+ /// No description provided for @error_opening_website_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Error'**
+ String get error_opening_website_title;
+
+ /// No description provided for @room_selection.
+ ///
+ /// In en, this message translates to:
+ /// **'Room selection'**
+ String get room_selection;
+
+ /// No description provided for @room_selection_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Select a room for your stay'**
+ String get room_selection_subtitle;
+
+ /// No description provided for @choose_room.
+ ///
+ /// In en, this message translates to:
+ /// **'Choose room'**
+ String get choose_room;
+
+ /// No description provided for @choose_room_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You need to choose the room you want to sleep in. When you have chosen, you can assign the other rooms to others.'**
+ String get choose_room_subtitle;
+
+ /// No description provided for @check_in_date.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-in date'**
+ String get check_in_date;
+
+ /// No description provided for @check_out_date.
+ ///
+ /// In en, this message translates to:
+ /// **'Check-out date'**
+ String get check_out_date;
+
+ /// No description provided for @confirmation_number.
+ ///
+ /// In en, this message translates to:
+ /// **'Confirmation number'**
+ String get confirmation_number;
+
+ /// No description provided for @close.
+ ///
+ /// In en, this message translates to:
+ /// **'Close'**
+ String get close;
+
+ /// No description provided for @choose_room_confirmation_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Are you sure you want to choose this room?'**
+ String get choose_room_confirmation_title;
+
+ /// No description provided for @choose_room_confirmation_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'You cannot undo your choice. Remaining rooms must be assigned.'**
+ String get choose_room_confirmation_subtitle;
+
+ /// No description provided for @choose_room_confirmation_confirm.
+ ///
+ /// In en, this message translates to:
+ /// **'Yes, choose room'**
+ String get choose_room_confirmation_confirm;
+
+ /// No description provided for @choose_room_confirmation_cancel.
+ ///
+ /// In en, this message translates to:
+ /// **'No'**
+ String get choose_room_confirmation_cancel;
+
+ /// No description provided for @my_room.
+ ///
+ /// In en, this message translates to:
+ /// **'My room'**
+ String get my_room;
+
+ /// No description provided for @share_room.
+ ///
+ /// In en, this message translates to:
+ /// **'Share room'**
+ String get share_room;
+
+ /// No description provided for @share_room_page_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Share room'**
+ String get share_room_page_title;
+
+ /// No description provided for @share_room_page_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Here you can share your room with another guest and give them access to booking information, keycard and Concierge'**
+ String get share_room_page_subtitle;
+
+ /// No description provided for @share_room_page_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Share your room'**
+ String get share_room_page_button;
+
+ /// No description provided for @addon.
+ ///
+ /// In en, this message translates to:
+ /// **'Added purchase'**
+ String get addon;
+
+ /// No description provided for @added_to_room.
+ ///
+ /// In en, this message translates to:
+ /// **'Added to room'**
+ String get added_to_room;
+
+ /// No description provided for @force_update_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Update required'**
+ String get force_update_title;
+
+ /// No description provided for @force_update_description.
+ ///
+ /// In en, this message translates to:
+ /// **'To continue using the app, please update to the latest version.'**
+ String get force_update_description;
+
+ /// No description provided for @force_update_button.
+ ///
+ /// In en, this message translates to:
+ /// **'Go to App Store'**
+ String get force_update_button;
+
+ /// No description provided for @invalid_birthday.
+ ///
+ /// In en, this message translates to:
+ /// **'Invalid birthday'**
+ String get invalid_birthday;
+
+ /// No description provided for @invalid_birthday_description.
+ ///
+ /// In en, this message translates to:
+ /// **'Your saved birthday is not allowed. Please pick a new date.'**
+ String get invalid_birthday_description;
+
+ /// No description provided for @up_sales_confirmation_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment overview'**
+ String get up_sales_confirmation_title;
+
+ /// No description provided for @up_sales_confirmation_no_up_sales.
+ ///
+ /// In en, this message translates to:
+ /// **'No upgrades selected.'**
+ String get up_sales_confirmation_no_up_sales;
+
+ /// No description provided for @facilities.
+ ///
+ /// In en, this message translates to:
+ /// **'Facilities'**
+ String get facilities;
+
+ /// No description provided for @remove.
+ ///
+ /// In en, this message translates to:
+ /// **'Remove'**
+ String get remove;
+
+ /// No description provided for @up_sales_processing_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Failed to add addons'**
+ String get up_sales_processing_error_title;
+
+ /// No description provided for @up_sales_processing_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Addons are not available at the moment. Please try again later.'**
+ String get up_sales_processing_error_subtitle;
+
+ /// No description provided for @pay_bill.
+ ///
+ /// In en, this message translates to:
+ /// **'Pay bill'**
+ String get pay_bill;
+
+ /// No description provided for @discount.
+ ///
+ /// In en, this message translates to:
+ /// **'Comwell Club Points Discount'**
+ String get discount;
+
+ /// No description provided for @error_preregistration.
+ ///
+ /// In en, this message translates to:
+ /// **'Failed to preregister, go to reception'**
+ String get error_preregistration;
+
+ /// No description provided for @get_keys.
+ ///
+ /// In en, this message translates to:
+ /// **'Get digital key'**
+ String get get_keys;
+
+ /// No description provided for @get_keys_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Get your digital key card'**
+ String get get_keys_subtitle;
+
+ /// No description provided for @add_card.
+ ///
+ /// In en, this message translates to:
+ /// **'Add card'**
+ String get add_card;
+
+ /// No description provided for @total.
+ ///
+ /// In en, this message translates to:
+ /// **'Total'**
+ String get total;
+
+ /// No description provided for @profile_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not load your profile'**
+ String get profile_error_title;
+
+ /// No description provided for @profile_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later.'**
+ String get profile_error_subtitle;
+
+ /// No description provided for @generic_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'There was an error'**
+ String get generic_error_title;
+
+ /// No description provided for @notifications_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Notifications could not be loaded. Please try again later.'**
+ String get notifications_error_subtitle;
+
+ /// No description provided for @payment_cards_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Payment cards could not be loaded. Please try again later.'**
+ String get payment_cards_error_subtitle;
+
+ /// No description provided for @hotel_information_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Hotel information could not be loaded. Please try again later.'**
+ String get hotel_information_error_subtitle;
+
+ /// No description provided for @overview_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not load your bookings'**
+ String get overview_error_title;
+
+ /// No description provided for @overview_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. We could not load your bookings. Please try again later.'**
+ String get overview_error_subtitle;
+
+ /// No description provided for @up_sales_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not load up sales'**
+ String get up_sales_error_title;
+
+ /// No description provided for @up_sales_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. We could not load up sales. Please try again later.'**
+ String get up_sales_error_subtitle;
+
+ /// No description provided for @choose_room_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not choose room'**
+ String get choose_room_error_title;
+
+ /// No description provided for @choose_room_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later or go to the reception.'**
+ String get choose_room_error_subtitle;
+
+ /// No description provided for @share_booking_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Could not find guests on the room'**
+ String get share_booking_error_title;
+
+ /// No description provided for @share_booking_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'An error occurred. Please try again later.'**
+ String get share_booking_error_subtitle;
+
+ /// No description provided for @refresh_bookings.
+ ///
+ /// In en, this message translates to:
+ /// **'Refresh bookings'**
+ String get refresh_bookings;
+
+ /// No description provided for @document_type.
+ ///
+ /// In en, this message translates to:
+ /// **'Document type'**
+ String get document_type;
+
+ /// No description provided for @document_type_passport.
+ ///
+ /// In en, this message translates to:
+ /// **'Passport'**
+ String get document_type_passport;
+
+ /// No description provided for @document_type_id_card.
+ ///
+ /// In en, this message translates to:
+ /// **'ID card'**
+ String get document_type_id_card;
+
+ /// No description provided for @document_type_driver_license.
+ ///
+ /// In en, this message translates to:
+ /// **'Driver license'**
+ String get document_type_driver_license;
+
+ /// No description provided for @document_type_other.
+ ///
+ /// In en, this message translates to:
+ /// **'Other'**
+ String get document_type_other;
+
+ /// No description provided for @document_number.
+ ///
+ /// In en, this message translates to:
+ /// **'Document number'**
+ String get document_number;
+
+ /// No description provided for @up_sales_catalog_no_up_sales_title.
+ ///
+ /// In en, this message translates to:
+ /// **'No upgrades available'**
+ String get up_sales_catalog_no_up_sales_title;
+
+ /// No description provided for @up_sales_catalog_no_up_sales_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'No upgrades are available at the moment. Please try again later.'**
+ String get up_sales_catalog_no_up_sales_subtitle;
+
+ /// No description provided for @payment_cards_missing_payment_method_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Missing payment method'**
+ String get payment_cards_missing_payment_method_title;
+
+ /// No description provided for @payment_cards_missing_payment_method_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Please select a payment method to continue.'**
+ String get payment_cards_missing_payment_method_subtitle;
+
+ /// No description provided for @share_booking_page_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Error'**
+ String get share_booking_page_error_title;
+
+ /// No description provided for @share_booking_page_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'This booking has already been shared.'**
+ String get share_booking_page_error_subtitle;
+
+ /// No description provided for @share_booking_message.
+ ///
+ /// In en, this message translates to:
+ /// **'{name} would like to share a booking with you at Comwell {hotel}. Access via the link: {url}'**
+ String share_booking_message(Object hotel, Object name, Object url);
+
+ /// No description provided for @check_in_page_error_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Room not found'**
+ String get check_in_page_error_title;
+
+ /// No description provided for @check_in_page_error_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'We could not find the room. Please check in at the reception.'**
+ String get check_in_page_error_subtitle;
+
+ /// No description provided for @remove_guest_overview.
+ ///
+ /// In en, this message translates to:
+ /// **'Remove'**
+ String get remove_guest_overview;
+
+ /// No description provided for @home_page.
+ ///
+ /// In en, this message translates to:
+ /// **'Home'**
+ String get home_page;
+
+ /// No description provided for @send_to_email.
+ ///
+ /// In en, this message translates to:
+ /// **'Send to email'**
+ String get send_to_email;
+
+ /// No description provided for @download_bill.
+ ///
+ /// In en, this message translates to:
+ /// **'Get receipt'**
+ String get download_bill;
+
+ /// No description provided for @bill_email_placeholder.
+ ///
+ /// In en, this message translates to:
+ /// **'E-mail'**
+ String get bill_email_placeholder;
+
+ /// No description provided for @payment_overview_send_receipt_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Receipt via email'**
+ String get payment_overview_send_receipt_title;
+
+ /// No description provided for @payment_overview_send_receipt_subtitle.
+ ///
+ /// In en, this message translates to:
+ /// **'Sent to {name}'**
+ String payment_overview_send_receipt_subtitle(Object name);
+
+ /// No description provided for @payment_overview_send_comment_title.
+ ///
+ /// In en, this message translates to:
+ /// **'Comment'**
+ String get payment_overview_send_comment_title;
+
+ /// No description provided for @payment_overview_send_receipt_hint.
+ ///
+ /// In en, this message translates to:
+ /// **'Enter comment'**
+ String get payment_overview_send_receipt_hint;
+
+ /// No description provided for @key_page_room_prefix.
+ ///
+ /// In en, this message translates to:
+ /// **'Room {roomNumber}'**
+ String key_page_room_prefix(Object roomNumber);
+
+ /// No description provided for @please_accept_terms.
+ ///
+ /// In en, this message translates to:
+ /// **'Please accept terms'**
+ String get please_accept_terms;
+}
+
+class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
+ const _AppLocalizationsDelegate();
+
+ @override
+ Future<AppLocalizations> load(Locale locale) {
+ return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
+ }
+
+ @override
+ bool isSupported(Locale locale) => <String>['da', 'en'].contains(locale.languageCode);
+
+ @override
+ bool shouldReload(_AppLocalizationsDelegate old) => false;
+}
+
+AppLocalizations lookupAppLocalizations(Locale locale) {
+ // Lookup logic when only language code is specified.
+ switch (locale.languageCode) {
+ case 'da':
+ return AppLocalizationsDa();
+ case 'en':
+ return AppLocalizationsEn();
+ }
+
+ throw FlutterError(
+ 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
+ 'an issue with the localizations generation tool. Please file an issue '
+ 'on GitHub with a reproducible sample app and the gen-l10n configuration '
+ 'that was used.',
+ );
+}
diff --git a/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart b/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart
new file mode 100644
index 00000000..3ddae3a3
--- /dev/null
+++ b/comwell_key_app/lib/.generated/l10n/app_localizations_da.dart
@@ -0,0 +1,1235 @@
+// ignore: unused_import
+import 'package:intl/intl.dart' as intl;
+import 'app_localizations.dart';
+
+// ignore_for_file: type=lint
+
+/// The translations for Danish (`da`).
+class AppLocalizationsDa extends AppLocalizations {
+ AppLocalizationsDa([String locale = 'da']) : super(locale);
+
+ @override
+ String get generic_continue => 'Fortsæt';
+
+ @override
+ String get generic_information_required => 'Dette felt er påkrævet';
+
+ @override
+ String get generic_confirm => 'Bekræft';
+
+ @override
+ String get generic_done => 'Færdig';
+
+ @override
+ String get generic_ok => 'OK';
+
+ @override
+ String get generic_credit_card => 'Kreditkort';
+
+ @override
+ String get generic_apple_pay => 'Apple Pay';
+
+ @override
+ String get generic_google_pay => 'Google Pay';
+
+ @override
+ String get generic_error => 'Der skete en fejl. Prøv igen.';
+
+ @override
+ String get welcome_headline => 'Velkommen hos Comwell Hotels';
+
+ @override
+ String get welcome_button => 'Fortsæt';
+
+ @override
+ String get welcome_error => 'Der er sket en fejl. Genstart app.';
+
+ @override
+ String get room_key => 'Nøgle';
+
+ @override
+ String get room_keys => 'Nøgler';
+
+ @override
+ String get redeem_code => 'Indløs kode';
+
+ @override
+ String get error_opening_door => 'Der skete en fejl.';
+
+ @override
+ String get try_again => 'Prøv igen';
+
+ @override
+ String get room_key_description => 'Dette er din nøgle til værelset.';
+
+ @override
+ String get login_button => 'Login';
+
+ @override
+ String get create_user_button => 'Opret ny bruger';
+
+ @override
+ String get profile_settings_profile_menu => 'Profilindstillinger';
+
+ @override
+ String get payment_card_profile_menu => 'Betalingskort';
+
+ @override
+ String get notifications_profile_menu => 'Notifikationer';
+
+ @override
+ String get logout_profile_menu => 'Log ud';
+
+ @override
+ String get logout_dialog_title => 'Vil du logge ud af din profil';
+
+ @override
+ String get cancel => 'Annuller';
+
+ @override
+ String get name_cc_sign => 'Navn';
+
+ @override
+ String get become_cc_member_title => 'Bliv medlem af comwell club';
+
+ @override
+ String get become_cc_member_subtitle =>
+ 'Bliv medlem og optjen point, hver gang du overnatter på et Comwell Hotel.';
+
+ @override
+ String get overview_tabbar_active => 'Aktuelle';
+
+ @override
+ String get overview_tabbar_past => 'Tidligere';
+
+ @override
+ String get overview_tabbar_cancelled => 'Annulleret';
+
+ @override
+ String get no_past_bookings_title => 'Ingen tidligere ophold';
+
+ @override
+ String get no_past_bookings_subtitle => 'Du har ingen tidligere overnatninger på Comwell Hotels.';
+
+ @override
+ String get no_cancelled_booking_title => 'Ingen annullerede ophold';
+
+ @override
+ String get no_cancelled_booking_subtitle => 'Du har ingen annullerede overnatninger hos os.';
+
+ @override
+ String get booking_annulled => 'Annulleret';
+
+ @override
+ String get no_current_bookings => 'Ingen aktuelle bookinger';
+
+ @override
+ String get no_current_bookings_subtitle =>
+ 'Du har ingen aktuelle bookinger. Planlæg næste ophold på Comwell.';
+
+ @override
+ String get adults => 'voksne';
+
+ @override
+ String get children => 'børn';
+
+ @override
+ String get adult => 'voksen';
+
+ @override
+ String get child => 'barn';
+
+ @override
+ String get rooms => 'Værelser';
+
+ @override
+ String get prepare_room => 'Klargør dit værelse';
+
+ @override
+ String get jump_line_text => 'Spring køen over med digital check-in';
+
+ @override
+ String get overview_add_booking => 'Find booking';
+
+ @override
+ String get open_room => 'Åben værelse';
+
+ @override
+ String get hold_phone_to_door => 'Hold tæt på læser';
+
+ @override
+ String get open_room_success => 'Succes';
+
+ @override
+ String get open_room_error => 'Prøv igen!';
+
+ @override
+ String get profile_settings => 'Profilindstillinger';
+
+ @override
+ String get profile_settings_firstname => 'Fornavn';
+
+ @override
+ String get profile_settings_lastname => 'Efternavn';
+
+ @override
+ String get profile_settings_email => 'Email';
+
+ @override
+ String get profile_settings_phone => 'Telefon';
+
+ @override
+ String get profile_settings_address => 'Adresse';
+
+ @override
+ String get profile_settings_birthday => 'Fødselsdag';
+
+ @override
+ String get profile_settings_edit_password => 'Ret adgangskode';
+
+ @override
+ String get profile_settings_error => 'Der skete en fejl. Prøv igen.';
+
+ @override
+ String get delete_profile => 'Slet profil';
+
+ @override
+ String get my_booking => 'Min booking';
+
+ @override
+ String get booking_reference => 'Bookingreference';
+
+ @override
+ String get check_in => 'Check-in';
+
+ @override
+ String get check_out => 'Check-out';
+
+ @override
+ String get overview_page_check_in_physical_card_subtitle =>
+ 'Gå i lobbyen og få udleveret din nøgle';
+
+ @override
+ String get booking_details => 'Booking';
+
+ @override
+ String get number_of_guests => 'Personer';
+
+ @override
+ String get booker => 'Booker';
+
+ @override
+ String get booking_date => 'Booking dato';
+
+ @override
+ String get payment => 'Betaling';
+
+ @override
+ String get payment_method => 'Betalingsmetode';
+
+ @override
+ String get bill => 'Kvittering';
+
+ @override
+ String get get_bill => 'Hent kvittering';
+
+ @override
+ String get your_last_name => 'Dit efternavn';
+
+ @override
+ String get find_booking => 'Find booking';
+
+ @override
+ String get choose_hotel => 'Vælg hotel';
+
+ @override
+ String get hotels => 'Hoteller';
+
+ @override
+ String get all => 'Alle';
+
+ @override
+ String get zealand => 'Sjælland';
+
+ @override
+ String get funen => 'Fyn';
+
+ @override
+ String get jutland => 'Jylland';
+
+ @override
+ String get booking_not_found => 'Booking blev ikke fundet';
+
+ @override
+ String get booking_not_found_subtitle =>
+ 'Den booking du leder efter, kunne ikke findes. \nHar du skrevet oplysningerne korrekt?';
+
+ @override
+ String get booking_not_found_button => 'Prøv igen';
+
+ @override
+ String get booking_not_found_cancel => 'Annuller';
+
+ @override
+ String get save => 'Gem';
+
+ @override
+ String get zipCode => 'Postnummer';
+
+ @override
+ String get city => 'By';
+
+ @override
+ String get country => 'Land';
+
+ @override
+ String get delete_profile_title => 'Du er ved at slette din profil';
+
+ @override
+ String get delete_profile_description =>
+ 'Når du sletter din profil, mister du overblik over tidligere ophold samt dine Comwell Club point';
+
+ @override
+ String get delete_profile_button => 'Slet profil';
+
+ @override
+ String get delete_profile_cancel => 'Annuller';
+
+ @override
+ String get check_in_loading_title => 'Finder dit værelse...';
+
+ @override
+ String get check_in_room_found_title => 'Værelse fundet...';
+
+ @override
+ String get check_in_your_digital_card_title => 'Dit Digitale Nøglekort';
+
+ @override
+ String get check_in_your_digital_card_subtitle =>
+ 'Brug din mobiltelefon til at åbne værelset op. Du skal ikke længere checke ind i receptionen.';
+
+ @override
+ String get check_in_your_digital_card_nb =>
+ 'NB: Ønsker du et fysisk nøglekort, kan du altid gå i receptionen og få det udleveret.';
+
+ @override
+ String get check_in_error_title => 'Værelse ikke fundet...';
+
+ @override
+ String get check_in_error_subtitle =>
+ 'Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen.';
+
+ @override
+ String get preregistration_address_title => 'Adresse';
+
+ @override
+ String get check_in_your_digital_card_room_prefix => 'Værelse';
+
+ @override
+ String get preregistration_address_subtitle =>
+ 'Det er lovpligtigt at vi kender adressen på den primære beboer på værelset. Dette er pga. brandsikkerhed';
+
+ @override
+ String get preregistration_address_label_address => 'Adresse';
+
+ @override
+ String get preregistration_address_label_postal_code => 'Postnummer';
+
+ @override
+ String get preregistration_address_label_city => 'By';
+
+ @override
+ String get preregistration_address_label_country => 'Land';
+
+ @override
+ String get preregistration_payment_title => 'Betalingskort';
+
+ @override
+ String get preregistration_payment_subtitle =>
+ 'For at kunne overnatte på Comwell, skal vi bruge et betalingskort.';
+
+ @override
+ String get preregistration_payment_add_card => 'Tilføj kort';
+
+ @override
+ String get preregistration_confirmation_title => 'Registeringsinformation';
+
+ @override
+ String get preregistration_confirmation_profile_card_title => 'Profilinformation';
+
+ @override
+ String get preregistration_confirmation_address_card_title => 'Adresse';
+
+ @override
+ String get preregistration_confirmation_payment_card_title => 'Betalingskort';
+
+ @override
+ String get preregistration_confirmation_extras_card_title_singular => '1 valgt Tilkøb';
+
+ @override
+ String preregistration_confirmation_extras_card_title_plural(Object amount) {
+ return '$amount valgte tilkøb';
+ }
+
+ @override
+ String get preregistration_confirmation_extras_card_subtitle => 'Skrives på din værelsesregning';
+
+ @override
+ String get need_help => 'Har du brug for hjælp?';
+
+ @override
+ String get call_us => 'Ring til os';
+
+ @override
+ String get call_us_description =>
+ 'Har du brug for at komme i kontakt med et af vores hoteller? Benyt knappen nedenfor for at ringe op.';
+
+ @override
+ String get get_a_call => 'Bliv ringet op';
+
+ @override
+ String get get_a_call_description => 'Indtast dit telefonnummer herunder og bliv ringet op.';
+
+ @override
+ String get call_received_title => 'Modtaget';
+
+ @override
+ String get call_received_description =>
+ 'Vi har modtaget din kontaktforespørgsel. Vores team vil kontakte dig snart.';
+
+ @override
+ String get telephone_number => 'Telefonnummer';
+
+ @override
+ String get comwell_telephone_number => '+4570274274';
+
+ @override
+ String get booking_details_page_hotel_information_button_title => 'Hotelinformation';
+
+ @override
+ String get booking_details_page_hotel_information_button_subtitle =>
+ 'Find relevant information om hotellet';
+
+ @override
+ String get booking_details_page_contact_button_title => 'Kontakt';
+
+ @override
+ String get booking_details_page_contact_button_subtitle => 'Kom i kontakt med receptionen.';
+
+ @override
+ String get housekeeping_page_title => 'Housekeeping';
+
+ @override
+ String get housekeeping_page_subtitle =>
+ 'Ønsker du ekstra rengøring eller opfyldning på værelset, kan du altid bestille det her - uden omkostninger';
+
+ @override
+ String get housekeeping_page_button => 'Bestil housekeeping';
+
+ @override
+ String get housekeeping_page_service_title_cleaning => 'Rengøring af værelse';
+
+ @override
+ String get housekeeping_page_service_title_towels => 'Friske håndklæder';
+
+ @override
+ String get housekeeping_page_service_title_refill => 'Genopfyldning af kaffe og te';
+
+ @override
+ String get housekeeping_page_service_title_trash => 'Afhentning af skrald';
+
+ @override
+ String get housekeeping_page_service_title_soap => 'Sæbe/shampoo';
+
+ @override
+ String get housekeeping_page_service_cleaning_subtitle => 'Der bliver gjort rent mellem 11 og 14';
+
+ @override
+ String get housekeeping_page_supplies => 'Forsyninger';
+
+ @override
+ String get housekeeping_page_cleaning => 'Rengøring';
+
+ @override
+ String get booking_details_page_housekeeping_button_title_ordered => 'Housekeeping bestilt';
+
+ @override
+ String get booking_details_page_housekeeping_button_subtitle_ordered =>
+ 'Rengøring kommer mellem kl. 11 og 14';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_towels => 'Soap and shampoo';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_refill => 'Refill coffee and tea';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_trash => 'Fresh towels';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_soap => 'Trash removal';
+
+ @override
+ String get booking_details_page_housekeeping_button_title => 'Bestil housekeeping';
+
+ @override
+ String get booking_details_page_housekeeping_button_subtitle => 'Dagen før housekeeping ønskes.';
+
+ @override
+ String get booking_details_page_practical_information => 'Praktisk information';
+
+ @override
+ String get booking_details_page_checkout_title => 'Check-out';
+
+ @override
+ String get booking_details_page_checkout_subtitle => 'Start dit check-out her';
+
+ @override
+ String get booking_details_page_checkout_time => '10:00 AM';
+
+ @override
+ String get hotel_information_page_menu_restaurants_title => 'Restauranter';
+
+ @override
+ String get hotel_information_page_menu_restaurants_subtitle => 'Læs om vores restaurant';
+
+ @override
+ String get hotel_information_page_menu_spa_title => 'Spa';
+
+ @override
+ String get hotel_information_page_menu_spa_subtitle => 'Bade, saunaer, brechelbath, mm.';
+
+ @override
+ String get hotel_information_page_menu_parking_title => 'Parkering';
+
+ @override
+ String get hotel_information_page_menu_other_info_title => 'Øvrige informationer';
+
+ @override
+ String get hotel_information_page_menu_other_info_subtitle => 'Find mere information om hotellet';
+
+ @override
+ String get hotel_information_page_spa_button => 'Book spa';
+
+ @override
+ String get restaurant_page_practical_information => 'Praktisk information';
+
+ @override
+ String get restaurant_page_address => 'Adresse';
+
+ @override
+ String get restaurant_page_opening_hours => 'Åbningstider';
+
+ @override
+ String get restaurant_page_book_table => 'Book bord';
+
+ @override
+ String get restaurant_page_send_email => 'Skriv en email';
+
+ @override
+ String get overview_page_check_in_button_subtitle => 'Få dit digitale nøglekort med det samme';
+
+ @override
+ String get checkout_page_confirmation_title => 'Check-out';
+
+ @override
+ String get checkout_page_confirmation_subtitle =>
+ 'Når du bekræfter dit check-out har du 30 minutter til at forlade værelset før dit nøglekort vil stoppe med at virke.';
+
+ @override
+ String get checkout_page_confirmation_deadline => 'Dit check-out skal ske senest kl. 10:00';
+
+ @override
+ String get checkout_page_confirmation_price_title => 'Til betaling';
+
+ @override
+ String get checkout_page_confirmation_continue => 'Gå til betaling';
+
+ @override
+ String get checkout_page_payment_title => 'Betalingsoversigt';
+
+ @override
+ String get checkout_page_payment_total => 'Total';
+
+ @override
+ String checkout_page_payment_price(Object amount) {
+ return '$amount kr.';
+ }
+
+ @override
+ String get checkout_page_payment_club_points_title => 'Brug Comwell Club Point';
+
+ @override
+ String checkout_page_payment_club_points_subtitle(Object amount, Object points) {
+ return 'Du har $points point, anvend og spar ${amount}kr.';
+ }
+
+ @override
+ String get checkout_page_payment_club_points_subtitle_zero => 'Du har ingen point at anvende';
+
+ @override
+ String get checkout_page_payment_payment_title => 'Betal og check ud';
+
+ @override
+ String get checkout_page_confirmation => 'Gå til check-out';
+
+ @override
+ String get accept_terms => 'Accepter betingelserne';
+
+ @override
+ String get checkout_page_payment_dialog_title => 'Er du sikker på du vil checke ud af hotellet?';
+
+ @override
+ String get checkout_page_payment_dialog_subtitle =>
+ 'Når du bekræfter, har du 30 minutter til at forlade dit værelse.';
+
+ @override
+ String get checkout_page_payment_dialog_confirm => 'Ja, check ud nu';
+
+ @override
+ String get checkout_page_payment_dialog_cancel => 'Nej';
+
+ @override
+ String get checkout_page_processing_success_title => 'Check-out bekræftet';
+
+ @override
+ String get checkout_page_processing_success_subtitle =>
+ 'Dit check-out er nu bekræftet og du har nu 30 minutter til at forlade dit værelse. Herefter vil du ikke længere kunne bruge dit nøglekort. ';
+
+ @override
+ String get checkout_page_processing_success_subtitle_no_digital_card =>
+ 'Du er nu checket ud. Husk at aflevere din nøgle i lobbyen.';
+
+ @override
+ String get checkout_page_processing_error_title => 'Check-out fejlet';
+
+ @override
+ String get checkout_page_processing_error_subtitle =>
+ 'Der skete en fejl ved check-out. Du bedes henvende dig i receptionen.';
+
+ @override
+ String get payment_cards_title => 'Betalingskort';
+
+ @override
+ String get payment_cards_subtitle =>
+ 'For at kunne overnatte på Comwell, skal vi bruge et betalingskort.';
+
+ @override
+ String get payment_cards_my_cards => 'Mine kort';
+
+ @override
+ String get payment_cards_confirm_remove_title => 'Du er ved at fjerne et betalingskort';
+
+ @override
+ String get payment_cards_confirm_remove_subtitle =>
+ 'Dette betalingskort vil ikke længere være tilgængeligt, hvis du sletter det.';
+
+ @override
+ String get payment_cards_remove_card_button => 'Fjern kort';
+
+ @override
+ String get payment_cards_edit_card_title => 'Redigér kort';
+
+ @override
+ String get payment_cards_save_card_button => 'Gem kort';
+
+ @override
+ String get share_booking_page_title => 'Del ophold';
+
+ @override
+ String get share_booking_page_subtitle =>
+ 'Her kan du dele dit ophold med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge';
+
+ @override
+ String get share_booking_page_share_button => 'Del dit ophold';
+
+ @override
+ String get handle_guests_title => 'Håndter gæster';
+
+ @override
+ String get cancel_sharing => 'Fortryd deling';
+
+ @override
+ String get check_out_my_booking => 'Check ud af mit ophold';
+
+ @override
+ String get dates => 'Datoer';
+
+ @override
+ String get guests => 'Gæster';
+
+ @override
+ String get view_booking => 'Se booking';
+
+ @override
+ String get comwell_booking => 'Comwell Ophold';
+
+ @override
+ String get name_on_card_hint => 'Navn på kort';
+
+ @override
+ String get card_number_hint => 'Kortnummer';
+
+ @override
+ String get expiry_date_hint => 'Udløbsdato';
+
+ @override
+ String get cvc_hint => 'CVC';
+
+ @override
+ String get remove_guest => 'Fjern gæst';
+
+ @override
+ String get remove_guests => 'Fjern gæster';
+
+ @override
+ String get are_you_sure => 'Er du sikker?';
+
+ @override
+ String get guest_removal_responsibility =>
+ 'Du vil være ansvarlig for alle køb på værelset ved udtjekning (316 kr.)';
+
+ @override
+ String get notifications_page_title => 'Notifikationer';
+
+ @override
+ String get subscribe_all => 'Tilmeld alle notifikationer';
+
+ @override
+ String get company_deal => 'Virksomheds aftale';
+
+ @override
+ String get company_deal_subtitle =>
+ 'Ja, jeg vil gerne modtage relevant information relateret til virksomheds aftalen fra Comwell A/S via email og SMS. Du kan til enhver tid afslutte din tilmelding ved at klikke på afslut linket nederst i emailen.';
+
+ @override
+ String get club_newsletter => 'Comwell Club nyhedsbrev';
+
+ @override
+ String get club_newsletter_subtitle =>
+ 'Ja, jeg vil gerne modtage e-mails med spændende tilbud om hotelophold og events hos Comwell Hotels. Jeg kan til enhver tid, afslutte min tilmelding.';
+
+ @override
+ String get digital_media => 'Digital media';
+
+ @override
+ String get digital_media_subtitle =>
+ 'Ja, jeg vil gerne se personligt tilpassede digitale reklamer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.';
+
+ @override
+ String get sms => 'SMS';
+
+ @override
+ String get sms_subtitle =>
+ 'Ja, jeg vil gerne modtage SMS med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.';
+
+ @override
+ String get email_subtitle =>
+ 'Ja, jeg vil gerne modtage Emails med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.';
+
+ @override
+ String get push_subtitle =>
+ 'Ja, jeg vil gerne modtage push notifikationer med nyheder, inspiration og invitationer til events. Jeg kan til enhver tid, afslutte min tilmelding.';
+
+ @override
+ String get update_profile => 'Opdater profil';
+
+ @override
+ String get profile_settings_invalid_date => 'Ugyldigt dato';
+
+ @override
+ String get gender => 'Køn';
+
+ @override
+ String get comwell_club_dialog_title => 'Bliv medlem';
+
+ @override
+ String get comwell_club_dialog_description =>
+ 'Indtast følgende oplysninger for at blive medlem af Comwell Club';
+
+ @override
+ String get postal_code => 'Postnummer';
+
+ @override
+ String get male => 'Mand';
+
+ @override
+ String get female => 'Kvinde';
+
+ @override
+ String get not_specified => 'Ikke angivet';
+
+ @override
+ String get tos_accept => 'Accepter ';
+
+ @override
+ String get tos_accept_link => 'regler og betingelser for Comwell Club';
+
+ @override
+ String get newsletter_accept =>
+ 'Ja tak, jeg vil gerne opdateres på aktuelle medlemstilbud, Comwell Club overraskelser og andre anbefalinger tilpasset mig. Jeg kan til enhver tid afmelde mig igen.';
+
+ @override
+ String get read_more => 'Læs mere';
+
+ @override
+ String get read_less => 'Læs mindre';
+
+ @override
+ String get comwell_club_inactive => 'Inaktiv';
+
+ @override
+ String get points => 'Point';
+
+ @override
+ String get my_balance => 'Min balance';
+
+ @override
+ String get cancel_booking => 'Annuller ophold';
+
+ @override
+ String get cancellation_policy => 'Annuleringsbetingelser';
+
+ @override
+ String get cancellation_policy_description =>
+ 'Dette ophold kan annuleres omkostningsfrit indtil d. 12.11.2024 kl. 15:00 på ankomstdagen. Annulleres senere end d. 14.01 skal del faktureres v/r for den første nat.';
+
+ @override
+ String get payment_date => 'Betalingsdato';
+
+ @override
+ String get not_shared => 'Ikke delt';
+
+ @override
+ String get share_booking => 'Del ophold';
+
+ @override
+ String get total_charge => 'I alt til betaling';
+
+ @override
+ String get early_checkin => 'Tidlig check-in';
+
+ @override
+ String get paid => 'BETALT';
+
+ @override
+ String get restaurant => 'Restaurant';
+
+ @override
+ String get spa => 'Spa';
+
+ @override
+ String get parking => 'Parkering';
+
+ @override
+ String get go_to_payment => 'Gå til betaling';
+
+ @override
+ String room_prefix(Object roomNumber) {
+ return 'Værelse $roomNumber';
+ }
+
+ @override
+ String total_charge_value(Object amount) {
+ return '$amount kr.';
+ }
+
+ @override
+ String get generic_error_profile_page =>
+ 'Der skete en fejl. Prøv igen senere. Eller log ud og prøv igen.';
+
+ @override
+ String get profile_error_name => 'Fejl ved indlæsning af profiloplysninger';
+
+ @override
+ String get error => 'Fejl';
+
+ @override
+ String get error_logout => 'Der skete en fejl';
+
+ @override
+ String get error_logout_subtitle => 'Du har været logget ud. Log venligst ind igen.';
+
+ @override
+ String get edit => 'Rediger';
+
+ @override
+ String get error_cards => 'Fejl ved indlæsning af kort, prøv igen senere.';
+
+ @override
+ String check_in_button_timer_days_hours_minutes(Object d, Object h, Object m) {
+ return 'Om $d dage, $h timer og $m minutter';
+ }
+
+ @override
+ String check_in_button_timer_hours_minutes(Object h, Object m) {
+ return 'Om $h timer og $m minutter';
+ }
+
+ @override
+ String check_in_button_timer_minutes(Object m) {
+ return 'Om $m minutter';
+ }
+
+ @override
+ String check_in_button_timer_seconds(Object s) {
+ return 'Om $s sekunder';
+ }
+
+ @override
+ String get approve_conditions_title => 'Jeg accepter ';
+
+ @override
+ String get approve_conditions_subtitle => 'betingelserne';
+
+ @override
+ String get up_sales_title => 'Tidlig check-in';
+
+ @override
+ String get up_sales_subtitle =>
+ 'Med tidlig check-in kan du checke ind kl. 13.00 i stedet for kl. 15.00.';
+
+ @override
+ String get up_sales_popular => 'POPULÆR';
+
+ @override
+ String get services => 'Tjenester';
+
+ @override
+ String get up_sales_see_all => 'Se alle';
+
+ @override
+ String get up_sales_catalog_button_title => 'Se produktkatalog';
+
+ @override
+ String get up_sales_catalog_button_subtitle =>
+ 'Her kan du se og bestille produkter og skrive dem helt automatisk på din værelsesregning.';
+
+ @override
+ String get up_sales_catalog_title => 'Tilkøbsmuligheder';
+
+ @override
+ String get room_upgrades => 'Værelsesopgraderinger';
+
+ @override
+ String get other_up_sales => 'Andre tilkøb';
+
+ @override
+ String get read_more_up_sales => 'Læs mere';
+
+ @override
+ String get continue_without_up_sales => 'Fortsæt uden tilkøb';
+
+ @override
+ String get open_maps_error_title => 'Kan ikke åbne kort';
+
+ @override
+ String get open_maps_error_subtitle => 'Ingen kortprogram er tilgængeligt.';
+
+ @override
+ String get apple_maps => 'Apple Kort';
+
+ @override
+ String get google_maps => 'Google Kort';
+
+ @override
+ String get add_to_booking => 'Tilføj til booking';
+
+ @override
+ String get see_all_facilities => 'Se alle faciliteter';
+
+ @override
+ String get remove_from_booking => 'Fjern fra booking';
+
+ @override
+ String get no_services_available => 'Ingen tjenester tilgængelige';
+
+ @override
+ String get no_room_upgrades_available => 'Ingen værelsesopgraderinger tilgængelige';
+
+ @override
+ String get confirm_up_sales_dialog_title => 'Bekræft tilkøb';
+
+ @override
+ String confirm_up_sales_dialog_subtitle(Object amount) {
+ return 'Er du sikker på, at du vil tilføje disse tilkøb for $amount kr. til din booking?';
+ }
+
+ @override
+ String get confirm_up_sales_dialog_confirm => 'Ja, tilføj tilkøb';
+
+ @override
+ String get confirm_up_sales_dialog_cancel => 'Nej';
+
+ @override
+ String get email_launch_error => 'Kunne ikke åbne email klient';
+
+ @override
+ String get phone_launch_error => 'Kunne ikke åbne telefon';
+
+ @override
+ String get balance => 'SALDO';
+
+ @override
+ String get new_booking => 'Book nyt ophold';
+
+ @override
+ String get error_opening_website => 'Kunne ikke åbne hjemmesiden. Prøv igen senere.';
+
+ @override
+ String get error_opening_website_title => 'Fejl';
+
+ @override
+ String get room_selection => 'Vælg værelse';
+
+ @override
+ String get room_selection_subtitle => 'Vælg et værelse til dit ophold';
+
+ @override
+ String get choose_room => 'Vælg dit værelse';
+
+ @override
+ String get choose_room_subtitle =>
+ 'Du skal vælge dét værelse du gerne vil sove på. Når du har valgt, kan du tildele de andre værelser til andre.';
+
+ @override
+ String get check_in_date => 'Check-in dato';
+
+ @override
+ String get check_out_date => 'Check-out dato';
+
+ @override
+ String get confirmation_number => 'Bekræftelsesnummer';
+
+ @override
+ String get close => 'Luk';
+
+ @override
+ String get choose_room_confirmation_title => 'Er du sikker på du vil vælge dette værelse?';
+
+ @override
+ String get choose_room_confirmation_subtitle =>
+ 'Du kan ikke fortryde dit valg. Resterende værelser skal fordeles.';
+
+ @override
+ String get choose_room_confirmation_confirm => 'Ja, vælg værelse';
+
+ @override
+ String get choose_room_confirmation_cancel => 'Nej';
+
+ @override
+ String get my_room => 'Mit værelse';
+
+ @override
+ String get share_room => 'Del værelse';
+
+ @override
+ String get share_room_page_title => 'Del værelse';
+
+ @override
+ String get share_room_page_subtitle =>
+ 'Her kan du dele dit værelse med en anden gæst og give dem adgang til bookinginformation, nøglekort og Concierge';
+
+ @override
+ String get share_room_page_button => 'Del dit værelse';
+
+ @override
+ String get addon => 'Tilkøbt';
+
+ @override
+ String get added_to_room => 'Tilkøbt på værelse';
+
+ @override
+ String get force_update_title => 'Opdater for at bruge appen';
+
+ @override
+ String get force_update_description =>
+ 'Der er en nødvendig opdatering til appen, der gør at du skal opdatere for at kunne fortsætte.';
+
+ @override
+ String get force_update_button => 'Gå til App Store';
+
+ @override
+ String get invalid_birthday => 'Ugyldig fødselsdag';
+
+ @override
+ String get invalid_birthday_description =>
+ 'Din gemte fødselsdag er ikke tilladt. Vælg en ny dato.';
+
+ @override
+ String get up_sales_confirmation_title => 'Betalingsoversigt';
+
+ @override
+ String get up_sales_confirmation_no_up_sales => 'Ingen tilvalg valgt.';
+
+ @override
+ String get facilities => 'Faciliteter';
+
+ @override
+ String get remove => 'Fjern';
+
+ @override
+ String get up_sales_processing_error_title => 'Kunne ikke tilføje tilkøb';
+
+ @override
+ String get up_sales_processing_error_subtitle =>
+ 'Opgraderinger virker ikke i øjeblikket. Prøv igen senere.';
+
+ @override
+ String get pay_bill => 'Betal regning';
+
+ @override
+ String get discount => 'Comwell Club Point Rabat';
+
+ @override
+ String get error_preregistration => 'Kunne ikke preregister, gå til reception';
+
+ @override
+ String get get_keys => 'Hent digital nøgle';
+
+ @override
+ String get get_keys_subtitle => 'Få dit digitale nøglekort med det samme';
+
+ @override
+ String get add_card => 'Tilføj kort';
+
+ @override
+ String get total => 'I alt';
+
+ @override
+ String get profile_error_title => 'Kunne ikke loade din profil';
+
+ @override
+ String get profile_error_subtitle => 'Der er sket en fejl. Prøv igen senere.';
+
+ @override
+ String get generic_error_title => 'Der er sket en fejl';
+
+ @override
+ String get notifications_error_subtitle =>
+ 'Notifikationer kan ikke hentes i øjeblikket. Prøv igen senere.';
+
+ @override
+ String get payment_cards_error_subtitle =>
+ 'Dine betalingskort kan ikke hentes i øjeblikket. Prøv igen senere.';
+
+ @override
+ String get hotel_information_error_subtitle =>
+ 'Hotelinformationen kan ikke hentes i øjeblikket. Prøv igen senere.';
+
+ @override
+ String get overview_error_title => 'Kunne ikke indlæse dine bookinger';
+
+ @override
+ String get overview_error_subtitle =>
+ 'Der er sket en fejl. Vi kunne ikke loade dine bookinger. Prøv igen senere.';
+
+ @override
+ String get up_sales_error_title => 'Tillægskøb er ikke tilgængelige i øjeblikket';
+
+ @override
+ String get up_sales_error_subtitle => 'Der er sket en fejl. Prøv igen senere.';
+
+ @override
+ String get choose_room_error_title => 'Kunne ikke vælge værelse';
+
+ @override
+ String get choose_room_error_subtitle =>
+ 'Der er sket en fejl. Prøv igen senere eller gå til receptionen';
+
+ @override
+ String get share_booking_error_title => 'Kunne ikke finde gæsterne på værelset';
+
+ @override
+ String get share_booking_error_subtitle => 'Der er sket en fejl. Prøv igen senere.';
+
+ @override
+ String get refresh_bookings => 'Opdater bookinger';
+
+ @override
+ String get document_type => 'Dokumenttype';
+
+ @override
+ String get document_type_passport => 'Passport';
+
+ @override
+ String get document_type_id_card => 'ID-kort';
+
+ @override
+ String get document_type_driver_license => 'Kørekort';
+
+ @override
+ String get document_type_other => 'Andet';
+
+ @override
+ String get document_number => 'Dokumentnummer';
+
+ @override
+ String get up_sales_catalog_no_up_sales_title => 'Ingen tilvalg tilgængelige';
+
+ @override
+ String get up_sales_catalog_no_up_sales_subtitle =>
+ 'Der er ingen tilvalg tilgængelige i øjeblikket. Prøv igen senere.';
+
+ @override
+ String get payment_cards_missing_payment_method_title => 'Manglende betalingsmetode';
+
+ @override
+ String get payment_cards_missing_payment_method_subtitle =>
+ 'Vælg venligst en betalingsmetode for at fortsætte.';
+
+ @override
+ String get share_booking_page_error_title => 'Fejl';
+
+ @override
+ String get share_booking_page_error_subtitle => 'Denne booking er allerede delt.';
+
+ @override
+ String share_booking_message(Object hotel, Object name, Object url) {
+ return '$name vil gerne dele et ophold med dig på Comwell $hotel. Tilgå via linket: $url';
+ }
+
+ @override
+ String get check_in_page_error_title => 'Værelse ikke fundet';
+
+ @override
+ String get check_in_page_error_subtitle =>
+ 'Vi fandt ikke dit værelse. Du bedes henvende dig i receptionen.';
+
+ @override
+ String get remove_guest_overview => 'Fjern';
+
+ @override
+ String get home_page => 'Hjem';
+
+ @override
+ String get send_to_email => 'Send til email';
+
+ @override
+ String get download_bill => 'Få tilsendt kvittering';
+
+ @override
+ String get bill_email_placeholder => 'E-mail';
+
+ @override
+ String get payment_overview_send_receipt_title => 'Kvittering via email';
+
+ @override
+ String payment_overview_send_receipt_subtitle(Object name) {
+ return 'Sendes til $name';
+ }
+
+ @override
+ String get payment_overview_send_comment_title => 'Kommentar';
+
+ @override
+ String get payment_overview_send_receipt_hint => 'Indsæt kommentar';
+
+ @override
+ String key_page_room_prefix(Object roomNumber) {
+ return 'Værelse $roomNumber';
+ }
+
+ @override
+ String get please_accept_terms => 'Accepter venligst vilkårene';
+}
diff --git a/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart b/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart
new file mode 100644
index 00000000..d894288d
--- /dev/null
+++ b/comwell_key_app/lib/.generated/l10n/app_localizations_en.dart
@@ -0,0 +1,1231 @@
+// ignore: unused_import
+import 'package:intl/intl.dart' as intl;
+import 'app_localizations.dart';
+
+// ignore_for_file: type=lint
+
+/// The translations for English (`en`).
+class AppLocalizationsEn extends AppLocalizations {
+ AppLocalizationsEn([String locale = 'en']) : super(locale);
+
+ @override
+ String get generic_continue => 'Continue';
+
+ @override
+ String get generic_information_required => 'This information is required';
+
+ @override
+ String get generic_confirm => 'Confirm';
+
+ @override
+ String get generic_done => 'Done';
+
+ @override
+ String get generic_ok => 'OK';
+
+ @override
+ String get generic_credit_card => 'Credit Card';
+
+ @override
+ String get generic_apple_pay => 'Apple Pay';
+
+ @override
+ String get generic_google_pay => 'Google Pay';
+
+ @override
+ String get generic_error => 'An error occurred. Please try again later.';
+
+ @override
+ String get welcome_headline => 'Welcome at Comwell Hotels';
+
+ @override
+ String get welcome_button => 'Continue';
+
+ @override
+ String get welcome_error => 'An error occurred. Please try again later.';
+
+ @override
+ String get room_key => 'Room key';
+
+ @override
+ String get room_keys => 'Room keys';
+
+ @override
+ String get redeem_code => 'Redeem code';
+
+ @override
+ String get error_opening_door => 'An error occurred';
+
+ @override
+ String get try_again => 'Try again';
+
+ @override
+ String get room_key_description => 'This is your room key';
+
+ @override
+ String get login_button => 'Login';
+
+ @override
+ String get create_user_button => 'Create new user';
+
+ @override
+ String get profile_settings_profile_menu => 'Profile settings';
+
+ @override
+ String get payment_card_profile_menu => 'Payment card';
+
+ @override
+ String get notifications_profile_menu => 'Notifications';
+
+ @override
+ String get logout_profile_menu => 'Logout';
+
+ @override
+ String get logout_dialog_title => 'Do you want to log out of your profile';
+
+ @override
+ String get cancel => 'Cancel';
+
+ @override
+ String get name_cc_sign => 'Name';
+
+ @override
+ String get become_cc_member_title => 'Join comwell club';
+
+ @override
+ String get become_cc_member_subtitle =>
+ 'Join and earn points every time you stay at a Comwell Hotel.';
+
+ @override
+ String get overview_tabbar_active => 'Current';
+
+ @override
+ String get overview_tabbar_past => 'Past';
+
+ @override
+ String get overview_tabbar_cancelled => 'Cancelled';
+
+ @override
+ String get no_past_bookings_title => 'No past stays';
+
+ @override
+ String get no_past_bookings_subtitle => 'You have no past stays at Comwell Hotels.';
+
+ @override
+ String get no_cancelled_booking_title => 'No cancelled stays';
+
+ @override
+ String get no_cancelled_booking_subtitle => 'You have no cancelled stays with us.';
+
+ @override
+ String get booking_annulled => 'Cancelled';
+
+ @override
+ String get no_current_bookings => 'No current bookings';
+
+ @override
+ String get no_current_bookings_subtitle =>
+ 'You have no current bookings. Plan your next stay at Comwell.';
+
+ @override
+ String get adults => 'adults';
+
+ @override
+ String get children => 'children';
+
+ @override
+ String get adult => 'adult';
+
+ @override
+ String get child => 'child';
+
+ @override
+ String get rooms => 'Rooms';
+
+ @override
+ String get prepare_room => 'Prepare your room';
+
+ @override
+ String get jump_line_text => 'Skip the line with digital check-in';
+
+ @override
+ String get overview_add_booking => 'Find booking';
+
+ @override
+ String get open_room => 'Open room';
+
+ @override
+ String get hold_phone_to_door => 'Hold phone to door';
+
+ @override
+ String get open_room_success => 'Success';
+
+ @override
+ String get open_room_error => 'Try again!';
+
+ @override
+ String get profile_settings => 'Profile settings';
+
+ @override
+ String get profile_settings_firstname => 'First name';
+
+ @override
+ String get profile_settings_lastname => 'Last name';
+
+ @override
+ String get profile_settings_email => 'Email';
+
+ @override
+ String get profile_settings_phone => 'Phone';
+
+ @override
+ String get profile_settings_address => 'Address';
+
+ @override
+ String get profile_settings_birthday => 'Birthday';
+
+ @override
+ String get profile_settings_edit_password => 'Edit password';
+
+ @override
+ String get profile_settings_error => 'An error occurred. Please try again later.';
+
+ @override
+ String get delete_profile => 'Delete profile';
+
+ @override
+ String get my_booking => 'My booking';
+
+ @override
+ String get booking_reference => 'Bookingreference';
+
+ @override
+ String get check_in => 'Check-in';
+
+ @override
+ String get check_out => 'Check-out';
+
+ @override
+ String get overview_page_check_in_physical_card_subtitle => 'Go to the lobby to get your key';
+
+ @override
+ String get booking_details => 'Booking';
+
+ @override
+ String get number_of_guests => 'Number of guests';
+
+ @override
+ String get booker => 'Booker';
+
+ @override
+ String get booking_date => 'Booking date';
+
+ @override
+ String get payment => 'Payment';
+
+ @override
+ String get payment_method => 'Payment method';
+
+ @override
+ String get bill => 'Bill';
+
+ @override
+ String get get_bill => 'Get bill';
+
+ @override
+ String get your_last_name => 'Your last name';
+
+ @override
+ String get find_booking => 'Find booking';
+
+ @override
+ String get choose_hotel => 'Choose hotel';
+
+ @override
+ String get hotels => 'Hotels';
+
+ @override
+ String get all => 'All';
+
+ @override
+ String get zealand => 'Zealand';
+
+ @override
+ String get funen => 'Funen';
+
+ @override
+ String get jutland => 'Jutland';
+
+ @override
+ String get booking_not_found => 'Booking not found';
+
+ @override
+ String get booking_not_found_subtitle =>
+ 'We could not find a booking with the information you provided.';
+
+ @override
+ String get booking_not_found_button => 'Try again';
+
+ @override
+ String get booking_not_found_cancel => 'Cancel';
+
+ @override
+ String get save => 'Save';
+
+ @override
+ String get zipCode => 'Zip code';
+
+ @override
+ String get city => 'City';
+
+ @override
+ String get country => 'Country';
+
+ @override
+ String get delete_profile_title => 'You are about to delete your profile';
+
+ @override
+ String get delete_profile_description =>
+ 'Are you sure you want to delete your profile? This action cannot be undone.';
+
+ @override
+ String get delete_profile_button => 'Delete profile';
+
+ @override
+ String get delete_profile_cancel => 'Cancel';
+
+ @override
+ String get check_in_loading_title => 'Finding your room...';
+
+ @override
+ String get check_in_room_found_title => 'Room found...';
+
+ @override
+ String get check_in_your_digital_card_title => 'Your Digital KeyCard';
+
+ @override
+ String get check_in_your_digital_card_subtitle =>
+ 'Use your phone to open your room. You do not have to check in at the reception';
+
+ @override
+ String get check_in_your_digital_card_nb =>
+ 'NB: If you require a physical keycard, you can always get one from the reception';
+
+ @override
+ String get check_in_error_title => 'Room not found...';
+
+ @override
+ String get check_in_error_subtitle =>
+ 'We could not find the room. Please check in at the reception.';
+
+ @override
+ String get preregistration_address_title => 'Address';
+
+ @override
+ String get check_in_your_digital_card_room_prefix => 'Room';
+
+ @override
+ String get preregistration_address_subtitle => 'It is required by law to know your address';
+
+ @override
+ String get preregistration_address_label_address => 'Address';
+
+ @override
+ String get preregistration_address_label_postal_code => 'Postal code';
+
+ @override
+ String get preregistration_address_label_city => 'City';
+
+ @override
+ String get preregistration_address_label_country => 'Country';
+
+ @override
+ String get preregistration_payment_title => 'Payment methods';
+
+ @override
+ String get preregistration_payment_subtitle =>
+ 'To stay at Comwell, you need to add a payment method';
+
+ @override
+ String get preregistration_payment_add_card => 'Add card';
+
+ @override
+ String get preregistration_confirmation_title => 'Registration information';
+
+ @override
+ String get preregistration_confirmation_profile_card_title => 'Profile information';
+
+ @override
+ String get preregistration_confirmation_address_card_title => 'Address';
+
+ @override
+ String get preregistration_confirmation_payment_card_title => 'Payment method';
+
+ @override
+ String get preregistration_confirmation_extras_card_title_singular => '1 extra purchase';
+
+ @override
+ String preregistration_confirmation_extras_card_title_plural(Object amount) {
+ return '$amount extra purchases';
+ }
+
+ @override
+ String get preregistration_confirmation_extras_card_subtitle => 'Will be added to your bill';
+
+ @override
+ String get need_help => 'Need help?';
+
+ @override
+ String get call_us => 'Call us';
+
+ @override
+ String get call_us_description => 'Enter your phone number below and we will call you.';
+
+ @override
+ String get get_a_call => 'Get a call';
+
+ @override
+ String get get_a_call_description => 'Enter your phone number below and we will call you.';
+
+ @override
+ String get call_received_title => 'Received';
+
+ @override
+ String get call_received_description =>
+ 'We have received your contact request. Our team will get back to you soon.';
+
+ @override
+ String get telephone_number => 'Telephone number';
+
+ @override
+ String get comwell_telephone_number => '+4570274274';
+
+ @override
+ String get booking_details_page_hotel_information_button_title => 'Hotel information';
+
+ @override
+ String get booking_details_page_hotel_information_button_subtitle =>
+ 'Find relevant information about the hotel';
+
+ @override
+ String get booking_details_page_contact_button_title => 'Contact';
+
+ @override
+ String get booking_details_page_contact_button_subtitle =>
+ 'Contact the reception ';
+
+ @override
+ String get housekeeping_page_title => 'Housekeeping';
+
+ @override
+ String get housekeeping_page_subtitle => 'If you wish for housekeeping, you can order it here';
+
+ @override
+ String get housekeeping_page_button => 'Order housekeeping';
+
+ @override
+ String get housekeeping_page_service_title_cleaning => 'Cleaning of the room';
+
+ @override
+ String get housekeeping_page_service_title_towels => 'Soap and shampoo';
+
+ @override
+ String get housekeeping_page_service_title_refill => 'Refill coffee and tea';
+
+ @override
+ String get housekeeping_page_service_title_trash => 'Fresh towels';
+
+ @override
+ String get housekeeping_page_service_title_soap => 'Trash removal';
+
+ @override
+ String get housekeeping_page_service_cleaning_subtitle => 'Cleaning is between 11 and 14';
+
+ @override
+ String get housekeeping_page_supplies => 'Supplies';
+
+ @override
+ String get housekeeping_page_cleaning => 'Cleaning';
+
+ @override
+ String get booking_details_page_housekeeping_button_title_ordered => 'Cleaning is ordered';
+
+ @override
+ String get booking_details_page_housekeeping_button_subtitle_ordered =>
+ 'Cleaning is between 11 and 14';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_towels => 'Soap and shampoo';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_refill => 'Refill coffee and tea';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_trash => 'Fresh towels';
+
+ @override
+ String get housekeeping_page_supplies_subtitle_soap => 'Trash removal';
+
+ @override
+ String get booking_details_page_housekeeping_button_title => 'Order housekeeping';
+
+ @override
+ String get booking_details_page_housekeeping_button_subtitle =>
+ 'The day before housekeeping is requested.';
+
+ @override
+ String get booking_details_page_practical_information => 'Practical information';
+
+ @override
+ String get booking_details_page_checkout_title => 'Check-out';
+
+ @override
+ String get booking_details_page_checkout_subtitle => 'Start your check-out here';
+
+ @override
+ String get booking_details_page_checkout_time => '10:00 AM';
+
+ @override
+ String get hotel_information_page_menu_restaurants_title => 'Restaurants';
+
+ @override
+ String get hotel_information_page_menu_restaurants_subtitle => 'Read about our restaurant';
+
+ @override
+ String get hotel_information_page_menu_spa_title => 'Spa';
+
+ @override
+ String get hotel_information_page_menu_spa_subtitle => 'Baths, saunas, brechelbath, etc.';
+
+ @override
+ String get hotel_information_page_menu_parking_title => 'Parking';
+
+ @override
+ String get hotel_information_page_menu_other_info_title => 'More information';
+
+ @override
+ String get hotel_information_page_menu_other_info_subtitle => 'Find more information';
+
+ @override
+ String get hotel_information_page_spa_button => 'Book spa';
+
+ @override
+ String get restaurant_page_practical_information => 'Practical information';
+
+ @override
+ String get restaurant_page_address => 'Addrese';
+
+ @override
+ String get restaurant_page_opening_hours => 'Opening hours';
+
+ @override
+ String get restaurant_page_book_table => 'Book table';
+
+ @override
+ String get restaurant_page_send_email => 'Write an email';
+
+ @override
+ String get overview_page_check_in_button_subtitle => 'Get your digital key card';
+
+ @override
+ String get checkout_page_confirmation_title => 'Check-out';
+
+ @override
+ String get checkout_page_confirmation_subtitle =>
+ 'When you check out, you have 30 minutes to leave your room';
+
+ @override
+ String get checkout_page_confirmation_deadline => 'Check out latest at 10 AM';
+
+ @override
+ String get checkout_page_confirmation_price_title => 'To be paid';
+
+ @override
+ String get checkout_page_confirmation_continue => 'Go to payment';
+
+ @override
+ String get checkout_page_payment_title => 'Payment overview';
+
+ @override
+ String get checkout_page_payment_total => 'Total';
+
+ @override
+ String checkout_page_payment_price(Object amount) {
+ return '$amount kr.';
+ }
+
+ @override
+ String get checkout_page_payment_club_points_title => 'Use Comwell Club Points';
+
+ @override
+ String checkout_page_payment_club_points_subtitle(Object amount, Object points) {
+ return 'You have $points points, use them and save ${amount}kr.';
+ }
+
+ @override
+ String get checkout_page_payment_club_points_subtitle_zero => 'You have no points to use';
+
+ @override
+ String get checkout_page_payment_payment_title => 'Pay and check out';
+
+ @override
+ String get checkout_page_confirmation => 'Go to checkout';
+
+ @override
+ String get accept_terms => 'Accept terms and conditions';
+
+ @override
+ String get checkout_page_payment_dialog_title => 'Are you sure you want to check out?';
+
+ @override
+ String get checkout_page_payment_dialog_subtitle =>
+ 'When you check out, you have 30 minutes to leave your room';
+
+ @override
+ String get checkout_page_payment_dialog_confirm => 'Yes, check out now';
+
+ @override
+ String get checkout_page_payment_dialog_cancel => 'No';
+
+ @override
+ String get checkout_page_processing_success_title => 'Check-out confirmed';
+
+ @override
+ String get checkout_page_processing_success_subtitle =>
+ 'You have 30 minutes to leave your room, after which you will no longer be able to use your keycard.';
+
+ @override
+ String get checkout_page_processing_success_subtitle_no_digital_card =>
+ 'You are now checked out. Please return your key to the reception';
+
+ @override
+ String get checkout_page_processing_error_title => 'Check-out failed';
+
+ @override
+ String get checkout_page_processing_error_subtitle =>
+ 'An error occurred while checking out. Please go to the reception.';
+
+ @override
+ String get payment_cards_title => 'Payment cards';
+
+ @override
+ String get payment_cards_subtitle => 'To stay at Comwell, we need a payment card.';
+
+ @override
+ String get payment_cards_my_cards => 'My cards';
+
+ @override
+ String get payment_cards_confirm_remove_title => 'You are removing the card';
+
+ @override
+ String get payment_cards_confirm_remove_subtitle => 'This payment card will no longer be usable';
+
+ @override
+ String get payment_cards_remove_card_button => 'Remove card';
+
+ @override
+ String get payment_cards_edit_card_title => 'Edit card';
+
+ @override
+ String get payment_cards_save_card_button => 'Save card';
+
+ @override
+ String get share_booking_page_title => 'Share booking';
+
+ @override
+ String get share_booking_page_subtitle =>
+ 'Here you can share your booking with another guest and give them access to booking information, keycard and Concierge';
+
+ @override
+ String get share_booking_page_share_button => 'Share your booking';
+
+ @override
+ String get handle_guests_title => 'Handle guests';
+
+ @override
+ String get cancel_sharing => 'Cancel sharing';
+
+ @override
+ String get check_out_my_booking => 'Check out my booking';
+
+ @override
+ String get dates => 'Dates';
+
+ @override
+ String get guests => 'Guests';
+
+ @override
+ String get view_booking => 'View booking';
+
+ @override
+ String get comwell_booking => 'Comwell Booking';
+
+ @override
+ String get name_on_card_hint => 'Name on card';
+
+ @override
+ String get card_number_hint => 'Card number';
+
+ @override
+ String get expiry_date_hint => 'Expiry date';
+
+ @override
+ String get cvc_hint => 'CVC';
+
+ @override
+ String get remove_guest => 'Remove guest';
+
+ @override
+ String get remove_guests => 'Remove guests';
+
+ @override
+ String get are_you_sure => 'Are you sure?';
+
+ @override
+ String get guest_removal_responsibility =>
+ 'You will be responsible for all things purchased on the room at checkout ';
+
+ @override
+ String get notifications_page_title => 'Notifications';
+
+ @override
+ String get subscribe_all => 'Subscribe to all notifications';
+
+ @override
+ String get company_deal => 'Company deal';
+
+ @override
+ String get company_deal_subtitle =>
+ 'Yes, I would like to receive relevant information related to the company agreement from Comwell A/S via email and SMS. You can unsubscribe at any time by clicking the unsubscribe link at the bottom of the email.';
+
+ @override
+ String get club_newsletter => 'Club newsletter';
+
+ @override
+ String get club_newsletter_subtitle =>
+ 'Yes, I would like to recieve e-mails with exiciting offers regarding hotel stays and events at Comwell. I can at any time, unsubscribe.';
+
+ @override
+ String get digital_media => 'Digital media';
+
+ @override
+ String get digital_media_subtitle =>
+ 'Yes, I would like see personalized digital media advertising with news, inspiration and invitations to events. I can at any time, unsubscribe.';
+
+ @override
+ String get sms => 'SMS';
+
+ @override
+ String get sms_subtitle =>
+ 'Yes, I would like to recieve SMS with news, inspiration and invitations to events. I can at any time, unsubscribe.';
+
+ @override
+ String get email_subtitle =>
+ 'Yes, I would like to receive emails with news, inspiration and invitations to events. I can at any time, unsubscribe.';
+
+ @override
+ String get push_subtitle =>
+ 'Yes, I would like to receive push notifications with news, inspiration and invitations to events. I can at any time, unsubscribe.';
+
+ @override
+ String get update_profile => 'Update profile';
+
+ @override
+ String get profile_settings_invalid_date => 'Invalid date';
+
+ @override
+ String get gender => 'Gender';
+
+ @override
+ String get comwell_club_dialog_title => 'Become a member';
+
+ @override
+ String get comwell_club_dialog_description =>
+ 'Please fill in the following information to join Comwell Club';
+
+ @override
+ String get postal_code => 'Postal code';
+
+ @override
+ String get male => 'Male';
+
+ @override
+ String get female => 'Female';
+
+ @override
+ String get not_specified => 'Not Specified';
+
+ @override
+ String get tos_accept => 'Accept ';
+
+ @override
+ String get tos_accept_link => 'terms and conditions for Comwell Club';
+
+ @override
+ String get newsletter_accept =>
+ 'Yes, I would like to receive updates on current member offers, Comwell Club surprises and other recommendations tailored to me. I can unsubscribe at any time.';
+
+ @override
+ String get read_more => 'Read more';
+
+ @override
+ String get read_less => 'Read less';
+
+ @override
+ String get comwell_club_inactive => 'Inactive';
+
+ @override
+ String get points => 'Points';
+
+ @override
+ String get my_balance => 'My balance';
+
+ @override
+ String get cancel_booking => 'Cancel booking';
+
+ @override
+ String get cancellation_policy => 'Cancellation policy';
+
+ @override
+ String get cancellation_policy_description =>
+ 'This booking can be cancelled free of charge until the day of arrival. If cancelled later than 14.01, the first night will be charged.';
+
+ @override
+ String get payment_date => 'Payment date';
+
+ @override
+ String get not_shared => 'Not shared';
+
+ @override
+ String get share_booking => 'Share booking';
+
+ @override
+ String get total_charge => 'Total charge';
+
+ @override
+ String get early_checkin => 'Early check-in';
+
+ @override
+ String get paid => 'PAID';
+
+ @override
+ String get restaurant => 'Restaurant';
+
+ @override
+ String get spa => 'Spa';
+
+ @override
+ String get parking => 'Parking';
+
+ @override
+ String get go_to_payment => 'Go to payment';
+
+ @override
+ String room_prefix(Object roomNumber) {
+ return 'Room $roomNumber';
+ }
+
+ @override
+ String total_charge_value(Object amount) {
+ return '$amount kr.';
+ }
+
+ @override
+ String get generic_error_profile_page =>
+ 'An error occurred. Please try again later. Or logout and try again.';
+
+ @override
+ String get profile_error_name => 'Failed to load profile information';
+
+ @override
+ String get error => 'Error';
+
+ @override
+ String get error_logout => 'There has been an error';
+
+ @override
+ String get error_logout_subtitle => 'Please log in again';
+
+ @override
+ String get edit => 'Edit';
+
+ @override
+ String get error_cards => 'Failed to load cards, try again later';
+
+ @override
+ String check_in_button_timer_days_hours_minutes(Object d, Object h, Object m) {
+ return 'In $d days, $h hours and $m minutes';
+ }
+
+ @override
+ String check_in_button_timer_hours_minutes(Object h, Object m) {
+ return 'In $h hours and $m minutes';
+ }
+
+ @override
+ String check_in_button_timer_minutes(Object m) {
+ return 'In $m minutes';
+ }
+
+ @override
+ String check_in_button_timer_seconds(Object s) {
+ return 'In $s seconds';
+ }
+
+ @override
+ String get approve_conditions_title => 'I accept ';
+
+ @override
+ String get approve_conditions_subtitle => 'terms and conditions';
+
+ @override
+ String get up_sales_title => 'Early check-in';
+
+ @override
+ String get up_sales_subtitle => 'With early check-in you can check in at 13.00 instead of 15.00.';
+
+ @override
+ String get up_sales_popular => 'POPULAR';
+
+ @override
+ String get services => 'Services';
+
+ @override
+ String get up_sales_see_all => 'See all';
+
+ @override
+ String get up_sales_catalog_button_title => 'See product catalog';
+
+ @override
+ String get up_sales_catalog_button_subtitle =>
+ 'Here you can see and order products and write them automatically on your room bill.';
+
+ @override
+ String get up_sales_catalog_title => 'Upgrades & Services';
+
+ @override
+ String get room_upgrades => 'Room upgrades';
+
+ @override
+ String get other_up_sales => 'Other upgrades';
+
+ @override
+ String get read_more_up_sales => 'Read more';
+
+ @override
+ String get continue_without_up_sales => 'Continue without upgrades';
+
+ @override
+ String get open_maps_error_title => 'Cannot open maps';
+
+ @override
+ String get open_maps_error_subtitle => 'No maps application is available.';
+
+ @override
+ String get apple_maps => 'Apple Maps';
+
+ @override
+ String get google_maps => 'Google Maps';
+
+ @override
+ String get add_to_booking => 'Add to booking';
+
+ @override
+ String get see_all_facilities => 'See all facilities';
+
+ @override
+ String get remove_from_booking => 'Remove from booking';
+
+ @override
+ String get no_services_available => 'No services available';
+
+ @override
+ String get no_room_upgrades_available => 'No room upgrades available';
+
+ @override
+ String get confirm_up_sales_dialog_title => 'Confirm upgrades';
+
+ @override
+ String confirm_up_sales_dialog_subtitle(Object amount) {
+ return 'Are you sure you want to add these upgrades for $amount kr to your booking?';
+ }
+
+ @override
+ String get confirm_up_sales_dialog_confirm => 'Yes, add upgrades';
+
+ @override
+ String get confirm_up_sales_dialog_cancel => 'No';
+
+ @override
+ String get email_launch_error => 'Could not launch email client';
+
+ @override
+ String get phone_launch_error => 'Could not launch phone call';
+
+ @override
+ String get balance => 'BALANCE';
+
+ @override
+ String get new_booking => 'Make a new booking';
+
+ @override
+ String get error_opening_website => 'Failed to open the website. Please try again later.';
+
+ @override
+ String get error_opening_website_title => 'Error';
+
+ @override
+ String get room_selection => 'Room selection';
+
+ @override
+ String get room_selection_subtitle => 'Select a room for your stay';
+
+ @override
+ String get choose_room => 'Choose room';
+
+ @override
+ String get choose_room_subtitle =>
+ 'You need to choose the room you want to sleep in. When you have chosen, you can assign the other rooms to others.';
+
+ @override
+ String get check_in_date => 'Check-in date';
+
+ @override
+ String get check_out_date => 'Check-out date';
+
+ @override
+ String get confirmation_number => 'Confirmation number';
+
+ @override
+ String get close => 'Close';
+
+ @override
+ String get choose_room_confirmation_title => 'Are you sure you want to choose this room?';
+
+ @override
+ String get choose_room_confirmation_subtitle =>
+ 'You cannot undo your choice. Remaining rooms must be assigned.';
+
+ @override
+ String get choose_room_confirmation_confirm => 'Yes, choose room';
+
+ @override
+ String get choose_room_confirmation_cancel => 'No';
+
+ @override
+ String get my_room => 'My room';
+
+ @override
+ String get share_room => 'Share room';
+
+ @override
+ String get share_room_page_title => 'Share room';
+
+ @override
+ String get share_room_page_subtitle =>
+ 'Here you can share your room with another guest and give them access to booking information, keycard and Concierge';
+
+ @override
+ String get share_room_page_button => 'Share your room';
+
+ @override
+ String get addon => 'Added purchase';
+
+ @override
+ String get added_to_room => 'Added to room';
+
+ @override
+ String get force_update_title => 'Update required';
+
+ @override
+ String get force_update_description =>
+ 'To continue using the app, please update to the latest version.';
+
+ @override
+ String get force_update_button => 'Go to App Store';
+
+ @override
+ String get invalid_birthday => 'Invalid birthday';
+
+ @override
+ String get invalid_birthday_description =>
+ 'Your saved birthday is not allowed. Please pick a new date.';
+
+ @override
+ String get up_sales_confirmation_title => 'Payment overview';
+
+ @override
+ String get up_sales_confirmation_no_up_sales => 'No upgrades selected.';
+
+ @override
+ String get facilities => 'Facilities';
+
+ @override
+ String get remove => 'Remove';
+
+ @override
+ String get up_sales_processing_error_title => 'Failed to add addons';
+
+ @override
+ String get up_sales_processing_error_subtitle =>
+ 'Addons are not available at the moment. Please try again later.';
+
+ @override
+ String get pay_bill => 'Pay bill';
+
+ @override
+ String get discount => 'Comwell Club Points Discount';
+
+ @override
+ String get error_preregistration => 'Failed to preregister, go to reception';
+
+ @override
+ String get get_keys => 'Get digital key';
+
+ @override
+ String get get_keys_subtitle => 'Get your digital key card';
+
+ @override
+ String get add_card => 'Add card';
+
+ @override
+ String get total => 'Total';
+
+ @override
+ String get profile_error_title => 'Could not load your profile';
+
+ @override
+ String get profile_error_subtitle => 'An error occurred. Please try again later.';
+
+ @override
+ String get generic_error_title => 'There was an error';
+
+ @override
+ String get notifications_error_subtitle =>
+ 'Notifications could not be loaded. Please try again later.';
+
+ @override
+ String get payment_cards_error_subtitle =>
+ 'Payment cards could not be loaded. Please try again later.';
+
+ @override
+ String get hotel_information_error_subtitle =>
+ 'Hotel information could not be loaded. Please try again later.';
+
+ @override
+ String get overview_error_title => 'Could not load your bookings';
+
+ @override
+ String get overview_error_subtitle =>
+ 'An error occurred. We could not load your bookings. Please try again later.';
+
+ @override
+ String get up_sales_error_title => 'Could not load up sales';
+
+ @override
+ String get up_sales_error_subtitle =>
+ 'An error occurred. We could not load up sales. Please try again later.';
+
+ @override
+ String get choose_room_error_title => 'Could not choose room';
+
+ @override
+ String get choose_room_error_subtitle =>
+ 'An error occurred. Please try again later or go to the reception.';
+
+ @override
+ String get share_booking_error_title => 'Could not find guests on the room';
+
+ @override
+ String get share_booking_error_subtitle => 'An error occurred. Please try again later.';
+
+ @override
+ String get refresh_bookings => 'Refresh bookings';
+
+ @override
+ String get document_type => 'Document type';
+
+ @override
+ String get document_type_passport => 'Passport';
+
+ @override
+ String get document_type_id_card => 'ID card';
+
+ @override
+ String get document_type_driver_license => 'Driver license';
+
+ @override
+ String get document_type_other => 'Other';
+
+ @override
+ String get document_number => 'Document number';
+
+ @override
+ String get up_sales_catalog_no_up_sales_title => 'No upgrades available';
+
+ @override
+ String get up_sales_catalog_no_up_sales_subtitle =>
+ 'No upgrades are available at the moment. Please try again later.';
+
+ @override
+ String get payment_cards_missing_payment_method_title => 'Missing payment method';
+
+ @override
+ String get payment_cards_missing_payment_method_subtitle =>
+ 'Please select a payment method to continue.';
+
+ @override
+ String get share_booking_page_error_title => 'Error';
+
+ @override
+ String get share_booking_page_error_subtitle => 'This booking has already been shared.';
+
+ @override
+ String share_booking_message(Object hotel, Object name, Object url) {
+ return '$name would like to share a booking with you at Comwell $hotel. Access via the link: $url';
+ }
+
+ @override
+ String get check_in_page_error_title => 'Room not found';
+
+ @override
+ String get check_in_page_error_subtitle =>
+ 'We could not find the room. Please check in at the reception.';
+
+ @override
+ String get remove_guest_overview => 'Remove';
+
+ @override
+ String get home_page => 'Home';
+
+ @override
+ String get send_to_email => 'Send to email';
+
+ @override
+ String get download_bill => 'Get receipt';
+
+ @override
+ String get bill_email_placeholder => 'E-mail';
+
+ @override
+ String get payment_overview_send_receipt_title => 'Receipt via email';
+
+ @override
+ String payment_overview_send_receipt_subtitle(Object name) {
+ return 'Sent to $name';
+ }
+
+ @override
+ String get payment_overview_send_comment_title => 'Comment';
+
+ @override
+ String get payment_overview_send_receipt_hint => 'Enter comment';
+
+ @override
+ String key_page_room_prefix(Object roomNumber) {
+ return 'Room $roomNumber';
+ }
+
+ @override
+ String get please_accept_terms => 'Please accept terms';
+}
diff --git a/comwell_key_app/lib/booking_details/components/booking_details_bottom_sheet.dart b/comwell_key_app/lib/booking_details/components/booking_details_bottom_sheet.dart
index b5fb2dc8..e809dd58 100644
--- a/comwell_key_app/lib/booking_details/components/booking_details_bottom_sheet.dart
+++ b/comwell_key_app/lib/booking_details/components/booking_details_bottom_sheet.dart
@@ -9,7 +9,7 @@ import 'package:comwell_key_app/profile/components/comwell_club_container.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
import 'package:comwell_key_app/up_sales/components/catalog/service_catalog.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
@@ -72,7 +72,7 @@ class BookingDetailsBottomSheet extends StatelessWidget {
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Text(
- "booking_details_page_practical_information".tr(),
+ context.strings.booking_details_page_practical_information,
style: theme.textTheme.headlineMedium,
),
),
@@ -86,8 +86,9 @@ class BookingDetailsBottomSheet extends StatelessWidget {
padding: const EdgeInsets.only(left: 16),
child: PracticalInformationButton(
iconPath: "assets/icons/ic_bed.svg",
- title: "booking_details_page_hotel_information_button_title".tr(),
- subtitle: "booking_details_page_hotel_information_button_subtitle".tr(),
+ title: context.strings.booking_details_page_hotel_information_button_title,
+ subtitle:
+ context.strings.booking_details_page_hotel_information_button_subtitle,
onClick: () {
context.push(AppRoutes.hotelInformation, extra: cubit.booking);
},
@@ -103,8 +104,8 @@ class BookingDetailsBottomSheet extends StatelessWidget {
padding: const EdgeInsets.only(right: 16),
child: PracticalInformationButton(
iconPath: "assets/icons/ic_telephone.svg",
- title: "booking_details_page_contact_button_title".tr(),
- subtitle: "booking_details_page_contact_button_subtitle".tr(),
+ title: context.strings.booking_details_page_contact_button_title,
+ subtitle: context.strings.booking_details_page_contact_button_subtitle,
onClick: () {
context.push(AppRoutes.contact, extra: cubit.booking);
},
@@ -159,12 +160,12 @@ class BookingDetailsBottomSheet extends StatelessWidget {
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Text('services'.tr(), style: theme.textTheme.headlineMedium),
+ child: Text(context.strings.services, style: theme.textTheme.headlineMedium),
),
const SizedBox(width: 8),
ComwellErrorWidget(
- title: 'up_sales_error_title'.tr(),
- subtitle: 'up_sales_error_subtitle'.tr(),
+ title: context.strings.up_sales_error_title,
+ subtitle: context.strings.up_sales_error_subtitle,
border: true,
),
],
@@ -175,13 +176,13 @@ class BookingDetailsBottomSheet extends StatelessWidget {
if (state.upSales?.addOnUpgrades.isNotEmpty ?? false) ...[
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Text('services'.tr(), style: theme.textTheme.headlineMedium),
+ child: Text(context.strings.services, style: theme.textTheme.headlineMedium),
),
const SizedBox(width: 8),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: OutlinedPillButton(
- text: 'up_sales_see_all'.tr(),
+ text: context.strings.up_sales_see_all,
onTap: () async {
await context.push(
AppRoutes.upSalesCatalog,
diff --git a/comwell_key_app/lib/check_out/bloc/check_out_state.dart b/comwell_key_app/lib/check_out/bloc/check_out_state.dart
index efb1124c..e11fe4a9 100644
--- a/comwell_key_app/lib/check_out/bloc/check_out_state.dart
+++ b/comwell_key_app/lib/check_out/bloc/check_out_state.dart
@@ -1,15 +1,13 @@
-
import 'package:comwell_key_app/check_out/models/payment_method.dart';
import 'package:comwell_key_app/services/models/booking_dto.dart';
import 'package:comwell_key_app/check_out/pages/check_out_page.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:equatable/equatable.dart';
class CheckoutState extends Equatable {
final Iterable<BookingAddonItem> _items;
final bool isTermsAccepted;
final bool applyClubPoints;
- final int clubPoints;
+ final int clubPoints;
final bool successfulCheckout;
final CheckoutPage page;
final CheckoutPaymentMethod? paymentMethod;
@@ -22,22 +20,22 @@ class CheckoutState extends Equatable {
int get totalPriceAfterDiscount => _sumOfList(items);
-
int get totalPrice => _sumOfList(_items);
Iterable<BookingAddonItem> get items {
if (applyClubPoints) {
- return [..._items, BookingAddonItem("discount".tr(), "discount".tr(), clubPoints * -1, clubPoints * -1)];
+ return [
+ ..._items,
+ BookingAddonItem("discount", "discount", clubPoints * -1, clubPoints * -1),
+ ];
}
-
+
return _items;
}
int _sumOfList(Iterable<BookingAddonItem> list) {
if (list.isEmpty) return 0;
- return list
- .map((item) => item.price)
- .reduce((total, price) => total + price);
+ return list.map((item) => item.price).reduce((total, price) => total + price);
}
const CheckoutState({
@@ -55,28 +53,29 @@ class CheckoutState extends Equatable {
}) : _items = items;
CheckoutState.initial(this.bookingBalance)
- : _items = [],
- isTermsAccepted = false,
- page = CheckoutPage.confirmation,
- showTermsError = false,
- clubPoints = 0,
- paymentMethod = CheckoutPaymentMethod.creditCard,
- applyClubPoints = false,
- successfulCheckout = false,
- isLoading = false,
- isPaymentProcessingNeeded = true;
+ : _items = [],
+ isTermsAccepted = false,
+ page = CheckoutPage.confirmation,
+ showTermsError = false,
+ clubPoints = 0,
+ paymentMethod = CheckoutPaymentMethod.creditCard,
+ applyClubPoints = false,
+ successfulCheckout = false,
+ isLoading = false,
+ isPaymentProcessingNeeded = true;
CheckoutState itemsUpdated(Iterable<BookingAddonItem> items) {
-
final newItems = <BookingAddonItem>[];
for (var item in items) {
- newItems.add(item.copyWith(price: item.price * item.quantity));
+ newItems.add(item.copyWith(price: item.price * item.quantity));
}
return _copyWith(items: newItems);
}
CheckoutState loading() => _copyWith(isLoading: true);
+
CheckoutState loaded() => _copyWith(isLoading: false);
+
CheckoutState termsAccepted() => _copyWith(termsAccepted: true, showTermsError: false);
CheckoutState termsDenied() => _copyWith(termsAccepted: false);
@@ -90,8 +89,7 @@ class CheckoutState extends Equatable {
CheckoutState pageChanged(CheckoutPage page) => _copyWith(page: page);
- CheckoutState clubPointsFetched(int clubPoints) =>
- _copyWith(clubPoints: clubPoints);
+ CheckoutState clubPointsFetched(int clubPoints) => _copyWith(clubPoints: clubPoints);
CheckoutState showAcceptTermsError() => _copyWith(showTermsError: true);
@@ -103,7 +101,6 @@ class CheckoutState extends Equatable {
CheckoutState paymentProcessingNotNeeded() => _copyWith(isPaymentProcessingNeeded: false);
-
CheckoutState _copyWith({
Iterable<BookingAddonItem>? items,
bool? termsAccepted,
@@ -116,36 +113,35 @@ class CheckoutState extends Equatable {
bool? successfulCheckout,
bool? isPaymentProcessingNeeded,
bool? isLoading,
- }) {
+ }) {
return CheckoutState(
- items: items ?? _items,
- page: page ?? this.page,
- clubPoints: clubPoints ?? this.clubPoints,
- showTermsError: showTermsError ?? this.showTermsError,
- isTermsAccepted: termsAccepted ?? isTermsAccepted,
- applyClubPoints: applyClubPoints ?? this.applyClubPoints,
- paymentMethod: paymentMethod ?? this.paymentMethod,
- bookingBalance: bookingBalance ?? this.bookingBalance,
- successfulCheckout: successfulCheckout ?? this.successfulCheckout,
- isPaymentProcessingNeeded: isPaymentProcessingNeeded ?? this.isPaymentProcessingNeeded,
- isLoading: isLoading ?? this.isLoading);
+ items: items ?? _items,
+ page: page ?? this.page,
+ clubPoints: clubPoints ?? this.clubPoints,
+ showTermsError: showTermsError ?? this.showTermsError,
+ isTermsAccepted: termsAccepted ?? isTermsAccepted,
+ applyClubPoints: applyClubPoints ?? this.applyClubPoints,
+ paymentMethod: paymentMethod ?? this.paymentMethod,
+ bookingBalance: bookingBalance ?? this.bookingBalance,
+ successfulCheckout: successfulCheckout ?? this.successfulCheckout,
+ isPaymentProcessingNeeded: isPaymentProcessingNeeded ?? this.isPaymentProcessingNeeded,
+ isLoading: isLoading ?? this.isLoading,
+ );
}
@override
- List<Object?> get props =>
- [
- _items,
- isTermsAccepted,
- applyClubPoints,
- page,
- showTermsError,
- paymentMethod,
- totalPriceBeforeDiscount,
- totalPriceAfterDiscount,
- totalPrice,
- successfulCheckout,
- isPaymentProcessingNeeded,
- isLoading,
- ];
+ List<Object?> get props => [
+ _items,
+ isTermsAccepted,
+ applyClubPoints,
+ page,
+ showTermsError,
+ paymentMethod,
+ totalPriceBeforeDiscount,
+ totalPriceAfterDiscount,
+ totalPrice,
+ successfulCheckout,
+ isPaymentProcessingNeeded,
+ isLoading,
+ ];
}
-
diff --git a/comwell_key_app/lib/check_out/components/accept_terms_toggle.dart b/comwell_key_app/lib/check_out/components/accept_terms_toggle.dart
index 15130b62..1c82a5c3 100644
--- a/comwell_key_app/lib/check_out/components/accept_terms_toggle.dart
+++ b/comwell_key_app/lib/check_out/components/accept_terms_toggle.dart
@@ -1,6 +1,6 @@
import 'package:comwell_key_app/themes/dark_theme.dart';
import 'package:comwell_key_app/themes/light_theme.dart' show colorDivider;
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class AcceptTermsToggle extends StatelessWidget {
@@ -22,7 +22,7 @@ class AcceptTermsToggle extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (showError)
- Text("Please accept terms".tr(),
+ Text(context.strings.please_accept_terms,
style: const TextStyle(color: colorError)),
Row(
children: [
@@ -43,7 +43,7 @@ class AcceptTermsToggle extends StatelessWidget {
Row(
children: [
Text(
- "approve_conditions_title".tr(),
+ context.strings.approve_conditions_title,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -54,7 +54,7 @@ class AcceptTermsToggle extends StatelessWidget {
onShowTermsAndConditions();
},
child: Text(
- "approve_conditions_subtitle".tr(),
+ context.strings.approve_conditions_subtitle,
style: theme.textTheme.bodySmall?.copyWith(
color: sandColor[80],
decoration: TextDecoration.underline,
diff --git a/comwell_key_app/lib/check_out/components/apply_club_points.dart b/comwell_key_app/lib/check_out/components/apply_club_points.dart
index fa15d5b4..bf5ba5de 100644
--- a/comwell_key_app/lib/check_out/components/apply_club_points.dart
+++ b/comwell_key_app/lib/check_out/components/apply_club_points.dart
@@ -1,16 +1,18 @@
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class ApplyClubPoints extends StatelessWidget {
final bool applyClubPoints;
final int clubPoints;
final void Function(bool) onApplyClubPointsChanged;
- const ApplyClubPoints(
- {super.key,
- required this.applyClubPoints,
- required this.clubPoints,
- required this.onApplyClubPointsChanged});
+
+ const ApplyClubPoints({
+ super.key,
+ required this.applyClubPoints,
+ required this.clubPoints,
+ required this.onApplyClubPointsChanged,
+ });
@override
Widget build(BuildContext context) {
@@ -23,15 +25,15 @@ class ApplyClubPoints extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Text("checkout_page_payment_club_points_title".tr()),
+ Text(context.strings.checkout_page_payment_club_points_title),
Text(
clubPoints > 0
- ? "checkout_page_payment_club_points_subtitle".tr(
- args: ["$clubPoints", "$clubPoints"],
+ ? context.strings.checkout_page_payment_club_points_subtitle(
+ "$clubPoints",
+ "$clubPoints",
)
- : "checkout_page_payment_club_points_subtitle_zero".tr(),
- style: theme.textTheme.bodySmall
- ?.copyWith(color: colorBlack[65]),
+ : context.strings.checkout_page_payment_club_points_subtitle_zero,
+ style: theme.textTheme.bodySmall?.copyWith(color: colorBlack[65]),
),
],
),
@@ -56,7 +58,7 @@ class ApplyClubPoints extends StatelessWidget {
onChanged: (value) {
onApplyClubPointsChanged(value);
},
- )
+ ),
],
);
}
diff --git a/comwell_key_app/lib/check_out/components/check_out_bottom_sheet.dart b/comwell_key_app/lib/check_out/components/check_out_bottom_sheet.dart
index 41280c2b..d35f42ff 100644
--- a/comwell_key_app/lib/check_out/components/check_out_bottom_sheet.dart
+++ b/comwell_key_app/lib/check_out/components/check_out_bottom_sheet.dart
@@ -1,7 +1,7 @@
import 'package:comwell_key_app/check_out/bloc/check_out_cubit.dart';
import 'package:comwell_key_app/check_out/bloc/check_out_state.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
@@ -63,8 +63,8 @@ class CheckOutBottomSheet extends StatelessWidget {
padding: const EdgeInsets.symmetric(vertical: 17.0),
child: Text(
cubit.booking.balance == 0 || cubit.booking.balance == null
- ? "checkout_page_confirmation".tr()
- : "checkout_page_confirmation_continue".tr(),
+ ? context.strings.checkout_page_confirmation
+ : context.strings.checkout_page_confirmation_continue,
style: theme.textTheme.bodyMedium
?.copyWith(color: colorBackground),
),
@@ -87,7 +87,7 @@ class CheckOutBottomSheet extends StatelessWidget {
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 17.0),
child: Text(
- "checkout_page_payment_payment_title".tr(),
+ context.strings.checkout_page_payment_payment_title,
style: theme.textTheme.bodyMedium
?.copyWith(color: colorBackground),
),
diff --git a/comwell_key_app/lib/check_out/components/check_out_payment_card.dart b/comwell_key_app/lib/check_out/components/check_out_payment_card.dart
index a7abd319..c76ced36 100644
--- a/comwell_key_app/lib/check_out/components/check_out_payment_card.dart
+++ b/comwell_key_app/lib/check_out/components/check_out_payment_card.dart
@@ -1,6 +1,6 @@
import 'package:comwell_key_app/check_out/bloc/check_out_cubit.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -27,11 +27,11 @@ class CheckOutPaymentCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- "checkout_page_confirmation_price_title".tr(),
+ context.strings.checkout_page_confirmation_price_title,
style: theme.textTheme.bodySmall?.copyWith(color: colorBlack[65]),
),
const SizedBox(height: 4),
- Text("checkout_page_payment_price".tr(args: [(cubit.trimmedBalance.toString())]),
+ Text(context.strings.checkout_page_payment_price(cubit.trimmedBalance.toString()),
style: theme.textTheme.displaySmall),
],
),
diff --git a/comwell_key_app/lib/check_out/components/checkout_itemized_bill.dart b/comwell_key_app/lib/check_out/components/checkout_itemized_bill.dart
index 018318b3..662cce66 100644
--- a/comwell_key_app/lib/check_out/components/checkout_itemized_bill.dart
+++ b/comwell_key_app/lib/check_out/components/checkout_itemized_bill.dart
@@ -1,7 +1,7 @@
import 'package:comwell_key_app/check_out/components/check_out_bill_list_item.dart';
import 'package:comwell_key_app/services/models/booking_dto.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class CheckoutItemizedBill extends StatelessWidget {
@@ -28,7 +28,7 @@ class CheckoutItemizedBill extends StatelessWidget {
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Text("checkout_page_payment_total".tr()),
+ Text(context.strings.checkout_page_payment_total),
if (applyClubPoints)
Row(
children: [
diff --git a/comwell_key_app/lib/check_out/components/confirm_check_out_dialog.dart b/comwell_key_app/lib/check_out/components/confirm_check_out_dialog.dart
index 0124ae90..10fb08e9 100644
--- a/comwell_key_app/lib/check_out/components/confirm_check_out_dialog.dart
+++ b/comwell_key_app/lib/check_out/components/confirm_check_out_dialog.dart
@@ -1,5 +1,5 @@
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class ConfirmCheckOutDialog extends StatelessWidget {
@@ -18,12 +18,12 @@ class ConfirmCheckOutDialog extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
Text(
- "checkout_page_payment_dialog_title".tr(),
+ context.strings.checkout_page_payment_dialog_title,
textAlign: TextAlign.center,
),
const SizedBox(height: 12),
Text(
- "checkout_page_payment_dialog_subtitle".tr(),
+ context.strings.checkout_page_payment_dialog_subtitle,
textAlign: TextAlign.center,
style: theme.textTheme.bodySmall?.copyWith(color: colorBlack[65]),
),
@@ -34,15 +34,14 @@ class ConfirmCheckOutDialog extends StatelessWidget {
child: ElevatedButton(
onPressed: onConfirm,
style: ButtonStyle(
- backgroundColor: WidgetStatePropertyAll(sandColor[100]),
- foregroundColor:
- const WidgetStatePropertyAll(Colors.white)),
+ backgroundColor: WidgetStatePropertyAll(sandColor[100]),
+ foregroundColor: const WidgetStatePropertyAll(Colors.white),
+ ),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 17.0),
child: Text(
- "checkout_page_payment_dialog_confirm".tr(),
- style: theme.textTheme.bodyMedium
- ?.copyWith(color: Colors.white),
+ context.strings.checkout_page_payment_dialog_confirm,
+ style: theme.textTheme.bodyMedium?.copyWith(color: Colors.white),
),
),
),
@@ -58,18 +57,20 @@ class ConfirmCheckOutDialog extends StatelessWidget {
Navigator.of(context).pop();
},
style: const ButtonStyle(
- side: WidgetStatePropertyAll(
- BorderSide(color: colorDivider)),
- backgroundColor: WidgetStatePropertyAll(Colors.white)),
+ side: WidgetStatePropertyAll(BorderSide(color: colorDivider)),
+ backgroundColor: WidgetStatePropertyAll(Colors.white),
+ ),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 17.0),
- child: Text("checkout_page_payment_dialog_cancel".tr(),
- style: theme.textTheme.bodyMedium),
+ child: Text(
+ context.strings.checkout_page_payment_dialog_cancel,
+ style: theme.textTheme.bodyMedium,
+ ),
),
),
),
],
- )
+ ),
],
),
),
diff --git a/comwell_key_app/lib/check_out/components/send_receipt.dart b/comwell_key_app/lib/check_out/components/send_receipt.dart
index 20c1dce8..ee60725e 100644
--- a/comwell_key_app/lib/check_out/components/send_receipt.dart
+++ b/comwell_key_app/lib/check_out/components/send_receipt.dart
@@ -1,16 +1,18 @@
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class SendReceipt extends StatelessWidget {
final void Function(bool) onSendReceiptChanged;
final bool sendReceipt;
final String userEmail;
- const SendReceipt(
- {super.key,
- required this.onSendReceiptChanged,
- required this.sendReceipt,
- required this.userEmail});
+
+ const SendReceipt({
+ super.key,
+ required this.onSendReceiptChanged,
+ required this.sendReceipt,
+ required this.userEmail,
+ });
@override
Widget build(BuildContext context) {
@@ -25,12 +27,10 @@ class SendReceipt extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Text("payment_overview_send_receipt_title".tr()),
+ Text(context.strings.payment_overview_send_receipt_title),
Text(
- "payment_overview_send_receipt_subtitle"
- .tr(args: [userEmail]),
- style: theme.textTheme.bodySmall
- ?.copyWith(color: colorHeadlineText),
+ context.strings.payment_overview_send_receipt_subtitle(userEmail),
+ style: theme.textTheme.bodySmall?.copyWith(color: colorHeadlineText),
),
],
),
@@ -55,7 +55,7 @@ class SendReceipt extends StatelessWidget {
onChanged: (value) {
onSendReceiptChanged(value);
},
- )
+ ),
],
),
const SizedBox(height: 20),
@@ -63,7 +63,7 @@ class SendReceipt extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- "payment_overview_send_comment_title".tr(),
+ context.strings.payment_overview_send_comment_title,
style: theme.textTheme.bodySmall,
),
const SizedBox(height: 8),
@@ -75,7 +75,7 @@ class SendReceipt extends StatelessWidget {
maxLines: 5,
minLines: 3,
decoration: InputDecoration(
- hintText: "payment_overview_send_receipt_hint".tr(),
+ hintText: context.strings.payment_overview_send_receipt_hint,
hintStyle: theme.textTheme.headlineSmall?.copyWith(
color: colorTertiary,
),
@@ -87,8 +87,7 @@ class SendReceipt extends StatelessWidget {
borderSide: const BorderSide(color: colorDivider),
borderRadius: BorderRadius.circular(8),
),
- contentPadding:
- const EdgeInsets.symmetric(vertical: 20, horizontal: 12),
+ contentPadding: const EdgeInsets.symmetric(vertical: 20, horizontal: 12),
),
style: theme.textTheme.headlineSmall,
),
diff --git a/comwell_key_app/lib/check_out/pages/check_out_confirmation_page.dart b/comwell_key_app/lib/check_out/pages/check_out_confirmation_page.dart
index cc1c5090..dff3223d 100644
--- a/comwell_key_app/lib/check_out/pages/check_out_confirmation_page.dart
+++ b/comwell_key_app/lib/check_out/pages/check_out_confirmation_page.dart
@@ -1,6 +1,6 @@
import 'package:comwell_key_app/check_out/components/check_out_payment_card.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class CheckOutConfirmationPage extends StatelessWidget {
@@ -15,7 +15,7 @@ class CheckOutConfirmationPage extends StatelessWidget {
children: [
const SizedBox(height: 40),
Text(
- "checkout_page_confirmation_title".tr(),
+ context.strings.checkout_page_confirmation_title,
style: Theme.of(context).textTheme.headlineLarge,
),
const SizedBox(height: 18),
@@ -24,11 +24,11 @@ class CheckOutConfirmationPage extends StatelessWidget {
.textTheme
.bodySmall
?.copyWith(color: colorBlack[70]),
- "checkout_page_confirmation_subtitle".tr(),
+ context.strings.checkout_page_confirmation_subtitle,
),
const SizedBox(height: 16),
Text(
- "checkout_page_confirmation_deadline".tr(),
+ context.strings.checkout_page_confirmation_deadline,
style: Theme.of(context)
.textTheme
.bodySmall
diff --git a/comwell_key_app/lib/check_out/pages/check_out_error_page.dart b/comwell_key_app/lib/check_out/pages/check_out_error_page.dart
index 65716c3a..d799c386 100644
--- a/comwell_key_app/lib/check_out/pages/check_out_error_page.dart
+++ b/comwell_key_app/lib/check_out/pages/check_out_error_page.dart
@@ -1,6 +1,6 @@
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class CheckOutErrorPage extends StatelessWidget {
@@ -22,13 +22,13 @@ class CheckOutErrorPage extends StatelessWidget {
Column(
children: [
Text(
- "checkout_page_processing_error_title".tr(),
+ context.strings.checkout_page_processing_error_title,
style: Theme.of(
context,
).textTheme.headlineMedium?.copyWith(color: colorBackground),
),
Text(
- "checkout_page_processing_error_subtitle".tr(),
+ context.strings.checkout_page_processing_error_subtitle,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: colorDivider),
),
@@ -49,7 +49,7 @@ class CheckOutErrorPage extends StatelessWidget {
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
- "generic_ok".tr(),
+ context.strings.generic_ok,
style: const TextStyle(color: colorTertiary),
),
),
diff --git a/comwell_key_app/lib/check_out/pages/check_out_success_page.dart b/comwell_key_app/lib/check_out/pages/check_out_success_page.dart
index 2ce52d91..e2ccb181 100644
--- a/comwell_key_app/lib/check_out/pages/check_out_success_page.dart
+++ b/comwell_key_app/lib/check_out/pages/check_out_success_page.dart
@@ -1,7 +1,7 @@
import 'package:comwell_key_app/check_out/components/check_out_countdown.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class CheckOutSuccessPage extends StatelessWidget {
@@ -26,15 +26,15 @@ class CheckOutSuccessPage extends StatelessWidget {
Column(
children: [
Text(
- "checkout_page_processing_success_title".tr(),
+ context.strings.checkout_page_processing_success_title,
style: Theme.of(
context,
).textTheme.headlineMedium?.copyWith(color: colorBackground),
),
Text(
digitalCard
- ? "checkout_page_processing_success_subtitle".tr()
- : "checkout_page_processing_success_subtitle_no_digital_card".tr(),
+ ? context.strings.checkout_page_processing_success_subtitle
+ : context.strings.checkout_page_processing_success_subtitle_no_digital_card,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodySmall?.copyWith(color: colorDivider),
),
@@ -55,7 +55,7 @@ class CheckOutSuccessPage extends StatelessWidget {
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
- "generic_ok".tr(),
+ context.strings.generic_ok,
style: const TextStyle(color: colorTertiary),
),
),
diff --git a/comwell_key_app/lib/housekeeping/components/housekeeping_service.dart b/comwell_key_app/lib/housekeeping/components/housekeeping_service.dart
index 67dc8436..3db58f31 100644
--- a/comwell_key_app/lib/housekeeping/components/housekeeping_service.dart
+++ b/comwell_key_app/lib/housekeeping/components/housekeeping_service.dart
@@ -1,4 +1,6 @@
import 'package:comwell_key_app/.generated/assets/assets.gen.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
+import 'package:flutter/material.dart';
enum HouseKeepingService {
cleaning,
@@ -7,18 +9,18 @@ enum HouseKeepingService {
trash,
soap;
- String get titleStringId {
+ String titleStringId(BuildContext context) {
switch (this) {
case HouseKeepingService.cleaning:
- return "housekeeping_page_service_title_cleaning";
+ return context.strings.housekeeping_page_service_title_cleaning;
case HouseKeepingService.towels:
- return "housekeeping_page_service_title_towels";
+ return context.strings.housekeeping_page_service_title_towels;
case HouseKeepingService.refill:
- return "housekeeping_page_service_title_refill";
+ return context.strings.housekeeping_page_service_title_refill;
case HouseKeepingService.trash:
- return "housekeeping_page_service_title_trash";
+ return context.strings.housekeeping_page_service_title_trash;
case HouseKeepingService.soap:
- return "housekeeping_page_service_title_soap";
+ return context.strings.housekeeping_page_service_title_soap;
}
}
@@ -37,10 +39,10 @@ enum HouseKeepingService {
}
}
- String get subtitleStringId {
- switch(this) {
+ String subtitleStringId(BuildContext context) {
+ switch (this) {
case HouseKeepingService.cleaning:
- return "housekeeping_page_service_cleaning_subtitle";
+ return context.strings.housekeeping_page_service_cleaning_subtitle;
case HouseKeepingService.towels:
case HouseKeepingService.refill:
case HouseKeepingService.trash:
diff --git a/comwell_key_app/lib/housekeeping/components/selectable_service.dart b/comwell_key_app/lib/housekeeping/components/selectable_service.dart
index 736cf2f5..a2907e6d 100644
--- a/comwell_key_app/lib/housekeeping/components/selectable_service.dart
+++ b/comwell_key_app/lib/housekeeping/components/selectable_service.dart
@@ -1,6 +1,5 @@
import 'package:comwell_key_app/housekeeping/cubit/housekeeping_cubit.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_svg/svg.dart';
@@ -49,13 +48,13 @@ class SelectableService extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- service.titleStringId.tr(),
+ service.titleStringId(context),
style: Theme.of(context).textTheme.bodySmall,
maxLines: 1,
overflow: TextOverflow.clip,
),
if (service == HouseKeepingService.cleaning)
- Text(service.subtitleStringId.tr(),
+ Text(service.subtitleStringId(context),
maxLines: 1,
style: Theme.of(context)
.textTheme
diff --git a/comwell_key_app/lib/housekeeping/housekeeping_page.dart b/comwell_key_app/lib/housekeeping/housekeeping_page.dart
index a81d014e..59f7902f 100644
--- a/comwell_key_app/lib/housekeeping/housekeeping_page.dart
+++ b/comwell_key_app/lib/housekeeping/housekeeping_page.dart
@@ -4,7 +4,7 @@ import 'package:comwell_key_app/housekeeping/cubit/housekeeping_cubit.dart';
import 'package:comwell_key_app/housekeeping/cubit/housekeeping_state.dart';
import 'package:comwell_key_app/overview/models/booking.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
@@ -60,7 +60,7 @@ class _HousekeepingPageState extends State<HousekeepingPage> {
WidgetStatePropertyAll(Colors.white)),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
- child: Text("housekeeping_page_button".tr()),
+ child: Text(context.strings.housekeeping_page_button),
),
),
),
@@ -75,16 +75,16 @@ class _HousekeepingPageState extends State<HousekeepingPage> {
child: ListView(
children: [
const SizedBox(height: 20),
- Text("housekeeping_page_title".tr(),
+ Text(context.strings.housekeeping_page_title,
style: theme.textTheme.headlineLarge),
const SizedBox(height: 8),
Text(
- "housekeeping_page_subtitle".tr(),
+ context.strings.housekeeping_page_subtitle,
style: theme.textTheme.bodySmall,
),
const SizedBox(height: 25),
Text(
- "housekeeping_page_cleaning".tr(),
+ context.strings.housekeeping_page_cleaning,
style: theme.textTheme.headlineMedium,
),
const SizedBox(height: 12),
@@ -93,7 +93,7 @@ class _HousekeepingPageState extends State<HousekeepingPage> {
service: HouseKeepingService.cleaning,
),
const SizedBox(height: 22),
- Text("housekeeping_page_supplies".tr(),
+ Text(context.strings.housekeeping_page_supplies,
style: theme.textTheme.headlineMedium),
const SizedBox(height: 12),
...cubit.servicesSupplies.map((service) {
diff --git a/comwell_key_app/lib/key/key_page.dart b/comwell_key_app/lib/key/key_page.dart
index ce7c30b6..a470989a 100644
--- a/comwell_key_app/lib/key/key_page.dart
+++ b/comwell_key_app/lib/key/key_page.dart
@@ -1,8 +1,8 @@
import 'package:comwell_key_app/common/components/round_icon_button.dart';
import 'package:comwell_key_app/key/bloc/key_bloc.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:focus_detector/focus_detector.dart';
@@ -32,7 +32,7 @@ class KeyPage extends StatelessWidget {
Center(
heightFactor: 2,
child: Text(
- "open_room".tr(),
+ context.strings.open_room,
style: Theme.of(context)
.textTheme
.headlineMedium
@@ -68,7 +68,7 @@ class KeyPage extends StatelessWidget {
borderRadius: BorderRadius.circular(96),
),
child: Text(
- "key_page_room_prefix".tr(args: [roomNumber]),
+ context.strings.key_page_room_prefix(roomNumber),
style: Theme.of(context).textTheme.displayLarge?.copyWith(
color: Colors.white,
fontWeight: FontWeight.bold,
@@ -133,25 +133,25 @@ class KeyPage extends StatelessWidget {
Widget _buildStatusText(KeyStatus status, BuildContext context) {
if (status == KeyStatus.scanning) {
- return Text('hold_phone_to_door'.tr(),
+ return Text(context.strings.hold_phone_to_door,
style: Theme.of(context)
.textTheme
.headlineMedium
?.copyWith(color: Colors.white));
} else if (status == KeyStatus.scanningError) {
- return Text('open_room_error'.tr(),
+ return Text(context.strings.open_room_error,
style: Theme.of(context)
.textTheme
.headlineMedium
?.copyWith(color: Colors.white));
} else if (status == KeyStatus.openClosestReaderSuccess) {
- return Text('open_room_success'.tr(),
+ return Text(context.strings.open_room_success,
style: Theme.of(context)
.textTheme
.headlineMedium
?.copyWith(color: Colors.white));
} else {
- return Text('hold_phone_to_door'.tr(),
+ return Text(context.strings.hold_phone_to_door,
style: Theme.of(context)
.textTheme
.headlineMedium
diff --git a/comwell_key_app/lib/login/components/create_user_button.dart b/comwell_key_app/lib/login/components/create_user_button.dart
index 403d91f3..3349095a 100644
--- a/comwell_key_app/lib/login/components/create_user_button.dart
+++ b/comwell_key_app/lib/login/components/create_user_button.dart
@@ -1,4 +1,4 @@
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class CreateUserButton extends StatelessWidget {
@@ -20,12 +20,13 @@ class CreateUserButton extends StatelessWidget {
onPressed();
},
child: Text(
- 'create_user_button'.tr(),
+ context.strings.create_user_button,
style: TextStyle(
- color: Theme.of(context).colorScheme.surface,
- fontSize: 16,
- fontWeight: FontWeight.w600,
- backgroundColor: Colors.transparent),
+ color: Theme.of(context).colorScheme.surface,
+ fontSize: 16,
+ fontWeight: FontWeight.w600,
+ backgroundColor: Colors.transparent,
+ ),
),
);
}
diff --git a/comwell_key_app/lib/login/components/login_button.dart b/comwell_key_app/lib/login/components/login_button.dart
index fb2df3b1..82715cdf 100644
--- a/comwell_key_app/lib/login/components/login_button.dart
+++ b/comwell_key_app/lib/login/components/login_button.dart
@@ -1,4 +1,4 @@
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
class LoginButton extends StatelessWidget {
@@ -27,7 +27,7 @@ class LoginButton extends StatelessWidget {
borderRadius: BorderRadius.circular(30),
),
),
- child: Text('login_button'.tr()),
+ child: Text(context.strings.login_button),
),
);
}
diff --git a/comwell_key_app/lib/main.dart b/comwell_key_app/lib/main.dart
index acc48b94..741352d3 100644
--- a/comwell_key_app/lib/main.dart
+++ b/comwell_key_app/lib/main.dart
@@ -1,10 +1,10 @@
+import 'package:comwell_key_app/.generated/l10n/app_localizations.dart';
import 'package:comwell_key_app/data/remote/msal_service.dart';
import 'package:comwell_key_app/utils/env_utils.dart';
import 'package:comwell_key_app/utils/firebase.dart';
import 'package:comwell_key_app/utils/locator.dart';
import 'package:comwell_key_app/services/http_client.dart';
import 'package:comwell_key_app/utils/secure_storage.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
@@ -16,8 +16,8 @@ import 'firebase_options_prod.dart' as fb_prod;
import 'package:payment_plugin/payment_plugin.dart';
void main() async {
+ await AppLocalizations.delegate.load(const Locale("en"));
WidgetsFlutterBinding.ensureInitialized();
- await EasyLocalization.ensureInitialized();
debugPrint("Current flavor: $appFlavor");
try {
@@ -68,12 +68,5 @@ void main() async {
rethrow;
}
- runApp(
- EasyLocalization(
- supportedLocales: const [Locale('en', 'US'), Locale('da', 'DK')],
- path: 'assets/translations',
- fallbackLocale: const Locale('da', 'DK'),
- child: SentryWidget(child: const ComwellApp()),
- ),
- );
+ runApp(SentryWidget(child: const ComwellApp()));
}
diff --git a/comwell_key_app/lib/my_booking/components/balance_bottom_sheet.dart b/comwell_key_app/lib/my_booking/components/balance_bottom_sheet.dart
index 16481d0c..03510440 100644
--- a/comwell_key_app/lib/my_booking/components/balance_bottom_sheet.dart
+++ b/comwell_key_app/lib/my_booking/components/balance_bottom_sheet.dart
@@ -3,8 +3,8 @@ import 'package:comwell_key_app/overview/models/booking.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/services/models/booking_dto.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:comwell_key_app/utils/share_button_utils.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
@@ -40,8 +40,7 @@ class BalanceBottomSheet extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
- padding:
- const EdgeInsets.symmetric(vertical: 40.0, horizontal: 16),
+ padding: const EdgeInsets.symmetric(vertical: 40.0, horizontal: 16),
child: Container(
padding: const EdgeInsets.symmetric(vertical: 8),
decoration: const BoxDecoration(
@@ -54,7 +53,7 @@ class BalanceBottomSheet extends StatelessWidget {
children: [
const SizedBox(width: 16),
Text(
- 'my_balance'.tr(),
+ context.strings.my_balance,
style: theme.textTheme.titleLarge?.copyWith(
fontWeight: FontWeight.bold,
),
@@ -74,7 +73,7 @@ class BalanceBottomSheet extends StatelessWidget {
),
),
),
-
+
// Content
Padding(
padding: const EdgeInsets.all(10),
@@ -103,7 +102,7 @@ class BalanceBottomSheet extends StatelessWidget {
const SizedBox(height: 16),
...addOnItems.map((item) => _buildBalanceItem(item, theme)),
const SizedBox(height: 24),
-
+
Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
@@ -117,17 +116,17 @@ class BalanceBottomSheet extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'total_charge'.tr(),
+ context.strings.total_charge,
style: theme.textTheme.bodyMedium?.copyWith(
fontSize: 16,
fontWeight: FontWeight.w400,
),
),
Text(
- 'total_charge_value'
- .tr(args: [cubit.totalAddonBalance.toString()]),
- style: theme.textTheme.titleLarge
- ?.copyWith(fontWeight: FontWeight.bold),
+ context.strings.total_charge_value(cubit.totalAddonBalance),
+ style: theme.textTheme.titleLarge?.copyWith(
+ fontWeight: FontWeight.bold,
+ ),
),
],
),
@@ -143,14 +142,14 @@ class BalanceBottomSheet extends StatelessWidget {
],
),
),
-
+
const SizedBox(height: 16),
],
),
),
],
),
-
+
// Payment button
Column(
children: [
@@ -160,13 +159,17 @@ class BalanceBottomSheet extends StatelessWidget {
child: SizedBox(
width: double.infinity,
child: ElevatedButton(
- onPressed: () => cubit.canContinueToPayment ? context.push(AppRoutes.payMyBooking, extra: booking) : null,
+ onPressed: () => cubit.canContinueToPayment
+ ? context.push(AppRoutes.payMyBooking, extra: booking)
+ : null,
style: theme.elevatedButtonTheme.style?.copyWith(
- backgroundColor: WidgetStatePropertyAll(cubit.canContinueToPayment ? sandColor : Colors.grey),
- padding: const WidgetStatePropertyAll(
- EdgeInsets.symmetric(vertical: 16)),
- shape: WidgetStatePropertyAll(RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(32))),
+ backgroundColor: WidgetStatePropertyAll(
+ cubit.canContinueToPayment ? sandColor : Colors.grey,
+ ),
+ padding: const WidgetStatePropertyAll(EdgeInsets.symmetric(vertical: 16)),
+ shape: WidgetStatePropertyAll(
+ RoundedRectangleBorder(borderRadius: BorderRadius.circular(32)),
+ ),
),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
@@ -174,7 +177,7 @@ class BalanceBottomSheet extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
- 'go_to_payment'.tr(),
+ context.strings.go_to_payment,
style: theme.textTheme.bodyMedium?.copyWith(
color: Colors.white,
fontSize: 16,
@@ -182,13 +185,13 @@ class BalanceBottomSheet extends StatelessWidget {
),
),
Text(
- "total_charge_value"
- .tr(args: [balance.toInt().toString()]),
- style: theme.textTheme.bodyMedium?.copyWith(
- color: Colors.white,
- fontSize: 16,
- fontWeight: FontWeight.w600,
- )),
+ context.strings.total_charge_value(balance.toInt()),
+ style: theme.textTheme.bodyMedium?.copyWith(
+ color: Colors.white,
+ fontSize: 16,
+ fontWeight: FontWeight.w600,
+ ),
+ ),
],
),
),
diff --git a/comwell_key_app/lib/my_booking/my_booking_page.dart b/comwell_key_app/lib/my_booking/my_booking_page.dart
index f362e330..f028e507 100644
--- a/comwell_key_app/lib/my_booking/my_booking_page.dart
+++ b/comwell_key_app/lib/my_booking/my_booking_page.dart
@@ -7,14 +7,16 @@ import 'package:comwell_key_app/overview/models/booking.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/services/mappers/booking_mapper.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:comwell_key_app/utils/locator.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
-import 'package:flutter_svg/flutter_svg.dart';
+import 'package:intl/intl.dart';
import 'package:payment_plugin/presentation/app/bloc/payment_cubit.dart';
import 'package:payment_plugin/presentation/app/bloc/payment_processing_state.dart';
+import '../.generated/assets/assets.gen.dart';
+
class MyBookingPage extends StatelessWidget {
final Booking booking;
@@ -52,7 +54,7 @@ class MyBookingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'my_booking'.tr(),
+ context.strings.my_booking,
style: theme.textTheme.titleLarge?.copyWith(
fontWeight: FontWeight.bold,
color: colorTertiary,
@@ -60,7 +62,7 @@ class MyBookingPage extends StatelessWidget {
),
const SizedBox(height: 8),
Text(
- 'booking_reference'.tr(),
+ context.strings.booking_reference,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -71,13 +73,13 @@ class MyBookingPage extends StatelessWidget {
),
const SizedBox(height: 16),
const Divider(color: colorDivider),
- _buildCheckInOutSection(theme),
+ _buildCheckInOutSection(context, theme),
const Divider(color: colorDivider),
- _buildBookingDetails(theme),
+ _buildBookingDetails(context, theme),
const Divider(color: colorDivider),
- _buildPaymentSection(theme),
+ _buildPaymentSection(context, theme),
const Divider(color: colorDivider),
- _buildCancellationPolicy(theme),
+ _buildCancellationPolicy(context, theme),
const Divider(color: colorDivider),
const SizedBox(height: 100),
],
@@ -94,7 +96,7 @@ class MyBookingPage extends StatelessWidget {
);
}
- Widget _buildCheckInOutSection(ThemeData theme) {
+ Widget _buildCheckInOutSection(BuildContext context, ThemeData theme) {
return Row(
children: [
Expanded(
@@ -102,7 +104,7 @@ class MyBookingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'check_in'.tr(),
+ context.strings.check_in,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -125,7 +127,7 @@ class MyBookingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'check_out'.tr(),
+ context.strings.check_out,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -147,12 +149,12 @@ class MyBookingPage extends StatelessWidget {
);
}
- Widget _buildBookingDetails(ThemeData theme) {
+ Widget _buildBookingDetails(BuildContext context, ThemeData theme) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'booking_details'.tr(),
+ context.strings.booking_details,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -161,19 +163,19 @@ class MyBookingPage extends StatelessWidget {
const SizedBox(height: 16),
const Divider(color: colorDivider),
Text(
- 'number_of_guests'.tr(),
+ context.strings.number_of_guests,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
),
Text(
- '${booking.adults} ${booking.adults > 1 ? 'adults'.tr() : 'adult'.tr()}${booking.children > 0 ? ' | ${booking.children} ${booking.children > 1 ? 'children'.tr() : 'child'.tr()}' : ''}',
+ '${booking.adults} ${booking.adults > 1 ? context.strings.adults : context.strings.adult}${booking.children > 0 ? ' | ${booking.children} ${booking.children > 1 ? context.strings.children : context.strings.child}' : ''}',
style: theme.textTheme.bodyMedium,
),
const SizedBox(height: 8),
const Divider(color: colorDivider),
Text(
- 'booker'.tr(),
+ context.strings.booker,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -189,12 +191,12 @@ class MyBookingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'share_booking'.tr(),
+ context.strings.share_booking,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
),
- Text('not_shared'.tr(), style: theme.textTheme.bodyMedium),
+ Text(context.strings.not_shared, style: theme.textTheme.bodyMedium),
],
),
SizedBox(
@@ -225,12 +227,12 @@ class MyBookingPage extends StatelessWidget {
);
}
- Widget _buildPaymentSection(ThemeData theme) {
+ Widget _buildPaymentSection(BuildContext context, ThemeData theme) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'payment'.tr(),
+ context.strings.payment,
style: theme.textTheme.headlineLarge?.copyWith(
fontWeight: FontWeight.bold,
),
@@ -243,7 +245,7 @@ class MyBookingPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'payment_method'.tr(),
+ context.strings.payment_method,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -254,14 +256,14 @@ class MyBookingPage extends StatelessWidget {
const SizedBox(width: 8),
],
),
- SvgPicture.asset('assets/images/master.svg', width: 30, height: 30),
+ Assets.images.master.svg(width: 30, height: 30),
],
),
const SizedBox(height: 16),
const Divider(color: colorDivider),
const SizedBox(height: 8),
Text(
- 'payment_date'.tr(),
+ context.strings.payment_date,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
@@ -273,19 +275,19 @@ class MyBookingPage extends StatelessWidget {
);
}
- Widget _buildCancellationPolicy(ThemeData theme) {
+ Widget _buildCancellationPolicy(BuildContext context, ThemeData theme) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- 'cancellation_policy'.tr(),
+ context.strings.cancellation_policy,
style: theme.textTheme.bodySmall?.copyWith(
color: colorHeadlineText,
),
),
const SizedBox(height: 8),
Text(
- 'cancellation_policy_description'.tr(),
+ context.strings.cancellation_policy_description,
style: theme.textTheme.bodyMedium,
),
],
diff --git a/comwell_key_app/lib/my_booking/pages/my_booking_payment_page.dart b/comwell_key_app/lib/my_booking/pages/my_booking_payment_page.dart
index 886382a0..c13ecd59 100644
--- a/comwell_key_app/lib/my_booking/pages/my_booking_payment_page.dart
+++ b/comwell_key_app/lib/my_booking/pages/my_booking_payment_page.dart
@@ -4,7 +4,7 @@ import 'package:comwell_key_app/my_booking/cubit/my_booking_cubit.dart';
import 'package:comwell_key_app/my_booking/cubit/my_booking_state.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
@@ -56,7 +56,7 @@ class MyBookingPaymentPage extends StatelessWidget {
context.push(AppRoutes.paymentProcessing);
cubit.processPayment();
},
- child: Text("pay_bill".tr(),
+ child: Text(context.strings.pay_bill,
style: theme.textTheme.bodyMedium
?.copyWith(color: Colors.white)),
),
diff --git a/comwell_key_app/lib/services/api.dart b/comwell_key_app/lib/services/api.dart
index dc1cc59c..b688494a 100644
--- a/comwell_key_app/lib/services/api.dart
+++ b/comwell_key_app/lib/services/api.dart
@@ -12,11 +12,11 @@ import 'package:comwell_key_app/services/utils/api_endpoints.dart';
import 'package:comwell_key_app/up_sales/models/addon_list.dart';
import 'package:comwell_key_app/up_sales/models/dto/up_sales_dto.dart';
import 'package:comwell_key_app/utils/json.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:comwell_key_app/utils/locator.dart';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
-import 'package:easy_localization/easy_localization.dart';
import 'package:package_info_plus/package_info_plus.dart';
class Api {
@@ -29,7 +29,7 @@ class Api {
// Get current locale globally
Locale get _currentLocale {
final navigatorKey = locator<GlobalKey<NavigatorState>>();
- return EasyLocalization.of(navigatorKey.currentContext!)?.locale ?? const Locale('en', 'US');
+ return Locale(navigatorKey.currentContext!.strings.localeName);
}
Future<Response<dynamic>> logout() async {
diff --git a/comwell_key_app/lib/share/cubit/share_booking_cubit.dart b/comwell_key_app/lib/share/cubit/share_booking_cubit.dart
index 46c4c0f1..d1052058 100644
--- a/comwell_key_app/lib/share/cubit/share_booking_cubit.dart
+++ b/comwell_key_app/lib/share/cubit/share_booking_cubit.dart
@@ -1,10 +1,11 @@
import 'package:bloc/bloc.dart';
import 'package:comwell_key_app/overview/models/guest.dart';
import 'package:comwell_key_app/share/share_booking_repository.dart';
-import 'package:comwell_key_app/utils/locator.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:equatable/equatable.dart';
import 'package:comwell_key_app/overview/models/booking.dart';
+import 'package:flutter/material.dart';
+import 'package:intl/intl.dart';
import 'package:share_plus/share_plus.dart';
part 'share_booking_state.dart';
@@ -27,7 +28,7 @@ class ShareBookingCubit extends Cubit<ShareBookingState> {
emit(state.updateSelectedGuests(newSelectedGuests));
}
- Future<void> createRoomSharingLink(Booking booking) async {
+ Future<void> createRoomSharingLink(BuildContext context, Booking booking) async {
emit(state.loading());
final link = await _shareBookingRepository.createRoomSharingLink(
@@ -38,10 +39,12 @@ class ShareBookingCubit extends Cubit<ShareBookingState> {
if (link != null && link.isNotEmpty) {
Share.share(
- 'share_booking_message'.tr(
- args: ["${booking.firstName} ${booking.lastName}", booking.hotelName, link],
+ context.strings.share_booking_message(
+ "${booking.firstName} ${booking.lastName}",
+ booking.hotelName,
+ link,
),
- subject: 'comwell_booking'.tr(),
+ subject: context.strings.comwell_booking,
);
emit(state.loaded());
} else {
@@ -49,14 +52,14 @@ class ShareBookingCubit extends Cubit<ShareBookingState> {
}
}
- Future<void> shareBooking(Booking booking) async {
+ Future<void> shareBooking(BuildContext context, Booking booking) async {
// TODO: Implement actual sharing logic here
Share.share(
'${booking.hotelName}\n\n'
- '${'dates'.tr()}: ${DateFormat('d. MMM').format(booking.startDate)} - ${DateFormat('d. MMM').format(booking.endDate)}\n'
- '${'guests'.tr()}: ${booking.adults} ${booking.adults > 1 ? 'adults'.tr() : 'adult'.tr()}${booking.children > 0 ? ' | ${booking.children} ${booking.children > 1 ? 'children'.tr() : 'child'.tr()}' : ''}\n\n'
- '${'view_booking'.tr()}: https://comwell.app/booking/${booking.id}',
- subject: 'comwell_booking'.tr(),
+ '${context.strings.dates}: ${DateFormat('d. MMM').format(booking.startDate)} - ${DateFormat('d. MMM').format(booking.endDate)}\n'
+ '${context.strings.guests}: ${booking.adults} ${booking.adults > 1 ? context.strings.adults : context.strings.adult}${booking.children > 0 ? ' | ${booking.children} ${booking.children > 1 ? context.strings.children : context.strings.child}' : ''}\n\n'
+ '${context.strings.view_booking}: https://comwell.app/booking/${booking.id}',
+ subject: context.strings.comwell_booking,
);
}
diff --git a/comwell_key_app/lib/share/share_booking_page.dart b/comwell_key_app/lib/share/share_booking_page.dart
index c24f527a..a4b3a982 100644
--- a/comwell_key_app/lib/share/share_booking_page.dart
+++ b/comwell_key_app/lib/share/share_booking_page.dart
@@ -42,7 +42,7 @@ class _ShareBookingPageState extends State<ShareBookingPage> {
return ShareBookingBaseTemplate(
booking: cubit.booking,
onClicked: () {
- cubit.createRoomSharingLink(cubit.booking);
+ cubit.createRoomSharingLink(context, cubit.booking);
},
isShared: false,
isLoading: state.isLoading,
diff --git a/comwell_key_app/lib/utils/l10n_utils.dart b/comwell_key_app/lib/utils/l10n_utils.dart
new file mode 100644
index 00000000..84facd5d
--- /dev/null
+++ b/comwell_key_app/lib/utils/l10n_utils.dart
@@ -0,0 +1,8 @@
+import 'package:comwell_key_app/.generated/l10n/app_localizations.dart';
+import 'package:flutter/material.dart';
+
+extension L10nUtils on BuildContext {
+ bool get stringsReady => AppLocalizations.of(this) != null;
+
+ AppLocalizations get strings => AppLocalizations.of(this)!;
+}
\ No newline at end of file
diff --git a/comwell_key_app/pubspec.yaml b/comwell_key_app/pubspec.yaml
index 9c5673cd..f6c33b89 100644
--- a/comwell_key_app/pubspec.yaml
+++ b/comwell_key_app/pubspec.yaml
@@ -18,7 +18,6 @@ dependencies:
go_router: ^16.2.0
bloc: ^9.1.0
flutter_bloc: ^9.1.1
- easy_localization: ^3.0.7
flutter_dotenv: ^6.0.0
equatable: ^2.0.5
flutter_secure_storage: ^9.2.2
@@ -69,7 +68,9 @@ dependencies:
internet_connection_checker_plus: ^2.9.1+2
app_tracking_transparency: ^2.0.6+1
webview_flutter: ^4.13.1
-
+ flutter_localization: ^0.3.3
+ intl: any
+
dependency_overrides:
#Remove override when slider button updates
vibration: 3.1.3
@@ -84,6 +85,9 @@ dev_dependencies:
build_runner: ^2.4.13
json_serializable: ^6.9.0
drift_dev: ^2.23.1
+ csv: ^6.0.0
+ change_case: ^2.2.0
+ json_pretty: ^1.0.4
flutter:
generate: true
diff --git a/comwell_key_app/scripts/dart/sort_translations.dart b/comwell_key_app/scripts/dart/sort_translations.dart
new file mode 100644
index 00000000..97b87d38
--- /dev/null
+++ b/comwell_key_app/scripts/dart/sort_translations.dart
@@ -0,0 +1,47 @@
+import 'dart:convert';
+import 'dart:io';
+
+/// This script is only used to sort the keys so that they appear at the same index
+/// and then generate a CSV that can be imported into a database.
+/// Use if you lost access to the online sheet.
+Future<void> main() async {
+ final enArb = File("assets/translations/intl_en.arb");
+ final daArb = File("assets/translations/int_da.arb");
+ final csv = File("assets/translations/all_translations.csv");
+
+ final enContent = await enArb.readAsString();
+ final daContent = await daArb.readAsString();
+
+ final enJson = Map<String, String>.from(jsonDecode(enContent) as Map);
+ final daJson = Map<String, String>.from(jsonDecode(daContent) as Map);
+
+ final Map<String, dynamic> daSorted = {};
+
+ final builder = StringBuffer();
+ builder.writeln("\"key\",\"en\",\"da\"");
+
+ // check if all keys exist
+ for (final key in enJson.keys) {
+ if (daJson.containsKey(key)) {
+ daSorted[key] = daJson[key].toString();
+ } else {
+ daSorted[key] = "\"\"";
+ print("DA - Missing key: $key");
+ }
+ builder.writeln(
+ "\"$key\",\"${parsedValue(enJson[key]!)}\",\"${parsedValue(daJson[key]!)}\"",
+ );
+ }
+
+ const encoder = JsonEncoder.withIndent(" ");
+ await daArb.writeAsString(encoder.convert(daSorted));
+ await csv.writeAsString(builder.toString());
+ print("Complete");
+}
+
+String parsedValue(String value) {
+ if (value.contains("\n")) {
+ return value.replaceAll("\n", "\\n");
+ }
+ return value;
+}
diff --git a/comwell_key_app/scripts/dart/sync_translations.dart b/comwell_key_app/scripts/dart/sync_translations.dart
new file mode 100644
index 00000000..a8188b5f
--- /dev/null
+++ b/comwell_key_app/scripts/dart/sync_translations.dart
@@ -0,0 +1,62 @@
+import 'dart:convert';
+import 'dart:io';
+import 'package:csv/csv.dart';
+
+String _translationsUrl(String apiKey) {
+ const sheetId = "1gOIXPpBFlrWYawp0yt1sN456siIp2jyNVBopcQRra8A";
+ const sheetName = "translations";
+ return "https://docs.google.com/spreadsheets/d/$sheetId/gviz/tq?tqx=out:csv&sheet=$sheetName&key=$apiKey";
+}
+
+Future<String> _loadApiKeyFromSecrets() async {
+ final dotEnvFile = File("env/.prod.env");
+ final lines = await dotEnvFile.readAsLines();
+ final apiKey = lines.firstWhere(
+ (line) => line.startsWith("GOOGLE_SHEETS_API_KEY"),
+ );
+ return apiKey.split("=")[1].toString();
+}
+
+Future<void> main() async {
+ final http = HttpClient();
+ final apiKey = await _loadApiKeyFromSecrets();
+ print("Loading google sheet from ${_translationsUrl(apiKey)}");
+ final response = await http.getUrl(Uri.parse(_translationsUrl(apiKey)));
+ print("Writing data to memory...");
+ final responseBody = await response.close();
+ print("Decoding data...");
+ final buffer = StringBuffer();
+ final data = await responseBody.transform(utf8.decoder).toList();
+ buffer.writeAll(data);
+ final dataString = buffer.toString();
+ final enArb = File("assets/translations/intl_en.arb");
+ final daArb = File("assets/translations/intl_da.arb");
+ final csvList = const CsvToListConverter().convert(
+ dataString,
+ fieldDelimiter: ',',
+ textDelimiter: '"',
+ eol: '\n',
+ );
+ final Map<String, dynamic> enJson = {};
+ final Map<String, dynamic> daJson = {};
+ for (var i = 1; i < csvList.length; i++) {
+ final row = csvList[i];
+ final key = row[0].toString();
+ final en = row[1].toString();
+ final da = row[2].toString();
+ enJson[key] = _parseValue(en);
+ daJson[key] = _parseValue(da);
+ }
+
+ const encoder = JsonEncoder.withIndent(" ");
+ await enArb.writeAsString(encoder.convert(enJson));
+ await daArb.writeAsString(encoder.convert(daJson));
+ print("Complete");
+}
+
+String _parseValue(String value) {
+ if (value.contains("\\n")) {
+ return value.replaceAll("\\n", "\n");
+ }
+ return value;
+}
diff --git a/comwell_key_app/scripts/dart/utils.dart b/comwell_key_app/scripts/dart/utils.dart
new file mode 100644
index 00000000..77dae9b1
--- /dev/null
+++ b/comwell_key_app/scripts/dart/utils.dart
@@ -0,0 +1,15 @@
+import 'dart:io';
+
+Future<File> createFile(String path) async {
+ final file = File(path);
+ if (file.existsSync()) throw Exception("File already exists");
+ await file.create(recursive: true);
+ return file;
+}
+
+Future<void> writeToFile(File file, String content) async {
+ var sink = file.openWrite();
+ sink.write(content);
+ await sink.flush();
+ await sink.close();
+}
\ No newline at end of file
diff --git a/comwell_key_app/scripts/gen.sh b/comwell_key_app/scripts/gen.sh
index 567555da..08964505 100644
--- a/comwell_key_app/scripts/gen.sh
+++ b/comwell_key_app/scripts/gen.sh
@@ -1,2 +1,2 @@
fvm dart run build_runner build --delete-conflicting-outputs
-# fvm flutter gen-l10n
\ No newline at end of file
+fvm flutter gen-l10n
\ No newline at end of file
diff --git a/comwell_key_app/scripts/sync_translations.sh b/comwell_key_app/scripts/sync_translations.sh
new file mode 100644
index 00000000..65e9bc69
--- /dev/null
+++ b/comwell_key_app/scripts/sync_translations.sh
@@ -0,0 +1,4 @@
+# This scripts arranges all translations in the same order as intl_en.arb and
+# generates csv file that can be shared with copy team
+dart scripts/dart/sync_translations.dart
+fvm flutter gen-l10n
\ No newline at end of file
diff --git a/comwell_key_app/untranslated_messages.txt b/comwell_key_app/untranslated_messages.txt
new file mode 100644
index 00000000..9e26dfee
--- /dev/null
+++ b/comwell_key_app/untranslated_messages.txt
@@ -0,0 +1 @@
+{}
\ No newline at end of file