Shopify-Entwickler in Bern

Zweisprachiger Shopify-Shop für die Schweiz: Sprachen in Markets, Translate & Adapt, Metafields und Metaobjects übersetzen, URLs und hreflang. Freiberuflicher Shopify-Entwickler für Bern, remote und schriftlich.

Shopify-Entwickler

Mein Platz in der WordPress-Community

  • Mein wordpress.org-Konto besteht seit 2006.
  • Ich habe zum WordPress-Core in den Versionen 7.0 und 7.1 beigetragen.
  • Ich betreue 30 Plugins auf wordpress.org.
  • Ich organisiere WordCamps und trete dort als Speaker auf.
  • Ich war bei jedem WordCamp Europe von 2017 bis 2026 dabei.

Mein WordPress.org-Profil

#Wie baut man einen Shopify-Shop für Bern auf Deutsch und Französisch?

Ein zweisprachiger Shop ist kein zweiter Shop. Es ist ein Shop mit einem Datenbestand, der in zwei Sprachen ausgegeben wird, und alles hängt daran, welche Felder Sie wo pflegen. Ich bin Mariusz Szatkowski, Einzelentwickler aus Gdynia, und baue Shopify-Themes und Übersetzungsabläufe remote und schriftlich. Diese Seite geht die Teile der Reihe nach durch: Sprachen und Märkte, Übersetzungen, Metafields und Metaobjects, Produktdaten, URLs mit hreflang, Datenschutz.

Warum Deutsch und Französisch? Nach Art. 6 Abs. 1 der Verfassung des Kantons Bern sind das Deutsche und das Französische die bernischen Landes- und Amtssprachen. Abs. 2 legt fest: Französisch in der Verwaltungsregion Berner Jura, beide Sprachen in der Verwaltungsregion Seeland und im Verwaltungskreis Biel/Bienne, Deutsch in den übrigen Regionen. Für einen Shop mit Sitz in Bern heisst das: Im eigenen Kanton gelten zwei Amtssprachen, und Biel/Bienne ist ein zweisprachiger Verwaltungskreis. Ob sich die zweite Sprache für Ihr Sortiment lohnt, entscheiden Ihre Zahlen, nicht die Verfassung. Sie erklärt nur, warum die Frage in Bern früher auftaucht als anderswo.

Altstadt von Bern an der Aare mit dem Turm des Berner Münsters

Foto: August Geyler, CC BY-SA 4.0, Wikimedia Commons.

Was ich nicht behandle, steht auf den Nachbarseiten: Franken, Mehrwertsteuer und Zahlungsarten für die Schweiz finden Sie unter Shopify-Entwickler Basel. Wer zusätzlich nach Deutschland und Österreich verkauft, liest Shopify-Entwickler Augsburg.

#Wo stellt Shopify Sprachen und Märkte ein?

Sprachen verwalten Sie in der Shopify-Verwaltung unter Einstellungen, Sprachen. Nach der Shopify-Hilfe sind Sprachen Domains zugeordnet, und jeder Markt nutzt eine Domain. Die Sprachen einer Domain sehen Kundinnen und Kunden in allen Märkten, die diese Domain verwenden. Ein Markt mit Unterordner, etwa example.com/fr, kann eigene Spracheinstellungen haben, die Sie dann unter Domain und Sprache des Marktes pflegen.

Dazu kommen Rahmenbedingungen, die Sie vor dem Start kennen sollten:

  • Anzahl. Bis zu 20 Sprachen auf den Plänen Basic, Grow, Shopify und Advanced, bis zu 30 auf Shopify Plus.
  • Theme. Es muss mehrsprachig tauglich sein und einen Sprachumschalter haben. Eigene Themes müssen für interne Links das Liquid-Objekt routes verwenden, also routes.cart_url statt /cart.
  • URLs. Shopify verlangt Unterordner wie example.com/fr oder Subdomains wie fr.example.com.
  • Standardsprache. Sie gilt für Checkout und Theme. Wer sie wechselt, löscht laut Hilfe die vorhandenen Übersetzungen der Sprache, auf die er wechselt. Vorher exportieren.
  • Sprache entfernen. Wird eine Sprache wieder unveröffentlicht, führen Links in dieser Sprache zu einem 404-Fehler. Dafür gehören Weiterleitungen angelegt.

