Add: bg/cs/de locales

This commit is contained in:
Cutls 2019-08-07 09:24:52 +09:00
parent 0a1d462ace
commit da6993730c
49 changed files with 9611 additions and 8 deletions

228
app/js/lang/lang.bg.js Normal file
View File

@ -0,0 +1,228 @@
var lang={
"language": "en",
"lang_toot": "Раздумай",
"lang_there": "Да",
"lang_nothing": "Няма",
"lang_yesno": "Да",
"lang_no": "Не",
"lang_progress": "Изчакайте...",
"lang_edit": "Редактиране",
"lang_del": "Изтрий",
"lang_add": "Добави",
"lang_fatalerroroccured": "Възникнаха някои грешки, моля рестартирайте Desk.",
"lang_speech": "Google US English",
"lang_lang": "Език",
"lang_langlocale": "Английски",
"lang_back": "Назад",
"lang_set": "Задай",
"lang_langadd": "Преведете TheDesk на други езици или проверете TheDesk на <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\"> GitHub </a>. TheDesk се нуждае от вашата помощ.",
"lang_version_usever": "Не е намерена актуализация({{ver}})",
"lang_version_skipver": "Актуализацията бе игнорирана.",
"lang_version_platform": "Искате ли автоматични актуализации? (За потребителите инсталирали от Microsoft Store, изберете „Не“)",
"lang_version_platform_linux": "Искате ли автоматични актуализации? (За потребителите инсталирали от Snapcraft, изберете „Не“)",
"lang_version_platform_mac": "Искате ли автоматични актуализации? (За потребителите на Homebrew Cask изберете „Не“)",
"lang_login_noauth": "Показване на TL на нерегистрирани профили",
"lang_manager_info": "За тази инстанция",
"lang_manager_refresh": "Обнови",
"lang_manager_delete": "Излизане",
"lang_manager_color": "Цвят на профила",
"lang_manager_confirm": "е на път да излезе. Продължаване?",
"lang_manager_mainAcct": "Готово: изберете основния профил",
"lang_manager_def": "По подразбиране",
"lang_manager_none": "Няма",
"lang_manager_godev": "Отворете DevCenter на Misskey. Ние показваме официални документи, на които се позоваваме.",
"lang_manager_logout": "Излизане",
"lang_bbmd_misskey": "TheDesk разглежда \"@\" като отговор, но поставя друг параметър. Ако не е включено в Mastodon това означава, че е в Home на Misskey.",
"lang_emoji_get": "Вземи емотикони",
"lang_emoji_custom": "Персонализирани емотикони",
"lang_defaultemojis_text": "Още емотикони {{cat}}",
"lang_postimg_previewdis": "не може да се визуализира",
"lang_postimg_aftupload": "Не можете да променяте профилите след качването.",
"lang_postimg_delete": "Изтрийте това изображение.",
"lang_post_tagTL": "Тази раздумка не съдържа маркер по подразбиране. Тази раздумка няма да се показва в локалния TL. Продължавате?",
"lang_post_tagVis": "Тази раздумка (не е \"публична\") не е показана с този етикет в ТЛ.",
"lang_post_cwtitle": "Авто CW Сигнал",
"lang_post_cwtxt": "На път сте да публикувате по-дълга раздумка, отколкото е зададена.\nТекст на предупреждението:",
"lang_post_btn1": "Отказ (няма да се публикува)",
"lang_post_btn2": "Текстът да се скрива автоматично",
"lang_post_btn3": "Продължете към публикуването",
"lang_status_favWarn": "Ще отнеме минута раздумката отдалечено да стане любима.",
"lang_status_btWarn": "Ще отнеме минута раздумката отдалечено да бъде подсилена.",
"lang_status_follow": "Следване",
"lang_status_unfollow": "Спри следенето",
"lang_status_block": "Блокирай",
"lang_status_unblock": "Отблокирай",
"lang_status_mute": "Без звук",
"lang_status_unmute": "Със звук",
"lang_status_redraftTitle": "Изтрий & върни",
"lang_status_redraft": "Продължете да изтривате & преработвате? Ще изгубите статуса на тази раздумка. В тази функция може да се съдържат някои грешки. Снимките от тази раздумка ще бъдат изтрити на по-стари от Mastodon 2.4.1.",
"lang_status_emphas": "'s toots are emphasized. Please reload after this action.",
"lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.",
"lang_status_unendorse": "Not feature on profile",
"lang_status_endorse": "Feature on profile",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
"lang_details_url": "URL of this toot is cliped.",
"lang_details_txt": "Content of this toot is cliped.",
"lang_filter_nodata": "No data",
"lang_filter_errordegree": "Please check a context",
"lang_list_nodata": "No data",
"lang_list_show": "Show",
"lang_list_users": "Users list",
"lang_list_nouser": "No users in this list.",
"lang_list_add": "Add to the list",
"lang_list_add_misskey": "(perhaps this user has been listed)",
"lang_list_remove": "Remove from the list",
"lang_notf_new": " new notifications",
"lang_speech_refresh": "Save value about TTS config",
"lang_src_ts": "chronological order",
"lang_src_people": " people toot",
"lang_tags_always": "Always toots with ",
"lang_tags_realtime": "Tag-stream toot",
"lang_tags_tagunpin": "Unpin {{tag}}",
"lang_tags_unrealtime": "Disable TsT",
"lang_tags_tagwarn": "Автоматично попълване на {{tag}}, ако раздумката няма {{tag}}",
"lang_tl_media": "Media",
"lang_tl_reconnect": "Reconnect to streaming API",
"lang_img_DLDone": "Downloaded:",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account",
"lang_layout_delthis": "Remove this column",
"lang_layout_setthis": "Preferences of this column",
"lang_layout_mediafil": "Media filtering",
"lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reconnect to streaming API",
"lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Показване в BT режим (ИЗКЛ./Изключване BT/ Само в BT)",
"lang_layout_leftFold": "Стъпка наляво",
"lang_layout_leftUnfold": "Док отдясно",
"lang_layout_deleteColumn": "Премахване на тази колона",
"lang_layout_deleteColumnDesc": "Премахване на тази колона",
"lang_sort_gothis": "Отидете в тази колона",
"lang_sort_remthis": "Премахване на тази колона",
"lang_spotify_img": "Attach an album artwork",
"lang_spotify_imgno": "Not attach an album artwork",
"lang_spotify_acct": "Connect TheDesk to Spotify",
"lang_spotify_np": "Готово:шаблон на NowPlaying",
"lang_setting_npprovide": "NowPlaying provider:{{set}}",
"lang_hisdata_frcreq": "Required Mastodon 2.4.3 and above",
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you",
"lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.",
"lang_showontl_verified": "This website is verified by owner at ",
"lang_parse_mentioned": " replied to you",
"lang_parse_faved": " favourited your toot",
"lang_parse_bted": " boosted your toot",
"lang_parse_btedsimple": " boosted",
"lang_parse_polled": "'s poll",
"lang_parse_notftime": "Actioned at",
"lang_parse_cwshow": "Show",
"lang_parse_fulltext": "Full size text:",
"lang_parse_autofold": "Auto folded",
"lang_parse_more": "More",
"lang_parse_url": "URL Analyzer",
"lang_parse_tagTL": "Timeline of {{tag}}",
"lang_parse_tagtoot": "Toot with {{tag}}",
"lang_parse_tagpin": "Pin {{tag}}",
"lang_parse_public": "Public",
"lang_parse_unlisted": "Unlisted",
"lang_parse_private": "Private",
"lang_parse_direct": "Direct",
"lang_parse_clickcopy": "Click to copy text of this toot",
"lang_parse_clickcopyurl": "Click to copy URL of this toot",
"lang_parse_trans": "Translate to Japanese",
"lang_parse_replyto": "Reply to this toot",
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Изтрийте тази раздумка",
"lang_parse_pin": "Pin this toot",
"lang_parse_det": "Details via your main account.",
"lang_parse_redraft": "Изтрий & върни",
"lang_parse_followed": "Followed you",
"lang_parse_clientop": "Operation of this client",
"lang_parse_clienttxt": " will be",
"lang_parse_clientno": "done nothing",
"lang_parse_clientemp": "emphasized(/not emphasized)",
"lang_parse_clientmute": "muted",
"lang_parse_mute": " will be muted. You can remove on preferences.",
"lang_parse_voted": "Voted",
"lang_parse_vote": "Vote",
"lang_parse_unvoted": "Show the result without voting",
"lang_parse_endedvote": "Expired",
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "NSFW media",
"lang_parse_notffilter": "Show this user's notifications",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction",
"lang_misskeyparse_tagnostr": "No streaming API on Tag TLs",
"lang_misskeyparse_listnostr": "No streaming API on List TLs",
"lang_misskeyparse_home": "Home",
"lang_misskeyparse_followers": "Follower",
"lang_misskeyparse_specified": "Specified User",
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
"lang_misskeyparse_renoted": " renoted your following post.",
"lang_misskeyparse_quoted": " quoted your following post.",
"lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}",
"lang_setting_nsfw": "NSFW:{{set}}",
"lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}",
"lang_setting_cws": "Always CW on:{{set}}",
"lang_setting_rp": "Reply counter:{{set}}",
"lang_setting_vis": "Default visibility:{{set}}",
"lang_setting_popup": "Popup notification:{{set}}",
"lang_setting_off": "Off",
"lang_setting_s": "s",
"lang_setting_box": "Default toot box action:{{set}}",
"lang_setting_gif": "GIF:{{set}}",
"lang_setting_selt": "Автоматично сгъване:{{set1}} линии по-нагоре,{{set2}} букви по-нагоре",
"lang_setting_autocw": "Автоматично CW:{{set1}} линии по-нагоре, {{set2}} букви по-нагоре",
"lang_setting_width": "Minimam width:{{set}}",
"lang_setting_fixwidth": "TweetDeck fixed width:{{set}}px",
"lang_setting_img": "After posting an image:{{set}}",
"lang_setting_font": "Fonts:{{set}}",
"lang_setting_default": "default font",
"lang_setting_size": "Font size:{{set}}px",
"lang_setting_imgheight": "Image height:{{set}}px",
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
"lang_setting_animation": "Animation: {{set}}",
"lang_setting_tag": "Tag TL:{{set}}",
"lang_setting_boxConfirm": "Post box:{{set}}",
"lang_setting_ul": "Native locale:{{set}}",
"lang_setting_notf": "Native notification:{{set}}",
"lang_setting_quote": "Quote format:{{set}}",
"lang_setting_via": "Via:{{set}}",
"lang_setting_mov": "Action buttons hiding:{{set}}",
"lang_setting_setasread": "Notification markers:{{set}}",
"lang_setting_main": "Default account:{{set}}",
"lang_setting_sec": "Secondary toot button:{{set}}",
"lang_setting_ksref": "Keyboard shortcuts are refreshed.",
"lang_setting_nomuting": "No client is muted.",
"lang_setting_notftest": " Notification test ",
"lang_setting_notftestprof": "Your icon is shown.",
"lang_setting_exportwarn": "Only important data will be exported. You must keep this data secure.",
"lang_setting_importwarn": "Всички данни ще бъдат изтрити."
}

228
app/js/lang/lang.cs.js Normal file
View File

@ -0,0 +1,228 @@
var lang={
"language": "cs",
"lang_toot": "Toot",
"lang_there": "Ano",
"lang_nothing": "Nic",
"lang_yesno": "Ano",
"lang_no": "Ne",
"lang_progress": "Čekejte...",
"lang_edit": "Upravit",
"lang_del": "Smazat",
"lang_add": "Přidat",
"lang_fatalerroroccured": "Vyskytly se nějaké chyby, prosím restartujte TheDesk.",
"lang_speech": "Google Čeština",
"lang_lang": "Jazyk",
"lang_langlocale": "Čeština",
"lang_back": "Zpět",
"lang_set": "Nastavit",
"lang_langadd": "Přeložte TheDesk do jiných jazyků nebo opravte existující překlad na <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHubu</a> nebo <a href=\"https://translate.thedesk.top/\" target=\"_blank\">Crowdinu</a>. TheDesk potřebuje vaši pomoc.",
"lang_version_usever": "Nebyla nalezena žádná aktualizace ({{ver}})",
"lang_version_skipver": "Aktualizace byla ignorována.",
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
"lang_login_noauth": "Zobrazit časové osy nepřihlášených účtů",
"lang_manager_info": "O tomto serveru",
"lang_manager_refresh": "Obnovit",
"lang_manager_delete": "Odhlásit",
"lang_manager_color": "Barva účtu",
"lang_manager_confirm": "se chce odhlásit. Pokračovat?",
"lang_manager_mainAcct": "Hotovo: vyberte hlavní účet",
"lang_manager_def": "Výchozí",
"lang_manager_none": "Žádný",
"lang_manager_godev": "Otevřené vývojářské centrum softwaru Misskey. Zobrazujeme také oficiální dokumentaci.",
"lang_manager_logout": "Logout",
"lang_bbmd_misskey": "TheDesk považuje „@“ za odpověď, ale vkládá ho do jiných parametrů. „Neuvedeno“ na Mastodonu znamená „Domů“ na Misskey.",
"lang_emoji_get": "Získat emoji",
"lang_emoji_custom": "Vlastní emoji",
"lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_postimg_previewdis": "nelze vytvořit náhled",
"lang_postimg_aftupload": "Po nahrání nemůžete změnit účty.",
"lang_postimg_delete": "Delete this image.",
"lang_post_tagTL": "Tento toot neobsahuje výchozí hashtag. Tento toot nebude zobrazen na výchozí časové ose. Pokračovat?",
"lang_post_tagVis": "Tento toot (ne „veřejný“ toot) není zobrazen na časové ose tohoto hashtagu.",
"lang_post_cwtitle": "Automatické varování o obsahu",
"lang_post_cwtxt": "Chcete napsat delší toot, než jste nastavil/a.\nText varování:",
"lang_post_btn1": "Zrušit (příspěvek nebude publikován)",
"lang_post_btn2": "Skrýt text automaticky",
"lang_post_btn3": "Pokračovat k přispívání",
"lang_status_favWarn": "Oblíbení vzdáleného tootu bude chvíli trvat.",
"lang_status_btWarn": "Boostnutí vzdáleného tootu bude chvíli trvat.",
"lang_status_follow": "Sledovat",
"lang_status_unfollow": "Přestat sledovat",
"lang_status_block": "Blokovat",
"lang_status_unblock": "Odblokovat",
"lang_status_mute": "Ignorovat",
"lang_status_unmute": "Přestat ignorovat",
"lang_status_redraftTitle": "Delete & redraft",
"lang_status_redraft": "Chcete pokračovat k vymazání a přepsání? Ztratíte odpovědi na tento toot. Tato funkce může obashovat několik chyb. Obrázky v tomto tootu budou na verzi Mastodonu starší než 2.4.1 smazány.",
"lang_status_emphas": ": tooty tohoto uživatele jsou zdůrazněny. Po této akci prosím obnovte stránku.",
"lang_status_unemphas": ": tooty tohoto uživatele nejsou zdůrazněny. Po této akci prosím obnovte stránku.",
"lang_status_unendorse": "Nepředstavit na profilu",
"lang_status_endorse": "Představit na profilu",
"lang_suggest_nodata": "Pro zobrazení návrhu prosím získejte seznam emoji.",
"lang_usetxtbox_reply": "Režim odpovězení. Pro vymazání stiskněte Ctrl+Shift+C.",
"lang_cards_check": " kontrolovat",
"lang_cards_pip": "Režim PiP",
"lang_details_nodata": "Žádná data",
"lang_details_filtered": "Filtrovaný toot",
"lang_details_embed": "HTML pro vložení je zkopírován.",
"lang_details_url": "URL adresa tohoto tootu je zkopírována.",
"lang_details_txt": "Obsah tohoto tootu je zkopírován.",
"lang_filter_nodata": "Žádná data",
"lang_filter_errordegree": "Prosím zkontrolujte kontext",
"lang_list_nodata": "Žádná data",
"lang_list_show": "Zobrazit",
"lang_list_users": "Seznam uživatelů",
"lang_list_nouser": "Žádní uživatelé na tomto seznamu.",
"lang_list_add": "Přidat na seznam",
"lang_list_add_misskey": "(perhaps this user has been listed)",
"lang_list_remove": "Odstranit ze seznamu",
"lang_notf_new": " nových oznámení",
"lang_speech_refresh": "Uložit hodnotu nastavení TTS",
"lang_src_ts": "chronologické pořadí",
"lang_src_people": " lidí tootují",
"lang_tags_always": "Vždy tootnout s ",
"lang_tags_realtime": "Tag-stream toot",
"lang_tags_tagunpin": "Odepnout {{tag}}",
"lang_tags_unrealtime": "Disable TsT",
"lang_tags_tagwarn": "Auto complete {{tag}}, if toot without {{tag}}",
"lang_tl_media": "Média",
"lang_tl_reconnect": "Reconnect to streaming API",
"lang_img_DLDone": "Downloaded:",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} tohoto účtu",
"lang_layout_delthis": "Odstranit tento sloupec",
"lang_layout_setthis": "Nastavení tohoto sloupce",
"lang_layout_mediafil": "Filtrování médií",
"lang_layout_linkana": "Automatický analyzátor odkazů",
"lang_layout_linkanades": "Automatický analyzátor odkazů",
"lang_layout_tts": "Převod textu na řeč ",
"lang_layout_reconnect": "Reconnect to streaming API",
"lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[Žádná data]<br>Obnovte stránku klávesami F5/⌘+R",
"lang_layout_dm": "Přímá zpráva",
"lang_layout_webviewmode": "Preferovat WebView",
"lang_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
"lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column",
"lang_layout_deleteColumnDesc": "Delete this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",
"lang_spotify_imgno": "Not attach an album artwork",
"lang_spotify_acct": "Spojit TheDesk se Spotify",
"lang_spotify_np": "Hotovo: šablona NowPlaying",
"lang_setting_npprovide": "NowPlaying provider:{{set}}",
"lang_hisdata_frcreq": "Vyžaduje Mastodon 2.4.3 nebo vyšší verzi",
"lang_hisdata_frcwarn": "Budou zobrazeny již nesledované účty.",
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_movetxt": "Tento účet byl přesunut",
"lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[robot]",
"lang_showontl_followed": "Sledují vás",
"lang_showontl_notf": "Oznámení ",
"lang_showontl_domain": "Doména ",
"lang_showontl_listwarn": "Follow to add this user to lists.",
"lang_showontl_verified": "This website is verified by owner at ",
"lang_parse_mentioned": " vám odpověděl/a",
"lang_parse_faved": " si oblíbil/a váš toot",
"lang_parse_bted": " boostnul/a váš toot",
"lang_parse_btedsimple": " boostnul/a",
"lang_parse_polled": "'s poll",
"lang_parse_notftime": "Provedeno",
"lang_parse_cwshow": "Zobrazit",
"lang_parse_fulltext": "Celý text:",
"lang_parse_autofold": "Auto folded",
"lang_parse_more": "Více",
"lang_parse_url": "Analyzátor URL",
"lang_parse_tagTL": "Časová osa {{tag}}",
"lang_parse_tagtoot": "Tootnout s hashtagem {{tag}}",
"lang_parse_tagpin": "Připnout {{tag}}",
"lang_parse_public": "Veřejný",
"lang_parse_unlisted": "Neuvedený",
"lang_parse_private": "Soukromý",
"lang_parse_direct": "Přímý",
"lang_parse_clickcopy": "Klikněte pro zkopírování textu tohoto tootu",
"lang_parse_clickcopyurl": "Klikněte pro zkopírování URL adresy tohoto tootu",
"lang_parse_trans": "Přeložit do japonštiny",
"lang_parse_replyto": "Odpovědět na tento toot",
"lang_parse_bt": "Boostnout tento toot",
"lang_parse_fav": "Oblíbit si tento toot",
"lang_parse_quote": "Citovat tento toot",
"lang_parse_del": "Smazat tento toot",
"lang_parse_pin": "Připnout tento toot",
"lang_parse_det": "Details via your main account.",
"lang_parse_redraft": "Vymazat a přepsat",
"lang_parse_followed": "vás nyní sleduje",
"lang_parse_clientop": "Operace tohoto klienta",
"lang_parse_clienttxt": " bude",
"lang_parse_clientno": "nic nedělat",
"lang_parse_clientemp": "zdůrazněna (nebo nezdůrazněna)",
"lang_parse_clientmute": "ztlumena",
"lang_parse_mute": " bude ztlumena. To můžete odstranit v nastavení.",
"lang_parse_voted": "Voted",
"lang_parse_vote": "Vote",
"lang_parse_unvoted": "Show the result without voting",
"lang_parse_endedvote": "Expired",
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "NSFW media",
"lang_parse_notffilter": "Show this user's notifications",
"lang_misskeyparse_renote": "Znovusdílení",
"lang_misskeyparse_renoteqt": "Renotování",
"lang_misskeyparse_reaction": "Reakce",
"lang_misskeyparse_tagnostr": "Žádné streamovací API na časových osách hashtagů",
"lang_misskeyparse_listnostr": "Žádné streamovací API na časových osách seznamů",
"lang_misskeyparse_home": "Domů",
"lang_misskeyparse_followers": "Sledující",
"lang_misskeyparse_specified": "Určený uživatel",
"lang_misskeyparse_qt": "Režim renotování (citace) Misskey: pro vymazání stiskněte Ctrl+Shift+Enter",
"lang_misskeyparse_renoted": " renotoval/a váš následující příspěvek.",
"lang_misskeyparse_quoted": " citoval/a váš následující příspěvek.",
"lang_misskeyparse_reacted": " reagoval/a na váš následující příspěvek.",
"lang_setting_time": "Časový formát: {{set}}",
"lang_setting_theme": "Motiv: {{set}}",
"lang_setting_nsfw": "Citlivý obsah: {{set}}",
"lang_setting_cw": "Varování: {{set}}",
"lang_setting_cwtext": "Výchozí text varování: {{set}}",
"lang_setting_cws": "Vždy zapnout varování na: {{set}}",
"lang_setting_rp": "Počitadlo odpovědí: {{set}}",
"lang_setting_vis": "Výchozí viditelnost: {{set}}",
"lang_setting_popup": "Popupové oznámení: {{set}}",
"lang_setting_off": "Vyl",
"lang_setting_s": "s",
"lang_setting_box": "Výchozí akce tootového pole: {{set}}",
"lang_setting_gif": "GIF: {{set}}",
"lang_setting_selt": "Auto fold:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_autocw": "Auto CW:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_width": "Minimam width:{{set}}",
"lang_setting_fixwidth": "TweetDeck fixed width:{{set}}px",
"lang_setting_img": "After posting an image:{{set}}",
"lang_setting_font": "Písma: {{set}}",
"lang_setting_default": "výchozí písmo",
"lang_setting_size": "Velikost písma: {{set}} px",
"lang_setting_imgheight": "Výška obrázků: {{set}} px",
"lang_setting_ticker": "#InstanceTicker: {{set}} px",
"lang_setting_animation": "Animation: {{set}}",
"lang_setting_tag": "Časová osa hashtagu: {{set}}",
"lang_setting_boxConfirm": "Post box:{{set}}",
"lang_setting_ul": "Native locale:{{set}}",
"lang_setting_notf": "Native notification:{{set}}",
"lang_setting_quote": "Formát citace: {{set}}",
"lang_setting_via": "Přes: {{set}}",
"lang_setting_mov": "Action buttons hiding:{{set}}",
"lang_setting_setasread": "Notification markers:{{set}}",
"lang_setting_main": "Default account:{{set}}",
"lang_setting_sec": "Secondary toot button:{{set}}",
"lang_setting_ksref": "Keyboard shortcuts are refreshed.",
"lang_setting_nomuting": "Žádný klient není ztlumen.",
"lang_setting_notftest": " Test oznámení ",
"lang_setting_notftestprof": "Vaše ikona je zobrazena.",
"lang_setting_exportwarn": "Budou exportována pouze důležitá data. Tato data musíte udržet v bezpečí.",
"lang_setting_importwarn": "Všechna data budou smazána."
}

