test-wildmatch: add "perf" command to compare wildmatch and fnmatch
[gitweb.git] / po / vi.po
index e0ccb56cfce556d9e28c70af3fdfd9f3a453bfbb..f0529f407a15669156777455395a480165ee5162 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git-1.7.10.1\n"
+"Project-Id-Version: git-1.7.11.rc2.2.gb694fbb\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2012-05-21 08:57+0800\n"
-"PO-Revision-Date: 2012-05-31 09:13+0700\n"
+"POT-Creation-Date: 2012-06-08 10:20+0800\n"
+"PO-Revision-Date: 2012-06-09 14:08+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -50,10 +50,10 @@ msgstr "'%s' không giống như tập tin v2 bundle (cụm)"
 #: bundle.c:63
 #, c-format
 msgid "unrecognized header: %s%s (%d)"
-msgstr "Không nhận ra phần đầu: %s%s (%d)"
+msgstr "phần đầu (header) không được thừa nhận: %s%s (%d)"
 
 #: bundle.c:89
-#: builtin/commit.c:697
+#: builtin/commit.c:696
 #, c-format
 msgid "could not open '%s'"
 msgstr "không thể mở '%s'"
@@ -63,12 +63,12 @@ msgid "Repository lacks these prerequisite commits:"
 msgstr "Khó chứa thiếu những lần chuyển giao (commit) cần trước hết này:"
 
 #: bundle.c:164
-#: sequencer.c:533
-#: sequencer.c:965
+#: sequencer.c:550
+#: sequencer.c:982
 #: builtin/log.c:289
-#: builtin/log.c:719
-#: builtin/log.c:1335
-#: builtin/log.c:1554
+#: builtin/log.c:720
+#: builtin/log.c:1309
+#: builtin/log.c:1528
 #: builtin/merge.c:347
 #: builtin/shortlog.c:181
 msgid "revision walk setup failed"
@@ -78,26 +78,26 @@ msgstr "Cài đặt việc di chuyển qua các điểm xét lại gặp lỗi"
 #, c-format
 msgid "The bundle contains %d ref"
 msgid_plural "The bundle contains %d refs"
-msgstr[0] "Bundle chứa %d chiếu"
-msgstr[1] "Bundle chứa %d chiếu"
+msgstr[0] "Bundle chứa %d tham chiếu (refs)"
+msgstr[1] "Bundle chứa %d tham chiếu (refs)"
 
 #: bundle.c:192
 #, c-format
 msgid "The bundle requires this ref"
 msgid_plural "The bundle requires these %d refs"
-msgstr[0] "Lệnh bundle yêu cầu tham chiếu này"
-msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu"
+msgstr[0] "Lệnh bundle yêu cầu tham chiếu (refs) này"
+msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu (refs) này"
 
 #: bundle.c:290
 msgid "rev-list died"
 msgstr "rev-list bị chết"
 
 #: bundle.c:296
-#: builtin/log.c:1231
+#: builtin/log.c:1205
 #: builtin/shortlog.c:284
 #, c-format
 msgid "unrecognized argument: %s"
-msgstr "không nhận ra đối số: %s"
+msgstr "đối số không được thừa nhận: %s"
 
 #: bundle.c:331
 #, c-format
@@ -243,7 +243,7 @@ msgstr ""
 
 #: diff.c:1400
 msgid " 0 files changed\n"
-msgstr " 0 tập tin bị thay đổi\n"
+msgstr " 0 tập tin nào bị thay đổi\n"
 
 #: diff.c:1404
 #, c-format
@@ -287,17 +287,17 @@ msgstr "gpg đã không đồng ý dữ liệu"
 msgid "gpg failed to sign the data"
 msgstr "gpg gặp lỗi khi ký dữ liệu"
 
-#: grep.c:1280
+#: grep.c:1320
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': không thể đọc %s"
 
-#: grep.c:1297
+#: grep.c:1337
 #, c-format
 msgid "'%s': %s"
 msgstr "'%s': %s"
 
-#: grep.c:1308
+#: grep.c:1348
 #, c-format
 msgid "'%s': short read %s"
 msgstr "'%s': đọc ngắn %s"
@@ -378,21 +378,21 @@ msgstr "   hoặc: %s"
 msgid "    %s"
 msgstr "    %s"
 
-#: remote.c:1607
+#: remote.c:1629
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
 msgstr[0] "Nhánh của bạn là đầu của '%s' bởi %d lần chuyển giao (commit).\n"
 msgstr[1] "Nhánh của bạn là đầu của '%s' bởi %d lần chuyển giao (commit).\n"
 
-#: remote.c:1613
+#: remote.c:1635
 #, c-format
 msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
 msgid_plural "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
 msgstr[0] "Nhánh của bạn thì ở đằng sau '%s' bởi %d lần chuyển giao (commit), và có thể được fast-forward.\n"
 msgstr[1] "Nhánh của bạn thì ở đằng sau '%s' bởi %d lần chuyển giao (commit), và có thể được fast-forward.\n"
 
-#: remote.c:1621
+#: remote.c:1643
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -445,8 +445,8 @@ msgstr ""
 "và chuyển giao (commit) kết quả bằng lệnh 'git commit'"
 
 #: sequencer.c:160
-#: sequencer.c:741
-#: sequencer.c:824
+#: sequencer.c:758
+#: sequencer.c:841
 #, c-format
 msgid "Could not write to %s"
 msgstr "Không thể ghi vào %s"
@@ -482,181 +482,181 @@ msgstr "Không thể phân giải commit (lần chuyển giao) HEAD\n"
 msgid "Unable to update cache tree\n"
 msgstr "Không thể cập nhật cây bộ nhớ đệm\n"
 
-#: sequencer.c:323
+#: sequencer.c:324
 #, c-format
 msgid "Could not parse commit %s\n"
 msgstr "Không thể phân tích commit (lần chuyển giao) %s\n"
 
-#: sequencer.c:328
+#: sequencer.c:329
 #, c-format
 msgid "Could not parse parent commit %s\n"
 msgstr "Không thể phân tích commit (lần chuyển giao) cha mẹ %s\n"
 
-#: sequencer.c:358
+#: sequencer.c:395
 msgid "Your index file is unmerged."
 msgstr "Tập tin lưu mục lục của bạn không được hòa trộn."
 
-#: sequencer.c:361
+#: sequencer.c:398
 msgid "You do not have a valid HEAD"
 msgstr "Bạn không có HEAD nào hợp lệ"
 
-#: sequencer.c:376
+#: sequencer.c:413
 #, c-format
 msgid "Commit %s is a merge but no -m option was given."
 msgstr "Lần chuyển giao (commit) %s là một lần hòa trộn nhưng không đưa ra tùy chọn  -m."
 
-#: sequencer.c:384
+#: sequencer.c:421
 #, c-format
 msgid "Commit %s does not have parent %d"
 msgstr "Lần chuyển giao (commit) %s không có cha mẹ %d"
 
-#: sequencer.c:388
+#: sequencer.c:425
 #, c-format
 msgid "Mainline was specified but commit %s is not a merge."
 msgstr "Luồng chính được chỉ định nhưng lần chuyển giao (commit) %s không phải là một lần hòa trộn."
 
 #. TRANSLATORS: The first %s will be "revert" or
 #. "cherry-pick", the second %s a SHA1
-#: sequencer.c:399
+#: sequencer.c:436
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s: không thể phân tích lần chuyển giao mẹ của %s"
 
-#: sequencer.c:403
+#: sequencer.c:440
 #, c-format
 msgid "Cannot get commit message for %s"
 msgstr "Không thể lấy thông điệp lần chuyển giao (commit) cho %s"
 
-#: sequencer.c:491
+#: sequencer.c:524
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "không thể revert %s... %s"
 