Jede Domain hat eine Standardsprache, die Besucher beim ersten Aufruf sehen. Ist die Sprachweiterleitung eingeschaltet, sieht die Kundschaft die zum Browser passende Sprache, sofern die Domain sie anbietet. Ob ich das einschalte, kläre ich mit Ihnen vorher schriftlich.

Praktisch heisst das für Bern: Ich lege Deutsch als Standardsprache an, wenn Ihre Inhalte auf Deutsch entstehen, und Französisch als zweite Sprache. Das Gegenteil wäre nur sinnvoll, wenn Ihr Team auf Französisch schreibt.

#Was übersetzt Translate & Adapt, und was nicht?

Translate & Adapt ist Shopifys eigene App für Übersetzungen. Sie wird laut Hilfe automatisch installiert, sobald Sie eine Sprache hinzufügen. Übersetzen lassen sich Produkte, Kollektionen, Blogbeiträge, Richtlinien und Seiten, manuell oder mit KI-Übersetzung von Shopify.

Die automatische Übersetzung hängt vom Land ab, in dem Ihr Shop seinen Sitz hat. Die Hilfe nennt die Schweiz ausdrücklich: Bis zu 8 Sprachen zusätzlich zur Standardsprache, einmal mit “Translate now” und danach wöchentlich per Auto-Sync. Sie ändert keine Übersetzungen, die Sie manuell eingetragen haben. Shopify rät, die Ergebnisse vor der Veröffentlichung zu prüfen. Für ein Sortiment mit Fachbegriffen, Materialien oder Pflegehinweisen ist das keine Formalie, ein falsch übersetztes Wort steht sonst gleich im Shop.

Was die App nicht übersetzt, ist aufschlussreich für die Planung:

  • Tags. Produkt-, Artikel- und Blog-Tags sind nicht übersetzbar. Wer sie für sichtbare Filter nutzt, hat in der zweiten Sprache deutsche Filtertexte.
  • Kollektionsfilter, Formulare der App Shopify Forms und Produktbilder (Bilder lassen sich aber je Sprache austauschen, mehr dazu unten).
  • Rechtstexte. Die Richtlinien des Shops lassen sich nicht automatisch übersetzen. Die Hilfe empfiehlt, dafür eine Fachperson einzubeziehen.
  • URL-Handles. Die automatische Übersetzung enthält sie nicht, sie werden pro Sprache von Hand eingetragen.

Dazu der Status: Jeder übersetzte Inhalt ist übersetzt, veraltet oder unübersetzt. Veraltet heisst, der Inhalt in der Standardsprache wurde geändert, die Übersetzung nicht. Ein Shop, in dem Preise und Texte laufend gepflegt werden, produziert veraltete Übersetzungen von selbst. Deshalb gehört der Filter “veraltet” in Ihren Wochenablauf.

#Wie übersetzt man Metafields und Metaobjects?

Hier liegt in Projekten die zweite Ebene. Material, Pflegehinweis, Lieferumfang oder ein Sicherheitsdatenblatt als PDF stecken oft in Metafields, Wiederverwendbares wie Produkt-Highlights in Metaobjects. Beides lässt sich übersetzen, mit Bedingungen aus der Entwicklerdokumentation:

  • Metafields lassen sich nur übersetzen, wenn sie öffentlich zugänglich sind.
  • Bei Metaobjects bestimmt der Typ, welche Felder übersetzbar sind.
  • In der Suche von Translate & Adapt erscheinen Metafields nicht (das nennt die Hilfe bei den nicht unterstützten Ressourcentypen). Im CSV-Export unter Einstellungen, Sprachen wählen Sie die Option “Metafields”, dort sind sie enthalten.
  • Dateien wie PDFs lassen sich lokalisieren, indem Sie ein Datei-Metafield an die Ressource hängen. Es erscheint dann im Übersetzungseditor, und Sie wählen je Sprache die passende Datei.