228
app/js/lang/lang.de.js Normal file
View File

@ -0,0 +1,228 @@
var lang={
"language": "en",
"lang_toot": "Tröt",
"lang_there": "Ja",
"lang_nothing": "Ohne",
"lang_yesno": "Ja",
"lang_no": "Nein",
"lang_progress": "Warten...",
"lang_edit": "Bearbeiten",
"lang_del": "Löschen",
"lang_add": "Hinzufügen",
"lang_fatalerroroccured": "Ein Fehler ist aufgetreten, bitte starten Sie TheDesk neu.",
"lang_speech": "Google US Englisch",
"lang_lang": "Sprache",
"lang_langlocale": "Englisch",
"lang_back": "Zurück",
"lang_set": "Setzen",
"lang_langadd": "Übersetzen oder korrigieren Sie TheDesk in andere Sprachen auf <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk benötigt Ihre Hilfe.",
"lang_version_usever": "Keine Aktualisierung gefunden({{ver}})",
"lang_version_skipver": "Update wurde ignoriert.",
"lang_version_platform": "Möchten Sie automatische Updates?(Benutzer im Microsoft Store wählen 'Nein')",
"lang_version_platform_linux": "Möchten Sie automatische Updates?(Benutzer auf Snapcraft wählen 'Nein')",
"lang_version_platform_mac": "Möchten Sie automatische Updates?(Homebrew Cask Benutzer wählen 'Nein')",
"lang_login_noauth": "Verläufe von nicht angemeldeten Konten anzeigen",
"lang_manager_info": "Über diese Instanz",
"lang_manager_refresh": "Aktualisieren",
"lang_manager_delete": "Abmelden",
"lang_manager_color": "Kontofarbe",
"lang_manager_confirm": "is about to logout. Continue?",
"lang_manager_mainAcct": "Done:choose main account",
"lang_manager_def": "Standard",
"lang_manager_none": "Ohne",
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Abmelden",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
"lang_defaultemojis_text": "Emojis über {{cat}}",
"lang_postimg_previewdis": "cannot preview",
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
"lang_postimg_delete": "Dieses Bild löschen.",
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
"lang_post_tagVis": "Dieser Tröt (nicht 'öffentlicher' Tröt) wird nicht in diesem Tag-Verlauf angezeigt.",
"lang_post_cwtitle": "Auto CW Alert",
"lang_post_cwtxt": "You are about to post longer toot than you set.\nWarning text:",
"lang_post_btn1": "Abbrechen (wird nicht gesendet)",
"lang_post_btn2": "Text automatisch ausblenden",
"lang_post_btn3": "Weiter mit Senden",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Folgen",
"lang_status_unfollow": "Nicht mehr folgen",
"lang_status_block": "Blockieren",
"lang_status_unblock": "Freigeben",
"lang_status_mute": "Stummschalten",
"lang_status_unmute": "Stummschalten aufheben",
"lang_status_redraftTitle": "Delete & redraft",
"lang_status_redraft": "Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.",
"lang_status_emphas": "'s toots are emphasized. Please reload after this action.",
"lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.",
"lang_status_unendorse": "Not feature on profile",
"lang_status_endorse": "Auf dem Profil zeigen",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " überprüfen",
"lang_cards_pip": "PiP mode",
"lang_details_nodata": "Keine Daten",
"lang_details_filtered": "Gefilterter Tröt",
"lang_details_embed": "Embed HTML is cliped.",
"lang_details_url": "URL of this toot is cliped.",
"lang_details_txt": "Content of this toot is cliped.",
"lang_filter_nodata": "Keine Daten",
"lang_filter_errordegree": "Please check a context",
"lang_list_nodata": "Keine Daten",
"lang_list_show": "Anzeigen",
"lang_list_users": "Benutzerliste",
"lang_list_nouser": "Keine Benutzer in dieser Liste.",
"lang_list_add": "Zur Liste hinzufügen",
"lang_list_add_misskey": "(perhaps this user has been listed)",
"lang_list_remove": "Aus Liste entfernen",
"lang_notf_new": " neue Benachrichtigungen",
"lang_speech_refresh": "Save value about TTS config",
"lang_src_ts": "chronologische Reihenfolge",
"lang_src_people": " people toot",
"lang_tags_always": "Immer Tröten mit ",
"lang_tags_realtime": "Tag-stream toot",
"lang_tags_tagunpin": "Unpin {{tag}}",
"lang_tags_unrealtime": "Disable TsT",
"lang_tags_tagwarn": "Auto complete {{tag}}, if toot without {{tag}}",
"lang_tl_media": "Medien",
"lang_tl_reconnect": "Mit Streaming API erneut verbinden",
"lang_img_DLDone": "Heruntergeladen:",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account",
"lang_layout_delthis": "Diese Spalte löschen",
"lang_layout_setthis": "Einstellungen dieser Spalte",
"lang_layout_mediafil": "Medien filtern",
"lang_layout_linkana": "Automatische Link-Analyse",
"lang_layout_linkanades": "Automatische Link-Analyse",
"lang_layout_tts": "Sprachausgabe ",
"lang_layout_reconnect": "Mit Streaming API erneut verbinden",
"lang_layout_headercolor": "Kopfzeilenfarbe dieser Spalte",
"lang_layout_nodata": "[Keine Daten]<br>F5/⌘+R zum Neu laden",
"lang_layout_dm": "Direkte Nachricht",
"lang_layout_webviewmode": "Web-Ansicht bevorzugen",
"lang_excluded": "Ausgeschlossene Benachrichtigungsart",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
"lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Diese Spalte löschen",
"lang_layout_deleteColumnDesc": "Diese Spalte löschen",
"lang_sort_gothis": "Gehe zu dieser Spalte",
"lang_sort_remthis": "Diese Spalte löschen",
"lang_spotify_img": "Albumcover anhängen",
"lang_spotify_imgno": "Not attach an album artwork",
"lang_spotify_acct": "TheDesk mit Spotify verbinden",
"lang_spotify_np": "Done:templete of NowPlaying",
"lang_setting_npprovide": "NowPlaying Provider:{{set}}",
"lang_hisdata_frcreq": "Benötigte Mastodon 2.4.3 und höher",
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey kann nicht angefordert werden.",
"lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_movetxt": "Dieses Konto wurde verschoben",
"lang_showontl_movebtn": "Auf dem neuen Konto fortfahren",
"lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Folgt dir",
"lang_showontl_notf": "Benachrichtigung ",
"lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.",
"lang_showontl_verified": "This website is verified by owner at ",
"lang_parse_mentioned": " replied to you",
"lang_parse_faved": " favorisierte deinen Tröt",
"lang_parse_bted": " hat deinen Tröt verstärkt",
"lang_parse_btedsimple": " verstärkt",
"lang_parse_polled": "'s poll",
"lang_parse_notftime": "Actioned at",
"lang_parse_cwshow": "Anzeigen",
"lang_parse_fulltext": "Full size text:",
"lang_parse_autofold": "Auto folded",
"lang_parse_more": "Mehr",
"lang_parse_url": "URL-Analyse",
"lang_parse_tagTL": "Verlauf von {{tag}}",
"lang_parse_tagtoot": "Tröt mit {{tag}}",
"lang_parse_tagpin": "Pin {{tag}}",
"lang_parse_public": "Öffentlich",
"lang_parse_unlisted": "Nicht aufgeführt",
"lang_parse_private": "Privat",
"lang_parse_direct": "Direkt",
"lang_parse_clickcopy": "Klicken, um den Text dieses Tröts zu kopieren",
"lang_parse_clickcopyurl": "Klicken, um die URL dieses Tröts zu kopieren",
"lang_parse_trans": "Übersetzen nach Japanisch",
"lang_parse_replyto": "Auf diesen Tröt antworten",
"lang_parse_bt": "Diesen Tröt verstärken",
"lang_parse_fav": "Diesen Tröt favorisieren",
"lang_parse_quote": "Diesen Tröt zitieren",
"lang_parse_del": "Diesen Tröt löschen",
"lang_parse_pin": "Dieses Tröt fixieren",
"lang_parse_det": "Details via your main account.",
"lang_parse_redraft": "Delete & re-draft",
"lang_parse_followed": "Folgt dir",
"lang_parse_clientop": "Operation of this client",
"lang_parse_clienttxt": " will be",
"lang_parse_clientno": "done nothing",
"lang_parse_clientemp": "emphasized(/not emphasized)",
"lang_parse_clientmute": "Stumm",
"lang_parse_mute": " wird stumm gemacht. Kann in den Einstellungen wieder entfernt werden.",
"lang_parse_voted": "Abgestimmt",
"lang_parse_vote": "Abstimmen",
"lang_parse_unvoted": "Ergebnis ohne Abstimmung anzeigen",
"lang_parse_endedvote": "Abgelaufen",
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Angehängte Datei",
"lang_parse_nsfw": "NSFW Medien",
"lang_parse_notffilter": "Benachrichtigungen dieses Benutzers anzeigen",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaktion",
"lang_misskeyparse_tagnostr": "No streaming API on Tag TLs",
"lang_misskeyparse_listnostr": "No streaming API on List TLs",
"lang_misskeyparse_home": "Startseite",
"lang_misskeyparse_followers": "Abonnent",
"lang_misskeyparse_specified": "Ausgewählte Benutzer",
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
"lang_misskeyparse_renoted": " hat deinen folgenden Beitrag zurückgewiesen.",
"lang_misskeyparse_quoted": " zitierte deinen folgenden Beitrag.",
"lang_misskeyparse_reacted": " hat auf Ihren folgenden Beitrag reagiert.",
"lang_setting_time": "Zeitformat:{{set}}",
"lang_setting_theme": "Theme:{{set}}",
"lang_setting_nsfw": "NSFW:{{set}}",
"lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}",
"lang_setting_cws": "Always CW on:{{set}}",
"lang_setting_rp": "Antwortzähler:{{set}}",
"lang_setting_vis": "Standardsichtbarkeit:{{set}}",
"lang_setting_popup": "Popup-Benachrichtigung:{{set}}",
"lang_setting_off": "Aus",
"lang_setting_s": "s",
"lang_setting_box": "Standard-Tröt-Box-Aktion:{{set}}",
"lang_setting_gif": "GIF:{{set}}",
"lang_setting_selt": "Auto fold:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_autocw": "Auto CW:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_width": "Minimale Breite:{{set}}",
"lang_setting_fixwidth": "TweetDeck feste Breite:{{set}}px",
"lang_setting_img": "After posting an image:{{set}}",
"lang_setting_font": "Schriftart:{{set}}",
"lang_setting_default": "Standard-Schriftart",
"lang_setting_size": "Schriftgröße:{{set}}px",
"lang_setting_imgheight": "Bildhöhe:{{set}}px",
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
"lang_setting_animation": "Animation: {{set}}",
"lang_setting_tag": "Tag-Verlauf:{{set}}",
"lang_setting_boxConfirm": "Postfach:{{set}}",
"lang_setting_ul": "Native locale:{{set}}",
"lang_setting_notf": "System Benachrichtigungen:{{set}}",
"lang_setting_quote": "Zitierformat:{{set}}",
"lang_setting_via": "Via:{{set}}",
"lang_setting_mov": "Aktionstasten verstecken:{{set}}",
"lang_setting_setasread": "Benachrichtigungs-Markierungen:{{set}}",
"lang_setting_main": "Standard-Konto:{{set}}",
"lang_setting_sec": "Secondary toot button:{{set}}",
"lang_setting_ksref": "Tastaturkürzel werden aktualisiert.",
"lang_setting_nomuting": "Kein Client ist stumm.",
"lang_setting_notftest": " Benachrichtigungen testen ",
"lang_setting_notftestprof": "Ihr Symbol wird angezeigt.",
"lang_setting_exportwarn": "Nur wichtige Daten werden exportiert. Sie müssen diese Daten sichern.",
"lang_setting_importwarn": "Alle Daten werden gelöscht."
}

View File

@ -113,7 +113,7 @@ ipc.on('general-dl-message', function (event, arg) {
}) })
//setting.js //setting.js
ipc.on('langres', function (event, arg) { ipc.on('langres', function (event, arg) {
location.href = "../" + lang + "/setting.html" location.href = "../" + arg + "/setting.html"
}); });
ipc.on('exportSettingsFile', function (event, savedFiles) { ipc.on('exportSettingsFile', function (event, savedFiles) {
var exp = exportSettingsCore() var exp = exportSettingsCore()

View File

@ -1,5 +1,8 @@
// Create the Application's main menu // Create the Application's main menu
function templete(lang, mainWindow, packaged, dir) { function templete(lang, mainWindow, packaged, dir) {
if(lang !="ja" && lang != "en"){
lang = "en"
}
const electron = require("electron"); const electron = require("electron");
const app = electron.app; const app = electron.app;
const BrowserWindow = electron.BrowserWindow; const BrowserWindow = electron.BrowserWindow;

View File

@ -49,7 +49,7 @@ function system(mainWindow, dir, lang, dirname) {
console.log("set:" + arg); console.log("set:" + arg);
fs.writeFileSync(lang_path, arg); fs.writeFileSync(lang_path, arg);
e.sender.webContents.send('langres', ""); e.sender.webContents.send('langres', arg);
}) })
//エクスポートのダイアログ //エクスポートのダイアログ
ipc.on('exportSettings', function (e, args) { ipc.on('exportSettings', function (e, args) {

159
app/view/bg/acct.html Normal file
View File

@ -0,0 +1,159 @@
<!doctype html>
<html lang="bg">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<style>
.acct {
display: flex;
justify-content: space-around;
}
.card {
width: 400px;
background-color: #9e9e9e;
margin: 10px;
}
body,
html {
overflow-y: scroll;
}
#acct-list {
display: flex;
flex-wrap: wrap;
color: white;
align-items: flex-start
}
.lts {
font-size: 150%
}
.colorsel {
display: flex;
}
.card .colorsel div:not(.exc) {
width: 20px;
height: 20px;
}
.card .colorsel div.exc {
width: 40px;
height: 20px;
}
.first {
display: flex;
justify-content: center;
align-items: center
}
.first .hide-first {
display: none;
}
</style>
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body id="mainView">
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.bg.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script>
var misskeytoken = false;
</script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<div class="hide-first">
<a href="index.html" class="btn waves-effect orange nex"
style="width:100%; max-width:200px;">Назад</a><br>
<h5>Списък на профилите</h5>
<div id="acct-list"></div>
<div class="divider"></div>
</div>
<div>
<h5>Добавяне на профил</h5><br>
<div id="add">
<div class="row">
<div class="col s8">
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
<div id="ins-suggest"></div>
Премахнете отметката за да пропуснете влизането с код. (Вход в Mastodon от Windows или macOS) (Препоръчително: pcheck)<br>
<label>
<input type="checkbox" class="filled-in" id="linux" />
<span>Настройка на код</span>
</label>
<br>
<label>
<input type="checkbox" class="filled-in" id="misskey" />
<span>Влезте като Misskey</span>
</label><br>
<button class="btn waves-effect" onclick="instance()">Login</button><br>
</div>
<div class="col s4">
<span style="font-family:Open Sans;">Supports</span>
<div id="support" class="collection transparent"></div>
</div>
</div>
</div>
<div id="auth" style="display:none">
Поставете кода и затворете браузъра.<br>
<input type="text" id="code" placeholder="Код">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>
Прочетете <a href="https://thedesk.top/how-to-misskey-login.html">Документацията</a>, за да влезете в Misskey.<br>
<input type="hidden" id="misskey-url">
<input type="text" id="misskey-key" placeholder="Код">
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br>
</div>
</div>
<div class="hide-first">
<h5>Основен профил</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">Изберете профил</span>
<br>
<select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<label></label>
</div>
Some instance data by <a href="https://instances.social" target="_blank">instances.social API</a><br>
<h5 id="ins-title"></h5>
Administered by:<a id="ins-admin"></a><br>
<span id="ins-desc"></span><br>
<img src="../../img/loading.svg" id="ins-prof" width="200"><br>
<br>
Домейн:<span id="ins-name"></span><br>
Федерални сървъри:<span id="ins-connect"></span><br>
Тоот:<span id="ins-toot"></span><br>
Потребители:<span id="ins-user"></span>Потребители<br>
Свързване:<span id="ins-per"></span>%<br>
Mastodon версия:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
</div>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/common/sha256.js"></script>
<script type="text/javascript" src="../../js/login/tkn.js"></script>
<script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="../../js/login/manager.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

1106
app/view/bg/index.html Normal file

File diff suppressed because it is too large Load Diff

508
app/view/bg/setting.html Normal file
View File

@ -0,0 +1,508 @@
<!doctype html>
<html lang="bg" style="overflow:scroll">
<head>
<title>Settings - TheDesk</title>
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<style>
input {
max-height: 50px !important
}
.pcr-result {
height: 1rem !important;
}
</style>
</head>
<body id="mainView" style="overflow-y:scroll">
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.bg.js"></script>
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
<script src="../../node_modules/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<h4>Предпочитания</h4>
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
<i class="material-icons">desktop_windows</i>Системни предпочитания
</div>
<div class="collapsible-body">
<h5>Езици</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a><a onclick="changelang('bg')" class="pointer" style="margin-right:5px;">български</a><a onclick="changelang('cs')" class="pointer" style="margin-right:5px;">Česky</a><a onclick="changelang('de')" class="pointer" style="margin-right:5px;">Deutsch</a>
<h5>Внос и износ на предпочитания</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">Износ</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
style="width:100%; max-width:200px;">Внос</button>
<div id="envView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">Тест за уведомяване</a><br></template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<label>
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
<span>{{check.text}}</span>
</label>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Промяна</button>
</template><br>
</template>
</div>
<h5>Шрифт</h5>
Изберете любимия си шрифт с „Избор“ (само за Windows / macOS)<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">Избери</button><br>
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
<br>
<input type="text" style="width:150px" id="font">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Запази</button>
<br>
<h5>Папка за запазване</h5>
TheDesk ще използва това местоназначение, когато се опитва да запази снимки или да прави екранни снимки.<br>
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">Промяна</button>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">color_lens</i>Теми
</div>
<div class="collapsible-body">
<h4>Изберете тема</h4>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
<span>Black</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
<span>White</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo"
value="indigo" />
<span>Indigo<span class="imas hide">(エンドレスナイト)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
<span>Brown<span class="imas hide">(ビタースイート・タイム)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
<span>custom</span>
</label>
<div style="width:300px" id="sel-selector">
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
</div>
<h4>Редактирайте и добавете персонализирани теми</h4>
<div style="width:300px" id="edit-selector" data-add="Добавяне на нов">
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
<option value="add_new">Добавяне на нов</option>
</select>
</div>
<h5>Име</h5>
<input type="text" style="width:300px" id="custom_name" placeholder="Име...">
<h5>Относно тази тема</h5>
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
placeholder="Относно тази тема..."></textarea></div>
<h5>Цветова схема</h5>
<label>
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
checked="true" />
<span>Dark</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
value="light" />
<span>Light</span>
</label>
<div id="pickers">
<div>
<h5>Primary</h5>Компоненти на фона
<div id="color-picker0-wrap">
<div class="color-picker" id="color-picker0"></div>
</div>
<input type="hidden" id="color-picker0_value">
</div>
<div>
<h5>Secondary</h5>Цвят на фона
<div id="color-picker1-wrap">
<div class="color-picker" id="color-picker1"></div>
</div>
<input type="hidden" id="color-picker1_value">
</div>
<div>
<h5>Texts</h5>Цвят на текста
<div id="color-picker2-wrap">
<div class="color-picker" id="color-picker2"></div>
</div>
<input type="hidden" id="color-picker2_value">
</div>
<div>
<h5>Accent</h5>Фон на подсилването
<div id="color-picker3-wrap">
<div class="color-picker" id="color-picker3"></div>
</div>
<input type="hidden" id="color-picker3_value">
</div>
</div>
<button class="btn-large waves-effect" onclick="customComp()">Промяна</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Изтрий</button><br><br>
<input type="text" style="width:300px;height:40px;" id="custom_json" class="materialize-textarea"
placeholder="JSON style" readonly><br>
Споделете този код с друг TheDesk. Не споделяйте този код с MiAS.
<h4>Импортиране на персонализирани теми</h4>
Вземете още теми от <a href="https://assets.msky.cafe/" target="_blank">MiAS</a><br>
<input type="text" style="width:300px;height:40px;" id="custom_import" class="materialize-textarea"
placeholder="JSON/JSON5 style">
<button class="btn waves-effect" onclick="customImp()">Внос</button><br>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>Предпочитания за времевата линия
</div>
<div class="collapsible-body">
<div id="tlView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<label>
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
<span>{{check.text}}</span>
</label>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Промяна</button>
</template><br>
</template>
</div>
<h5>Персонализиран звук</h5>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
id="c1-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
id="c2-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
id="c3-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
id="c4-file"></span><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">send</i>Предпочитания за публикуване
</div>
<div class="collapsible-body">
<div id="postView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<template v-if="!check.kirishima || (check.kirishima && kirishima)">
<label><input class="with-gap" v-on:click="complete(i,check.value)"
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
v-bind:value="check.value" />
<span>{{check.text}}</span></label>
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
</template>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Промяна</button>
</template><br>
</template>
</div>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">keyboard</i>Keyboard shortcut Preferences
</div>
<div class="collapsible-body">
<h5>Easy inserter</h5>
Можете да вмъкнете всякакви букви и емотикони само с 3 клавиша<br>
Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">Запази</button><br><br>
Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2">
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">Запази</button><br><br>
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">Запази</button><br><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
</div>
<div class="collapsible-body">
<h5>Client Mute</h5>
<div id="mute-cli"></div>
<h5>Client Emphasis</h5>
Click client name on toots to toggle mute and emphasis.
<h5>Words Mute</h5>
Enter to set<br>
<div class="chips" id="wordmute" style="background-color:gray;"></div>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">Запази</button>
<h5>Words Emphasis</h5>
Enter to set<br>
<div class="chips" id="wordemp" style="background-color:gray;"></div>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">Запази</button>
<h5>Users Emphasis</h5>
Set on users data modals.
<span class="emphasized"> Use this color to emphasis </span>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
</div>
<div class="collapsible-body">
<h5>NowPlaying Provider(Windows)</h5>
macOS и Linux не се поддържат. AIMP и iTunes бяха проверени от разработчика. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>. И MusicBee изисква CAD.<br>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
<span>AIMP</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
value="ITUNES" />
<span>iTunes</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm"
value="MEDIAMONKEY" />
<span>MediaMonkey</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
value="WINAMP" />
<span>Winamp</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
<span>WMP</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
<span>WLM</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
<span>CAD</span>
</label>
<br><br>
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
<h5>Account Connection</h5>
TheDesk save your data on thedesk.top server.<br>
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">Запази</button></div>
<a onclick="spotifyConnect()" class="btn waves-effect nex"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i
class="fa fa-spotify left"></i>Connect</a>
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>Disconnect</a>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Запази</button>
<h5>Attach an Artwork of Spotify</h5>
<label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
value="yes" />
<span>Да</span>
</label>
<label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
value="no" />
<span>Не</span>
</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
</div>
<div class="collapsible-body">
<h5>Speed</h5>
1-100(default:10)<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
style="width:500px; max-width:100%" /></p>
<h5>Pitch</h5>
0-100(default:50)<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
style="width:500px; max-width:100%" /></p>
<h5>Volume</h5>
0-100(default:100)<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
style="width:500px; max-width:100%" /></p>
<h5>Test</h5>
<input type="text" style="width:350px" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
id="testplay">Play/Stop</button><br>
<br>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">Запази</button>
</div>
</li>
</ul>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
class="material-icons left">undo</i>Back</a>
<br>
<br>Keyboard shortcuts
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
<li>N:Open toot box</li>
<li>X:Toggle toot box</li>
<li>Ctrl+Enter:Post</li>
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
<li>Alt+Enter:Secondary Toot Button</li>
<li>Ctrl+E:Make all notifications read</li>
<li>Ctrl+U:@@keyselecttop@@</li>
<li>Esc:Hide toot box</li>
<li>F5:Super Reload</li>
<li>Ctrl+Shift+C:Clear toot box</li>
<li>Ctrl+Shift+S:Предпочитания</li>
<li>Ctrl+Shift+M:Account Manager</li>
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
<li>Ctrl+Shift+P:Show profile of selecting</li>
<li>←/→:Show next or previous image</li>
<li>Mousewheel:Zoom a image</li>
<div class="hide kirishima">
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
</li><br>
@@whenSelected@@
<li>F:@@fav@@</li>
<li>B:@@bt@@</li>
<li>R:@@reply@@</li>
</div>
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
onclick="if(confirm('Изтриване на всички данни. Не можете да го отмените. Продължaвате?')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
class="material-icons left">info</i>About TheDesk</button>
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i
class="material-icons left">web</i>Website</a>
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Поддръжка(Pixiv FANBOX)</a>
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Поддръжка(Patreon)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i
class="material-icons left">list</i>Help/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25"
style="padding-top:5px;">Developer: Cutls@cutls.com</a>
<br>
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
class="pointer">Check update</a><br>
<a href="oss.html">OSS License</a><br>
<span style="font-family:Open Sans;">Copyright &copy; TheDesk 2018
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
Policy</a>
<br>Developer: Cutls P(
<a href="index.html?mode=user&code=Cutls@cutls.com">@Cutls@cutls.com</a>)
<br>
</span><br>
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/login/logout.js"></script>
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
<script type="text/javascript" src="../../js/tl/speech.js"></script>
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
<script type="text/javascript" src="../../js/ui/settings.js"></script>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

552
app/view/bg/setting.vue.js Normal file
View File

@ -0,0 +1,552 @@
var yesno = [
{
text: "Да",
value: "yes"
}, {
text: "Не",
value: "no"
}
];
var sound = [
{
text: "Няма",
value: "none"
}, {
text: "По подразбиране",
value: "default"
}, {
text: "Custom 1",
value: "c1"
}, {
text: "Custom 2",
value: "c2"
}, {
text: "Custom 3",
value: "c3"
}, {
text: "Custom 4",
value: "c4"
}
];
var envConstruction = [
{
id: "popup",
storage: "popup",
checkbox: false,
doubleText: false,
setValue: 0,
width: 50,
text: {
head: "Известие с изскачащ прозорец (за Windows)",
desc: 'Скрито ако е зададено на „0“',
after: "сек"
}
}, {
id: "notf",
storage: "nativenotf",
checkbox: true,
setValue: "yes",
text: {
head: "Вътрешно уведомяване",
desc: "Това не работи в Windows Portable вер.",
checkbox: yesno
}
}, {
id: "width",
storage: "width",
checkbox: false,
doubleText: false,
width: 50,
setValue: 300,
text: {
head: "Минимална ширина на колоните",
desc: "Лентата за превъртане ще се покаже, когато размерът на прозореца е по-голям от размера на колони.",
after: "px над"
}
}, {
id: "fixwidth",
storage: "fixwidth",
checkbox: false,
doubleText: false,
setValue: 300,
width: 50,
text: {
head: "Минимална ширина на браузъра TweetDeck",
desc: "",
after: "px над"
}
}, {
id: "size",
storage: "size",
checkbox: false,
doubleText: false,
width: 50,
setValue: 13,
text: {
head: "Размер на шрифта",
desc: '<span style="font-size:13px">13px(абсолютна стойност)</span>',
after: "px"
}
}, {
id: "ha",
storage: "ha",
checkbox: true,
setValue: false,
text: {
head: "Деактивиране на хардуерното ускорение",
desc: "Автоматичното рестартиране",
checkbox: [
{
text: "Да",
value: "true"
}, {
text: "Не",
value: "false"
}
]
}
}
];
var tlConstruction = [
{
id: "time",
storage: "datetype",
checkbox: true,
setValue: "absolute",
text: {
head: "Времеви формат",
desc: 'Относителен формат: „преди 1 минута“, „преди 3 дни“<br>Абсолютен формат:"23:25:21","2017/12/30 23:59:00"<br>Смесен формат: някои от раздумките са с относителен-формат, други са с абсолютен формат.',
checkbox: [
{
text: "Относителен",
value: "relative"
}, {
text: "Абсолютен",
value: "absolute"
}, {
text: "Относителен и абсолютен",
value: "double"
}, {
text: "Смесено",
value: "medium"
}
]
}
}, {
id: "ul",
storage: "locale",
checkbox: true,
setValue: "yes",
text: {
head: "Уникално място на Сървърите",
desc: "Тази стойност е налична за някои Японски сървъри",
checkbox: yesno
}
}, {
id: "nsfw",
storage: "nsfw",
checkbox: true,
setValue: "yes",
text: {
head: "Скриване на NSFW снимки",
desc: "Силен ефект на размазване",
checkbox: yesno
}
}, {
id: "cw",
storage: "cw",
checkbox: true,
setValue: "yes",
text: {
head: "Скриване на CW съдържание",
desc: "",
checkbox: yesno
}
}, {
id: "rp",
storage: "replyct",
checkbox: true,
setValue: "hidden",
text: {
head: "Стил на брояча на отговори",
desc: "",
checkbox: [
{
text: "Показване на 1+, ако отговорите са повече от 1.",
value: "hidden"
}, {
text: "Показване на 1+, ако отговорите са повече от 1.",
value: "all"
}
]
}
}, {
id: "gif",
storage: "gif",
checkbox: true,
setValue: "yes",
text: {
head: "Анимация на анимирани GIF изображения",
desc: "",
checkbox: yesno
}
}, {
id: "tag",
storage: "tag-range",
checkbox: true,
setValue: "local",
text: {
head: "Tag в TL търсене",
desc: "",
checkbox: [
{
text: "Използване в обединената мрежа",
value: "all"
}, {
text: "Използване в локалната мрежа",
value: "local"
}
]
}
}, {
id: "via",
storage: "viashow",
checkbox: true,
setValue: "no",
text: {
head: "С показване",
desc: "",
checkbox: yesno
}
}, {
id: "mov",
storage: "mouseover",
checkbox: true,
setValue: "no",
text: {
head: "Hide action buttons without mouseover",
desc: "You may feel 'mouseover' is unconfortable:(",
checkbox: [
{
text: "Mouseover to show",
value: "yes"
}, {
text: "Click to show",
value: "click"
}, {
text: "Не",
value: "no"
}
]
}
}, {
id: "notfm",
storage: "setasread",
checkbox: true,
setValue: "yes",
text: {
head: "Show Notification marker, red colored bell and counter(if you show a notification column.)",
desc: "",
checkbox: yesno
}
}, {
checkbox: false,
doubleText: true,
data: [
{
id: "sentence",
storage: "sentence",
width: 50,
setValue: 500,
text: { after: "lines над or" }
}, {
id: "letters",
storage: "letters",
width: 50,
setValue: 7000,
text: { after: "букви над" }
}
],
text: {
head: "Auto folding",
desc: "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.",
}
}, {
id: "img-height",
storage: "img-height",
checkbox: false,
doubleText: false,
width: 80,
setValue: 200,
text: {
head: "Height of images",
desc: 'Option:Set "full" to uncrop.',
after: "px"
}
}, {
id: "ticker",
storage: "ticker_ok",
checkbox: true,
setValue: "no",
text: {
head: "Enable #InstanceTicker",
desc: 'Show colorful stickers about the server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
checkbox: yesno
}
}, {
id: "anime",
storage: "animation",
checkbox: true,
setValue: "yes",
text: {
head: "Анимация на времевата линия",
desc: "",
checkbox: yesno
}
}, {
id: "replySound",
storage: "replySound",
checkbox: true,
setValue: "none",
text: {
head: "Звук (Отговор)",
desc: "",
checkbox: sound
}
}, {
id: "favSound",
storage: "favSound",
checkbox: true,
setValue: "none",
text: {
head: "Звук(Фаворит)",
desc: "",
checkbox: sound
}
}, {
id: "btSound",
storage: "btSound",
checkbox: true,
setValue: "none",
text: {
head: "Звук(Подсилване)",
desc: "",
checkbox: sound
}
}, {
id: "followSound",
storage: "followSound",
checkbox: true,
setValue: "none",
text: {
head: "Звук(Харесване)",
desc: "",
checkbox: sound
}
}
];
var postConstruction = [
{
id: "cw-text",
storage: "cw-text",
checkbox: false,
doubleText: false,
width: 150,
setValue: "",
text: {
head: "Текст за предупреждение по подразбиране",
desc: "",
after: ""
}
}, {
checkbox: false,
doubleText: true,
data: [
{
id: "cw_sentence",
storage: "cw_sentence",
width: 50,
setValue: 500,
text: { after: "lines над or" }
}, {
id: "cw_letters",
storage: "cw_letters",
width: 50,
setValue: 7000,
text: { after: "букви над" }
}
],
text: {
head: "Предупреждение преди публикуване на дълга раздумка.",
desc: "Показване на диалогов прозорец, когато правите твърде дълъг скрит текст.",
}
}, {
id: "cws",
storage: "always-cw",
checkbox: true,
setValue: "no",
text: {
head: "Винаги да е зададено CW",
desc: "",
checkbox: yesno
}
}, {
id: "vis",
storage: "vis",
checkbox: true,
setValue: "public",
text: {
head: "Видимост по подразбиране",
desc: "",
checkbox: [
{
text: "Публично",
value: "public"
}, {
text: "Скрито",
value: "unlisted"
}, {
text: "Частно",
value: "private"
}, {
text: "Директно",
value: "direct"
}, {
text: "Памет(запомнено на всеки сървър)",
value: "memory"
}, {
text: "Видимост по подразбиране (Зададени от предпочитанията в Mastodon сървъра)",
value: "useapi"
}
]
}
}, {
id: "img",
storage: "img",
checkbox: true,
setValue: "no-act",
text: {
head: "Предпочитания за публикуване на изображения",
desc: "",
checkbox: [
{
text: "Вмъкване на URL адрес на медия",
value: "url"
}, {
text: "Без вмъкване",
value: "no-act"
}
]
}
}, {
id: "box",
storage: "box",
checkbox: true,
setValue: "yes",
text: {
head: "Действие на кутията за публикации",
desc: "",
checkbox: [
{
text: "Прибрана",
value: "yes"
}, {
text: "Отворена и след публикуване",
value: "no"
}, {
text: "Постоянно отворена",
value: "absolute"
}
]
}
}, {
id: "quote",
storage: "quote",
checkbox: true,
setValue: "nothing",
text: {
head: "Quote format",
desc: "",
checkbox: [
{
text: "Only URL",
value: "simple"
}, {
text: "URL and acct(mention to the user)",
value: "mention"
}, {
text: "URL, text and acct(mention to the user)",
value: "full"
}, {
text: "Disabled(Hide buttons on TLs)",
value: "nothing"
}
]
}
}, {
id: "main",
storage: "mainuse",
checkbox: true,
setValue: "remain",
text: {
head: "Default accounts of actions",
desc: "Main account can be set on Account Manager.",
checkbox: [
{
text: "Account you used recently",
value: "remain"
}, {
text: "Main account",
value: "main"
}
]
}
}, {
id: "sec",
storage: "sec",
checkbox: true,
setValue: "public",
text: {
head: "Secondary Toot Button",
desc: "",
checkbox: [
{
text: "Hidden",
value: "nothing"
}, {
text: "Публично",
value: "public"
}, {
text: "Скрито",
value: "unlisted"
}, {
text: "Частно",
value: "private"
}, {
text: "Директно",
value: "direct"
}, {
text: "Local Only",
value: "local",
kirishima: true,
kirishimaText: "非対応インスタンスでは「未収載」になります。"
}
]
}
}, {
id: "zero",
storage: "emoji-zero-width",
checkbox: true,
setValue: "normal",
setValue: "no",
text: {
head: "Zero-width space when inserting emojis",
desc: "",
checkbox: yesno
}
}
]

255
app/view/bg/update.html Normal file
View File

@ -0,0 +1,255 @@
<!doctype html>
<html lang="bg">
<head>
<title>Update - TheDesk</title>
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body>
<style>
body {
font-family: 'Open Sans';
-webkit-app-region: drag;
cursor: move;
padding: 10px;
text-align: right;
}
#start {
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: calc(100vh - 2.5rem);
text-align: center;
}
#checkbox {
text-align: left;
}
a,
button,
input,
label,
i {
-webkit-app-region: no-drag;
}
#updskip {
display: flex;
justify-content: center;
align-items: center;
}
.skipbtn {
display: block;
float: left;
width: 200px;
height: 200px;
border: 1px solid;
margin-left: 5px;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid;
overflow: hidden;
}
.skipbtn:hover {
background-color: #b3e5fc;
transition: all 0.3s ease-in-out;
}
#prog {
font-size: 200%;
}
</style>
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
<!--a href="update.html">Reload</a-->
<div id="start">
<div id="box" class="show">
<h2>TheDesk</h2>
<p>Get latest TheDesk</p>
<span id="now"></span><b id="ver"></b><br>
<span id="det"></span><br>
<button class="waves-effect btn windows hide" onclick="update('install')"
style="margin-left:15px;">Installer ver.</button>
<button class="waves-effect btn windows hide" onclick="update('portable')"
style="margin-left:15px;">Portable ver.</button>
<button class="waves-effect btn linux hide" onclick="update('linux')"
style="margin-left:15px;">Start</button>
<button class="waves-effect btn mac hide" onclick="update('mac')"
style="margin-left:15px;">Start</button>
<br>
Some problems?<br>Please download on <a href="https://thedesk.top">Oficial HP</a>.
</div>
<div id="skipper" class="hide">
<h4>You may lose a cool experience!</h4>
Skip this update<br>
<div id="updskip">
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
<div>Until next TL loading</div>
</a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
<div>Until next version</div>
</a>
</div>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">Continue updating</a>
</div>
<div id="dlnow" class="hide">
<h4>Downloading...</h4>
<h4 id="prog"></h4>
<div class="progress">
<div class="determinate" style="width: 0%"></div>
</div>
</div>
</div>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script>
function skipper() {
$("#dlnow").addClass("hide");
$("#box").toggleClass("show");
if ($("#box").hasClass("hide") && $("#skipper").hasClass("hide")) {
$("#skipper").removeClass("hide");
$("#skipper").addClass("show");
} else {
$("#box").toggleClass("hide");
$("#skipper").toggleClass("hide");
$("#skipper").toggleClass("show");
}
}
verck();
function update(sel) {
$("#box").toggleClass("show");
$("#box").toggleClass("hide");
$("#dlnow").toggleClass("hide");
$("#dlnow").toggleClass("show");
$("#prog").text("");
var bit = localStorage.getItem("bit");
var start = "https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: { 'content-type': 'application/json' },
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
if (sel == "install") {
if (bit == "x64") {
var url = json["winx64"];
var file = "TheDesk-setup.exe";
} else if (bit == "ia32") {
var url = json["winia32"];
var file = "TheDesk-setup-ia32.exe";
}
} else if (sel == "portable") {
if (bit == "x64") {
var url = json["winx64p"];
var file = "TheDesk.exe";
} else if (bit == "ia32") {
var url = json["winia32p"];
var file = "TheDesk-ia32.exe";
}
} else if (sel == "linux") {
if (bit == "x64") {
var url = json["linuxx64"];
var file = "TheDesk-linux-x64.zip";
} else if (bit == "ia32") {
var url = json["linuxia64"];
var file = "TheDesk-linux-ia32.zip";
}
} else if (sel == "mac") {
var url = json["mac"];
shell.openExternal(url);
return false;
}
postMessage(["downloadButton", [url, file]], "*")
});
}
function quit() {
postMessage(["sendSinmpleIpc", "quit"], "*")
}
function updateProg(arg) {
console.log(arg);
$(".determinate").css("width", arg * 100 + "%");
$("#prog").text(Math.floor(arg * 100) + "%");
}
function updateMess(arg) {
console.log(arg);
$("#prog").text(arg);
}
function verck() {
var platform = localStorage.getItem("platform");
var bit = localStorage.getItem("bit");
if (platform == "win32") {
$('.windows').removeClass("hide")
} else if (platform == "linux") {
$('.linux').removeClass("hide")
} else if (platform == "darwin") {
$('.mac').removeClass("hide")
}
var start = "https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: { 'content-type': 'application/json' },
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
console.log(json);
if (platform == "win32") {
$("#ver").text(json.desk);
localStorage.setItem("next-ver", json.desk);
} else if (platform == "linux") {
$("#ver").text(json.desk_linux);
localStorage.setItem("next-ver", json.desk_linux);
} else if (platform == "darwin") {
$("#ver").text(json.desk_mac);
localStorage.setItem("next-ver", json.desk_mac);
}
var lang = "bg";
if (lang == "ja") {
$("#det").html(json.detail);
} else {
$("#det").html(json.detail_en);
}
$("#now").text(localStorage.getItem("ver"));
});
}
function nextv() {
localStorage.setItem("new-ver-skip", "true");
window.close();
}
function enc(ver) {
var ver = ver.replace(/\s/g, "");
var ver = ver.replace(/\(/g, "-");
var ver = ver.replace(/\)/g, "");
var ver = ver.replace(/\[/g, "_");
var ver = ver.replace(/\]/g, "");
return ver;
}
</script>

