Commit df40bd10 authored by Alexander's avatar Alexander Committed by Eugen Rochko

first version. WIP, not complete. (#36)

* first version. WIP, not complete.

* more translations. WIP

* translate another two text

* improvements

* add lang config and improvements.

* improvments

* Fixed a typo.

* Replaced hyphen with dash

* Some changes

* grammatical improvments
parent 45bc4144
......@@ -26,7 +26,7 @@
"babel-plugin-react-intl": "^2.3.1",
"babel-preset-react-app": "^3.0.2",
"node-sass": "^4.5.2",
"npm-run-all": "^4.0.2",
"npm-run-all": "^4.1.1",
"react-intl-translations-manager": "^5.0.0",
"react-scripts": "0.9.5"
},
......
......@@ -14,9 +14,10 @@ import en from 'react-intl/locale-data/en';
import fr from 'react-intl/locale-data/fr';
import pl from 'react-intl/locale-data/pl';
import es from 'react-intl/locale-data/es';
import de from 'react-intl/locale-data/de';
import ja from 'react-intl/locale-data/ja';
addLocaleData([...en, ...pl, ...fr, ...es, ...ja]);
addLocaleData([...en, ...pl, ...fr, ...es, ...ja, ...de]);
const messages = require.context('./locales/', false, /\.json$/);
......
......@@ -6,9 +6,12 @@ import flagFr from 'twemoji/2/svg/1f1eb-1f1f7.svg';
import flagPl from 'twemoji/2/svg/1f1f5-1f1f1.svg';
import flagEs from 'twemoji/2/svg/1f1ea-1f1f8.svg';
import flagJa from 'twemoji/2/svg/1f1ef-1f1f5.svg';
import flagDe from 'twemoji/2/svg/1f1e9-1f1ea.svg';
const options = [
{ value: 'en', label: <span><img src={flagEn} className='emoji' alt='' /> English</span> },
{ value: 'de', label: <span><img src={flagDe} className='emoji' alt='' /> Deutsch</span> },
{ value: 'fr', label: <span><img src={flagFr} className='emoji' alt='' /> Français</span> },
{ value: 'es', label: <span><img src={flagEs} className='emoji' alt='' /> Español</span> },
{ value: 'pl', label: <span><img src={flagPl} className='emoji' alt='' /> Polski</span> },
......
{
"credits.branding": "Branding",
"credits.branding_text": "Lade Logos, Icons und Elefanten herunter",
"credits.color_scheme": "Mastodon-Farbschema",
"credits.get_press_kit": "Pressemappe anfordern",
"credits.sponsors": "Sponsoren",
"credits.support_on_patreon": "Auf Patreon unterstützen",
"credits.support_text": "Mastodon ist eine freie und quelloffene Software. Es gibt weder Werbung, Monetarisierung noch Risikokapital. Deine Spenden unterstützen direkt den Betrieb und die Weiterentwicklung dieses Projektes.",
"credits.view_sponsors": "Aktuelle Sponsoren",
"features.additional": "Zusätzliche Funktionen",
"features.anti_abuse": "Robuste Werkzeuge um Missbrauch zu vermeiden",
"features.deploy_own": "Einfaches aufsetzen einer eigenen Instanz",
"features.find_your_community": "Finde deine perfekte Gemeinschaft",
"features.find_your_community_text": "Mastodon ist kein einzelner Ort mit festen Regeln: Es sind <strong>tausende eigenständige und unter einander verbundene Gemeinschaften</strong>, aus denen du wählen kannst. Gefüllt mit verschiedenen Menschen, Interessen, Sprachen und Bedürfnissen. Dir gefallen die Regeln nicht? Du kannst frei wählen, welcher Instanz du beitreten möchtest oder noch besser: Du kannst deine eigene Instanz mit deinen eigenen Regeln betreiben!",
"features.huge_audience": "Ein riesiges Publikum",
"features.media_embedding": "Eingebettete Medien in Beiträgen",
"features.open_standards": "Entwickelt mit offenen Webstandards",
"features.post_filtering": "Flexibles Beitragfiltern",
"features.relevancy": "Du entscheidest, was relevant ist",
"features.safety": "Fühle dich sicher in deiner Gemeinschaft",
"features.safety_text": "Mastodon verfügt über <strong>effektive Werkzeuge</strong>, um Dich vor Online-Missbrauch und Beschimpfungen zu schützen. Dadurch, dass es kleine unabhängige Gemeinschaften sind gibt es <strong>mehr Moderatoren</strong> die dir bei deiner Situation helfen können. Das bedeutet auch, dass du auswählen kannst, wer deine Beiträge sieht: Freunde, deine Gemeinschaft oder das ganze Fediverse.",
"features.spoiler_warnings": "Spoiler-Warnungen",
"features.take_control": "Habe die Kontrolle über deinen Inhalt",
"features.take_control_text": "Mit mächtigen Werkzeugen mit denen <strong>du kontrollieren kannst wer deinen Beitrag sieht</strong> und einer <strong>500-Zeichen Begrenzung</strong> kannst du deine Ideen ungekürzt teilen. Und das beste? <strong>Alle deine Beiträge sind in chronologischer Reihenfolge</strong> und nicht dafür „optimiert“ Werbung in deiner Zeitleiste anzuzeigen. Mit Anwendungen for iOS, Android und jeder anderen erdenklichen Plattform ist <strong>Mastodon immer an deinen Fingerspitzen parat</strong>.",
"features.toots": "Sie werden Tröts genannt",
"features.user_first": "Den Benutzer an erster Stelle",
"features.user_first_text": "Du bist eine Person, kein Produkt. Mastodon ist eine freie, Open-Source-Entwicklung, die durch die Gemeinde unterstützt wurde, nicht finanziert. Alle Instanzen werden <strong> unabhängigen von ihren Besitzern betrieben und moderiert</strong>. Es gibt kein Monopol durch ein einzelnes Unternehmen, keine Werbung und keine Aktivitätsverfolgung. <strong>Mastodon arbeitet für dich</strong> und nicht umgekehrt.",
"home.as_seen_on": "Bekannt von",
"home.get_started": "Jetzt loslegen",
"home.headline": "Soziales Netzwerken <strong>wieder in deinen Händen</strong>",
"home.how_it_works": "Wie es funktioniert",
"home.install_your_own": "Installiere deine eigene Instanz",
"home.install_your_own_text": "Wenn du Interesse hast deine eigene Instanz zu hosten - für deine Freunde, Familie oder Verein – kannst du damit anfangen die Installationsdokumentation zu lesen. Du hostest nur deine eigenen Nutzer und die Inhalte, die sie abonnieren.",
"home.read_the_docs": "Lies die Doku",
"home.tagline": "Das weltgrößte freie, quelloffene und dezentralisierte Mikroblogging-Netzwerk.",
"how_it_works.how_it_works": "Wie es funktioniert",
"how_it_works.how_it_works_text1": "Jeder kann selber einen Server mit Mastodon betreiben. Dieser beherbergt seine eigenen Benutzer, deren Inhalte und die Inhalte, denen die Benutzer folgen.",
"how_it_works.how_it_works_text2": "Jeder Benutzeraccount hat einen global eindeutigen Namen (z.B. @benutzer@beispiel.tld), bestehend aus dem lokalen Benutzernamen (@benutzer) und dem Domainnamen der Instanz auf dem er ist (beispiel.tld).",
"how_it_works.how_it_works_text3": "Benutzer können anderen folgen, unabhängig davon wo sie gehostet sind. Wenn ein lokaler Benutzer einem Benutzer von einem anderen Server folgt, dann abonniert der Server die zukünftigen Nutzer-Updates das erste mal.",
"how_it_works.why_its_cool": "Warum ist das gut?",
"how_it_works.why_its_cool_text": "Server laufen unabhängig von verschiedenen Leuten und Organisationen. Sie können mit verschienden Richtlinien laufen, so dass du einen finden oder selber hosten kannst der deinem Geschmack entspricht. Ein dezentralisiertes Netzwerk ist schwerer durch Regierungen zu zensieren. Wenn ein Server bankrott geht oder unethisch handelt, bleibt das Netzwerk bestehen, so dass Sie sich niemals darum kümmern müssen, Ihre Freunde und Anhänger wieder auf eine neue Plattform zu migrieren.",
"nav.code": "Quellcode",
"nav.docs": "Dokumentation",
"nav.sponsors": "Sponsoren",
"nav.support": "Support",
"sponsorship.become_a_sponsor": "Werde ein Sponsor",
"sponsorship.every_bit_helps": "Jedes kleine bisschen hilft und wir schätzen jede Unterstützung.",
"sponsorship.silver_sponsors": "Silber-Sponsoren",
"sponsorship.silver_sponsors_text": "<strong>Silber-Sponsoren</strong> haben Mastodon mit $40 bis $99 unterstüzt.",
"sponsorship.sponsors": "Sponsoren",
"sponsorship.sponsors_of_mastodon": "Sponsoren von Mastodon",
"sponsorship.sponsors_text": "<strong>Sponsoren</strong> haben mit $10 bis $39 Mastodon unterstützt.",
"sponsorship.support_the_project": "Unterstütze das Projekt",
"sponsorship.thanks_to": "Mastodon ist eine <strong>freie und quelloffene Software</strong>. Es gibt weder Werbung, Monetarisierung noch Risikokapital. Deine Spenden unterstützen direkt den Betrieb und die Weiterentwicklung dieses Projektes. Ein Danke an folgende Menschen und Firmen für ihre Unterstützung:",
"wizard.column.population": "Bevölkerung",
"wizard.column.server": "Server",
"wizard.column.stability": "Stabilität",
"wizard.column.theme": "Theme",
"wizard.get_started": "<strong>Jetzt Starten:</strong> Wähle eine Instanz",
"wizard.help_me_choose": "Hilf mir beim Auswählen",
"wizard.search": "Nach einer Instanz suchen",
"wizard.text": "Jeder Server ist ein seperater und unabhängiger Weg in das Fediverse. Du kannst mit all deinen Freunden reden und dabei ist es egal, wo sie sich aufhalten, aber jeder Server hat seine eigenen Regeln und Interessen. Wähle also einen Server, wo du dich wohlfühlst.",
"wizard.tip": "Tipp:",
"wizard.tip_text": "Dies ist nicht nur dein Zuhause, es ist auch eine Adresse für andere, wo sie dich finden können. Ich bin <samp>@benutzername@beispiel.tld</samp>, wie bei einer E-Mail-Adresse.",
"wizard_row.population.full": "Voll",
"wizard_row.population.medium": "Mittel",
"wizard_row.population.new": "Neu",
"wizard_row.stability.awful": "Furchtbar",
"wizard_row.stability.intermittent": "Mittelmäßig",
"wizard_row.stability.stable": "Stabil"
}
[
]
\ No newline at end of file
......@@ -4,7 +4,7 @@ import {
LOCALE_CHANGE,
} from './actions';
const supportedLocales = ['en', 'fr', 'pl', 'es', 'ja'];
const supportedLocales = ['en', 'fr', 'pl', 'es', 'ja', 'de'];
const initialLocale = () => {
const lang = navigator.language.split('-')[0];
......
......@@ -3,5 +3,5 @@ const manageTranslations = require('react-intl-translations-manager').default;
manageTranslations({
messagesDirectory: 'build/messages',
translationsDirectory: 'src/locales/',
languages: ['en', 'fr', 'pl', 'es', 'ja']
languages: ['en', 'fr', 'pl', 'es', 'ja', 'de']
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment