Command Palette

Search for a command to run...

Πακέτα γλωσσών presences

Προσθέστε προαιρετικές, τυποποιημένες μεταφράσεις για το κείμενο δραστηριότητας του Discord.

Ξεχωριστό σύστημα runtime

Τα πακέτα γλωσσών μεταφράζουν το κείμενο που στέλνεται στο Discord, όπως «Παρακολουθεί βίντεο» ή «Περιηγείται στο Figma». Είναι ξεχωριστά από τις υποστηριζόμενες γλώσσες των μεταδεδομένων και των ετικετών ρυθμίσεων.

Τα πακέτα γλωσσών είναι προαιρετικά. Μια presence χωρίς κατάλογο locales συνεχίζει να χρησιμοποιεί ενσωματωμένες συμβολοσειρές TypeScript όπως πριν.

Δομή αρχείων

Μια μεταφρασμένη presence παρέχει και τα τρία λεξικά runtime:

TEXT
locales/
├── en-US.json
├── fr-FR.json
└── es-ES.json

Κάθε αρχείο πρέπει να είναι επίπεδο αντικείμενο JSON με τα ίδια κλειδιά και συμβολοσειρές. Το en-US.json είναι το λεξικό αναφοράς και fallback. Το build απορρίπτει μη έγκυρο JSON, γλώσσες που λείπουν, μη υποστηριζόμενα αρχεία, μη αλφαριθμητικές τιμές και ασύμφωνα κλειδιά.

{ "watchingVideo": "Watching {title}" }

Τυποποιημένη αυτόματη συμπλήρωση

import type enUS from "./locales/en-US.json"

const locale = await presence.getStrings<typeof enUS>()
const title = document.title

await presence.setActivity({
  details: presence.formatString(locale.watchingVideo, { title }),
})

Η εισαγωγή μόνο τύπου παρέχει αυτόματη συμπλήρωση IDE και απορρίπτει άγνωστα κλειδιά χωρίς να προσθέτει το JSON στο bundle. Δεν απαιτείται εντολή δημιουργίας τύπων.

Οι δυναμικές τιμές χρησιμοποιούν placeholders {name} στο JSON και presence.formatString(template, params) στον κώδικα.

Οι χρήστες μπορούν να επιλέξουν μία γλώσσα δραστηριότητας καθολικά ή διαφορετική γλώσσα για κάθε μεταφρασμένη presence.