159
app/view/cs/acct.html Normal file
View File

@ -0,0 +1,159 @@
<!doctype html>
<html lang="cs">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<style>
.acct {
display: flex;
justify-content: space-around;
}
.card {
width: 400px;
background-color: #9e9e9e;
margin: 10px;
}
body,
html {
overflow-y: scroll;
}
#acct-list {
display: flex;
flex-wrap: wrap;
color: white;
align-items: flex-start
}
.lts {
font-size: 150%
}
.colorsel {
display: flex;
}
.card .colorsel div:not(.exc) {
width: 20px;
height: 20px;
}
.card .colorsel div.exc {
width: 40px;
height: 20px;
}
.first {
display: flex;
justify-content: center;
align-items: center
}
.first .hide-first {
display: none;
}
</style>
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body id="mainView">
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.cs.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script>
var misskeytoken = false;
</script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<div class="hide-first">
<a href="index.html" class="btn waves-effect orange nex"
style="width:100%; max-width:200px;">Zpět</a><br>
<h5>Seznam účtů</h5>
<div id="acct-list"></div>
<div class="divider"></div>
</div>
<div>
<h5>Přidat účet</h5><br>
<div id="add">
<div class="row">
<div class="col s8">
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
<div id="ins-suggest"></div>
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br>
<label>
<input type="checkbox" class="filled-in" id="linux" />
<span>Nastavení kódu</span>
</label>
<br>
<label>
<input type="checkbox" class="filled-in" id="misskey" />
<span>Přihlásit jako Misskey</span>
</label><br>
<button class="btn waves-effect" onclick="instance()">Login</button><br>
</div>
<div class="col s4">
<span style="font-family:Open Sans;">Supports</span>
<div id="support" class="collection transparent"></div>
</div>
</div>
</div>
<div id="auth" style="display:none">
Vložte kód a zavřete prohlížeč.<br>
<input type="text" id="code" placeholder="Kód">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>
Pro přihlášení do Misskey si přečtěte <a href="https://thedesk.top/how-to-misskey-login.html">dokumentaci (ja)</a>.<br>
<input type="hidden" id="misskey-url">
<input type="text" id="misskey-key" placeholder="Kód">
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br>
</div>
</div>
<div class="hide-first">
<h5>Hlavní účet</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">Vyberte si účet</span>
<br>
<select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<label></label>
</div>
Some instance data by <a href="https://instances.social" target="_blank">instances.social API</a><br>
<h5 id="ins-title"></h5>
Administered by:<a id="ins-admin"></a><br>
<span id="ins-desc"></span><br>
<img src="../../img/loading.svg" id="ins-prof" width="200"><br>
<br>
Doména:<span id="ins-name"></span><br>
Federované servery:<span id="ins-connect"></span><br>
Tooty:<span id="ins-toot"></span><br>
Uživatelé:<span id="ins-user"></span>Uživatelé<br>
Spojení:<span id="ins-per"></span>%<br>
Verze Mastodonu:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
</div>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/common/sha256.js"></script>
<script type="text/javascript" src="../../js/login/tkn.js"></script>
<script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="../../js/login/manager.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

1106
app/view/cs/index.html Normal file

File diff suppressed because it is too large Load Diff

508
app/view/cs/setting.html Normal file
View File

@ -0,0 +1,508 @@
<!doctype html>
<html lang="cs" style="overflow:scroll">
<head>
<title>Settings - TheDesk</title>
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<style>
input {
max-height: 50px !important
}
.pcr-result {
height: 1rem !important;
}
</style>
</head>
<body id="mainView" style="overflow-y:scroll">
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.cs.js"></script>
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
<script src="../../node_modules/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<h4>Předvolby</h4>
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
<i class="material-icons">desktop_windows</i>Systémové předvolby
</div>
<div class="collapsible-body">
<h5>Jazyky</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a><a onclick="changelang('bg')" class="pointer" style="margin-right:5px;">български</a><a onclick="changelang('cs')" class="pointer" style="margin-right:5px;">Česky</a><a onclick="changelang('de')" class="pointer" style="margin-right:5px;">Deutsch</a>
<h5>Import a export předvoleb</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">Export</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
style="width:100%; max-width:200px;">Import</button>
<div id="envView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">Odskoušet oznámení</a><br></template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<label>
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
<span>{{check.text}}</span>
</label>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Změnit</button>
</template><br>
</template>
</div>
<h5>Písmo</h5>
Select your favorite font to 'Select'(Windows/ macOS only)<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">Vybrat</button><br>
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
<br>
<input type="text" style="width:150px" id="font">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Uložit</button>
<br>
<h5>Folder to save</h5>
TheDesk uses this value when it try to save pictures or take screenshots.<br>
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">Změnit</button>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">color_lens</i>Motivy
</div>
<div class="collapsible-body">
<h4>Vybrat motiv</h4>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
<span>Black</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
<span>White</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo"
value="indigo" />
<span>Indigo<span class="imas hide">(エンドレスナイト)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
<span>Brown<span class="imas hide">(ビタースイート・タイム)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
<span>custom</span>
</label>
<div style="width:300px" id="sel-selector">
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
</div>
<h4>Edit and add custom themes</h4>
<div style="width:300px" id="edit-selector" data-add="Add new">
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
<option value="add_new">Add new</option>
</select>
</div>
<h5>Name</h5>
<input type="text" style="width:300px" id="custom_name" placeholder="Name...">
<h5>About this theme</h5>
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
placeholder="About this theme..."></textarea></div>
<h5>Color scheme</h5>
<label>
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
checked="true" />
<span>Dark</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
value="light" />
<span>Light</span>
</label>
<div id="pickers">
<div>
<h5>Primary</h5>Background of components
<div id="color-picker0-wrap">
<div class="color-picker" id="color-picker0"></div>
</div>
<input type="hidden" id="color-picker0_value">
</div>
<div>
<h5>Secondary</h5>Background color
<div id="color-picker1-wrap">
<div class="color-picker" id="color-picker1"></div>
</div>
<input type="hidden" id="color-picker1_value">
</div>
<div>
<h5>Texts</h5>Text color
<div id="color-picker2-wrap">
<div class="color-picker" id="color-picker2"></div>
</div>
<input type="hidden" id="color-picker2_value">
</div>
<div>
<h5>Accent</h5>Background of boosts
<div id="color-picker3-wrap">
<div class="color-picker" id="color-picker3"></div>
</div>
<input type="hidden" id="color-picker3_value">
</div>
</div>
<button class="btn-large waves-effect" onclick="customComp()">Změnit</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
<input type="text" style="width:300px;height:40px;" id="custom_json" class="materialize-textarea"
placeholder="JSON style" readonly><br>
Share this code with other TheDesk. Do not share this code with MiAS.
<h4>Import of custom themes</h4>
Get more themes on <a href="https://assets.msky.cafe/" target="_blank">MiAS</a><br>
<input type="text" style="width:300px;height:40px;" id="custom_import" class="materialize-textarea"
placeholder="JSON/JSON5 style">
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>Timeline Preferences
</div>
<div class="collapsible-body">
<div id="tlView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<label>
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
<span>{{check.text}}</span>
</label>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Změnit</button>
</template><br>
</template>
</div>
<h5>Custom sound</h5>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
id="c1-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
id="c2-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
id="c3-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
id="c4-file"></span><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">send</i>Posting Preferences
</div>
<div class="collapsible-body">
<div id="postView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<template v-if="!check.kirishima || (check.kirishima && kirishima)">
<label><input class="with-gap" v-on:click="complete(i,check.value)"
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
v-bind:value="check.value" />
<span>{{check.text}}</span></label>
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
</template>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Změnit</button>
</template><br>
</template>
</div>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">keyboard</i>Keyboard shortcut Preferences
</div>
<div class="collapsible-body">
<h5>Easy inserter</h5>
You can insert any letters and emojis with only 3 keys<br>
Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">Uložit</button><br><br>
Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2">
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">Uložit</button><br><br>
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">Uložit</button><br><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
</div>
<div class="collapsible-body">
<h5>Client Mute</h5>
<div id="mute-cli"></div>
<h5>Client Emphasis</h5>
Click client name on toots to toggle mute and emphasis.
<h5>Words Mute</h5>
Enter to set<br>
<div class="chips" id="wordmute" style="background-color:gray;"></div>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">Uložit</button>
<h5>Words Emphasis</h5>
Enter to set<br>
<div class="chips" id="wordemp" style="background-color:gray;"></div>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">Uložit</button>
<h5>Users Emphasis</h5>
Set on users data modals.
<span class="emphasized"> Use this color to emphasis </span>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
</div>
<div class="collapsible-body">
<h5>NowPlaying Provider(Windows)</h5>
macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a> is required. And MusicBee requires CAD.<br>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
<span>AIMP</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
value="ITUNES" />
<span>iTunes</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm"
value="MEDIAMONKEY" />
<span>MediaMonkey</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
value="WINAMP" />
<span>Winamp</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
<span>WMP</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
<span>WLM</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
<span>CAD</span>
</label>
<br><br>
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
<h5>Account Connection</h5>
TheDesk save your data on thedesk.top server.<br>
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">Uložit</button></div>
<a onclick="spotifyConnect()" class="btn waves-effect nex"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i
class="fa fa-spotify left"></i>Connect</a>
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>Disconnect</a>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Uložit</button>
<h5>Attach an Artwork of Spotify</h5>
<label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
value="yes" />
<span>Ano</span>
</label>
<label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
value="no" />
<span>Ne</span>
</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
</div>
<div class="collapsible-body">
<h5>Speed</h5>
1-100(default:10)<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
style="width:500px; max-width:100%" /></p>
<h5>Pitch</h5>
0-100(default:50)<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
style="width:500px; max-width:100%" /></p>
<h5>Volume</h5>
0-100(default:100)<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
style="width:500px; max-width:100%" /></p>
<h5>Test</h5>
<input type="text" style="width:350px" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
id="testplay">Play/Stop</button><br>
<br>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">Uložit</button>
</div>
</li>
</ul>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
class="material-icons left">undo</i>Back</a>
<br>
<br>Keyboard shortcuts
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
<li>N:Open toot box</li>
<li>X:Toggle toot box</li>
<li>Ctrl+Enter:Post</li>
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
<li>Alt+Enter:Secondary Toot Button</li>
<li>Ctrl+E:Make all notifications read</li>
<li>Ctrl+U:@@keyselecttop@@</li>
<li>Esc:Hide toot box</li>
<li>F5:Super Reload</li>
<li>Ctrl+Shift+C:Clear toot box</li>
<li>Ctrl+Shift+S:Předvolby</li>
<li>Ctrl+Shift+M:Account Manager</li>
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
<li>Ctrl+Shift+P:Show profile of selecting</li>
<li>←/→:Show next or previous image</li>
<li>Mousewheel:Zoom a image</li>
<div class="hide kirishima">
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
</li><br>
@@whenSelected@@
<li>F:@@fav@@</li>
<li>B:@@bt@@</li>
<li>R:@@reply@@</li>
</div>
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
class="material-icons left">info</i>About TheDesk</button>
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i
class="material-icons left">web</i>Website</a>
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Support(Patreon)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i
class="material-icons left">list</i>Help/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25"
style="padding-top:5px;">Developer: Cutls@cutls.com</a>
<br>
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
class="pointer">Check update</a><br>
<a href="oss.html">OSS License</a><br>
<span style="font-family:Open Sans;">Copyright &copy; TheDesk 2018
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
Policy</a>
<br>Developer: Cutls P(
<a href="index.html?mode=user&code=Cutls@cutls.com">@Cutls@cutls.com</a>)
<br>
</span><br>
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/login/logout.js"></script>
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
<script type="text/javascript" src="../../js/tl/speech.js"></script>
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
<script type="text/javascript" src="../../js/ui/settings.js"></script>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

552
app/view/cs/setting.vue.js Normal file
View File

@ -0,0 +1,552 @@
var yesno = [
{
text: "Ano",
value: "yes"
}, {
text: "Ne",
value: "no"
}
];
var sound = [
{
text: "None",
value: "none"
}, {
text: "Default",
value: "default"
}, {
text: "Custom 1",
value: "c1"
}, {
text: "Custom 2",
value: "c2"
}, {
text: "Custom 3",
value: "c3"
}, {
text: "Custom 4",
value: "c4"
}
];
var envConstruction = [
{
id: "popup",
storage: "popup",
checkbox: false,
doubleText: false,
setValue: 0,
width: 50,
text: {
head: "Popupová oznámení (na Windows)",
desc: 'Hide to set "0"',
after: "sec"
}
}, {
id: "notf",
storage: "nativenotf",
checkbox: true,
setValue: "yes",
text: {
head: "Native notification",
desc: "This does not work on Windows Portable ver.",
checkbox: yesno
}
}, {
id: "width",
storage: "width",
checkbox: false,
doubleText: false,
width: 50,
setValue: 300,
text: {
head: "Minimum width of columns",
desc: "Scroll bar will be shown when your window size is more than ammounts of columns.",
after: "px above"
}
}, {
id: "fixwidth",
storage: "fixwidth",
checkbox: false,
doubleText: false,
setValue: 300,
width: 50,
text: {
head: "Minimální šířka TweetDeck prohlížeče",
desc: "",
after: "px above"
}
}, {
id: "size",
storage: "size",
checkbox: false,
doubleText: false,
width: 50,
setValue: 13,
text: {
head: "Velikost písma",
desc: '<span style="font-size:13px">13px(absolutní hodnota)</span>',
after: "px"
}
}, {
id: "ha",
storage: "ha",
checkbox: true,
setValue: false,
text: {
head: "Disable hardware acceleration",
desc: "Auto restarted",
checkbox: [
{
text: "Ano",
value: "true"
}, {
text: "Ne",
value: "false"
}
]
}
}
];
var tlConstruction = [
{
id: "time",
storage: "datetype",
checkbox: true,
setValue: "absolute",
text: {
head: "Časový formát",
desc: 'Relativní formát: „před 1 minutou“, „před 3 dny“<br>Absolutní formát: „23:25:21“, „2017/12/30 23:59:00“<br>Smíšený formát: tooty publikované dnes jsou v relativním formátu, ostatní jsou v absolutním formátu.',
checkbox: [
{
text: "Relativní",
value: "relative"
}, {
text: "Absolutní",
value: "absolute"
}, {
text: "Relativní i absolutní",
value: "double"
}, {
text: "Smíšený",
value: "medium"
}
]
}
}, {
id: "ul",
storage: "locale",
checkbox: true,
setValue: "yes",
text: {
head: "Server's unique locale",
desc: "This value is available on some Japanese servers",
checkbox: yesno
}
}, {
id: "nsfw",
storage: "nsfw",
checkbox: true,
setValue: "yes",
text: {
head: "Skrývat citlivé obrázky",
desc: "Silný efekt rozmazání",
checkbox: yesno
}
}, {
id: "cw",
storage: "cw",
checkbox: true,
setValue: "yes",
text: {
head: "Skrývat obsah za varováními",
desc: "",
checkbox: yesno
}
}, {
id: "rp",
storage: "replyct",
checkbox: true,
setValue: "hidden",
text: {
head: "Reply counter style",
desc: "",
checkbox: [
{
text: "Show 1+ if the replies are more than 1.",
value: "hidden"
}, {
text: "Show 1+ if the replies are more than 1.",
value: "all"
}
]
}
}, {
id: "gif",
storage: "gif",
checkbox: true,
setValue: "yes",
text: {
head: "Animated GIF images animation",
desc: "",
checkbox: yesno
}
}, {
id: "tag",
storage: "tag-range",
checkbox: true,
setValue: "local",
text: {
head: "Tag TL Search",
desc: "",
checkbox: [
{
text: "Use federated network",
value: "all"
}, {
text: "Use local network",
value: "local"
}
]
}
}, {
id: "via",
storage: "viashow",
checkbox: true,
setValue: "no",
text: {
head: "Show via",
desc: "",
checkbox: yesno
}
}, {
id: "mov",
storage: "mouseover",
checkbox: true,
setValue: "no",
text: {
head: "Skrýt akční tlačítka bez přejetí myši",
desc: "„Přejetí myši“ pro vás může být nepohodlné :(",
checkbox: [
{
text: "Zobrazit přejetím myši",
value: "yes"
}, {
text: "Zobrazit kliknutím",
value: "click"
}, {
text: "Ne",
value: "no"
}
]
}
}, {
id: "notfm",
storage: "setasread",
checkbox: true,
setValue: "yes",
text: {
head: "Show Notification marker, red colored bell and counter(if you show a notification column.)",
desc: "",
checkbox: yesno
}
}, {
checkbox: false,
doubleText: true,
data: [
{
id: "sentence",
storage: "sentence",
width: 50,
setValue: 500,
text: { after: "lines above or" }
}, {
id: "letters",
storage: "letters",
width: 50,
setValue: 7000,
text: { after: "letters above" }
}
],
text: {
head: "Auto folding",
desc: "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.",
}
}, {
id: "img-height",
storage: "img-height",
checkbox: false,
doubleText: false,
width: 80,
setValue: 200,
text: {
head: "Height of images",
desc: 'Option:Set "full" to uncrop.',
after: "px"
}
}, {
id: "ticker",
storage: "ticker_ok",
checkbox: true,
setValue: "no",
text: {
head: "Enable #InstanceTicker",
desc: 'Show colorful stickers about the server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
checkbox: yesno
}
}, {
id: "anime",
storage: "animation",
checkbox: true,
setValue: "yes",
text: {
head: "Animation of timelines",
desc: "",
checkbox: yesno
}
}, {
id: "replySound",
storage: "replySound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Reply)",
desc: "",
checkbox: sound
}
}, {
id: "favSound",
storage: "favSound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Fav)",
desc: "",
checkbox: sound
}
}, {
id: "btSound",
storage: "btSound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Boost)",
desc: "",
checkbox: sound
}
}, {
id: "followSound",
storage: "followSound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Follow)",
desc: "",
checkbox: sound
}
}
];
var postConstruction = [
{
id: "cw-text",
storage: "cw-text",
checkbox: false,
doubleText: false,
width: 150,
setValue: "",
text: {
head: "Default warining text",
desc: "",
after: ""
}
}, {
checkbox: false,
doubleText: true,
data: [
{
id: "cw_sentence",
storage: "cw_sentence",
width: 50,
setValue: 500,
text: { after: "lines above or" }
}, {
id: "cw_letters",
storage: "cw_letters",
width: 50,
setValue: 7000,
text: { after: "letters above" }
}
],
text: {
head: "Alert before posting a long toot.",
desc: "Show dialog whether you make too-long text hidden.",
}
}, {
id: "cws",
storage: "always-cw",
checkbox: true,
setValue: "no",
text: {
head: "Always CW set",
desc: "",
checkbox: yesno
}
}, {
id: "vis",
storage: "vis",
checkbox: true,
setValue: "public",
text: {
head: "Výchozí viditelnost",
desc: "",
checkbox: [
{
text: "Veřejné",
value: "public"
}, {
text: "Neuvedené",
value: "unlisted"
}, {
text: "Soukromé",
value: "private"
}, {
text: "Přímé",
value: "direct"
}, {
text: "Memory(memorized as each server)",
value: "memory"
}, {
text: "Default of your visibility(Set on preferences of Mastodon server)",
value: "useapi"
}
]
}
}, {
id: "img",
storage: "img",
checkbox: true,
setValue: "no-act",
text: {
head: "Posting images preferences",
desc: "",
checkbox: [
{
text: "Insert media URL",
value: "url"
}, {
text: "Insert nothig",
value: "no-act"
}
]
}
}, {
id: "box",
storage: "box",
checkbox: true,
setValue: "yes",
text: {
head: "Action of posting-box",
desc: "",
checkbox: [
{
text: "Folding",
value: "yes"
}, {
text: "Open after posting",
value: "no"
}, {
text: "Absolutely open",
value: "absolute"
}
]
}
}, {
id: "quote",
storage: "quote",
checkbox: true,
setValue: "nothing",
text: {
head: "Quote format",
desc: "",
checkbox: [
{
text: "Only URL",
value: "simple"
}, {
text: "URL and acct(mention to the user)",
value: "mention"
}, {
text: "URL, text and acct(mention to the user)",
value: "full"
}, {
text: "Disabled(Hide buttons on TLs)",
value: "nothing"
}
]
}
}, {
id: "main",
storage: "mainuse",
checkbox: true,
setValue: "remain",
text: {
head: "Default accounts of actions",
desc: "Main account can be set on Account Manager.",
checkbox: [
{
text: "Account you used recently",
value: "remain"
}, {
text: "Main account",
value: "main"
}
]
}
}, {
id: "sec",
storage: "sec",
checkbox: true,
setValue: "public",
text: {
head: "Secondary Toot Button",
desc: "",
checkbox: [
{
text: "Hidden",
value: "nothing"
}, {
text: "Veřejné",
value: "public"
}, {
text: "Neuvedené",
value: "unlisted"
}, {
text: "Soukromé",
value: "private"
}, {
text: "Přímé",
value: "direct"
}, {
text: "Local Only",
value: "local",
kirishima: true,
kirishimaText: "非対応インスタンスでは「未収載」になります。"
}
]
}
}, {
id: "zero",
storage: "emoji-zero-width",
checkbox: true,
setValue: "normal",
setValue: "no",
text: {
head: "Zero-width space when inserting emojis",
desc: "",
checkbox: yesno
}
}
]

