-
This commit is contained in:
53
translate.rkt
Normal file
53
translate.rkt
Normal file
@@ -0,0 +1,53 @@
|
||||
#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"))
|
||||
Reference in New Issue
Block a user