Añade la traducción al catalán en tu tienda online Shopify

En Lacasadelaswebs.com, como recientes Partners de Shopify, queremos dejar esta pequeña aportación bajo esta plataforma de ecommerce a la lengua catalana.

Este código servirá para traduccir los literales al catalán de la tienda que tengas bajo esta platoforma de comercio online. Esta plataforma esta adquiriendo cada vez más peso entre los principales entornos de ecommerce ya que permite obtener un sistema de tienda en poco tiempo. Además dispone de otras muchas y novedosas opciones que en futuros posts, intentaremos ir ampliando.

Bien, al lio!.
Ahora ya no hay problema, si vas a personalizar tu tienda Shopify multiidioma y necesitas añadir el Catalán, este fragmento de códgio te ahorrará un montón de tiempo.

{
  "general": {
    "404": {
      "title": "Pàgina no trobada",
      "subText": "Ho sentim, no vam poder trobar aquesta pàgina.",
      "subtext": "Disculpa, pero no trobem aquesta pàgina."
    },
    "password_page": {
      "opening_soon": "Obertura Pròximament",
      "spread_the_word": "Fes Córrer la Veu:",
      "login_form_heading": "Entrar a la botiga utilitzant contrasenya:",
      "login_form_password_label": "Contrasenya",
      "login_form_password_placeholder": "La teva contrasenya",
      "login_form_submit": "Entrada",
      "signup_form_heading": "Descobreix quan inaugurem:",
      "signup_form_email_label": "Correu electrònic",
      "signup_form_email_placeholder": "La seva adreça de correu electrònic",
      "signup_form_submit": "Enviar",
      "signup_form_success": "Et enviarem un correu electrònic abans d'inaugurar!",
      "admin_link_html": "Ets el propietari de la botiga? <a href=\"\/admin\" class=\"text-link\"> Registra't aquí <\/a>",
      "password_link": "Entrar usant contrasenya",
      "powered_by_shopify_html": "Aquesta botiga estarà impulsada per {{ Shopify }} Traducció per: Connexio.cat"
    },
    "pagination": {
      "previous": "Anterior",
      "next": "Següent",
      "summary": "Pàgina {{ current_page }} de {{ pages }}"
    },
    "breadcrumbs": {
      "home": "Inici",
      "products": "Productes"
    },
    "search": {
      "placeholder": "buscar a la nostra botiga",
      "no_results_title": "Recerca sense resultats",
      "no_results_html": "La seva recerca de <strong> {{ search }} <\/strong> no va tenir resultats. Proveu de cercar una altra cosa.",
      "results_title": "Resultats de la cerca"
    },
    "meta": {
      "tagged": "etiquetat",
      "page": "Pàgina"
    }
  },
  "layout": {
    "header": {
      "search": "Buscar",
      "cart": "Cistella",
      "menu": "Menú"
    },
    "customer": {
      "login": "Entrada",
      "or": "o",
      "create_account": "Crear un compte",
      "your_account": "El seu compte"
    },
    "footer": {
      "latest_news": "Últimes notícies",
      "quick_links": "Enllaços ràpids",
      "follow_us": "Segueix-nos",
      "newsletter_title": "Butlletí",
      "newsletter_email": "Adreça de correu electrònic",
      "newsletter_submit": "Subscriure",
      "copyright": "Drets d'autor",
      "social": "{{ shop }} en {{ social_media }}",
      "news": "{{ shop }} notícies"
    }
  },
  "collections": {
    "general": {
      "browse": "Cerca:",
      "all_items": "Tots els articles",
      "items_with_count": {
        "one": "{{ count }} producte",
        "other": "{{ count }} productes"
      }
    },
    "product_item": {
      "from_text_html": "<em> De <\/em> {{ price }}"
    },
    "list_collections": {
      "product_collections": "Col·leccions de productes"
    },
    "sorting": {
      "title": "Ordenar per",
      "featured": "Destacats",
      "best_selling": "Més venuts",
      "az": "Alfabèticament, A-Z",
      "za": "Alfabèticament, Z-A",
      "price_ascending": "Preu, menys a més",
      "price_descending": "Preu, més a menys",
      "date_descending": "Data, nou a antic",
      "date_ascending": "Data, antic a nou"
    }
  },
  "products": {
    "general": {
      "share_on_facebook": "Compartir",
      "share_on_twitter": "Tuitejar",
      "share_on_pinterest": "Fer pin",
      "share_on_fancy": "Fancy",
      "related_products": "Productes relacionats"
    },
    "product": {
      "sold_out_html": "Esgotat",
      "surt": "Oferta",
      "unavailable_html": "No disponible",
      "quantity": "Quantitat",
      "add_to_cart": "Afegeix a la cistella",
      "sale": "Oferta"
    },
    "onboarding": {
      "title": "Aquesta pàgina us mostrarà tots els productes de la seva botiga",
      "subText": "No hi ha productes encara, però una vegada que comenci a afegir apareixeran aquí, independent si és que estan en una col·lecció.",
      "add_product": "Afegir un producte",
      "view_sample": "Veure un producte de mostra",
      "example_title": "Exemple de títol de producte",
      "subtext": "No hi ha productes encara, però una vegada que comenci l'addició d'ells es mostraran aquí independentment de si estan en una col·lecció."
    },
    "example_product": {
      "title": "Exemple de producte",
      "overlay_title": "Això és un exemple d'una pàgina de producte",
      "subtext_html": "Afegir el teu propi producte per veure aquesta pàgina en acció i donar el primer pas en comandes de prova. Per consells sobre com escriure descripcions efectives visita <a href=\"http:\/\/www.shopify.com\/blog\/8211159-9-simple-ways-to-write-product-descriptions-that-sell?utm_source=default-theme&utm_medium=contextual&utm_campaign=default-theme-products-tooltips-experiment\" target = \"shopify_info\"> 9 maneres simples per escriure descripcions dels productes que venem. <\/a>",
      "add_product": "Afegeix un producte",
      "description_html": "Aquí és on es mostra la descripció del seu producte."
    }
  },
  "blocs": {
    "article": {
      "posted_on_date": "Publicat a {{ date }}",
      "comment_meta_html": "<strong> {{ author }} <\/strong> a {{ date }}"
    },
    "comments": {
      "title": "Comentaris",
      "form_title": "Deixar un comentari",
      "name": "Nom",
      "email": "Correu electrònic",
      "message": "Comentari",
      "post": "Afegeix un comentari",
      "moderated": "Els comentaris han de ser aprovats abans d'aparèixer",
      "success_moderated": "El seu comentari s'ha compartit amb èxit. Ha de ser aprovat pel propietari del bloc abans d'aparèixer.",
      "success": "El seu comentari ha estat compartit amb èxit.",
      "error": "No tots els camps han estat omplerts correctament",
      "comments_with_count": {
        "one": "{{ count }} comentari",
        "other": "{{ count }} comentaris"
      }
    },
    "sidebar": {
      "recent_articles": "Articles recents",
      "tags": "Etiquetes",
      "all": "Tots"
    }
  },
  "cart": {
    "general": {
      "title": "La seva cistella",
      "remove": "Treure",
      "noti": "Afegir instruccions especials a la seva comanda ...",
      "subtotal": "Subtotal",
      "additional_savings": "Estalvis addicionals",
      "savings_html": "Està estalviant {{ price }}",
      "taxes_extra": "Els codis de descompte, els costos d'enviament i els impostos s'afegeixen durant el pagament.",
      "update": "Actualitzar",
      "checkout": "Finalitzar comanda",
      "empty": "La seva cistella actualment està buit.",
      "note": "Afegir notes o instruccions a la comanda..."
    },
    "label": {
      "product": "Producte",
      "price": "Preu",
      "quantity": "Quantitat"
    }
  },
  "home_page": {
    "onboarding": {
      "products_title": "No ha afegit productes encara",
      "products_text_html": "Pren menys d'un minut <a href=\"\/admin\/products\"> afegir la seva primer producte <\/a> a la seva botiga. Assegureu-vos de afegir-lo a la col·lecció de <strong> {{  frontpage }} <\/strong> per a veure-ho en la pàgina d'inici. ",
      "add_product": "Afegir un producte",
      "view_sample": "Veure un exemple de producte",
      "collections_title": "Gairebé a punt ...",
      "collections_text_html": "Ara afegiu un producte a la col·lecció de <em> {{ frontpage }} <\/em> per a veure-ho en la pàgina d'inici.",
      "add_collection": "Afegir a col·lecció",
      "learn_collections": "Aprendre sobre col·leccions",
      "example_product_title": "Exemple de producte destacat",
      "example_product_text": "La seva botiga es veu una mica buida! Aquest marcador es mostrarà fins que afegiu seu primer producte.",
      "PAGE_TITLE": "Com canviar aquesta secció",
      "page_text": "Pot canviar el text d'aquesta àrea a l'editar la pàgina de en les seves pàgines d'administrador. També pot reemplaçar la pàgina de amb una altra pàgina al seu Configuració de temes.",
      "edit_page": "Edita pàgina de ",
      "view_settings": "Veure la configuració de temes",
      "view_product": "Veure producte",
      "page_title": "Com canviar aquesta secció"
    },
    "products": {
      "view_product": "Veure producte"
    }
  },
  "contact": {
    "form": {
      "name": "Nom",
      "email": "Correu electrònic",
      "phone": "Número de telèfon",
      "message": "Missatge",
      "send": "Enviar",
      "post_success": "Gràcies per contactar-nos. Li respondrem el més aviat possible.",
      "post_error": "Ups, ho sentim. No vam poder enviar la seva consulta. Si us plau corregiu el següent i torni a enviar:",
      "post_field_error_html": "El <strong> {{ field }} <\/strong> {{ error }}"
    },
    "placeholder": {
      "name": "John Doe",
      "email": "[email protected]",
      "phone": "555-555-1234",
      "message": "El seu missatge"
    }
  },
  "customer": {
    "general": {
      "or": "o"
    },
    "account": {
      "title": "El meu compte",
      "view_addresses": "Veure direccions",
      "logout": "Tancar sessió"
    },
    "activate_account": {
      "title": "Activar compte",
      "subText": "Creu la contrasenya per activar el compte.",
      "password": "Contrasenya",
      "password_confirm": "Confirmar contrasenya",
      "submit": "Activar compte",
      "cancel": "Rebutjar invitació",
      "subtext": "Crea la teva contrasenya per activar el compte."
    },
    "addresses": {
      "title": "Els seus direccions",
      "default": "(Direcció per defecte)",
      "add_new": "Afegir una nova direcció",
      "first_name": "Nom",
      "last_name": "Cognom",
      "company": "Companyia",
      "Address1": "Dirección1",
      "address2": "Adreça2",
      "city": "Ciutat",
      "country": "País",
      "province": "Província",
      "zip": "Codi postal",
      "phone": "Telèfon",
      "set_default": "Fixar com a adreça per defecte?",
      "add": "Afegir direcció",
      "update": "Actualitzar direcció",
      "cancel": "Cancel",
      "edit": "Edita",
      "delete": "Eliminar",
      "address1": "Adreça1"
    },
    "login": {
      "title": "Entrada",
      "email": "Correu electrònic",
      "password": "Contrasenya",
      "forgot_password": "Heu oblidat la contrasenya?",
      "reset_password": "Restablir contrasenya.",
      "reset_password_subtext": "Li enviarem un correu electrònic per restablir la contrasenya.",
      "sign_in": "Registrar-se",
      "guest_title": "Accés convidats",
      "guest_continue": "Continuar com a convidat",
      "cancel": "Cancel.lar",
      "submit_recover": "Enviar"
    },
    "orders": {
      "order_number": "Comanda",
      "date": "Data",
      "payment_status": "Estat del pagament",
      "fulfillment_status": "Estat de finalització",
      "total": "Total",
      "none": "No ha realitzat alguna comanda encara."
    },
    "order": {
      "title": "Comanda {{ name }}",
      "cancelled": "Comanda cancel·lat",
      "cancelled_reason": "Motiu: {{ reason }}",
      "billing_address": "Adreça de facturació",
      "payment_status": "Estat del pagament",
      "shipping_address": "Adreça d'enviament",
      "fulfillment_status": "Estat de finalització",
      "product": "Producte",
      "sku": "SKU",
      "price": "Preu",
      "quantity": "Quantitat",
      "total": "Total",
      "subtotal": "Subtotal",
      "Fulfilled": "Conclosa"
    },
    "reset_password": {
      "title": "Restablir contrasenya.",
      "submit": "Restablir contrasenya",
      "password": "Contrasenya",
      "password_confirm": "Confirmar contrasenya"
    },
    "register": {
      "title": "Crear compte",
      "first_name": "Nom",
      "last_name": "Cognom",
      "email": "Correu electrònic",
      "password": "Contrasenya",
      "submit": "Crear",
      "cancel": "Tornar a la botiga"
    }
  },
  "gift_cards": {
    "issued": {
      "title": "Aquí està la teva targeta de regal de {{ value }} per {{ shop }}!",
      "subText": "Aquí està la seva targeta de regal!",
      "disabled": "Desactivada",
      "expired": "Va expirar a",
      "active": "Expira el",
      "redeem": "Utilitzeu aquest codi en acabar la comprar per bescanviar la seva targeta de regal",
      "shop_link": "Començar a comprar",
      "print": "Imprimir",
      "left": "esquerra",
      "subtext": "Aquí està la teva targeta de regal!"
    }
  },
  "blogs": {
    "article": {
      "posted_on_date": "Publicat el {{ date }} ",
      "comment_meta_html": "<strong>{{ author }}<\/strong> el {{ date }} "
    },
    "comments": {
      "title": "Comentaris",
      "form_title": "Deixa un comentari",
      "name": "Nom",
      "email": "Email",
      "message": "Missatge",
      "post": "Comentari",
      "moderated": "Els comentaris han de ser revisats per ser publicats",
      "success_moderated": "Be!!! publicat el teu comentari. Haurà de ser aprovat pel propietari del bloc abans de mostrar-se.",
      "success": "Comentari publicat.",
      "error": "Els camps no son correctes.",
      "comments_with_count": {
        "one": "{{ count }} comentari",
        "other": "{{ count }} comentaris"
      }
    },
    "sidebar": {
      "recent_articles": "Articles recents",
      "tags": "Etiquetes",
      "all": "Tot"
    }
  },
  "shopify": {
    "sentence": {
      "two_words_connector": "i",
      "last_word_connector": ", i"
    },
    "pagination": {
      "previous": "Anterior",
      "next": "Següent"
    },
    "links": {
      "powered_by_shopify": "Fet amb Shopify i traduït per Connexio.cat"
    },
    "feed": {
      "more": "Més"
    },
    "dates": {
      "abbr_day_names": {
        "sunday": "Dg",
        "monday": "Dll",
        "tuesday": "Dm",
        "wednesday": "Di",
        "thursday": "Dj",
        "friday": "Dv",
        "saturday": "Ds"
      },
      "day_names": {
        "sunday": "Diumenge",
        "monday": "Dilluns",
        "tuesday": "Dimarts",
        "wednesday": "Dimecres",
        "thursday": "Dijous",
        "friday": "Divendres",
        "saturday": "Dissabte"
      },
      "abbr_month_names": {
        "january": "Gen",
        "february": "Feb",
        "march": "Mar",
        "april": "Abr",
        "may": "Mai",
        "june": "Jun",
        "july": "Jul",
        "august": "Ago",
        "september": "Set",
        "october": "Oct",
        "november": "Nov",
        "december": "Des"
      },
      "month_names": {
        "january": "Gener",
        "february": "Febrer",
        "march": "Març",
        "april": "Abril",
        "may": "Maig",
        "june": "Juny",
        "july": "Juliol",
        "august": "Agost",
        "september": "Setembre",
        "october": "Octubre",
        "november": "Novembre",
        "december": "Desembre"
      }
    },
    "attributes": {
      "password": "contrasenya",
      "first_name": "Nom",
      "last_name": "Cognoms",
      "body": "Assumpte"
    },
    "addresses": {
      "zip_code": "Codi postal",
      "postal_code": "Codi postal",
      "postcode": "Codi postal",
      "province": "Provincia",
      "state": "Estat",
      "state_and_territory": "Estat\/Territori",
      "confirm": "Estas segur que vols esborrar l'adreça?"
    }
  }
}

¿Como añadirlo? … Fácil, sigue los pasos

Entra en tu cuenta admin de Shopify y accede al menú :

Online Store > Themes > Ahora en la parte superior derecha verás un botón con 3 puntitos […] > Edit HTML/CSS

A la izquierda aparece un listado de carpetas y archivos.

En la última carpeta (Locales) aparecen los idiomas.
Añade un nuevo idioma (+Add new locale) y en la ventana selecciona uno de los creados y le pones el nombre por ejemplo: ca-ES.json

Ahora, borra ese código en la ventana y añades todo el código de la parte superior que te hemos mostrado antes, copy & paste …. y haz clic en botón “Save” que tienes en la ventana superior donde has añadido el código.

Ya esta ahora tu tienda Shopify estará tambien traducida al Catalán.

Por supuesto, si no te aclaras con estos cambios… los podemos hacer por tí 😉 … por eso somos Shopify partners!!

Redirigir urls con o sin www

Este es uno de los puntos que siempre ha dado que hablar entre los que trabajan el tema de posicionamiento a fondo. ¿Las urls con www al principio son mas efectivas a nivel SEO que sin ?!

Sea o no esa la cuestión, lo importante es que en la parte técnica web es importante que la manera de construir las urls sea única. Es por este motivo que os dejamos este pequeño fragmento de código que debereis añadir a vuestro fichero .htaccess (en el root de vuestra web) para que tenga un comportamiento u otro según vuestras pautas.