255
app/view/cs/update.html Normal file
View File

@ -0,0 +1,255 @@
<!doctype html>
<html lang="cs">
<head>
<title>Update - TheDesk</title>
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body>
<style>
body {
font-family: 'Open Sans';
-webkit-app-region: drag;
cursor: move;
padding: 10px;
text-align: right;
}
#start {
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: calc(100vh - 2.5rem);
text-align: center;
}
#checkbox {
text-align: left;
}
a,
button,
input,
label,
i {
-webkit-app-region: no-drag;
}
#updskip {
display: flex;
justify-content: center;
align-items: center;
}
.skipbtn {
display: block;
float: left;
width: 200px;
height: 200px;
border: 1px solid;
margin-left: 5px;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid;
overflow: hidden;
}
.skipbtn:hover {
background-color: #b3e5fc;
transition: all 0.3s ease-in-out;
}
#prog {
font-size: 200%;
}
</style>
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
<!--a href="update.html">Reload</a-->
<div id="start">
<div id="box" class="show">
<h2>TheDesk</h2>
<p>Získejte nejnovější TheDesk</p>
<span id="now"></span><b id="ver"></b><br>
<span id="det"></span><br>
<button class="waves-effect btn windows hide" onclick="update('install')"
style="margin-left:15px;">Verze instalátoru</button>
<button class="waves-effect btn windows hide" onclick="update('portable')"
style="margin-left:15px;">Přenosná verze</button>
<button class="waves-effect btn linux hide" onclick="update('linux')"
style="margin-left:15px;">Začít</button>
<button class="waves-effect btn mac hide" onclick="update('mac')"
style="margin-left:15px;">Začít</button>
<br>
Máte problémy?<br>Prosím stáhněte si aktualizaci na <a href="https://thedesk.top">oficiální stránce</a>.
</div>
<div id="skipper" class="hide">
<h4>Můžete ztratit úžasné nové funkce!</h4>
Přeskočit tuto aktualizaci<br>
<div id="updskip">
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
<div>Do dalšího načtení časové osy</div>
</a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
<div>Do příští verze</div>
</a>
</div>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">Pokračovat v aktualizaci</a>
</div>
<div id="dlnow" class="hide">
<h4>Stahuji...</h4>
<h4 id="prog"></h4>
<div class="progress">
<div class="determinate" style="width: 0%"></div>
</div>
</div>
</div>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script>
function skipper() {
$("#dlnow").addClass("hide");
$("#box").toggleClass("show");
if ($("#box").hasClass("hide") && $("#skipper").hasClass("hide")) {
$("#skipper").removeClass("hide");
$("#skipper").addClass("show");
} else {
$("#box").toggleClass("hide");
$("#skipper").toggleClass("hide");
$("#skipper").toggleClass("show");
}
}
verck();
function update(sel) {
$("#box").toggleClass("show");
$("#box").toggleClass("hide");
$("#dlnow").toggleClass("hide");
$("#dlnow").toggleClass("show");
$("#prog").text("");
var bit = localStorage.getItem("bit");
var start = "https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: { 'content-type': 'application/json' },
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
if (sel == "install") {
if (bit == "x64") {
var url = json["winx64"];
var file = "TheDesk-setup.exe";
} else if (bit == "ia32") {
var url = json["winia32"];
var file = "TheDesk-setup-ia32.exe";
}
} else if (sel == "portable") {
if (bit == "x64") {
var url = json["winx64p"];
var file = "TheDesk.exe";
} else if (bit == "ia32") {
var url = json["winia32p"];
var file = "TheDesk-ia32.exe";
}
} else if (sel == "linux") {
if (bit == "x64") {
var url = json["linuxx64"];
var file = "TheDesk-linux-x64.zip";
} else if (bit == "ia32") {
var url = json["linuxia64"];
var file = "TheDesk-linux-ia32.zip";
}
} else if (sel == "mac") {
var url = json["mac"];
shell.openExternal(url);
return false;
}
postMessage(["downloadButton", [url, file]], "*")
});
}
function quit() {
postMessage(["sendSinmpleIpc", "quit"], "*")
}
function updateProg(arg) {
console.log(arg);
$(".determinate").css("width", arg * 100 + "%");
$("#prog").text(Math.floor(arg * 100) + "%");
}
function updateMess(arg) {
console.log(arg);
$("#prog").text(arg);
}
function verck() {
var platform = localStorage.getItem("platform");
var bit = localStorage.getItem("bit");
if (platform == "win32") {
$('.windows').removeClass("hide")
} else if (platform == "linux") {
$('.linux').removeClass("hide")
} else if (platform == "darwin") {
$('.mac').removeClass("hide")
}
var start = "https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: { 'content-type': 'application/json' },
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
console.log(json);
if (platform == "win32") {
$("#ver").text(json.desk);
localStorage.setItem("next-ver", json.desk);
} else if (platform == "linux") {
$("#ver").text(json.desk_linux);
localStorage.setItem("next-ver", json.desk_linux);
} else if (platform == "darwin") {
$("#ver").text(json.desk_mac);
localStorage.setItem("next-ver", json.desk_mac);
}
var lang = "cs";
if (lang == "ja") {
$("#det").html(json.detail);
} else {
$("#det").html(json.detail_en);
}
$("#now").text(localStorage.getItem("ver"));
});
}
function nextv() {
localStorage.setItem("new-ver-skip", "true");
window.close();
}
function enc(ver) {
var ver = ver.replace(/\s/g, "");
var ver = ver.replace(/\(/g, "-");
var ver = ver.replace(/\)/g, "");
var ver = ver.replace(/\[/g, "_");
var ver = ver.replace(/\]/g, "");
return ver;
}
</script>

159
app/view/de/acct.html Normal file
View File

@ -0,0 +1,159 @@
<!doctype html>
<html lang="de">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<style>
.acct {
display: flex;
justify-content: space-around;
}
.card {
width: 400px;
background-color: #9e9e9e;
margin: 10px;
}
body,
html {
overflow-y: scroll;
}
#acct-list {
display: flex;
flex-wrap: wrap;
color: white;
align-items: flex-start
}
.lts {
font-size: 150%
}
.colorsel {
display: flex;
}
.card .colorsel div:not(.exc) {
width: 20px;
height: 20px;
}
.card .colorsel div.exc {
width: 40px;
height: 20px;
}
.first {
display: flex;
justify-content: center;
align-items: center
}
.first .hide-first {
display: none;
}
</style>
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body id="mainView">
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.de.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script>
var misskeytoken = false;
</script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<div class="hide-first">
<a href="index.html" class="btn waves-effect orange nex"
style="width:100%; max-width:200px;">Zurück</a><br>
<h5>Konten</h5>
<div id="acct-list"></div>
<div class="divider"></div>
</div>
<div>
<h5>Konto hinzufügen</h5><br>
<div id="add">
<div class="row">
<div class="col s8">
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
<div id="ins-suggest"></div>
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br>
<label>
<input type="checkbox" class="filled-in" id="linux" />
<span>Code setup</span>
</label>
<br>
<label>
<input type="checkbox" class="filled-in" id="misskey" />
<span>Login as Misskey</span>
</label><br>
<button class="btn waves-effect" onclick="instance()">Login</button><br>
</div>
<div class="col s4">
<span style="font-family:Open Sans;">Supports</span>
<div id="support" class="collection transparent"></div>
</div>
</div>
</div>
<div id="auth" style="display:none">
Fügen Sie den Code ein und schließen Sie den Browser.<br>
<input type="text" id="code" placeholder="Code">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>
Lies die <a href="https://thedesk.top/how-to-misskey-login.html">Doku (japanisch)</a> um dich bei Misskey einzuloggen.<br>
<input type="hidden" id="misskey-url">
<input type="text" id="misskey-key" placeholder="Code">
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br>
</div>
</div>
<div class="hide-first">
<h5>Hauptkonto</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">Konto auswählen</span>
<br>
<select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<label></label>
</div>
Some instance data by <a href="https://instances.social" target="_blank">instances.social API</a><br>
<h5 id="ins-title"></h5>
Administered by:<a id="ins-admin"></a><br>
<span id="ins-desc"></span><br>
<img src="../../img/loading.svg" id="ins-prof" width="200"><br>
<br>
Domain:<span id="ins-name"></span><br>
Föderierte Server:<span id="ins-connect"></span><br>
Toots:<span id="ins-toot"></span><br>
Nutzer:<span id="ins-user"></span>Nutzer<br>
Verbindung:<span id="ins-per"></span>%<br>
Mastodon Version:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
</div>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/common/sha256.js"></script>
<script type="text/javascript" src="../../js/login/tkn.js"></script>
<script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="../../js/login/manager.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

1106
app/view/de/index.html Normal file

File diff suppressed because it is too large Load Diff

508
app/view/de/setting.html Normal file
View File

@ -0,0 +1,508 @@
<!doctype html>
<html lang="de" style="overflow:scroll">
<head>
<title>Settings - TheDesk</title>
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<style>
input {
max-height: 50px !important
}
.pcr-result {
height: 1rem !important;
}
</style>
</head>
<body id="mainView" style="overflow-y:scroll">
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.de.js"></script>
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
<script src="../../node_modules/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<h4>Einstellungen</h4>
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
<i class="material-icons">desktop_windows</i>Systemeinstellungen
</div>
<div class="collapsible-body">
<h5>Sprachen</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a><a onclick="changelang('bg')" class="pointer" style="margin-right:5px;">български</a><a onclick="changelang('cs')" class="pointer" style="margin-right:5px;">Česky</a><a onclick="changelang('de')" class="pointer" style="margin-right:5px;">Deutsch</a>
<h5>Import und Export von Einstellungen</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">Export</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
style="width:100%; max-width:200px;">Import</button>
<div id="envView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">Benachrichtigungen testen</a><br></template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<label>
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
<span>{{check.text}}</span>
</label>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Ändern</button>
</template><br>
</template>
</div>
<h5>Schriftart</h5>
Wählen Sie Ihre Lieblingsschrift. 'Select'(nur Windows/ macOS)<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
<br>
<input type="text" style="width:150px" id="font">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Speichern</button>
<br>
<h5>Ordner zum Speichern</h5>
TheDesk verwendet diesen Ordner, wenn es versucht Bilder zu speichern oder Screenshots zu machen.<br>
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">Ändern</button>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">color_lens</i>Designs
</div>
<div class="collapsible-body">
<h4>Design auswählen</h4>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
<span>Black</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
<span>White</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo"
value="indigo" />
<span>Indigo<span class="imas hide">(エンドレスナイト)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
<span>Brown<span class="imas hide">(ビタースイート・タイム)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
value="custom" />
<span>custom</span>
</label>
<div style="width:300px" id="sel-selector">
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
</div>
<h4>Bearbeiten und hinzufügen von eigenen Designs</h4>
<div style="width:300px" id="edit-selector" data-add="Neues hinzufügen">
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
<option value="add_new">Neues hinzufügen</option>
</select>
</div>
<h5>Name</h5>
<input type="text" style="width:300px" id="custom_name" placeholder="Name...">
<h5>Über dieses Design</h5>
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
placeholder="Über dieses Design..."></textarea></div>
<h5>Farbschema</h5>
<label>
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
checked="true" />
<span>Dark</span>
</label>
<label>
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
value="light" />
<span>Light</span>
</label>
<div id="pickers">
<div>
<h5>Primary</h5>Background of components
<div id="color-picker0-wrap">
<div class="color-picker" id="color-picker0"></div>
</div>
<input type="hidden" id="color-picker0_value">
</div>
<div>
<h5>Secondary</h5>Hintergrundfarbe
<div id="color-picker1-wrap">
<div class="color-picker" id="color-picker1"></div>
</div>
<input type="hidden" id="color-picker1_value">
</div>
<div>
<h5>Texts</h5>Textfarbe
<div id="color-picker2-wrap">
<div class="color-picker" id="color-picker2"></div>
</div>
<input type="hidden" id="color-picker2_value">
</div>
<div>
<h5>Accent</h5>Background of boosts
<div id="color-picker3-wrap">
<div class="color-picker" id="color-picker3"></div>
</div>
<input type="hidden" id="color-picker3_value">
</div>
</div>
<button class="btn-large waves-effect" onclick="customComp()">Ändern</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Löschen</button><br><br>
<input type="text" style="width:300px;height:40px;" id="custom_json" class="materialize-textarea"
placeholder="JSON style" readonly><br>
Share this code with other TheDesk. Do not share this code with MiAS.
<h4>Import von eigenen Designs</h4>
Mehr Designs auf: <a href="https://assets.msky.cafe/" target="_blank">MiAS</a><br>
<input type="text" style="width:300px;height:40px;" id="custom_import" class="materialize-textarea"
placeholder="JSON/JSON5 style">
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>Timeline Preferences
</div>
<div class="collapsible-body">
<div id="tlView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<label>
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
<span>{{check.text}}</span>
</label>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Ändern</button>
</template><br>
</template>
</div>
<h5>Custom sound</h5>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
id="c1-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
id="c2-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
id="c3-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
id="c4-file"></span><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">send</i>Posting Preferences
</div>
<div class="collapsible-body">
<div id="postView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
<template v-if="item.text.desc">
<span v-html="item.text.desc"></span><br>
</template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<template v-if="!check.kirishima || (check.kirishima && kirishima)">
<label><input class="with-gap" v-on:click="complete(i,check.value)"
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
v-bind:value="check.value" />
<span>{{check.text}}</span></label>
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
</template>
</template>
</template>
<template v-else>
<template v-if="item.doubleText">
<template v-for="(textbox, j) in item.data">
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
</template>
</template>
<template v-else>
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">Ändern</button>
</template><br>
</template>
</div>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">keyboard</i>Tastaturkürzel Einstellungen
</div>
<div class="collapsible-body">
<h5>Easy inserter</h5>
You can insert any letters and emojis with only 3 keys<br>
Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">Speichern</button><br><br>
Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2">
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">Speichern</button><br><br>
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">Speichern</button><br><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
</div>
<div class="collapsible-body">
<h5>Client Mute</h5>
<div id="mute-cli"></div>
<h5>Client Emphasis</h5>
Click client name on toots to toggle mute and emphasis.
<h5>Words Mute</h5>
Enter to set<br>
<div class="chips" id="wordmute" style="background-color:gray;"></div>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">Speichern</button>
<h5>Words Emphasis</h5>
Enter to set<br>
<div class="chips" id="wordemp" style="background-color:gray;"></div>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">Speichern</button>
<h5>Users Emphasis</h5>
Set on users data modals.
<span class="emphasized"> Use this color to emphasis </span>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="fa fa-spotify"></i>Spotify und NowPlaying Einstellungen
</div>
<div class="collapsible-body">
<h5>NowPlaying Provider(Windows)</h5>
macOS und Linux werden nicht unterstützt. AIMP und iTunes wurden von Entwicklern überprüft. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> Für foobar2000 ist <a href="http://poiru.github.com/foo-cad/">foo_cad Plugin</a> erforderlich. MusicBee benötigt CAD.<br>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
<span>AIMP</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
value="ITUNES" />
<span>iTunes</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm"
value="MEDIAMONKEY" />
<span>MediaMonkey</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
value="WINAMP" />
<span>Winamp</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
<span>WMP</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
<span>WLM</span>
</label>
<label>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
<span>CAD</span>
</label>
<br><br>
Klick <i class="material-icons" style="font-size:24px;">music_note</i>Symbol für NowPlaying<br>
<h5>Kontoverbindung</h5>
TheDesk speichert Ihre Daten auf dem thedesk.top Server.<br>
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">Speichern</button></div>
<a onclick="spotifyConnect()" class="btn waves-effect nex"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i
class="fa fa-spotify left"></i>Verbinden</a>
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>Trennen</a>
<h5>@@templateedit@@</h5>
@@templateeditwarn@@<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
@@template1@@<br>
@@template2@@<br>
@@template3@@<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Speichern</button>
<h5>Attach an Artwork of Spotify</h5>
<label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
value="yes" />
<span>Ja</span>
</label>
<label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
value="no" />
<span>Nein</span>
</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">hearing</i>Einstellungen Vorlesefunktion
</div>
<div class="collapsible-body">
<h5>Geschwindigkeit</h5>
1-100(Standard:10)<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
style="width:500px; max-width:100%" /></p>
<h5>Stimmlage</h5>
0-100(Standard:50)<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
style="width:500px; max-width:100%" /></p>
<h5>Lautstärke</h5>
0-100(Standard:100)<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
style="width:500px; max-width:100%" /></p>
<h5>Test</h5>
<input type="text" style="width:350px" id="voicetxt" value="TheDesk ist ein Open-Source Mastodon Client für PC.">
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
id="testplay">Abspielen/Stoppen</button><br>
<br>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">Speichern</button>
</div>
</li>
</ul>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
class="material-icons left">undo</i>Zurück</a>
<br>
<br>Tastenkombinationen
<li>Ctrl+1-9:Wechsle zu n(1-9)ten Spalte</li>
<li>N:Tröt-Box öffnen</li>
<li>X:Tröt-Box umschalten</li>
<li>Ctrl+Enter:Senden</li>
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
<li>Alt+Enter:Secondary Toot Button</li>
<li>Ctrl+E:Markiere alle Benachrichtigungen als gelesen.</li>
<li>Ctrl+U:@@keyselecttop@@</li>
<li>Esc:Tröt-Box ausblenden</li>
<li>F5:Super Reload</li>
<li>Ctrl+Shift+C:Eingabe löschen</li>
<li>Ctrl+Shift+S:Einstellungen</li>
<li>Ctrl+Shift+M:Account Manager</li>
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
<li>Ctrl+Shift+P:Show profile of selecting</li>
<li>←/→:Nächstes oder vorheriges Bild anzeigen</li>
<li>Mousewheel:Zoom a image</li>
<div class="hide kirishima">
以下Markdownに対応したインスタンスのみ。
<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
</li><br>
@@whenSelected@@
<li>F:@@fav@@</li>
<li>B:@@bt@@</li>
<li>R:@@reply@@</li>
</div>
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
onclick="if(confirm('Alle Daten löschen. Kein Rückgängig mehr möglich! Fortfahren?')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>Reset(Gefährlich)</button><br><br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
class="material-icons left">info</i>Über TheDesk</button>
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i
class="material-icons left">web</i>Homepage</a>
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Unterstützen(Pixiv FANBOX)</a>
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Unterstützen(Patreon)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i
class="material-icons left">list</i>Hilfe/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25"
style="padding-top:5px;">Developer: Cutls@cutls.com</a>
<br>
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
class="pointer">Nach Updates suchen</a><br>
<a href="oss.html">OSS License</a><br>
<span style="font-family:Open Sans;">Copyright &copy; TheDesk 2018
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
Policy</a>
<br>Developer: Cutls P(
<a href="index.html?mode=user&code=Cutls@cutls.com">@Cutls@cutls.com</a>)
<br>
</span><br>
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/login/logout.js"></script>
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
<script type="text/javascript" src="../../js/tl/speech.js"></script>
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
<script type="text/javascript" src="../../js/ui/settings.js"></script>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

