Files
rktplayer/gui/translate.rkt
T

293 lines
6.6 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"))
('library-add
('en "Add")
('nl "Toevoegen"))
('library-edit
('en "Edit")
('nl "Bewerken"))
('library-remove
('en "Remove")
('nl "Verwijderen"))
('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"))
('starting
('en "starting")
('nl "starten"))
('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"))
('source
('en "Source")
('nl "Bron"))
('downloading-track
('en "downloading track ~a: ~a%")
('nl "downloaden track ~a : ~a%"))
('download-trackcomplete
('en "track ~a downloaded")
('nl "track ~a gedownload"))
('download-track-failed
('en "track ~a - download failed")
('nl "track ~a - download mislukt"))
('playback-failed
('en "Could not play: ~a")
('nl "Afspelen mislukt: ~a"))
('renderer-unreachable
('en "Player not reachable: ~a")
('nl "Speler niet bereikbaar: ~a"))
('renderer-command-failed
('en "Player command failed: ~a")
('nl "Opdracht aan speler mislukt: ~a"))
('clear-cache
('en "Clear downloaded tracks")
('nl "Verwijder gedownloade tracks"))
('renderers
('en "Audio Players")
('nl "Muziekspelers"))
('logarithmic-volume
('en "Logarithmic volume")
('nl "Logaritmisch volume"))
('play
('en "Play")
('nl "Afspelen"))
('lbl-libary-path
('en "Library path:")
('nl "Muziek Bibliotheek pad:"))
('settings-title
('en "Racket Music Player - Settings")
('nl "Racket Muziek Speler - Instellingen"))
('settings-library
('en "Racket Music Player - Library Entry")
('nl "Racket Muziek Speler - Muziek Bibliotheek Entry"))
('browse
('en "Browse")
('nl "Bladeren"))
('dlna-renderers-count
('en "Found ~a DLNA Players")
('nl "~a DLNA Spelers gevonden"))
('dlna-query-busy
('en "Busy querying DLNA Media Renderers")
('nl "Bezig DLNA Media Rendeerers op te vragen"))
('play-local
('en "Play music on current hardware")
('nl "Muziek afspelen op huidige hardware"))
('check-dlna
('en "Search DLNA Players on network")
('nl "Zoek DLNA Spelers op het netwerk"))
('players
('en "Audio Players")
('nl "Muziek Spelers"))
('libraries
('en "Music Libraries")
('nl "Muziekbibliotheken"))
('library-kind
('en "Library type")
('nl "Bibliotheektype"))
('filesystem
('en "Filesystem")
('nl "Bestandssysteem"))
('media-server
('en "UPnP media server")
('nl "UPnP-mediaserver"))
('media-servers
('en "Media server")
('nl "Mediaserver"))
('media-server-root
('en "Start point")
('nl "Startpunt"))
('media-server-item-limit
('en "Maximum items per folder")
('nl "Maximum aantal items per map"))
('select-media-server-container
('en "Select a folder")
('nl "Selecteer een map"))
('no-media-server-containers
('en "No folders")
('nl "Geen mappen"))
('up
('en "Up")
('nl "Omhoog"))
('refresh
('en "Refresh")
('nl "Vernieuwen"))
('searching
('en "Searching...")
('nl "Zoeken..."))
('no-media-servers
('en "No media servers found")
('nl "Geen mediaservers gevonden"))
('library-browse-failed
('en "Could not open music library: ~a")
('nl "Muziekbibliotheek kon niet worden geopend: ~a"))
)