Dies ist der erste Beitrag in unserem Blog im Jahr 2019, aber er ist für uns alle sehr wichtig. Wir starten endlich die englische Version von Habr! Bis Mitte Dezember hatten wir fast alles fertig, aber vor dem neuen Jahr zu veröffentlichen bedeutet, die Veröffentlichung am Freitagabend herauszubringen. Aus diesem Grund haben wir beschlossen, das große Segeln auf Anfang 2019 zu verschieben.

Eisberg
Die Entwicklung der englischen Version von Habr war wie ein Eisberg, dessen Spitze lautete: "
Es wäre schön, Beiträge auf Englisch veröffentlichen zu können " -
eine der vielen Feature-Anfragen ohne eine ungefähre Schätzung des Umfangs aller Arbeiten.
Fast ein Jahr lang sammelte diese Feature-Anfrage Likes, daher wurden weder mehr noch weniger gesammelt - eine, aber die Idee dazu kam uns schon lange zuvor. Die Idee schien vielversprechend, da englischsprachige Konkurrenten an den Fingern einer Hand gezählt werden können. Wir haben lange nachgedacht, uns gewundert, auf die Anfragen von Benutzern und Kunden gehört, Artikel in der Sandbox auf Englisch übersprungen, aber das letzte Rätsel bildete immer noch kein Ganzes.
Wie Sie wissen, sind etwa 90% des Eisbergs unter Wasser versteckt, und unser Eisberg hatte eine noch höhere Dichte, und infolgedessen musste fast der gesamte Habr erneuert werden. Eigentlich haben wir die Hälfte des Jahres 2018 dafür ausgegeben. Und jetzt, Anfang 2019, freuen wir uns, die Ergebnisse der Arbeit präsentieren zu können.
Was wurde getan?
Als wir
den Ausstieg von Habr außerhalb Russlands
ankündigten , hatten wir bereits einen Plan. Eine grobe Einschätzung der Arbeit und des Zeitpunkts. Aber bereits im Laufe der Arbeit haben wir festgestellt, dass die Änderungen umfangreicher sein werden.
Habr ist ziemlich groß - innen und außen. Wenn Sie in einigen Einstellungen eine neue Textzeile hinzufügen, werden diese Maßstäbe nicht bemerkt. Wenn Sie jedoch die gesamte Site übersetzen, verstehen Sie, dass dies wirklich ein Eisberg ist. Es wurde klar, dass es nicht ausreicht, nur Habr → Habr zu übersetzen, um englischsprachiges Habr zu machen.
1. ÜbersetzungsstrukturWir hatten praktisch keine Lokalisierungserfahrung, als wir Habr entwickelten, legten wir keine Mehrsprachigkeit hinein. Daher musste in der Architektur des Projekts viel geändert werden, damit die Unterstützung für die neue Sprache im Prinzip möglich war und korrekt funktionierte.
Zuerst haben wir versucht, das Problem durch den klassischen gettext schnell zu lösen, aber sehr bald wurde klar, dass seine Fähigkeiten nicht ausreichen ...
Alle Übersetzungsarbeiten haben wir in drei Funktionsblöcke unterteilt:
- Schnittstelle (Sprachdateien)
Für die vollständige Internationalisierung der Schnittstelle wurde das ICU- Format gewählt - damit wurde es möglich, Daten, Endungen usw. zu übersetzen. Jedem Übersetzungselement wurde eine eindeutige ID zugewiesen, die der Einfachheit halber nach Entitäten gruppiert wurde. Dann wurde die mehrzeilige Sprachdatei an den Übersetzer gesendet. - Vorlagen (Referenzabschnitt, Dokumente, Handbücher, Briefe)
Große "unabhängige" Texte wurden einzeln übersetzt. Aber die Übersetzung von Rechtsdokumenten (und wir hatten viele davon) ist ein separates Universum mit eigenen schwarzen Löchern, daher musste ich auf UFOs zurückgreifen.
Wir haben versucht, auch die Bilder zu übersetzen und gleichzeitig zu aktualisieren. Zum Beispiel:
- Verzeichnisse (Hubs, Badges, Streams)
Hier ist im Allgemeinen alles einfach - das klassische CRUD mit einem separaten Abschnitt im Administrationsbereich.
In Zukunft wird ein ähnlicher Ansatz es (falls erforderlich) ermöglichen, der Site weitere Sprachen hinzuzufügen. Wenn
Sie mutig, geschickt und geschickt sind und versuchen möchten, Habré in eine neue Sprache zu übersetzen, schreiben Sie uns bitte.
Ein paar Zahlen:
Benutzeroberfläche: ca. 250 KB Text, mehr als 3.000 Zeilen
Vorlagen: mehr als 800 KB Text
Buchstaben: mehr als 400 KB Text
2. Mehrsprachige EinstellungenEs lag an ihm zu entscheiden, wie das alles funktionieren würde. Wir haben nicht ernsthaft über die Möglichkeit nachgedacht, eine separate Site zu erstellen, aber während der Arbeit besuchte uns eine solche Idee gelegentlich.
Daher haben wir den Weg des Austauschs von Inhalten eingeschlagen, und es bleibt abzuwarten, wie dies zu tun ist. Aus diesem Grund haben wir uns für die flexibelste Option entschieden: Jeder Benutzer kann sowohl die Sprache der Benutzeroberfläche als auch die Sprache des Inhalts auswählen.
Zu diesem Zweck kann jeder Benutzer in den Einstellungen angeben, welche und in welcher Sprache. Sie können im Feed nur Inhalte auf Russisch belassen, Sie können nur auf Englisch, aber Sie können sofort in beiden.