552
app/view/de/setting.vue.js Normal file
View File

@ -0,0 +1,552 @@
var yesno = [
{
text: "Ja",
value: "yes"
}, {
text: "Nein",
value: "no"
}
];
var sound = [
{
text: "Ohne",
value: "none"
}, {
text: "Standard",
value: "default"
}, {
text: "Custom 1",
value: "c1"
}, {
text: "Custom 2",
value: "c2"
}, {
text: "Custom 3",
value: "c3"
}, {
text: "Custom 4",
value: "c4"
}
];
var envConstruction = [
{
id: "popup",
storage: "popup",
checkbox: false,
doubleText: false,
setValue: 0,
width: 50,
text: {
head: "Popup-Benachrichtigung(unter Windows)",
desc: 'Bei "0" Ausgeschaltet.',
after: "Sek"
}
}, {
id: "notf",
storage: "nativenotf",
checkbox: true,
setValue: "yes",
text: {
head: "System Benachrichtigungen",
desc: "Dies funktioniert nicht mit der Portablen Windows Version.",
checkbox: yesno
}
}, {
id: "width",
storage: "width",
checkbox: false,
doubleText: false,
width: 50,
setValue: 300,
text: {
head: "Minimale Breite der Spalten",
desc: "Scroll bar will be shown when your window size is more than ammounts of columns.",
after: "px above"
}
}, {
id: "fixwidth",
storage: "fixwidth",
checkbox: false,
doubleText: false,
setValue: 300,
width: 50,
text: {
head: "Minimale Breite des TweetDeck-Browsers",
desc: "",
after: "px above"
}
}, {
id: "size",
storage: "size",
checkbox: false,
doubleText: false,
width: 50,
setValue: 13,
text: {
head: "Schriftgröße",
desc: '<span style="font-size:13px">13px(Absoluter Wert)</span>',
after: "px"
}
}, {
id: "ha",
storage: "ha",
checkbox: true,
setValue: false,
text: {
head: "Hardwarebeschleunigung deaktivieren",
desc: "Auto restarted",
checkbox: [
{
text: "Ja",
value: "true"
}, {
text: "Nein",
value: "false"
}
]
}
}
];
var tlConstruction = [
{
id: "time",
storage: "datetype",
checkbox: true,
setValue: "absolute",
text: {
head: "Zeitformat",
desc: 'Relatives Format:"vor 1 Minuten","vor 3 Tagen"<br>Absolutes Format:"23:25:21","2017/12/30 23:59:00"<br>Gemischtes Format:Die heute geposteten Zahn sind relativ formatiert, andere sind absolut formatiert.',
checkbox: [
{
text: "Relativ",
value: "relative"
}, {
text: "Absolut",
value: "absolute"
}, {
text: "Sowohl relativ als auch absolut",
value: "double"
}, {
text: "Gemischt",
value: "medium"
}
]
}
}, {
id: "ul",
storage: "locale",
checkbox: true,
setValue: "yes",
text: {
head: "Server's unique locale",
desc: "This value is available on some Japanese servers",
checkbox: yesno
}
}, {
id: "nsfw",
storage: "nsfw",
checkbox: true,
setValue: "yes",
text: {
head: "NSFW Bilder ausblenden",
desc: "Starker Unschärfeeffekt",
checkbox: yesno
}
}, {
id: "cw",
storage: "cw",
checkbox: true,
setValue: "yes",
text: {
head: "Hide CW contents",
desc: "",
checkbox: yesno
}
}, {
id: "rp",
storage: "replyct",
checkbox: true,
setValue: "hidden",
text: {
head: "Reply counter style",
desc: "",
checkbox: [
{
text: "Show 1+ if the replies are more than 1.",
value: "hidden"
}, {
text: "Show 1+ if the replies are more than 1.",
value: "all"
}
]
}
}, {
id: "gif",
storage: "gif",
checkbox: true,
setValue: "yes",
text: {
head: "Animated GIF images animation",
desc: "",
checkbox: yesno
}
}, {
id: "tag",
storage: "tag-range",
checkbox: true,
setValue: "local",
text: {
head: "Tag TL Search",
desc: "",
checkbox: [
{
text: "Use federated network",
value: "all"
}, {
text: "Use local network",
value: "local"
}
]
}
}, {
id: "via",
storage: "viashow",
checkbox: true,
setValue: "no",
text: {
head: "Show via",
desc: "",
checkbox: yesno
}
}, {
id: "mov",
storage: "mouseover",
checkbox: true,
setValue: "no",
text: {
head: "Hide action buttons without mouseover",
desc: "You may feel 'mouseover' is unconfortable:(",
checkbox: [
{
text: "Mouseover to show",
value: "yes"
}, {
text: "Click to show",
value: "click"
}, {
text: "Nein",
value: "no"
}
]
}
}, {
id: "notfm",
storage: "setasread",
checkbox: true,
setValue: "yes",
text: {
head: "Show Notification marker, red colored bell and counter(if you show a notification column.)",
desc: "",
checkbox: yesno
}
}, {
checkbox: false,
doubleText: true,
data: [
{
id: "sentence",
storage: "sentence",
width: 50,
setValue: 500,
text: { after: "lines above or" }
}, {
id: "letters",
storage: "letters",
width: 50,
setValue: 7000,
text: { after: "letters above" }
}
],
text: {
head: "Auto folding",
desc: "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.",
}
}, {
id: "img-height",
storage: "img-height",
checkbox: false,
doubleText: false,
width: 80,
setValue: 200,
text: {
head: "Height of images",
desc: 'Option:Set "full" to uncrop.',
after: "px"
}
}, {
id: "ticker",
storage: "ticker_ok",
checkbox: true,
setValue: "no",
text: {
head: "Enable #InstanceTicker",
desc: 'Show colorful stickers about the server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
checkbox: yesno
}
}, {
id: "anime",
storage: "animation",
checkbox: true,
setValue: "yes",
text: {
head: "Animation of timelines",
desc: "",
checkbox: yesno
}
}, {
id: "replySound",
storage: "replySound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Reply)",
desc: "",
checkbox: sound
}
}, {
id: "favSound",
storage: "favSound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Fav)",
desc: "",
checkbox: sound
}
}, {
id: "btSound",
storage: "btSound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Boost)",
desc: "",
checkbox: sound
}
}, {
id: "followSound",
storage: "followSound",
checkbox: true,
setValue: "none",
text: {
head: "Sound(Follow)",
desc: "",
checkbox: sound
}
}
];
var postConstruction = [
{
id: "cw-text",
storage: "cw-text",
checkbox: false,
doubleText: false,
width: 150,
setValue: "",
text: {
head: "Default warining text",
desc: "",
after: ""
}
}, {
checkbox: false,
doubleText: true,
data: [
{
id: "cw_sentence",
storage: "cw_sentence",
width: 50,
setValue: 500,
text: { after: "lines above or" }
}, {
id: "cw_letters",
storage: "cw_letters",
width: 50,
setValue: 7000,
text: { after: "letters above" }
}
],
text: {
head: "Warnung vor dem Versenden eines langen Toots.",
desc: "Show dialog whether you make too-long text hidden.",
}
}, {
id: "cws",
storage: "always-cw",
checkbox: true,
setValue: "no",
text: {
head: "Always CW set",
desc: "",
checkbox: yesno
}
}, {
id: "vis",
storage: "vis",
checkbox: true,
setValue: "public",
text: {
head: "Default visibility",
desc: "",
checkbox: [
{
text: "Public",
value: "public"
}, {
text: "Unlisted",
value: "unlisted"
}, {
text: "Private",
value: "private"
}, {
text: "Direct",
value: "direct"
}, {
text: "Memory(memorized as each server)",
value: "memory"
}, {
text: "Default of your visibility(Set on preferences of Mastodon server)",
value: "useapi"
}
]
}
}, {
id: "img",
storage: "img",
checkbox: true,
setValue: "no-act",
text: {
head: "Posting images preferences",
desc: "",
checkbox: [
{
text: "Insert media URL",
value: "url"
}, {
text: "Insert nothig",
value: "no-act"
}
]
}
}, {
id: "box",
storage: "box",
checkbox: true,
setValue: "yes",
text: {
head: "Action of posting-box",
desc: "",
checkbox: [
{
text: "Folding",
value: "yes"
}, {
text: "Open after posting",
value: "no"
}, {
text: "Absolutely open",
value: "absolute"
}
]
}
}, {
id: "quote",
storage: "quote",
checkbox: true,
setValue: "nothing",
text: {
head: "Quote format",
desc: "",
checkbox: [
{
text: "Nur URL",
value: "simple"
}, {
text: "URL and acct(mention to the user)",
value: "mention"
}, {
text: "URL, text and acct(mention to the user)",
value: "full"
}, {
text: "Disabled(Hide buttons on TLs)",
value: "nothing"
}
]
}
}, {
id: "main",
storage: "mainuse",
checkbox: true,
setValue: "remain",
text: {
head: "Default accounts of actions",
desc: "Main account can be set on Account Manager.",
checkbox: [
{
text: "Account you used recently",
value: "remain"
}, {
text: "Main account",
value: "main"
}
]
}
}, {
id: "sec",
storage: "sec",
checkbox: true,
setValue: "public",
text: {
head: "Secondary Toot Button",
desc: "",
checkbox: [
{
text: "Hidden",
value: "nothing"
}, {
text: "Public",
value: "public"
}, {
text: "Unlisted",
value: "unlisted"
}, {
text: "Private",
value: "private"
}, {
text: "Direct",
value: "direct"
}, {
text: "Local Only",
value: "local",
kirishima: true,
kirishimaText: "非対応インスタンスでは「未収載」になります。"
}
]
}
}, {
id: "zero",
storage: "emoji-zero-width",
checkbox: true,
setValue: "normal",
setValue: "no",
text: {
head: "Zero-width space when inserting emojis",
desc: "",
checkbox: yesno
}
}
]

255
app/view/de/update.html Normal file
View File

@ -0,0 +1,255 @@
<!doctype html>
<html lang="de">
<head>
<title>Update - TheDesk</title>
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body>
<style>
body {
font-family: 'Open Sans';
-webkit-app-region: drag;
cursor: move;
padding: 10px;
text-align: right;
}
#start {
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: calc(100vh - 2.5rem);
text-align: center;
}
#checkbox {
text-align: left;
}
a,
button,
input,
label,
i {
-webkit-app-region: no-drag;
}
#updskip {
display: flex;
justify-content: center;
align-items: center;
}
.skipbtn {
display: block;
float: left;
width: 200px;
height: 200px;
border: 1px solid;
margin-left: 5px;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid;
overflow: hidden;
}
.skipbtn:hover {
background-color: #b3e5fc;
transition: all 0.3s ease-in-out;
}
#prog {
font-size: 200%;
}
</style>
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
<!--a href="update.html">Reload</a-->
<div id="start">
<div id="box" class="show">
<h2>TheDesk</h2>
<p>Neusten TheDesk holen.</p>
<span id="now"></span><b id="ver"></b><br>
<span id="det"></span><br>
<button class="waves-effect btn windows hide" onclick="update('install')"
style="margin-left:15px;">Installer Version</button>
<button class="waves-effect btn windows hide" onclick="update('portable')"
style="margin-left:15px;">Portable Version</button>
<button class="waves-effect btn linux hide" onclick="update('linux')"
style="margin-left:15px;">Start</button>
<button class="waves-effect btn mac hide" onclick="update('mac')"
style="margin-left:15px;">Start</button>
<br>
Gibt es Probleme?<br>Bitte von <a href="https://thedesk.top">Offizielle Homepage</a> herunterladen.
</div>
<div id="skipper" class="hide">
<h4>Du kannst ein cooles Erlebnis verpassen!</h4>
Update überspringen<br>
<div id="updskip">
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
<div>Bis zur nächsten Verlaufsaktualisierung</div>
</a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
<div>Bis zur nächsten Version</div>
</a>
</div>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">Aktualisieren fortsetzen</a>
</div>
<div id="dlnow" class="hide">
<h4>Herunterladen...</h4>
<h4 id="prog"></h4>
<div class="progress">
<div class="determinate" style="width: 0%"></div>
</div>
</div>
</div>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script>
function skipper() {
$("#dlnow").addClass("hide");
$("#box").toggleClass("show");
if ($("#box").hasClass("hide") && $("#skipper").hasClass("hide")) {
$("#skipper").removeClass("hide");
$("#skipper").addClass("show");
} else {
$("#box").toggleClass("hide");
$("#skipper").toggleClass("hide");
$("#skipper").toggleClass("show");
}
}
verck();
function update(sel) {
$("#box").toggleClass("show");
$("#box").toggleClass("hide");
$("#dlnow").toggleClass("hide");
$("#dlnow").toggleClass("show");
$("#prog").text("");
var bit = localStorage.getItem("bit");
var start = "https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: { 'content-type': 'application/json' },
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
if (sel == "install") {
if (bit == "x64") {
var url = json["winx64"];
var file = "TheDesk-setup.exe";
} else if (bit == "ia32") {
var url = json["winia32"];
var file = "TheDesk-setup-ia32.exe";
}
} else if (sel == "portable") {
if (bit == "x64") {
var url = json["winx64p"];
var file = "TheDesk.exe";
} else if (bit == "ia32") {
var url = json["winia32p"];
var file = "TheDesk-ia32.exe";
}
} else if (sel == "linux") {
if (bit == "x64") {
var url = json["linuxx64"];
var file = "TheDesk-linux-x64.zip";
} else if (bit == "ia32") {
var url = json["linuxia64"];
var file = "TheDesk-linux-ia32.zip";
}
} else if (sel == "mac") {
var url = json["mac"];
shell.openExternal(url);
return false;
}
postMessage(["downloadButton", [url, file]], "*")
});
}
function quit() {
postMessage(["sendSinmpleIpc", "quit"], "*")
}
function updateProg(arg) {
console.log(arg);
$(".determinate").css("width", arg * 100 + "%");
$("#prog").text(Math.floor(arg * 100) + "%");
}
function updateMess(arg) {
console.log(arg);
$("#prog").text(arg);
}
function verck() {
var platform = localStorage.getItem("platform");
var bit = localStorage.getItem("bit");
if (platform == "win32") {
$('.windows').removeClass("hide")
} else if (platform == "linux") {
$('.linux').removeClass("hide")
} else if (platform == "darwin") {
$('.mac').removeClass("hide")
}
var start = "https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: { 'content-type': 'application/json' },
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
console.log(json);
if (platform == "win32") {
$("#ver").text(json.desk);
localStorage.setItem("next-ver", json.desk);
} else if (platform == "linux") {
$("#ver").text(json.desk_linux);
localStorage.setItem("next-ver", json.desk_linux);
} else if (platform == "darwin") {
$("#ver").text(json.desk_mac);
localStorage.setItem("next-ver", json.desk_mac);
}
var lang = "de";
if (lang == "ja") {
$("#det").html(json.detail);
} else {
$("#det").html(json.detail_en);
}
$("#now").text(localStorage.getItem("ver"));
});
}
function nextv() {
localStorage.setItem("new-ver-skip", "true");
window.close();
}
function enc(ver) {
var ver = ver.replace(/\s/g, "");
var ver = ver.replace(/\(/g, "-");
var ver = ver.replace(/\)/g, "");
var ver = ver.replace(/\[/g, "_");
var ver = ver.replace(/\]/g, "");
return ver;
}
</script>

View File

@ -48,7 +48,7 @@
<div class="collapsible-body"> <div class="collapsible-body">
<h5>Languages</h5> <h5>Languages</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br> To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a> <a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a><a onclick="changelang('bg')" class="pointer" style="margin-right:5px;">български</a><a onclick="changelang('cs')" class="pointer" style="margin-right:5px;">Česky</a><a onclick="changelang('de')" class="pointer" style="margin-right:5px;">Deutsch</a>
<h5>Import and export of preferences</h5> <h5>Import and export of preferences</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" <button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">Export</button> style="width:100%; max-width:200px;">Export</button>

View File

@ -48,7 +48,7 @@
<div class="collapsible-body"> <div class="collapsible-body">
<h5>言語</h5> <h5>言語</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br> To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a> <a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a><a onclick="changelang('bg')" class="pointer" style="margin-right:5px;">български</a><a onclick="changelang('cs')" class="pointer" style="margin-right:5px;">Česky</a><a onclick="changelang('de')" class="pointer" style="margin-right:5px;">Deutsch</a>
<h5>設定のインポートとエクスポート</h5> <h5>設定のインポートとエクスポート</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" <button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">エクスポート</button> style="width:100%; max-width:200px;">エクスポート</button>

View File

@ -0,0 +1,22 @@
{
"list": "Списък на профилите",
"back": "Назад",
"add": "Добавяне на профил",
"codesetupwarn": "Премахнете отметката за да пропуснете влизането с код. (Вход в Mastodon от Windows или macOS) (Препоръчително: pcheck)",
"codesetup": "Настройка на код",
"mainacct": "Основен профил",
"selacct": "Изберете профил",
"codepastewarn": "Поставете кода и затворете браузъра.",
"codepaste": "Код",
"domain": "Домейн",
"connect": "Федерални сървъри",
"toots": "Тоот",
"users": "Потребители",
"users2": "потребители",
"safety": "Свързване",
"ver": "Mastodon версия",
"ko": "",
"thisismisskey": "Влезте като Misskey",
"misskeylogin": "Прочетете <a href=\"https://thedesk.top/how-to-misskey-login.html\">Документацията</a>, за да влезете в Misskey.",
"nodata": "Няма данни"
}

View File