-#: sequencer.c:492
+#: sequencer.c:525
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "không thể apply (áp dụng miếng vá) %s... %s"
 
-#: sequencer.c:536
+#: sequencer.c:553
 msgid "empty commit set passed"
 msgstr "lần chuyển giao (commit) trống rỗng đặt là hợp quy cách"
 
-#: sequencer.c:544
+#: sequencer.c:561
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: gặp lỗi đọc bảng mục lục"
 
-#: sequencer.c:549
+#: sequencer.c:566
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: gặp lỗi khi làm tươi mới bảng mục lục"
 
-#: sequencer.c:607
+#: sequencer.c:624
 #, c-format
 msgid "Cannot %s during a %s"
 msgstr "Không thể %s trong khi %s"
 
-#: sequencer.c:629
+#: sequencer.c:646
 #, c-format
 msgid "Could not parse line %d."
 msgstr "Không phân tích được dòng %d."
 
-#: sequencer.c:634
+#: sequencer.c:651
 msgid "No commits parsed."
-msgstr "Không có lần chuyển giao (commit) nào được phân tích"
+msgstr "Không có lần chuyển giao (commit) nào được phân tích."
 
-#: sequencer.c:647
+#: sequencer.c:664
 #, c-format
 msgid "Could not open %s"
 msgstr "Không thể mở %s"
 
-#: sequencer.c:651
+#: sequencer.c:668
 #, c-format
 msgid "Could not read %s."
 msgstr "Không thể đọc %s."
 
-#: sequencer.c:658
+#: sequencer.c:675
 #, c-format
 msgid "Unusable instruction sheet: %s"
 msgstr "Bảng chỉ thị không thể dùng được: %s"
 
-#: sequencer.c:686
+#: sequencer.c:703
 #, c-format
 msgid "Invalid key: %s"
 msgstr "Khóa không đúng: %s"
 
-#: sequencer.c:689
+#: sequencer.c:706
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Giá trị không hợp lệ %s: %s"
 
-#: sequencer.c:701
+#: sequencer.c:718
 #, c-format
 msgid "Malformed options sheet: %s"
 msgstr "Bảng tùy chọn dị hình: %s"
 
-#: sequencer.c:722
+#: sequencer.c:739
 msgid "a cherry-pick or revert is already in progress"
 msgstr "một thao tác cherry-pick hoặc revert đang được thực hiện"
 
-#: sequencer.c:723
+#: sequencer.c:740
 msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
 msgstr "hãy thử \"git cherry-pick (--continue | --quit | --abort)\""
 
-#: sequencer.c:727
+#: sequencer.c:744
 #, c-format
 msgid "Could not create sequencer directory %s"
 msgstr "Không thể tạo thư mục xếp dãy %s"
 
-#: sequencer.c:743
-#: sequencer.c:828
+#: sequencer.c:760
+#: sequencer.c:845
 #, c-format
 msgid "Error wrapping up %s."
 msgstr "Lỗi bao bọc %s."
 
-#: sequencer.c:762
-#: sequencer.c:896
+#: sequencer.c:779
+#: sequencer.c:913
 msgid "no cherry-pick or revert in progress"
 msgstr "không cherry-pick hay revert trong tiến trình"
 
-#: sequencer.c:764
+#: sequencer.c:781
 msgid "cannot resolve HEAD"
 msgstr "không thể phân giải HEAD"
 
-#: sequencer.c:766
+#: sequencer.c:783
 msgid "cannot abort from a branch yet to be born"
-msgstr "không thể hủy bỏ một nhánh mà nó còn chưa được tạo ra"
+msgstr "không thể hủy bỏ từ một nhánh mà nó còn chưa được tạo ra"
 
-#: sequencer.c:788
-#: builtin/apply.c:3689
+#: sequencer.c:805
+#: builtin/apply.c:3697
 #, c-format
 msgid "cannot open %s: %s"
 msgstr "không thể mở %s: %s"
 
-#: sequencer.c:791
+#: sequencer.c:808
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "không thể đọc %s: %s"
 
-#: sequencer.c:792
+#: sequencer.c:809
 msgid "unexpected end of file"
 msgstr "kết thúc tập tin đột xuất"
 
-#: sequencer.c:798
+#: sequencer.c:815
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr "tập tin HEAD 'pre-cherry-pick' '%s' bị hỏng"
+msgstr "tập tin HEAD 'pre-cherry-pick' đã lưu '%s' bị hỏng"
 
-#: sequencer.c:821
+#: sequencer.c:838
 #, c-format
 msgid "Could not format %s."
-msgstr "Không thể định %s."
+msgstr "Không thể định dạng %s."
 
-#: sequencer.c:983
+#: sequencer.c:1000
 msgid "Can't revert as initial commit"
 msgstr "Không thể revert một lần chuyển giao (commit) khởi tạo"
 
-#: sequencer.c:984
+#: sequencer.c:1001
 msgid "Can't cherry-pick into empty head"
 msgstr "Không thể cherry-pick vào một đầu (head) trống rỗng"
 
@@ -672,12 +672,21 @@ msgstr "Không có nhánh nào như thế: '%s'"
 #: sha1_name.c:869
 #, c-format
 msgid "No upstream configured for branch '%s'"
-msgstr "Không có dòng ngược được cấu hình cho nhánh '%s'"
+msgstr "Không có dòng ngược (upstream) được cấu hình cho nhánh '%s'"
 
 #: sha1_name.c:872
 #, c-format
 msgid "Upstream branch '%s' not stored as a remote-tracking branch"
-msgstr "Nhánh ngược dòng (upstream) '%s' không được lưu lại như là một nhánh 'remote-tracking'"
+msgstr "Nhánh dòng ngược (upstream) '%s' không được lưu lại như là một nhánh 'remote-tracking'"
+
+#: wrapper.c:413
+#, c-format
+msgid "unable to look up current user in the passwd file: %s"
+msgstr "không tìm thấy người dùng hiện tại trong tập tin passwd: %s"
+
+#: wrapper.c:414
+msgid "no such user"
+msgstr "không có người dùng như vậy"
 
 #: wt-status.c:135
 msgid "Unmerged paths:"
@@ -746,7 +755,7 @@ msgstr "được thêm vào bởi chúng tôi:"
 
 #: wt-status.c:215
 msgid "deleted by them:"
-msgstr "bị xóa bởi họ:"
+msgstr "bị xóa đi bởi họ:"
 
 #: wt-status.c:216
 msgid "added by them:"
@@ -789,12 +798,12 @@ msgstr "đã sao chép:     %s -> %s"
 #: wt-status.c:273
 #, c-format
 msgid "deleted:    %s"
-msgstr "đã xóa:    %s"
+msgstr "bị xóa:    %s"
 
 #: wt-status.c:276
 #, c-format
 msgid "modified:   %s"
-msgstr "đã chỉnh sửa:   %s"
+msgstr "bị sửa đổi:   %s"
 
 #: wt-status.c:279
 #, c-format
@@ -889,7 +898,7 @@ msgstr " (sử dụng tùy chọn -u để hiển thị các tập tin chưa đ
 
 #: wt-status.c:800
 msgid " (working directory clean)"
-msgstr " (thư mục làm việc không có dữ liệu)"
+msgstr " (thư mục làm việc sạch sẽ)"
 
 #: wt-status.c:908
 msgid "HEAD (no branch)"
@@ -1019,7 +1028,7 @@ msgid "index file corrupt"
 msgstr "tập tin ghi bảng mục lục bị hỏng"
 
 #: builtin/add.c:476
-#: builtin/apply.c:4100
+#: builtin/apply.c:4108
 #: builtin/mv.c:229
 #: builtin/rm.c:260
 msgid "Unable to write new index file"
