diff --git a/app/view/make/language/af-ZA/setting.json b/app/view/make/language/af-ZA/setting.json
new file mode 100644
index 00000000..07ce404e
--- /dev/null
+++ b/app/view/make/language/af-ZA/setting.json
@@ -0,0 +1,196 @@
+{
+ "setting": "Preferences",
+ "set": "Save",
+ "yes": "Yes",
+ "no": "No",
+ "none": "None",
+ "default": "Default",
+ "change": "Change",
+ "select": "Select",
+ "env": "System Preferences",
+ "setlang": "Languages",
+ "backup": "Import and export of preferences",
+ "import": "Import",
+ "export": "Export",
+ "hardwareAcceleration": "Disable hardware acceleration",
+ "hardwareAccelerationWarn": "Auto restarted",
+ "theme": "Themes",
+ "popup": "Popup notification(on Windows)",
+ "popupwarn": "Hide to set \"0\"",
+ "s": "sec",
+ "nativenotf": "Native notification",
+ "nnwarn": "This does not work on Windows Portable ver.",
+ "nntest": "Notification test",
+ "minwidth": "Minimum width of columns",
+ "minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
+ "fixwidth": "Minimum width of TweetDeck browser",
+ "fixwidthwarn": "",
+ "above": "above",
+ "font": "Font",
+ "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
+ "fontsize": "Font size",
+ "savefolder": "Folder to save",
+ "savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.",
+ "absolute": "absolute value",
+ "themeSel": "Select theme",
+ "customtheme": "Edit and add custom themes",
+ "customthemeDirection": "Color scheme",
+ "primary": "Background color",
+ "secondarycolor": "Background of components",
+ "text": "Text color",
+ "accent": "Background of boosts",
+ "add_new": "Add new",
+ "name": "Name",
+ "desc": "About this theme",
+ "customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
+ "customImport": "Import of custom themes",
+ "delete": "Delete",
+ "cImpWarn": "Get more themes on MiAS",
+ "timeline": "Timeline Preferences",
+ "timemode": "Time format",
+ "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
+ "absolutetime": "Absolute format:\"23:25:21\",\"2017/12/30 23:59:00\"",
+ "mixtime": "Mixed format:toots posted today are relative-format, others are absolute-format.",
+ "relativesel": "Relative",
+ "absolutesel": "Absolute",
+ "doublesel": "Both relative and absolute",
+ "mixsel": "Mixed",
+ "locale": "Server's unique locale",
+ "localewarn": "This value is available on some Japanese servers",
+ "nswf": "Hide Mark sensitive pictures",
+ "nsfwwarn": "Strong blur effect",
+ "cw": "Hide CW contents",
+ "replyct": "Reply counter style",
+ "replyct_hidden": "Show 1+ if the replies are more than 1.",
+ "replyct_full": "Show full count(1,2...)",
+ "gif": "Animated GIF images animation",
+ "box": "Action of posting-box",
+ "boxyes": "Folding",
+ "boxabs": "Absolutely open",
+ "boxno": "Open after posting",
+ "tag": "Tag TL Search",
+ "tagfed": "Use federated network",
+ "taglocal": "Use local network",
+ "via": "Show via",
+ "mouseover": "Hide action buttons without mouseover",
+ "mouseoverwarn": "You may feel 'mouseover' is unconfortable:(",
+ "mv": "Mouseover to show",
+ "mvclick": "Click to show",
+ "notfmarker": "Show Notification marker, red colored bell and counter(if you show a notification column.)",
+ "autofold": "Auto folding",
+ "autofoldwarn": "TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
+ "lines": "lines",
+ "letters": "letters",
+ "or": "or",
+ "imgheight": "Height of images",
+ "imgheightwarn": "Option:Set \"full\" to uncrop.",
+ "ticker": "Enable #InstanceTicker",
+ "tickerwarn": "Show colorful stickers about the server. About #InstanceTicker Copyright 2018 weepjp, kyori19.",
+ "animation": "Animation of timelines",
+ "markers": "Markers(mark as read) on HTL and notifications",
+ "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
+ "replySound": "Sound(Reply)",
+ "favSound": "Sound(Fav)",
+ "btSound": "Sound(Boost)",
+ "followSound": "Sound(Follow)",
+ "customSound": "Custom sound",
+ "post": "Posting Preferences",
+ "autocw": "Alert before posting a long toot.",
+ "autocwwarn": "Show dialog whether you make too-long text hidden.",
+ "defaultcw": "Default warining text",
+ "cws": "Always CW set",
+ "defaultvis": "Default visibility",
+ "public": "Public",
+ "unlisted": "Unlisted",
+ "private": "Private",
+ "direct": "Direct",
+ "memory": "Memory(memorized as each server)",
+ "useapi": "Default of your visibility(Set on preferences of Mastodon server)",
+ "postimg": "Posting images preferences",
+ "showurl": "Insert media URL",
+ "nourl": "Insert nothig",
+ "disabled": "Disabled",
+ "quote": "Quote format",
+ "simple": "Only URL",
+ "mention": "URL and acct(mention to the user)",
+ "full": "URL, text and acct(mention to the user)",
+ "notqt": "Disabled(Hide buttons on TLs)",
+ "apiQuote": "API(only some instances)",
+ "main": "Default accounts of actions",
+ "mainwarn": "Main account can be set on Account Manager.",
+ "lastacct": "Account you used recently",
+ "usemainacct": "Main account",
+ "secondary": "Secondary Toot Button",
+ "secwarn": "Toot with other visibility setting",
+ "nothing": "Hidden",
+ "localonly": "Local Only",
+ "zeroWidthEmoji": "Zero-width space when inserting emojis",
+ "keysc": "Keyboard shortcut Preferences",
+ "iks": "Easy inserter",
+ "okswarn": "You can insert any letters and emojis with only 3 keys",
+ "muteemp": "Mute & Emphasis Preferences",
+ "climute": "Client Mute",
+ "cliemp": "Client Emphasis",
+ "cliwarn": "Click client name on toots to toggle mute and emphasis.",
+ "enter": "Enter to set",
+ "wordmute": "Words Mute",
+ "wordemp": "Words Emphasis",
+ "useremp": "Users Emphasis",
+ "useerempwarn": "Set on users data modals.",
+ "empcolorwarn": "Use this color to emphasis",
+ "spotify": "Spotify and NowPlaying Preferences",
+ "spotifynote1": "Click ",
+ "spotifynote2": "icon to NowPlaying",
+ "link": "Account Connection",
+ "linkwarn": "TheDesk save your data on thedesk.top server.",
+ "connect": "Connect",
+ "disconnect": "Disconnect",
+ "templeteedit": "Edit a template",
+ "templeteeditwarn": "",
+ "templete1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
+ "templete2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
+ "templete3": "",
+ "postartwork": "Attach an Artwork of Spotify",
+ "tts": "TTS(text to speech) Preferences",
+ "bouyomi": "BouyomiChan connect",
+ "bouyomiWarn": "Require: BouyomiChan WebSocket Plugin",
+ "speed": "Speed",
+ "speedwarn": "1-100(default:10)",
+ "pitch": "Pitch",
+ "pitchwarn": "0-100(default:50)",
+ "vol": "Volume",
+ "volwarn": "0-100(default:100)",
+ "volwarn80": "0-100(default:80)",
+ "test": "Test",
+ "sample": "TheDesk is an open-source Mastodon client for PC.",
+ "playstop": "Play/Stop",
+ "back": "Back",
+ "keyscs": "Keyboard shortcuts",
+ "keyscr": "Jump to n(1-9)th column",
+ "keynew": "Open toot box",
+ "keytoggle": "Toggle toot box",
+ "keypost": "Post",
+ "keysecpost": "Post(secondary toot)",
+ "keyunread": "Make all notifications read",
+ "keyesc": "Hide toot box",
+ "keyf5": "Super Reload",
+ "keyclear": "Clear toot box",
+ "keyacctman": "Account Manager",
+ "keyshowprof": "Show profile of selecting",
+ "keyrow": "Show next or previous image",
+ "keyzoom": "Mousewheel:Zoom a image",
+ "whenSelected": "When a toot is selected: ",
+ "fav": "Favourite this toot",
+ "bt": "Boost this toot",
+ "reply": "Reply to this toot",
+ "keyselecttop": "Select the top & left(No.1 column) toot",
+ "reset": "Reset(Danger)",
+ "resetconfirm": "Delete all data. You cannot undo. Continue?",
+ "about": "About TheDesk",
+ "hp": "Website",
+ "support": "Support",
+ "help": "Help",
+ "sushi": "Give me a sushi!",
+ "checkup": "Check update",
+ "ossJP": ""
+}