Wer Übersetzungen programmatisch einspielt, etwa aus einem Übersetzungsbüro oder aus dem Warenwirtschaftssystem, geht über die GraphQL Admin API. Das Muster aus der Dokumentation: Erst den Inhalt samt Digest abfragen, dann die Übersetzung mit diesem Digest schreiben.

{
  translatableResources(first: 1, resourceType: PRODUCT) {
    edges { node { resourceId translatableContent { key value digest locale } } }
  }
}
mutation ($resourceId: ID!, $translations: [TranslationInput!]!) {
  translationsRegister(resourceId: $resourceId, translations: $translations) {
    userErrors { message field }
    translations { key value }
  }
}

Jede Übersetzung braucht den translatableContentDigest des Ausgangstexts, und die Mutation verlangt den Zugriffsbereich write_translations. Ändert sich der Originaltext, ändert sich der Digest, und die Übersetzung gilt als veraltet. Das ist der technische Kern der Statusanzeige oben. Für Metafields gilt ab der API-Version 2026-10: Sie fragen die Metafields der Ressource ab und wählen das Feld translatable aus, der Ressourcentyp METAFIELD ist veraltet.

#Wie strukturiere ich Produktdaten für zwei Sprachen?

Die Regel: Alles, was Kundinnen und Kunden lesen, gehört in ein Feld, das sich übersetzen lässt. Die Entwicklerdokumentation listet je Ressource die übersetzbaren Felder:

RessourceÜbersetzbarFolge für die Datenstruktur
ProduktTitel, Beschreibung, Handle, Produkttyp, Meta-Titel, Meta-BeschreibungSichtbare Texte nie im Tag ablegen
ProduktoptionName der Option, etwa “Grösse” oder “Farbe”Optionsnamen sind Text, nicht Schlüssel
OptionswertName des Werts, etwa “Rot”Werte sprachneutral halten, wo es geht (Nummern, Codes)
KollektionTitel, Beschreibung, Handle, Meta-Titel, Meta-BeschreibungEigener französischer Handle möglich
MetaobjectFelder je nach TypWiederverwendbare Textbausteine hier pflegen
BildAlt-TextAlt-Text je Sprache liefern

Daraus folgen drei Gewohnheiten, die ich in Projekten festhalte. Erstens keine sprachabhängige Logik an Texten festmachen: Ein Theme, das auf den Optionsnamen “Farbe” prüft, bricht in der französischen Ansicht. Zweitens Tags für interne Zwecke nutzen, nicht für sichtbare Filter. Drittens Einheiten und Angaben, die in beiden Sprachen gleich sind, in eigene Felder legen, damit sie nur einmal gepflegt werden.

Grafik und Layout liefern Sie. Ich setze sie im Theme um, einschliesslich der französischen Ansicht. Ob ein Text in der Zeile umbricht, zeigt erst die Vorschau in beiden Sprachen, deshalb prüfe ich sie auf der Entwicklungsumgebung. Für den Umschalter gibt es in Liquid das Muster aus der Entwicklerdokumentation: ein Formular vom Typ localization mit einem Feld language_code, ausgegeben nur bei mehr als einer Sprache.

{% if localization.available_languages.size > 1 %}
  {% form 'localization' %}
    {% for language in localization.available_languages %}
      <button type="submit" name="language_code" value="{{ language.iso_code }}" lang="{{ language.iso_code }}">
        {{ language.endonym_name }}
      </button>
    {% endfor %}
  {% endform %}
{% endif %}

#Wie behandelt Shopify URLs und hreflang?

Jede veröffentlichte Sprache bekommt eigene URLs, indem der Sprachcode in den Pfad kommt: Aus example.com wird example.com/fr. Hreflang-Tags setzt Shopify automatisch. Nach der Hilfe zu Markets entstehen sie aus Ihrer Markt- und Sprachkonfiguration und tragen einen Sprachcode und optional einen Regionscode, dazu kommt ein x-default-Tag. Alle veröffentlichten Sprachen stehen in den Sitemaps.

