Lokalisatie
Met Commerce-vertalingen kunt u uw winkel voor meerdere regio's en markten aanpassen en lokaliseren door het volgende te genereren:
- Vertaal woordenboeken, die een geschikte manier zijn om sommige woorden en uitdrukkingen, zoals die voor een douanemodule of een thema aan te passen of te vertalen.
- pakketten van de Taal die u toelaten om om het even welk of alle woorden en uitdrukkingen in de toepassing van Commerce te vertalen.
Zie Overzicht van Vertalingen.
Een vertaalwoordenboek genereren
U kunt a vertaalwoordenboekproduceren om bestaande koorden aan te passen, woorden en uitdrukkingen in een douanemodule vertalen, een thema lokaliseren, of taalpakketten tot stand brengen.
Als u wilt beginnen met het vertalen, gebruikt u een opdracht om een CSV-woordenboekbestand te genereren met een verzamelde lijst van alle bestaande woordgroepen en woorden.
U genereert het woordenboek als volgt en u begint met vertalen:
-
Extraheer vertaalbare woorden en woordgroepen uit ingeschakelde componenten met behulp van de opdracht Vertaalverzameling. Inhoud wordt uitgepakt in een CSV-bestand.
-
Vertaal de bestaande woorden en woordgroepen. Desgewenst kunt u aanvullende aangepaste voorwaarden toevoegen.
U hebt opties voor het gebruik van het vertaalde woordenboek:
-
U kunt de vertaalwoordenboeken verpakken in een taalpakket en het pakket leveren aan de beheerder van de Commerce-winkel.
-
In Admin, vormt de opslagbeheerder [ de vertalingen ].
Opdrachtopties:
bin/magento i18n:collect-phrases [-o|--output="<csv file path and name>"] [-m|--magento] <path to directory to translate>
In de volgende tabel worden parameters en waarden beschreven:
<path to directory to translate>
het hulpmiddel begint bij de weg te zoeken die u ingaat en alle dossiers en subdirectories zoekt het bevat.
gebruik deze parameter niet als u
-m --magento
gebruikt.-m --magento
een steekproef volgt:
"Geen Gevonden Punten", "Geen Gevonden Punten", module, Magento_Wishlist
-o --output="<path>"
als u deze parameter weglaat, wordt de output geleid aan stdout.
-m|--magento
optie gebruiken.Richtlijnen voor vertaling
Gebruik de volgende richtlijnen bij het vertalen van woorden en woordgroepen:
- Wijzig alleen de inhoud van de tweede kolom. Vertaal de uitdrukkingen van het Engels (
US
) aan de gewenste taal. - Gebruik de standaard Commerce-tekenreeksen wanneer u woordenboeken voor landinstellingen maakt.
- Let tijdens het vertalen op de plaatsaanduidingen:
%1
,%2
Commerce gebruikt placeholders om contextwaarden op te nemen; zij worden niet gebruikt voor vertalingen. Bijvoorbeeld:
Product '%1' has been added to shopping cart.
Populaten met een waarde:
Product 'Multimeter-2000' has been added to shopping cart.
De resulterende uitdrukking moet minstens één van elke placeholder bevatten. Stel dat de oorspronkelijke uitdrukking plaatsaanduidingen bevat van %1
tot %3
. De vertaling kan een onbeperkt aantal van deze plaatsaanduidingen bevatten, maar er moet minstens één voorkomen voorkomen van %1
, %2
en %3
. De vertaling kan geen plaatsaanduidingswaarden bevatten die niet voorkomen in de oorspronkelijke waarde (bijvoorbeeld %4
, %5
, enzovoort).
Een voorbeeld van het vertalen van een woordgroep:
"Buy %1 for %2 (%3 incl. tax) each","Compre %1 por %2 (%3 incl. imposto) cada"
Een taalpakket maken
In tegenstelling tot een vertaalwoordenboek kunt u een of meer woorden en woordgroepen in de Commerce-toepassing vertalen met behulp van een taalpakket. U kunt een bepaalde component, zoals een module of een thema, vertalen met een vertaalwoordenboek. [ leer meer over taalpakketten ].
In deze sectie wordt besproken hoe u een taalpakket kunt maken, waarin CSV-bestanden naar modules en thema's worden geschreven. Als u een taalpakket wilt maken, moet u de in de volgende secties beschreven taken uitvoeren:
- verzamel en vertaal woorden en uitdrukkingen. (De parameter
--magento
is vereist.) - stel het bevel van het taalpakket in werking.
- creeer folders en dossiers.
- (Optioneel.) vorm veelvoudige pakketten voor een taal.
De opdracht Taalpakket uitvoeren
Opdrachtgebruik:
bin/magento i18n:pack [-m|--mode={merge|replace}] [-d|--allow-duplicates] <source> <locale>
In de volgende tabel worden de parameters en waarden voor de opdracht Taalpakket uitgelegd:
<source>
Gebruik
bin/magento i18n:collect-phrases
om het Csv- dossier tot stand te brengen dan tot het taalpakket zoals die in wordt besproken leidt tot folders en dossiers.<locale>
de_DE
, pt_PT
, pt_BR
.-m --mode
Waarden: fusie of vervang (gebrek).
-d --allow-duplicates
Mappen en bestanden maken
Taalpakketten bevinden zich in een map onder app/i18n/<VendorName>
in het Commerce-bestandssysteem met de volgende inhoud:
- Vereiste licentiebestanden
composer.json
registration.php
dat registershet taalpakketlanguage.xml
bestand met metagegevens
de_de
] .U kunt als volgt deze bestanden maken:
-
Maak een map onder
app/i18n
.Commerce-taalpakketten bevinden zich bijvoorbeeld in
app/i18n/magento
-
Voeg de vereiste licentiebestanden toe.
-
Voeg [
composer.json
] toe die gebiedsdelen voor uw taalpakket specificeert. -
Het taalpakket registreren bij [
registration.php
] -
Voeg
language.xml
meta-informatiedossier toe zoals die in de volgende sectie wordt besproken.
Taalpakket taal.xml
Wanneer u een taalpakket in het configuratiebestand van language.xml
declareert, moet u de volgorde van de taalovererving voor dit pakket opgeven.
De overerving van de taal laat u toe om een vertaling tot stand te brengen genoemd a kind dat op een bestaande vertaling wordt gebaseerd geroepen a ouder. De onderliggende vertalingen overschrijven het bovenliggende element. Als de onderliggende vertaling echter niet kan worden geüpload of weergegeven of als er een woordgroep of woord ontbreekt, gebruikt Commerce de bovenliggende landinstelling. Voorbeelden van taalpakketovererving.
Geef de volgende informatie op om een pakket te declareren:
<?xml version="1.0"?>
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
<code>en_GB</code>
<vendor>magento</vendor>
<package>en_gb</package>
<sort_order>100</sort_order>
<use vendor="oxford-university" package="en_us"/>
</language>
Waarbij:
code
—Taalpakketlandinstelling (vereist)vendor
—De leveranciersnaam van de module (vereist)package
—Taalpakketnaam (vereist)sort_order
—Prioriteit bij het uploaden van een pakket wanneer er meerdere taalpakketten beschikbaar zijn voor een winkeluse
—Landinstelling bovenliggende taalpakket waaruit woordenboeken moeten worden overgenomen
Indien nodig kunt u verschillende bovenliggende pakketten opgeven. De bovenliggende pakketten worden toegepast op een eerst weergegeven, eerst gebruikte basis.
Voorbeeld van taalovererving
Veronderstel dat een taalpakket van twee andere pakketten erft, en dat die pakketten ook ouder en "grootouder"pakketten hebben.
Als een taalpakket overerft van twee pakketten, ziet language.xml
er als volgt uit:
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
<code>en_GB</code>
<vendor>magento</vendor>
<package>language_pack</package>
<sort_order>100</sort_order>
<use vendor="parent-package-one" package="language_package_one"/>
<use vendor= "parent-package-two" package="language_package_two"/>
</language>
In het vorige voorbeeld:
language_package_one
neemt vanen_au_package
enen_au_package
overerft vanen_ie_package
language_package_two
neemt vanen_ca_package
enen_ca_package
overerft vanen_us_package
Als de Commerce-toepassing geen woord of woordgroep kan vinden in het en_GB
-pakket, zoekt het in de volgende volgorde in andere pakketten:
parent-package-one/language_package_one
<vendorname>/en_au_package
<vendorname>/en_ie_package
parent-package-two/language_package_two
<vendorname>/en_ca_package
<vendorname>/en_us_package
Als u alle overervingen tussen de taalpakketten opgeeft, kan dit leiden tot circulaire overervingsketens. Gebruik Magento\Test\Integrity\App\Language\CircularDependencyTesttest om van dergelijke ketens de plaats te bepalen en te bevestigen.
Meerdere pakketten voor een taal configureren
Om uw winkel flexibeler te maken, kunt u verschillende taalpakketten voor dezelfde taal in uw winkel uploaden. U kunt dus verschillende aangepaste pakketten gebruiken voor verschillende onderdelen van uw winkel, omdat het systeem één pakket compileert van alle pakketten die beschikbaar zijn voor een taal.
Om een extra pakket voor een bestaande taal toe te laten, noem het nieuwe pakket om het even welke naam behalve een bestaande taalcodenaam (om verwarring te vermijden). Geef configuraties van een pakket op in het meta-informatiebestand language.xml
van het taalpakket, zoals in de volgende sectie wordt besproken.
Voorbeelden van het gebruik van vertaalopdrachten
De volgende secties verstrekken voorbeelden van begin tot eind van het gebruiken van de bevelen die in dit onderwerp worden besproken om vertaalwoordenboeken en vertaalpakketten tot stand te brengen:
Voorbeeld: een vertaalwoordenboek maken voor een module of thema
U voegt als volgt een Duitse vertaling toe aan een module of thema dat u wilt verspreiden onder andere verkopers:
-
Verzamel zinnen uit uw module:
code language-bash bin/magento i18n:collect-phrases -o "/var/www/html/magento2/app/code/ExampleCorp/SampleModule/i18n/xx_YY.csv" /var/www/html/magento2/app/code/ExampleCorp/SampleModule
note info INFO Het CSV- dossier - naam moet precies de scène aanpassen, met inbegrip van het geval van karakters. -
Vertaal de woorden en de uitdrukkingen gebruikend deze richtlijnen.
-
Kopieer indien nodig
xx_YY.csv
naar/var/www/html/magento2/app/code/ExampleCorp/SampleModule/i18n
of naar de themamap van de module (afhankelijk van of het vertaalwoordenboek voor een module of een thema is).
Voorbeeld: Een taalpakket maken
Vergelijkbaar met het voorgaande voorbeeld genereert u een CSV-bestand. In plaats van een module- of themamap op te geven, geeft u echter de volledige hoofdmap van de Commerce-toepassing op. Het resulterende CSV-bestand bevat alle woordgroepen die de opdracht in de code kan vinden.
-
Verzamel zinnen uit uw module:
code language-bash bin/magento i18n:collect-phrases -o "/var/www/html/magento2/xx_YY.csv" -m
note info INFO Het CSV- dossier - naam moet precies de scène aanpassen, met inbegrip van het geval van karakters. -
Vertaal de woorden en de uitdrukkingen gebruikend deze richtlijnen.
-
Maak het taalpakket.
code language-bash bin/magento i18n:pack /var/www/html/magento2/xx_YY.csv -d xx_YY
-
Maak een map voor het taalpakket.
Bijvoorbeeld:
/var/www/html/magento2/app/i18n/ExampleCorp/xx_yy
-
Voeg in die map de volgende elementen toe:
- Een vergunning, indien vereist
composer.json
(voorbeeld hieronder)registration.php
(voorbeeld hieronder)language.xml
(voorbeeld hieronder)
Voorbeeld
composer.json
:code language-json { "name": "examplecorp/language-xx_yy", "description": "Sample language", "version": "100.0.2", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { "magento/framework": "100.0.*" }, "type": "magento2-language", "autoload": { "files": [ "registration.php" ] } }
Voorbeeld
registration.php
:code language-php <?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ use Magento\Framework\Component\ComponentRegistrar; ComponentRegistrar::register( ComponentRegistrar::LANGUAGE, 'magento_xx_yy', __DIR__ );
Voorbeeld
language.xml
:code language-xml <?xml version="1.0"?> /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ <language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd"> <code>xx_YY</code> <vendor>examplecorp</vendor> <package>xx_yy</package> </language>