@ -0,0 +1,167 @@
{
"draghere": "Плъзнете тук за да качите",
"close": "Затвори",
"showSelectProf": "Показване на профила на избрания акаунт",
"closethisbox": "Затвори полето",
"toot": "Тоот",
"post-new": "Нова публикация",
"nsfwDes": "Маркирайте медията като чувствителна",
"cwDes": "Скриване на текста зад предупреждение",
"selfile": "Прикачи..",
"insertEmoji": "Емотикони",
"NPSpotify": "Възпроизвеждане сега (Spotify)",
"NPiTunes": "Възпроизвеждане сега",
"schedule": "Планиран тоот",
"postat": "Публикация в",
"scheduleWarn": "2.7.0 ~ Минимален интервал от време:5мин. (часовникът на сървъра може да не е точен.)",
"clearToot": "Изчисти тоот кутията",
"replyMode": "Отговор",
"no": "Не",
"yes": "Да",
"temp": "Прикачени файлове",
"nothing": "Няма",
"vis": "Регулирайте поверителността на състоянието",
"cwtext": "Текст за предупреждение",
"selectVis": "Регулирайте поверителността на състоянието",
"publicJP": "",
"unlistedJP": "",
"privateJP": "",
"localJP": "Само местно",
"sectoot": "Втори Тоот",
"directJP": "",
"emojiWarn": "",
"emojiInsertWarn": "Някои емотикони не могат да бъдат вмъкнати.",
"refreshEmoji": "Обнови списъка с емотиконите",
"closeThisBox": "Затвори полето",
"showThisEmoji": " са показани.",
"customEmoji": "Персонализирани емотикони",
"peopleEmoji": "Емоти с хора",
"natureEmoji": "Емоти с природа",
"foodEmoji": "Емоти с храни",
"activityEmoji": "Емоти с дейности",
"placeEmoji": "Емоти с места",
"thingsEmoji": "Емоти с инструменти",
"symbolEmoji": "Емоти със символи",
"flagsEmoji": "Емоти с флагове",
"poll": "Анкета",
"pollDdisabled": "Анкети: Деактивирани",
"pollProvider": "Доставчик на Анкета",
"polluntil": "Скриване на броя на гласовете, докато хората гласуват.",
"choice": "Избор",
"pollmulti": "Многоброен избор",
"expires_in": "Изтича в...(сек)",
"contextBefore": "Контекст преди този тоот",
"thisToot": "Този тоот",
"contextAfter": "Контекст след този тоот",
"beforeLTL": "Локален TL преди тоот",
"beforeUTL": "Потребителски TL преди тоот",
"afterLTL": "Локален TL след този тоот)",
"afterUTL": "Потребителски TL преди този тоот",
"afterFTL": "Федерализиран TL след този тоот",
"favedPeople": "Хора, които го харесват",
"btedPeople": "Хората, които го подсилиха",
"useOtherAcct1": "Използване на друг профил",
"useOtherAcct2": ":unfav и unBT са деактивирани.",
"reply": "Отговор",
"bt": "Подсилване",
"favRegist": "Любими",
"openBrowser": "Отваряне в браузъра",
"screenshot": "Направете снимка на екрана",
"copyURL": "Копирай URL адреса на този тоот",
"embed": "Закрепи",
"toots": "Тоот",
"follow": "Следвам",
"follower": "Последователи",
"timeline": "Времева линия",
"operateOtherAcct": "Свързан-профил",
"list": "Списък",
"makeNew": "Запази",
"blocks": "Блокове",
"mutes": "Заглушаване",
"block": "Блокове",
"mute": "Заглуши",
"domainBlock": "Блок домейн",
"editProf": "Редактиране на профила",
"change": "Запази",
"followReq": "Следвайте исканията",
"likeHimOrHer": "Наподобяващ",
"endorse": "Функция в профила",
"openinbrowser": "Отваряне в браузъра",
"mainacct": "Set it an main account",
"frc": "Предложени",
"more": "Още",
"revoverJP": " да се ",
"warnUseOtherAcct": "(Невъзможно да се спре на следването)",
"revoverJPde": "",
"or": "или",
"openProf": "Показване на профила",
"warnListRegist": "Следвайте, за да добавите този потребител към списъците.",
"blockDomain": "Добавете домейн за блокиране",
"name": "Показвано име",
"note": "Бележка",
"editProfImg": "Промяна на аватар",
"editHeader": "Промяна на снимката в заглавието",
"blocked": "Вие сте блокирани. Защо?",
"likeUserDes": "Намерете хора подобни на този потребител.",
"get": "Намери",
"historyBack": "Назад",
"empUser": "Подчертайте този потребител",
"supportme": "Подкрепете TheDesk!",
"TheDeskDes": "TheDesk няма реклама, няма нужда от такса за отключване на премиум функции. Нуждаем се от вашата приятелска подкрепа!",
"PatreonSupport": "Support on Patreon",
"PixivSupport": "Подкрепете в Pixiv FANBOX",
"AWLSupport": "Списък с желания от Amazon",
"SendAmazonGift1": "Дай ми Amazon Gift Card:",
"SendAmazonGift2": "",
"monthly": "Monthly",
"once": "Once",
"local": "Местно",
"localMedia": "Местна (медия)",
"home": "Начало",
"fed": "Федерални",
"fedMedia": "Федерални (Медии)",
"dm": "Директни съобщения",
"integratedTLDes": "Интегриране (Местно/Начало)",
"localPlusDes": "LTL+Отговор+BT",
"notf": "Известия",
"showThisTL": "Показване на този TL:",
"webviewWarn": "TweetDeck с потребителски TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Код</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Клавишните комбинации ще ви дразнят. Когато се почувствате така, маркирате „Предпочитам WebView“ в горната част на колоната.",
"add": "Добави",
"search": "Търсене",
"sortSet": "Подредба",
"selectAcct": "Профил (превъртете, за да покажете всички)",
"listLocale": "Списък",
"filterWord": "Филтриране на думи",
"degree": "Контекстно филтриране",
"conver": "Разговори",
"option": "Настройки",
"matchWord": "Цяла дума",
"warnMatchWord": "Ница на латински език",
"except": "Пусни вместо да е скрито",
"exceptWorn": "Филтрираните тоот ще изчезнат необратимо, дори ако по-късно филтърът бъде премахнат",
"avalableBefore": "Изтича след",
"warnAvBefore": "Изключване или „0“ означава „Никога“",
"warnAvBefore2": "Тази стойност може да съдържа някои грешки",
"unlimited": "Никога",
"days": "ден(а)",
"hours": "час(а)",
"mins": "минута(и)",
"secs": "секунда(и)",
"warnOnIntegratedTL": "Интегрираният TL/Plus TL ще скрие думите за и двете: Местно-филтриране и за Локално-филтриране.",
"helloTheDesk": "Вътрешна грешка: моля изчистете всички данни (в страницата с настройки) <b> Всички данни ще бъдат изтрити.</b>",
"addColumn": "Добавете колона",
"sortColumns": "Подредба",
"acctMan": "Мениджър на профила",
"filter": "Филтър",
"setting": "Настройки",
"reverse": "Обръщане на Тоот бутона",
"f5": "Презареди TL",
"nanoDes": "Най-малкият Мастодон,",
"verTips": "Версия",
"clockTips": "Часовник",
"ramTips": "Състояние на RAM",
"changeTips": "Промени Обърни",
"help": "Помощ",
"about": "За TheDesk",
"hereAddColumns": "<- Добави ТЛ"
}

View File

@ -0,0 +1,187 @@
{
"setting": "Предпочитания",
"set": "Запази",
"yes": "Да",
"no": "Не",
"none": "Няма",
"default": "По подразбиране",
"change": "Промяна",
"select": "Избери",
"env": "Системни предпочитания",
"setlang": "Езици",
"backup": "Внос и износ на предпочитания",
"import": "Внос",
"export": "Износ",
"hardwareAcceleration": "Деактивиране на хардуерното ускорение",
"hardwareAccelerationWarn": "Автоматичното рестартиране",
"theme": "Теми",
"popup": "Известие с изскачащ прозорец (за Windows)",
"popupwarn": "Скрито ако е зададено на „0“",
"s": "сек",
"nativenotf": "Вътрешно уведомяване",
"nnwarn": "Това не работи в Windows Portable вер.",
"nntest": "Тест за уведомяване",
"minwidth": "Минимална ширина на колоните",
"minwidthwarn": "Лентата за превъртане ще се покаже, когато размерът на прозореца е по-голям от размера на колони.",
"fixwidth": "Минимална ширина на браузъра TweetDeck",
"fixwidthwarn": "",
"above": "над",
"font": "Шрифт",
"fontwarn": "Изберете любимия си шрифт с „Избор“ (само за Windows / macOS)",
"fontsize": "Размер на шрифта",
"savefolder": "Папка за запазване",
"savefolderwarn": "TheDesk ще използва това местоназначение, когато се опитва да запази снимки или да прави екранни снимки.",
"absolute": "абсолютна стойност",
"themeSel": "Изберете тема",
"customtheme": "Редактирайте и добавете персонализирани теми",
"customthemeDirection": "Цветова схема",
"primary": "Цвят на фона",
"secondarycolor": "Компоненти на фона",
"text": "Цвят на текста",
"accent": "Фон на подсилването",
"add_new": "Добавяне на нов",
"name": "Име",
"desc": "Относно тази тема",
"customShare": "Споделете този код с друг TheDesk. Не споделяйте този код с MiAS.",
"customImport": "Импортиране на персонализирани теми",
"delete": "Изтрий",
"cImpWarn": "Вземете още теми от <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Предпочитания за времевата линия",
"timemode": "Времеви формат",
"relativetime": "Относителен формат: „преди 1 минута“, „преди 3 дни“",
"absolutetime": "Абсолютен формат:\"23:25:21\",\"2017/12/30 23:59:00\"",
"mixtime": "Смесен формат: някои от раздумките са с относителен-формат, други са с абсолютен формат.",
"relativesel": "Относителен",
"absolutesel": "Абсолютен",
"doublesel": "Относителен и абсолютен",
"mixsel": "Смесено",
"locale": "Уникално място на Сървърите",
"localewarn": "Тази стойност е налична за някои Японски сървъри",
"nswf": "Скриване на NSFW снимки",
"nsfwwarn": "Силен ефект на размазване",
"cw": "Скриване на CW съдържание",
"replyct": "Стил на брояча на отговори",
"replyct_hidden": "Показване на 1+, ако отговорите са повече от 1.",
"replyct_full": "Покажи пълния брой (1,2...)",
"gif": "Анимация на анимирани GIF изображения",
"box": "Действие на кутията за публикации",
"boxyes": "Прибрана",
"boxabs": "Постоянно отворена",
"boxno": "Отворена и след публикуване",
"tag": "Tag в TL търсене",
"tagfed": "Използване в обединената мрежа",
"taglocal": "Използване в локалната мрежа",
"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": "букви",
"or": "or",
"imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
"animation": "Анимация на времевата линия",
"replySound": "Звук (Отговор)",
"favSound": "Звук(Фаворит)",
"btSound": "Звук(Подсилване)",
"followSound": "Звук(Харесване)",
"customSound": "Персонализиран звук",
"post": "Предпочитания за публикуване",
"autocw": "Предупреждение преди публикуване на дълга раздумка.",
"autocwwarn": "Показване на диалогов прозорец, когато правите твърде дълъг скрит текст.",
"defaultcw": "Текст за предупреждение по подразбиране",
"cws": "Винаги да е зададено CW",
"defaultvis": "Видимост по подразбиране",
"public": "Публично",
"unlisted": "Скрито",
"private": "Частно",
"direct": "Директно",
"memory": "Памет(запомнено на всеки сървър)",
"useapi": "Видимост по подразбиране (Зададени от предпочитанията в Mastodon сървъра)",
"postimg": "Предпочитания за публикуване на изображения",
"showurl": "Вмъкване на URL адрес на медия",
"nourl": "Без вмъкване",
"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)",
"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": "Можете да вмъкнете всякакви букви и емотикони само с 3 клавиша",
"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",
"npProvider": "NowPlaying Provider(Windows)",
"npPeoviderWarn": "macOS и Linux не се поддържат. AIMP и iTunes бяха проверени от разработчика. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a>. И MusicBee изисква CAD.",
"spotifynote1": "Click ",
"spotifynote2": "icon to NowPlaying",
"link": "Account Connection",
"linkwarn": "TheDesk save your data on thedesk.top server.",
"connect": "Connect",
"disconnect": "Disconnect",
"templeteedit": "Промяна на шаблон",
"templeteeditwarn": "",
"templete1": "Spotify:{song}:Име на песен/{album}:Име на албум/{artist}:Име на изпълнителя/{url}:URL адрес в Spotify",
"templete2": "macOS:{song}:Име на песен/{album}:Име на албум/{artist}:ме на изпълнител/композитор:{composer}/честота на излъчване: {hz}/битрейт:{bitRate}/жанр:{genre}",
"templete3": "Windows:{song}:Име на песен/{album}:Име на албума/{artist}:Име на изпълнителя",
"postartwork": "Attach an Artwork of Spotify",
"tts": "TTS(text to speech) Preferences",
"speed": "Speed",
"speedwarn": "1-100(default:10)",
"pitch": "Pitch",
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"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",
"reset": "Reset(Danger)",
"resetconfirm": "Изтриване на всички данни. Не можете да го отмените. Продължaвате?",
"about": "About TheDesk",
"hp": "Website",
"support": "Поддръжка",
"help": "Help",
"sushi": "Give me a sushi!",
"checkup": "Check update",
"ossJP": ""
}

View File

@ -0,0 +1,16 @@
{
"updatehere": "Get latest TheDesk",
"download": "Start",
"portable": "Portable ver.",
"installer": "Installer ver.",
"snap": "Snap ver may be on Snapcraft",
"unrewrite": "Not rewrite",
"sureupd": "You may lose a cool experience!",
"skipupd": "Skip this update",
"nexttl": "Until next TL loading",
"nextver": "Until next version",
"problem1": "Some problems?",
"problem2": "Please download on <a href=\"https://thedesk.top\">Oficial HP</a>.",
"continue": "Continue updating",
"dlnow": "Downloading..."
}

View File

@ -0,0 +1,22 @@
{
"list": "Seznam účtů",
"back": "Zpět",
"add": "Přidat účet",
"codesetupwarn": "Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)",
"codesetup": "Nastavení kódu",
"mainacct": "Hlavní účet",
"selacct": "Vyberte si účet",
"codepastewarn": "Vložte kód a zavřete prohlížeč.",
"codepaste": "Kód",
"domain": "Doména",
"connect": "Federované servery",
"toots": "Tooty",
"users": "Uživatelé",
"users2": "uživatelů",
"safety": "Spojení",
"ver": "Verze Mastodonu",
"ko": "",
"thisismisskey": "Přihlásit jako Misskey",
"misskeylogin": "Pro přihlášení do Misskey si přečtěte <a href=\"https://thedesk.top/how-to-misskey-login.html\">dokumentaci (ja)</a>.",
"nodata": "No data"
}

View File

@ -0,0 +1,167 @@
{
"draghere": "Přetáhněte sem pro nahrání",
"close": "Zavřít",
"showSelectProf": "Zobrazit profil výběrového účtu",
"closethisbox": "Zavřít toto okno",
"toot": "Tootnout",
"post-new": "Poslat nový",
"nsfwDes": "Označit média jako citlivé",
"cwDes": "Skrýt text za varováním",
"selfile": "Přiložit...",
"insertEmoji": "Emoji",
"NPSpotify": "NowPlaying(Spotify)",
"NPiTunes": "NowPlaying",
"schedule": "Plánovaný toot",
"postat": "Odeslat jak",
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
"clearToot": "Clear toot box",
"replyMode": "Odpovědět",
"no": "Ne",
"yes": "Ano",
"temp": "Přiložení souborů",
"nothing": "Nic",
"vis": "Upravit soukromí statusu",
"cwtext": "Varovní text",
"selectVis": "Upravit soukromí statusu",
"publicJP": "",
"unlistedJP": "",
"privateJP": "",
"localJP": "Jen místní",
"sectoot": "Secondary Toot",
"directJP": "",
"emojiWarn": "",
"emojiInsertWarn": "Some emojis are not able to be inserted.",
"refreshEmoji": "Refresh emojis list",
"closeThisBox": "Close this box",
"showThisEmoji": " are shown.",
"customEmoji": "Custom emojis",
"peopleEmoji": "Emojis of people",
"natureEmoji": "Emojis of nature",
"foodEmoji": "Emojis of foods",
"activityEmoji": "Emojis of activities",
"placeEmoji": "Emojis of places",
"thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags",
"poll": "Anketa",
"pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll",
"polluntil": "Hide 'votes' count until people vote it.",
"choice": "Volba",
"pollmulti": "Vícenásobný výběr",
"expires_in": "Končí za...(sek)",
"contextBefore": "Context before this toot",
"thisToot": "Tento toot",
"contextAfter": "Context after this toot",
"beforeLTL": "Local TL before this toot",
"beforeUTL": "User TL before this toot",
"afterLTL": "Local TL after this toot)",
"afterUTL": "User TL before this toot",
"afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it",
"btedPeople": "People who boosted it",
"useOtherAcct1": "Použít jiný účet",
"useOtherAcct2": ":unfav and unBT are disabled.",
"reply": "Odpovědět",
"bt": "Boostnout",
"favRegist": "Oblíbit",
"openBrowser": "Otevřít v prohlížeči",
"screenshot": "Vytvořit snímek obrazovky",
"copyURL": "Kopírovat URL tohoto tootu",
"embed": "Vložit",
"toots": "Tooty",
"follow": "Sledovat",
"follower": "Sledující",
"timeline": "Časová osa",
"operateOtherAcct": "Cross-account",
"list": "Seznam",
"makeNew": "Uložit",
"blocks": "Blocks",
"mutes": "Mutes",
"block": "Block",
"mute": "Mute",
"domainBlock": "Domain block",
"editProf": "Edit profile",
"change": "Uložit",
"followReq": "Follow requests",
"likeHimOrHer": "Resembling",
"endorse": "Feature on profile",
"openinbrowser": "Open in browser",
"mainacct": "Set it an main account",
"frc": "Suggest",
"more": "More",
"revoverJP": " to ",
"warnUseOtherAcct": "(Unable to unfollow)",
"revoverJPde": "",
"or": "or",
"openProf": "Show profile",
"warnListRegist": "Follow to add this user to lists.",
"blockDomain": "Add blocking domain",
"name": "Display name",
"note": "Note",
"editProfImg": "Změnit avatar",
"editHeader": "Změnit obrázek záhlaví",
"blocked": "You are blocked. Why?",
"likeUserDes": "Get people resembling this user.",
"get": "Get",
"historyBack": "Zpět",
"empUser": "Zdůraznit tohoto uživatele",
"supportme": "Podpořte TheDesk!",
"TheDeskDes": "TheDesk has no ad, you need no charge to unlock premium features. We need your friendly support!",
"PatreonSupport": "Support on Patreon",
"PixivSupport": "Support on Pixiv FANBOX",
"AWLSupport": "Amazon Wish List",
"SendAmazonGift1": "Give me Amazon Gift Card:",
"SendAmazonGift2": "",
"monthly": "Monthly",
"once": "Once",
"local": "Místní",
"localMedia": "Místní(média)",
"home": "Domov",
"fed": "Federovaná",
"fedMedia": "Federovaná(média)",
"dm": "Přímá zpráva",
"integratedTLDes": "Integrated(Local/Home)",
"localPlusDes": "LTL+Reply+BT",
"notf": "Notifikace",
"showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Přidat",
"search": "Hledat",
"sortSet": "Seřadit",
"selectAcct": "Account(Scroll to show all)",
"listLocale": "Seznam",
"filterWord": "Filtrované slova",
"degree": "Filter contexts",
"conver": "Konverzace",
"option": "Možnosti",
"matchWord": "Celé slovo",
"warnMatchWord": "Dobré pro jazyky v latince",
"except": "Drop instead of hide",
"exceptWorn": "Filtered toots will disappear irreversibly, even if filter is later removed",
"avalableBefore": "Vyprší po",
"warnAvBefore": "Unset or \"0\" means \"Never\"",
"warnAvBefore2": "This value may contain some error",
"unlimited": "Never",
"days": "day(s)",
"hours": "hour(s)",
"mins": "minute(s)",
"secs": "second(s)",
"warnOnIntegratedTL": "Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
"helloTheDesk": "Internal error: please clear all data(at setting page) <b>All data will be deleted.</b>",
"addColumn": "Přidat sloupec",
"sortColumns": "Seřadit",
"acctMan": "Správa účtu",
"filter": "Filtrovat",
"setting": "Nastavení",
"reverse": "Toot button layout reverse",
"f5": "Reload TL",
"nanoDes": "Nejmenší Mastodon,",
"verTips": "Verze",
"clockTips": "Hodiny",
"ramTips": "status RAM",
"changeTips": "Change Tips",
"help": "Nápověda",
"about": "About TheDesk",
"hereAddColumns": "<- Add TL"
}