Ein paar Punkte, die ich bei jedem Projekt prüfe:

  • Nicht doppelt ausgeben. Shopify warnt in der Entwicklerdokumentation: Eigene Tags zusätzlich zu den automatischen können doppelte oder widersprüchliche Angaben erzeugen. Liefert Theme oder App eigene Tags, schalten Sie die automatischen unter Onlineshop, Einstellungen ab, sodass nur eine Quelle bleibt.
  • Handles je Sprache. Ein übersetzter Handle ist optional, verbessert aber die Lokalisierung, in der Hilfe etwa /products/chair zu /produkte/stuhl. Das Wort products im Pfad bleibt. Wird der Handle übersetzt, legt Shopify eine Weiterleitung von der URL der Standardsprache an.
  • Handle ändern. Ändern Sie den Handle eines Produkts, werden Weiterleitungen für sprachspezifische URLs nicht unterstützt. Alte Handles halte ich deshalb in einer Liste fest.
  • Handles pro Markt. URL-Handles lassen sich nicht für einzelne Märkte anpassen, nur für alle Märkte, in denen die Sprache sichtbar ist.
  • Kontrolle im Quelltext. Ob die Tags stimmen, sehe ich im Seitenquelltext von Startseite, Produkt und Kollektion in beiden Sprachen. Bei eigenen Tags muss jede lokalisierte URL als ihre eigene Canonical-URL auf sich selbst verweisen.

Eigene Tags baut man nur dann, wenn Shopify es nicht abdecken kann, etwa bei Verweisen zwischen getrennten Shops. Dann dynamisch aus dem Objekt localization, nie mit festen Domains oder Handles, denn ein Handle kann je Sprache anders lauten.

Zur Wahl zwischen Unterordner, Subdomain und Länderdomain schreibt Shopify: Unterordner teilen die Domainautorität mit der Hauptdomain und werden für die meisten Shops empfohlen. Das deckt sich mit meiner Vorgehensweise, die Abwägung für mehrere Länder steht auf der Augsburger Seite.

#Was verlangt das Datenschutzgesetz bei einem zweisprachigen Shop?

Für private Verantwortliche gilt das revidierte Bundesgesetz über den Datenschutz (SR 235.1). Art. 19 verlangt, dass der Verantwortliche angemessen über die Beschaffung von Personendaten informiert. Mindestens mitzuteilen sind Identität und Kontaktdaten, der Bearbeitungszweck und gegebenenfalls die Empfänger. Werden Daten ins Ausland bekanntgegeben, nennt er auch den Staat und gegebenenfalls die Garantien nach Art. 16 Abs. 2.

Das Gesetz schreibt keine Sprache vor. “Angemessen” heisst nach meiner Lesart, dass die Kundschaft die Information versteht, also in der Sprache, in der sie bestellt. Das ist eine Empfehlung, keine Rechtsauskunft, und die Antwort gibt Ihre Rechtsberatung. Für den Shop folgt daraus technisch:

  1. Datenschutzerklärung und Richtlinien liegen in beiden Sprachen vor. Shopify übersetzt Rechtstexte nicht automatisch.
  2. Jeder Dienst, der Kundendaten erhält (Übersetzungs-App, Zahlungsanbieter, Versanddienstleister), steht in der Erklärung. Das ist bei Übersetzungs-Apps von Drittanbietern leicht zu vergessen.
  3. Die Aufsicht ist der Eidgenössische Datenschutz- und Öffentlichkeitsbeauftragte (EDÖB), der seinen Sitz in Bern hat.

Ich erstelle keine Rechtstexte. Ich liefere Ihnen die Liste der eingebundenen Dienste, damit Ihre Rechtsberatung die Erklärung dagegen prüfen kann.

#Checkliste: zweisprachiger Shopify-Shop vor dem Start

BereichPrüfung
SprachenStandardsprache festgelegt, Französisch hinzugefügt und der Domain zugeordnet
ThemeUmschalter vorhanden, interne Links über routes, beide Ansichten getestet
ÜbersetzungStatus “unübersetzt” und “veraltet” in Translate & Adapt leer
MetafieldsÖffentlich zugänglich, im CSV-Export mit Option Metafields enthalten
HandlesFranzösische Handles gesetzt, Liste alter Handles vorhanden
hreflangNur eine Quelle, Quelltext von Start, Produkt und Kollektion geprüft
SitemapBeide Sprachen in der Sitemap enthalten
RechtstexteDatenschutzerklärung und Richtlinien in beiden Sprachen, Dienste aufgelistet