@@ -1251,239 +1260,244 @@ msgstr "%s có kiểu %o, mong chờ %o"
 msgid "%s: already exists in index"
 msgstr "%s: đã có từ trước trong bảng mục lục"
 
-#: builtin/apply.c:3266
+#: builtin/apply.c:3267
 #, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)%s%s"
-msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o)%s%s"
+msgid "new mode (%o) of %s does not match old mode (%o)"
+msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o)"
 
 #: builtin/apply.c:3272
 #, c-format
+msgid "new mode (%o) of %s does not match old mode (%o) of %s"
+msgstr "chế độ mới (%o) của %s không khớp với chế độ cũ (%o) của %s"
+
+#: builtin/apply.c:3280
+#, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: miếng vá không được áp dụng"
 
-#: builtin/apply.c:3285
+#: builtin/apply.c:3293
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Đang kiểm tra miếng vá %s..."
 
-#: builtin/apply.c:3340
+#: builtin/apply.c:3348
 #: builtin/checkout.c:212
 #: builtin/reset.c:158
 #, c-format
 msgid "make_cache_entry failed for path '%s'"
 msgstr "make_cache_entry gặp lỗi đối với đường dẫn '%s'"
 
-#: builtin/apply.c:3483
+#: builtin/apply.c:3491
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "không thể gỡ bỏ %s từ mục lục"
 
-#: builtin/apply.c:3510
+#: builtin/apply.c:3518
 #, c-format
 msgid "corrupt patch for subproject %s"
 msgstr "miếng vá sai hỏng cho dự án con (subproject) %s"
 
-#: builtin/apply.c:3514
+#: builtin/apply.c:3522
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "không thể lấy trạng thái về tập tin %s mới hơn đã được tạo"
 
-#: builtin/apply.c:3519
+#: builtin/apply.c:3527
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "không thể tạo 'backing store' cho tập tin được tạo mới hơn %s"
 
-#: builtin/apply.c:3522
+#: builtin/apply.c:3530
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "không thể thêm mục nhớ tạm cho %s"
 
-#: builtin/apply.c:3555
+#: builtin/apply.c:3563
 #, c-format
 msgid "closing file '%s'"
 msgstr "đang đóng tập tin '%s'"
 
-#: builtin/apply.c:3604
+#: builtin/apply.c:3612
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "không thể ghi vào tập tin '%s' chế độ (mode) %o"
 
-#: builtin/apply.c:3660
+#: builtin/apply.c:3668
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Đã áp dụng miếng và %s một cách sạch sẽ."
 
-#: builtin/apply.c:3668
+#: builtin/apply.c:3676
 msgid "internal error"
 msgstr "lỗi nội bộ"
 
 #. Say this even without --verbose
-#: builtin/apply.c:3671
+#: builtin/apply.c:3679
 #, c-format
 msgid "Applying patch %%s with %d reject..."
 msgid_plural "Applying patch %%s with %d rejects..."
 msgstr[0] "Đang áp dụng miếng vá %%s với %d lần từ chối..."
 msgstr[1] "Đang áp dụng miếng vá %%s với %d lần từ chối..."
 
-#: builtin/apply.c:3681
+#: builtin/apply.c:3689
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "đang cắt cụt tên tập tin .rej thành %.*s.rej"
 
-#: builtin/apply.c:3702
+#: builtin/apply.c:3710
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Khối nhớ #%d được áp dụng gọn gàng."
 
-#: builtin/apply.c:3705
+#: builtin/apply.c:3713
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "hunk #%d bị từ chối."
 
-#: builtin/apply.c:3836
+#: builtin/apply.c:3844
 msgid "unrecognized input"
 msgstr "không thừa nhận đầu vào"
 
-#: builtin/apply.c:3847
+#: builtin/apply.c:3855
 msgid "unable to read index file"
 msgstr "không thể đọc tập tin lưu bảng mục lục"
 
-#: builtin/apply.c:3962
-#: builtin/apply.c:3965
+#: builtin/apply.c:3970
+#: builtin/apply.c:3973
 msgid "path"
 msgstr "đường-dẫn"
 
-#: builtin/apply.c:3963
+#: builtin/apply.c:3971
 msgid "don't apply changes matching the given path"
 msgstr "không áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: builtin/apply.c:3966
+#: builtin/apply.c:3974
 msgid "apply changes matching the given path"
 msgstr "áp dụng các thay đổi khớp với đường dẫn đã cho"
 
-#: builtin/apply.c:3968
+#: builtin/apply.c:3976
 msgid "num"
 msgstr "số"
 
-#: builtin/apply.c:3969
+#: builtin/apply.c:3977
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "gỡ bỏ <số> phần dẫn đầu (slashe) từ đường dẫn diff cổ điển"
 
-#: builtin/apply.c:3972
+#: builtin/apply.c:3980
 msgid "ignore additions made by the patch"
 msgstr "lờ đi phần phụ thêm tạo ra bởi miếng vá"
 
-#: builtin/apply.c:3974
+#: builtin/apply.c:3982
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả từ lệnh diffstat cho đầu ra"
 
-#: builtin/apply.c:3978
+#: builtin/apply.c:3986
 msgid "shows number of added and deleted lines in decimal notation"
 msgstr "hiển thị số lượng các dòng được thêm vào và xóa đi theo ký hiệu thập phân"
 
-#: builtin/apply.c:3980
+#: builtin/apply.c:3988
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "thay vì áp dụng một miếng vá, kết xuất kết quả cho đầu vào"
 
-#: builtin/apply.c:3982
+#: builtin/apply.c:3990
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "thay vì áp dụng miếng vá, hãy xem xem miếng vá có thích hợp không"
 
-#: builtin/apply.c:3984
+#: builtin/apply.c:3992
 msgid "make sure the patch is applicable to the current index"
 msgstr "hãy chắc chắn là miếng vá thích hợp với bảng mục lục hiện hành"
 
-#: builtin/apply.c:3986
+#: builtin/apply.c:3994
 msgid "apply a patch without touching the working tree"
 msgstr "áp dụng một miếng vá mà không động chạm đến cây làm việc"
 
-#: builtin/apply.c:3988
+#: builtin/apply.c:3996
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "đồng thời áp dụng miếng vá (sử dụng với tùy chọn --stat/--summary/--check)"
 
-#: builtin/apply.c:3990
+#: builtin/apply.c:3998
 msgid "build a temporary index based on embedded index information"
 msgstr "xây dựng bảng mục lục tạm thời trên cơ sở thông tin bảng mục lục được nhúng"
 
-#: builtin/apply.c:3992
+#: builtin/apply.c:4000
 msgid "paths are separated with NUL character"
 msgstr "các đường dẫn bị ngăn cách bởi ký tự NULL"
 
-#: builtin/apply.c:3995
+#: builtin/apply.c:4003
 msgid "ensure at least <n> lines of context match"
 msgstr "đảm bảo rằng có ít nhất <n> dòng nội dung khớp"
 
-#: builtin/apply.c:3996
+#: builtin/apply.c:4004
 msgid "action"
 msgstr "hành động"
 
-#: builtin/apply.c:3997
+#: builtin/apply.c:4005
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "tìm thấy một dòng mới hoặc bị sửa đổi mà nó có lỗi do khoảng trắng"
 
-#: builtin/apply.c:4000
-#: builtin/apply.c:4003
+#: builtin/apply.c:4008
+#: builtin/apply.c:4011
 msgid "ignore changes in whitespace when finding context"
 msgstr "lờ đi sự thay đổi do khoảng trắng khi quét nội dung"
 
-#: builtin/apply.c:4006
+#: builtin/apply.c:4014
 msgid "apply the patch in reverse"
 msgstr "áp dụng miếng vá theo chiều ngược"
 
-#: builtin/apply.c:4008
+#: builtin/apply.c:4016
 msgid "don't expect at least one line of context"
 msgstr "đừng hy vọng có ít nhất một dòng nội dung"
 
