From d956daec49092bd6bb902d3361ebcb1fe3d829db Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 21 Dec 2018 15:30:54 +0100 Subject: [PATCH 01/10] Update translation files Updated by Update PO files to match POT (msgmerge) hook in Weblate. --- po/pl.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/pl.po b/po/pl.po index f83c9f2..e1c7c55 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Venom\n" -"Report-Msgid-Bugs-To: naxuroqa@gmail.com\n" +"Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-12-01 13:43+0100\n" "PO-Revision-Date: 2018-12-10 17:09+0000\n" "Last-Translator: naxuroqa \n" @@ -970,8 +970,8 @@ msgstr "Zresetuj alias" #: src/ui/friend_info_widget.ui:254 msgid "Set a custom alias to quickly find your friends" msgstr "" -"Ustaw niestandardowy alias, aby szybko znaleźć swoich " -"przyjaciół." +"Ustaw niestandardowy alias, aby szybko znaleźć swoich przyjaciół." #: src/ui/friend_info_widget.ui:364 msgid "Auto accept conference invites" From 143071bb08428b64c9177d2b5b4817541cbface6 Mon Sep 17 00:00:00 2001 From: Louies Date: Fri, 11 Jan 2019 16:05:44 +0000 Subject: [PATCH 02/10] Added translation using Weblate (Chinese (Traditional)) --- po/LINGUAS | 1 + po/zh_Hant.po | 953 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 954 insertions(+) create mode 100644 po/zh_Hant.po diff --git a/po/LINGUAS b/po/LINGUAS index 299aef6..9bfbcaf 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -8,3 +8,4 @@ pt pt_BR ru zh_CN +zh_Hant diff --git a/po/zh_Hant.po b/po/zh_Hant.po new file mode 100644 index 0000000..a7e2d51 --- /dev/null +++ b/po/zh_Hant.po @@ -0,0 +1,953 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the venom package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: venom\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-12-01 13:43+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hant\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/undo/TextBufferUndoBinding.vala:169 +msgid "_Redo" +msgstr "" + +#: src/undo/TextBufferUndoBinding.vala:174 +msgid "_Undo" +msgstr "" + +#: src/core/NotificationListener.vala:86 +#, c-format +msgid "New message from %s" +msgstr "" + +#: src/core/NotificationListener.vala:93 +#: src/viewmodel/ContactListViewModel.vala:118 src/ui/conference_window.ui:137 +#: src/ui/conversation_window.ui:86 +msgid "Show details" +msgstr "" + +#: src/core/NotificationListener.vala:94 +msgid "Mute conversation" +msgstr "" + +#: src/core/NotificationListener.vala:116 +msgid "Friend request" +msgstr "" + +#: src/core/NotificationListener.vala:139 +#, c-format +msgid "New file from %s" +msgstr "" + +#: src/core/NotificationListener.vala:164 +msgid "Conference invite" +msgstr "" + +#: src/core/NotificationListener.vala:165 +#, c-format +msgid "%s invites you to a conference" +msgstr "" + +#: src/core/TimeStamp.vala:26 +msgid "Just now" +msgstr "" + +#: src/core/TimeStamp.vala:31 +#, c-format +msgid "%u minute ago" +msgid_plural "%u minutes ago" +msgstr[0] "" + +#: src/core/TimeStamp.vala:36 +#, c-format +msgid "%u hour ago" +msgid_plural "%u hours ago" +msgstr[0] "" + +#: src/core/TimeStamp.vala:40 +#, c-format +msgid "Today at %s" +msgstr "" + +#: src/core/TimeStamp.vala:44 +#, c-format +msgid "Yesterday at %s" +msgstr "" + +#: src/core/R.vala:70 +msgid "Tox User" +msgstr "" + +#: src/core/Application.vala:37 +msgid "Set level of messages to log" +msgstr "" + +#: src/core/Application.vala:37 +msgid "" +msgstr "" + +#: src/core/Application.vala:38 +msgid "Display version number" +msgstr "" + +#: src/core/Application.vala:39 +msgid "Show preferences" +msgstr "" + +#: src/core/Application.vala:73 +msgid "Settings" +msgstr "" + +#: src/viewmodel/ContactListViewModel.vala:102 +msgid "New conference…" +msgstr "" + +#: src/viewmodel/ContactListViewModel.vala:115 +msgid "Invite to conference…" +msgstr "" + +#: src/viewmodel/ContactListViewModel.vala:121 +msgid "Leave conference" +msgstr "" + +#: src/viewmodel/ContactListViewModel.vala:121 +msgid "Remove friend" +msgstr "" + +#: src/viewmodel/ContactListViewModel.vala:144 +#, c-format +msgid "%u new friend request" +msgid_plural "%u new friend requests" +msgstr[0] "" + +#: src/viewmodel/ContactListViewModel.vala:152 +#, c-format +msgid "%u new conference invite" +msgid_plural "%u new conference invites" +msgstr[0] "" + +#: src/viewmodel/FriendInfoViewModel.vala:66 +msgid "Online right now" +msgstr "" + +#: src/viewmodel/FriendInfoViewModel.vala:68 +msgid "Never seen online" +msgstr "" + +#: src/viewmodel/FriendInfoViewModel.vala:70 +#, c-format +msgid "Last seen: %s" +msgstr "" + +#: src/viewmodel/ContactListEntryViewModel.vala:61 +msgid "New Message!" +msgstr "" + +#: src/viewmodel/ContactListEntryViewModel.vala:67 +msgid "Offline" +msgstr "" + +#: src/viewmodel/ContactListEntryViewModel.vala:75 +#: src/view/ApplicationWindow.vala:198 src/ui/user_status_menu.ui:34 +msgid "Away" +msgstr "" + +#: src/viewmodel/ContactListEntryViewModel.vala:77 +#: src/view/ApplicationWindow.vala:199 src/ui/user_status_menu.ui:40 +msgid "Busy" +msgstr "" + +#: src/viewmodel/ContactListEntryViewModel.vala:79 +#: src/view/ApplicationWindow.vala:197 src/ui/user_status_menu.ui:28 +msgid "Online" +msgstr "" + +#: src/viewmodel/MessageViewModel.vala:66 +msgid "Notice" +msgstr "" + +#: src/viewmodel/MessageViewModel.vala:90 +msgid "Message sent ✓" +msgstr "" + +#: src/viewmodel/MessageViewModel.vala:93 +msgid "Message received ✓" +msgstr "" + +#: src/tox/ToxMessage.vala:53 src/tox/ConferenceMessage.vala:57 +msgid "me" +msgstr "" + +#: src/tox/ToxAdapterFriendListener.vala:29 +#, c-format +msgid "%s has been removed from your contact list." +msgstr "" + +#: src/tox/ToxAdapterFriendListener.vala:30 +msgid "Undo" +msgstr "" + +#: src/tox/Conference.vala:44 +#, c-format +msgid "Unnamed conference %u" +msgstr "" + +#: src/tox/Conference.vala:48 +#, c-format +msgid "%u Peers online" +msgstr "" + +#: src/tox/ToxSession.vala:646 +msgid "Address must consist of 76 hexadecimal characters" +msgstr "" + +#: src/tox/ConferenceMessage.vala:64 +#, c-format +msgid "%s in %s" +msgstr "" + +#: src/view/ApplicationWindow.vala:194 +msgid "Hide" +msgstr "" + +#: src/view/ApplicationWindow.vala:194 +msgid "Show" +msgstr "" + +#: src/view/ApplicationWindow.vala:200 +msgid "Status" +msgstr "" + +#: src/view/ApplicationWindow.vala:203 src/view/SettingsWidget.vala:77 +#: data/com.github.naxuroqa.venom.desktop.in:17 +msgid "Preferences" +msgstr "" + +#: src/view/ApplicationWindow.vala:204 src/ui/app_menu.ui:34 +msgid "About" +msgstr "" + +#: src/view/ApplicationWindow.vala:208 src/ui/app_menu.ui:38 +msgid "Logout" +msgstr "" + +#: src/view/ApplicationWindow.vala:209 +msgid "Quit" +msgstr "" + +#: src/view/LoginWidget.vala:167 +msgid "Wrong password" +msgstr "" + +#: src/view/LoginWidget.vala:173 +msgid "Username can not be empty" +msgstr "" + +#: src/view/LoginWidget.vala:175 +msgid "Username is already taken" +msgstr "" + +#: src/view/LoginWidget.vala:189 +msgid "Password must be at least 6 characters long" +msgstr "" + +#: src/view/LoginWidget.vala:202 +msgid "Passwords must match" +msgstr "" + +#: src/view/LoginWidget.vala:226 +msgid "Creating profile failed: " +msgstr "" + +#: src/view/LoginWidget.vala:249 +msgid "Profile is encrypted" +msgstr "" + +#: src/view/AboutDialog.vala:50 +msgid "Packagers" +msgstr "" + +#: src/view/AboutDialog.vala:51 data/com.github.naxuroqa.venom.desktop.in:4 +msgid "A modern Tox client for the Linux desktop" +msgstr "" + +#: src/view/AboutDialog.vala:52 +msgid "Copyright © 2013-2018 Venom authors and contributors" +msgstr "" + +#: src/view/AboutDialog.vala:56 +msgid "translator-credits" +msgstr "" + +#: src/view/WelcomeWidget.vala:129 +msgid "A new kind of instant messaging" +msgstr "" + +#: src/view/WelcomeWidget.vala:137 +msgid "Chat with your friends and family without anyone else listening in." +msgstr "" + +#: src/view/WelcomeWidget.vala:138 +#, c-format +msgid "Now with 50% less bugs." +msgstr "" + +#: src/view/WelcomeWidget.vala:139 +msgid "Generating witty dialog…" +msgstr "" + +#: src/view/WelcomeWidget.vala:140 +msgid "Thank you for using Venom." +msgstr "" + +#: src/view/WelcomeWidget.vala:141 +msgid "Always think positive." +msgstr "" + +#: src/view/WelcomeWidget.vala:142 +msgid "Have a good day and stay safe." +msgstr "" + +#: src/view/WelcomeWidget.vala:143 +msgid "You can do it. ― Coffee" +msgstr "" + +#: src/view/WelcomeWidget.vala:144 +msgid "" +"Life moves pretty fast. If you don’t stop and look around once in a while, " +"you could miss it. ― Ferris Bueller" +msgstr "" + +#: src/view/WelcomeWidget.vala:189 +msgid "Drink your milk for extra strong bones." +msgstr "" + +#: src/view/FileTransferWidget.vala:39 src/ui/file_transfer_widget.ui:57 +msgid "File transfers" +msgstr "" + +#: src/view/FriendRequestWidget.vala:44 +#, c-format +msgid "“%s”" +msgstr "" + +#: src/view/ConversationWindow.vala:127 +#, c-format +msgid "%s is typing…" +msgstr "" + +#: src/view/ConversationWindow.vala:230 +msgid "Choose a file to send" +msgstr "" + +#: src/view/ConversationWindow.vala:233 +msgid "_Open" +msgstr "" + +#: src/view/ConversationWindow.vala:234 src/view/FileTransferEntry.vala:86 +msgid "_Cancel" +msgstr "" + +#: src/view/FileTransferEntry.vala:85 +msgid "_Save" +msgstr "" + +#: src/view/ConferenceInviteEntry.vala:48 +#, c-format +msgid "Invite from %s" +msgstr "" + +#: src/view/UserInfoWidget.vala:82 +msgid "Images" +msgstr "" + +#: src/ui/file_transfer_widget.ui:140 +msgid "No file transfers yet …" +msgstr "" + +#: src/ui/login_widget.ui:132 +msgid "Login automatically" +msgstr "" + +#: src/ui/login_widget.ui:152 src/ui/login_widget.ui:471 +msgid "Password" +msgstr "" + +#: src/ui/login_widget.ui:169 src/ui/login_widget.ui:330 +msgid "Login" +msgstr "" + +#: src/ui/login_widget.ui:205 +msgid "Other profiles" +msgstr "" + +#: src/ui/login_widget.ui:267 +msgid "Import profile…" +msgstr "" + +#: src/ui/login_widget.ui:395 +msgid "New profile" +msgstr "" + +#: src/ui/login_widget.ui:417 +msgid "Username" +msgstr "" + +#: src/ui/login_widget.ui:526 +msgid "Confirm Password" +msgstr "" + +#: src/ui/login_widget.ui:570 src/ui/create_groupchat_widget.ui:282 +msgid "Create" +msgstr "" + +#: src/ui/login_widget.ui:620 +msgid "Create profile" +msgstr "" + +#: src/ui/file_transfer_entry.ui:56 src/ui/file_transfer_entry_inline.ui:62 +msgid "Remove transfer" +msgstr "" + +#: src/ui/file_transfer_entry.ui:124 src/ui/file_transfer_entry_inline.ui:130 +msgid "Open file" +msgstr "" + +#: src/ui/file_transfer_entry.ui:148 src/ui/file_transfer_entry_inline.ui:154 +msgid "Start transfer" +msgstr "" + +#: src/ui/file_transfer_entry.ui:169 src/ui/file_transfer_entry_inline.ui:175 +msgid "Pause transfer" +msgstr "" + +#: src/ui/file_transfer_entry.ui:190 src/ui/file_transfer_entry_inline.ui:196 +msgid "Stop transfer" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:68 src/ui/contact_list_widget.ui:356 +msgid "Create a conference" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:102 +msgid "_Title:" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:121 src/ui/conference_info_widget.ui:61 +msgid "Conference" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:122 src/ui/add_contact_widget.ui:188 +msgid "paste from clipboard" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:156 +msgid "Name the conference (optional)" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:188 +msgid "T_ype:" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:212 +msgid "Text" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:228 +msgid "Speech" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:252 +msgid "Select a conference type" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:299 +msgid "New conference" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:312 src/ui/create_groupchat_widget.ui:451 +msgid "Conference invites" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:375 +msgid "Accept all" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:421 +msgid "Reject all" +msgstr "" + +#: src/ui/create_groupchat_widget.ui:513 +msgid "No new conference invites" +msgstr "" + +#: src/ui/peer_entry_compact.ui:64 src/ui/peer_entry.ui:76 +msgid "This peer is also in your friends list" +msgstr "" + +#: src/ui/peer_entry_compact.ui:78 src/ui/peer_entry.ui:89 +msgid "That's you" +msgstr "" + +#: src/ui/conference_window.ui:103 src/ui/conversation_window.ui:292 +#: src/ui/user_info_widget.ui:274 src/ui/user_info_widget.ui:275 +msgid "Insert Emoji" +msgstr "" + +#: src/ui/conference_window.ui:179 +msgid "No one here..." +msgstr "" + +#: src/ui/conference_window.ui:216 src/ui/conversation_window.ui:129 +msgid "No messages yet..." +msgstr "" + +#: src/ui/conference_window.ui:280 +msgid "Show peers" +msgstr "" + +#: src/ui/app_menu.ui:28 +msgid "_Preferences" +msgstr "" + +#: src/ui/app_menu.ui:42 +msgid "_Quit" +msgstr "" + +#: src/ui/contact_list_widget.ui:56 src/ui/add_contact_widget.ui:350 +msgid "Add a friend" +msgstr "" + +#: src/ui/contact_list_widget.ui:217 +msgid "Filter contacts by status" +msgstr "" + +#: src/ui/contact_list_widget.ui:223 +msgid "All" +msgstr "" + +#: src/ui/contact_list_widget.ui:331 +msgid "Add a contact" +msgstr "" + +#: src/ui/contact_list_widget.ui:381 +msgid "View file transfers" +msgstr "" + +#: src/ui/contact_list_widget.ui:406 +msgid "Open preferences" +msgstr "" + +#: src/ui/contact_list_widget.ui:448 +msgid "Edit your profile" +msgstr "" + +#: src/ui/contact_list_widget.ui:476 +msgid "Change your status" +msgstr "" + +#: src/ui/conversation_window.ui:37 +msgid "Start a call" +msgstr "" + +#: src/ui/conversation_window.ui:62 +msgid "Start a video call" +msgstr "" + +#: src/ui/conversation_window.ui:155 +msgid "Attach screenshot…" +msgstr "" + +#: src/ui/conversation_window.ui:180 +msgid "Attach file…" +msgstr "" + +#: src/ui/conversation_window.ui:317 +msgid "Insert attachment" +msgstr "" + +#: src/ui/friend_request_widget.ui:66 src/ui/conference_invite_entry.ui:107 +msgid "Accept" +msgstr "" + +#: src/ui/friend_request_widget.ui:83 src/ui/conference_invite_entry.ui:124 +msgid "Deny" +msgstr "" + +#: src/ui/conference_info_widget.ui:78 +msgid "Leave Conference" +msgstr "" + +#: src/ui/conference_info_widget.ui:127 +msgid "Title:" +msgstr "" + +#: src/ui/conference_info_widget.ui:196 src/ui/settings_widget.ui:638 +#: src/ui/friend_info_widget.ui:291 +msgid "Notifications" +msgstr "" + +#: src/ui/conference_info_widget.ui:234 src/ui/friend_info_widget.ui:330 +msgid "Notifications have been globally disabled" +msgstr "" + +#: src/ui/conference_info_widget.ui:266 src/ui/user_info_widget.ui:624 +#: src/ui/friend_info_widget.ui:634 +msgid "Apply" +msgstr "" + +#: src/ui/conference_info_widget.ui:284 +msgid "Peers" +msgstr "" + +#: src/ui/welcome_widget.ui:123 +msgid "Learn more" +msgstr "" + +#: src/ui/welcome_widget.ui:169 +msgid "Get involved" +msgstr "" + +#: src/ui/add_contact_widget.ui:52 +msgid "No new friend requests" +msgstr "" + +#: src/ui/add_contact_widget.ui:65 +msgid "Please let me add you to my contact list. 😁" +msgstr "" + +#: src/ui/add_contact_widget.ui:133 +msgid "Send a friend request" +msgstr "" + +#: src/ui/add_contact_widget.ui:167 +msgid "_ID:" +msgstr "" + +#: src/ui/add_contact_widget.ui:184 +msgid "Enter a Tox ID or URI here" +msgstr "" + +#: src/ui/add_contact_widget.ui:222 +msgid "Enter your friends Tox ID" +msgstr "" + +#: src/ui/add_contact_widget.ui:254 +msgid "_Message:" +msgstr "" + +#: src/ui/add_contact_widget.ui:280 +msgid "Send a custom message to be displayed to the friend you are adding" +msgstr "" + +#: src/ui/add_contact_widget.ui:302 +msgid "Send your friend a short message" +msgstr "" + +#: src/ui/add_contact_widget.ui:333 +msgid "Send" +msgstr "" + +#: src/ui/add_contact_widget.ui:363 src/ui/add_contact_widget.ui:397 +msgid "Friend requests" +msgstr "" + +#: src/ui/user_info_widget.ui:62 +msgid "Reset" +msgstr "" + +#: src/ui/user_info_widget.ui:87 +msgid "Take a picture" +msgstr "" + +#: src/ui/user_info_widget.ui:109 +msgid "Choose a file" +msgstr "" + +#: src/ui/user_info_widget.ui:110 +msgid "Choose an avatar" +msgstr "" + +#: src/ui/user_info_widget.ui:210 +msgid "Username:" +msgstr "" + +#: src/ui/user_info_widget.ui:255 +msgid "Status message:" +msgstr "" + +#: src/ui/user_info_widget.ui:316 src/ui/friend_info_widget.ui:520 +msgid "Tox" +msgstr "" + +#: src/ui/user_info_widget.ui:349 +msgid "Copy to clipboard" +msgstr "" + +#: src/ui/user_info_widget.ui:381 +msgid "ID:" +msgstr "" + +#: src/ui/user_info_widget.ui:462 +msgid "Advanced" +msgstr "" + +#: src/ui/user_info_widget.ui:510 +msgid "Tox nospam" +msgstr "" + +#: src/ui/user_info_widget.ui:532 +msgid "Generate new random nospam" +msgstr "" + +#: src/ui/user_info_widget.ui:546 +msgid "Set this nospam" +msgstr "" + +#: src/ui/user_info_widget.ui:578 +msgid "Previous nospams" +msgstr "" + +#: src/ui/settings_widget.ui:78 +msgid "General" +msgstr "" + +#: src/ui/settings_widget.ui:158 +msgid "Bootstrap nodes" +msgstr "" + +#: src/ui/settings_widget.ui:198 +msgid "Proxy" +msgstr "" + +#: src/ui/settings_widget.ui:291 +msgid "Appearance" +msgstr "" + +#: src/ui/settings_widget.ui:335 +msgid "Dark Theme" +msgstr "" + +#: src/ui/settings_widget.ui:348 +msgid "Use a dark variant of the theme" +msgstr "" + +#: src/ui/settings_widget.ui:404 +msgid "Animations" +msgstr "" + +#: src/ui/settings_widget.ui:417 +msgid "Turn on animated transitions" +msgstr "" + +#: src/ui/settings_widget.ui:473 +msgid "Small contacts" +msgstr "" + +#: src/ui/settings_widget.ui:486 +msgid "Show contacts in a compact format" +msgstr "" + +#: src/ui/settings_widget.ui:542 +msgid "Spellcheck" +msgstr "" + +#: src/ui/settings_widget.ui:555 +msgid "Check your spelling while you type" +msgstr "" + +#: src/ui/settings_widget.ui:699 +msgid "Sounds" +msgstr "" + +#: src/ui/settings_widget.ui:712 +msgid "Play sounds on new notifications" +msgstr "" + +#: src/ui/settings_widget.ui:768 +msgid "While Busy" +msgstr "" + +#: src/ui/settings_widget.ui:781 +msgid "Receive notifications even while you are busy" +msgstr "" + +#: src/ui/settings_widget.ui:866 +msgid "Tray icon" +msgstr "" + +#: src/ui/settings_widget.ui:927 +msgid "Minimize" +msgstr "" + +#: src/ui/settings_widget.ui:940 +msgid "Minimize to tray instead of close" +msgstr "" + +#: src/ui/settings_widget.ui:1025 +msgid "Privacy" +msgstr "" + +#: src/ui/settings_widget.ui:1068 +msgid "Send typing status" +msgstr "" + +#: src/ui/settings_widget.ui:1081 +msgid "Show others when you are typing" +msgstr "" + +#: src/ui/settings_widget.ui:1137 +msgid "Keep History" +msgstr "" + +#: src/ui/settings_widget.ui:1150 +msgid "Store your sent and received messages" +msgstr "" + +#: src/ui/settings_widget.ui:1281 +msgid "Connection" +msgstr "" + +#: src/ui/settings_widget.ui:1323 +msgid "UDP" +msgstr "" + +#: src/ui/settings_widget.ui:1336 +msgid "Use UDP communication when available" +msgstr "" + +#: src/ui/settings_widget.ui:1392 +msgid "IPv6" +msgstr "" + +#: src/ui/settings_widget.ui:1405 +msgid "Allow both IPv4 and IPv6 communication" +msgstr "" + +#: src/ui/settings_widget.ui:1461 +msgid "Local discovery" +msgstr "" + +#: src/ui/settings_widget.ui:1474 +msgid "Look for peers on the local network" +msgstr "" + +#: src/ui/settings_widget.ui:1530 +msgid "Hole punching" +msgstr "" + +#: src/ui/settings_widget.ui:1543 +msgid "" +"Enable UDP hole punching" +msgstr "" + +#: src/ui/settings_widget.ui:1681 +msgid "Update bootstrap nodes" +msgstr "" + +#: src/ui/settings_widget.ui:1716 +msgid "Bootstrap nodes" +msgstr "" + +#: src/ui/settings_widget.ui:1852 +msgid "Proxy" +msgstr "" + +#: src/ui/settings_widget.ui:1920 +msgid "System settings" +msgstr "" + +#: src/ui/settings_widget.ui:1933 +msgid "Use your systems proxy settings" +msgstr "" + +#: src/ui/settings_widget.ui:1987 +msgid "Manual settings" +msgstr "" + +#: src/ui/settings_widget.ui:2000 +msgid "Use custom proxy settings" +msgstr "" + +#: src/ui/settings_widget.ui:2041 +msgid "Host" +msgstr "" + +#: src/ui/settings_widget.ui:2084 +msgid "Set a SOCKS5 proxy to connect to" +msgstr "" + +#: src/ui/friend_info_widget.ui:171 +msgid "Remove from your friends list" +msgstr "" + +#: src/ui/friend_info_widget.ui:222 +msgid "Alias:" +msgstr "" + +#: src/ui/friend_info_widget.ui:242 +msgid "Reset alias" +msgstr "" + +#: src/ui/friend_info_widget.ui:254 +msgid "Set a custom alias to quickly find your friends" +msgstr "" + +#: src/ui/friend_info_widget.ui:364 +msgid "Auto accept conference invites" +msgstr "" + +#: src/ui/friend_info_widget.ui:411 +msgid "Auto accept file transfers" +msgstr "" + +#: src/ui/friend_info_widget.ui:455 +msgid "Save files to" +msgstr "" + +#: src/ui/friend_info_widget.ui:559 +msgid "Public key:" +msgstr "" + +#: src/ui/error_widget.ui:104 +msgid "Oh no! Something broke!" +msgstr "" + +#: src/ui/error_widget.ui:119 +msgid "Please check your settings and retry" +msgstr "" + +#: src/ui/error_widget.ui:140 +msgid "Info" +msgstr "" + +#: src/ui/error_widget.ui:164 +msgid "Log" +msgstr "" + +#: src/ui/error_widget.ui:202 +msgid "Retry" +msgstr "" + +#: data/com.github.naxuroqa.venom.desktop.in:3 +msgid "Venom" +msgstr "" + +#: data/com.github.naxuroqa.venom.desktop.in:5 +msgid "tox;instant messaging;video chat;" +msgstr "" + +#: data/com.github.naxuroqa.venom.desktop.in:7 +msgid "com.github.naxuroqa.venom-symbolic" +msgstr "" From c332afeee6e5df7c07cc353e76b307bbd1c3c351 Mon Sep 17 00:00:00 2001 From: Louies Date: Sat, 12 Jan 2019 07:17:16 +0000 Subject: [PATCH 03/10] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.1% (7 of 225 strings) Translation: Venom/Translations Translate-URL: https://hosted.weblate.org/projects/venom/translations/zh_Hant/ --- po/zh_Hant.po | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/po/zh_Hant.po b/po/zh_Hant.po index a7e2d51..bfa05f5 100644 --- a/po/zh_Hant.po +++ b/po/zh_Hant.po @@ -6,24 +6,26 @@ msgid "" msgstr "" "Project-Id-Version: venom\n" -"Report-Msgid-Bugs-To: \n" +"Report-Msgid-Bugs-To: naxuroqa@gmail.com\n" "POT-Creation-Date: 2018-12-01 13:43+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2019-01-13 16:07+0000\n" +"Last-Translator: Louies \n" +"Language-Team: Chinese (Traditional) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.4-dev\n" #: src/undo/TextBufferUndoBinding.vala:169 msgid "_Redo" -msgstr "" +msgstr "_重做" #: src/undo/TextBufferUndoBinding.vala:174 msgid "_Undo" -msgstr "" +msgstr "_復原" #: src/core/NotificationListener.vala:86 #, c-format @@ -34,15 +36,15 @@ msgstr "" #: src/viewmodel/ContactListViewModel.vala:118 src/ui/conference_window.ui:137 #: src/ui/conversation_window.ui:86 msgid "Show details" -msgstr "" +msgstr "顯示詳細資訊" #: src/core/NotificationListener.vala:94 msgid "Mute conversation" -msgstr "" +msgstr "靜音對話" #: src/core/NotificationListener.vala:116 msgid "Friend request" -msgstr "" +msgstr "朋友請求" #: src/core/NotificationListener.vala:139 #, c-format @@ -51,7 +53,7 @@ msgstr "" #: src/core/NotificationListener.vala:164 msgid "Conference invite" -msgstr "" +msgstr "會議邀請" #: src/core/NotificationListener.vala:165 #, c-format @@ -60,7 +62,7 @@ msgstr "" #: src/core/TimeStamp.vala:26 msgid "Just now" -msgstr "" +msgstr "剛才" #: src/core/TimeStamp.vala:31 #, c-format From 93366b9f96ddcaa5f6b10e395366648ba832a417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Fri, 18 Jan 2019 11:54:43 +0000 Subject: [PATCH 04/10] Translated using Weblate (Polish) Currently translated at 73.3% (165 of 225 strings) Translation: Venom/Translations Translate-URL: https://hosted.weblate.org/projects/venom/translations/pl/ --- po/pl.po | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/po/pl.po b/po/pl.po index e1c7c55..27bbac3 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,10 +6,10 @@ msgid "" msgstr "" "Project-Id-Version: Venom\n" -"Report-Msgid-Bugs-To: \n" +"Report-Msgid-Bugs-To: naxuroqa@gmail.com\n" "POT-Creation-Date: 2018-12-01 13:43+0100\n" -"PO-Revision-Date: 2018-12-10 17:09+0000\n" -"Last-Translator: naxuroqa \n" +"PO-Revision-Date: 2019-01-19 12:21+0000\n" +"Last-Translator: Allan Nordhøy \n" "Language-Team: Polish \n" "Language: pl\n" @@ -506,7 +506,7 @@ msgstr "Mowa" #: src/ui/create_groupchat_widget.ui:252 msgid "Select a conference type" -msgstr "Wybierz typ konferencji." +msgstr "Wybierz typ konferencji." #: src/ui/create_groupchat_widget.ui:299 #, fuzzy @@ -689,8 +689,9 @@ msgid "Enter a Tox ID or URI here" msgstr "Wpisz tu Tox ID lub Tox URI" #: src/ui/add_contact_widget.ui:222 +#, fuzzy msgid "Enter your friends Tox ID" -msgstr "Enter your friends Tox ID." +msgstr "Enter your friends Tox ID" #: src/ui/add_contact_widget.ui:254 #, fuzzy @@ -705,7 +706,7 @@ msgstr "" #: src/ui/add_contact_widget.ui:302 msgid "Send your friend a short message" -msgstr "Wyślij swojemu przyjacielowi krótką wiadomość." +msgstr "Wyślij swojemu przyjacielowi krótką wiadomość." #: src/ui/add_contact_widget.ui:333 #, fuzzy @@ -799,7 +800,7 @@ msgstr "Ciemny motyw" #: src/ui/settings_widget.ui:348 msgid "Use a dark variant of the theme" -msgstr "Użyj ciemnego wariantu tematu." +msgstr "Użyj ciemnego wariantu tematu." #: src/ui/settings_widget.ui:404 msgid "Animations" @@ -807,7 +808,7 @@ msgstr "Animacje" #: src/ui/settings_widget.ui:417 msgid "Turn on animated transitions" -msgstr "Powrót na animowanych przejściach" +msgstr "Powrót na animowanych przejściach." #: src/ui/settings_widget.ui:473 #, fuzzy @@ -816,7 +817,7 @@ msgstr "Zadzwoń do kontaktu" #: src/ui/settings_widget.ui:486 msgid "Show contacts in a compact format" -msgstr "Pokaż kontakty w kompaktowym formacie" +msgstr "Pokaż kontakty w kompaktowym formacie." #: src/ui/settings_widget.ui:542 msgid "Spellcheck" @@ -832,7 +833,7 @@ msgstr "Dźwięki" #: src/ui/settings_widget.ui:712 msgid "Play sounds on new notifications" -msgstr "Odtwarzaj dźwięki na nowych powiadomieniach" +msgstr "Odtwarzaj dźwięki na nowych powiadomieniach." #: src/ui/settings_widget.ui:768 msgid "While Busy" @@ -840,7 +841,7 @@ msgstr "Podczas gdy zajęty" #: src/ui/settings_widget.ui:781 msgid "Receive notifications even while you are busy" -msgstr "Odbieraj powiadomienia nawet wtedy, gdy jesteś zajęty." +msgstr "Odbieraj powiadomienia nawet wtedy, gdy jesteś zajęty." #: src/ui/settings_widget.ui:866 msgid "Tray icon" @@ -852,7 +853,7 @@ msgstr "Minimalizuj" #: src/ui/settings_widget.ui:940 msgid "Minimize to tray instead of close" -msgstr "Minimalizuj do tacy zamiast zamykać" +msgstr "Minimalizuj do tacy zamiast zamykać." #: src/ui/settings_widget.ui:1025 msgid "Privacy" @@ -874,7 +875,7 @@ msgstr "Trzymaj historię przez" #: src/ui/settings_widget.ui:1150 msgid "Store your sent and received messages" -msgstr "Sklep swoje wysłane i otrzymane wiadomości." +msgstr "Sklep swoje wysłane i otrzymane wiadomości." #: src/ui/settings_widget.ui:1281 msgid "Connection" @@ -909,12 +910,13 @@ msgid "Hole punching" msgstr "Wykrawanie otworów" #: src/ui/settings_widget.ui:1543 +#, fuzzy msgid "" "Enable UDP hole punching" msgstr "" -"Enable UDP hole punching>." +"Enable UDP hole punching" #: src/ui/settings_widget.ui:1681 msgid "Update bootstrap nodes" @@ -945,7 +947,7 @@ msgstr "Ustawienia" #: src/ui/settings_widget.ui:2000 msgid "Use custom proxy settings" -msgstr "Używaj niestandardowych ustawień proxy>." +msgstr "Używaj niestandardowych ustawień proxy." #: src/ui/settings_widget.ui:2041 msgid "Host" @@ -953,7 +955,7 @@ msgstr "Host" #: src/ui/settings_widget.ui:2084 msgid "Set a SOCKS5 proxy to connect to" -msgstr "Ustawiamy proxy SOCKS5 do łączenia się z" +msgstr "Ustawiamy proxy SOCKS5 do łączenia się z." #: src/ui/friend_info_widget.ui:171 msgid "Remove from your friends list" From 344a5612c0bbc50c4498ca9908534de84ff44667 Mon Sep 17 00:00:00 2001 From: naxuroqa Date: Mon, 21 Jan 2019 18:20:47 +0100 Subject: [PATCH 05/10] Release-0.5.4: Raise version number --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 8af8e81..623bdd9 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('venom', ['vala', 'c'], license: 'GPL3+', - version: '0.5.3' + version: '0.5.4' ) i18n = import('i18n') From 2497629e57dbef1c935a12422b7e160f3efb703d Mon Sep 17 00:00:00 2001 From: naxuroqa Date: Fri, 4 Jan 2019 12:32:51 +0100 Subject: [PATCH 06/10] FIX: Backport circleci configuration from develop --- .circleci/config.yml | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..616c7f3 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,65 @@ +--- +version: 2 +jobs: + build: + docker: + - image: ubuntu:18.04 + steps: + - checkout + - run: + name: Add vala-team/ppa + command: | + apt update + apt install -y software-properties-common gnupg + add-apt-repository ppa:vala-team/ppa -y + - run: + name: Install dependencies + command: apt update + && apt install -y + clang + cmake + libconfig-dev + libgtest-dev + libopus-dev + libsodium-dev + libvpx-dev + pkg-config + libgee-0.8-dev + libgspell-1-dev + libgtk-3-dev + libjson-glib-dev + libsoup2.4-dev + libsqlcipher-dev + libcanberra-dev + libgstreamer1.0-dev + libgstreamer-plugins-base1.0-dev + valac + python3-pip + wget + - run: + name: Install meson + command: pip3 install meson ninja + - run: + name: Build and install toxcore + command: | + wget "https://github.com/TokTok/c-toxcore/archive/v0.2.8.tar.gz" + tar -xzf v0.2.8.tar.gz + cd c-toxcore-0.2.8 + cmake -DCMAKE_INSTALL_PREFIX=/usr + make + make install + cd .. + - run: + name: Configure + command: meson build + - run: + name: Build + command: ninja -C build + - run: + name: Test + command: ninja -C build test +workflows: + version: 2 + build: + jobs: + - build From 4343ae3bf390d319992e31c0abdbcaa58c6bc897 Mon Sep 17 00:00:00 2001 From: naxuroqa Date: Mon, 21 Jan 2019 18:39:33 +0100 Subject: [PATCH 07/10] VENOM-481: Use compatibility fallback for v3 databases * Sqlcipher 4 uses different default settings and will fail to load databases created with sqlcipher 3. * This commit will try with default settings first, if this fails, it will try again with PRAGMA `cipher_compatibility` set to 3 (see https://www.zetetic.net/sqlcipher/sqlcipher-api/#cipher_compatibility). * In the future it may be useful to provide an upgrade option in the user interface. --- src/db/DatabaseInterfaces.vala | 4 +++ src/db/SqliteWrapper.vala | 54 ++++++++++++++++++++-------------- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/src/db/DatabaseInterfaces.vala b/src/db/DatabaseInterfaces.vala index 9535564..50f32a5 100644 --- a/src/db/DatabaseInterfaces.vala +++ b/src/db/DatabaseInterfaces.vala @@ -112,6 +112,10 @@ namespace Venom { public interface Database : GLib.Object { } + public interface DatabaseUpdate : GLib.Object { + public abstract void update_database(Database database) throws DatabaseError; + } + public interface DatabaseStatement : GLib.Object { public abstract DatabaseResult step() throws DatabaseStatementError; public abstract void bind_text(string key, string val) throws DatabaseStatementError; diff --git a/src/db/SqliteWrapper.vala b/src/db/SqliteWrapper.vala index 011ab69..a571f29 100644 --- a/src/db/SqliteWrapper.vala +++ b/src/db/SqliteWrapper.vala @@ -23,7 +23,7 @@ namespace Venom { public class SqliteWrapperFactory : DatabaseFactory, Object { public Database create_database(string path, string key) throws DatabaseError { - var update = new SqliteDatabaseV1(null); + var update = new SqliteDatabaseUpdate(); return new SqliteDatabaseWrapper(path, key, update); } public DatabaseStatementFactory create_statement_factory(Database database) { @@ -188,18 +188,11 @@ namespace Venom { public abstract string create_statement(SqliteStatementFactory statement_factory); } - public interface SqliteDatabaseUpdate : GLib.Object { - public abstract void update_database(SqliteDatabaseWrapper database) throws DatabaseError; - } - - public class SqliteDatabaseV1 : SqliteDatabaseUpdate, GLib.Object { - private SqliteDatabaseUpdate? next_update; - public SqliteDatabaseV1(SqliteDatabaseUpdate? next_update) { - this.next_update = next_update; - } - public void update_database(SqliteDatabaseWrapper database) throws DatabaseError { - if (database.version == 0) { - database.query( + public class SqliteDatabaseUpdate : DatabaseUpdate, GLib.Object { + public void update_database(Database database) throws DatabaseError { + var sqliteDatabase = database as SqliteDatabaseWrapper; + if (sqliteDatabase.version == 0) { + sqliteDatabase.query( """ DROP TABLE IF EXISTS Contacts; DROP TABLE IF EXISTS Nodes; @@ -207,9 +200,6 @@ namespace Venom { """ ); } - if (next_update != null) { - next_update.update_database(database); - } } } @@ -265,15 +255,20 @@ namespace Venom { } } - public class SqliteDatabaseWrapper : Database, Object { + public class SqliteDatabaseWrapper : Database, GLib.Object { private Sqlite.Database database; private int _version = 0; + private bool _compatibility = false; private string key = ""; public Sqlite.Database handle { get { return database; } } + public bool compatibility { + get { return _compatibility; } + } + public int version { get { return _version; } } @@ -286,25 +281,40 @@ namespace Venom { return database.last_insert_rowid(); } - public SqliteDatabaseWrapper(string path, string key, SqliteDatabaseUpdate updater) throws DatabaseError { + private static Sqlite.Database open_database(string path) throws DatabaseError { + Sqlite.Database database; var result = Sqlite.Database.open_v2(path, out database); if (result != Sqlite.OK) { throw new DatabaseError.OPEN("Cannot open sqlite database: " + database.errmsg()); } + return database; + } + + public SqliteDatabaseWrapper(string path, string key, DatabaseUpdate update) throws DatabaseError { + database = open_database(path); if (key.length > 0) { - query(@"PRAGMA key = \"x'$key'\";"); - query(@"SELECT count(*) FROM sqlite_master;"); + var key_pragma = @"PRAGMA key = \"x'$key'\";"; + query(key_pragma); + try { + query("SELECT count(*) FROM sqlite_master;"); + } catch (DatabaseError e) { + _compatibility = true; + database = null; + database = open_database(path); + query(key_pragma); + query("PRAGMA cipher_compatibility = 3;"); + query("SELECT count(*) FROM sqlite_master;"); + } } try { var version = query("PRAGMA user_version;"); _version = int.parse(version.rows[0].values[0]); } catch (DatabaseError e) { - stdout.printf(""); } - updater.update_database(this); + update.update_database(this); } } } From c68bfd00339648d01159cdc593d2adb873589ce0 Mon Sep 17 00:00:00 2001 From: naxuroqa Date: Mon, 21 Jan 2019 19:41:38 +0100 Subject: [PATCH 08/10] VENOM-482: Fix accelmods in conversations * Fixes wrong accelerator mods when trying to send a message for the first time in a conversation. Backport from #463 --- src/view/ConversationWindow.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/view/ConversationWindow.vala b/src/view/ConversationWindow.vala index 42ec9f5..33caf5b 100644 --- a/src/view/ConversationWindow.vala +++ b/src/view/ConversationWindow.vala @@ -286,7 +286,7 @@ namespace Venom { public TextViewEventHandler() { var accel_path = "/Message/Send"; if (!Gtk.AccelMap.lookup_entry(accel_path, out key)) { - key.accel_mods = ~Gdk.ModifierType.MODIFIER_MASK; + key.accel_mods = 0; key.accel_key = Gdk.Key.Return; Gtk.AccelMap.add_entry(accel_path, key.accel_key, key.accel_mods); } From 905a26022f7b8e35b660d61bcbedf0fd280fcef3 Mon Sep 17 00:00:00 2001 From: naxuroqa Date: Mon, 21 Jan 2019 20:31:11 +0100 Subject: [PATCH 09/10] VENOM-483: Raise dependency versions --- .circleci/config.yml | 6 +++--- Dockerfile | 6 +++--- com.github.naxuroqa.venom.yml | 16 ++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 616c7f3..8047dc6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -42,9 +42,9 @@ jobs: - run: name: Build and install toxcore command: | - wget "https://github.com/TokTok/c-toxcore/archive/v0.2.8.tar.gz" - tar -xzf v0.2.8.tar.gz - cd c-toxcore-0.2.8 + wget "https://github.com/TokTok/c-toxcore/archive/v0.2.9.tar.gz" + tar -xzf v0.2.9.tar.gz + cd c-toxcore-0.2.9 cmake -DCMAKE_INSTALL_PREFIX=/usr make make install diff --git a/Dockerfile b/Dockerfile index 573d4e6..331051a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,9 +22,9 @@ RUN \ RUN rm -rf /var/lib/apt/lists/* -RUN wget "https://github.com/TokTok/c-toxcore/archive/v0.2.8.tar.gz" && \ - tar -xzf v0.2.8.tar.gz && \ - cd c-toxcore-0.2.8 && \ +RUN wget "https://github.com/TokTok/c-toxcore/archive/v0.2.9.tar.gz" && \ + tar -xzf v0.2.9.tar.gz && \ + cd c-toxcore-0.2.9 && \ cmake -DCMAKE_INSTALL_PREFIX=/usr && \ make && \ make install && \ diff --git a/com.github.naxuroqa.venom.yml b/com.github.naxuroqa.venom.yml index 2ff6b81..9c26ef8 100644 --- a/com.github.naxuroqa.venom.yml +++ b/com.github.naxuroqa.venom.yml @@ -33,8 +33,8 @@ modules: sources: - type: git url: https://github.com/sqlcipher/sqlcipher - tag: v3.4.2 - commit: c6f709fca81c910ba133aaf6330c28e01ccfe5f8 + tag: v4.0.1 + commit: 27d58453c6e56c3dd85e02bca379161bc69c746a disable-fsckobjects: true - type: script dest-filename: autogen.sh @@ -44,8 +44,8 @@ modules: sources: - type: git url: https://github.com/jedisct1/libsodium - tag: 1.0.16 - commit: 675149b9b8b66ff44152553fb3ebf9858128363d + tag: 1.0.17 + commit: b732443c442239c2e0184820e9b23cca0de0828c - name: toxcore buildsystem: cmake config-opts: @@ -54,8 +54,8 @@ modules: sources: - type: git url: https://github.com/toktok/c-toxcore - tag: v0.2.8 - commit: 3f35a84968f100e1e6d3c9df467fd3c82a9ebb13 + tag: v0.2.9 + commit: 98b754e1f22220f10196760389371dba6d139c6f - name: libgee build-options: env: @@ -69,8 +69,8 @@ modules: - name: enchant sources: - type: archive - url: https://github.com/AbiWord/enchant/releases/download/v2.1.3/enchant-2.1.3.tar.gz - sha256: 086f37cdecd42eacd0e1dc291f5410d9ca2c5ed2cd9cd9367729e3d2d18a8550 + url: https://github.com/AbiWord/enchant/releases/download/v2.2.3/enchant-2.2.3.tar.gz + sha256: abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d - name: gspell sources: - type: git From 0ada75bd55dc8f967126e74ec677dff692cdb1c1 Mon Sep 17 00:00:00 2001 From: naxuroqa Date: Mon, 21 Jan 2019 20:39:25 +0100 Subject: [PATCH 10/10] VENOM-482: Optimize dockerfile --- Dockerfile | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 331051a..f5810e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,36 @@ -FROM ubuntu:latest +FROM ubuntu:18.04 + +RUN \ + apt update && \ + apt install -y software-properties-common gnupg && \ + add-apt-repository ppa:vala-team/ppa -y RUN \ apt-get update && \ - apt-get -y upgrade && \ apt-get install -y \ - build-essential \ + clang \ cmake \ - libgtk-3-dev \ - libjson-glib-dev \ + libconfig-dev \ + libgtest-dev \ libopus-dev \ libsodium-dev \ - libsoup2.4-dev \ - libsqlcipher-dev \ libvpx-dev \ + pkg-config \ libgee-0.8-dev \ libgspell-1-dev \ + libgtk-3-dev \ + libjson-glib-dev \ + libsoup2.4-dev \ + libsqlcipher-dev \ libcanberra-dev \ - meson \ + libgstreamer1.0-dev \ + libgstreamer-plugins-base1.0-dev \ valac \ + python3-pip \ wget +RUN pip3 install meson ninja + RUN rm -rf /var/lib/apt/lists/* RUN wget "https://github.com/TokTok/c-toxcore/archive/v0.2.9.tar.gz" && \