[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2016-09-29 Thread translation
commit a7ee4d749a2f954fa045d050afe155b35ac0c471
Author: Translation commit bot 
Date:   Fri Sep 30 05:15:32 2016 +

Update translations for tails-persistence-setup
---
 vi/vi.po | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/vi/vi.po b/vi/vi.po
index 0a55df9..dbad4e1 100644
--- a/vi/vi.po
+++ b/vi/vi.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-05-25 02:27+0200\n"
-"PO-Revision-Date: 2016-09-30 04:38+\n"
+"PO-Revision-Date: 2016-09-30 04:48+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -158,11 +158,11 @@ msgstr "Dung lượng bền vững không được mở 
khóa."
 
 #: ../lib/Tails/Persistence/Setup.pm:390
 msgid "Persistence volume is not mounted."
-msgstr ""
+msgstr "Dung lượng bền vững chưa được gắn vào."
 
 #: ../lib/Tails/Persistence/Setup.pm:395
 msgid "Persistence volume is not readable. Permissions or ownership problems?"
-msgstr ""
+msgstr "Dung lượng bền vững không đọc được. Có vấn đề 
về sự cho phép hay sự sở hữu?"
 
 #: ../lib/Tails/Persistence/Setup.pm:400
 msgid "Persistence volume is not writable. Maybe it was mounted read-only?"
@@ -181,26 +181,26 @@ msgstr "Thiết bị %s là quang học."
 #: ../lib/Tails/Persistence/Setup.pm:422
 #, perl-format
 msgid "Device %s was not created using Tails Installer."
-msgstr ""
+msgstr "Thiết bị %s không được tạo bằng cách dùng Trình cài 
đặt Tails."
 
 #: ../lib/Tails/Persistence/Setup.pm:668
 msgid "Persistence wizard - Finished"
-msgstr ""
+msgstr "Hướng dẫn phân vùng bền vững - Đã hoàn tất"
 
 #: ../lib/Tails/Persistence/Setup.pm:671
 msgid ""
 "Any changes you have made will only take effect after restarting Tails.\n"
 "\n"
 "You may now close this application."
-msgstr ""
+msgstr "Bất kỳ thay đổi nào bạn tạo ra sẽ chỉ có hiệu lực 
sau khi khởi động lại Tails.\n\nBạn có thể đóng ứng dụng bây 
giờ."
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:54
 msgid "Persistence wizard - Persistent volume creation"
-msgstr ""
+msgstr "Hướng dẫn phân vùng bền vững - Việc tạo dung lượng 
bền vững"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:57
 msgid "Choose a passphrase to protect the persistent volume"
-msgstr ""
+msgstr "Chọn một đoạn mật khẩu để bảo vệ dung lượng bền 
vững"
 
 #. TRANSLATORS: size, device vendor, device model
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:61
@@ -208,11 +208,11 @@ msgstr ""
 msgid ""
 "A %s persistent volume will be created on the %s %s device. Data on "
 "this volume will be stored in an encrypted form protected by a passphrase."
-msgstr ""
+msgstr "Một %s dung lượng bền vững sẽ được tạo ra trên 
thiết bị %s %s. Dữ liệu trên dung lượng này sẽ được 
lưu trữ và mã hóa từ một đoạn mật khẩu được bảo vệ."
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:66
 msgid "Create"
-msgstr ""
+msgstr "Tạo ra"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:110
 msgid ""
@@ -220,7 +220,7 @@ msgid ""
 "understood. Tails can't help you if you use it wrong! See Tails"
 " documentation about persistence to learn more."
-msgstr ""
+msgstr "Hay chú ý! Việc sử dụng vùng bền vững có những 
hậu quả cần phải được hiểu rõ. Tails không thể giúp bạn 
nếu bạn sá»­ dụng nó sai. Hãy sem TÃ
 i liệu của Tails về vùng bền vững để tìm hiểu thêm."
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:144
 msgid "Passphrase:"
@@ -228,16 +228,16 @@ msgstr "Đoạn mật khẩu:"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:154
 msgid "Verify Passphrase:"
-msgstr ""
+msgstr "Xác minh đoạn mật khẩu:"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:167
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:231
 msgid "Passphrase can't be empty"
-msgstr ""
+msgstr "Đoạn mật khẩu không thể bỏ trống"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:222
 msgid "Passphrases do not match"
-msgstr ""
+msgstr "Đoạn mật khẩu không đúng"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:274
 #: ../lib/Tails/Persistence/Step/Configure.pm:129
@@ -247,7 +247,7 @@ msgstr "Thất bại"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:283
 msgid "Mounting Tails persistence partition."
-msgstr ""
+msgstr "Đang gắn phân vùng bền vững của Tails."
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:286
 msgid "The Tails persistence partition will be mounted."

___
tor-commits mailing list
tor-commits@lists.torproject.org

[tor-commits] [translation/tor-messenger-ircproperties] Update translations for tor-messenger-ircproperties

2016-09-29 Thread translation
commit 30eb7a3617a79458e19b206bab7739f2554a9edd
Author: Translation commit bot 
Date:   Fri Sep 30 04:47:49 2016 +

Update translations for tor-messenger-ircproperties
---
 vi/irc.properties | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/vi/irc.properties b/vi/irc.properties
index 5bb5c8e..819e9f7 100644
--- a/vi/irc.properties
+++ b/vi/irc.properties
@@ -47,7 +47,7 @@ ctcp.time=The time for %1$S is %2$S.
 #   These are the help messages for each command, the %S is the command name
 #   Each command first gives the parameter it accepts and then a description of
 #   the command.
-command.action=%S action to perform: Perform an action.
+command.action=%S action to perform: Thực hiện một hành động.
 command.ctcp=%S nick msg: Sends a CTCP message to the nick.
 command.chanserv=%S command: Send a command to ChanServ.
 command.deop=%S nick1[,nick2]*: Remove channel operator status 
from someone. You must be a channel operator to do this.
@@ -60,7 +60,7 @@ command.memoserv=%S command: Send a command to 
MemoServ.
 command.modeUser=%S (+|-)new mode [nick]: Set or unset a 
user's mode.
 command.modeChannel=%S channel[ (+|-)new mode 
[parameter][,parameter]*]: Get, set or unset a channel mode.
 command.msg=%S nick message: Send a private message to a user 
(as opposed to a channel).
-command.nick=%S new nickname: Change your nickname.
+command.nick=%S new nickname: Đổi biệt danh của bạn.
 command.nickserv=%S command: Send a command to NickServ.
 command.notice=%S target message: Send a notice to a user or 
channel.
 command.op=%S nick1[,nick2]*: Grant channel operator status to 
someone. You must be a channel operator to do this.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2016-09-29 Thread translation
commit 43147fe0f9cc318ba5e16b5af743bc65bdb8f2db
Author: Translation commit bot 
Date:   Fri Sep 30 04:45:32 2016 +

Update translations for tails-persistence-setup
---
 vi/vi.po | 68 
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/vi/vi.po b/vi/vi.po
index ab8e9de..0a55df9 100644
--- a/vi/vi.po
+++ b/vi/vi.po
@@ -3,14 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Khanh Nguyen , 2015
+# Khanh Nguyen , 2015-2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-05-25 02:27+0200\n"
-"PO-Revision-Date: 2016-09-29 08:07+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-30 04:38+\n"
+"Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,108 +24,108 @@ msgstr "Dữ liệu cá nhân"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:50
 msgid "Keep files stored in the `Persistent' directory"
-msgstr ""
+msgstr "Giữ các tập tin trong thư mục `Persistent'"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:58
 msgid "GnuPG"
-msgstr ""
+msgstr "GnuPG"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:60
 msgid "GnuPG keyrings and configuration"
-msgstr ""
+msgstr "Những móc khóa và cấu hình GnuPG"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:68
 msgid "SSH Client"
-msgstr ""
+msgstr "Máy trạm SSH"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:70
 msgid "SSH keys, configuration and known hosts"
-msgstr ""
+msgstr "Những khóa SSH, cuấ hình và những máy chủ được biết 
đến"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:78
 msgid "Pidgin"
-msgstr ""
+msgstr "Pidgin"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:80
 msgid "Pidgin profiles and OTR keyring"
-msgstr ""
+msgstr "Cấu hình Pidgin và móc khóa OTR"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:88
 msgid "Icedove"
-msgstr ""
+msgstr "Icedove"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:90
 msgid "Icedove profiles and locally stored email"
-msgstr ""
+msgstr "Cấu hình Icedove và những email được lưu trữ cục bộ"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:98
 msgid "GNOME Keyring"
-msgstr ""
+msgstr "Móc khóa GNOME"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:100
 msgid "Secrets stored by GNOME Keyring"
-msgstr ""
+msgstr "Những bí mật được lưu trữ bởi Móc khóa GNOME"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:108
 msgid "Network Connections"
-msgstr ""
+msgstr "Những kết nối mạng lưới"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:110
 msgid "Configuration of network devices and connections"
-msgstr ""
+msgstr "Cấu hình của những thiết bị mạng và kết nối"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:118
 msgid "Browser bookmarks"
-msgstr ""
+msgstr "Những thẻ đánh dấu của Trình duyệt"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:120
 msgid "Bookmarks saved in the Tor Browser"
-msgstr ""
+msgstr "Những thẻ đánh dấu được lưu trong Trình duyệt Tor"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:128
 msgid "Printers"
-msgstr ""
+msgstr "Những máy in"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:130
 msgid "Printers configuration"
-msgstr ""
+msgstr "Cấu hình của những máy in"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:138
 msgid "Bitcoin client"
-msgstr ""
+msgstr "máy trạm bitcoin"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:140
 msgid "Electrum's bitcoin wallet and configuration"
-msgstr ""
+msgstr "Ví bitcoin Electrum và cấu hình"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:148
 msgid "APT Packages"
-msgstr ""
+msgstr "Những gói APT"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:150
 msgid "Packages downloaded by APT"
-msgstr ""
+msgstr "Những gói được tải về bởi APT"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:158
 msgid "APT Lists"
-msgstr ""
+msgstr "Những danh sách APT"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:160
 msgid "Lists downloaded by APT"
-msgstr ""
+msgstr "Những danh sách được tải về bởi APT"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:168
 msgid "Dotfiles"
-msgstr ""
+msgstr "Dotfiles"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:170
 msgid ""
 "Symlink into $HOME every file or directory found in the `dotfiles' directory"
-msgstr ""
+msgstr "Symlink vào mỗi tập 

[tor-commits] [translation/tails-iuk_completed] Update translations for tails-iuk_completed

2016-09-29 Thread translation
commit e38999e07d26bdcd441dc18b4768e8f7aaa071a4
Author: Translation commit bot 
Date:   Fri Sep 30 04:16:40 2016 +

Update translations for tails-iuk_completed
---
 vi.po | 248 ++
 1 file changed, 248 insertions(+)

diff --git a/vi.po b/vi.po
new file mode 100644
index 000..51b8c4a
--- /dev/null
+++ b/vi.po
@@ -0,0 +1,248 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Tails developers
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Khanh Nguyen , 2015-2016
+msgid ""
+msgstr ""
+"Project-Id-Version: The Tor Project\n"
+"Report-Msgid-Bugs-To: Tails developers \n"
+"POT-Creation-Date: 2016-05-25 16:55+0200\n"
+"PO-Revision-Date: 2016-09-30 04:14+\n"
+"Last-Translator: Khanh Nguyen \n"
+"Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../lib/Tails/IUK/Frontend.pm:148 ../lib/Tails/IUK/Frontend.pm:524
+#: ../lib/Tails/IUK/Frontend.pm:697
+msgid ""
+"For debugging information, execute the following command: sudo tails-"
+"debugging-info"
+msgstr "Để có thông tin gỡ rỗi, thực thi dòng lệnh dưới 
đây: sudo tails-debugging-info"
+
+#: ../lib/Tails/IUK/Frontend.pm:217
+msgid "Error while checking for upgrades"
+msgstr "Có lỗi khi kiểm tra các bản cập nhật"
+
+#: ../lib/Tails/IUK/Frontend.pm:220
+msgid ""
+"Could not determine whether an upgrade is available from our 
website.\n"
+"\n"
+"Check your network connection, and restart Tails to try upgrading again.\n"
+"\n"
+"If the problem persists, go to 
file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html"
+msgstr "Không thể xác định được những bản nâng cấp có 
sẵn trên website của chúng tôi.\nKiểm tra kết nối mạng 
lưới của bạn, và khởi động lại Tails để thử nâng cấp 
lại.\nNếu vấn đề vẫn tồn tại, đi tới 
file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html"
+
+#: ../lib/Tails/IUK/Frontend.pm:235
+msgid "no automatic upgrade is available from our website for this version"
+msgstr "không có việc tự động nâng cấp từ website cho phiên 
bản này"
+
+#: ../lib/Tails/IUK/Frontend.pm:241
+msgid "your device was not created using Tails Installer"
+msgstr "thiết bị của bạn chưa được tạo bằng cách dùng 
Trình cài đặt Tails"
+
+#: ../lib/Tails/IUK/Frontend.pm:246
+msgid "Tails was started from a DVD or a read-only device"
+msgstr "Tails được khởi động từ DVD hoặc một thiết bị chỉ 
cho phép đọc"
+
+#: ../lib/Tails/IUK/Frontend.pm:251
+msgid "there is not enough free space on the Tails system partition"
+msgstr "không có đủ khoảng trống trên phân vùng hệ thống của 
Tails"
+
+#: ../lib/Tails/IUK/Frontend.pm:256
+msgid "not enough memory is available on this system"
+msgstr "không có đủ bộ nhớ có sẵn trên hệ thống"
+
+#: ../lib/Tails/IUK/Frontend.pm:262
+#, perl-brace-format
+msgid "No explanation available for reason '%{reason}s'."
+msgstr "Không có sự giải thích nào cho lý do '%{reason}s'."
+
+#: ../lib/Tails/IUK/Frontend.pm:282
+msgid "The system is up-to-date"
+msgstr "Hệ thống được cập nhật mới nhất"
+
+#: ../lib/Tails/IUK/Frontend.pm:287
+msgid "This version of Tails is outdated, and may have security issues."
+msgstr "Phiên bản Tails này đã hết hạn, và có thể có vài vấn 
đề an ninh."
+
+#: ../lib/Tails/IUK/Frontend.pm:319
+#, perl-brace-format
+msgid ""
+"The available incremental upgrade requires %{space_needed}s of free space on"
+" Tails system partition,  but only %{free_space}s is available."
+msgstr "Việc nâng cấp thêm có sẵn yêu cầu %{space_needed}s 
khoảng trống trên phân vùng hệ thống Tails, nhưng chỉ có 
%{free_space}s có sẵn."
+
+#: ../lib/Tails/IUK/Frontend.pm:335
+#, perl-brace-format
+msgid ""
+"The available incremental upgrade requires %{memory_needed}s of free memory,"
+" but only %{free_memory}s is available."
+msgstr "Việc nâng cấp thêm có sẵn yêu cầu %{memory_needed}s 
khoảng trống, những chỉ có sẵn %{free_memory}s"
+
+#: ../lib/Tails/IUK/Frontend.pm:357
+msgid ""
+"An incremental upgrade is available, but no full upgrade is.\n"
+"This should not happen. Please report a bug."
+msgstr "Việc nâng cấp thêm đang có sẵn, nhưng không có nâng 
cấp toàn bộ.\nViệc này không nên xảy ra. Vui lòng báo lỗi."
+
+#: ../lib/Tails/IUK/Frontend.pm:361
+msgid "Error while detecting available upgrades"
+msgstr "Có lỗi khi phát hiện những bản cập nhật có sẵn"
+
+#: 

[tor-commits] [translation/tails-iuk] Update translations for tails-iuk

2016-09-29 Thread translation
commit 5c41de2c4fb286e7ba4c2f81b2fc61f19d4badeb
Author: Translation commit bot 
Date:   Fri Sep 30 04:16:35 2016 +

Update translations for tails-iuk
---
 vi.po | 72 +--
 1 file changed, 36 insertions(+), 36 deletions(-)

diff --git a/vi.po b/vi.po
index cb1df4f..51b8c4a 100644
--- a/vi.po
+++ b/vi.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-05-25 16:55+0200\n"
-"PO-Revision-Date: 2016-09-13 09:00+\n"
+"PO-Revision-Date: 2016-09-30 04:14+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -40,43 +40,43 @@ msgstr "Không thể xác định được những bản 
nâng cấp có sẵ
 
 #: ../lib/Tails/IUK/Frontend.pm:235
 msgid "no automatic upgrade is available from our website for this version"
-msgstr ""
+msgstr "không có việc tự động nâng cấp từ website cho phiên 
bản này"
 
 #: ../lib/Tails/IUK/Frontend.pm:241
 msgid "your device was not created using Tails Installer"
-msgstr ""
+msgstr "thiết bị của bạn chưa được tạo bằng cách dùng 
Trình cài đặt Tails"
 
 #: ../lib/Tails/IUK/Frontend.pm:246
 msgid "Tails was started from a DVD or a read-only device"
-msgstr ""
+msgstr "Tails được khởi động từ DVD hoặc một thiết bị chỉ 
cho phép đọc"
 
 #: ../lib/Tails/IUK/Frontend.pm:251
 msgid "there is not enough free space on the Tails system partition"
-msgstr ""
+msgstr "không có đủ khoảng trống trên phân vùng hệ thống của 
Tails"
 
 #: ../lib/Tails/IUK/Frontend.pm:256
 msgid "not enough memory is available on this system"
-msgstr ""
+msgstr "không có đủ bộ nhớ có sẵn trên hệ thống"
 
 #: ../lib/Tails/IUK/Frontend.pm:262
 #, perl-brace-format
 msgid "No explanation available for reason '%{reason}s'."
-msgstr ""
+msgstr "Không có sự giải thích nào cho lý do '%{reason}s'."
 
 #: ../lib/Tails/IUK/Frontend.pm:282
 msgid "The system is up-to-date"
-msgstr ""
+msgstr "Hệ thống được cập nhật mới nhất"
 
 #: ../lib/Tails/IUK/Frontend.pm:287
 msgid "This version of Tails is outdated, and may have security issues."
-msgstr ""
+msgstr "Phiên bản Tails này đã hết hạn, và có thể có vài vấn 
đề an ninh."
 
 #: ../lib/Tails/IUK/Frontend.pm:319
 #, perl-brace-format
 msgid ""
 "The available incremental upgrade requires %{space_needed}s of free space on"
 " Tails system partition,  but only %{free_space}s is available."
-msgstr ""
+msgstr "Việc nâng cấp thêm có sẵn yêu cầu %{space_needed}s 
khoảng trống trên phân vùng hệ thống Tails, nhưng chỉ có 
%{free_space}s có sẵn."
 
 #: ../lib/Tails/IUK/Frontend.pm:335
 #, perl-brace-format
@@ -89,11 +89,11 @@ msgstr "Việc nâng cấp thêm có sẵn yêu cầu 
%{memory_needed}s khoảng
 msgid ""
 "An incremental upgrade is available, but no full upgrade is.\n"
 "This should not happen. Please report a bug."
-msgstr ""
+msgstr "Việc nâng cấp thêm đang có sẵn, nhưng không có nâng 
cấp toàn bộ.\nViệc này không nên xảy ra. Vui lòng báo lỗi."
 
 #: ../lib/Tails/IUK/Frontend.pm:361
 msgid "Error while detecting available upgrades"
-msgstr ""
+msgstr "Có lỗi khi phát hiện những bản cập nhật có sẵn"
 
 #: ../lib/Tails/IUK/Frontend.pm:371
 #, perl-brace-format
@@ -109,19 +109,19 @@ msgid ""
 "Download size: %{size}s\n"
 "\n"
 "Do you want to upgrade now?"
-msgstr ""
+msgstr "Bạn nên nâng cấp lên phiên bản %{name}s 
%{version}s.\n\nĐể có thêm thông tin về phiên bản mới này, 
đi tới %{details_url}s\n\nNên đóng tất cả những ứng dụng đang 
mở trong quá trình nâng cấp\nViệc tải bản cập nhật có thể 
tốn nhiều thời gian, từ vài phút cho tới vài giờ.\nMạng 
lưới sẽ bị vô hiệu sau khi tải về bản cập nhật.\n\nDung 
lượng tải về: %{size}s\n\nBạn có muốn nâng cấp bây giờ 
không?"
 
 #: ../lib/Tails/IUK/Frontend.pm:386
 msgid "Upgrade available"
-msgstr ""
+msgstr "Bản nâng cấp có sẵn"
 
 #: ../lib/Tails/IUK/Frontend.pm:387
 msgid "Upgrade now"
-msgstr ""
+msgstr "Nâng cấp ngay bây giờ"
 
 #: ../lib/Tails/IUK/Frontend.pm:388
 msgid "Upgrade later"
-msgstr ""
+msgstr "Nâng cấp sau"
 
 #: ../lib/Tails/IUK/Frontend.pm:396
 #, perl-brace-format
@@ -133,20 +133,20 @@ msgid ""
 "It is not possible to automatically upgrade your device to this new version: 
%{explanation}s.\n"
 "\n"
 "To learn how to do a manual upgrade, go to 
https://tails.boum.org/doc/first_steps/upgrade/#manual;
-msgstr ""
+msgstr "Bạn nên nâng cấp thủ công lên phiên bản %{name}s 
%{version}s.\n\nĐể có thêm thông tin về 

[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2016-09-29 Thread translation
commit 7dff490c1f8f2944f8ac84e0ddc3d8ae8c8b5fa1
Author: Translation commit bot 
Date:   Thu Sep 29 19:46:32 2016 +

Update translations for torbutton-torbuttondtd
---
 la/torbutton.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/la/torbutton.dtd b/la/torbutton.dtd
index 0158c12..3d6f981 100644
--- a/la/torbutton.dtd
+++ b/la/torbutton.dtd
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Remove module on disagreement among dirauths.

2016-09-29 Thread karsten
commit 99f87e820289d1fdba7d6362cb8bb84693f09c94
Author: Karsten Loesing 
Date:   Thu Sep 29 17:21:43 2016 +0200

Remove module on disagreement among dirauths.

Implements #20227.
---
 .../org/torproject/metrics/collectdescs/Main.java  |   1 -
 modules/disagreement/.gitignore|   2 -
 modules/disagreement/build.xml |  38 --
 .../org/torproject/metrics/disagreement/Main.java  | 642 -
 shared/bin/20-run-disagreement-stats.sh|   5 -
 shared/bin/99-copy-stats-files.sh  |   1 -
 website/etc/metrics.json   |   4 +-
 7 files changed, 2 insertions(+), 691 deletions(-)

diff --git 
a/modules/collectdescs/src/org/torproject/metrics/collectdescs/Main.java 
b/modules/collectdescs/src/org/torproject/metrics/collectdescs/Main.java
index 88955b4..8be2e0b 100644
--- a/modules/collectdescs/src/org/torproject/metrics/collectdescs/Main.java
+++ b/modules/collectdescs/src/org/torproject/metrics/collectdescs/Main.java
@@ -24,7 +24,6 @@ public class Main {
 "/recent/relay-descriptors/consensuses/",
 "/recent/relay-descriptors/extra-infos/",
 "/recent/relay-descriptors/server-descriptors/",
-"/recent/relay-descriptors/votes/",
 "/recent/torperf/"
 }, 0L, new File("../../shared/in"), true);
   }
diff --git a/modules/disagreement/.gitignore b/modules/disagreement/.gitignore
deleted file mode 100644
index bb84c80..000
--- a/modules/disagreement/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-stats/
-
diff --git a/modules/disagreement/build.xml b/modules/disagreement/build.xml
deleted file mode 100644
index aed679b..000
--- a/modules/disagreement/build.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-  
-  
-  
-  
-
-
-  
-  
-  
-
-  
-
-  
-
-
-  
-
-  
-
-  
-
-  
-
-  
-
-
diff --git 
a/modules/disagreement/src/main/java/org/torproject/metrics/disagreement/Main.java
 
b/modules/disagreement/src/main/java/org/torproject/metrics/disagreement/Main.java
deleted file mode 100644
index 05159a3..000
--- 
a/modules/disagreement/src/main/java/org/torproject/metrics/disagreement/Main.java
+++ /dev/null
@@ -1,642 +0,0 @@
-/* Copyright 2016 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.metrics.disagreement;
-
-import org.torproject.descriptor.Descriptor;
-import org.torproject.descriptor.DescriptorFile;
-import org.torproject.descriptor.DescriptorReader;
-import org.torproject.descriptor.DescriptorSourceFactory;
-import org.torproject.descriptor.NetworkStatusEntry;
-import org.torproject.descriptor.RelayNetworkStatusVote;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.LineNumberReader;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.TimeZone;
-import java.util.TreeMap;
-
-/* Read all relay network status votes from the in/ subdirectory with a
- * valid-after time of 12:00:00, extract attributes like relay flags or
- * bandwidth measurements that the directory authorities assigned to
- * relays, and output aggregate statistics on disagreement among the
- * directory authorities.
- *
- * When initializing from descriptor archives, put tarballs in the in/
- * subdirectory, run this code, and then move the tarballs away.
- * Otherwise, tarballs will be re-processed in each subsequent execution.
- *
- * Recent descriptors can stay in the in/ subdirectory and be re-processed
- * in each execution. */
-public class Main {
-
-  /** Creates a new instance of this class that executes this
-   * data-processing module. */
-  public static void main(String[] args) throws Exception {
-new Main().run();
-  }
-
-  /** Executes this data-processing module. */
-  public void run() throws Exception {
-readResults();
-readDescriptors();
-aggregate();
-writeResults();
-  }
-
-  /* We're processing a lot of strings, including authority identities,
-   * relay fingerprints, and attributes like relay flags.  It would be
-   * wasteful to store more than one instance of these strings in memory.
-   * We also want to store them as part of long integers below.
-   *
-   * That's why we're resolving all strings to integers and keeping maps
-   * from string to integers.  In case of authority identities and relay
-   * fingerprints we don't need to resolve integers back to strings, but
-   * in case of attributes we need to put attribute strings into the
-   * output file, so we're also keeping a list of 

[tor-commits] [metrics-web/master] Remove previously deprecated connbidirect.csv.

2016-09-29 Thread karsten
commit fcbbbaf1c33754adfeb53b1ba50dcee0b592fc1b
Author: Karsten Loesing 
Date:   Thu Sep 29 17:51:39 2016 +0200

Remove previously deprecated connbidirect.csv.
---
 website/etc/metrics.json   | 22 --
 website/etc/web.xml|  1 -
 .../metrics/web/research/ResearchStatsServlet.java |  1 -
 3 files changed, 24 deletions(-)

diff --git a/website/etc/metrics.json b/website/etc/metrics.json
index ffec652..1acc17b 100644
--- a/website/etc/metrics.json
+++ b/website/etc/metrics.json
@@ -724,28 +724,6 @@
 ]
   },
   {
-"id": "connbidirect-data",
-"title": "Fraction of connections used uni-/bidirectionally (deprecated)",
-"tags": [
-  "Performance"
-],
-"type": "Data",
-"level": "Advanced",
-"description": "As of August 25, 2015, this page 
and the linked data file have been replaced by this page and the data file linked from 
there.  Starting on January 11, 2016, the linked data file is not updated 
anymore.  This page and the linked data file will be removed in the 
future.The following data file contains statistics on the 
fraction of direct connections between a relay 
and other nodes in the network that are used uni- or bidirectionally.  Every 10 
seconds, relays determine for every direct connection whether they read and 
wrote less than a threshold of 20 KiB.  For the remaining connections, relays 
determine whether they read/wrote at least 10 times as many bytes as they 
wrote/read.  If so, they classify a connection as \"mostly reading\" or 
\"mostly writing\", respectively.  All other connections are classified as 
\"both reading and writing\".  After classify
 ing connections, read and write counters are reset for the next 10-second 
interval.  The data file contains the absolute number of 10-second intervals 
per relay, aggregated over 24-hour periods.",
-"data_file": "stats/connbidirect.csv",
-"data_column_spec": [
-  "date: UTC date (-MM-DD) for which statistics on 
uni-/bidirectional connection usage were reported.",
-  "source: Fingerprint of the relay reporting statistics.",
-  "below: Number of 10-second intervals of connections with less 
than 20 KiB read and written data.",
-  "read: Number of 10-second intervals of connections with 10 times 
as many read bytes as written bytes.",
-  "write: Number of 10-second intervals of connections with 10 
times as many written bytes as read bytes.",
-  "both: Number of 10-second intervals of connections with less 
than 10 times as many written or read bytes as in the other direction."
-],
-"related": [
-  "connbidirect"
-]
-  },
-  {
 "id": "connbidirect2-data",
 "title": "Fraction of connections used uni-/bidirectionally",
 "tags": [
diff --git a/website/etc/web.xml b/website/etc/web.xml
index ebd9876..ebffdfb 100644
--- a/website/etc/web.xml
+++ b/website/etc/web.xml
@@ -75,7 +75,6 @@
 /clients-data.html
 /userstats-combined-data.html
 /torperf-data.html
-/connbidirect-data.html
 /connbidirect2-data.html
 /hidserv-data.html
 /disagreement-data.html
diff --git 
a/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java 
b/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java
index 7ddeff1..827e8fc 100644
--- a/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java
+++ b/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java
@@ -35,7 +35,6 @@ public class ResearchStatsServlet extends HttpServlet {
 this.availableStatisticsFiles.add("clients");
 this.availableStatisticsFiles.add("userstats-combined");
 this.availableStatisticsFiles.add("torperf");
-this.availableStatisticsFiles.add("connbidirect");
 this.availableStatisticsFiles.add("connbidirect2");
 this.availableStatisticsFiles.add("advbwdist");
 this.availableStatisticsFiles.add("hidserv");

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2016-09-29 Thread translation
commit b026b61c0f0af6efa3d4fe45439b25b4a5913ca2
Author: Translation commit bot 
Date:   Thu Sep 29 15:16:33 2016 +

Update translations for torbutton-torbuttondtd
---
 lv/torbutton.dtd | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lv/torbutton.dtd b/lv/torbutton.dtd
index b2a5f35..6c49d87 100644
--- a/lv/torbutton.dtd
+++ b/lv/torbutton.dtd
@@ -25,17 +25,17 @@
 
 
 
-
+
 
-
+
 
-
+
 
-
+
 
-
+
 
-
+
 
 
 
@@ -51,7 +51,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2016-09-29 Thread translation
commit 44e66c42905f390820dcefb3a7646bf6b5bb7c54
Author: Translation commit bot 
Date:   Thu Sep 29 14:15:27 2016 +

Update translations for liveusb-creator
---
 la/la.po | 36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/la/la.po b/la/la.po
index c7a98a3..57d8967 100644
--- a/la/la.po
+++ b/la/la.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-11-02 21:23+0100\n"
-"PO-Revision-Date: 2016-09-29 13:44+\n"
+"PO-Revision-Date: 2016-09-29 14:00+\n"
 "Last-Translator: Alisa P \n"
 "Language-Team: Latin (http://www.transifex.com/otf/torproject/language/la/)\n"
 "MIME-Version: 1.0\n"
@@ -398,82 +398,82 @@ msgstr "Hic est axis progressionis, quod ostendit, ubi in 
processu creationis de
 
 #: ../liveusb/dialog.py:169
 msgid "This is the status console, where all messages get written to."
-msgstr ""
+msgstr "HIc scriptum positionis est, quo nuntii scripti sunt."
 
 #: ../liveusb/creator.py:952
 msgid "Trying to continue anyway."
-msgstr ""
+msgstr "Adhuc continuare probatur"
 
 #: ../liveusb/gui.py:464
 msgid "USB drive found"
-msgstr ""
+msgstr "Apparatus USB inventus"
 
 #: ../liveusb/creator.py:985
 #, python-format
 msgid "Unable to change volume label: %(message)s"
-msgstr ""
+msgstr "Notam voluminis mutare non possum: %(message)s"
 
 #: ../liveusb/creator.py:501 ../liveusb/creator.py:512
 #, python-format
 msgid "Unable to chmod %(file)s: %(message)s"
-msgstr ""
+msgstr "Non possum \"chmod\" facere ad %(file)s: %(message)s"
 
 #: ../liveusb/creator.py:478
 #, python-format
 msgid "Unable to copy %(infile)s to %(outfile)s: %(message)s"
-msgstr ""
+msgstr "Non possum %(infile)s ad %(outfile)s transscribere: %(message)s"
 
 #: ../liveusb/gui.py:403
 msgid "Unable to find any USB drive"
-msgstr ""
+msgstr "Nulli apparatus USB invenire possum"
 
 #: ../liveusb/creator.py:1274
 msgid "Unable to find any supported device"
-msgstr ""
+msgstr "Nulli apparatus, qui usare possum, invenire possum"
 
 #: ../liveusb/creator.py:1117
 msgid "Unable to find partition"
-msgstr ""
+msgstr "Partes invenire non possum"
 
 #: ../liveusb/creator.py:1354
 msgid ""
 "Unable to get Win32_LogicalDisk; win32com query did not return any results"
-msgstr ""
+msgstr "Non possum Win32_LogicalDisk arcessere; win32com quaestio responsa 
nulla dedit"
 
 #: ../liveusb/gui.py:691
 msgid "Unable to mount device"
-msgstr ""
+msgstr "Apparatus scire non possum"
 
 #: ../liveusb/creator.py:814
 #, python-format
 msgid "Unable to mount device: %(message)s"
-msgstr ""
+msgstr "Apparatus scire non possum: %(message)s"
 
 #: ../liveusb/creator.py:517
 #, python-format
 msgid "Unable to remove directory from previous LiveOS: %(message)s"
-msgstr ""
+msgstr "Non possum ordinem de LiveOS anteo delere: %(message)s"
 
 #: ../liveusb/creator.py:505
 #, python-format
 msgid "Unable to remove file from previous LiveOS: %(message)s"
-msgstr ""
+msgstr "Non possum sententias de LiveOS anteo delere: %(message)s"
 
 #: ../liveusb/creator.py:1189
 msgid ""
 "Unable to reset MBR.  You may not have the `syslinux` package installed."
-msgstr ""
+msgstr "MBR reponere non possum. Fortasse \"syslinux\" collationem 
sententiarum non habes."
 
 #: ../liveusb/gui.py:798
 msgid ""
 "Unable to use the selected file.  You may have better luck if you move your "
 "ISO to the root of your drive (ie: C:\\)"
-msgstr ""
+msgstr "Sententias electas usare non possum. Fortasse poterim, si ISO ad 
radicem apparatus (est C:\\) moves."
 
 #: ../liveusb/creator.py:723
 #, python-format
 msgid "Unable to write on %(device)s, skipping."
-msgstr ""
+msgstr "In %(device)s scribere non possum, non facitur."
 
 #: ../liveusb/creator.py:399
 msgid "Unknown ISO, skipping checksum verification"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2016-09-29 Thread translation
commit 19d751366008fe2467378dafa4c47f2a97fb6133
Author: Translation commit bot 
Date:   Thu Sep 29 13:45:28 2016 +

Update translations for liveusb-creator
---
 la/la.po | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/la/la.po b/la/la.po
index e1e13d2..c7a98a3 100644
--- a/la/la.po
+++ b/la/la.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-11-02 21:23+0100\n"
-"PO-Revision-Date: 2016-09-28 19:02+\n"
+"PO-Revision-Date: 2016-09-29 13:44+\n"
 "Last-Translator: Alisa P \n"
 "Language-Team: Latin (http://www.transifex.com/otf/torproject/language/la/)\n"
 "MIME-Version: 1.0\n"
@@ -374,7 +374,7 @@ msgid ""
 "This button allows you to browse for an existing Live system ISO that you "
 "have previously downloaded.  If you do not select one, a release will be "
 "downloaded for you automatically."
-msgstr ""
+msgstr "Eo circulo tibi \"Live system ISO\" iam acquisitum quaerere licet. Si 
non eligisti, una versio tibi per ipse acquiretur."
 
 #: ../liveusb/dialog.py:171
 msgid ""
@@ -382,19 +382,19 @@ msgid ""
 "optionally downloading a release (if an existing one wasn't selected),  "
 "extracting the ISO to the USB device, creating the persistent overlay, and "
 "installing the bootloader."
-msgstr ""
+msgstr "Is circulum creationem de LiveUSB init. In eo sunt acquisitio 
versionis (si existens electa non est), extractio sententiarum ISO ad apparatum 
USB, creatio memoriae manentis, inpositio initiatoris."
 
 #: ../liveusb/dialog.py:165
 msgid ""
 "This is the USB stick that you want to install your Live system on.  This "
 "device must be formatted with the FAT filesystem."
-msgstr ""
+msgstr "Hic est axis USB, ubi systema Live inponere vis. Apparatus in FAT 
forma esse debet."
 
 #: ../liveusb/dialog.py:170
 msgid ""
 "This is the progress bar that will indicate how far along in the LiveUSB "
 "creation process you are"
-msgstr ""
+msgstr "Hic est axis progressionis, quod ostendit, ubi in processu creationis 
de LiveUSB es"
 
 #: ../liveusb/dialog.py:169
 msgid "This is the status console, where all messages get written to."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd_completed] Update translations for tor-messenger-prefsdtd_completed

2016-09-29 Thread translation
commit ddab620a04291d682058d3a6c71fa5c1fbd9b91c
Author: Translation commit bot 
Date:   Thu Sep 29 12:48:21 2016 +

Update translations for tor-messenger-prefsdtd_completed
---
 ro/prefs.dtd | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/ro/prefs.dtd b/ro/prefs.dtd
index 58c1a7a..8af4ed6 100644
--- a/ro/prefs.dtd
+++ b/ro/prefs.dtd
@@ -1,5 +1,6 @@
 
 
+
 
 
 
@@ -11,4 +12,11 @@
 
 
 
-
\ No newline at end of file
+
+
+
+
+
+
+
+
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2016-09-29 Thread translation
commit bb60173e61be2b2a8f4313a6322f59346310fdb8
Author: Translation commit bot 
Date:   Thu Sep 29 12:46:34 2016 +

Update translations for torbutton-torbuttondtd
---
 ro/torbutton.dtd | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/ro/torbutton.dtd b/ro/torbutton.dtd
index 7b8321f..a1af9a5 100644
--- a/ro/torbutton.dtd
+++ b/ro/torbutton.dtd
@@ -25,17 +25,17 @@
 
 
 
-
+
 
-
+
 
-
+
 
-
+
 
-
+
 
-
+
 
 
 
@@ -51,7 +51,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-greeter] Update translations for tails-greeter

2016-09-29 Thread translation
commit 21fdd727e462e35b6ba344292fd23f72d16dc2c8
Author: Translation commit bot 
Date:   Thu Sep 29 09:15:39 2016 +

Update translations for tails-greeter
---
 vi/vi.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/vi/vi.po b/vi/vi.po
index bdc3473..421462e 100644
--- a/vi/vi.po
+++ b/vi/vi.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 14:43+0200\n"
-"PO-Revision-Date: 2016-09-29 08:33+\n"
+"PO-Revision-Date: 2016-09-29 08:48+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -157,14 +157,14 @@ msgstr "Nơi xảy ra"
 
 #: ../glade/langpanel.glade.h:4
 msgid "Layout"
-msgstr ""
+msgstr "Nền"
 
 #: ../tailsgreeter/persistence.py:59
 #, python-format
 msgid ""
 "live-persist failed with return code %(returncode)s:\n"
 "%(stderr)s"
-msgstr ""
+msgstr "live-persist thất bại với mã trả lại 
%(returncode)s:\n%(stderr)s"
 
 #: ../tailsgreeter/persistence.py:99
 #, python-format

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-greeter_completed] Update translations for tails-greeter_completed

2016-09-29 Thread translation
commit eb3f656418987304d98ab51eb4935991ed7f185e
Author: Translation commit bot 
Date:   Thu Sep 29 09:15:48 2016 +

Update translations for tails-greeter_completed
---
 vi/vi.po | 188 +++
 1 file changed, 188 insertions(+)

diff --git a/vi/vi.po b/vi/vi.po
new file mode 100644
index 000..421462e
--- /dev/null
+++ b/vi/vi.po
@@ -0,0 +1,188 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Acooldude, 2016
+# Khanh Nguyen , 2015-2016
+msgid ""
+msgstr ""
+"Project-Id-Version: The Tor Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-09-02 14:43+0200\n"
+"PO-Revision-Date: 2016-09-29 08:48+\n"
+"Last-Translator: Khanh Nguyen \n"
+"Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../glade/persistencewindow.glade.h:1
+msgid "Forward"
+msgstr "chuyển tiếp"
+
+#: ../glade/persistencewindow.glade.h:2 ../glade/optionswindow.glade.h:1
+msgid "Login"
+msgstr "Đăng nhập"
+
+#: ../glade/persistencewindow.glade.h:3 ../glade/optionswindow.glade.h:2
+msgid "Welcome to Tails"
+msgstr "Chào mừng đến với Tails"
+
+#: ../glade/persistencewindow.glade.h:4
+msgid "Use persistence?"
+msgstr "Sử dụng vùng bền vững?"
+
+#: ../glade/persistencewindow.glade.h:5
+msgid "Documentation"
+msgstr "Tài liệu"
+
+#: ../glade/persistencewindow.glade.h:6
+msgid "Yes"
+msgstr "Có"
+
+#: ../glade/persistencewindow.glade.h:7
+msgid "No"
+msgstr "Không"
+
+#: ../glade/persistencewindow.glade.h:8
+msgid "Passphrase:"
+msgstr "Đoạn mật khẩu:"
+
+#: ../glade/persistencewindow.glade.h:9
+msgid "Read-Only?"
+msgstr "Chỉ đọc?"
+
+#: ../glade/persistencewindow.glade.h:10
+msgid "Wrong passphrase. Please try again."
+msgstr "Sai đoạn mật khẩu. Vui lòng thử lại."
+
+#: ../glade/persistencewindow.glade.h:11
+msgid "More options?"
+msgstr "Thêm tùy chọn?"
+
+#: ../glade/optionswindow.glade.h:3
+msgid "Administration password"
+msgstr "Mật khẩu quản trị"
+
+#: ../glade/optionswindow.glade.h:4
+msgid ""
+"Documentation"
+msgstr "Documentation"
+
+#: ../glade/optionswindow.glade.h:5
+msgid ""
+"Enter an administration password in case you need to perform administration 
tasks.\n"
+"Otherwise it will be disabled for better security."
+msgstr "Nhập một mật khẩu quản trị trong trường hợp bạn 
cần thực hiện các tác vụ quản trị\nNếu không nó có thể 
bị vô hiệu để an ninh hơn."
+
+#: ../glade/optionswindow.glade.h:7
+msgid "Password:"
+msgstr "Mật khẩu:"
+
+#: ../glade/optionswindow.glade.h:8
+msgid "Verify Password:"
+msgstr "Xác minh mật khẩu:"
+
+#: ../glade/optionswindow.glade.h:9
+msgid "Passwords do not match"
+msgstr "Mật khẩu không đúng"
+
+#: ../glade/optionswindow.glade.h:10
+msgid "MAC address spoofing"
+msgstr "Đang giả địa chỉ MAC"
+
+#: ../glade/optionswindow.glade.h:11
+msgid ""
+"Documentation"
+msgstr "Tài 
liệu"
+
+#: ../glade/optionswindow.glade.h:12
+msgid ""
+"Spoofing MAC addresses hides the serial number of your network cards to the "
+"local networks. This can help you hide your geographical location."
+msgstr "Việc giả địa chỉ MAC ẩn chuỗi số của card mạng 
của bạn đối với mạng nội bộ. Việc này có thể giúp bạn 
ẩn vị trí địa lý."
+
+#: ../glade/optionswindow.glade.h:13
+msgid ""
+"It is generally safer to spoof MAC addresses, but it might also raise "
+"suspicion or cause network connection problems."
+msgstr "Thường thì sẽ an toàn hơn nếu giả địa chỉ MAC, nhưng 
nó cũng gây ra sự nghi ngờ hoặc gây nên vấn đề về kết nối 
mạng lưới."
+
+#: ../glade/optionswindow.glade.h:14
+msgid "Spoof all MAC addresses"
+msgstr "Giả tất cả các địa chỉ MAC"
+
+#: ../glade/optionswindow.glade.h:15
+msgid "Network configuration"
+msgstr "Cấu hình mạng lưới"
+
+#: ../glade/optionswindow.glade.h:16
+msgid ""
+"Documentation"
+msgstr "Tài 
liệu"
+
+#: ../glade/optionswindow.glade.h:17
+msgid ""
+"This computer's Internet connection is clear of obstacles. You would like to"
+" connect directly to the Tor network."
+msgstr "Việc kết nối Internet của máy tính này đã hết sạch 
những chướng ngại. Bạn muốn kết nối trực tiếp tới mạng 
lưới Tor."
+
+#: ../glade/optionswindow.glade.h:18
+msgid ""
+"This computer's Internet connection is censored, filtered, or proxied. You "
+"need to configure bridge, firewall, or proxy settings."
+msgstr "Việc kết nối Internet 

[tor-commits] [translation/tails-greeter] Update translations for tails-greeter

2016-09-29 Thread translation
commit 180cef3d7c37ece47ca540a3799dd155bed2dc8f
Author: Translation commit bot 
Date:   Thu Sep 29 08:45:40 2016 +

Update translations for tails-greeter
---
 vi/vi.po | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/vi/vi.po b/vi/vi.po
index da1c2a7..bdc3473 100644
--- a/vi/vi.po
+++ b/vi/vi.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 14:43+0200\n"
-"PO-Revision-Date: 2016-09-29 08:07+\n"
+"PO-Revision-Date: 2016-09-29 08:33+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -111,41 +111,41 @@ msgstr "Việc giả địa chỉ MAC ẩn chuỗi số 
của card mạng của
 msgid ""
 "It is generally safer to spoof MAC addresses, but it might also raise "
 "suspicion or cause network connection problems."
-msgstr ""
+msgstr "Thường thì sẽ an toàn hơn nếu giả địa chỉ MAC, nhưng 
nó cũng gây ra sự nghi ngờ hoặc gây nên vấn đề về kết nối 
mạng lưới."
 
 #: ../glade/optionswindow.glade.h:14
 msgid "Spoof all MAC addresses"
-msgstr ""
+msgstr "Giả tất cả các địa chỉ MAC"
 
 #: ../glade/optionswindow.glade.h:15
 msgid "Network configuration"
-msgstr ""
+msgstr "Cấu hình mạng lưới"
 
 #: ../glade/optionswindow.glade.h:16
 msgid ""
 "Documentation"
-msgstr ""
+msgstr "Tài 
liệu"
 
 #: ../glade/optionswindow.glade.h:17
 msgid ""
 "This computer's Internet connection is clear of obstacles. You would like to"
 " connect directly to the Tor network."
-msgstr ""
+msgstr "Việc kết nối Internet của máy tính này đã hết sạch 
những chướng ngại. Bạn muốn kết nối trực tiếp tới mạng 
lưới Tor."
 
 #: ../glade/optionswindow.glade.h:18
 msgid ""
 "This computer's Internet connection is censored, filtered, or proxied. You "
 "need to configure bridge, firewall, or proxy settings."
-msgstr ""
+msgstr "Việc kết nối Internet của máy tính này bị kiểm duyệt, 
lọc, hoặc thay thế. Bạn cần phải cấu hình cầu nối, tường 
lửa hoặc các cài đặt thay thế."
 
 #: ../glade/optionswindow.glade.h:19
 msgid "Disable all networking"
-msgstr ""
+msgstr "Vô hiệu tất cả mạng lưới"
 
 #: ../glade/langpanel.glade.h:1
 msgid " "
-msgstr ""
+msgstr " "
 
 #: ../glade/langpanel.glade.h:2 ../tailsgreeter/langpanel.py:45
 msgid "Language"
@@ -153,7 +153,7 @@ msgstr "Ngôn ngữ"
 
 #: ../glade/langpanel.glade.h:3
 msgid "Locale"
-msgstr ""
+msgstr "Nơi xảy ra"
 
 #: ../glade/langpanel.glade.h:4
 msgid "Layout"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2016-09-29 Thread translation
commit 7f7d03a947ecc31ba1f312883e99b69a126660e9
Author: Translation commit bot 
Date:   Thu Sep 29 08:18:30 2016 +

Update translations for tails-openpgp-applet
---
 vi/openpgp-applet.pot | 60 +--
 1 file changed, 30 insertions(+), 30 deletions(-)

diff --git a/vi/openpgp-applet.pot b/vi/openpgp-applet.pot
index 8886ac0..bcacc29 100644
--- a/vi/openpgp-applet.pot
+++ b/vi/openpgp-applet.pot
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2015-08-10 15:55+0200\n"
-"PO-Revision-Date: 2016-09-29 07:48+\n"
+"PO-Revision-Date: 2016-09-29 08:02+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -37,7 +37,7 @@ msgstr "Giới thiệu"
 
 #: bin/openpgp-applet:235
 msgid "Encrypt Clipboard with _Passphrase"
-msgstr ""
+msgstr "Mã hóa Clipboard với _Passphrase"
 
 #: bin/openpgp-applet:238
 msgid "Sign/Encrypt Clipboard with Public _Keys"
@@ -45,35 +45,35 @@ msgstr "Ký/Mã hóa clipboard với Public _Keys"
 
 #: bin/openpgp-applet:243
 msgid "_Decrypt/Verify Clipboard"
-msgstr ""
+msgstr "_Giải mã/Kiểm tra Clipboard"
 
 #: bin/openpgp-applet:247
 msgid "_Manage Keys"
-msgstr ""
+msgstr "_Quản lý các Khóa"
 
 #: bin/openpgp-applet:251
 msgid "_Open Text Editor"
-msgstr ""
+msgstr "_Mở Chương trình sửa văn bản"
 
 #: bin/openpgp-applet:295
 msgid "The clipboard does not contain valid input data."
-msgstr ""
+msgstr "Clipboard không chưa dữ liệu nhập vào hợp lệ."
 
 #: bin/openpgp-applet:347 bin/openpgp-applet:349 bin/openpgp-applet:351
 msgid "Unknown Trust"
-msgstr ""
+msgstr "Sự tin tưởng không được biết đến"
 
 #: bin/openpgp-applet:353
 msgid "Marginal Trust"
-msgstr ""
+msgstr "Sự tin cậy ở bên lề"
 
 #: bin/openpgp-applet:355
 msgid "Full Trust"
-msgstr ""
+msgstr "Sự tin cậy đầy đủ"
 
 #: bin/openpgp-applet:357
 msgid "Ultimate Trust"
-msgstr ""
+msgstr "Sự tin cậy tối đa"
 
 #: bin/openpgp-applet:410
 msgid "Name"
@@ -81,7 +81,7 @@ msgstr "Tên"
 
 #: bin/openpgp-applet:411
 msgid "Key ID"
-msgstr ""
+msgstr "ID của khóa"
 
 #: bin/openpgp-applet:412
 msgid "Status"
@@ -94,83 +94,83 @@ msgstr "Dấu vân tay:"
 #: bin/openpgp-applet:447
 msgid "User ID:"
 msgid_plural "User IDs:"
-msgstr[0] ""
+msgstr[0] "IDs của những người dùng:"
 
 #: bin/openpgp-applet:476
 msgid "None (Don't sign)"
-msgstr ""
+msgstr "Không có gì (Đừng ký)"
 
 #: bin/openpgp-applet:539
 msgid "Select recipients:"
-msgstr ""
+msgstr "Lựa chọn những người nhận:"
 
 #: bin/openpgp-applet:547
 msgid "Hide recipients"
-msgstr ""
+msgstr "Ẩn những người nhận"
 
 #: bin/openpgp-applet:550
 msgid ""
 "Hide the user IDs of all recipients of an encrypted message. Otherwise "
 "anyone that sees the encrypted message can see who the recipients are."
-msgstr ""
+msgstr "Ẩn những ID của người dùng của tất cả những người 
nhận một thông điệp được mã hóa."
 
 #: bin/openpgp-applet:556
 msgid "Sign message as:"
-msgstr ""
+msgstr "Ký thông điệp như là:"
 
 #: bin/openpgp-applet:560
 msgid "Choose keys"
-msgstr ""
+msgstr "Chọn những khóa"
 
 #: bin/openpgp-applet:600
 msgid "Do you trust these keys?"
-msgstr ""
+msgstr "Bạn có tin cậy những khóa này?"
 
 #: bin/openpgp-applet:603
 msgid "The following selected key is not fully trusted:"
 msgid_plural "The following selected keys are not fully trusted:"
-msgstr[0] ""
+msgstr[0] "Những khóa được lữa chọn dưới đây không được 
tin cậy tuyệt đối:"
 
 #: bin/openpgp-applet:621
 msgid "Do you trust this key enough to use it anyway?"
 msgid_plural "Do you trust these keys enough to use them anyway?"
-msgstr[0] ""
+msgstr[0] "Bạn có tin cậy những khóa này đủ để sử dụng 
chúng dù thế nào đi nữa?"
 
 #: bin/openpgp-applet:634
 msgid "No keys selected"
-msgstr ""
+msgstr "Không có khóa nào được lựa chọn"
 
 #: bin/openpgp-applet:636
 msgid ""
 "You must select a private key to sign the message, or some public keys to "
 "encrypt the message, or both."
-msgstr ""
+msgstr "Bạn phải lựa chọn khóa cá nhân để ký thông điệp, 
hoặc một vài khóa công khai để mã hóa thông điệp, hoặc cả 
hai."
 
 #: bin/openpgp-applet:664
 msgid "No keys available"
-msgstr ""
+msgstr "Không có sẵn khóa nào"
 
 #: bin/openpgp-applet:666
 msgid ""
 "You need a private key to sign messages or a public key to encrypt messages."
-msgstr ""
+msgstr "Bạn cần một khóa cá nhân để ký thông điệp hoặc 
một khóa công khai để mã hóa thông điệp."
 
 #: bin/openpgp-applet:794
 msgid "GnuPG error"
-msgstr ""
+msgstr "Lỗi GnuPG"
 
 #: 

[tor-commits] [translation/tails-openpgp-applet_completed] Update translations for tails-openpgp-applet_completed

2016-09-29 Thread translation
commit 4314ed8ba7b64832c600fbd4cdbbf8c018db76ab
Author: Translation commit bot 
Date:   Thu Sep 29 08:18:34 2016 +

Update translations for tails-openpgp-applet_completed
---
 vi/openpgp-applet.pot | 176 ++
 1 file changed, 176 insertions(+)

diff --git a/vi/openpgp-applet.pot b/vi/openpgp-applet.pot
new file mode 100644
index 000..bcacc29
--- /dev/null
+++ b/vi/openpgp-applet.pot
@@ -0,0 +1,176 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Tails developers
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Acooldude, 2016
+# Khanh Nguyen , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: The Tor Project\n"
+"Report-Msgid-Bugs-To: ta...@boum.org\n"
+"POT-Creation-Date: 2015-08-10 15:55+0200\n"
+"PO-Revision-Date: 2016-09-29 08:02+\n"
+"Last-Translator: Khanh Nguyen \n"
+"Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: bin/openpgp-applet:163
+msgid "You are about to exit OpenPGP Applet. Are you sure?"
+msgstr "Bạn định thoát khỏi OpenPGP Applet. Bạn chắc chứ?"
+
+#: bin/openpgp-applet:175
+msgid "OpenPGP encryption applet"
+msgstr "Ứng dụng mã hóa OpenPGP"
+
+#: bin/openpgp-applet:178
+msgid "Exit"
+msgstr "Thoát"
+
+#: bin/openpgp-applet:180
+msgid "About"
+msgstr "Giới thiệu"
+
+#: bin/openpgp-applet:235
+msgid "Encrypt Clipboard with _Passphrase"
+msgstr "Mã hóa Clipboard với _Passphrase"
+
+#: bin/openpgp-applet:238
+msgid "Sign/Encrypt Clipboard with Public _Keys"
+msgstr "Ký/Mã hóa clipboard với Public _Keys"
+
+#: bin/openpgp-applet:243
+msgid "_Decrypt/Verify Clipboard"
+msgstr "_Giải mã/Kiểm tra Clipboard"
+
+#: bin/openpgp-applet:247
+msgid "_Manage Keys"
+msgstr "_Quản lý các Khóa"
+
+#: bin/openpgp-applet:251
+msgid "_Open Text Editor"
+msgstr "_Mở Chương trình sửa văn bản"
+
+#: bin/openpgp-applet:295
+msgid "The clipboard does not contain valid input data."
+msgstr "Clipboard không chưa dữ liệu nhập vào hợp lệ."
+
+#: bin/openpgp-applet:347 bin/openpgp-applet:349 bin/openpgp-applet:351
+msgid "Unknown Trust"
+msgstr "Sự tin tưởng không được biết đến"
+
+#: bin/openpgp-applet:353
+msgid "Marginal Trust"
+msgstr "Sự tin cậy ở bên lề"
+
+#: bin/openpgp-applet:355
+msgid "Full Trust"
+msgstr "Sự tin cậy đầy đủ"
+
+#: bin/openpgp-applet:357
+msgid "Ultimate Trust"
+msgstr "Sự tin cậy tối đa"
+
+#: bin/openpgp-applet:410
+msgid "Name"
+msgstr "Tên"
+
+#: bin/openpgp-applet:411
+msgid "Key ID"
+msgstr "ID của khóa"
+
+#: bin/openpgp-applet:412
+msgid "Status"
+msgstr "Tình trạng"
+
+#: bin/openpgp-applet:444
+msgid "Fingerprint:"
+msgstr "Dấu vân tay:"
+
+#: bin/openpgp-applet:447
+msgid "User ID:"
+msgid_plural "User IDs:"
+msgstr[0] "IDs của những người dùng:"
+
+#: bin/openpgp-applet:476
+msgid "None (Don't sign)"
+msgstr "Không có gì (Đừng ký)"
+
+#: bin/openpgp-applet:539
+msgid "Select recipients:"
+msgstr "Lựa chọn những người nhận:"
+
+#: bin/openpgp-applet:547
+msgid "Hide recipients"
+msgstr "Ẩn những người nhận"
+
+#: bin/openpgp-applet:550
+msgid ""
+"Hide the user IDs of all recipients of an encrypted message. Otherwise "
+"anyone that sees the encrypted message can see who the recipients are."
+msgstr "Ẩn những ID của người dùng của tất cả những người 
nhận một thông điệp được mã hóa."
+
+#: bin/openpgp-applet:556
+msgid "Sign message as:"
+msgstr "Ký thông điệp như là:"
+
+#: bin/openpgp-applet:560
+msgid "Choose keys"
+msgstr "Chọn những khóa"
+
+#: bin/openpgp-applet:600
+msgid "Do you trust these keys?"
+msgstr "Bạn có tin cậy những khóa này?"
+
+#: bin/openpgp-applet:603
+msgid "The following selected key is not fully trusted:"
+msgid_plural "The following selected keys are not fully trusted:"
+msgstr[0] "Những khóa được lữa chọn dưới đây không được 
tin cậy tuyệt đối:"
+
+#: bin/openpgp-applet:621
+msgid "Do you trust this key enough to use it anyway?"
+msgid_plural "Do you trust these keys enough to use them anyway?"
+msgstr[0] "Bạn có tin cậy những khóa này đủ để sử dụng 
chúng dù thế nào đi nữa?"
+
+#: bin/openpgp-applet:634
+msgid "No keys selected"
+msgstr "Không có khóa nào được lựa chọn"
+
+#: bin/openpgp-applet:636
+msgid ""
+"You must select a private key to sign the message, or some public keys to "
+"encrypt the message, or both."
+msgstr "Bạn phải lựa chọn khóa cá nhân để ký thông điệp, 
hoặc một vài khóa công khai để mã hóa thông điệp, hoặc cả 
hai."
+
+#: 

[tor-commits] [translation/tails-greeter] Update translations for tails-greeter

2016-09-29 Thread translation
commit caea2ac03dde0d02f779b8af0e4a79f7b6e6ed1a
Author: Translation commit bot 
Date:   Thu Sep 29 08:15:42 2016 +

Update translations for tails-greeter
---
 vi/vi.po | 42 +-
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/vi/vi.po b/vi/vi.po
index 0704112..da1c2a7 100644
--- a/vi/vi.po
+++ b/vi/vi.po
@@ -4,14 +4,14 @@
 # 
 # Translators:
 # Acooldude, 2016
-# Khanh Nguyen , 2015
+# Khanh Nguyen , 2015-2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-08-24 14:26+0200\n"
-"PO-Revision-Date: 2016-08-31 10:18+\n"
-"Last-Translator: Acooldude\n"
+"POT-Creation-Date: 2016-09-02 14:43+0200\n"
+"PO-Revision-Date: 2016-09-29 08:07+\n"
+"Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -29,15 +29,15 @@ msgstr "Đăng nhập"
 
 #: ../glade/persistencewindow.glade.h:3 ../glade/optionswindow.glade.h:2
 msgid "Welcome to Tails"
-msgstr ""
+msgstr "Chào mừng đến với Tails"
 
 #: ../glade/persistencewindow.glade.h:4
 msgid "Use persistence?"
-msgstr ""
+msgstr "Sử dụng vùng bền vững?"
 
 #: ../glade/persistencewindow.glade.h:5
 msgid "Documentation"
-msgstr ""
+msgstr "Tài liệu"
 
 #: ../glade/persistencewindow.glade.h:6
 msgid "Yes"
@@ -49,23 +49,23 @@ msgstr "Không"
 
 #: ../glade/persistencewindow.glade.h:8
 msgid "Passphrase:"
-msgstr ""
+msgstr "Đoạn mật khẩu:"
 
 #: ../glade/persistencewindow.glade.h:9
 msgid "Read-Only?"
-msgstr ""
+msgstr "Chỉ đọc?"
 
 #: ../glade/persistencewindow.glade.h:10
 msgid "Wrong passphrase. Please try again."
-msgstr ""
+msgstr "Sai đoạn mật khẩu. Vui lòng thử lại."
 
 #: ../glade/persistencewindow.glade.h:11
 msgid "More options?"
-msgstr ""
+msgstr "Thêm tùy chọn?"
 
 #: ../glade/optionswindow.glade.h:3
 msgid "Administration password"
-msgstr ""
+msgstr "Mật khẩu quản trị"
 
 #: ../glade/optionswindow.glade.h:4
 msgid ""
@@ -77,7 +77,7 @@ msgstr "Passwords do not match"
-msgstr ""
+msgstr "Mật khẩu không đúng"
 
 #: ../glade/optionswindow.glade.h:10
 msgid "MAC address spoofing"
-msgstr ""
+msgstr "Đang giả địa chỉ MAC"
 
 #: ../glade/optionswindow.glade.h:11
 msgid ""
 "Documentation"
-msgstr ""
+msgstr "Tài 
liệu"
 
 #: ../glade/optionswindow.glade.h:12
 msgid ""
 "Spoofing MAC addresses hides the serial number of your network cards to the "
 "local networks. This can help you hide your geographical location."
-msgstr ""
+msgstr "Việc giả địa chỉ MAC ẩn chuỗi số của card mạng 
của bạn đối với mạng nội bộ. Việc này có thể giúp bạn 
ẩn vị trí địa lý."
 
 #: ../glade/optionswindow.glade.h:13
 msgid ""
@@ -147,7 +147,7 @@ msgstr ""
 msgid " "
 msgstr ""
 
-#: ../glade/langpanel.glade.h:2 ../tailsgreeter/langpanel.py:43
+#: ../glade/langpanel.glade.h:2 ../tailsgreeter/langpanel.py:45
 msgid "Language"
 msgstr "Ngôn ngữ"
 
@@ -182,7 +182,7 @@ msgid ""
 "%(stderr)s"
 msgstr "live-persist thất bại với mã trả về 
%(returncode)s:\n%(stdout)s\n%(stderr)s"
 
-#: ../tailsgreeter/langpanel.py:140 ../tailsgreeter/langpanel.py:167
-#: ../tailsgreeter/langpanel.py:200
+#: ../tailsgreeter/langpanel.py:142 ../tailsgreeter/langpanel.py:169
+#: ../tailsgreeter/langpanel.py:202
 msgid "Other..."
 msgstr "Khác..."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2016-09-29 Thread translation
commit 0c50b252fc9e56daf98a33e0608880dd3bdd2af9
Author: Translation commit bot 
Date:   Thu Sep 29 08:15:34 2016 +

Update translations for tails-persistence-setup
---
 vi/vi.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/vi/vi.po b/vi/vi.po
index 9c60cf1..ab8e9de 100644
--- a/vi/vi.po
+++ b/vi/vi.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-05-25 02:27+0200\n"
-"PO-Revision-Date: 2016-06-06 08:15+\n"
+"PO-Revision-Date: 2016-09-29 08:07+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -224,7 +224,7 @@ msgstr ""
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:144
 msgid "Passphrase:"
-msgstr ""
+msgstr "Đoạn mật khẩu:"
 
 #: ../lib/Tails/Persistence/Step/Bootstrap.pm:154
 msgid "Verify Passphrase:"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui_completed] Update translations for mat-gui_completed

2016-09-29 Thread translation
commit a1601acb566b29f2093e809d8eaa4d8e84e3c765
Author: Translation commit bot 
Date:   Thu Sep 29 08:15:59 2016 +

Update translations for mat-gui_completed
---
 vi.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vi.po b/vi.po
index 55b27cf..e7fb37a 100644
--- a/vi.po
+++ b/vi.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2016-09-23 09:26+\n"
+"PO-Revision-Date: 2016-09-29 07:46+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2016-09-29 Thread translation
commit 49668b7833756b6d746dec4f6dcc64f036b13431
Author: Translation commit bot 
Date:   Thu Sep 29 08:15:55 2016 +

Update translations for mat-gui
---
 vi.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vi.po b/vi.po
index 55b27cf..e7fb37a 100644
--- a/vi.po
+++ b/vi.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2016-09-23 09:26+\n"
+"PO-Revision-Date: 2016-09-29 07:46+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-onioncircuits_completed] Update translations for tails-onioncircuits_completed

2016-09-29 Thread translation
commit 1f08cada2a30c95f0ee3bc3c70ca363fb3d785ab
Author: Translation commit bot 
Date:   Thu Sep 29 07:48:36 2016 +

Update translations for tails-onioncircuits_completed
---
 vi/onioncircuits.pot | 86 
 1 file changed, 86 insertions(+)

diff --git a/vi/onioncircuits.pot b/vi/onioncircuits.pot
new file mode 100644
index 000..b378fff
--- /dev/null
+++ b/vi/onioncircuits.pot
@@ -0,0 +1,86 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Khanh Nguyen , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: The Tor Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-31 14:42+0200\n"
+"PO-Revision-Date: 2016-09-29 07:46+\n"
+"Last-Translator: Khanh Nguyen \n"
+"Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../onioncircuits:81
+msgid "You are not connected to Tor yet..."
+msgstr "Bạn chưa kết nối vào Tor..."
+
+#: ../onioncircuits:95
+msgid "Onion Circuits"
+msgstr "Những mạch nối Củ hành"
+
+#: ../onioncircuits:125
+msgid "Circuit"
+msgstr "Mạch nối"
+
+#: ../onioncircuits:126
+msgid "Status"
+msgstr "Tình trạng"
+
+#: ../onioncircuits:142
+msgid "Click on a circuit for more detail about its Tor relays."
+msgstr "Bấm vào mạch nối để có thêm chi tiết về sự tiếp 
nối Tor của nó"
+
+#: ../onioncircuits:221
+msgid "The connection to Tor was lost..."
+msgstr "Kết nối với Tor đã mất..."
+
+#: ../onioncircuits:317
+msgid "..."
+msgstr "..."
+
+#: ../onioncircuits:343
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: ../onioncircuits:554
+msgid "GeoIP database unavailable. No country information will be displayed."
+msgstr "Dữ liệu GeoIP không có sẵn. Không có thông tin của 
nước nào được hiển thị."
+
+#: ../onioncircuits:585
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: ../onioncircuits:590
+#, c-format
+msgid "%.2f Mb/s"
+msgstr "%.2f Mb/s"
+
+#: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594
+msgid "Unknown"
+msgstr "Không được biết đến"
+
+#: ../onioncircuits:607
+msgid "Fingerprint:"
+msgstr "Dấu vân tay:"
+
+#: ../onioncircuits:608
+msgid "Published:"
+msgstr "Đã xuất bản:"
+
+#: ../onioncircuits:609
+msgid "IP:"
+msgstr "IP:"
+
+#: ../onioncircuits:610
+msgid "Bandwidth:"
+msgstr "Băng thông:"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-onioncircuits] Update translations for tails-onioncircuits

2016-09-29 Thread translation
commit d3c2c17707696ff5f469c977c711673fa0bb47b6
Author: Translation commit bot 
Date:   Thu Sep 29 07:48:32 2016 +

Update translations for tails-onioncircuits
---
 vi/onioncircuits.pot | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/vi/onioncircuits.pot b/vi/onioncircuits.pot
index 0adfac5..b378fff 100644
--- a/vi/onioncircuits.pot
+++ b/vi/onioncircuits.pot
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-05-31 14:42+0200\n"
-"PO-Revision-Date: 2016-09-09 09:20+\n"
+"PO-Revision-Date: 2016-09-29 07:46+\n"
 "Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
@@ -24,11 +24,11 @@ msgstr "Bạn chưa kết nối vào Tor..."
 
 #: ../onioncircuits:95
 msgid "Onion Circuits"
-msgstr ""
+msgstr "Những mạch nối Củ hành"
 
 #: ../onioncircuits:125
 msgid "Circuit"
-msgstr ""
+msgstr "Mạch nối"
 
 #: ../onioncircuits:126
 msgid "Status"
@@ -36,50 +36,50 @@ msgstr "Tình trạng"
 
 #: ../onioncircuits:142
 msgid "Click on a circuit for more detail about its Tor relays."
-msgstr ""
+msgstr "Bấm vào mạch nối để có thêm chi tiết về sự tiếp 
nối Tor của nó"
 
 #: ../onioncircuits:221
 msgid "The connection to Tor was lost..."
-msgstr ""
+msgstr "Kết nối với Tor đã mất..."
 
 #: ../onioncircuits:317
 msgid "..."
-msgstr ""
+msgstr "..."
 
 #: ../onioncircuits:343
 #, c-format
 msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
 
 #: ../onioncircuits:554
 msgid "GeoIP database unavailable. No country information will be displayed."
-msgstr ""
+msgstr "Dữ liệu GeoIP không có sẵn. Không có thông tin của 
nước nào được hiển thị."
 
 #: ../onioncircuits:585
 #, c-format
 msgid "%s (%s)"
-msgstr ""
+msgstr "%s (%s)"
 
 #: ../onioncircuits:590
 #, c-format
 msgid "%.2f Mb/s"
-msgstr ""
+msgstr "%.2f Mb/s"
 
 #: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594
 msgid "Unknown"
-msgstr ""
+msgstr "Không được biết đến"
 
 #: ../onioncircuits:607
 msgid "Fingerprint:"
-msgstr ""
+msgstr "Dấu vân tay:"
 
 #: ../onioncircuits:608
 msgid "Published:"
-msgstr ""
+msgstr "Đã xuất bản:"
 
 #: ../onioncircuits:609
 msgid "IP:"
-msgstr ""
+msgstr "IP:"
 
 #: ../onioncircuits:610
 msgid "Bandwidth:"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2016-09-29 Thread translation
commit fb95443e229a2d63fb80cd2df6cb2b222e1c0464
Author: Translation commit bot 
Date:   Thu Sep 29 07:48:21 2016 +

Update translations for tails-openpgp-applet
---
 vi/openpgp-applet.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/vi/openpgp-applet.pot b/vi/openpgp-applet.pot
index cbb782c..8886ac0 100644
--- a/vi/openpgp-applet.pot
+++ b/vi/openpgp-applet.pot
@@ -4,13 +4,14 @@
 # 
 # Translators:
 # Acooldude, 2016
+# Khanh Nguyen , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2015-08-10 15:55+0200\n"
-"PO-Revision-Date: 2016-08-31 11:10+\n"
-"Last-Translator: Acooldude\n"
+"PO-Revision-Date: 2016-09-29 07:48+\n"
+"Last-Translator: Khanh Nguyen \n"
 "Language-Team: Vietnamese 
(http://www.transifex.com/otf/torproject/language/vi/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +25,7 @@ msgstr "Bạn định thoát khỏi OpenPGP Applet. Bạn 
chắc chứ?"
 
 #: bin/openpgp-applet:175
 msgid "OpenPGP encryption applet"
-msgstr ""
+msgstr "Ứng dụng mã hóa OpenPGP"
 
 #: bin/openpgp-applet:178
 msgid "Exit"
@@ -88,7 +89,7 @@ msgstr "Tình trạng"
 
 #: bin/openpgp-applet:444
 msgid "Fingerprint:"
-msgstr ""
+msgstr "Dấu vân tay:"
 
 #: bin/openpgp-applet:447
 msgid "User ID:"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd] Update translations for tor-messenger-prefsdtd

2016-09-29 Thread translation
commit 3d46dc3d637701915b7c5bdd102f29c5ae9e6b3c
Author: Translation commit bot 
Date:   Thu Sep 29 07:48:04 2016 +

Update translations for tor-messenger-prefsdtd
---
 vi/prefs.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vi/prefs.dtd b/vi/prefs.dtd
index 9e8d2f5..fbb5c89 100644
--- a/vi/prefs.dtd
+++ b/vi/prefs.dtd
@@ -5,7 +5,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser/tor-browser-45.4.0esr-6.5-1] Bug 1291543 - [1.1] Accept partial information from VBR headers. r=jya

2016-09-29 Thread gk
commit 6715852d4487a4b3176c70f34358f5894954bbe2
Author: Eugen Sawin 
Date:   Wed Aug 3 15:34:30 2016 +0200

Bug 1291543 - [1.1] Accept partial information from VBR headers. r=jya

This fixes our bug 20160.
---
 dom/media/MP3Demuxer.cpp | 16 ++--
 dom/media/MP3Demuxer.h   |  5 -
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/dom/media/MP3Demuxer.cpp b/dom/media/MP3Demuxer.cpp
index 88a20dcb..773f996 100644
--- a/dom/media/MP3Demuxer.cpp
+++ b/dom/media/MP3Demuxer.cpp
@@ -347,7 +347,7 @@ MP3TrackDemuxer::Duration() const {
 
   int64_t numFrames = 0;
   const auto numAudioFrames = mParser.VBRInfo().NumAudioFrames();
-  if (mParser.VBRInfo().IsValid()) {
+  if (mParser.VBRInfo().IsValid() && numAudioFrames.valueOr(0) + 1 > 1) {
 // VBR headers don't include the VBR header frame.
 numFrames = numAudioFrames.value() + 1;
   } else {
@@ -513,7 +513,6 @@ MP3TrackDemuxer::GetNextFrame(const MediaByteRange& aRange) 
{
 
   if (mNumParsedFrames == 1) {
 // First frame parsed, let's read VBR info if available.
-// TODO: read info that helps with seeking (bug 1163667).
 ByteReader reader(frame->Data(), frame->Size());
 mParser.ParseVBRHeader();
 reader.DiscardRemaining();
@@ -534,7 +533,7 @@ MP3TrackDemuxer::OffsetFromFrameIndex(int64_t aFrameIndex) 
const {
   int64_t offset = 0;
   const auto& vbr = mParser.VBRInfo();
 
-  if (vbr.IsValid()) {
+  if (vbr.IsComplete()) {
 offset = mFirstFrameOffset + aFrameIndex * vbr.NumBytes().value() /
  vbr.NumAudioFrames().value();
   } else if (AverageFrameLength() > 0) {
@@ -550,7 +549,7 @@ MP3TrackDemuxer::FrameIndexFromOffset(int64_t aOffset) 
const {
   int64_t frameIndex = 0;
   const auto& vbr = mParser.VBRInfo();
 
-  if (vbr.IsValid()) {
+  if (vbr.IsComplete()) {
 frameIndex = static_cast(aOffset - mFirstFrameOffset) /
  vbr.NumBytes().value() * vbr.NumAudioFrames().value();
 frameIndex = std::min(vbr.NumAudioFrames().value(), frameIndex);
@@ -626,7 +625,7 @@ MP3TrackDemuxer::AverageFrameLength() const {
 return static_cast(mTotalFrameLen) / mNumParsedFrames;
   }
   const auto& vbr = mParser.VBRInfo();
-  if (vbr.IsValid() && vbr.NumAudioFrames().value() + 1) {
+  if (vbr.IsComplete() && vbr.NumAudioFrames().value() + 1) {
 return static_cast(vbr.NumBytes().value()) /
(vbr.NumAudioFrames().value() + 1);
   }
@@ -964,7 +963,12 @@ FrameParser::VBRHeader::IsTOCPresent() const {
 
 bool
 FrameParser::VBRHeader::IsValid() const {
-  return mType != NONE &&
+  return mType != NONE;
+}
+
+bool
+FrameParser::VBRHeader::IsComplete() const {
+  return IsValid() &&
  mNumAudioFrames.valueOr(0) > 0 &&
  mNumBytes.valueOr(0) > 0 &&
  // We don't care about the scale for any computations here.
diff --git a/dom/media/MP3Demuxer.h b/dom/media/MP3Demuxer.h
index d98cb73..54e380a 100644
--- a/dom/media/MP3Demuxer.h
+++ b/dom/media/MP3Demuxer.h
@@ -232,9 +232,12 @@ public:
 // Returns true iff Xing/Info TOC (table of contents) is present.
 bool IsTOCPresent() const;
 
-// Returns whether the header is valid (containing reasonable field 
values).
+// Returns whether the header is valid (type XING or VBRI).
 bool IsValid() const;
 
+// Returns whether the header is valid and contains reasonable non-zero 
field values.
+bool IsComplete() const;
+
 // Returns the byte offset for the given duration percentage as a factor
 // (0: begin, 1.0: end).
 int64_t Offset(float aDurationFac) const;

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser/tor-browser-45.4.0esr-6.5-1] Bug 1263334 - Check VBR header is valid before using it for duration calculations. r=esawin

2016-09-29 Thread gk
commit 2b459feaa5713f0b2c3d6595e677290cdcc8f9ca
Author: Jan Henning 
Date:   Sat Apr 9 20:38:45 2016 +0200

Bug 1263334 - Check VBR header is valid before using it for duration 
calculations. r=esawin

MozReview-Commit-ID: KPrn5WeXUuF

--HG--
extra : transplant_source : E%89%8Cs%1BG%28y%B82%3E%F8%CB%A8Q%B3%1F%EB%94%C2

This fixes our bug 20160.
---
 dom/media/MP3Demuxer.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dom/media/MP3Demuxer.cpp b/dom/media/MP3Demuxer.cpp
index 7780e57..88a20dcb 100644
--- a/dom/media/MP3Demuxer.cpp
+++ b/dom/media/MP3Demuxer.cpp
@@ -347,7 +347,7 @@ MP3TrackDemuxer::Duration() const {
 
   int64_t numFrames = 0;
   const auto numAudioFrames = mParser.VBRInfo().NumAudioFrames();
-  if (numAudioFrames) {
+  if (mParser.VBRInfo().IsValid()) {
 // VBR headers don't include the VBR header frame.
 numFrames = numAudioFrames.value() + 1;
   } else {



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser/tor-browser-45.4.0esr-6.5-1] Bug 1236639 - [1.2] Avoid division by zero in MP3Demuxer. r=gerald

2016-09-29 Thread gk
commit 57bdfc8fded25c4d6952208e7e2561509d57f7c5
Author: Eugen Sawin 
Date:   Thu Jan 7 22:45:11 2016 +0100

Bug 1236639 - [1.2] Avoid division by zero in MP3Demuxer. r=gerald

This fixes our bug 20160.
---
 dom/media/MP3Demuxer.cpp | 22 +-
 dom/media/MP3Demuxer.h   |  3 +++
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/dom/media/MP3Demuxer.cpp b/dom/media/MP3Demuxer.cpp
index 2ec5099..7780e57 100644
--- a/dom/media/MP3Demuxer.cpp
+++ b/dom/media/MP3Demuxer.cpp
@@ -204,7 +204,7 @@ MP3TrackDemuxer::FastSeek(const TimeUnit& aTime) {
   if (!aTime.ToMicroseconds()) {
 // Quick seek to the beginning of the stream.
 mFrameIndex = 0;
-  } else if (vbr.IsTOCPresent()) {
+  } else if (vbr.IsTOCPresent() && Duration().ToMicroseconds() > 0) {
 // Use TOC for more precise seeking.
 const float durationFrac = static_cast(aTime.ToMicroseconds()) /
   Duration().ToMicroseconds();
@@ -356,7 +356,9 @@ MP3TrackDemuxer::Duration() const {
   // Unknown length, we can't estimate duration.
   return TimeUnit::FromMicroseconds(-1);
 }
-numFrames = (streamLen - mFirstFrameOffset) / AverageFrameLength();
+if (AverageFrameLength() > 0) {
+  numFrames = (streamLen - mFirstFrameOffset) / AverageFrameLength();
+}
   }
   return Duration(numFrames);
 }
@@ -532,7 +534,7 @@ MP3TrackDemuxer::OffsetFromFrameIndex(int64_t aFrameIndex) 
const {
   int64_t offset = 0;
   const auto& vbr = mParser.VBRInfo();
 
-  if (vbr.NumBytes() && vbr.NumAudioFrames()) {
+  if (vbr.IsValid()) {
 offset = mFirstFrameOffset + aFrameIndex * vbr.NumBytes().value() /
  vbr.NumAudioFrames().value();
   } else if (AverageFrameLength() > 0) {
@@ -548,7 +550,7 @@ MP3TrackDemuxer::FrameIndexFromOffset(int64_t aOffset) 
const {
   int64_t frameIndex = 0;
   const auto& vbr = mParser.VBRInfo();
 
-  if (vbr.NumBytes() && vbr.NumAudioFrames()) {
+  if (vbr.IsValid()) {
 frameIndex = static_cast(aOffset - mFirstFrameOffset) /
  vbr.NumBytes().value() * vbr.NumAudioFrames().value();
 frameIndex = std::min(vbr.NumAudioFrames().value(), frameIndex);
@@ -624,7 +626,7 @@ MP3TrackDemuxer::AverageFrameLength() const {
 return static_cast(mTotalFrameLen) / mNumParsedFrames;
   }
   const auto& vbr = mParser.VBRInfo();
-  if (vbr.NumBytes() && vbr.NumAudioFrames()) {
+  if (vbr.IsValid() && vbr.NumAudioFrames().value() + 1) {
 return static_cast(vbr.NumBytes().value()) /
(vbr.NumAudioFrames().value() + 1);
   }
@@ -960,6 +962,16 @@ FrameParser::VBRHeader::IsTOCPresent() const {
   return mTOC.size() == vbr_header::TOC_SIZE;
 }
 
+bool
+FrameParser::VBRHeader::IsValid() const {
+  return mType != NONE &&
+ mNumAudioFrames.valueOr(0) > 0 &&
+ mNumBytes.valueOr(0) > 0 &&
+ // We don't care about the scale for any computations here.
+ // mScale < 101 &&
+ true;
+}
+
 int64_t
 FrameParser::VBRHeader::Offset(float aDurationFac) const {
   if (!IsTOCPresent()) {
diff --git a/dom/media/MP3Demuxer.h b/dom/media/MP3Demuxer.h
index f42126d..d98cb73 100644
--- a/dom/media/MP3Demuxer.h
+++ b/dom/media/MP3Demuxer.h
@@ -232,6 +232,9 @@ public:
 // Returns true iff Xing/Info TOC (table of contents) is present.
 bool IsTOCPresent() const;
 
+// Returns whether the header is valid (containing reasonable field 
values).
+bool IsValid() const;
+
 // Returns the byte offset for the given duration percentage as a factor
 // (0: begin, 1.0: end).
 int64_t Offset(float aDurationFac) const;



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits