{"id":20420364,"url":"https://github.com/wkaisertexas/tranzlate","last_synced_at":"2025-04-12T18:09:02.016Z","repository":{"id":216240252,"uuid":"739121085","full_name":"wkaisertexas/tranzlate","owner":"wkaisertexas","description":"Automatic string catalog translation w/ OpenAI's Chat Completion APIs","archived":false,"fork":false,"pushed_at":"2025-02-20T20:37:58.000Z","size":495,"stargazers_count":9,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T18:08:53.169Z","etag":null,"topics":["chatgpt","internationalization","localization","translation"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/tranzlate.js","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wkaisertexas.png","metadata":{"files":{"readme":"README.de.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-04T20:25:20.000Z","updated_at":"2025-02-20T20:38:02.000Z","dependencies_parsed_at":"2025-02-20T21:26:47.802Z","dependency_job_id":"a2072eb0-c418-4de0-a8e5-1992996676f6","html_url":"https://github.com/wkaisertexas/tranzlate","commit_stats":{"total_commits":67,"total_committers":1,"mean_commits":67.0,"dds":0.0,"last_synced_commit":"a5bbce6a353c06277cfbc0c865c127a1cb9f8bf0"},"previous_names":["wkaisertexas/tranzlate"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkaisertexas%2Ftranzlate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkaisertexas%2Ftranzlate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkaisertexas%2Ftranzlate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wkaisertexas%2Ftranzlate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wkaisertexas","download_url":"https://codeload.github.com/wkaisertexas/tranzlate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248610338,"owners_count":21132921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","internationalization","localization","translation"],"created_at":"2024-11-15T06:42:34.464Z","updated_at":"2025-04-12T18:09:02.010Z","avatar_url":"https://github.com/wkaisertexas.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n   \u003cimg src=\"https://github.com/wkaisertexas/tranzlate/assets/27795014/2d8ab420-12de-422b-bfd2-b6a27bc936f7\" alt=\"tranzlate logo\"/\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n   Ein Kommandozeilen-Tool zur automatischen Übersetzung von \u003ccode\u003e.xcstring\u003c/code\u003e Katalogen mit Hilfe von OpenAI.\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/wkaisertexas/tranzlate\"\u003e\u003cstrong\u003eEnglish\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/wkaisertexas/tranzlate/blob/main/README.zh-Hans.md\"\u003e\u003cstrong\u003eChinesisch (Vereinfacht)\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/wkaisertexas/tranzlate/blob/main/README.fr.md\"\u003e\u003cstrong\u003eFranzösisch\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/wkaisertexas/tranzlate/blob/main/README.es.md\"\u003e\u003cstrong\u003eSpanisch\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/wkaisertexas/tranzlate/blob/main/README.de.md\"\u003e\u003cstrong\u003eDeutsch\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#setup\"\u003e\u003cstrong\u003eEinrichtung\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#usage\"\u003e\u003cstrong\u003eVerwendung\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#configuration\"\u003e\u003cstrong\u003eKonfiguration\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#markdown\"\u003e\u003cstrong\u003eMarkdown\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#common-issues\"\u003e\u003cstrong\u003eHäufige Probleme\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#motivation\"\u003e\u003cstrong\u003eMotivation\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#contributing\"\u003e\u003cstrong\u003eMitwirken\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#contributors\"\u003e\u003cstrong\u003eMitwirkende\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nhttps://github.com/wkaisertexas/tranzlate/assets/27795014/6702dc3c-7f4b-4619-b792-e47949c5b373\n\n\u003cbr\u003e\n\n# Tranzlate CLI Interface\n\n\u003ch2 id=\"setup\"\u003eEinrichtung\u003c/h2\u003e\n\n\u003e Die minimal unterstützte Version von Node.js ist v14\n\n1. Installiere _tranzlate_ global:\n\n   ```sh\n   npm install -g tranzlate.js\n   ```\n\n2. Erhalte deinen API-Schlüssel von [OpenAI](https://platform.openai.com/account/api-keys)\n\n   \u003e Hinweis: Wenn du noch keinen Account hast, musst du einen erstellen und die Abrechnung einrichten.\n\n3. Setze den Schlüssel, damit tranzlate ihn nutzen kann. Du kannst dies tun, indem du folgenden Befehl ausführst:\n\n   ```sh\n   echo export OPENAI_API_KEY=\u003cyour token\u003e \u003e\u003e ~/.bashrc\n   ```\n\n   oder alternativ den Schlüssel beim Ausführen des Befehls angeben\n\n\u003ch2 id=\"usage\"\u003eVerwendung\u003c/h2\u003e\n\n```bash\ntranzlate\n```\n\nDann erhältst du eine Ausgabe wie diese, die dich durch den Prozess der Übersetzung eines String-Katalogs führt:\n\n```bash\n┌   tranzlate: automatische String-Übersetzung\n│\n◇  Eingabedatei angeben\n│  Localizable.xcstrings\n│\n◇  Ausgabedatei angeben\n│  Localizable.xcstrings\n│\n◆  Zu übersetzende Sprachen auswählen.\n│  ◻ Arabisch\n│  ◻ Katalanisch\n│  ◻ Chinesisch (Vereinfacht)\n│  ◻ Chinesisch (Traditionell)\n│  ◻ Kroatisch\n│  ◼ Tschechisch\n│  ◼ Dänisch\n│  ◻ Niederländisch\n│  ◻ Englisch\n│  ◻ Englisch (Australien)\n│  ◻ Englisch (Kanada)\n│  ◻ Englisch (Vereinigtes Königreich)\n│  ◻ Englisch (USA)\n│  ◻ Finnisch\n│  ◻ Französisch\n│  ◻ Französisch (Kanada)\n│  ◻ Deutsch\n│  ◻ Griechisch\n│  ◻ Hebräisch\n│  ◻ Hindi\n│  ◻ Ungarisch\n│  ◼ Indonesisch\n│  ◻ Italienisch\n│  ◻ Japanisch\n│  ◻ Koreanisch\n│  ◻ Malaiisch\n│  ◻ Norwegisch\n│  ◻ Polnisch\n│  ◼ Portugiesisch (Brasilien)\n│  ◻ Portugiesisch (Portugal)\n│  ◻ Rumänisch\n│  ◻ Russisch\n│  ◻ Slowakisch\n│  ◻ Spanisch (Mexiko)\n│  ◼ Spanisch (Spanien)\n│  ◻ Schwedisch\n│  ◻ Thai\n│  ◻ Türkisch\n│  ◼ Ukrainisch\n└  ◻ Vietnamesisch\n```\n\n\u003ch2 id=\"configuration\"\u003eKonfiguration\u003c/h2\u003e\n\nhttps://github.com/wkaisertexas/tranzlate/assets/27795014/5ae6ca30-d030-4ec8-8c59-e2d1593084dc\n\nDa es ironisch wäre, nur eine Sprache zu unterstützen, bieten wir die Möglichkeit, deine Konfigurationssprache zu ändern. Du kannst deine Sprache einstellen, indem du den folgenden Befehl ausführst:\n\n```bash\ntranzlate set-language \u003clanguage\u003e\n```\n\nWobei `\u003clanguage\u003e` eines der Folgenden ist:\n\n\u003ctable align=\"center\"\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eSprache\u003c/th\u003e\n      \u003cth\u003eSchlüssel\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\u003ctd\u003eEnglisch\u003c/td\u003e\u003ctd\u003een\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eVereinfachtes Chinesisch\u003c/td\u003e\u003ctd\u003ezh-Hans\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eTraditionelles Chinesisch\u003c/td\u003e\u003ctd\u003ezh-Hant\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eSpanisch\u003c/td\u003e\u003ctd\u003ees\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eJapanisch\u003c/td\u003e\u003ctd\u003eja\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eKoreanisch\u003c/td\u003e\u003ctd\u003eko\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eFranzösisch\u003c/td\u003e\u003ctd\u003efr\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eDeutsch\u003c/td\u003e\u003ctd\u003ede\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eRussisch\u003c/td\u003e\u003ctd\u003eru\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eUkrainisch\u003c/td\u003e\u003ctd\u003euk\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eVietnamesisch\u003c/td\u003e\u003ctd\u003evi\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eArabisch\u003c/td\u003e\u003ctd\u003ear\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003ePortugiesisch\u003c/td\u003e\u003ctd\u003ept-BR\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003eTürkisch\u003c/td\u003e\u003ctd\u003etr\u003c/td\u003e\u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nZum Beispiel, wenn du zu Vereinfachtem Chinesisch wechseln möchtest, kannst du den LANGUAGE-Wert auf zh-Hans setzen:\n\n```sh\ntranzlate set-language zh-Hans\n```\n\nDies setzt deine Sprache auf Vereinfachtes Chinesisch.\n\n\u003ch2 id=\"markdown\"\u003eMarkdown\u003c/h2\u003e\n\nUnterstützung für Markdown-Übersetzungen ist gegeben. Um den Markdown-Modus zu aktivieren, führe aus:\n\n```sh\ntranzlate markdown\n```\n\nDu wirst nach einer Markdown-Datei oder einem Glob zur Übersetzung gefragt. Übersetzte Ausgaben hängen den ISO-Sprachcode an das Ende jedes Dateinamens an. **Beispielsweise**, wenn du `README.md` ins Vereinfachte Chinesisch (zh-Hans) übersetzt, wird die Ausgabedatei `README.zh-Hans.md` sein.\n\n```console\n┌   tranzlate: automatische Markdown-Übersetzung\n│\n◇  Gib eine Markdown-Datei oder einen Glob an\n│  ./README.md\n│\n◇  Wähle Sprachen zur Übersetzung aus\n│  fi - Finnisch, hu - Ungarisch, pl - Polnisch, ru - Russisch\n│\n◇  Wähle ein Modell\n│  gpt-3.5-turbo\n◆  Übersetze README.md...\n```\n\n\u003e [!HINWEIS]\n\u003e Die Markdown-Übersetzung befindet sich in der Beta-Phase. Bitte melde etwaige Probleme, auf die du stößt.\n\n\u003ch2 id=\"common-issues\"\u003eHäufige Probleme\u003c/h2\u003e\n\n### 429 Fehler\n\nEinige Nutzer berichten von einem 429-Fehler von OpenAI. Dies liegt an einer falschen Abrechnungseinstellung oder übermäßigem Kontingentverbrauch. Befolge bitte [diese Anleitung](https://help.openai.com/en/articles/6891831-error-code-429-you-exceeded-your-current-quota-please-check-your-plan-and-billing-details), um dies zu beheben.\n\nDu kannst die Abrechnung unter [diesem Link](https://platform.openai.com/account/billing/overview) aktivieren. Stelle sicher, dass du eine Zahlungsmethode hinzufügst, wenn du kein aktives Stipendium von OpenAI hast.\n\n\u003ch2 id=\"motivation\"\u003eMotivation\u003c/h2\u003e\n\nIch bin kein Sprachexperte. Meine Übersetzungskenntnisse beschränken sich auf das Mittelstufenniveau in Spanisch. Doch ich glaube an Software und ihre Bedeutung. Für wen Software entwickelt wird, ist wichtig. Lokalisierung sollte nie als nachträgliche Überlegung betrachtet werden. Durch die Nutzung von KI-Übersetzungstools können Gespräche über den Einfluss von Software auf verschiedene Gemeinschaften früher in der Produktentwicklung geführt werden, nicht später.\n\nGespräche über den Einfluss von Software zu beschleunigen, führt zu bedeutenden Veränderungen, bevor der Funktionsumfang festgelegt ist. Deshalb glaube ich an die Kraft von, oft unvollkommenen, KI-Übersetzungstools. Lass das Perfekte nicht der Feind des Guten sein.\n\nEinfache Übersetzung von String-Katalogen und hoffentlich vielen weiteren Dateiformaten ist der Grund, warum ich _tranzlate_ erstellt habe.\n\n\u003ch2 id=\"contributing\"\u003eMitwirken\u003c/h2\u003e\n\nWenn du helfen möchtest, einen Fehler zu beheben oder ein Feature in [Issues](https://github.com/wkaisertexas/tranzlate) zu implementieren, dann tu das bitte. Die Swift-Entwicklung ist für mich relativ neu, daher würde ich Rückmeldungen aus der Community schätzen.\n\n\u003ca href=\"https://github.com/wkaisertexas/tranzlate/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=wkaisertexas/tranzlate\" /\u003e\n\u003c/a\u003e\n\n\u003ch2 id=\"contributors\"\u003eMitwirkende\u003c/h2\u003e\n\n![Alt](https://repobeats.axiom.co/api/embed/74c05a15a0f3020ab2d6113b7bd0667dbe4d1ad4.svg \"Repobeats analytics image\")\n\n\u003e Danke an die [ai-shell](https://github.com/BuilderIO/ai-shell) für ihr README, welches ich als Vorlage verwendet habe.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwkaisertexas%2Ftranzlate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwkaisertexas%2Ftranzlate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwkaisertexas%2Ftranzlate/lists"}