Redirigir domino sin www a la tradicional url de las www…

Para ello edita el fichero .htaccess antes mencionado (via ftp) y añade el siguiente código al inicio del mismo

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Graba el fichero y esto deberia redireccionar cualquier petición a tu url prinicipal ( http://miurl.com –> http://www.miurl.com ).

Redigir www a sin las www al inicio

Si queremos precisamente el efecto contrario entonces debemos escribir en el fichero .htaccess lo siguiente :

RewriteEngine On
RewriteCond %{HTTP_HOST} !^miurl\.com$ [NC]
RewriteRule ^(.*)$ http://miurl.com/$1 [R=301,L]

Esta claro que deberás reemplazar miurl.com por la url de tu web

Recuerda, una opción u otra, pero no las dos ya que puedes hacer que tu web entre en un bucle de redirecciones.

Hasta la próxima!

 

Events Manager y Qtranslate

En esta ocasión os explicamos otro pequeño truco para hacer que los eventos de vuestro calendario creado a raiz del plugin Events Manager funcionen correctamente con Qtranslate

El problema

En esta ocasión los enlaces o los títulos de los eventos que aparecen al hacer el mouseover por encima de una fecha del calendario, se muestran de manera similar a esto “<!–:es–>Este es el evento en castellano<!–:–><!–:ca–>Aquest es l’esdeveniment en Català<!–:–> …..”  y eso no es correcto para una adecuada indexación.

Solución

Copia el siguiente código al final de tu functions.php (recomendable que tengas un child creado de tu template)

add_filter('em_event_output_placeholder','slw_em_eventlink_mod',1,3);
function slw_em_eventlink_mod($replace, $EM_Event, $result, $target){
        switch ($result) {
                case '#_LINKEDNAME': 
                case '#_EVENTLINK':  //Link de Evento
                case '#_EVENTNAME':  //Nombre del Evento
                        if ( preg_match('~<\!--:([A-Za-z]*?)-->~', $replace) ) {
                                // Esta parte aplica el filtro al título del evento
                                $event_name = apply_filters('the_title', $EM_Event->event_name);
                                $event_link = esc_url($EM_Event->get_permalink());
                                $replace = esc_attr($event_name); // Asignamos el valor a mostrar
                        }
                        break;
                default:
        }
        return $replace;
}

Verás que tu calendario muestra correctamente los títulos de los eventos en el idioma de la página que estas visualizando.

Hasta el próximo consejo!

Desactivar Autoupdates de WordPress

WordPress, tiene por defecto una serie de valores de configuración que podrían dar algun susto a mas de uno.

Una de estas opciones nativas de WordPress es la opción de actualización de versión del núcleo (CORE) de manera desatendida (al igual que hacen otros programas en nuestros equipos, sin que nos pida ninguna confirmación).

Para desactivar esta opción en tu WordPress tienes la posibilidad de instalar algun plugin para desactivar esta funcionalidad o bien, la que recomendamos a continuación que consiste en editar el fichero wp-config.php que esta en la raiz de tu instalación WordPress. Inserta esta línea:

define( 'WP_AUTO_UPDATE_CORE', false );

Luego, graba los cambios y subes el fichero. Ahora tu WordPress ya no se actualizará si tu no se lo indicas.

Qtranslate. Logo y link Home del menú, apuntan al idioma por defecto. Como solucionarlo

En esta ocasión, os damos un pequeño pero útil truco para hacer que vuestro logo y enlace del item de menú “home” de la web apunte a la página principal en su correspondiente idioma gracias a Qtranslate.

Cuando insertas Qtransalte en tu web para tener multiidioma, te encuentras que no enlazan correctamente el ítem de menú “Inicio” y logo. Éstos deberian apuntar a la URL de la página principal de cada idioma pero cuando haces clic siempre vuelve a la página principal del idioma por defecto. Para solucionar este pequeño problemilla os detallamos los puntos a sustituir.

Primero, teneis que editar el fichero de header.php de vuestro template y sustituir el código que genera el enlace por el siguiente código donde se inserta el logo.
Aqui os mostramos un ejemplo donde se encuentra el código…

....
<div id="header" class="<?php echo $headerstyle; ?>">
     <div class="container">
          <div class="one-fourth column alpha">
             <a id="logo" href="<?php echo site_url(); ?>"><img src="<?php get_option_tree('logo', '', true); ?>" alt="<?php bloginfo('name'); ?>"/></a>
          </div><!-- End Header Grid 2 -->
....

Deberás sustituir el echo site_url(); por este otro echo esc_url(home_url());
Graba el fichero

Ya para finalizar edita el fichero qtransalte_hooks.php del plugin Qtranslate e inserta estas lineas al final del código (justo antes del cierre de php ?> )

add_filter('walker_nav_menu_start_el', 'qtrans_in_nav_el', 10, 4);
function qtrans_in_nav_el($item_output, $item, $depth, $args){
    $attributes  = ! empty( $item->attr_title ) ? ' title="'  . esc_attr( $item->attr_title ) .'"' : '';
    $attributes .= ! empty( $item->target )     ? ' target="' . esc_attr( $item->target     ) .'"' : '';
    $attributes .= ! empty( $item->xfn )        ? ' rel="'    . esc_attr( $item->xfn        ) .'"' : '';

   // Determine integration with qTranslate Plugin
   if (function_exists('qtrans_convertURL')) {
      $attributes .= ! empty( $item->url ) ? ' href="' . qtrans_convertURL(esc_attr( $item->url )) .'"' : '';
   } else {
      $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';
   }

   $item_output = $args->before;
   $item_output .= '<a'. $attributes .'>';
   $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
   $item_output .= '</a>';
   $item_output .= $args->after;

   return $item_output;
}

add_filter('home_url','qtrans_convertURL');

Grabáis el fichero y ahora vereis como vuestro enlace de HOME y LOGO apunta a la página principal de cada idioma.