diff --git a/lang/en_US b/lang/en_US
new file mode 100644
index 0000000..e4549f1
--- /dev/null
+++ b/lang/en_US
@@ -0,0 +1,80 @@
+{
+ "cli": {
+ "added_tags": "Added tags {tags} to {song}.",
+ "added_tags_to_all": "Added tags {tags} to songs on the playlist.",
+ "admin_help": "
Admin command
\nBot\n\n- !kill - kill the bot
\n- !update - update the bot
\n- !userban {user} - ban a user
\n- !userunban {user} - unban a user
\n- !urlbanlist - list banned url
\n- !urlban [{url}] - ban {url} (or current item's url by default) and remove this url from the library.
\n- !urlunban {url} - unban {url}
\n- !rescan {url} - rebuild local music file cache
\n- !dropdatabase - clear the entire database, you will lose all settings and music library.
\n
\nWeb Interface\n\n- !webuserlist - list all users that have the permission of accessing the web interface, if auth mode is 'password'.
\n- !webuseradd {nick name} - grant the user with {nick name} the access to the web interface, if auth mode is 'password'.
\n- !webuserdel {nick name} - revoke the access to the web interface of {nick name}, if auth mode is 'password'.
\n- !update - update the bot
\n- !userban {user} - ban a user
\n
",
+ "auto_paused": "Use !play to resume music!",
+ "bad_command": "{{command}}: command not found.",
+ "bad_parameter": "{command}: invalid parameter.",
+ "bad_url": "Bad URL requested.",
+ "cache_refreshed": "Cache refreshed!",
+ "change_ducking_volume": "Volume on ducking set to {volume} by {user}.",
+ "change_mode": "Playback mode set to {mode} by {user}.",
+ "change_volume": "Volume set to {volume} by {user}.",
+ "cleared": "Playlist emptied.",
+ "cleared_tags": "Removed all tags from {song}.",
+ "cleared_tags_from_all": "Removed all tags from songs on the playlist.",
+ "command_disabled": "{command}: command disabled!",
+ "current_ducking_volume": "Volume on ducking: {volume}.",
+ "current_mode": "Current playback mode is {mode}.",
+ "current_volume": "Current volume: {volume}.",
+ "database_dropped": "Database dropped. All records have gone.",
+ "download_in_progress": "Download of {item} in progress...",
+ "error_executing_command": "{command}: Command failed with error: {error}.",
+ "file": "File",
+ "file_added": "Added {item}.",
+ "file_deleted": "Deleted {item} from the library.",
+ "file_item": "{artist} - {title} added by {user}",
+ "file_missed": "Music file '{file}' missed! This item has been removed from the playlist.",
+ "help": "Commands
\nControl\n\n- !web - get the URL of the web interface, if enabled.
\n- !play (or !p) [{num}] [{start_from}] - resume from pausing / start to play (the num-th song is num if given)
\n- !pause - pause
\n- !stop - stop playing
\n- !skip - jump to the next song
\n- !last - jump to the last song
\n- !volume {volume} - get or change the volume (from 0 to 100)
\n- !mode [{mode}] - get or set the playback mode, {mode} should be one of one-shot (remove\nitem once played), repeat (looping through the playlist), random (randomize the playlist),\nautoplay (randomly grab something from the music library).
\n- !duck on/off - enable or disable ducking function
\n- !duckv - set the volume of the bot when ducking is activated
\n- !duckthres - set the threshold of volume to activate ducking (3000 by default)
\n- !oust - stop playing and go to default channel
\n
\nPlaylist\n\n- !now (or !np) - display the current song
\n- !queue - display items in the playlist
\n- !tag {tags} - add all items with tags {tags}, tags separated by \",\".
\n- !file (or !f) {path/folder/keyword} - add a single file to the playlist by its path or keyword in its path.
\n- !filematch (or !fm) {pattern} - add all files that match regex {pattern}
\n- !url {url} - add Youtube or SoundCloud music
\n- !playlist {url} [{offset}] - add all items in a Youtube or SoundCloud playlist, and start with the {offset}-th item
\n- !radio {url} - append a radio {url} to the playlist
\n- !rbquery {keyword} - query http://www.radio-browser.info for a radio station
\n- !rbplay {id} - play a radio station with {id} (eg. !rbplay 96746)
\n- !ysearch {keywords} - query youtube. Use !ysearch -n to turn the page.
\n- !yplay {keywords} - add the first search result of {keywords} into the playlist.
\n- !shortlist (or !sl) {indexes/*} - add {indexes}-th item (or all items if * is given) on the shortlist.
\n- !rm {num} - remove the num-th song on the playlist
\n- !repeat [{num}] - repeat current song {num} (1 by default) times.
\n- !random - randomize the playlist.
\n
\nMusic Library\n\n- !search {keywords} - find item with {keywords} in the music library, keywords separated by space.
\n- !listfile [{pattern}] - display list of available files (whose paths match the regex pattern if {pattern} is given)
\n- !addtag [{index}] {tags} - add {tags} to {index}-th(current song if {index} is omitted) item on the playlist, tags separated by \",\".
\n- !addtag * {tags} - add {tags} to all items on the playlist.
\n- !untag [{index/*}] {tags}/* - remove {tags}/all tags from {index}-th(current song if {index} is omitted) item on the playlist.
\n- !findtagged (or !ft) {tags} - find item with {tags} in the music library.
\n- !delete {index} - delete {index}-th item on the shortlist from the music library.
\n
\nOther\n\n- !joinme {token} - join your own channel with {token}.
\n- !password {password} - change your password, used to access the web interface.
\n
",
+ "invalid_index": "Invalid index {index}. Use '!queue' to see the playlist.",
+ "multiple_file_added": "Multiple items added:",
+ "multiple_file_deleted": "Multiple items deleted from the library:",
+ "multiple_file_found": "Found:",
+ "multiple_matches": "File not found! Possible candidates:",
+ "new_version_found": "Update Available!
Version {new_version} of botamusique is available!
\nChangelog
{changelog}
Send !update to update!",
+ "no_file": "File not found.",
+ "not_admin": "You are not an admin!",
+ "not_in_my_channel": "You're not in my channel!",
+ "not_playing": "Nothing is playing right now.",
+ "now_playing": "Playing {item}",
+ "page_instruction": "Page {current}/{total}. Use !{command} {{page}} to navigate.",
+ "paused": "Music paused.",
+ "playlist_fetching_failed": "Unable to fetch the playlist!",
+ "pm_not_allowed": "Private message aren't allowed.",
+ "preconfigurated_radio": "Preconfigurated Radio available:",
+ "queue_contents": "Items on the playlist:",
+ "queue_empty": "Playlist is empty!",
+ "radio": "Radio",
+ "radio_item": "{title} from {name} added by {user}",
+ "rb_play_empty": "Please specify a radio station ID!",
+ "rb_query_result": "This is the result of your query, send !rbplay {ID} to play a station:",
+ "records_omitted": "...",
+ "removed_tags": "Removed tags {tags} from {song}.",
+ "removed_tags_from_all": "Removed tags {tags} from songs on the playlist.",
+ "removing_item": "Removed entry {item} from playlist.",
+ "repeat": "Repeat {song} for {n} times.",
+ "shortlist_instruction": "Use !sl {indexes} to play the item you want.",
+ "start_updating": "Start updating...",
+ "stopped": "Music stopped.",
+ "too_long": "{song} is too long, removed from playlist!",
+ "unable_download": "Unable to download {item}. Removed from the library.",
+ "unable_play": "Unable to play {item}. Removed from the library.",
+ "unknown_mode": "Unknown playback mode '{mode}'. It should be one of one-shot, repeat, random.",
+ "update_successful": "botamusique v{version} Installed!
\nChangelog
{changelog}
Visit our github repo for more details!",
+ "url": "URL",
+ "url_ban": "This URL is banned!",
+ "url_from_playlist": "URL",
+ "url_from_playlist_item": "{title} from playlist {playlist} added by {user}",
+ "url_item": "{title} added by {user}",
+ "user_ban": "You are banned, not allowed to do that!",
+ "user_password_set": "Your password has been updated.",
+ "web_user_list": "Following users has the privilege to access the web interface:
{users}",
+ "webpage_address": "Your own address to access the web interface is {address}",
+ "which_command": "Do you mean
{commands}",
+ "wrong_pattern": "Invalid regex: {error}.",
+ "yt_no_more": "No more results!",
+ "yt_query_error": "Unable to query youtube!",
+ "yt_result": "Youtube query result: {result_table} Use !sl {{indexes}} to play the item you want.
\n!ytquery -n for the next page."
+ }
+}
\ No newline at end of file