-#: builtin/apply.c:4010
+#: builtin/apply.c:4018
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "để lại khối dữ liệu bị từ chối trong các tập tin *.rej tương ứng"
 
-#: builtin/apply.c:4012
+#: builtin/apply.c:4020
 msgid "allow overlapping hunks"
 msgstr "cho phép chồng khối nhớ"
 
-#: builtin/apply.c:4013
+#: builtin/apply.c:4021
 msgid "be verbose"
 msgstr "chi tiết"
 
-#: builtin/apply.c:4015
+#: builtin/apply.c:4023
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "dung sai không chính xác đã tìm thấy thiếu dòng mới tại cuối tập tin"
 
-#: builtin/apply.c:4018
+#: builtin/apply.c:4026
 msgid "do not trust the line counts in the hunk headers"
 msgstr "không tin số lượng dòng trong phần đầu khối dữ liệu"
 
-#: builtin/apply.c:4020
+#: builtin/apply.c:4028
 msgid "root"
 msgstr "root"
 
-#: builtin/apply.c:4021
+#: builtin/apply.c:4029
 msgid "prepend <root> to all filenames"
 msgstr "treo thêm <root> vào tất cả các tên tập tin"
 
-#: builtin/apply.c:4042
+#: builtin/apply.c:4050
 msgid "--index outside a repository"
 msgstr "--index ở ngoài một kho chứa"
 
-#: builtin/apply.c:4045
+#: builtin/apply.c:4053
 msgid "--cached outside a repository"
 msgstr "--cached ở ngoài một kho chứa"
 
-#: builtin/apply.c:4061
+#: builtin/apply.c:4069
 #, c-format
 msgid "can't open patch '%s'"
 msgstr "không thể mở miếng vá '%s'"
 
-#: builtin/apply.c:4075
+#: builtin/apply.c:4083
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "đã chấm dứt %d lỗi khoảng trắng"
 msgstr[1] "đã chấm dứt %d lỗi khoảng trắng"
 
-#: builtin/apply.c:4081
-#: builtin/apply.c:4091
+#: builtin/apply.c:4089
+#: builtin/apply.c:4099
 #, c-format
 msgid "%d line adds whitespace errors."
 msgid_plural "%d lines add whitespace errors."
@@ -2215,55 +2229,55 @@ msgstr "lần chuyển giao (commit) không hợp lệ: %s"
 msgid "malformed --author parameter"
 msgstr "đối số --author bị dị hình"
 
-#: builtin/commit.c:583
+#: builtin/commit.c:582
 #, c-format
 msgid "Malformed ident string: '%s'"
 msgstr "Chuỗi thụt lề đầu dòng dị hình: '%s'"
 
-#: builtin/commit.c:621
-#: builtin/commit.c:654
-#: builtin/commit.c:968
+#: builtin/commit.c:620
+#: builtin/commit.c:653
+#: builtin/commit.c:967
 #, c-format
 msgid "could not lookup commit %s"
 msgstr "không thể tìm kiếm commit (lần chuyển giao) %s"
 
-#: builtin/commit.c:633
+#: builtin/commit.c:632
 #: builtin/shortlog.c:296
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(đang đọc thông điệp nhật ký từ đầu vào tiêu chuẩn)\n"
 
-#: builtin/commit.c:635
+#: builtin/commit.c:634
 msgid "could not read log from standard input"
 msgstr "không thể đọc nhật ký từ đầu vào tiêu chuẩn"
 
-#: builtin/commit.c:639
+#: builtin/commit.c:638
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "không đọc được tệp nhật ký '%s'"
 
-#: builtin/commit.c:645
+#: builtin/commit.c:644
 msgid "commit has empty message"
 msgstr "lần chuyển giao (commit) có ghi chú trống rỗng"
 
-#: builtin/commit.c:661
+#: builtin/commit.c:660
 msgid "could not read MERGE_MSG"
 msgstr "không thể đọc MERGE_MSG"
 
-#: builtin/commit.c:665
+#: builtin/commit.c:664
 msgid "could not read SQUASH_MSG"
 msgstr "không thể đọc SQUASH_MSG"
 
-#: builtin/commit.c:669
+#: builtin/commit.c:668
 #, c-format
 msgid "could not read '%s'"
 msgstr "Không thể đọc '%s'."
 
-#: builtin/commit.c:721
+#: builtin/commit.c:720
 msgid "could not write commit template"
 msgstr "không thể ghi mẫu commit"
 
-#: builtin/commit.c:732
+#: builtin/commit.c:731
 #, c-format
 msgid ""
 "\n"
@@ -2278,7 +2292,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:737
+#: builtin/commit.c:736
 #, c-format
 msgid ""
 "\n"
@@ -2293,7 +2307,7 @@ msgstr ""
 "\t%s\n"
 "và thử lại.\n"
 
-#: builtin/commit.c:749
+#: builtin/commit.c:748
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '#' will be ignored, and an empty message aborts the commit.\n"
@@ -2301,7 +2315,7 @@ msgstr ""
 "Hãy nhập vào các thông tin để giải thích các thay đổi của bạn. Những dòng được\n"
 "bắt đầu bằng '#' sẽ được bỏ qua, phần chú thích này nếu rỗng sẽ làm hủy bỏ lần chuyển giao (commit).\n"
 
-#: builtin/commit.c:754
+#: builtin/commit.c:753
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
 "with '#' will be kept; you may remove them yourself if you want to.\n"
@@ -2311,164 +2325,164 @@ msgstr ""
 "bắt đầu bằng '#' sẽ được bỏ qua; bạn có thể xóa chúng đi nếu muốn.\n"
 "Phần chú thích này nếu rỗng sẽ làm hủy bỏ lần chuyển giao (commit).\n"
 
-#: builtin/commit.c:767
+#: builtin/commit.c:766
 #, c-format
 msgid "%sAuthor:    %s"
 msgstr "%sTác giả:    %s"
 
-#: builtin/commit.c:774
+#: builtin/commit.c:773
 #, c-format
 msgid "%sCommitter: %s"
 msgstr "%sNgười chuyển giao (commit): %s"
 
-#: builtin/commit.c:794
+#: builtin/commit.c:793
 msgid "Cannot read index"
 msgstr "không đọc được bảng mục lục"
 
-#: builtin/commit.c:831
+#: builtin/commit.c:830
 msgid "Error building trees"
 msgstr "Gặp lỗi khi xây dựng cây"
 
-#: builtin/commit.c:846
+#: builtin/commit.c:845
 #: builtin/tag.c:361
 #, c-format
 msgid "Please supply the message using either -m or -F option.\n"
 msgstr "Xin hãy áp dụng thông điệp sử dụng hoặc là tùy chọn -m hoặc là -F.\n"
 
-#: builtin/commit.c:943
+#: builtin/commit.c:942
 #, c-format
 msgid "No existing author found with '%s'"
 msgstr "Không tìm thấy tác giả đã sẵn có với '%s'"
 
-#: builtin/commit.c:958
-#: builtin/commit.c:1158
+#: builtin/commit.c:957
+#: builtin/commit.c:1157
 #, c-format
 msgid "Invalid untracked files mode '%s'"
 msgstr "Chế độ cho các tập tin không bị theo vết không hợp lệ '%s'"
 
-#: builtin/commit.c:998
+#: builtin/commit.c:997
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "Sử dụng cả hai tùy chọn --reset-author và --author không hợp lý"
 
-#: builtin/commit.c:1009
+#: builtin/commit.c:1008
 msgid "You have nothing to amend."
 msgstr "Không có gì để amend (tu bổ) cả."
 
-#: builtin/commit.c:1012
+#: builtin/commit.c:1011
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Bạn đang ở giữa của quá trình hòa trộn -- không thể thực hiện amend (tu bổ)."
 