Ab heute erschienen also Habré zwei Einstellungen:
- Schnittstellensprache
Die Sprache aller Elemente der Site. Bisher wird entweder Russisch oder Englisch unterstützt. Wir haben versucht, eine „intelligente“ automatische Erkennung der Sprache zu erstellen (basierend auf dem Header für die akzeptierte Sprache), aber Sie können diese Einstellung jederzeit selbst überschreiben. - Publikationssprache
Mit dieser Einstellung kann der Benutzer Veröffentlichungen in ausgewählten Sprachen in seinem Feed anzeigen. Der Inhalt von Kontextblöcken hängt davon ab ("Meist gelesen", "Jetzt lesen", "Was sie diskutieren"). Standardmäßig wird es von der Schnittstellensprache geerbt, kann aber auch jederzeit geändert werden.
Vor der Autorisierung befindet sich die Auswahl der Sprachen in der oberen rechten Ecke (Planetensymbol). Nach der Autorisierung wird das Benutzermenü aufgerufen. In der mobilen Version ist das Verhalten ähnlich - die Einstellungen befinden sich in der Fußzeile und im Benutzermenü.
Im Feed können Sie entweder eine bestimmte Sprache oder mehrere auswählen. Beim Erstellen einer Publikation können Sie jedoch nur eine Sprache auswählen.
3. SEOSie haben alles gemacht, übersetzt, angefangen zu testen. Ich mochte es, aber ich fühlte eine Art Abwesenheit-Präsenz. Und sie erinnerten sich daran, dass sie den SEO-Gott vergessen hatten.
Wenn Ihre Website in einer Sprache verfasst ist, können Sie oft nicht an Suchmaschinenoptimierung denken - alles funktioniert irgendwie von selbst. Wenn jedoch Inhalte in verschiedenen Sprachen auf der Website angezeigt werden, kann dieser Moment nicht länger ignoriert werden.
Zuvor war Habr nur in russischer Sprache und im Allgemeinen recht gut indexiert. Mit dem Aufkommen der Mehrsprachigkeit wurde es notwendig, Suchmaschinen beizubringen, sowohl die russischsprachige als auch die englischsprachige Version korrekt zu „sehen“. Dazu musste ich ein umfassendes Audit durchführen und einige Dinge auf der Website wiederholen - die Links ändern, die Sitemap ändern, die korrekte kanonische URL registrieren und so weiter.
Irgendwie so:

β-Test
Im Großen und Ganzen kündigen wir jetzt einen Beta-Test der neuen Funktionalität an. Daher sind wir für jedes Feedback und insbesondere für Ideen und Fehlerberichte dankbar. Es ist notwendig, die Innovation sorgfältig und unter verschiedenen Bedingungen zu testen: auf verschiedenen Plattformen, auf verschiedenen Betriebssystemen und Browsern, aus verschiedenen Ländern, mit / ohne VPN usw. In der Vergangenheit sind unsere Benutzer die besten Tester, und wir hoffen auf Ihre Hilfe.
Lass uns spielen!
Ab heute können Sie Ihre Veröffentlichungen vollständig auf Englisch veröffentlichen und russischsprachige Artikel übersetzen. Und lade auch Freunde ein, die in anderen Ländern leben und Englisch sprechen. Wenn jeder mindestens einen solchen Freund einlädt, werden wir sicherlich heilen, und unser mutiger Versuch, aus den Grenzen unseres regulierten Sandkastens herauszukriechen, wird nicht so verrückt aussehen. Um dies zu vereinfachen, erhalten wir heute für jeden Benutzer mit positivem Karma eine Einladung.
Vor uns liegen viele interessante Dinge - eine Strategie ausarbeiten, nach neuen Autoren und Übersetzern suchen, SMM, Analytik und vieles mehr. Wenn Sie also etwas anbieten können, schreiben Sie an
welcome@habr.com - wir freuen uns immer, neue Leute kennenzulernen.
Im Kontakt!