Arduino Controlled LED Strip Holiday Lighting

Kevin Chenによって

Android-Arduino LED Strip Lights

 

Connect a multicolor LED strip to your smartphone to make a touch-controlled light show! You can attach the color-changing LEDs to the underside of a coffee table, your bike, or anything else you think needs a bit more color.


There are many ways to connect your smartphone to an embedded microcontroller. In this project you’ll use an Android phone in USB host mode. This way, the Android phone both powers and communicates with the Arduino! Even though the Arduino is connected via USB, the communication happens via serial, just like when an Arduino is connected to your computer.

Once you’re able to make your phone talk to an Arduino, a whole world of new projects opens up!

 

Download the code

CAUTION: Build this project at your own risk. We fried a phone during our test build. Not all Android phones are compatible with USB Host Mode. Use only compatible phones, with the proper Android operating system and USB Host Mode drivers. To learn more, visit How can I determine if my device has USB host mode (OTG) support?

 

Step #1: Build the circuit.

  • RGB LED strips usually have 4 wires: one for power, and one each for red, green, and blue control. When the strip is powered, pulling any of the control lines to ground will cause that color LED to light up at full brightness. Using pulse-width modulation (PWM) on those control lines allows you to modulate the brightness of the lights.
  • A strip 1m long can draw nearly 1A when the red, green, and blue LEDs are on full brightness. An Arduino’s output pins can only supply around 40mA each, so you’ll have to help it out with a driver circuit to boost the power. This circuit takes 3 PWM signals from the Arduino and uses them to drive 3 transistors supplying power to the red, green, and blue LEDs — giving you full control over the brightness of each color, so you can mix them to create any color in the spectrum.
  • NOTE: Want to power 1 or 2 LEDs instead of a whole strip? Ignore the transistors and connect the LEDs directly to the Arduino’s output pins.
  • The driver circuit (1st photo) is a basic transistor amplifier repeated 3 times. A 5V, low-current PWM signal comes from the Arduino to the transistor’s base (B) via a 1K resistor. This signal switches the transistor, allowing it to conduct higher current at 12V across the collector (C) and emitter (E) through the LEDs. The transistor can switch fast enough so that the LED power is PWM’ing just like the input signal, resulting in the desired brightness control.
  • NOTE: Take care to keep straight which transistor will control which LED color, and connect the transistors the right way around, according to the pinout of the TIP31 transistor (2nd photo). And don’t forget to connect the Arduino’s ground pin to the 12V power supply’s ground!
  • Your completed circuit should look like the 3rd photo. The outputs of the circuit go to a 4-pin header on the right, ready to accept an RGB LED strip.

 

Step #2: Hack a cable (optional).

  • Many Android phones are USB On-The-Go (OTG) devices, which means they can act as the USB host (providing power) or slave (receiving power). In order for your phone to host a USB device such as an Arduino, you need a USB OTG cable. You can buy these for a few bucks online, but if you have old USB cables around it’s more fun to make one Follow the instructions here .

 

Step #3: Install the Android app.

  • By adding a few lines of code to an Android app, you can send any kind of data to the Arduino via your USB OTG cable. In this case, you’ll send brightness values between 0 and 255 for the red, green, and blue LEDs. The critical piece of the puzzle here comes from Mike Wakerly. He wrote a fantastic driver for the USB-to-serial chips used in Arduino boards, called usb-serial-for-android. Sending data to an Arduino from your phone is as simple as calling device.write() within your Android app!
  • One great example of this is Katie Dektar’s open-source app called Color Namer (github.com/kaytdek/ColorNamer). For this project, I simplified Color Namer into a version called Arduino Color. Download the app and installer at trevorshp.com/creations/ArduinoColor.apk. You can also grab the complete source code at github.com/trevorshannon/ArduinoColor.

 

Step #4: Code your own app (optional).

  • If you’re developing your own app, download Wakerly’s driver from code.google.com/p/usb-serial-for-android and copy the usb-serial-for-android JAR file into the [your_app_root]/libs directory. This is a pre-compiled library that includes all the necessary functions to open, close, write to, and read from a Serial device from your Android app.
  • Next, copy the device_filter.xml file into the [your_app_root]/res/xml directory. This file acts as a lookup table for USB devices connected to your phone. When you connect an Arduino, its device ID (set by the manufacturer of the USB-to-serial chip) is sent to the phone. If this device ID appears in your app’s device_filter.xml file, then your app will automatically open. (The Arduino’s ID is already in Wakerly’s device_filter.xml file, so you shouldn’t need to make any changes to that file.)
  • Finally, make your app aware that it should be looking for USB devices in the first place. Open your app’s AndroidManifest.xml file and add the appropriate information within your tags: example code 1.
  • To integrate Wakerly’s library, you first have to write code that opens the serial device when the app begins and closes the device when the app stops. Here is some code from Arduino Color as an example: example code 2.
  • Then, you can send data to the opened serial device using the write() function. For example, the Arduino Color app will send color data via serial when the user touches the color picker: example code 3.

 

Step #5: Upload the Arduino firmware.

  • The Arduino code for this project is fairly simple; download it at trevorshp.com/creations/android_leds.ino, then open it in the Arduino development environment (IDE) and upload it to your Arduino board.
  • The code uses the Serial library, which is provided with the Arduino IDE and makes it easy to read data sent via serial to the microcontroller. The code endlessly loops while querying the number of available bytes on the serial port. When there are at least 3 bytes available, the bytes are read and stored in an array as red, green, and blue brightnesses. Those brightness levels are then used to set the PWM outputs accordingly.
  • Notice that there are constants called max_red, max_green, and max_blue. You may find that your LED strip is not well color-balanced. In theory, if you turn on the red, green, and blue LEDs at max brightness, the resulting light should be white. In practice it may have a slight color cast (generally green or blue). You can compensate for this by tweaking the max value constants that are called by the map function. See example code 4.

 

Step #6: Connect it all together.

 

  • You’re ready to begin your light show! Connect the Arduino to your phone and you should see a notification pop up asking if you’d like to open the Arduino Color app. Yes, please!
  • Connect the LED strip to your driver circuit, and turn on the 12V power supply. Using the Android Color app on your phone, you should now be able to adjust the color of your light strip in real time.
  • Attach the light strip to the underside of a coffee table, bring it to a nighttime party, or stick it on your bike!

Conclusion

Other Explorations

Now that you understand how to talk to an Arduino with an Android app, you can take this project further in all kinds of ways:

  • Go wireless: add a Bluetooth or Wi-Fi module to your Arduino and get rid of the cable.
  • Make lights that change color based on the orientation of your phone.
  • Use the GPS in your phone as well as some fancy sensors connected to the Arduino to make a location-aware data logger.
  • Use an individually addressable LED strip and adjust the code for more control over the light show.