-#: builtin/commit.c:1014
+#: builtin/commit.c:1013
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "Bạn đang ở giữa của quá trình cherry-pick -- không thể thực hiện amend (tu bổ)."
 
-#: builtin/commit.c:1017
+#: builtin/commit.c:1016
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Các tùy chọn --squash và --fixup không thể sử dụng cùng với nhau"
 
-#: builtin/commit.c:1027
+#: builtin/commit.c:1026
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Chỉ một tùy chọn trong số -c/-C/-F/--fixup được sử dụng"
 
-#: builtin/commit.c:1029
+#: builtin/commit.c:1028
 msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
 msgstr "Tùy chọn -m không thể được tổ hợp cùng với -c/-C/-F/--fixup."
 
-#: builtin/commit.c:1037
+#: builtin/commit.c:1036
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author chỉ có thể được sử dụng với tùy chọn -C, -c hay --amend."
 
-#: builtin/commit.c:1054
+#: builtin/commit.c:1053
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr "Chỉ một trong các tùy chọn --include/--only/--all/--interactive/--patch được sử dụng."
 
-#: builtin/commit.c:1056
+#: builtin/commit.c:1055
 msgid "No paths with --include/--only does not make sense."
 msgstr "Không đường dẫn với các tùy chọn --include/--only không hợp lý."
 
-#: builtin/commit.c:1058
+#: builtin/commit.c:1057
 msgid "Clever... amending the last one with dirty index."
 msgstr "Giỏi... đang tu bổ cái cuối với bảng mục lục phi nghĩa."
 
-#: builtin/commit.c:1060
+#: builtin/commit.c:1059
 msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
 msgstr "Những đường dẫn rõ ràng được chỉ ra không có tùy chọn -i cũng không -o; đang giả định --only những-đường-dẫn..."
 
-#: builtin/commit.c:1070
+#: builtin/commit.c:1069
 #: builtin/tag.c:577
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Chế độ dọn dẹp không hợp lệ %s"
 
-#: builtin/commit.c:1075
+#: builtin/commit.c:1074
 msgid "Paths with -a does not make sense."
 msgstr "Các đường dẫn với tùy chọn -a không hợp lý."
 
-#: builtin/commit.c:1258
+#: builtin/commit.c:1257
 msgid "couldn't look up newly created commit"
 msgstr "không thể tìm thấy lần chuyển giao (commit) mới hơn đã được tạo"
 
-#: builtin/commit.c:1260
+#: builtin/commit.c:1259
 msgid "could not parse newly created commit"
 msgstr "không thể phân tích cú pháp của đối tượng chuyển giao mới hơn đã được tạo"
 
-#: builtin/commit.c:1301
+#: builtin/commit.c:1300
 msgid "detached HEAD"
 msgstr "đã rời khỏi HEAD"
 
-#: builtin/commit.c:1303
+#: builtin/commit.c:1302
 msgid " (root-commit)"
 msgstr " (root-commit)"
 
-#: builtin/commit.c:1447
+#: builtin/commit.c:1446
 msgid "could not parse HEAD commit"
 msgstr "không thể phân tích commit (lần chuyển giao) HEAD"
 
-#: builtin/commit.c:1485
+#: builtin/commit.c:1484
 #: builtin/merge.c:509
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "không thể mở %s' để đọc"
 
-#: builtin/commit.c:1492
+#: builtin/commit.c:1491
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Tập tin MERGE_HEAD sai hỏng (%s)"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1498
 msgid "could not read MERGE_MODE"
 msgstr "không thể đọc MERGE_MODE"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1517
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "không thể đọc thông điệp (message) commit (lần chuyển giao): %s"
 
-#: builtin/commit.c:1532
+#: builtin/commit.c:1531
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Đang bỏ qua việc chuyển giao (commit); bạn đã không biên soạn thông điệp (message).\n"
 
-#: builtin/commit.c:1537
+#: builtin/commit.c:1536
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Đang bỏ qua lần chuyển giao (commit) bởi vì thông điệp của nó trống rỗng.\n"
 
-#: builtin/commit.c:1552
+#: builtin/commit.c:1551
 #: builtin/merge.c:936
 #: builtin/merge.c:961
 msgid "failed to write commit object"
 msgstr "gặp lỗi khi ghi đối tượng chuyển giao (commit)"
 
-#: builtin/commit.c:1573
+#: builtin/commit.c:1572
 msgid "cannot lock HEAD ref"
 msgstr "không thể khóa HEAD ref (tham chiếu)"
 
-#: builtin/commit.c:1577
+#: builtin/commit.c:1576
 msgid "cannot update HEAD ref"
 msgstr "không thể cập nhật HEAD ref (tham chiếu)"
 
-#: builtin/commit.c:1588
+#: builtin/commit.c:1587
 msgid ""
 "Repository has been updated, but unable to write\n"
 "new_index file. Check that disk is not full or quota is\n"
@@ -2816,32 +2830,32 @@ msgstr "chuyển đến `%c' mong chờ một giá trị bằng số"
 msgid "cannot open '%s'"
 msgstr "không mở được '%s'"
 
-#: builtin/grep.c:888
+#: builtin/grep.c:885
 msgid "no pattern given."
 msgstr "chưa chỉ ra mẫu."
 
-#: builtin/grep.c:902
+#: builtin/grep.c:899
 #, c-format
 msgid "bad object %s"
 msgstr "đối tượng sai %s"
 
-#: builtin/grep.c:943
+#: builtin/grep.c:940
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager chỉ làm việc trên cây-làm-việc"
 
-#: builtin/grep.c:966
+#: builtin/grep.c:963
 msgid "--cached or --untracked cannot be used with --no-index."
 msgstr "--cached hay --untracked không được sử dụng với --no-index."
 
-#: builtin/grep.c:971
+#: builtin/grep.c:968
 msgid "--no-index or --untracked cannot be used with revs."
 msgstr "--no-index hay --untracked không được sử dụng cùng với các tùy chọn liên quan đến revs."
 
-#: builtin/grep.c:974
+#: builtin/grep.c:971
 msgid "--[no-]exclude-standard cannot be used for tracked contents."
 msgstr "--[no-]exclude-standard không thể sử dụng cho nội dung lưu dấu vết."
 
-#: builtin/grep.c:982
+#: builtin/grep.c:979
 msgid "both --cached and trees are given."
 msgstr "cả hai --cached và các cây phải được chỉ ra."
 
@@ -3319,86 +3333,82 @@ msgstr "Không nhận ra kiểu: %d"
 msgid "format.headers without value"
 msgstr "format.headers không có giá trị cụ thể"
 
-#: builtin/log.c:675
+#: builtin/log.c:676
 msgid "name of output directory is too long"
 msgstr "tên của thư mục kết xuất quá dài"
 
-#: builtin/log.c:686
+#: builtin/log.c:687
 #, c-format
 msgid "Cannot open patch file %s"
 msgstr "Không thể mở tập tin miếng vá: %s"
 
-#: builtin/log.c:700
+#: builtin/log.c:701
 msgid "Need exactly one range."
 msgstr "Cần chính xác một vùng."
 
-#: builtin/log.c:708
+#: builtin/log.c:709
 msgid "Not a range."
 msgstr "Không phải là một vùng."
 
-#: builtin/log.c:745
-msgid "Could not extract email from committer identity."
-msgstr "Không thể rút trích địa chỉ thư điện tử từ định danh người chuyển giao"
-
-#: builtin/log.c:791
+#: builtin/log.c:786
 msgid "Cover letter needs email format"
 msgstr "'Cover letter' cần cho định dạng thư"
 
-#: builtin/log.c:885
+#: builtin/log.c:859
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to điên rồ: %s"
 
