Adding settings.
This commit is contained in:
+148
-22
@@ -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"))
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user