View File

@ -0,0 +1,187 @@
{
"setting": "Předvolby",
"set": "Uložit",
"yes": "Ano",
"no": "Ne",
"none": "None",
"default": "Default",
"change": "Změnit",
"select": "Vybrat",
"env": "Systémové předvolby",
"setlang": "Jazyky",
"backup": "Import a export předvoleb",
"import": "Import",
"export": "Export",
"hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted",
"theme": "Motivy",
"popup": "Popupová oznámení (na Windows)",
"popupwarn": "Hide to set \"0\"",
"s": "sec",
"nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Odskoušet oznámení",
"minwidth": "Minimum width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimální šířka TweetDeck prohlížeče",
"fixwidthwarn": "",
"above": "above",
"font": "Písmo",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Velikost písma",
"savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.",
"absolute": "absolutní hodnota",
"themeSel": "Vybrat motiv",
"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 <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Časový formát",
"relativetime": "Relativní formát: „před 1 minutou“, „před 3 dny“",
"absolutetime": "Absolutní formát: „23:25:21“, „2017/12/30 23:59:00“",
"mixtime": "Smíšený formát: tooty publikované dnes jsou v relativním formátu, ostatní jsou v absolutním formátu.",
"relativesel": "Relativní",
"absolutesel": "Absolutní",
"doublesel": "Relativní i absolutní",
"mixsel": "Smíšený",
"locale": "Server's unique locale",
"localewarn": "This value is available on some Japanese servers",
"nswf": "Skrývat citlivé obrázky",
"nsfwwarn": "Silný efekt rozmazání",
"cw": "Skrývat obsah za varováními",
"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": "Skrýt akční tlačítka bez přejetí myši",
"mouseoverwarn": "„Přejetí myši“ pro vás může být nepohodlné :(",
"mv": "Zobrazit přejetím myši",
"mvclick": "Zobrazit kliknutím",
"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. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
"animation": "Animation of timelines",
"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": "Výchozí viditelnost",
"public": "Veřejné",
"unlisted": "Neuvedené",
"private": "Soukromé",
"direct": "Přímé",
"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)",
"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",
"npProvider": "NowPlaying Provider(Windows)",
"npPeoviderWarn": "macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a> is required. And MusicBee requires CAD.",
"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": "Windows:{song}:Song name/{album}:Album name/{artist}:Artist name",
"postartwork": "Attach an Artwork of Spotify",
"tts": "TTS(text to speech) Preferences",
"speed": "Speed",
"speedwarn": "1-100(default:10)",
"pitch": "Pitch",
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"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",
"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": ""
}

View File

@ -0,0 +1,16 @@
{
"updatehere": "Získejte nejnovější TheDesk",
"download": "Začít",
"portable": "Přenosná verze",
"installer": "Verze instalátoru",
"snap": "Verze Snap může být na Snapcraftu",
"unrewrite": "Nepřepisovat",
"sureupd": "Můžete ztratit úžasné nové funkce!",
"skipupd": "Přeskočit tuto aktualizaci",
"nexttl": "Do dalšího načtení časové osy",
"nextver": "Do příští verze",
"problem1": "Máte problémy?",
"problem2": "Prosím stáhněte si aktualizaci na <a href=\"https://thedesk.top\">oficiální stránce</a>.",
"continue": "Pokračovat v aktualizaci",
"dlnow": "Stahuji..."
}

View File

@ -0,0 +1,22 @@
{
"list": "Konten",
"back": "Zurück",
"add": "Konto hinzufügen",
"codesetupwarn": "Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)",
"codesetup": "Code setup",
"mainacct": "Hauptkonto",
"selacct": "Konto auswählen",
"codepastewarn": "Fügen Sie den Code ein und schließen Sie den Browser.",
"codepaste": "Code",
"domain": "Domain",
"connect": "Föderierte Server",
"toots": "Toots",
"users": "Nutzer",
"users2": "Nutzer",
"safety": "Verbindung",
"ver": "Mastodon Version",
"ko": "",
"thisismisskey": "Login as Misskey",
"misskeylogin": "Lies die <a href=\"https://thedesk.top/how-to-misskey-login.html\">Doku (japanisch)</a> um dich bei Misskey einzuloggen.",
"nodata": "Keine Daten"
}

View File

@ -0,0 +1,167 @@
{
"draghere": "Zum Hochladen hier her ziehen",
"close": "Schließen",
"showSelectProf": "Ausgewähltes Konto anzeigen",
"closethisbox": "Diesen Dialog schließen",
"toot": "Tröt",
"post-new": "Neuen Tröt senden",
"nsfwDes": "Inhalt als sensibel markieren",
"cwDes": "Text hinter Warnung verstecken",
"selfile": "Anhängen...",
"insertEmoji": "Emojis",
"NPSpotify": "Wird gerade gespielt (Spotify)",
"NPiTunes": "Wird gerade gespielt",
"schedule": "Geplanter Tröt",
"postat": "Senden um",
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
"clearToot": "Eingabe löschen",
"replyMode": "Antworten",
"no": "Nein",
"yes": "Ja",
"temp": "Hinzugefügte Inhalte",
"nothing": "Keine",
"vis": "Adjust status privacy",
"cwtext": "Warntext",
"selectVis": "Adjust status privacy",
"publicJP": "",
"unlistedJP": "",
"privateJP": "",
"localJP": "Nur lokal",
"sectoot": "Secondary Toot",
"directJP": "",
"emojiWarn": "",
"emojiInsertWarn": "Einige Emojis können nicht eingefügt werden.",
"refreshEmoji": "Emojis-Liste aktualisieren",
"closeThisBox": "Diesen Dialog schließen",
"showThisEmoji": " werden angezeigt.",
"customEmoji": "Eigene Emojis",
"peopleEmoji": "Emojis von Menschen",
"natureEmoji": "Emojis der Natur",
"foodEmoji": "Emojis von Lebensmitteln",
"activityEmoji": "Emojis vom Aktivitäten",
"placeEmoji": "Emojis von Orten",
"thingsEmoji": "Emojis vom Werkzeugen",
"symbolEmoji": "Emojis von Symbolen",
"flagsEmoji": "Emojis der Flaggen",
"poll": "Umfrage",
"pollDdisabled": "Umfragen: Deaktiviert",
"pollProvider": "Anbieter von Umfragen",
"polluntil": "Hide 'votes' count until people vote it.",
"choice": "Auswahl",
"pollmulti": "Mehrfachauswahl",
"expires_in": "Läuft ab in...(Sek)",
"contextBefore": "Kontext vor diesem Tröt",
"thisToot": "Dieser Tröt",
"contextAfter": "Kontext nach diesem Tröt",
"beforeLTL": "Lokaler-Verlauf vor diesem Tröt",
"beforeUTL": "Nutzer-Verlauf vor diesem Tröt",
"afterLTL": "Lokaler-Verlauf nach diesem Tröt",
"afterUTL": "Nutzer-Verlauf nach diesem Tröt",
"afterFTL": "Globaler-Verlauf nach diesem Tröt",
"favedPeople": "Leute, die es bevorzugt haben",
"btedPeople": "Leute, die es verstärkt haben",
"useOtherAcct1": "Anderes Konto verwenden",
"useOtherAcct2": ":unfav and unBT are disabled.",
"reply": "Antworten",
"bt": "Verstärkung",
"favRegist": "Favoriten",
"openBrowser": "Im Browser öffnen",
"screenshot": "Bildschirmfoto aufnehmen",
"copyURL": "URL dieses Tröts kopieren",
"embed": "Embed",
"toots": "Tröts",
"follow": "Folgen",
"follower": "Abonnenten",
"timeline": "Verlauf",
"operateOtherAcct": "Cross-account",
"list": "Liste",
"makeNew": "Speichern",
"blocks": "Blockiert",
"mutes": "Stumm geschaltet",
"block": "Blockieren",
"mute": "Stummschalten",
"domainBlock": "Domain block",
"editProf": "Profil bearbeiten",
"change": "Speichern",
"followReq": "Anfragen folgen",
"likeHimOrHer": "Resembling",
"endorse": "Auf dem Profil zeigen",
"openinbrowser": "Im Browser öffnen",
"mainacct": "Set it an main account",
"frc": "Vorschlagen",
"more": "Mehr",
"revoverJP": " an ",
"warnUseOtherAcct": "(Unable to unfollow)",
"revoverJPde": "",
"or": "oder",
"openProf": "Benutzerprofil",
"warnListRegist": "Folgen, um diesen Benutzer zu Listen hinzuzufügen.",
"blockDomain": "Add blocking domain",
"name": "Anzeigename",
"note": "Notiz",
"editProfImg": "Avatar ändern",
"editHeader": "Change header image",
"blocked": "You are blocked. Why?",
"likeUserDes": "Get people resembling this user.",
"get": "Holen",
"historyBack": "Zurück",
"empUser": "Emphasize this user",
"supportme": "Unterstütze-TheDesk!",
"TheDeskDes": "TheDesk hat keine Werbung, Sie benötigen keine Gebühr, um Premium-Funktionen freizuschalten. Wir benötigen Ihren freundlichen Unterstützung!",
"PatreonSupport": "Unterstütze über Patreon",
"PixivSupport": "Unterstütze über Pixiv FANBOX",
"AWLSupport": "Amazon Wunschliste",
"SendAmazonGift1": "Zur Amazon Wunschliste:",
"SendAmazonGift2": "",
"monthly": "Monatlich",
"once": "einmalig",
"local": "Lokal",
"localMedia": "Lokal(Medien)",
"home": "Startseite",
"fed": "Global",
"fedMedia": "Globale(Medien)",
"dm": "Direktnachricht",
"integratedTLDes": "Integrated(Local/Home)",
"localPlusDes": "LTL+Reply+BT",
"notf": "Benachrichtigungen",
"showThisTL": "Verlauf anzeigen:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Hinzufügen",
"search": "Suche",
"sortSet": "Sortieren",
"selectAcct": "Konto(Scroll um alle anzuzeigen)",
"listLocale": "Liste",
"filterWord": "Filterwörter",
"degree": "Kontexte filtern",
"conver": "Gespräche",
"option": "Einstellungen",
"matchWord": "Ganze Wörter",
"warnMatchWord": "Schön für lateinische Sprachen",
"except": "Verwerfen statt verstecken",
"exceptWorn": "Gefilterte Toots verschwinden unwiderruflich, auch wenn der Filter später entfernt wird",
"avalableBefore": "Verfällt nach",
"warnAvBefore": "Nicht gesetzt oder \"0\" bedeutet \"Nie\"",
"warnAvBefore2": "This value may contain some error",
"unlimited": "Niemals",
"days": "Tag(e)",
"hours": "Stunde(n)",
"mins": "Minute(n)",
"secs": "Sekunde(n)",
"warnOnIntegratedTL": "Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
"helloTheDesk": "Interner Fehler: Bitte löschen Sie alle Daten (auf der Einstellungsseite) <b>Alle Daten werden gelöscht.</b>",
"addColumn": "Spalte hinzufügen",
"sortColumns": "Sortieren",
"acctMan": "Account-Manager",
"filter": "Filter",
"setting": "Einstellungen",
"reverse": "Tröt-Button Seite tauschen",
"f5": "Verlauf neu laden",
"nanoDes": "The smallest Mastodon,",
"verTips": "Version",
"clockTips": "Uhr",
"ramTips": "RAM-Status",
"changeTips": "Change Tips",
"help": "Hilfe",
"about": "Über TheDesk",
"hereAddColumns": "<- Neuer Verlauf"
}

View File

@ -0,0 +1,187 @@
{
"setting": "Einstellungen",
"set": "Speichern",
"yes": "Ja",
"no": "Nein",
"none": "Ohne",
"default": "Standard",
"change": "Ändern",
"select": "Select",
"env": "Systemeinstellungen",
"setlang": "Sprachen",
"backup": "Import und Export von Einstellungen",
"import": "Import",
"export": "Export",
"hardwareAcceleration": "Hardwarebeschleunigung deaktivieren",
"hardwareAccelerationWarn": "Auto restarted",
"theme": "Designs",
"popup": "Popup-Benachrichtigung(unter Windows)",
"popupwarn": "Bei \"0\" Ausgeschaltet.",
"s": "Sek",
"nativenotf": "System Benachrichtigungen",
"nnwarn": "Dies funktioniert nicht mit der Portablen Windows Version.",
"nntest": "Benachrichtigungen testen",
"minwidth": "Minimale Breite der Spalten",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimale Breite des TweetDeck-Browsers",
"fixwidthwarn": "",
"above": "above",
"font": "Schriftart",
"fontwarn": "Wählen Sie Ihre Lieblingsschrift. 'Select'(nur Windows/ macOS)",
"fontsize": "Schriftgröße",
"savefolder": "Ordner zum Speichern",
"savefolderwarn": "TheDesk verwendet diesen Ordner, wenn es versucht Bilder zu speichern oder Screenshots zu machen.",
"absolute": "Absoluter Wert",
"themeSel": "Design auswählen",
"customtheme": "Bearbeiten und hinzufügen von eigenen Designs",
"customthemeDirection": "Farbschema",
"primary": "Hintergrundfarbe",
"secondarycolor": "Background of components",
"text": "Textfarbe",
"accent": "Background of boosts",
"add_new": "Neues hinzufügen",
"name": "Name",
"desc": "Über dieses Design",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import von eigenen Designs",
"delete": "Löschen",
"cImpWarn": "Mehr Designs auf: <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Zeitformat",
"relativetime": "Relatives Format:\"vor 1 Minuten\",\"vor 3 Tagen\"",
"absolutetime": "Absolutes Format:\"23:25:21\",\"2017/12/30 23:59:00\"",
"mixtime": "Gemischtes Format:Die heute geposteten Zahn sind relativ formatiert, andere sind absolut formatiert.",
"relativesel": "Relativ",
"absolutesel": "Absolut",
"doublesel": "Sowohl relativ als auch absolut",
"mixsel": "Gemischt",
"locale": "Server's unique locale",
"localewarn": "This value is available on some Japanese servers",
"nswf": "NSFW Bilder ausblenden",
"nsfwwarn": "Starker Unschärfeeffekt",
"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. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
"animation": "Animation of timelines",
"replySound": "Sound(Reply)",
"favSound": "Sound(Fav)",
"btSound": "Sound(Boost)",
"followSound": "Sound(Follow)",
"customSound": "Custom sound",
"post": "Posting Preferences",
"autocw": "Warnung vor dem Versenden eines langen Toots.",
"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": "Nur URL",
"mention": "URL and acct(mention to the user)",
"full": "URL, text and acct(mention to the user)",
"notqt": "Disabled(Hide buttons on TLs)",
"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": "Tastaturkürzel Einstellungen",
"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 und NowPlaying Einstellungen",
"npProvider": "NowPlaying Provider(Windows)",
"npPeoviderWarn": "macOS und Linux werden nicht unterstützt. AIMP und iTunes wurden von Entwicklern überprüft. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> Für foobar2000 ist <a href=\"http://poiru.github.com/foo-cad/\">foo_cad Plugin</a> erforderlich. MusicBee benötigt CAD.",
"spotifynote1": "Klick ",
"spotifynote2": "Symbol für NowPlaying",
"link": "Kontoverbindung",
"linkwarn": "TheDesk speichert Ihre Daten auf dem thedesk.top Server.",
"connect": "Verbinden",
"disconnect": "Trennen",
"templeteedit": "Vorlage Bearbeiten",
"templeteeditwarn": "",
"templete1": "Spotify:{song}:Lied/{album}:Album/{artist}:Künstler/{url}:URL zu Spotify",
"templete2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
"templete3": "Windows:{song}:Lied/{album}:Album/{artist}:Künstler",
"postartwork": "Attach an Artwork of Spotify",
"tts": "Einstellungen Vorlesefunktion",
"speed": "Geschwindigkeit",
"speedwarn": "1-100(Standard:10)",
"pitch": "Stimmlage",
"pitchwarn": "0-100(Standard:50)",
"vol": "Lautstärke",
"volwarn": "0-100(Standard:100)",
"test": "Test",
"sample": "TheDesk ist ein Open-Source Mastodon Client für PC.",
"playstop": "Abspielen/Stoppen",
"back": "Zurück",
"keyscs": "Tastenkombinationen",
"keyscr": "Wechsle zu n(1-9)ten Spalte",
"keynew": "Tröt-Box öffnen",
"keytoggle": "Tröt-Box umschalten",
"keypost": "Senden",
"keysecpost": "Post(secondary toot)",
"keyunread": "Markiere alle Benachrichtigungen als gelesen.",
"keyesc": "Tröt-Box ausblenden",
"keyf5": "Super Reload",
"keyclear": "Eingabe löschen",
"keyacctman": "Account Manager",
"keyshowprof": "Show profile of selecting",
"keyrow": "Nächstes oder vorheriges Bild anzeigen",
"keyzoom": "Mousewheel:Zoom a image",
"reset": "Reset(Gefährlich)",
"resetconfirm": "Alle Daten löschen. Kein Rückgängig mehr möglich! Fortfahren?",
"about": "Über TheDesk",
"hp": "Homepage",
"support": "Unterstützen",
"help": "Hilfe",
"sushi": "Gib mir einen Sushi!",
"checkup": "Nach Updates suchen",
"ossJP": ""
}

View File

@ -0,0 +1,16 @@
{
"updatehere": "Neusten TheDesk holen.",
"download": "Start",
"portable": "Portable Version",
"installer": "Installer Version",
"snap": "Snap-Version kann auf Snapcraft sein",
"unrewrite": "Nicht wieder fragen.",
"sureupd": "Du kannst ein cooles Erlebnis verpassen!",
"skipupd": "Update überspringen",
"nexttl": "Bis zur nächsten Verlaufsaktualisierung",
"nextver": "Bis zur nächsten Version",
"problem1": "Gibt es Probleme?",
"problem2": "Bitte von <a href=\"https://thedesk.top\">Offizielle Homepage</a> herunterladen.",
"continue": "Aktualisieren fortsetzen",
"dlnow": "Herunterladen..."
}

View File

@ -5,8 +5,8 @@ if (!ver) {
ver = "Usamin (18.7.1)" ver = "Usamin (18.7.1)"
} }
console.log("Constructing view files " + ver + ": make sure to update package.json") console.log("Constructing view files " + ver + ": make sure to update package.json")
const langs = ["ja", "en", "ps"] const langs = ["ja", "en", "ps", "bg", "cs", "de"]
const langsh = ["日本語", "English", "Crowdin translate system(beta)"] const langsh = ["日本語", "English", "Crowdin translate system(beta)", "български", "Česky", "Deutsch"]
const simples = ["acct", "index", "setting", "update", "setting"] const simples = ["acct", "index", "setting", "update", "setting"]
const samples = ["acct.sample.html", "index.sample.html", "setting.sample.html", "update.sample.html", "setting.sample.js"] const samples = ["acct.sample.html", "index.sample.html", "setting.sample.html", "update.sample.html", "setting.sample.js"]
const pages = ["acct.html", "index.html", "setting.html", "update.html", "setting.vue.js"] const pages = ["acct.html", "index.html", "setting.html", "update.html", "setting.vue.js"]
@ -21,7 +21,7 @@ for (let i = 0; i < samples.length; i++) {
for (let j = 0; j < langs.length; j++) { for (let j = 0; j < langs.length; j++) {
let source = sourceParent let source = sourceParent
let lang = langs[j] let lang = langs[j]
let target = JSON.parse(fs.readFileSync("language/" + simples[i] + "." + lang + ".json", 'utf8')) let target = JSON.parse(fs.readFileSync("language/" + lang + "/" + simples[i] + ".json", 'utf8'))
Object.keys(target).forEach(function (key) { Object.keys(target).forEach(function (key) {
let str = target[key] let str = target[key]
var regExp = new RegExp("@@" + key + "@@", "g") var regExp = new RegExp("@@" + key + "@@", "g")

View File

@ -48,7 +48,7 @@
<div class="collapsible-body"> <div class="collapsible-body">
<h5>crwdns530:0crwdne530:0</h5> <h5>crwdns530:0crwdne530:0</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br> To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a> <a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a><a onclick="changelang('bg')" class="pointer" style="margin-right:5px;">български</a><a onclick="changelang('cs')" class="pointer" style="margin-right:5px;">Česky</a><a onclick="changelang('de')" class="pointer" style="margin-right:5px;">Deutsch</a>
<h5>crwdns531:0crwdne531:0</h5> <h5>crwdns531:0crwdne531:0</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" <button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button> style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>