-#: builtin/log.c:958
+#: builtin/log.c:932
 msgid "Two output directories?"
 msgstr "Hai thư mục kết xuất?"
 
-#: builtin/log.c:1179
+#: builtin/log.c:1153
 #, c-format
 msgid "bogus committer info %s"
 msgstr "thông tin người chuyển giao không có thực %s"
 
-#: builtin/log.c:1224
+#: builtin/log.c:1198
 msgid "-n and -k are mutually exclusive."
 msgstr "-n và  -k loại từ lẫn nhau."
 
-#: builtin/log.c:1226
+#: builtin/log.c:1200
 msgid "--subject-prefix and -k are mutually exclusive."
 msgstr "--subject-prefix và -k xung khắc nhau."
 
-#: builtin/log.c:1234
+#: builtin/log.c:1208
 msgid "--name-only does not make sense"
 msgstr "--name-only không hợp lý"
 
-#: builtin/log.c:1236
+#: builtin/log.c:1210
 msgid "--name-status does not make sense"
 msgstr "--name-status không hợp lý"
 
-#: builtin/log.c:1238
+#: builtin/log.c:1212
 msgid "--check does not make sense"
 msgstr "--check không hợp lý"
 
-#: builtin/log.c:1261
+#: builtin/log.c:1235
 msgid "standard output, or directory, which one?"
 msgstr "đầu ra chuẩn, hay thư mục, chọn cái nào?"
 
-#: builtin/log.c:1263
+#: builtin/log.c:1237
 #, c-format
 msgid "Could not create directory '%s'"
 msgstr "Không thể tạo thư mục '%s'"
 
-#: builtin/log.c:1416
+#: builtin/log.c:1390
 msgid "Failed to create output files"
 msgstr "Gặp lỗi khi tạo các tập tin kết xuất"
 
-#: builtin/log.c:1520
+#: builtin/log.c:1494
 #, c-format
 msgid "Could not find a tracked remote branch, please specify <upstream> manually.\n"
 msgstr "Không tìm thấy nhánh mạng bị theo vết, hãy chỉ định <dòng-ngược> một cách thủ công.\n"
 
-#: builtin/log.c:1536
-#: builtin/log.c:1538
-#: builtin/log.c:1550
+#: builtin/log.c:1510
+#: builtin/log.c:1512
+#: builtin/log.c:1524
 #, c-format
 msgid "Unknown commit %s"
 msgstr "Không hiểu lần chuyển giao (commit) %s"
@@ -3900,22 +3910,22 @@ msgstr "Đối tượng %s không có ghi chú (note)\n"
 msgid "Unknown subcommand: %s"
 msgstr "Không hiểu câu lệnh con: %s"
 
-#: builtin/pack-objects.c:2315
+#: builtin/pack-objects.c:2337
 #, c-format
 msgid "unsupported index version %s"
 msgstr "phiên bản mục lục không được hỗ trợ %s"
 
-#: builtin/pack-objects.c:2319
+#: builtin/pack-objects.c:2341
 #, c-format
 msgid "bad index version '%s'"
 msgstr "phiên bản mục lục sai '%s'"
 
-#: builtin/pack-objects.c:2342
+#: builtin/pack-objects.c:2364
 #, c-format
 msgid "option %s does not accept negative form"
 msgstr "tùy chọn %s không chấp nhận dạng thức âm"
 
-#: builtin/pack-objects.c:2346
+#: builtin/pack-objects.c:2368
 #, c-format
 msgid "unable to parse value '%s' for option %s"
 msgstr "không thể phân tích giá trị '%s' cho tùy chọn %s"
@@ -3984,15 +3994,15 @@ msgid ""
 "\n"
 "    git push --set-upstream %s %s\n"
 msgstr ""
-"Nhánh hiện tại %s không có nhánh ngược dòng (upstream) nào.\n"
-"Để push (đẩy lên) nhánh hiện tại và đặt máy chủ như là ngược dòng (upstream), sử dụng\n"
+"Nhánh hiện tại %s không có nhánh dòng ngược (upstream) nào.\n"
+"Để push (đẩy lên) nhánh hiện tại và đặt máy chủ như là dòng ngược (upstream), sử dụng\n"
 "\n"
 "    git push --set-upstream %s %s\n"
 
 #: builtin/push.c:136
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
-msgstr "Nhánh hiện tại %s có đa nhánh ngược dòng (upstream), từ chối push."
+msgstr "Nhánh hiện tại %s có đa nhánh dòng ngược (upstream), từ chối push."
 
 #: builtin/push.c:139
 #, c-format
@@ -4198,7 +4208,7 @@ msgstr "Không thể gỡ bỏ chương (section) cấu hình '%s'"
 #: builtin/remote.c:677
 #, c-format
 msgid ""
-"Not updating non-default fetch respec\n"
+"Not updating non-default fetch refspec\n"
 "\t%s\n"
 "\tPlease update the configuration manually if necessary."
 msgstr ""
@@ -4877,6 +4887,29 @@ msgstr "Tạo, liệt kê, xóa hay xác thực một đối tượng thẻ (tag
 msgid "You need to set your committer info first"
 msgstr "Bạn cần đặt thông tin về người chuyển giao mã nguồn trước đã"
 
+#: git-am.sh:95
+msgid ""
+"You seem to have moved HEAD since the last 'am' failure.\n"
+"Not rewinding to ORIG_HEAD"
+msgstr ""
+"Bạn có lẽ đã có HEAD đã bị di chuyển đi kể từ lần 'am' thất bại cuối cùng.\n"
+"Không thể chuyển tới ORIG_HEAD"
+
+#: git-am.sh:105
+#, sh-format
+msgid ""
+"When you have resolved this problem run \"$cmdline --resolved\".\n"
+"If you would prefer to skip this patch, instead run \"$cmdline --skip\".\n"
+"To restore the original branch and stop patching run \"$cmdline --abort\"."
+msgstr ""
+"Khi bạn cần giải quyết vấn đề này hãy chạy lệnh \"$cmdline --resolved\".\n"
+"Nếu bạn có ý định bỏ qua miếng vá, thay vào đó bạn chạy \"$cmdline --skip\".\n"
+"Để phục hồi lại thành nhánh nguyên bản và dừng việc vá lại thì chạy \"$cmdline --abort\"."
+
+#: git-am.sh:121
+msgid "Cannot fall back to three-way merge."
+msgstr "Đang trở lại để hòa trộn kiểu 'three-way'."
+
 #: git-am.sh:137
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr "Kho thiếu đối tượng blob cần thiết để trở về trên '3-way merge'."
@@ -4928,10 +4961,29 @@ msgstr "Thao tác phân giải không đang được tiến hành, chúng ta kh
 msgid "Dirty index: cannot apply patches (dirty: $files)"
 msgstr "Bảng mục lục sai: không thể áp dụng các miếng vá (sai: $files)"
 
+#: git-am.sh:671
+#, sh-format
+msgid ""
+"Patch is empty.  Was it split wrong?\n"
+"If you would prefer to skip this patch, instead run \"$cmdline --skip\".\n"
+"To restore the original branch and stop patching run \"$cmdline --abort\"."
+msgstr ""
+"Miếng vá trống rỗng.  Nó đã bị chia cắt sai phải không?\n"
+"Nếu bạn thích bỏ qua miếng vá này, hãy chạy lệnh sau để thay thế \"$cmdline --skip\".\n"
+"Để phục hồi lại nhánh nguyên bản và dừng vá lại hãy chạy lệnh \"$cmdline --abort\"."
+
+#: git-am.sh:708
+msgid "Patch does not have a valid e-mail address."
+msgstr "Miếng vá không có địa chỉ e-mail hợp lệ."
+
 #: git-am.sh:755
 msgid "cannot be interactive without stdin connected to a terminal."
 msgstr "không thể được tương tác mà không có stdin kết nối với một thiết bị cuối"
 