#Wie läuft ein Shopify-Projekt mit mir ab?

Ich arbeite allein, remote und ausschliesslich schriftlich. Besprochen wird per Mail, nicht am Telefon, und ich komme nicht nach Bern.

  1. Sie schicken die Adresse des Shops oder Ihr Ziel, die Sprachen und einen Zugang als Collaborator.
  2. Meine Rückfragen kommen per Mail, danach folgt ein schriftlicher Umfang mit Annahmen.
  3. Ich baue in einer Entwicklungsumgebung und zeige beide Sprachen per Link.
  4. Nach Ihrer Abnahme gehe ich live und halte Spracheinstellungen und Handles in einer Übergabenotiz fest.
  5. Auf Wunsch folgt die Wartung, siehe Wartung und Support in Bern.

Texte, Übersetzungen, Grafik und Layout liefern Sie. Als Messlatte für die Ladezeit gelten die offiziellen Schwellen von web.dev: LCP bis 2,5 s, INP bis 200 ms, CLS bis 0,1, jeweils in beiden Sprachen geprüft.

#Häufige Fragen

Wie viele Sprachen kann ein Shopify-Shop anbieten? Laut Shopify-Hilfe bis zu 20 auf den Plänen Basic, Grow, Shopify und Advanced und bis zu 30 auf Shopify Plus. Für Deutsch und Französisch reicht jeder Plan. Wichtiger ist ein Theme, das mehrsprachig tauglich ist und einen Sprachumschalter hat.

Übersetzt Shopify meinen Shop automatisch ins Französische? Nicht von selbst. Translate & Adapt kann Inhalte mit KI-Übersetzung von Shopify übersetzen, oder Sie tragen sie manuell ein. Die Hilfe rät, automatische Übersetzungen vor der Veröffentlichung zu prüfen. Rechtstexte lassen sich nicht automatisch übersetzen.

Lassen sich Metafields und Metaobjects übersetzen? Ja, mit Einschränkungen. Laut shopify.dev lassen sich Metafields nur übersetzen, wenn sie öffentlich zugänglich sind. Bei Metaobjects bestimmt der Typ, welche Felder übersetzbar sind. In der Suche von Translate & Adapt erscheinen Metafields nicht, der CSV-Export hat dafür die Option Metafields.

Bekommt die französische Version eigene URLs? Ja. Jede veröffentlichte Sprache erhält eigene URLs, zum Beispiel mit Unterordner wie /fr. Den Handle eines Produkts können Sie je Sprache übersetzen, dabei bleibt das Wort products im Pfad bestehen.

Muss ich hreflang-Tags selbst einbauen? Nein. Shopify ergänzt sie für sprachspezifische URLs automatisch. Eigene Tags zusätzlich einzubauen kann laut shopify.dev zu doppelten oder widersprüchlichen Angaben führen. Wer eine App mit eigenen Tags nutzt, schaltet die automatischen ab.

Muss die Datenschutzerklärung auch auf Französisch vorliegen? Das revDSG nennt keine Sprache, es verlangt in Art. 19 eine angemessene Information. Ich empfehle die Erklärung in jeder Sprache, in der der Shop Bestellungen annimmt. Shopify übersetzt Rechtstexte nicht automatisch, die Übersetzung sollte eine fachkundige Person prüfen.

#Schreiben Sie mir zu Ihrem Shop

Schicken Sie mir über die Kontaktseite die Adresse Ihres Shops, die Sprachen, in denen Sie verkaufen oder verkaufen wollen, den Stand von Theme und Apps und einen Wunschtermin. Ich melde mich schriftlich an Werktagen, zuerst mit Rückfragen zu Sprachen und Katalog. Eine erste Einschätzung auf Papier kostet Sie nichts.

Siehe auch in Schweiz

Brauchen Sie die Leistung: Shopify-Entwickler in Bern?

Beschreiben Sie Ihr Projekt per E-Mail. Antwort innerhalb von 48 Stunden.

Projekt beschreiben

Weitere WordPress-Dienste und Wissensbasis entdecken