Adding settings.

This commit is contained in:
2026-07-08 00:09:45 +02:00
parent 5e332522e3
commit f949e2dbb3
10 changed files with 438 additions and 75 deletions
+148 -22
View File
@@ -1,26 +1,53 @@
#lang racket
(provide tr)
(provide tr
__
languages
set-lang!
current-lang
)
(define tr_map (make-hash))
(define (add-tr sentence language translated-sentence)
(define (add-tr id language translated-sentence)
(let ((lang-hash (hash-ref tr_map language (make-hash))))
(hash-set! lang-hash sentence translated-sentence)
(hash-set! lang-hash id translated-sentence)
(hash-set! tr_map language lang-hash)))
(define-syntax add2
(syntax-rules ()
((_ s (l ts))
(add-tr s l ts))))
((_ id (l ts))
(add-tr id l ts))))-
(define-syntax add
(syntax-rules ()
((_ s l1 ...)
((_ id l1)
(add2 id l1))
((_ id l1 l2 ...)
(begin
(add2 s l1)
...))))
(add2 id l1)
(add id l2 ...)
))))
(define-syntax add**
(syntax-rules ()
((_ (id l1 ...))
(add id l1 ...)
)
)
)
(define-syntax add*
(syntax-rules ()
((_ t1)
(add** t1))
((_ t1 t2 ...)
(begin
(add** t1)
(add* t2 ...)
))
)
)
(define language 'en)
@@ -29,27 +56,126 @@
(define (set-lang! l)
(set! language l))
(define (tr s)
(if (eq? language 'en)
s
(let ((lang-hash (hash-ref tr_map language (make-hash))))
(let ((translated (hash-ref lang-hash s (format "~a:~a" language s))))
translated
)
)
)
(define (current-lang)
language
)
(define (tr* id lang)
(let ((lang-hash (hash-ref tr_map lang (make-hash))))
(hash-ref lang-hash id #f)))
(define (tr id)
(let ((s (tr* id language)))
(if (eq? s #f)
(let ((en-s (tr* id 'en)))
(if (eq? en-s #f)
(format "~a:~a" language id)
(format "~a:~a" language en-s)))
s)))
(define (__ s)
(tr s))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Translations
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add "Select Music Library Folder"
(add*
('select-library-dir
('en "Select Music Library Folder")
('nl "Selecteer map met Muziek Bibliotheek"))
(add "Choose the folder containing your music library"
('choose-lib-folder
('en "Choose the folder containing your music library")
('nl "Kies de map met de Muziek Bibliotheek"))
(add "Quit"
('quit
('en "Quit")
('nl "Beëindigen"))
(add "channels"
('channels
('en "channels")
('nl "kanalen"))
('language
('en "Language")
('nl "Taal"))
('name
('en "Name")
('nl "Naam"))
('local-path
('en "Local Path")
('nl "Lokale Path"))
('host
('en "Host")
('nl "Host"))
('prefixes
('en "Prefixes")
('nl "Prefixen"))
('ok
('en "OK")
('nl "OK"))
('cancel
('en "Cancel")
('nl "Annuleren"))
('settings
('en "Settings")
('nl "Instellingen"))
('add-playlist
('en "Add Playlist")
('nl "Voeg afspeellijst toe"))
('volume
('en "Volume")
('nl "Volume"))
('file
('en "File")
('nl "Bestand"))
('playing
('en "playing")
('nl "speelt"))
('stopped
('en "stopped")
('nl "gestopt"))
('paused
('en "paused")
('nl "gepauzeerd"))
('unknown-state
('en "Unknown state")
('nl "Onbekende status"))
('rename-playlist
('en "Rename playlist")
('nl "Hernoem afspeellijst"))
('remove-playlist
('en "Remove playlist")
('nl "Verwijder afspeellijst"))
('play-this
('en "Play this")
('nl "Speel dit"))
('add-this
('en "Add this")
('nl "Voeg toe"))
('open-booklet
('en "Open booklet")
('nl "Open boekje"))
('open-containing-folder
('en "Open containing folder")
('nl "Open map met bestand"))
('show-window
('en "Show window")
('nl "Toon venster"))
('hide-window
('en "Hide window")
('nl "Verberg venster"))
('pause-play
('en "Pause / Play")
('nl "Pauze / Afspelen"))
('racket-music-player
('en "Racket Music Player")
('nl "Racket Muziek Speler"))
('bits
('en "bits")
('nl "bits"))
('play
('en "Play")
('nl "Afspelen"))
)