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