This commit is contained in:
Zack Rauen 2019-06-27 00:21:51 -04:00
parent 2dbd90e0fd
commit 61f611878c
10 changed files with 696 additions and 681 deletions

View File

@ -16,6 +16,7 @@
}
},
"rules": {
"no-undef": "error",
"semi": "error",
"space-infix-ops": "error",
"quotes": ["error", "double", {"allowTemplateLiterals": true}],

207
data/locales/ja.json Normal file
View File

@ -0,0 +1,207 @@
{
"Panels": {
"plugins": "プラグイン",
"themes": "テーマ",
"customcss": "カスタム CSS"
},
"Collections": {
"settings": {
"name": "BD設定",
"general": {
"name": "全般",
"emotes": {
"name": "BD絵文字システム",
"note": "BetterDiscordの絵文字システムを有効にします。"
},
"publicServers": {
"name": "公開サーバボタン",
"note": "公開サーバボタンを表示します"
},
"voiceDisconnect": {
"name": "ボイスチャンネル自動切断",
"note": "Discordを終了する際、自動的にボイスチャンネルから切断します。"
},
"twentyFourHour": {
"name": "24時間表記",
"note": "時間を24時間表記に変更します。"
},
"classNormalizer": {
"name": "クラス標準化",
"note": "値が変動しないCSSクラスを追加します。"
},
"showToasts": {
"name": "トースト表示",
"note": "重要な情報を小さな通知として表示します。"
}
},
"appearance": {
"name": "外観",
"voiceMode": {
"name": "ボイスモード",
"note": "ボイスチャンネル以外を表示しないようにします"
},
"minimalMode": {
"name": "コンパクトモード",
"note": "表示をコンパクトにします。"
},
"hideChannels": {
"name": "チャンネルリストを非表示",
"note": "コンパクトモードのときは、チャンネルリストを表示しません"
},
"darkMode": {
"name": "ダークモード",
"note": "ダークモードを有効にします"
},
"coloredText": {
"name": "カラーテキスト",
"note": "テキストカラーをサーバルールの色と同じにします。"
}
},
"addons": {
"name": "アドオンマネージャ",
"addonErrors": {
"name": "アドオンエラーの表示",
"note": "プラグイン/テーマで発生したエラーを表示"
},
"autoScroll": {
"name": "設定までスクロール",
"note": "プラグインの設定が収まらない場合、自動でスクロールします"
},
"autoReload": {
"name": "自動リロード",
"note": "プラグイン・テーマを自動でロード・アンロード・リロードします"
}
},
"customcss": {
"name": "カスタム CSS",
"customcss": {
"name": "カスタム CSS",
"note": "カスタム CSS タブを有効にします"
},
"liveUpdate": {
"name": "自動更新",
"note": "コードを自動再読み込みする"
},
"startDetached": {
"name": "デタッチ",
"note": "カスタムCSSエディターをウィンドウに独立させます"
},
"nativeOpen": {
"name": "外部エディタを起動",
"note": "カスタムCSSを外部のエディタで起動します"
}
},
"developer": {
"name": "開発者設定",
"developerMode": {
"name": "開発者モード",
"note": "デバッグモードを有効にします(デバッガ起動はF8)"
},
"copySelector": {
"name": "セレクターコピー",
"note": "開発者モードが有効時に、コンテキストメニューに\"Copy Selector\"を追加します"
}
},
"window": {
"name": "ウィンドウ設定",
"transparency": {
"name": "透過を有効",
"note": "Discordのメインウィンドウを透過します(要再起動)"
},
"frame": {
"name": "ウィンドウフレーム表示",
"note": "OSにあわせたフレームを追加します"
}
}
},
"emotes": {
"name": "絵文字",
"general": {
"name": "全般",
"download": {
"name": "絵文字をダウンロード",
"note": "絵文字をダウンロードします(1週間ごと)"
},
"emoteMenu": {
"name": "絵文字メニュー",
"note": "Twitch/お気に入りの絵文字を表示します"
},
"hideEmojiMenu": {
"name": "絵文字メニューを非表示",
"note": "Discord標準の絵文字メニューを非表示にします"
},
"autoCaps": {
"name": "絵文字自動補完",
"note": "絵文字を自動で補完します"
},
"showNames": {
"name": "名前を表示",
"note": "ホバー時に絵文字の名前を表示します"
},
"modifiers": {
"name": "BetterDiscord絵文字を表示",
"note": "BetterDiscordの絵文字を有効化します(flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)"
},
"animateOnHover": {
"name": "ホバー時にアニメーション",
"note": "ホバー時にアニメーションします(アニメーション絵文字限定)"
}
},
"categories": {
"name": "カテゴリ",
"twitch": {
"name": "Twitch",
"note": "Twitchに登録されている絵文字を表示します"
},
"ffz": {
"name": "FrankerFaceZ",
"note": "FFZに登録されている絵文字を表示します"
},
"bttv": {
"name": "BetterTTV",
"note": "BTTVに登録されている絵文字を表示します"
}
}
}
},
"Emotes": {
"downloading": "絵文字をダウンロード中…",
"downloaded": "すべての絵文字のダウンロードが完了しました",
"clearEmotes": "絵文字データをクリアします",
"favoriteAction": "お気に入り!!"
},
"CustomCSS": {
"confirmationText": "Discordを終了すると、保存されていないカスタムCSSは破棄されます",
"update": "更新",
"save": "保存",
"openNative": "外部エディタで開く",
"openDetached": "別ウィンドウで開く",
"settings": "エディター設定",
"editorTitle": "カスタム CSS エディター"
},
"PublicServers": {
"button": "公開サーバ",
"join": "参加",
"joining": "参加中",
"joined": "参加済み",
"loading": "読み込み中",
"loadMore": "もっと読み込む",
"notConnected": "DiscordServers.comに接続できませんでした",
"search": "検索",
"connect": "接続",
"reconnect": "再接続",
"categories": "カテゴリ",
"connection": "接続済み: {{username}}#{{discriminator}}",
"results": "カテゴリ{{category}} 合計{{total}}中 {{start}}-{{end}}を表示中",
"query": "クエリー:{{query}}"
},
"Modals": {
"confirmClose": "Discordを終了しますか?",
"okay": "はい",
"cancel": "いいえ",
"name": "名前",
"message": "メッセージ",
"error": "エラー",
"addonErrors": "アドオンエラー"
}
}

207
data/locales/sv.json Normal file
View File

@ -0,0 +1,207 @@
{
"Panels": {
"plugins": "Tillägg",
"themes": "Teman",
"customcss": "Egen CSS"
},
"Collections": {
"settings": {
"name": "Inställningar",
"general": {
"name": "Generellt",
"emotes": {
"name": "Emotessystem",
"note": "Aktiverar BD's emotessystem"
},
"publicServers": {
"name": "Publika Servrar",
"note": "Visa knappen för publika servrar"
},
"voiceDisconnect": {
"name": "Lämna Röst",
"note": "Lämna röstsamtal när Discord stängs ner"
},
"twentyFourHour": {
"name": "24-Timmars Tidsstämpel",
"note": "Visar 24-timmars tidsstämplar istället för AM/PM"
},
"classNormalizer": {
"name": "Normalisera Klasser",
"note": "Lägger till statiska klasser för att underlätta teman (ex. lägger till .da-channels på .channels-Ie2l6A)"
},
"showToasts": {
"name": "Visa Toasts",
"note": "Visar en liten notification för viktig information"
}
},
"appearance": {
"name": "Utseende",
"voiceMode": {
"name": "Röstläge",
"note": "Gömmer allt förutom röstchatt"
},
"minimalMode": {
"name": "Minimalt Läge",
"note": "Gömmer och förminskar komponenter"
},
"hideChannels": {
"name": "Göm Kanaler",
"note": "Gömmer kanaler när minimalt läge är aktiverat"
},
"darkMode": {
"name": "Mörkt Läge",
"note": "Gör vissa komponenter mörka"
},
"coloredText": {
"name": "Färgad Text",
"note": "Gör att text får samma färg som rollfärgen"
}
},
"addons": {
"name": "Tilläggshanterare",
"addonErrors": {
"name": "Visa tilläggsfel",
"note": "Visar en modal med tillägg- och temafel"
},
"autoScroll": {
"name": "Skrolla till inställningar Scroll To Settings",
"note": "Skrollar automatisks till ett tilläggs inställningar när knappen är tryckt (endast om inställningarna är utanför vy)"
},
"autoReload": {
"name": "Automatisk Laddning",
"note": "Laddar automatisk in, om och ur tillägg och teman"
}
},
"customcss": {
"name": "Egen CSS",
"customcss": {
"name": "Egen CSS",
"note": "Aktiverar \"Egen CSS\"-fliken"
},
"liveUpdate": {
"name": "Uppdatera Direkt",
"note": "Uppdaterar css allteftersom du skriver"
},
"startDetached": {
"name": "Starta Frånkopplad",
"note": "Öppnar CSS redigeraren i ett separat fönster när \"Egen CSS\"-fliken klickas"
},
"nativeOpen": {
"name": "Öppna I Standardredigerare",
"note": "Öppnar CSS filen i operativsystemets standardredigerare när \"Egen CSS\"-fliken klickas"
}
},
"developer": {
"name": "Utvecklarinställningar",
"developerMode": {
"name": "Utvecklarläge",
"note": "Gör det möjligt att aktivera avlusare med F8"
},
"copySelector": {
"name": "Kopiera Selektor",
"note": "Lägger till valet \"Kopiera Selektor\" i kontext menyn när utvecklarläge är aktiverat"
}
},
"window": {
"name": "Fönsterinställningar",
"transparency": {
"name": "Aktivera Genomskinlighet",
"note": "Gör att huvudfönstret blir genomskinligt (kräver omstart)"
},
"frame": {
"name": "Fönsterram",
"note": "Lägger till operativsystemets standard fönsterram runt huvudfönstret"
}
}
},
"emotes": {
"name": "Emotes",
"general": {
"name": "Generellt",
"download": {
"name": "Ladda Ner Emotes",
"note": "Ladda ner emotes en gång i veckan för att hålla sig uppdaterad"
},
"emoteMenu": {
"name": "Emote Meny",
"note": "Visa Twitch/Favorit emotes i emote meny"
},
"hideEmojiMenu": {
"name": "Gömmer Emoji Meny",
"note": "Gömmer Discord's emoji meny när emote meny är aktiverad"
},
"autoCaps": {
"name": "Automatiskt Stor Bokstav I Emotes",
"note": "Gör automatiskt stor bokstav i emote kommandon"
},
"showNames": {
"name": "Visa namn",
"note": "Visa namn när musen hålls över en emote"
},
"modifiers": {
"name": "Visa Emote Modifierare",
"note": "Aktivera emote modifierare (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)"
},
"animateOnHover": {
"name": "Animera När Musen Hålls Över",
"note": "Animera endast emote midiferare när musen hålls över emoten"
}
},
"categories": {
"name": "Kategorier",
"twitch": {
"name": "Twitch",
"note": "Visa Twitch global & prenumerant emotes"
},
"ffz": {
"name": "FrankerFaceZ",
"note": "Visa emotes från FFZ"
},
"bttv": {
"name": "BetterTTV",
"note": "Visa emotes från BTTV"
}
}
}
},
"Emotes": {
"downloading": "Laddar ner emotes i backgrunden, ladda inte om",
"downloaded": "Alla emotes laddades ner utan problem.",
"clearEmotes": "Rensa Emote Data",
"favoriteAction": "Favorit!"
},
"CustomCSS": {
"confirmationText": "Du har osparade ändringar av egna CSS:en. Alla ändringar kommer försvinna om du stänger det här fönstret",
"update": "Uppdatera",
"save": "Spara",
"openNative": "Öppna I Standardredigerare",
"openDetached": "Koppla Loss Fönster",
"settings": "Inställningar för redigerare",
"editorTitle": "Egen CSS Redigerare"
},
"PublicServers": {
"button": "Publik",
"join": "Gå med",
"joining": "Går med",
"joined": "Gick med",
"loading": "Laddar",
"loadMore": "ladda mer",
"notConnected": "Ingen anslutning till DiscordServers.com!",
"search": "Sök",
"connect": "Anslut",
"reconnect": "Återanslut",
"categories": "Kategorier",
"connection": "Ansluten som: {{username}}#{{discriminator}}",
"results": "Visar {{start}}-{{end}} av {{total}} resultat i {{category}}",
"query": "för {{query}}"
},
"Modals": {
"confirmClose": "Är du säker?",
"okay": "Okej",
"cancel": "Avbryt",
"name": "Namn",
"message": "Meddelande",
"error": "Fel",
"addonErrors": "Tilläggsfel"
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,645 +1,217 @@
export default {
en: {
Panels: {
plugins: "Plugins",
themes: "Themes",
customcss: "Custom CSS"
},
Collections: {
settings: {
name: "Settings",
general: {
name: "General",
emotes: {
name: "Emote System",
note: "Enables BD's emote system"
},
publicServers: {
name: "Public Servers",
note: "Display public servers button"
},
voiceDisconnect: {
name: "Voice Disconnect",
note: "Disconnect from voice server when closing Discord"
},
twentyFourHour: {
name: "24-Hour Timestamps",
note: "Hides channels when in minimal mode"
},
classNormalizer: {
name: "Normalize Classes",
note: "Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)"
},
showToasts: {
name: "Show Toasts",
note: "Shows a small notification for important information"
}
Panels: {
plugins: "Plugins",
themes: "Themes",
customcss: "Custom CSS"
},
Collections: {
settings: {
name: "Settings",
general: {
name: "General",
emotes: {
name: "Emote System",
note: "Enables BD's emote system"
},
appearance: {
name: "Appearance",
voiceMode: {
name: "Voice Mode",
note: "Hides everything that isn't voice chat"
},
minimalMode: {
name: "Minimal Mode",
note: "Hide elements and reduce the size of elements"
},
hideChannels: {
name: "Hide Channels",
note: "Hides channels when in minimal mode"
},
darkMode: {
name: "Dark Mode",
note: "Make certain elements dark by default"
},
coloredText: {
name: "Colored Text",
note: "Make text colour the same as role color"
}
publicServers: {
name: "Public Servers",
note: "Display public servers button"
},
addons: {
name: "Addon Manager",
addonErrors: {
name: "Show Addon Errors",
note: "Shows a modal with plugin/theme errors"
},
autoScroll: {
name: "Scroll To Settings",
note: "Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)"
},
autoReload: {
name: "Automatic Loading",
note: "Automatically loads, reloads, and unloads plugins and themes"
},
voiceDisconnect: {
name: "Voice Disconnect",
note: "Disconnect from voice server when closing Discord"
},
twentyFourHour: {
name: "24-Hour Timestamps",
note: "Hides channels when in minimal mode"
},
classNormalizer: {
name: "Normalize Classes",
note: "Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)"
},
showToasts: {
name: "Show Toasts",
note: "Shows a small notification for important information"
}
},
appearance: {
name: "Appearance",
voiceMode: {
name: "Voice Mode",
note: "Hides everything that isn't voice chat"
},
minimalMode: {
name: "Minimal Mode",
note: "Hide elements and reduce the size of elements"
},
hideChannels: {
name: "Hide Channels",
note: "Hides channels when in minimal mode"
},
darkMode: {
name: "Dark Mode",
note: "Make certain elements dark by default"
},
coloredText: {
name: "Colored Text",
note: "Make text colour the same as role color"
}
},
addons: {
name: "Addon Manager",
addonErrors: {
name: "Show Addon Errors",
note: "Shows a modal with plugin/theme errors"
},
autoScroll: {
name: "Scroll To Settings",
note: "Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)"
},
autoReload: {
name: "Automatic Loading",
note: "Automatically loads, reloads, and unloads plugins and themes"
},
},
customcss: {
name: "Custom CSS",
customcss: {
name: "Custom CSS",
customcss: {
name: "Custom CSS",
note: "Enables the Custom CSS tab"
},
liveUpdate: {
name: "Live Update",
note: "Updates the css as you type"
},
startDetached: {
name: "Start Detached",
note: "Clicking the Custom CSS tab opens the editor in a separate window",
},
nativeOpen: {
name: "Open in Native Editor",
note: "Clicking the Custom CSS tab opens your custom css in your native editor"
}
note: "Enables the Custom CSS tab"
},
developer: {
name: "Developer Settings",
developerMode: {
name: "Developer Mode",
note: "Allows activating debugger when pressing F8"
},
copySelector: {
name: "Copy Selector",
note: "Adds a \"Copy Selector\" option to context menus when developer mode is active"
}
liveUpdate: {
name: "Live Update",
note: "Updates the css as you type"
},
window: {
name: "Window Preferences",
transparency: {
name: "Enable Transparency",
note: "Enables the main window to be see-through (requires restart)"
},
frame: {
name: "Window Frame",
note: "Adds the native os window frame to the main window"
}
startDetached: {
name: "Start Detached",
note: "Clicking the Custom CSS tab opens the editor in a separate window",
},
nativeOpen: {
name: "Open in Native Editor",
note: "Clicking the Custom CSS tab opens your custom css in your native editor"
}
},
emotes: {
name: "Emotes",
general: {
name: "General",
download: {
name: "Download Emotes",
note: "Download emotes once a week to stay up to date"
},
emoteMenu: {
name: "Emote Menu",
note: "Show Twitch/Favourite emotes in emote menu"
},
hideEmojiMenu: {
name: "Hide Emoji Menu",
note: "Hides Discord's emoji menu when using emote menu"
},
autoCaps: {
name: "Emote Autocapitalization",
note: "Autocapitalize emote commands"
},
showNames: {
name: "Show Names",
note: "Show emote names on hover"
},
modifiers: {
name: "Show Emote Modifiers",
note: "Enable emote mods (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)"
},
animateOnHover: {
name: "Animate On Hover",
note: "Only animate the emote modifiers on hover"
}
developer: {
name: "Developer Settings",
developerMode: {
name: "Developer Mode",
note: "Allows activating debugger when pressing F8"
},
categories: {
name: "Categories",
twitch: {
name: "Twitch",
note: "Show Twitch global & subscriber emotes"
},
ffz: {
name: "FrankerFaceZ",
note: "Show emotes from FFZ"
},
bttv: {
name: "BetterTTV",
note: "Show emotes from BTTV"
}
copySelector: {
name: "Copy Selector",
note: "Adds a \"Copy Selector\" option to context menus when developer mode is active"
}
},
window: {
name: "Window Preferences",
transparency: {
name: "Enable Transparency",
note: "Enables the main window to be see-through (requires restart)"
},
frame: {
name: "Window Frame",
note: "Adds the native os window frame to the main window"
}
}
},
Addons: {
title: "{{name}} v{{version}} by {{author}}",
openFolder: "Open {{type}} Folder",
reload: "Reload",
pluginSettings: "Settings",
website: "Website",
source: "Source",
server: "Support Server",
donate: "Donate"
},
Emotes: {
downloading: "Downloading emotes in the background do not reload.",
downloaded: "All emotes successfully downloaded.",
clearEmotes: "Clear Emote Data",
favoriteAction: "Favorite!"
},
CustomCSS: {
confirmationText: "You have unsaved changes to your Custom CSS. Closing this window will lose all those changes.",
update: "Update",
save: "Save",
openNative: "Open in System Editor",
openDetached: "Detach Window",
settings: "Editor Settings",
editorTitle: "Custom CSS Editor"
},
PublicServers: {
button: "public",
join: "Join",
joining: "Joining",
joined: "Joined",
loading: "Loading",
loadMore: "Load More",
notConnected: "Not connected to DiscordServers.com!",
search: "Search",
connect: "Connect",
reconnect: "Reconnect",
categories: "Categories",
connection: "Connected as: {{username}}#{{discriminator}}",
results: "Showing {{start}}-{{end}} of {{total}} results in {{category}}",
query: "for {{query}}"
},
Modals: {
confirmClose: "Are You Sure?",
okay: "Okay",
cancel: "Cancel",
name: "Name",
message: "Message",
error: "Error",
addonErrors: "Addon Errors"
}
},
es: {
Collections: {
settings: {
name: "Ajustes",
addons: {
addonErrors: {
name: "Mostrar Errores de Addons"
}
emotes: {
name: "Emotes",
general: {
name: "General",
download: {
name: "Download Emotes",
note: "Download emotes once a week to stay up to date"
},
emoteMenu: {
name: "Emote Menu",
note: "Show Twitch/Favourite emotes in emote menu"
},
hideEmojiMenu: {
name: "Hide Emoji Menu",
note: "Hides Discord's emoji menu when using emote menu"
},
autoCaps: {
name: "Emote Autocapitalization",
note: "Autocapitalize emote commands"
},
showNames: {
name: "Show Names",
note: "Show emote names on hover"
},
modifiers: {
name: "Show Emote Modifiers",
note: "Enable emote mods (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)"
},
animateOnHover: {
name: "Animate On Hover",
note: "Only animate the emote modifiers on hover"
}
},
categories: {
name: "Categories",
twitch: {
name: "Twitch",
note: "Show Twitch global & subscriber emotes"
},
ffz: {
name: "FrankerFaceZ",
note: "Show emotes from FFZ"
},
bttv: {
name: "BetterTTV",
note: "Show emotes from BTTV"
}
}
}
},
sv: {
Panels: {
plugins: "Tillägg",
themes: "Teman",
customcss: "Egen CSS"
},
Collections: {
settings: {
name: "Inställningar",
general: {
name: "Generellt",
emotes: {
name: "Emotessystem",
note: "Aktiverar BD's emotessystem"
},
publicServers: {
name: "Publika Servrar",
note: "Visa knappen för publika servrar"
},
voiceDisconnect: {
name: "Lämna Röst",
note: "Lämna röstsamtal när Discord stängs ner"
},
twentyFourHour: {
name: "24-Timmars Tidsstämpel",
note: "Visar 24-timmars tidsstämplar istället för AM/PM"
},
classNormalizer: {
name: "Normalisera Klasser",
note: "Lägger till statiska klasser för att underlätta teman (ex. lägger till .da-channels på .channels-Ie2l6A)"
},
showToasts: {
name: "Visa Toasts",
note: "Visar en liten notification för viktig information"
}
},
appearance: {
name: "Utseende",
voiceMode: {
name: "Röstläge",
note: "Gömmer allt förutom röstchatt"
},
minimalMode: {
name: "Minimalt Läge",
note: "Gömmer och förminskar komponenter"
},
hideChannels: {
name: "Göm Kanaler",
note: "Gömmer kanaler när minimalt läge är aktiverat"
},
darkMode: {
name: "Mörkt Läge",
note: "Gör vissa komponenter mörka"
},
coloredText: {
name: "Färgad Text",
note: "Gör att text får samma färg som rollfärgen"
}
},
addons: {
name: "Tilläggshanterare",
addonErrors: {
name: "Visa tilläggsfel",
note: "Visar en modal med tillägg- och temafel"
},
autoScroll: {
name: "Skrolla till inställningar Scroll To Settings",
note: "Skrollar automatisks till ett tilläggs inställningar när knappen är tryckt (endast om inställningarna är utanför vy)"
},
autoReload: {
name: "Automatisk Laddning",
note: "Laddar automatisk in, om och ur tillägg och teman"
},
},
customcss: {
name: "Egen CSS",
customcss: {
name: "Egen CSS",
note: "Aktiverar \"Egen CSS\"-fliken"
},
liveUpdate: {
name: "Uppdatera Direkt",
note: "Uppdaterar css allteftersom du skriver"
},
startDetached: {
name: "Starta Frånkopplad",
note: "Öppnar CSS redigeraren i ett separat fönster när \"Egen CSS\"-fliken klickas",
},
nativeOpen: {
name: "Öppna I Standardredigerare",
note: "Öppnar CSS filen i operativsystemets standardredigerare när \"Egen CSS\"-fliken klickas"
}
},
developer: {
name: "Utvecklarinställningar",
developerMode: {
name: "Utvecklarläge",
note: "Gör det möjligt att aktivera avlusare med F8"
},
copySelector: {
name: "Kopiera Selektor",
note: "Lägger till valet \"Kopiera Selektor\" i kontext menyn när utvecklarläge är aktiverat"
}
},
window: {
name: "Fönsterinställningar",
transparency: {
name: "Aktivera Genomskinlighet",
note: "Gör att huvudfönstret blir genomskinligt (kräver omstart)"
},
frame: {
name: "Fönsterram",
note: "Lägger till operativsystemets standard fönsterram runt huvudfönstret"
}
}
},
emotes: {
name: "Emotes",
general: {
name: "Generellt",
download: {
name: "Ladda Ner Emotes",
note: "Ladda ner emotes en gång i veckan för att hålla sig uppdaterad"
},
emoteMenu: {
name: "Emote Meny",
note: "Visa Twitch/Favorit emotes i emote meny"
},
hideEmojiMenu: {
name: "Gömmer Emoji Meny",
note: "Gömmer Discord's emoji meny när emote meny är aktiverad"
},
autoCaps: {
name: "Automatiskt Stor Bokstav I Emotes",
note: "Gör automatiskt stor bokstav i emote kommandon"
},
showNames: {
name: "Visa namn",
note: "Visa namn när musen hålls över en emote"
},
modifiers: {
name: "Visa Emote Modifierare",
note: "Aktivera emote modifierare (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)"
},
animateOnHover: {
name: "Animera När Musen Hålls Över",
note: "Animera endast emote midiferare när musen hålls över emoten"
}
},
categories: {
name: "Kategorier",
twitch: {
name: "Twitch",
note: "Visa Twitch global & prenumerant emotes"
},
ffz: {
name: "FrankerFaceZ",
note: "Visa emotes från FFZ"
},
bttv: {
name: "BetterTTV",
note: "Visa emotes från BTTV"
}
}
}
},
Emotes: {
downloading: "Laddar ner emotes i backgrunden, ladda inte om",
downloaded: "Alla emotes laddades ner utan problem.",
clearEmotes: "Rensa Emote Data",
favoriteAction: "Favorit!"
},
CustomCSS: {
confirmationText: "Du har osparade ändringar av egna CSS:en. Alla ändringar kommer försvinna om du stänger det här fönstret",
update: "Uppdatera",
save: "Spara",
openNative: "Öppna I Standardredigerare",
openDetached: "Koppla Loss Fönster",
settings: "Inställningar för redigerare",
editorTitle: "Egen CSS Redigerare"
},
PublicServers: {
button: "Publik",
join: "Gå med",
joining: "Går med",
joined: "Gick med",
loading: "Laddar",
loadMore: "ladda mer",
notConnected: "Ingen anslutning till DiscordServers.com!",
search: "Sök",
connect: "Anslut",
reconnect: "Återanslut",
categories: "Kategorier",
connection: "Ansluten som: {{username}}#{{discriminator}}",
results: "Visar {{start}}-{{end}} av {{total}} resultat i {{category}}",
query: "för {{query}}"
},
Modals: {
confirmClose: "Är du säker?",
okay: "Okej",
cancel: "Avbryt",
name: "Namn",
message: "Meddelande",
error: "Fel",
addonErrors: "Tilläggsfel"
}
Addons: {
title: "{{name}} v{{version}} by {{author}}",
openFolder: "Open {{type}} Folder",
reload: "Reload",
pluginSettings: "Settings",
website: "Website",
source: "Source",
server: "Support Server",
donate: "Donate"
},
ja: {
Panels: {
plugins: "プラグイン",
themes: "テーマ",
customcss: "カスタム CSS"
},
Collections: {
settings: {
name: "BD設定",
general: {
name: "全般",
emotes: {
name: "BD絵文字システム",
note: "BetterDiscordの絵文字システムを有効にします。"
},
publicServers: {
name: "公開サーバボタン",
note: "公開サーバボタンを表示します"
},
voiceDisconnect: {
name: "ボイスチャンネル自動切断",
note: "Discordを終了する際、自動的にボイスチャンネルから切断します。"
},
twentyFourHour: {
name: "24時間表記",
note: "時間を24時間表記に変更します。"
},
classNormalizer: {
name: "クラス標準化",
note: "値が変動しないCSSクラスを追加します。"
},
showToasts: {
name: "トースト表示",
note: "重要な情報を小さな通知として表示します。"
}
},
appearance: {
name: "外観",
voiceMode: {
name: "ボイスモード",
note: "ボイスチャンネル以外を表示しないようにします"
},
minimalMode: {
name: "コンパクトモード",
note: "表示をコンパクトにします。"
},
hideChannels: {
name: "チャンネルリストを非表示",
note: "コンパクトモードのときは、チャンネルリストを表示しません"
},
darkMode: {
name: "ダークモード",
note: "ダークモードを有効にします"
},
coloredText: {
name: "カラーテキスト",
note: "テキストカラーをサーバルールの色と同じにします。"
}
},
addons: {
name: "アドオンマネージャ",
addonErrors: {
name: "アドオンエラーの表示",
note: "プラグイン/テーマで発生したエラーを表示"
},
autoScroll: {
name: "設定までスクロール",
note: "プラグインの設定が収まらない場合、自動でスクロールします"
},
autoReload: {
name: "自動リロード",
note: "プラグイン・テーマを自動でロード・アンロード・リロードします"
},
},
customcss: {
name: "カスタム CSS",
customcss: {
name: "カスタム CSS",
note: "カスタム CSS タブを有効にします"
},
liveUpdate: {
name: "自動更新",
note: "コードを自動再読み込みする"
},
startDetached: {
name: "デタッチ",
note: "カスタムCSSエディターをウィンドウに独立させます",
},
nativeOpen: {
name: "外部エディタを起動",
note: "カスタムCSSを外部のエディタで起動します"
}
},
developer: {
name: "開発者設定",
developerMode: {
name: "開発者モード",
note: "デバッグモードを有効にします(デバッガ起動はF8)"
},
copySelector: {
name: "セレクターコピー",
note: "開発者モードが有効時に、コンテキストメニューに\"Copy Selector\"を追加します"
}
},
window: {
name: "ウィンドウ設定",
transparency: {
name: "透過を有効",
note: "Discordのメインウィンドウを透過します(要再起動)"
},
frame: {
name: "ウィンドウフレーム表示",
note: "OSにあわせたフレームを追加します"
}
}
},
emotes: {
name: "絵文字",
general: {
name: "全般",
download: {
name: "絵文字をダウンロード",
note: "絵文字をダウンロードします(1週間ごと)"
},
emoteMenu: {
name: "絵文字メニュー",
note: "Twitch/お気に入りの絵文字を表示します"
},
hideEmojiMenu: {
name: "絵文字メニューを非表示",
note: "Discord標準の絵文字メニューを非表示にします"
},
autoCaps: {
name: "絵文字自動補完",
note: "絵文字を自動で補完します"
},
showNames: {
name: "名前を表示",
note: "ホバー時に絵文字の名前を表示します"
},
modifiers: {
name: "BetterDiscord絵文字を表示",
note: "BetterDiscordの絵文字を有効化します(flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)"
},
animateOnHover: {
name: "ホバー時にアニメーション",
note: "ホバー時にアニメーションします(アニメーション絵文字限定)"
}
},
categories: {
name: "カテゴリ",
twitch: {
name: "Twitch",
note: "Twitchに登録されている絵文字を表示します"
},
ffz: {
name: "FrankerFaceZ",
note: "FFZに登録されている絵文字を表示します"
},
bttv: {
name: "BetterTTV",
note: "BTTVに登録されている絵文字を表示します"
}
}
}
},
Emotes: {
downloading: "絵文字をダウンロード中…",
downloaded: "すべての絵文字のダウンロードが完了しました",
clearEmotes: "絵文字データをクリアします",
favoriteAction: "お気に入り!!"
},
CustomCSS: {
confirmationText: "Discordを終了すると、保存されていないカスタムCSSは破棄されます",
update: "更新",
save: "保存",
openNative: "外部エディタで開く",
openDetached: "別ウィンドウで開く",
settings: "エディター設定",
editorTitle: "カスタム CSS エディター"
},
PublicServers: {
button: "公開サーバ",
join: "参加",
joining: "参加中",
joined: "参加済み",
loading: "読み込み中",
loadMore: "もっと読み込む",
notConnected: "DiscordServers.comに接続できませんでした",
search: "検索",
connect: "接続",
reconnect: "再接続",
categories: "カテゴリ",
connection: "接続済み: {{username}}#{{discriminator}}",
results: "カテゴリ{{category}} 合計{{total}}中 {{start}}-{{end}}を表示中",
query: "クエリー:{{query}}"
},
Modals: {
confirmClose: "Discordを終了しますか?",
okay: "はい",
cancel: "いいえ",
name: "名前",
message: "メッセージ",
error: "エラー",
addonErrors: "アドオンエラー"
}
Emotes: {
downloading: "Downloading emotes in the background do not reload.",
downloaded: "All emotes successfully downloaded.",
clearEmotes: "Clear Emote Data",
favoriteAction: "Favorite!"
},
CustomCSS: {
confirmationText: "You have unsaved changes to your Custom CSS. Closing this window will lose all those changes.",
update: "Update",
save: "Save",
openNative: "Open in System Editor",
openDetached: "Detach Window",
settings: "Editor Settings",
editorTitle: "Custom CSS Editor"
},
PublicServers: {
button: "public",
join: "Join",
joining: "Joining",
joined: "Joined",
loading: "Loading",
loadMore: "Load More",
notConnected: "Not connected to DiscordServers.com!",
search: "Search",
connect: "Connect",
reconnect: "Reconnect",
categories: "Categories",
connection: "Connected as: {{username}}#{{discriminator}}",
results: "Showing {{start}}-{{end}} of {{total}} results in {{category}}",
query: "for {{query}}"
},
Modals: {
confirmClose: "Are You Sure?",
okay: "Okay",
cancel: "Cancel",
name: "Name",
message: "Message",
error: "Error",
addonErrors: "Addon Errors"
}
};

View File

@ -1,4 +1,5 @@
import ComponentPatcher from "./componentpatcher";
import LocaleManager from "./localemanager";
import Logger from "./logger";
import {Config} from "data";
// import EmoteModule from "./emotes";
@ -12,6 +13,8 @@ import Modals from "../ui/modals";
import ReactComponents from "./reactcomponents";
import DataStore from "./datastore";
import DiscordModules from "./discordmodules";
import ComponentPatcher from "./componentpatcher";
const GuildClasses = DiscordModules.GuildClasses;
@ -35,14 +38,16 @@ Core.prototype.init = async function() {
// `);
// }
// DataStore.initialize();
ReactComponents.initialize();
DataStore.initialize();
await LocaleManager.initialize();
Logger.log("Startup", "Initializing Settings");
Settings.initialize();
DOMManager.initialize();
await this.waitForGuilds();
ReactComponents.initialize();
ComponentPatcher.initialize();
for (const module in Builtins) Builtins[module].initialize();

View File

@ -17,7 +17,6 @@ export default new class DataStore {
constructor() {
this.data = {misc: {}};
this.pluginData = {};
this.initialize();
}
initialize() {

View File

@ -0,0 +1,55 @@
import DefaultStrings from "../data/strings";
import DiscordModules from "./discordmodules";
import Utilities from "./utilities";
import Events from "./emitter";
import DataStore from "./datastore";
const request = require("request");
const {Dispatcher, DiscordConstants, UserSettingsStore} = DiscordModules;
export default new class LocaleManager {
get discordLocale() {return UserSettingsStore.locale.split("-")[0];}
get defaultLocale() {return "en";}
constructor() {
this.locale = "";
this.strings = {};
}
async initialize() {
await this.setLocale(this.discordLocale);
Dispatcher.subscribe(DiscordConstants.ActionTypes.USER_SETTINGS_UPDATE, ({settings}) => {
const newLocale = settings.locale;
if (newLocale && newLocale != this.locale) this.setLocale(newLocale.split("-")[0]);
});
}
async setLocale(newLocale) {
let newStrings;
if (newLocale != this.defaultLocale) {
const savedStrings = DataStore.getLocale(newLocale);
newStrings = savedStrings || await this.downloadLocale(newLocale);
if (!newStrings) return this.setLocale(this.defaultLocale);
}
else {
newStrings = DefaultStrings;
}
this.locale = newLocale;
Utilities.extend(this.strings, newStrings);
Events.emit("strings-updated");
}
downloadLocale(locale) {
return new Promise(resolve => {
const options = {
url: `https://raw.githubusercontent.com/rauenzi/BetterDiscordApp/development/data/locales/${locale}.json`,//`https://rauenzi.github.io/BetterDiscordApp/data/locales/${discordLocale}.json`,
timeout: 2000,
json: true
};
request.get(options, (err, resp, newStrings) => {
if (err || resp.statusCode !== 200) return resolve(null);
resolve(newStrings);
});
});
}
};

View File

@ -13,4 +13,5 @@ export {default as DOMManager} from "./dommanager";
export {default as Logger} from "./logger";
export {default as Patcher} from "./patcher";
export {default as ReactComponents} from "./reactcomponents";
export {default as LocaleManager} from "./localemanager";
export {default as Strings} from "./strings";

View File

@ -1,51 +1,7 @@
import DiscordModules from "./discordmodules";
import RawStrings from "../data/strings";
import Utilities from "./utilities";
import LocaleManager from "./localemanager";
import FormattableString from "../structs/string";
import Events from "./emitter";
import DataStore from "./datastore";
const request = require("request");
const discordLocale = UserSettingsStore.locale.split("-")[0];
const savedStrings = DataStore.getLocale(discordLocale);
if (!savedStrings) {
const options = {
url: "https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_subscriber.json",
timeout: 5000,
json: true
};
request.get(options, (err, resp, newStrings) => {
if (err) return;
DataStore.saveLocale(discordLocale, newStrings);
Utilities.extend(Messages, newStrings);
Events.emit("strings-updated");
});
}
const {Dispatcher, DiscordConstants, UserSettingsStore} = DiscordModules;
const Messages = {};
export let currentLocale = "en";
export function setLocale(newLocale) {
currentLocale = newLocale;
Utilities.extend(Messages, RawStrings[currentLocale]);
Events.emit("strings-updated");
}
Utilities.extend(Messages, RawStrings[currentLocale]);
// if (RawStrings[discordLocale] && discordLocale != currentLocale) setLocale(discordLocale);
Dispatcher.subscribe(DiscordConstants.ActionTypes.USER_SETTINGS_UPDATE, ({settings}) => {
const newLocale = settings.locale;
if (newLocale && newLocale != currentLocale) setLocale(newLocale.split("-")[0]);
});
export default new Proxy(Messages, {
export default new Proxy(LocaleManager.strings, {
get: function(strings, category) {
if (!strings.hasOwnProperty(category)) {
return new Proxy({}, {