+#: git-am.sh:759
+msgid "Commit Body is:"
+msgstr "Thân của lần chuyển giao (commit) là:"
+
 #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
 #. in your translation. The program will only accept English
 #. input at this point.
@@ -4944,14 +4996,41 @@ msgstr "Áp dụng? đồng ý [y]/không [n]/chỉnh sửa [e]/hiển thị mi
 msgid "Applying: $FIRSTLINE"
 msgstr "Đang áp dụng (miếng vá): $FIRSTLINE"
 
+#: git-am.sh:823
+msgid ""
+"No changes - did you forget to use 'git add'?\n"
+"If there is nothing left to stage, chances are that something else\n"
+"already introduced the same changes; you might want to skip this patch."
+msgstr ""
+"Không có thay đổi nào - bạn đã quên sử dụng lệnh 'git add' à?\n"
+"Nếu ở đây không có gì còn lại stage, tình cờ là có một số thứ khác\n"
+"đã sẵn được đưa vào với cùng nội dung thay đổi; bạn có lẽ muốn bỏ qua miếng vá này."
+
+#: git-am.sh:831
+msgid ""
+"You still have unmerged paths in your index\n"
+"did you forget to use 'git add'?"
+msgstr ""
+"Bạn vẫn có những đường dẫn chưa được hòa trộn trong bảng mục lục của mình\n"
+"bạn đã quên sử dụng lệnh 'git add' à?"
+
 #: git-am.sh:847
 msgid "No changes -- Patch already applied."
 msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồi."
 
+#: git-am.sh:857
+#, sh-format
+msgid "Patch failed at $msgnum $FIRSTLINE"
+msgstr "Vá gặp lỗi tại $msgnum $FIRSTLINE"
+
 #: git-am.sh:873
 msgid "applying to an empty history"
 msgstr "áp dụng vào một lịch sử trống rỗng"
 
+#: git-bisect.sh:48
+msgid "You need to start by \"git bisect start\""
+msgstr "Bạn cần khởi đầu bằng \"git bisect start\""
+
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
@@ -5009,6 +5088,12 @@ msgstr "Đầu vào rev sai: $rev"
 msgid "'git bisect bad' can take only one argument."
 msgstr "'git bisect bad' có thể lấy chỉ một đối số."
 
+#. have bad but not good.  we could bisect although
+#. this is less optimum.
+#: git-bisect.sh:273
+msgid "Warning: bisecting only with a bad commit."
+msgstr "Cảnh báo: chỉ thực hiện việc bisect với một lần chuyển giao (commit) sai."
+
 #. TRANSLATORS: Make sure to include [Y] and [n] in your
 #. translation. The program will only accept English input
 #. at this point.
@@ -5016,6 +5101,29 @@ msgstr "'git bisect bad' có thể lấy chỉ một đối số."
 msgid "Are you sure [Y/n]? "
 msgstr "Bạn có chắc chắn chưa [Y/n]?"
 
+#: git-bisect.sh:289
+msgid ""
+"You need to give me at least one good and one bad revisions.\n"
+"(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
+msgstr ""
+"Bạn phải chỉ cho tôi ít nhất một điểm xét duyệt tốt và một điểm sai.\n"
+"(Bạn có thể sử dụng \"git bisect bad\" và \"git bisect good\" cho cái đó.)"
+
+#: git-bisect.sh:292
+msgid ""
+"You need to start by \"git bisect start\".\n"
+"You then need to give me at least one good and one bad revisions.\n"
+"(You can use \"git bisect bad\" and \"git bisect good\" for that.)"
+msgstr ""
+"Bạn cần bắt đầu bằng lệnh \"git bisect start\".\n"
+"Bạn sau đó cần phải chỉ cho tôi ít nhất một điểm xét duyệt đúng và một điểm sai.\n"
+"(Bạn có thể sử dụng \"git bisect bad\" và \"git bisect good\" cho chúng.)"
+
+#: git-bisect.sh:347
+#: git-bisect.sh:474
+msgid "We are not bisecting."
+msgstr "Chúng tôi không bisect."
+
 #: git-bisect.sh:354
 #, sh-format
 msgid "'$invalid' is not a valid commit"
@@ -5043,9 +5151,36 @@ msgstr "không thể đọc $file để thao diễn lại"
 msgid "?? what are you talking about?"
 msgstr "?? bạn đang nói gì thế?"
 
-#: git-bisect.sh:474
-msgid "We are not bisecting."
-msgstr "Chúng tôi không bisect."
+#: git-bisect.sh:420
+#, sh-format
+msgid "running $command"
+msgstr "đang chạy lệnh $command"
+
+#: git-bisect.sh:427
+#, sh-format
+msgid ""
+"bisect run failed:\n"
+"exit code $res from '$command' is < 0 or >= 128"
+msgstr ""
+"chạy bisect gặp lỗi:\n"
+"mã trả về $res từ lệnh '$command' là < 0 hoặc >= 128"
+
+#: git-bisect.sh:453
+msgid "bisect run cannot continue any more"
+msgstr "bisect không thể tiếp tục thêm được nữa"
+
+#: git-bisect.sh:459
+#, sh-format
+msgid ""
+"bisect run failed:\n"
+"'bisect_state $state' exited with error code $res"
+msgstr ""
+"chạy bisect gặp lỗi:\n"
+"'bisect_state $state' đã thoát ra với mã lỗi $res"
+
+#: git-bisect.sh:466
+msgid "bisect run success"
+msgstr "bisect chạy thành công"
 
 #: git-pull.sh:21
 msgid ""
@@ -5065,6 +5200,21 @@ msgstr "Full là không thể thực hiện bởi vì bạn có những tập ti
 msgid "updating an unborn branch with changes added to the index"
 msgstr "đang cập nhật một nhánh chưa được sinh ra với các thay đổi được thêm vào bảng mục lục"
 
+#. The fetch involved updating the current branch.
+#. The working tree and the index file is still based on the
+#. $orig_head commit, but we are merging into $curr_head.
+#. First update the working tree to match $curr_head.
+#: git-pull.sh:228
+#, sh-format
+msgid ""
+"Warning: fetch updated the current branch head.\n"
+"Warning: fast-forwarding your working tree from\n"
+"Warning: commit $orig_head."
+msgstr ""
+"Cảnh báo: fetch đã cập nhật head nhánh hiện tại.\n"
+"Cảnh báo: đang fast-forward cây làm việc của bạn từ\n"
+"Cảnh báo: commit $orig_head."
+
 #: git-pull.sh:253
 msgid "Cannot merge multiple branches into empty head"
 msgstr "Không thể hòa trộn nhiều nhánh và trong một head trống rỗng"
@@ -5102,6 +5252,25 @@ msgstr "Không thể gỡ bỏ bảng mục lục tạm thời (không thể x
 msgid "Cannot record working tree state"
 msgstr "Không thể ghi lại trạng thái cây làm việc hiện hành"
 
+#. TRANSLATORS: $option is an invalid option, like
+#. `--blah-blah'. The 7 spaces at the beginning of the
+#. second line correspond to "error: ". So you should line
+#. up the second line with however many characters the
+#. translation of "error: " takes in your language. E.g. in
+#. English this is:
+#.
+#. $ git stash save --blah-blah 2>&1 | head -n 2
+#. error: unknown option for 'stash save': --blah-blah
+#. To provide a message, use git stash save -- '--blah-blah'
+#: git-stash.sh:202
+#, sh-format
+msgid ""
+"error: unknown option for 'stash save': $option\n"
+"       To provide a message, use git stash save -- '$option'"
+msgstr ""
+"lỗi: không hiểu tùy chọn cho 'stash save': $option\n"
+"       Để cung cấp một thông điệp, sử dụng git stash save -- '$option'"
+
 #: git-stash.sh:223
 msgid "No local changes to save"
 msgstr "Không có thay đổi nội bộ nào được ghi lại"
