Skip to content

Commit

Permalink
Re-add Crowdin action (#52)
Browse files Browse the repository at this point in the history
Co-authored-by: Actionsbot <[email protected]>
Co-authored-by: Crowdin Bot (Actions) <[email protected]>
  • Loading branch information
3 people authored Aug 29, 2024
1 parent cda78bc commit 442eb82
Show file tree
Hide file tree
Showing 21 changed files with 1,887 additions and 409 deletions.
71 changes: 71 additions & 0 deletions .github/workflows/translations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Update Crowdin strings bi-directionally

run-name: Update from Crowdin

on:
schedule:
- cron: "30 */3 * * *"
push:
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
crowdin-translations-progress:
name: Crowdin translations progress updater
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Generate Crowdin translations progress markdown
uses: benjaminjonard/[email protected]
with:
languages_per_row: 10
minimum_completion_percent: 80
file: README.md # Maybe change later?
env:
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

- name: Push changes
uses: actions-go/push@v1
with:
author-name: Actionsbot
author-email: [email protected]
commit-message: "Update Crowdin translation progress badge"
remote: origin

update-from-crowdin:
name: Update strings from Crowdin
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Grab strings from Crowdin
uses: crowdin/[email protected]
with: # This part can be a little fragile, be careful!
upload_sources: true
upload_translations: false
upload_language: en
download_sources: false
download_translations: true
skip_untranslated_strings: false
source: i18n/lang/en-US.json
translation: i18n/lang/%locale%.json
export_only_approved: false
localization_branch_name: i18n-crowdin-translations
create_pull_request: true
pull_request_title: (Crowdin Action) New translation strings
pull_request_body: New translated strings are now available!
pull_request_labels: crowdin
pull_request_base_branch_name: "main"
github_user_name: Crowdin Bot (Actions)
github_user_email: [email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ logs
.env
.env.*
!.env.example

# Default Crowdin config file
crowdin.yml
5 changes: 4 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
package.json
pnpm-lock.yaml
.vscode/issue-query.github-issues
/i18n/**
README.md
crowdin.yml
/i18n/**
.github/labels.yml
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,10 @@ Review our contributing guidelines at [CONTRIBUTING.md](./CONTRIBUTING.md)
Original text is licensed under the CC-BY-SA 4.0 license. You may find it on our repository [here](TEXT_LICENSE).

Website code is licensed under the GPL v3 license. You may find it on our repository [here](LICENSE).

## Translation progress

Only useful to maintainers and translators.
<!-- CROWDIN-TRANSLATIONS-PROGRESS-ACTION-START -->

<!-- CROWDIN-TRANSLATIONS-PROGRESS-ACTION-END -->
163 changes: 163 additions & 0 deletions i18n/lang/ar-SA.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
{
"layout": {
"nav": {
"alternatives": ""
},
"footer": {
"disclaimer": "",
"open_source": "",
"about": "",
"credit_creator": "",
"credit_designed": "",
"interact": "",
"resources": "",
"contributing": "",
"experiments": ""
}
},
"landing": {
"hero": "",
"reason": "",
"buttons": {
"alternatives": ""
}
},
"experiments": {
"hero": "",
"subtitle": ""
},
"contributing": {
"hero": "",
"subhero": "",
"welcome": "",
"end": "",
"titles": {
"translating": "",
"coding": "",
"alternatives": ""
},
"subtitles": {
"translating": "",
"coding": "",
"alternatives": ""
},
"guidelines": {
"translating": [
"",
"",
"",
""
],
"coding": [
"",
"",
"",
""
],
"alternatives": [
"",
"",
"",
"",
""
]
}
},
"alternatives": {
"hero": "",
"reason": "",
"nudge_for_contributing": "",
"texts": {
"modpacks": {
"section_name": "",
"vital": [
"",
"",
""
]
},
"multiplayer": {
"section_name": "",
"world_host": [
"",
"",
"",
""
],
"e4mc": [
"",
"",
""
]
},
"cosmetics": {
"section_name": "",
"cosmetica": [
"",
"",
""
],
"ears": [
"",
""
],
"capes": [
"",
""
],
"customizable_player_models": [
"",
"",
"",
""
],
"figura": [
"",
"",
""
],
"skin_shuffle": [
"",
"",
""
],
"emotecraft": [
"",
""
]
},
"misc": {
"section_name": "",
"screencapper": [
"",
""
],
"screenshot_viewer": [
"",
""
],
"snapper": [
"",
""
],
"auth_me": [
"",
""
],
"in_game_account_switcher": [
"",
"",
""
],
"craftpresence": [
"",
""
],
"zume": [
"",
""
]
}
}
}
}
70 changes: 40 additions & 30 deletions i18n/lang/de-DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
"alternatives": "ALTERNATIVEN"
},
"footer": {
"disclaimer": "KEIN OFFIZIELLES MINECRAFT PRODUKT. NICHT UNTERSTÜTZT VON ODER ASSOZIIERT MIT MOJANG, MICROSOFT ODER SPARK UNIVERSE.",
"open_source": "Diese Seite ist quelloffen.",
"disclaimer": "",
"open_source": "",
"about": "Über",
"credit_creator": "Ursprünglich erstellt von",
"credit_designed": "Entworfen von",
"interact": "Mitmachen",
"resources": "Ressourcen",
"contributing": "Mitmachen"
"resources": "",
"contributing": "",
"experiments": ""
}
},
"landing": {
Expand All @@ -21,46 +22,51 @@
"alternatives": "ALTERNATIVEN"
}
},
"experiments": {
"hero": "",
"subtitle": ""
},
"contributing": {
"hero": "MITMACHEN",
"subhero": "Bei der NotEssential website",
"welcome": "Möchtest du bei NotEssential mithelfen? Hier hat es einige Richtlinien.",
"end": "Solltest du weitere fragen haben, tritt unserem Discord bei und stelle sie da.",
"hero": "",
"subhero": "",
"welcome": "",
"end": "",
"titles": {
"translating": "Übersetzen",
"coding": "Entwickeln",
"alternatives": "Alternativen einreichen"
"translating": "",
"coding": "",
"alternatives": ""
},
"subtitles": {
"translating": "Um NotEssential zu übersetzten, besuche bitte unsere Crowdin Seite. Sollte deine Sprache nicht aufgelistet sein, tritt unserem Discord Server bei und bitte im #ne-general Chat darum, sie hinzuzufügen.",
"coding": "Um bei der Entwicklung von NotEssential zu helfen, forke diese Repository und erstelle einen neuen Branch um zu starten. Danach checkout deinen Branch lokal und fang an zu programmieren.",
"alternatives": "Ähnlich wie oben, forke das Repository und erstelle einen neuen Branch basierend auf 'main'. Danach checkout deinen Branch lokal und fang an zu programmieren."
"translating": "",
"coding": "",
"alternatives": ""
},
"guidelines": {
"translating": [
"Sofern es keine offiziellen Namen in deiner Sprache hat, übersetze NICHT die Namen eines Mods in deine Sprache.",
"Übersetze ebenfalls NICHT 'Essential' (Die Mod), 'Spark Universe', 'Mojang' oder 'Microsoft' sofern es keinen offiziellen namen in deiner Sprache hat.",
"Sollte es ein Problem geben, erstelle bitte einenen Kommentar im Seitenfenster und klicke die 'Issues' Box an. Danach wähle die passende markierung aus.",
"Wenn ein Bereich KOMPLETT IN CAPS ist, schreibe es ebenfalls KOMPLETT IN CAPS, sofern du dies in deiner Sprache tun kannst."
"",
"",
"",
""
],
"coding": [
"Stell sicher, dass du dir die Pull requests seite für deine Idee angesehen hast, und ob diese bereits gelistet ist. Sollte dies nicht der fall sein, öffne einen Pull request für den Hauptbranch/die Hauptrepository.",
"Mach hilfreiche Commitnachrichten, so das wir verstehen, was du geändert hast.",
"Installiere Prettier. Du kannst es mit 'pnpm add prettier' oder als eine VS Code Erweiterung (Dies sollte dir automatisch empfohlen werden!) tun. Sofern du die Erweiterung verwendest, stelle siche 'Format on Save' ist in den VS Code Einstellungen aktiviert.",
"Stell sicher, dass du eines unserer Pull request Vorlagen verwendest, wenn du einen Pull request erstellst."
"",
"",
"",
""
],
"alternatives": [
"Stell sicher, das dein Projekt eine Funktion von Essential ersetzt.",
"Bitte erkläre detailiert, warum dein Projekt zur seite hinzugefügt werden soll.",
"Du kannst auch eine kleine Beschreibung deines Projektes geben, dies ist aber Optional.",
"Dies sollte offensichtlich sein, aber bitte reiche keine Trojaner oder andere Formen von Schadsoftware ein.",
"Bitte verwende diese Seite nicht einfach als eine Form von 'Gratiswerbung' für dein Projekt."
"",
"",
"",
"",
""
]
}
},
"alternatives": {
"hero": "ALTERNATIVEN",
"reason": "Essential hat viele Probleme. Diese Seite bietet Alternativen.",
"nudge_for_contributing": "",
"texts": {
"modpacks": {
"section_name": "Modpakete",
Expand Down Expand Up @@ -111,17 +117,17 @@
"Bonus: Es hat auch eine Art von integriertem Anti-Cheat für dinge wie unsichtbare Spielermodelle!"
],
"skin_shuffle": [
"Essential's Skinwechsler im Spiel kann bequem sein, wenn du deinen Skin ändern möchtest, ohne Minecraft neustarten zu müssen. Diese Mod kann dies für dich tun!",
"",
"Skin Shuffle ist eine Mod, welche deinen Skin ändern, speichern und bearbeiten kann, und das alles im Spiel, ohne das ein neustart erforderlich ist. Diese werden als sogenannte \"Skin Presets\" gespeichert, welche von URLs, Dateien, Benutzernamen/UUIDs, Texturen im Spiel und sogar deinem aktuellen Skin erstellt werden!",
"Sollte der Server Skin Shuffle installiert haben, kannst du deinen Skin ändern und es wird allen Spielern auf dem Server gezeigt, sogar denen, welche die Mod nicht installiert haben, und das alles ohne einen Disconnect vom Server!"
],
"emotecraft": [
"Für Emotes solltest du Emotecraft verwenden. Es ist ein kostenloses, quelloffenes Emote Dienst, mit support für benutzerdefinierte Emotes.",
"Du kannst viele Emotes herunterladen, oder einfach deine eigenen erstellen! Der Discord Server hat eine menge Emotes welche du runterladen kannst. Es ist jedoch ein wenig veraltet."
""
]
},
"misc": {
"section_name": "Verschiedenes",
"section_name": "",
"screencapper": [
"Essential hat eine Screenshot-Vorschau Funktion, diese Mod implementiert so ziemlich ein Äquivalent.",
"Eine hochentwickelte Screenshot-Verbesserungs-Mod."
Expand All @@ -130,6 +136,10 @@
"Essential hat eine Screenshot-Viewer Funktion, und du kannst etwas ähnliches in diese Mod erhalten.",
"Screenshot Viewer ist eine Mod, welche es dir erlaubt, die Screenshots, welche du gemacht hast, anzusehen, während du Spielst! (Inklusive derer, welche du ausversehen geschossen hast, als du F3 drücken wolltest)."
],
"snapper": [
"",
""
],
"auth_me": [
"Essential hat ein integriertes Konto-Switcher System. Du kannst diese Mod verwenden, um einen wichtigen Aspekt davon zu verwenden.",
"Auth Me ist in der lage, dich zu Re-Authentifizieren, sollte deine Sitzung ablaufen, welches den berüchtigten \"Ungültige Sitzung\" Fehler behebt."
Expand Down
Loading

0 comments on commit 442eb82

Please sign in to comment.