182 lines
3.5 KiB
Racket
182 lines
3.5 KiB
Racket
#lang racket
|
|
|
|
(provide tr
|
|
__
|
|
languages
|
|
set-lang!
|
|
current-lang
|
|
)
|
|
|
|
(define tr_map (make-hash))
|
|
|
|
(define (add-tr id language translated-sentence)
|
|
(let ((lang-hash (hash-ref tr_map language (make-hash))))
|
|
(hash-set! lang-hash id translated-sentence)
|
|
(hash-set! tr_map language lang-hash)))
|
|
|
|
(define-syntax add2
|
|
(syntax-rules ()
|
|
((_ id (l ts))
|
|
(add-tr id l ts))))-
|
|
|
|
(define-syntax add
|
|
(syntax-rules ()
|
|
((_ id l1)
|
|
(add2 id l1))
|
|
((_ id l1 l2 ...)
|
|
(begin
|
|
(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)
|
|
|
|
(define (languages)
|
|
'((en "English") (nl "Nederlands")))
|
|
|
|
(define (set-lang! l)
|
|
(set! language l))
|
|
|
|
(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-library-dir
|
|
('en "Select Music Library Folder")
|
|
('nl "Selecteer map met Muziek Bibliotheek"))
|
|
('choose-lib-folder
|
|
('en "Choose the folder containing your music library")
|
|
('nl "Kies de map met de Muziek Bibliotheek"))
|
|
('quit
|
|
('en "Quit")
|
|
('nl "Beëindigen"))
|
|
('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"))
|
|
)
|