@@ -5162,6 +5331,10 @@ msgstr "Không thể ghi lại cây chỉ mục"
 msgid "Cannot unstage modified files"
 msgstr "Không thể bỏ trạng thía của các tập tin đã được sửa chữa"
 
+#: git-stash.sh:474
+msgid "Index was not unstashed."
+msgstr "Bảng mục lục đã không được bỏ stash."
+
 #: git-stash.sh:491
 #, sh-format
 msgid "Dropped ${REV} ($s)"
@@ -5210,6 +5383,22 @@ msgstr "repo URL: '$repo' phải là đường dẫn tuyệt đối hoặc là b
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' thực sự đã tồn tại ở bảng mục lục rồi"
 
+#: git-submodule.sh:270
+#, sh-format
+msgid ""
+"The following path is ignored by one of your .gitignore files:\n"
+"$sm_path\n"
+"Use -f if you really want to add it."
+msgstr ""
+"Các đường dẫn theo sau đây sẽ bị lờ đi bởi một trong các tập tin .gitignore của bạn:\n"
+"$sm_path\n"
+"Sử dụng -f nếu bạn thực sự muốn thêm nó vào."
+
+#: git-submodule.sh:281
+#, sh-format
+msgid "Adding existing repo at '$sm_path' to the index"
+msgstr "Đang thêm repo có sẵn tại '$sm_path' vào bảng mục lục"
+
 #: git-submodule.sh:283
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
@@ -5240,27 +5429,27 @@ msgstr "Đang nhập '$prefix$sm_path'"
 msgid "Stopping at '$sm_path'; script returned non-zero status."
 msgstr "Dừng lại tại '$sm_path'; script trả về trạng thái khác không."
 
-#: git-submodule.sh:405
+#: git-submodule.sh:406
 #, sh-format
 msgid "No url found for submodule path '$sm_path' in .gitmodules"
 msgstr "Không tìm thấy url cho đường dẫn mô-đun-con '$sm_path' trong .gitmodules"
 
-#: git-submodule.sh:414
+#: git-submodule.sh:415
 #, sh-format
 msgid "Failed to register url for submodule path '$sm_path'"
 msgstr "Gặp lỗi khi đăng ký url cho đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:422
-#, sh-format
-msgid "Failed to register update mode for submodule path '$sm_path'"
-msgstr "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con '$sm_path'"
-
-#: git-submodule.sh:424
+#: git-submodule.sh:417
 #, sh-format
 msgid "Submodule '$name' ($url) registered for path '$sm_path'"
 msgstr "Mô-đun-con '$name' ($url) được đăng ký cho đường dẫn '$sm_path'"
 
-#: git-submodule.sh:523
+#: git-submodule.sh:425
+#, sh-format
+msgid "Failed to register update mode for submodule path '$sm_path'"
+msgstr "Gặp lỗi khi đăng ký chế độ cập nhật cho đường dẫn mô-đun-con '$sm_path'"
+
+#: git-submodule.sh:524
 #, sh-format
 msgid ""
 "Submodule path '$sm_path' not initialized\n"
@@ -5269,84 +5458,105 @@ msgstr ""
 "Đường dẫn mô-đun-con '$sm_path' chưa được khởi tạo\n"
 "Có lẽ bạn muốn sử dụng lệnh 'update --init'?"
 
-#: git-submodule.sh:536
+#: git-submodule.sh:537
 #, sh-format
 msgid "Unable to find current revision in submodule path '$sm_path'"
 msgstr "Không tìm thấy điểm xét lại hiện hành trong đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:555
+#: git-submodule.sh:556
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Không thể lấy về (fetch) trong đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:569
+#: git-submodule.sh:570
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$sm_path'"
 msgstr "Không thể rebase '$sha1' trong đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:570
+#: git-submodule.sh:571
 #, sh-format
 msgid "Submodule path '$sm_path': rebased into '$sha1'"
 msgstr "Đường dẫn mô-đun-con '$sm_path': được rebase vào trong '$sha1'"
 
-#: git-submodule.sh:575
+#: git-submodule.sh:576
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$sm_path'"
 msgstr "Không thể hòa trộn (merge) '$sha1' trong đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:576
+#: git-submodule.sh:577
 #, sh-format
 msgid "Submodule path '$sm_path': merged in '$sha1'"
 msgstr "Đường dẫn mô-đun-con '$sm_path': được hòa trộn vào '$sha1'"
 
-#: git-submodule.sh:581
+#: git-submodule.sh:582
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$sm_path'"
 msgstr "Không thể checkout '$sha1' trong đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:582
+#: git-submodule.sh:583
 #, sh-format
 msgid "Submodule path '$sm_path': checked out '$sha1'"
 msgstr "Đường dẫn mô-đun-con '$sm_path': được checkout '$sha1'"
 
-#: git-submodule.sh:604
-#: git-submodule.sh:927
+#: git-submodule.sh:605
+#: git-submodule.sh:928
 #, sh-format
 msgid "Failed to recurse into submodule path '$sm_path'"
 msgstr "Gặp lỗi khi đệ quy vào trong đường dẫn mô-đun-con '$sm_path'"
 
-#: git-submodule.sh:712
-msgid "--"
-msgstr "--"
+#: git-submodule.sh:713
+msgid "--cached cannot be used with --files"
+msgstr "--cached không thể được sử dụng cùng với --files"
 
-#: git-submodule.sh:770
+#. unexpected type
+#: git-submodule.sh:753
+#, sh-format
+msgid "unexpected mode $mod_dst"
+msgstr "chế độ không như mong chờ $mod_dst"
+
+#: git-submodule.sh:771
 #, sh-format
 msgid "  Warn: $name doesn't contain commit $sha1_src"
 msgstr "  Cảnh báo: $name không chứa lần chuyển giao (commit) $sha1_src"
 
-#: git-submodule.sh:773
+#: git-submodule.sh:774
 #, sh-format
 msgid "  Warn: $name doesn't contain commit $sha1_dst"
 msgstr "  Cảnh báo: $name không chứa lần chuyển giao (commit) $sha1_dst"
 
-#: git-submodule.sh:776
+#: git-submodule.sh:777
 #, sh-format
 msgid "  Warn: $name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr "  Cảnh báo: $name không chứa những lần chuyển giao (commit) $sha1_src và $sha1_dst"
 
-#: git-submodule.sh:801
+#: git-submodule.sh:802
 msgid "blob"
 msgstr "blob"
 
-#: git-submodule.sh:802
+#: git-submodule.sh:803
 msgid "submodule"
 msgstr "mô-đun con"
 
-#: git-submodule.sh:973
+#: git-submodule.sh:840
+msgid "# Submodules changed but not updated:"
+msgstr "# Những mô-đun-con đã bị thay đổi nhưng chưa được cập nhật:"
+
+#: git-submodule.sh:842
+msgid "# Submodule changes to be committed:"
+msgstr "# Những thay đổi mô-đun-con được chuyển giao (commit):"
+
+#: git-submodule.sh:974
 #, sh-format
 msgid "Synchronizing submodule url for '$name'"
 msgstr "Đang đồng bộ hóa url mô-đun-con cho '$name'"
 
+#~ msgid "--"
+#~ msgstr "--"
+
+#~ msgid "Could not extract email from committer identity."
+#~ msgstr ""
+#~ "Không thể rút trích địa chỉ thư điện tử từ định danh người chuyển giao"
+
 #, fuzzy
 #~ msgid "could not parse commit %s\n"
 #~ msgstr "Không thể phân tích commit (lần chuyển giao) %s\n"