Add expand/compress image button on image view box (#15068)

* add zoom image button

* enhance zoom algorithm & add translation

* code structure

* code structure

* code structure

* enhance grab performance

* rm useless state

* fix behavior on Firefox & scroll lock & horizontal scroll with mousewheel

* remove scroll lock on MouseWheelEvent

* code structure

* enhance algorithm and code structure

* rm Gemfile.lock from tree

* codeclimate

* fix a stupid mistake
This commit is contained in:
Mashiro
2020-11-03 04:16:38 +08:00
committed by GitHub
parent 4b2ec4a2dc
commit 6a2db10f76
79 changed files with 2029 additions and 23 deletions

View File

@ -9,8 +9,10 @@
"account.browse_more_on_origin_server": "Tìm những tài khoản có liên quan",
"account.cancel_follow_request": "Hủy yêu cầu theo dõi",
"account.direct": "Nhắn tin cho @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts",
"account.domain_blocked": "Đã chặn người dùng",
"account.edit_profile": "Chỉnh sửa trang cá nhân",
"account.enable_notifications": "Notify me when @{name} posts",
"account.endorse": "Vinh danh người này",
"account.follow": "Theo dõi",
"account.followers": "Người theo dõi",
@ -166,7 +168,9 @@
"empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn tin cho một ai đó.",
"empty_column.public": "Trống trơn! Bạn hãy viết gì đó hoặc bắt đầu theo dõi người dùng khác",
"error.unexpected_crash.explanation": "Trang này có thể không hiển thị chính xác do lỗi lập trình Mastodon hoặc vấn đề tương thích trình duyệt.",
"error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
"error.unexpected_crash.next_steps": "Hãy thử làm mới trang. Nếu vẫn không được, bạn hãy vào Mastodon bằng một ứng dụng di động hoặc trình duyệt khác.",
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Sao chép stacktrace vào clipboard",
"errors.unexpected_crash.report_issue": "Báo cáo lỗi",
"follow_request.authorize": "Cho phép",
@ -250,6 +254,8 @@
"keyboard_shortcuts.unfocus": "đưa con trỏ ra khỏi ô soạn thảo hoặc ô tìm kiếm",
"keyboard_shortcuts.up": "di chuyển lên trên danh sách",
"lightbox.close": "Đóng",
"lightbox.compress": "Compress image view box",
"lightbox.expand": "Expand image view box",
"lightbox.next": "Tiếp",
"lightbox.previous": "Trước",
"lightbox.view_context": "Xem nội dung",
@ -260,6 +266,10 @@
"lists.edit.submit": "Thay đổi tiêu đề",
"lists.new.create": "Thêm vào danh sách",
"lists.new.title_placeholder": "Tên danh sách mới",
"lists.replies_policy.all_replies": "Any followed user",
"lists.replies_policy.list_replies": "Members of the list",
"lists.replies_policy.no_replies": "No one",
"lists.replies_policy.title": "Show replies to:",
"lists.search": "Tìm kiếm những người mà bạn quan tâm",
"lists.subheading": "Danh sách của bạn",
"load_pending": "{count, plural, one {# tút} other {# tút}}",
@ -267,7 +277,9 @@
"media_gallery.toggle_visible": "Ẩn {number, plural, one {ảnh} other {ảnh}}",
"missing_indicator.label": "Không tìm thấy",
"missing_indicator.sublabel": "Không tìm thấy cái này",
"mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Ẩn thông báo từ người dùng này?",
"mute_modal.indefinite": "Indefinite",
"navigation_bar.apps": "Apps",
"navigation_bar.blocks": "Người dùng đã chặn",
"navigation_bar.bookmarks": "Đã lưu",
@ -298,6 +310,7 @@
"notification.own_poll": "Cuộc thăm dò của bạn đã kết thúc",
"notification.poll": "Một cuộc thăm dò mà bạn tham gia đã kết thúc",
"notification.reblog": "{name} chia sẻ tút của bạn",
"notification.status": "{name} just posted",
"notifications.clear": "Làm trống thông báo",
"notifications.clear_confirmation": "Bạn có chắc chắn muốn xóa vĩnh viễn tất cả thông báo của mình?",
"notifications.column_settings.alert": "Thông báo trên máy tính",
@ -313,13 +326,22 @@
"notifications.column_settings.reblog": "Lượt chia sẻ mới:",
"notifications.column_settings.show": "Thông báo trên thanh menu",
"notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"",
"notifications.column_settings.status": "New toots:",
"notifications.filter.all": "Toàn bộ",
"notifications.filter.boosts": "Chia sẻ",
"notifications.filter.favourites": "Thích",
"notifications.filter.follows": "Đang theo dõi",
"notifications.filter.mentions": "Lượt nhắc đến",
"notifications.filter.polls": "Kết quả cuộc thăm dò",
"notifications.filter.statuses": "Updates from people you follow",
"notifications.group": "{count} thông báo",
"notifications.mark_as_read": "Mark every notification as read",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
"notifications_permission_banner.enable": "Enable desktop notifications",
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
"notifications_permission_banner.title": "Never miss a thing",
"picture_in_picture.restore": "Put it back",
"poll.closed": "Cuộc thăm dò đã kết thúc",
"poll.refresh": "Làm mới",
"poll.total_people": "{count, plural, one {# người bình chọn} other {# người bình chọn}}",
@ -446,6 +468,7 @@
"upload_modal.detect_text": "Phát hiện văn bản trong hình ảnh",
"upload_modal.edit_media": "Chỉnh sửa ảnh/video",
"upload_modal.hint": "Nhấp hoặc kéo vòng tròn trên bản xem trước để chọn phần hiển thị trên hình thu nhỏ.",
"upload_modal.preparing_ocr": "Preparing OCR…",
"upload_modal.preview_label": "Xem trước ({ratio})",
"upload_progress.label": "Đang tải lên...",
"video.close": "Đóng video",