To learn more about getting started with Arduino, check out our best-selling book Getting Started with Arduinoand our Arduino projects and tutorials, from beginner to advanced.

     

               

              $1 日数
              $2 時間
              $3
              $4
              {"en":"New","fr":"Nouveau"} {"en":"Best Selling","fr":"Best Selling"} {"en":"Trending","fr":"Tendance"} {"en":"Deal","fr":"Traiter"}
              { "en":{ "general": { "field": { "required": "Required", "actions": "Actions", "top_btn": "Top" }, "accessibility": { "skip_to_content": "Skip to content", "close_modal": "Close (esc)" }, "meta": { "tags": "Tagged \"[[ tags ]]\"", "page": "Page [[ page ]]" }, "404": { "title": "404 Page Not Found", "subtext": "The page you requested does not exist.", "link": "Continue shopping" }, "pagination": { "previous": "Previous", "next": "Next", "current_page": "Page [[ current ]] of [[ total ]]" }, "password_page": { "opening_soon": "Opening Soon", "login_form_heading": "Enter store using password", "login_form_password_label": "Password", "login_form_password_placeholder": "Your password", "login_form_submit": "Enter", "signup_form_email_label": "Email", "signup_form_success": "We will send you an email right before we open!", "password_link": "Enter using password", "powered_by_shopify_html": "This shop will be powered by [[ shopify ]]" }, "social": { "share_on_facebook": "Share", "share_on_twitter": "Tweet", "share_on_pinterest": "Pin it", "alt_text": { "share_on_facebook": "Share on Facebook", "share_on_twitter": "Tweet on Twitter", "share_on_pinterest": "Pin on Pinterest" } }, "search": { "no_results_html": "Your search for \"[[ terms ]]\" did not yield any results.", "results_with_count": { "one": "[[ count ]] result for \"[[ terms ]]\"", "other": "[[ count ]] results for \"[[ terms ]]\"" }, "title": "Search our site", "placeholder": "Search", "submit": "Submit", "close": "Close search" }, "newsletter_form": { "newsletter_email": "Join our mailing list", "email_placeholder": "Email address", "confirmation": "Thanks for subscribing", "submit": "Subscribe", "show_me_text": "Do not show me again" }, "filters": { "show_more": "Show More", "show_less": "Show Less" }, "breadcrumbs": { "home": "Home", "create_account": "Create account", "account": "Account", "addresses": "Addresses" }, "item": { "remove": "Remove Item" } }, "sections": { "header": { "top_header_login": "Login", "top_header_register": "Register", "top_header_wishlist": "Wish list", "register_dropdown": "No account? Create one here", "forgot": "Forgot password", "all_collection": "All Collections", "world_wide_delivery": "Worldwide delivery", "shipping_text": "Free UK Delivery on orders over £ 100", "hot_line": "Hot line" }, "menu": { "mobile_menu_tab": "Menu", "mobile_account_tab": "Account", "mobile_settings_tab": "Settings" }, "slideshow": { "next_slide": "Next slide", "previous_slide": "Previous slide", "pause_slideshow": "Pause slideshow", "play_slideshow": "Play slideshow", "play_video": "Play video", "close_video": "Close video" }, "map": { "get_directions": "Get directions", "address_error": "Error looking up that address", "address_no_results": "No results for that address" } }, "blogs": { "article": { "view_all": "View all", "all_topics": "All topics", "by_author": "by [[ author ]]", "posted_in": "Posted in", "read_more": "Read more", "back_to_blog": "Back to [[ title ]]" }, "comments": { "title": "Leave a comment", "name": "Name", "email": "Email", "message": "Message", "post": "Post comment", "moderated": "Please note, comments must be approved before they are published", "success_moderated": "Your comment was posted successfully. We will publish it in a little while, as our blog is moderated.", "success": "Your comment was posted successfully! Thank you!", "comments_with_count": { "one": "[[ count ]] comment", "other": "[[ count ]] comments" } } }, "cart": { "general": { "title": "Your cart", "note": "Add a note to your order", "remove": "Remove", "subtotal": "Subtotal", "savings": "You're saving", "shipping_at_checkout": "Shipping & taxes calculated at checkout", "update": "Update", "checkout": "Process Check out", "empty": "Your cart is currently empty.", "cookies_required": "Enable cookies to use the shopping cart", "edit": "Edit", "cancel": "Cancel", "continue_shopping": "Continue shopping", "recently_added_item": "Recently added item(s)", "remove_item": "Remove This Item", "view_and_edit_cart": "View and edit cart", "clear": "Clear cart", "empty_page_title": "Shopping Cart is Empty", "here": "here", "empty_continue_html": "Click here to continue shopping.", "processing": "Processing...", "items_count_label" : "[[ count ]] item(s) in your cart", "ok" : "Ok" }, "label": { "product": "Product", "price": "Price", "quantity": "Quantity", "total": "Total", "total_item": "Total item", "sub_total_top": "Cart Subtotal" } }, "collections": { "general": { "view_all": "View all", "clear_all": "Clear All", "no_matches": "Sorry, there are no products in this collection", "items_with_count": { "one": "[[ count ]] product", "other": "[[ count ]] products" }, "load_more": "Load More", "sidebar_btn": "Filter by" }, "sorting": { "title": "Sort by", "manual": "Featured", "best_selling": "Best Selling", "title_ascending": "Alphabetically, A-Z", "title_descending": "Alphabetically, Z-A", "price_ascending": "Price, low to high", "price_descending": "Price, high to low", "created_descending": "Date, new to old", "created_ascending": "Date, old to new" }, "filters": { "title_tags": "Filter", "all_tags": "All products", "categories": "categories", "title": "Filter", "color": "Color", "size": "Size", "brand": "Brand", "price": "Price", "green": "Green", "blue": "Blue", "red": "Red", "pink": "Pink", "black": "Black", "purple": "Purple", "white": "White", "orange": "Orange" }, "product_item": { "quick_shop": "Quick View", "compare": "Compare", "wishlist": "Add to Wishlist" } }, "contact": { "form": { "name": "Name", "email": "Email", "phone": "Phone Number", "message": "Message", "submit": "Submit", "post_success": "Thanks for contacting us. We'll get back to you as soon as possible.", "address": "Address", "telephone": "Telephone", "title": "Write us", "required": "Required" } }, "customer": { "account": { "title": "My Account", "details": "Account Details", "view_addresses": "View Addresses", "return": "Return to Account Details" }, "activate_account": { "title": "Activate Account", "subtext": "Create your password to activate your account.", "password": "Password", "password_confirm": "Confirm Password", "submit": "Activate Account", "cancel": "Decline Invitation" }, "addresses": { "title": "Your Addresses", "default": "Default", "add_new": "Add a New Address", "edit_address": "Edit address", "first_name": "First Name", "last_name": "Last Name", "company": "Company", "address1": "Address1", "address2": "Address2", "city": "City", "country": "Country", "province": "Province", "zip": "Postal\/Zip Code", "phone": "Phone", "set_default": "Set as default address", "add": "Add Address", "update": "Update Address", "cancel": "Cancel", "edit": "Edit", "delete": "Delete", "delete_confirm": "Are you sure you wish to delete this address?" }, "login": { "title": "Login", "desc": "If you have an account, sign in with your email address.", "email": "Email", "password": "Password", "forgot_password": "Forgot your password?", "sign_in": "Sign In", "guest_title": "Continue as a guest", "guest_continue": "Continue" }, "orders": { "title": "Order History", "order_number": "Order", "date": "Date", "payment_status": "Payment Status", "fulfillment_status": "Fulfillment Status", "total": "Total", "none": "You haven't placed any orders yet." }, "order": { "title": "Order [[ name ]]", "date": "Placed on [[ date ]]", "cancelled": "Order Cancelled on [[ date ]]", "cancelled_reason": "Reason: [[ reason ]]", "billing_address": "Billing Address", "payment_status": "Payment Status", "shipping_address": "Shipping Address", "fulfillment_status": "Fulfillment Status", "discount": "Discount", "shipping": "Shipping", "tax": "Tax", "product": "Product", "sku": "SKU", "price": "Price", "quantity": "Quantity", "total": "Total", "fulfilled_at": "Fulfilled [[ date ]]", "subtotal": "Subtotal" }, "recover_password": { "title": "Reset your password", "email": "Email", "submit": "Submit", "cancel": "Cancel", "subtext": "We will send you an email to reset your password.", "success": "We've sent you an email with a link to update your password." }, "reset_password": { "title": "Reset account password", "subtext": "Enter a new password for [[ email ]]", "password": "Password", "password_confirm": "Confirm Password", "submit": "Reset Password" }, "register": { "title": "Create Account", "first_name": "First Name", "last_name": "Last Name", "email": "Email", "password": "Password", "submit": "Create", "desc": "Creating an account is easy. Just fill in the form below." } }, "homepage": { "onboarding": { "product_title": "Your product's name", "product_description": "This area is used to describe your product’s details. Tell customers about the look, feel, and style of your product. Add details on color, materials used, sizing, and where it was made.", "collection_title": "Your collection's name", "blog_title": "Your post's title", "blog_excerpt": "Your store hasn’t published any blog posts yet. A blog can be used to talk about new product launches, tips, or other news you want to share with your customers. You can check out Shopify’s ecommerce blog for inspiration and advice for your own store and blog.", "blog_author": "Author name", "no_content": "This section doesn’t currently include any content. Add content to this section using the sidebar." } }, "layout": { "navigation": { "search": "Search", "toggle": "expand\/collapse", "expand": "expand", "collapse": "collapse", "all_categories": "All Categories" }, "cart": { "title": "Cart", "items_count": { "one": "item", "other": "items" } }, "customer": { "account": "Account", "log_out": "Log out", "logout": "Log out", "log_in": "Log in", "create_account": "Create account", "sign_up": "Sign up", "wishlist": "Wishlist" }, "footer": { "social_platform": "[[ name ]] on [[ platform ]]" }, "list_page": { "grid": "Grid", "list": "List" } }, "products": { "product": { "regular_price": "Regular price", "sold_out": "Sold out", "unavailable": "Unavailable", "on_sale": "Sale", "quantity": "Quantity", "add_to_cart": "Add to cart", "back_to_collection": "Back to [[ title ]]", "related_title": "Related Products", "qty_increase": "Increase", "qty_decrease": "Decrease", "deal_days": "Days", "deal_hours": "Hours", "deal_minutes": "Minutes", "deal_second": "Seconds", "select_option": "Select Option", "add_to_wishlist": "Add to Wishlist", "add_to_review": "Add to review", "compare_success_msg": "[[ product_title ]] has been added to comparing box successful", "compare_exist_msg": "[[ product_title ]] is exist in comparing box", "compare_cart_msg": "[[ product_title ]] has been added to shopping cart", "compare_remove_msg": "[[ product_title ]] has been removed from comparing box", "comparing_box": "Comparing box", "compare_no_items": "There is no items in comparing box", "wishlist_success_msg": "[[ product_title ]] ウィッシュリストに成功しました", "wishlist_exist_msg": "[[ product_title ]] ウィッシュリストに存在する", "wishlist_cart_msg": "[[ product_title ]] has been added to shopping cart", "wishlist_box": "Wishlist", "wishlist_remove_msg": "[[ product_title ]] ウィッシュリストから削除されました", "wislist_no_items": "ウィッシュリストにはアイテムがない", "upsell_cart_msg": "\"[[ product_title ]]\" has been added to shopping cart", "upsell_block_title": "Frequently bought with \"[[ product_title ]]\"", "upsell_cart_qty": "[[ count ]] item(s)", "upsell_product_page_title": "You may also like these products", "upsell_checkout_btn": "Checkout", "share": "Share product", "share_on_facebook": "Share on Facebook", "share_on_twitter": "Share on Twitter", "share_on_pinterest": "Share on Pinterest", "share_on_google": "Share on Google+", "share_on_linkedin": "Share on LinkedIn", "availability": "Availability", "in_stock": "In Stock", "out_of_stock": "Out of stock", "quick_overview": "Quick Overview", "details": "Details", "reviews": "Reviews", "first_review": "Be the first review", "tags": "Product Tags", "size_chart": "Size Chart", "options": "Options", "vendor": "Vendor", "features": "Features", "sale_left_text": "[[ sales ]] SOLD. HURRY! ONLY A FEW LEFT!", "checkout_text": "Secured and trusted checkout with", "quick_view_details": "View details", "open_light_gallery": "Click here to open gallery images" }, "upsell": { "recommend_text": "Someone purchased a", "minute_ago": "minutes ago" } }, "gift_cards": { "issued": { "title_html": "Here's your [[ value ]] gift card for [[ shop ]]!", "subtext": "Your gift card", "disabled": "Disabled", "expired": "Expired on [[ expiry ]]", "active": "Expires on [[ expiry ]]", "redeem_html": "Use this code at checkout to redeem your [[ value ]] gift card", "shop_link": "Start shopping", "print": "Print this gift card", "remaining_html": "[[ balance ]] left", "add_to_apple_wallet": "Add to Apple Wallet" } }, "date_formats": { "month_day_year": "%B %d, %Y" } }, "fr":{ "general": { "field": { "required": "Requis", "actions": "Les actes", "top_btn": "Haut" }, "accessibility": { "skip_to_content": "Passer au contenu", "close_modal": "Fermer (Esc)" }, "meta": { "tags": "Mots clés \"[[ tags ]]\"", "page": "Page [[ page ]]" }, "404": { "title": "404 - Page non trouvée", "subtext": "Cette page n'est pas disponible.", "link": "Retourner au magasinage" }, "pagination": { "previous": "Précédent", "next": "Suivant", "current_page": "Page [[ current ]] sur [[ total ]]" }, "password_page": { "opening_soon": "Bientôt ouvert", "login_form_heading": "Accéder à la boutique à l'aide d'un mot de passe", "login_form_password_label": "Mot de passe", "login_form_password_placeholder": "Votre mot de passe", "login_form_submit": "Entrer", "signup_form_email_label": "Courriel", "signup_form_success": "Nous vous ferons parvenir un courriel juste avant l'ouverture!", "password_link": "Entrer avec un mot de passe", "powered_by_shopify_html": "Cette boutique sera propulsée par [[ shopify ]]" }, "social": { "share_on_facebook": "Partager", "share_on_twitter": "Tweeter", "share_on_pinterest": "Épingler", "alt_text": { "share_on_facebook": "Partager sur Facebook", "share_on_twitter": "Tweeter sur Twitter", "share_on_pinterest": "Épingler sur Pinterest" } }, "search": { "no_results_html": "Votre recherche pour \"[[ terms ]]\" n'a pas généré de résultats.", "results_with_count": { "one": "[[ count ]] résultat pour \"[[ terms ]]\"", "other": "[[ count ]] résultats pour \"[[ terms ]]\"" }, "title": "Effectuez une recherche", "placeholder": "Recherche", "submit": "Recherche", "close": "Fermer (esc)" }, "newsletter_form": { "newsletter_email": "Join our mailing list", "email_placeholder": "Adresse courriel", "confirmation": "Merci pour votre abonnement", "submit": "S'inscrire", "show_me_text": "Ne me montre plus" }, "filters": { "show_more": "Voir plus", "show_less": "Afficher moins" }, "breadcrumbs": { "home": "Accueil", "create_account": "Créer un compte", "account": "Compte", "addresses": "Adresses" }, "item": { "remove": "Retirer l'objet" } }, "sections": { "header": { "top_header_login": "S'identifier", "top_header_register": "Registre", "top_header_wishlist": "Liste de souhaits", "register_dropdown": "Pas de compte? Créer un ici", "forgot": "Mot de passe oublié", "all_collection": "Toutes les collections", "world_wide_delivery": "Livraison à l'échelle mondiale", "shipping_text": "Livraison gratuite au Royaume-Uni sur des commandes de plus de 100 £", "hot_line": "Hot line" }, "menu": { "mobile_menu_tab": "Menu", "mobile_account_tab": "Compte", "mobile_settings_tab": "Paramètres" }, "slideshow": { "next_slide": "Diapositive suivante", "previous_slide": "Diapositive précédente", "pause_slideshow": "Mettre en pause le diaporama", "play_slideshow": "Jouer le diaporama", "play_video": "Lire la vidéo", "close_video": "Fermer la vidéo" }, "map": { "get_directions": "Obtenir des directions", "address_error": "Vous ne trouvez pas cette adresse", "address_no_results": "Aucun résultat pour cette adresse" } }, "blogs": { "article": { "view_all": "Voir toutes", "all_topics": "Tous les sujets", "by_author": "par [[ author ]]", "posted_in": "Publié dans", "read_more": "Plus", "back_to_blog": "Retour à [[ title ]]" }, "comments": { "title": "Laissez un commentaire", "name": "Nom", "email": "Courriel", "message": "Message", "post": "Publier le commentaire", "moderated": "Veuillez noter que les commentaires doivent être approvés avant d'être affichés", "success_moderated": "Votre commentaire a été soumis avec succès. Nous le publierons sous peu, suite à notre processus de modération.", "success": "Votre commentaire a été publié avec succès!", "comments_with_count": { "one": "[[ count ]] commentaire", "other": "[[ count ]] commentaires" } } }, "cart": { "general": { "title": "Panier", "note": "Ajouter une note à votre commande", "remove": "Retirer", "subtotal": "Sous-total", "savings": "Vous économisez", "shipping_at_checkout": "Frais de port et remises calculés à la caisse", "update": "Mettre à jour", "checkout": "Procéder au paiement", "empty": "Votre panier est vide.", "cookies_required": "Activer les cookies pour utiliser le panier", "cancel": "Annuler", "edit": "Éditer", "continue_shopping": "Continuer vos achats", "view_and_edit_cart": "Afficher et modifier le panier", "processing": "En traitement...", "items_count_label" : "[[ count ]] article(s) dans votre panier", "ok" : "D'accord", "empty_page_title": "Le panier d'achat est vide", "empty_continue_html": "Cliquer ici pour poursuivre vos achats.", "clear": "Vider le panier", "recently_added_item": "Article (s) récemment ajouté (s)", "remove_item": "Enlever cet article", "here": "ici" }, "label": { "product": "Produit", "price": "Prix", "quantity": "Quantité", "total": "Total", "total_item": "Total de l'élément", "sub_total_top": "Sous-total du panier" } }, "collections": { "general": { "view_all": "Voir toutes", "clear_all": "Tout Supprimer", "no_matches": "Aucun produit ne correspond à votre recherche.", "items_with_count": { "one": "[[ count ]] item", "other": "[[ count ]] items" }, "load_more": "Charger plus", "sidebar_btn": "Filtrer par" }, "sorting": { "title": "Trier par", "manual": "En vedette", "best_selling": "Meilleurs vendeurs", "title_ascending": "A-Z", "title_descending": "Z-A", "price_ascending": "Prix: faible à élevé", "price_descending": "Prix: élevé à faible", "created_descending": "Date: récent à ancien", "created_ascending": "Date: ancien à récent" }, "filters": { "title_tags": "Filtrer", "all_tags": "Tous les produits", "categories": "Les catégories", "title": "Filtre", "color": "Couleur", "size": "Taille", "brand": "Marque", "price": "Prix", "green": "Vert", "blue": "Bleu", "red": "Rouge", "pink": "Rose", "black": "Noir", "purple": "Violet", "white": "Blanc", "orange": "Orange" }, "product_item": { "quick_shop": "Aperçu rapide", "compare": "Comparer", "wishlist": "Ajouter à la liste de souhaits" } }, "contact": { "form": { "name": "Nom", "email": "Courriel", "phone": "Téléphone", "message": "Message", "submit": "Envoyer", "post_success": "Merci de nous avoir avoir contacté. Nous vous reviendrons le plus rapidement possible.", "address": "Adresse", "telephone": "Téléphone", "title": "Écrivez-nous", "required": "Requis" } }, "customer": { "account": { "title": "Mon compte", "details": "Détails du compte", "view_addresses": "Voir les adresses", "return": "Retour aux détails du compte" }, "activate_account": { "title": "Activer le compte", "subtext": "Créez votre mot de passe pour activer le compte.", "submit": "Activer le compte", "cancel": "Refuser l'invitation", "password": "Mot de passe", "password_confirm": "Confirmer le mot de passe" }, "addresses": { "title": "Votre adresse", "default": "Par défaut", "add_new": "Ajouter une nouvelle adresse", "edit_address": "Éditer l'adresse", "first_name": "Prénom", "last_name": "Nom", "company": "Compagnie", "address1": "Adresse 1", "address2": "Adresse 2", "city": "Ville", "country": "Pays", "province": "Province", "zip": "Code postal", "phone": "Téléphone", "set_default": "Définir comme adresse par défaut", "add": "Ajouter l'adresse", "update": "Mettre à jour l'adresse", "cancel": "Annuler", "edit": "Éditer", "delete": "Supprimer", "delete_confirm": "Êtes-vous certain(e) de vouloir supprimer cette adresse?" }, "login": { "title": "Connexion", "desc": "Si vous avez un compte, connectez-vous avec votre adresse e-mail.", "email": "Courriel", "password": "Mot de passe", "forgot_password": "Mot de passe oublié?", "sign_in": "Se connecter", "guest_title": "Continuer en tant qu'invité", "guest_continue": "Continuer" }, "orders": { "title": "Historique des commandes", "order_number": "Commande", "date": "Date", "payment_status": "Statut du paiement", "fulfillment_status": "Statut du traitement de la commande", "total": "Total", "none": "Vous n'avez pas placé de commande à ce jour." }, "order": { "title": "Commande [[ name ]]", "date": "Placée le [[ date ]]", "cancelled": "Commande annulée le [[ date ]]", "cancelled_reason": "Motif: [[ reason ]]", "billing_address": "Adresse de facturation", "payment_status": "Statut du paiement", "shipping_address": "Adresse de livraison", "fulfillment_status": "Statut du traitement de la commande", "discount": "Rabais appliqué", "shipping": "Livraison", "tax": "Taxes", "product": "Produit", "sku": "SKU", "price": "Prix", "quantity": "Quantité", "total": "Total", "fulfilled_at": "Traitée le [[ date ]]", "subtotal": "Sous-total" }, "recover_password": { "title": "Réinitialiser votre mot de passe", "email": "Courriel", "submit": "Soumettre", "cancel": "Annuler", "subtext": "Nous vous ferons parvenir un courriel pour réinitialiser votre mot de passe.", "success": "Nous vous avons fait parvenir un courriel pour réinitialiser votre mot de passe." }, "reset_password": { "title": "Réinitialiser le mot de passe du compte", "subtext": "Entrez un nouveau mot de passe pour [[ email ]]", "submit": "Réinitialiser le mot de passe", "password": "Mot de passe", "password_confirm": "Confirmer le mot de passe" }, "register": { "title": "Créer un compte", "first_name": "Prénom", "last_name": "Nom", "email": "Courriel", "submit": "Créer", "password": "Mot de passe", "desc": "La création d'un compte est simple. Remplissez le formulaire ci-dessous." } }, "homepage": { "onboarding": { "product_title": "Le nom de votre produit", "product_description": "Cette partie est utilisée pour la fiche du produit. Parlez aux clients de l'allure, du ressenti et du style de votre produit. Ajoutez des détails sur la couleur, les matériaux utilisés, le dimensionnement, et où il a été fabriqué.", "collection_title": "Le nom de votre collection", "blog_title": "Le titre de votre publication", "blog_excerpt": "Votre magasin n'a encore rien bloggué. Un blog peut être utilisé pour parler des lancements de nouveaux produits, d'astuces, ou d'autres nouvelles que vous voulez partager avec vos clients. Vous pouvez regarder le blog d'e-commerce de Shopify pour trouver de l'inspiration et des conseils pour votre propre magasin et blog.", "blog_author": "Nom de l'auteur", "no_content": "Cette section ne contient actuellement aucun contenu. Ajoutez-en en utilisant la barre latérale." } }, "layout": { "navigation": { "search": "Recherche", "toggle": "développer\/réduire", "expand": "révéler", "collapse": "fermer", "all_categories": "toutes catégories" }, "cart": { "title": "Panier", "items_count": { "one": "item", "other": "items" } }, "customer": { "account": "Compte", "log_out": "Se déconnecter", "logout": "Se déconnecter", "log_in": "Se connecter", "create_account": "Créer un compte", "sign_up": "S'inscrire", "wishlist": "Liste de souhaits" }, "footer": { "social_platform": "[[ name ]] sur [[ platform ]]" }, "list_page": { "grid": "La grille", "list": "Liste" } }, "products": { "product": { "regular_price": "Prix régulier", "sold_out": "Épuisé", "unavailable": "Non disponible", "on_sale": "Solde", "quantity": "Quantité", "add_to_cart": "Ajouter au panier", "back_to_collection": "Retour à [[ title ]]", "related_title": "Produits connexes", "qty_increase": "Augmenter", "qty_decrease": "Diminution", "deal_days": "Journées", "deal_hours": "Heures", "deal_minutes": "Minutes", "deal_second": "Seconde", "select_option": "Sélectionner une option", "add_to_wishlist": "Ajouter à la liste de souhaits", "add_to_review": "Ajouter à la critique", "first_review": "Soyez le premier avis", "compare_success_msg": "[[ product_title ]] a ajouté à la boîte de comparaison réussie", "compare_exist_msg": "[[ product_title ]] existe dans la boîte de comparaison", "compare_cart_msg": "[[ product_title ]] a ajouté à la liste de souhaits réussie", "compare_remove_msg": "[[ product_title ]] a été supprimé de la boîte de comparaison", "comparing_box": "Boîte de comparaison", "compare_no_items": "Il n'y a aucun élément dans la boîte de comparaison", "wishlist_success_msg": "[[ product_title ]] a ajouté à la liste de souhaits réussie", "wishlist_exist_msg": "[[ product_title ]] existe dans la liste de souhaits", "wishlist_cart_msg": "[[ product_title ]] a ajouté au panier", "wishlist_box": "Liste de souhaits", "wishlist_remove_msg": "[[ product_title ]] a été retiré de la liste de souhaits", "wislist_no_items": "Il n'y a aucun élément dans la liste de souhaits", "upsell_cart_msg": "\"[[ product_title ]]\" a ajouté à la liste de souhaits réussie", "upsell_block_title": "Souvent acheté avec \"[[ product_title ]]\"", "upsell_cart_qty": "[[ count ]] article", "upsell_product_page_title": "Vous aimerez peut-être aussi ces produits", "upsell_checkout_btn": "Caisse", "share": "Partager le produit", "share_on_facebook": "Partager sur Facebook", "share_on_twitter": "Partager sur Twitter", "share_on_pinterest": "Partager sur Pinterest", "share_on_google": "Partager sur Google+", "share_on_linkedin": "Partager sur LinkedIn", "availability": "Disponibilité", "in_stock": "En stock", "out_of_stock": "En rupture de stock", "quick_overview": "Rapide vue d'ensemble", "details": "Détails", "reviews": "Avis", "tags": "Tags du produit", "options": "Les options", "vendor": "Vendeur", "features": "Les traits", "size_chart": "Tableau des tailles", "sale_left_text":"[[ sales ]] VENDU. SE DÉPÊCHER! SEULEMENT QUELQUES GAUCHE!", "checkout_text": "Paiement sécurisé et approuvé avec", "quick_view_details": "Voir les détails", "open_light_gallery": "Cliquez ici pour ouvrir les images de la galerie" }, "upsell": { "recommend_text": "Quelqu'un a acheté un", "minute_ago": "il y a quelques minutes" } }, "gift_cards": { "issued": { "title_html": "Votre carte-cadeau [[ shop ]] d'une valeur de [[ value ]]!", "subtext": "Voici votre carte-cadeau!", "disabled": "Désactivée", "expired": "Expirée le [[ expiry ]]", "active": "Expire le [[ expiry ]]", "redeem_html": "Entrez ce code lors du paiement pour utiliser votre [[ value ]] carte-cadeau", "shop_link": "Boutique", "print": "Imprimer ce bon d'achat", "remaining_html": "[[ balance ]] restant", "add_to_apple_wallet": "Ajouter à Apple Wallet" } }, "date_formats": { "month_day_year": "%d %B, %Y" } }, "jp":{} }