¿Cómo agregar traducciones para nuevas palabras en Magento?

23

Estoy usando inglés, español y alemán como tres vistas de la tienda para mi sitio. ¿Cuál es la forma más fácil de agregar traducciones para nuevas palabras?

Incluso si agrego nuevas palabras con las traducciones, no se muestra en la interfaz.

Sukeshini
fuente

Respuestas:

38

Para esto:

<?php echo Mage::helper('catalog')->__('Text here');?>

Agregar como:

app / locale / {lang_ISO} /Mage_Catalog.csv

"Text here","Translation here"

Para esto:

<?php echo $this->__('Text here'); ?>

O esto (en el tema local.xml, tenga en cuenta el translateatributo; también consulte /programming//a/8408058/794071 ):

<reference name="top.links">
    <action method="addLink" translate="label title">
        <label>Text here</label>
        <title>Text here</title>
    </action>
</reference>

Agregar como:

app / design / frontend / {interface} / {theme} / locale / {lang_ISO} /translate.csv

"Text here","Translation here"

Por ejemplo: en su carpeta de temas:

/locale/fr_FR/translate.csv

"Inspiration","Your France Translation"
TBI Infotech
fuente
1
Además, {lang_ISO} depende del idioma predeterminado que configuró para su tienda en Sistema> Configuración> General> Opciones de localización> Perfil de configuración regional.
Julien Lachal
3

Realmente no traduces palabras. Debe traducir bloques estáticos, páginas, atributos, plantillas de correo electrónico y elementos relacionados con la configuración desde el back-end. Para traducir cadenas del sistema, hayapp/design/frontend/{package}/{theme]/locale/{locale}/translate.csv

{locale} podría ser, por ejemplo, de_DE para el idioma alemán utilizado en Alemania.

app/locale/{locale}/NO se recomienda modificar los archivos de traducción en ya que son parte de los paquetes de idiomas y deben considerarse como elementos centrales que pueden sobrescribirse tan pronto como se actualice el paquete.

Pronto
fuente
0

Se puede hacer en estos sencillos pasos. Paso 1: crea una nueva vista de la tienda. Por administrador de nuestra tienda vaya a TIENDAS-> Configuración-> Todas las tiendas. Create Store View. Seleccione la tienda y déle un nombre, por ejemplo, hindi. Vaya a TIENDAS-> Configuración-> Configuración. En la esquina superior izquierda en Store ViewSeleccione la vista de su tienda Hindi. En la Generalpestaña Locale OptionSeleccionar Hindi(India)del menú desplegable.

Paso 2: Establezca su tema en esta vista de Tienda. Desde admin Vaya a CONTENIDO-> Diseño-> Configuración de Editla vista de su Tienda y configure el tema.

Paso 3: <magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csvcrea un archivo csv en (hi_IN para hindi). Los contenidos son:

"Sign In", "Your Text" "My Account","Your Text" "My Wish List", "Your Text"

Paso 4: Implemente el contenido. en el directorio magento de su terminal php bin/magento setup:static-content:deploy -f en_US hi_IN Limpie el caché y actualice la página. Después de cambiar a la nueva vista de la tienda, se mostrarán sus cambios. Esto funcionará para magento 2.2.x

Punit Sharma
fuente
0

¿Cuál es la forma más fácil de agregar traducciones para nuevas palabras?

Supongo que la parte tecnológica es respondida ... :)

Para hacerlo "fácil", o para acelerar l18n, puede traducir CSVarchivos automáticamente .

Esto puede ser útil si ha instalado o construido una extensión que solo se en_US.csvincluye.

Req:

  • https://github.com/chriskonnertz/DeepLy

    composer require chriskonnertz/deeply
  • agregar CSVa traducir
  • agregar script PHP simple

    <?php
    require 'vendor/autoload.php';
    
    use ChrisKonnertz\DeepLy\DeepLy;
    
    $deepLy = new DeepLy();
    
    $read = fopen('en_US.csv','r');
    $write = fopen('de_DE.csv','w');
    
    while (($data = fgetcsv($read, 0, ",")) !== false) {
        $data[1] = $deepLy->translate($data[0], 'DE', 'EN');
        echo "From: " . $data[0] . "\n";
        echo "To: " . $data[1] . "\n";
        fputcsv($write, $data);
    }
    fclose($read);
    fclose($write);

No es realmente agradable, pero funciona ...: P


Notas

  • Este paquete utiliza una API (¿no documentada?), que no requiere clave AUTH. Parece que hay un umbral, pero no se ha probado
  • para acceso de desarrollador, hay un APIv2 de pago ( 5 € / mes )
  • admite DE, EN, ES, FR, IT, NL, PL, autodetección

No estoy relacionado profundamente , solo me ahorró un par de horas ... perdón por la publicidad.

sv3n
fuente