Browse Source

locale: sync from Crowdin (#6510)

* locale: sync from Crowdin

* Fix tests
ᴜɴᴋɴᴡᴏɴ 4 years ago
parent
commit
509a392272

+ 1 - 0
CHANGELOG.md

@@ -9,6 +9,7 @@ All notable changes to Gogs are documented in this file.
 - An unlisted option is added when create or migrate a repository. Unlisted repositories are public but not being listed for users without direct access in the UI. [#5733](https://github.com/gogs/gogs/issues/5733)
 - New configuration option `[git.timeout] DIFF` for customizing operation timeout of `git diff`. [#6315](https://github.com/gogs/gogs/issues/6315)
 - New configuration option `[server] SSH_SERVER_MACS` for setting list of accepted MACs for connections to builtin SSH server. [#6434](https://github.com/gogs/gogs/issues/6434)
+- New languages support: Mongolian. [#6510](https://github.com/gogs/gogs/pull/6510)
 
 ### Changed
 

+ 3 - 2
conf/app.ini

@@ -521,8 +521,8 @@ BASIC_AUTH_PASSWORD =
 [highlight.mapping]
 
 [i18n]
-LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT
-NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português
+LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT, mn-MN
+NAMES = English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português,Монгол
 
 ; Used for datetimepicker
 [i18n.datelang]
@@ -556,6 +556,7 @@ id-ID = id
 fa-IR = fa
 vi-VN = vi
 pt-PT = pt
+mn-MN = mn
 
 [other]
 SHOW_FOOTER_BRANDING = false

+ 8 - 8
conf/locale/locale_it-IT.ini

@@ -44,8 +44,8 @@ issues=Problemi
 cancel=Annulla
 
 [status]
-page_not_found=Page Not Found
-internal_server_error=Internal Server Error
+page_not_found=Pagina Non Trovata
+internal_server_error=Errore Interno del Server
 
 [install]
 install=Installazione
@@ -125,7 +125,7 @@ run_user_not_match=Run user non è l'utente corrente:  %s -> %s
 smtp_host_missing_port=All'Host SMTP manca la porta nell'indirizzo.
 invalid_smtp_from=Campo SMTP From non valido: %v
 save_config_failed=Fallito il salvataggio della configurazione: %v
-init_failed=Failed to initialize application: %v
+init_failed=Impossibile inizializzare l'applicazione: %v
 invalid_admin_setting=Impostazioni account Admin non valide: %v
 install_success=Benvenuto! Siamo felici che tu abbia scelto Gogs, buon divertimento.
 invalid_log_root_path=Percorso deilog non valido: %v
@@ -263,7 +263,7 @@ following=Seguiti
 follow=Segui
 unfollow=Non seguire più
 
-form.name_not_allowed=User name or pattern %q is not allowed.
+form.name_not_allowed=Nome utente o schema %q non consentito.
 
 [settings]
 profile=Profilo
@@ -377,7 +377,7 @@ delete_token=Elimina
 access_token_deletion=Eliminazione Token di accesso personale
 access_token_deletion_desc=Eliminare questo token di accesso personale rimuoverà tutti i relativi accessi di applicazione. Si desidera continuare?
 delete_token_success=Il token di accesso personale è stato eliminato! Non dimenticare di aggiornare anche l'applicazione.
-token_name_exists=Token with same name already exists.
+token_name_exists=Un token con lo stesso nome esiste già.
 
 orgs.none=Non sei membro di alcuna organizzazione.
 orgs.leave_title=Abbandona una organizzazione
@@ -417,7 +417,7 @@ auto_init=Inizializzare questo repository con i file e il modello selezionati
 create_repo=Crea Repository
 default_branch=Ramo (Branch) predefinito
 mirror_prune=Rimuovi
-mirror_prune_desc=Remove any remote-tracking references that no longer exist on the remote
+mirror_prune_desc=Rimuovi ogni riferimento di monitoraggio remoto che non esiste più sul telecomando
 mirror_interval=Intervallo Mirror (in ore)
 mirror_address=Indirizzo del mirror
 mirror_address_desc=Si prega di includere nell'indirizzo le credenziali utente necessarie.
@@ -425,11 +425,11 @@ mirror_last_synced=Ultimo aggiornamento
 watchers=Osservatori
 stargazers=Fan
 forks=Fork
-repo_description_helper=Description of repository. Maximum 512 characters length.
+repo_description_helper=Descrizione della repository. Lunghezza massima di 512 caratteri.
 repo_description_length=Caratteri disponibili
 
 form.reach_limit_of_creation=Il proprietario ha raggiunto il limite massimo di %d repository creati.
-form.name_not_allowed=Repository name or pattern %q is not allowed.
+form.name_not_allowed=Nome della repository o schema %q non consentiti.
 
 need_auth=Richiesta di autorizzazione
 migrate_type=Tipo di migrazione

File diff suppressed because it is too large
+ 1419 - 0
conf/locale/locale_mn-MN.ini


+ 1 - 1
conf/locale/locale_nl-NL.ini

@@ -44,7 +44,7 @@ issues=Issues
 cancel=Annuleren
 
 [status]
-page_not_found=Page Not Found
+page_not_found=Pagina niet gevonden
 internal_server_error=Internal Server Error
 
 [install]

File diff suppressed because it is too large
+ 42 - 42
conf/locale/locale_ru-RU.ini


+ 6 - 6
conf/locale/locale_sk-SK.ini

@@ -1183,13 +1183,13 @@ config.server.unix_socket_permission=Oprávnenie Unix socketu
 config.server.local_root_url=Local root URL
 config.server.offline_mode=Offline mode
 config.server.disable_router_log=Disable router log
-config.server.enable_gzip=Enable Gzip
+config.server.enable_gzip=Povoliť Gzip
 config.server.app_data_path=Application data path
 config.server.load_assets_from_disk=Load assets from disk
 config.server.landing_url=Landing URL
 
 config.ssh_config=Nastavenie SSH
-config.ssh.enabled=Enabled
+config.ssh.enabled=Povolené
 config.ssh.domain=Exposed domain
 config.ssh.port=Exposed port
 config.ssh.root_path=Root path
@@ -1211,7 +1211,7 @@ config.repo.force_private=Force private
 config.repo.max_creation_limit=Max creation limit
 config.repo.preferred_licenses=Preferred licenses
 config.repo.disable_http_git=Disable HTTP Git
-config.repo.enable_local_path_migration=Enable local path migration
+config.repo.enable_local_path_migration=Povoliť migráciu z miestnej cesty
 config.repo.enable_raw_file_render_mode=Enable raw file render mode
 config.repo.commits_fetch_concurrency=Commits fetch concurrency
 config.repo.editor.line_wrap_extensions=Editor line wrap extensions
@@ -1244,7 +1244,7 @@ config.security.enable_login_status_cookie=Enable login status cookie
 config.security.login_status_cookie_name=Login status cookie
 
 config.email_config=Email configuration
-config.email.enabled=Enabled
+config.email.enabled=Povolené
 config.email.subject_prefix=Subject prefix
 config.email.host=Host
 config.email.from=From
@@ -1273,7 +1273,7 @@ config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto reg
 config.auth.reverse_proxy_authentication_header=Reverse proxy authentication header
 
 config.user_config=User configuration
-config.user.enable_email_notify=Enable email notification
+config.user.enable_email_notify=Povoliť e-mailové notifikácie
 
 config.session_config=Nastavenie session
 config.session.provider=Provider
@@ -1293,7 +1293,7 @@ config.http_config=HTTP konfigurácia
 config.http.access_control_allow_origin=Access control allow origin
 
 config.attachment_config=Attachment configuration
-config.attachment.enabled=Enabled
+config.attachment.enabled=Povolené
 config.attachment.path=Path
 config.attachment.allowed_types=Allowed types
 config.attachment.max_size=Size limit

+ 20 - 20
conf/locale/locale_uk-UA.ini

@@ -805,7 +805,7 @@ settings.webhook.response=Відповідь
 settings.webhook.headers=Заголовки
 settings.webhook.payload=Зміст
 settings.webhook.body=Тіло
-settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
+settings.webhook.err_cannot_parse_payload_url=Неможливо розібрати payload URL: %v
 settings.webhook.err_cannot_use_local_addresses=Не адміністраторам не дозволено використовувати локальні адреси.
 settings.githooks_desc=Git хуки керуються самим Git, ви можете редагувати файли хуків, що підтримуються згідно списку нище, щоб виконувати будь-які операції.
 settings.githook_edit_desc=Якщо хук неактивний, буде представлено зразок вмісту. Порожнє значення у цьому полі призведе до вимкнення хуку.
@@ -933,7 +933,7 @@ team_name_helper=Ви будете використовувати це ім'я 
 team_desc_helper=Що це за команда?
 team_permission_desc=Який рівень дозволів має бути у цієї команди?
 
-form.name_not_allowed=Organization name or pattern %q is not allowed.
+form.name_not_allowed=Назва організації чи паттерн %q, не дозволені.
 form.team_name_not_allowed=Назва команди або шаблон %q не допоскаються.
 
 settings=Налаштування
@@ -1190,12 +1190,12 @@ config.server.landing_url=Landing URL
 
 config.ssh_config=Налаштування SSH
 config.ssh.enabled=Увімкнено
-config.ssh.domain=Exposed domain
-config.ssh.port=Exposed port
+config.ssh.domain=Виділений домен
+config.ssh.port=Виділений порт
 config.ssh.root_path=Шлях до кореня
-config.ssh.keygen_path=Keygen path
-config.ssh.key_test_path=Key test path
-config.ssh.minimum_key_size_check=Minimum key size check
+config.ssh.keygen_path=Шлях до генератора ключа
+config.ssh.key_test_path=Шлях до тестового ключа
+config.ssh.minimum_key_size_check=Перевірка мінімального розміру ключа
 config.ssh.minimum_key_sizes=Мінімальні розміри ключів
 config.ssh.rewrite_authorized_keys_at_start=Rewrite "authorized_keys" at start
 config.ssh.start_builtin_server=Запустити вбудований сервер
@@ -1206,8 +1206,8 @@ config.ssh.server_ciphers=Server ciphers
 config.repo_config=Налаштування репозиторія
 config.repo.root_path=Кореневий шлях
 config.repo.script_type=Script type
-config.repo.ansi_chatset=ANSI charset
-config.repo.force_private=Force private
+config.repo.ansi_chatset=Набір символів ANSI
+config.repo.force_private=Примусово приватний
 config.repo.max_creation_limit=Max creation limit
 config.repo.preferred_licenses=Preferred licenses
 config.repo.disable_http_git=Disable HTTP Git
@@ -1300,23 +1300,23 @@ config.attachment.max_size=Ліміт розміру
 config.attachment.max_files=Ліміт файлів
 
 config.release_config=Release configuration
-config.release.attachment.enabled=Attachment enabled
-config.release.attachment.allowed_types=Attachment allowed types
-config.release.attachment.max_size=Attachment size limit
-config.release.attachment.max_files=Attachment files limit
+config.release.attachment.enabled=Вкладення увімкнено
+config.release.attachment.allowed_types=Дозволені типи вкладень
+config.release.attachment.max_size=Ліміт розміру вкладення
+config.release.attachment.max_files=Ліміт прикріплених файлів
 
 config.picture_config=Налаштування зображень
-config.picture.avatar_upload_path=User avatar upload path
-config.picture.repo_avatar_upload_path=Repository avatar upload path
+config.picture.avatar_upload_path=Шлях завантаження аватарок користувачем
+config.picture.repo_avatar_upload_path=Шлях завантаження аватарок в репозиторії
 config.picture.gravatar_source=Джерело граватарів
 config.picture.disable_gravatar=Вимкнути граватари
-config.picture.enable_federated_avatar=Enable federated avatars
+config.picture.enable_federated_avatar=Включити федеративні аватарки
 
-config.mirror_config=Mirror configuration
-config.mirror.default_interval=Default interval
+config.mirror_config=Налаштування дзеркала
+config.mirror.default_interval=Інтервал за замовчуванням
 
 config.webhook_config=Налаштування web-хуків
-config.webhook.types=Types
+config.webhook.types=Типи
 config.webhook.deliver_timeout=Deliver timeout
 config.webhook.skip_tls_verify=Skip TLS verify
 
@@ -1330,7 +1330,7 @@ config.git.migrate_timeout=Migration timeout
 config.git.mirror_timeout=Mirror fetch timeout
 config.git.clone_timeout=Clone timeout
 config.git.pull_timeout=Pull timeout
-config.git.gc_timeout=GC timeout
+config.git.gc_timeout=Затримка GC
 
 config.lfs_config=Налаштування LFS
 config.lfs.storage=Сховище

+ 81 - 81
conf/locale/locale_vi-VN.ini

@@ -44,8 +44,8 @@ issues=Các vấn đề
 cancel=Hủy bỏ
 
 [status]
-page_not_found=Page Not Found
-internal_server_error=Internal Server Error
+page_not_found=Không tìm thấy trang này!
+internal_server_error=Lỗi nội bộ máy chủ.
 
 [install]
 install=Cài đặt
@@ -125,7 +125,7 @@ run_user_not_match=Người dùng đang chạy không phải là người dùng
 smtp_host_missing_port=SMTP host thiếu thông tin cổng ở địa chỉ.
 invalid_smtp_from=Trường SMTP không hợp lệ: %v
 save_config_failed=Lưu cấu hình thất bại: %v
-init_failed=Failed to initialize application: %v
+init_failed=Lỗi khởi tạo ứng dụng: %v
 invalid_admin_setting=Thiết lập tài khoản admin không hợp lệ: %v
 install_success=Chào mừng! Chúng tôi vui mừng vì bạn chọn Gogs, chúc bạn vui.
 invalid_log_root_path=Đường dẫn gốc cho Log không hợp lệ: %v
@@ -235,7 +235,7 @@ org_name_been_taken=Tên tổ chức đã được sử dụng.
 team_name_been_taken=Tên nhóm đã được sử dụng.
 email_been_used=Email đã được sử dụng.
 username_password_incorrect=Tên đăng nhập hoặc mật khẩu không đúng.
-auth_source_mismatch=The authentication source selected is not associated with the user.
+auth_source_mismatch=Nguồn xác thực không liên kết đến người dùng.
 enterred_invalid_repo_name=Hãy chắc chắn tên kho đã nhập chính xác.
 enterred_invalid_owner_name=Please make sure that the owner name you entered is correct.
 enterred_invalid_password=Please make sure the that password you entered is correct.
@@ -263,7 +263,7 @@ following=Đang theo dõi
 follow=Theo dõi
 unfollow=Bỏ theo dõi
 
-form.name_not_allowed=User name or pattern %q is not allowed.
+form.name_not_allowed=Tên người dùng %q là không được phép.
 
 [settings]
 profile=Hồ sơ
@@ -354,7 +354,7 @@ two_factor_or_enter_secret=Hoặc nhập mã bí mật:
 two_factor_then_enter_passcode=Sau đó nhập mã:
 two_factor_verify=Xác minh
 two_factor_invalid_passcode=Mật mã mà bạn đã nhập không hợp lệ, hãy thử lại!
-two_factor_reused_passcode=The passcode you entered has already been used, please try another one!
+two_factor_reused_passcode=Mã bạn nhập đã được sử dụng, hãy nhập mã khác
 two_factor_enable_error=Kích hoạt xác thực 2 yếu tố không thành công: %v
 two_factor_enable_success=Xác thực 2 yếu tố đã kích hoạt cho tài khoản của bạn thành công!
 two_factor_recovery_codes_title=Mã khôi phục xác thực 2 yếu tố
@@ -377,7 +377,7 @@ delete_token=Xóa
 access_token_deletion=Xóa mã truy cập cá nhân
 access_token_deletion_desc=Xóa mã quyền truy cập cá nhân sẽ loại bỏ tất cả liên quan đến truy cập của ứng dụng. Bạn có muốn tiếp tục?
 delete_token_success=Mã truy cập cá nhân đã được loại bỏ thành công! Đừng quên để cập nhật ứng dụng của bạn.
-token_name_exists=Token with same name already exists.
+token_name_exists=Token cùng tên đã tồn tại
 
 orgs.none=Bạn không là thành viên của bất kỳ tổ chức nào.
 orgs.leave_title=Rời khỏi tổ chức
@@ -425,11 +425,11 @@ mirror_last_synced=Lần đồng bộ cuối
 watchers=Người theo dõi
 stargazers=Stargazers
 forks=Forks
-repo_description_helper=Description of repository. Maximum 512 characters length.
-repo_description_length=Available characters
+repo_description_helper=Mô tả Reoisitory. Tối đa 512 ký tự
+repo_description_length=Ký tự cho phép
 
 form.reach_limit_of_creation=Chủ sở hữu đã đạt giới hạn tối đa %d kho.
-form.name_not_allowed=Repository name or pattern %q is not allowed.
+form.name_not_allowed=Tên Repository %q là không hợp lệ
 
 need_auth=Cần xác thực Ủy quyền
 migrate_type=Migration Type
@@ -523,7 +523,7 @@ editor.file_changed_while_editing=File content has been changed since you starte
 editor.file_already_exists=Tên tập tin '%s' đã tồn tại trong kho này.
 editor.no_changes_to_show=Không có thay đổi nào.
 editor.fail_to_update_file=Failed to update/create file '%s' with error: %v
-editor.fail_to_delete_file=Failed to delete file '%s' with error: %v
+editor.fail_to_delete_file=Lỗi không xóa được file '%s' : %v
 editor.add_subdir=Thêm thư mục con...
 editor.unable_to_upload_files=Failed to upload files to '%s' with error: %v
 editor.upload_files_to_dir=Tải tập tin đến '%s'
@@ -644,7 +644,7 @@ pulls.cannot_auto_merge_desc=Yêu cầu kéo này không thể được kết h
 pulls.cannot_auto_merge_helper=Xin vui lòng nhập theo cách thủ công để giải quyết các cuộc xung đột.
 pulls.create_merge_commit=Tạo một merge commit
 pulls.rebase_before_merging=Rebase trước khi sáp nhập
-pulls.commit_description=Commit Description
+pulls.commit_description=Mô tả commit
 pulls.merge_pull_request=Merge Pull Request
 pulls.open_unmerged_pull_exists=' Bạn không thể thực hiện thao tác reopen vì đã có một yêu cầu kéo đang mở (#%d) từ kho lưu trữ cùng với cùng một kết hợp thông tin và chờ đợi cho việc sáp nhập.'
 pulls.delete_branch=Xóa nhánh
@@ -789,8 +789,8 @@ settings.remove_collaborator_success=Cộng tác viên đã được gỡ bỏ.
 settings.search_user_placeholder=Tìm kiếm người dùng...
 settings.org_not_allowed_to_be_collaborator=Tổ chức không được phép được thêm vào như là một cộng tác viên.
 settings.hooks_desc=Webhooks nhiều như cơ bản HTTP bài sự kiện gây nên. Bất cứ khi nào một cái gì đó xảy ra tại Gogs, chúng tôi sẽ xử lý thông báo máy chủ mục tiêu mà bạn chỉ định. Tìm hiểu thêm trong này <a target="_blank" href="%s">Webhooks hướng dẫn</a>.
-settings.webhooks.add_new=Add a new webhook:
-settings.webhooks.choose_a_type=Choose a type...
+settings.webhooks.add_new=Thêm webhook mới:
+settings.webhooks.choose_a_type=Chọn kiểu...
 settings.add_webhook=Thêm Webhook
 settings.webhook_deletion=Xóa Webhook
 settings.webhook_deletion_desc=Xóa bỏ điều này webhook sẽ loại bỏ tất cả phân phối lịch sử và thông tin của nó. Bạn có muốn tiếp tục?
@@ -806,7 +806,7 @@ settings.webhook.headers=Tiêu đề
 settings.webhook.payload=Trả phí
 settings.webhook.body=Nội dung
 settings.webhook.err_cannot_parse_payload_url=Cannot parse payload URL: %v
-settings.webhook.err_cannot_use_local_addresses=Non admins are not allowed to use local addresses.
+settings.webhook.err_cannot_use_local_addresses=Quản trị không cho phép sử dụng những địa chỉ nội bộ này.
 settings.githooks_desc=Git Hooks are powered by Git itself, you can edit files of supported hooks in the list below to perform custom operations.
 settings.githook_edit_desc=If the hook is inactive, sample content will be presented. Leaving content to an empty value will disable this hook.
 settings.githook_name=Tên Hook
@@ -867,8 +867,8 @@ settings.add_key_success=Bộ nhớ heap đã được phát hành!
 settings.deploy_key_deletion=Xóa Khóa triển khai
 settings.deploy_key_deletion_desc=Xóa bỏ điều này triển khai các phím sẽ loại bỏ tất cả liên quan đến truy cập cho các kho lưu trữ này. Bạn có muốn tiếp tục?
 settings.deploy_key_deletion_success=Deploy key has been deleted successfully!
-settings.description_desc=Description of repository. Maximum 512 characters length.
-settings.description_length=Available characters
+settings.description_desc=Mô tả kho. Tối đa 512 ký tự
+settings.description_length=Ký tự cho phép
 
 diff.browse_source=Browse Source
 diff.parent=mục cha
@@ -933,8 +933,8 @@ team_name_helper=Bạn sẽ sử dụng tên này đề cập đến nhóm này
 team_desc_helper=Thông tin về nhóm này là gì?
 team_permission_desc=Cấp độ quyền nhóm này có?
 
-form.name_not_allowed=Organization name or pattern %q is not allowed.
-form.team_name_not_allowed=Team name or pattern %q is not allowed.
+form.name_not_allowed=Tên tổ chức %q là không hợp lệ.
+form.team_name_not_allowed=Tên nhóm %q là không hợp lệ
 
 settings=Các cài đặt
 settings.options=Tuỳ chọn
@@ -1007,9 +1007,9 @@ last_page=Cuối
 total=Tổng: %d
 
 dashboard.build_info=Build Information
-dashboard.app_ver=Application version
-dashboard.git_version=Git version
-dashboard.go_version=Go version
+dashboard.app_ver=Phiên bản phần mềm
+dashboard.git_version=Phiên bản Git
+dashboard.go_version=Phiên bản Go
 dashboard.build_time=Build time
 dashboard.build_commit=Build commit
 dashboard.statistic=Thống kê
@@ -1110,12 +1110,12 @@ repos.stars=Sao
 repos.issues=Các vấn đề
 repos.size=Kích cỡ
 
-auths.auth_sources=Authentication Sources
+auths.auth_sources=Nguồn xác thực
 auths.new=Thêm mới source
 auths.name=Tên
 auths.type=Loại
 auths.enabled=Đã kích hoạt
-auths.default=Default
+auths.default=Mặc định
 auths.updated=Đã cập nhật
 auths.auth_type=Loại xác thực
 auths.auth_name=Tên đăng nhập xác thực
@@ -1168,20 +1168,20 @@ auths.github_api_endpoint=API Endpoint
 
 config.not_set=(chưa đặt)
 config.server_config=Cấu hình server
-config.brand_name=Brand name
+config.brand_name=Tên nhánh
 config.run_user=Người dùng đang chạy
 config.run_mode=Chế độ đang chạy
-config.server.external_url=External URL
+config.server.external_url=URL bên ngoài
 config.server.domain=Domain
-config.server.protocol=Protocol
-config.server.http_addr=HTTP address
-config.server.http_port=HTTP port
-config.server.cert_file=Certificate file
+config.server.protocol=Giao thức
+config.server.http_addr=Địa chỉ HTTP
+config.server.http_port=Cổng HTTP
+config.server.cert_file=Tập tin Chứng thư
 config.server.key_file=Key file
 config.server.tls_min_version=Minimum TLS version
 config.server.unix_socket_permission=Unix socket permission
-config.server.local_root_url=Local root URL
-config.server.offline_mode=Offline mode
+config.server.local_root_url=URL gốc nội bộ
+config.server.offline_mode=Chế độ ngoại tuyến
 config.server.disable_router_log=Disable router log
 config.server.enable_gzip=Enable Gzip
 config.server.app_data_path=Application data path
@@ -1189,7 +1189,7 @@ config.server.load_assets_from_disk=Load assets from disk
 config.server.landing_url=Landing URL
 
 config.ssh_config=Cấu hình SSH
-config.ssh.enabled=Enabled
+config.ssh.enabled=Đã bật
 config.ssh.domain=Exposed domain
 config.ssh.port=Exposed port
 config.ssh.root_path=Root path
@@ -1210,7 +1210,7 @@ config.repo.ansi_chatset=ANSI charset
 config.repo.force_private=Force private
 config.repo.max_creation_limit=Max creation limit
 config.repo.preferred_licenses=Preferred licenses
-config.repo.disable_http_git=Disable HTTP Git
+config.repo.disable_http_git=Vô hiệu hóa HTTP Git
 config.repo.enable_local_path_migration=Enable local path migration
 config.repo.enable_raw_file_render_mode=Enable raw file render mode
 config.repo.commits_fetch_concurrency=Commits fetch concurrency
@@ -1229,8 +1229,8 @@ config.db.name=Name
 config.db.user=User
 config.db.ssl_mode=SSL mode
 config.db.ssl_mode_helper=(for "postgres" only)
-config.db.path=Path
-config.db.path_helper=(for "sqlite3"only)
+config.db.path=Đường dẫn
+config.db.path_helper=(chỉ cho phép "sqlite3")
 config.db.max_open_conns=Maximum open connections
 config.db.max_idle_conns=Maximum idle connections
 
@@ -1243,30 +1243,30 @@ config.security.reverse_proxy_auth_user=Reverse proxy authentication header
 config.security.enable_login_status_cookie=Enable login status cookie
 config.security.login_status_cookie_name=Login status cookie
 
-config.email_config=Email configuration
-config.email.enabled=Enabled
-config.email.subject_prefix=Subject prefix
+config.email_config=Cấu hình Email
+config.email.enabled=Đã bật
+config.email.subject_prefix=Subject Prefix
 config.email.host=Host
-config.email.from=From
+config.email.from=Từ
 config.email.user=User
-config.email.disable_helo=Disable HELO
-config.email.helo_hostname=HELO hostname
-config.email.skip_verify=Skip certificate verify
-config.email.use_certificate=Use custom certificate
-config.email.cert_file=Certificate file
+config.email.disable_helo=Vô hiệu hoá HELO
+config.email.helo_hostname=Tên máy chủ HELO
+config.email.skip_verify=Bỏ qua xác thực chứng thư
+config.email.use_certificate=Sử dụng chứng thư tự tạo
+config.email.cert_file=Tập tin Chứng thư
 config.email.key_file=Key file
-config.email.use_plain_text=Use plain text
-config.email.add_plain_text_alt=Add plain text alternative
-config.email.send_test_mail=Send test email
-config.email.test_mail_failed=Failed to send test email to '%s': %v
-config.email.test_mail_sent=Test email has been sent to '%s'.
+config.email.use_plain_text=Dùng text
+config.email.add_plain_text_alt=Thêm text thay thế
+config.email.send_test_mail=Gửi Kiểm Tra Email
+config.email.test_mail_failed=Gửi email kiểm tra đến '%s':%v thất bại
+config.email.test_mail_sent=Email kiểm tra đã được gửi đến '%s'.
 
-config.auth_config=Authentication configuration
+config.auth_config=Cấu hình xác thực
 config.auth.activate_code_lives=Activate code lives
 config.auth.reset_password_code_lives=Reset password code lives
-config.auth.require_email_confirm=Require email confirmation
-config.auth.require_sign_in_view=Require sign in view
-config.auth.disable_registration=Disable registration
+config.auth.require_email_confirm=Yêu cầu xác nhận email
+config.auth.require_sign_in_view=Yêu cầu đăng nhập để xem
+config.auth.disable_registration=Vô hiệu hóa đăng ký
 config.auth.enable_registration_captcha=Enable registration captcha
 config.auth.enable_reverse_proxy_authentication=Enable reverse proxy authentication
 config.auth.enable_reverse_proxy_auto_registration=Enable reverse proxy auto registration
@@ -1279,7 +1279,7 @@ config.session_config=Cấu hình session
 config.session.provider=Provider
 config.session.provider_config=Provider config
 config.session.cookie_name=Cookie
-config.session.https_only=HTTPS only
+config.session.https_only=Chỉ HTTPS
 config.session.gc_interval=GC interval
 config.session.max_life_time=Max life time
 config.session.csrf_cookie_name=CSRF cookie
@@ -1293,46 +1293,46 @@ config.http_config=Cấu hình HTTP
 config.http.access_control_allow_origin=Access control allow origin
 
 config.attachment_config=Attachment configuration
-config.attachment.enabled=Enabled
-config.attachment.path=Path
+config.attachment.enabled=Đã bật
+config.attachment.path=Đường dẫn
 config.attachment.allowed_types=Allowed types
-config.attachment.max_size=Size limit
-config.attachment.max_files=Files limit
+config.attachment.max_size=Giới hạn kích thước
+config.attachment.max_files=Giới hạn số lượng tệp tin
 
 config.release_config=Release configuration
-config.release.attachment.enabled=Attachment enabled
-config.release.attachment.allowed_types=Attachment allowed types
-config.release.attachment.max_size=Attachment size limit
-config.release.attachment.max_files=Attachment files limit
+config.release.attachment.enabled=Cho phép tệp đính kèm
+config.release.attachment.allowed_types=Loại tệp tin đính kèm
+config.release.attachment.max_size=Giới hạn dung lượng đính kèm
+config.release.attachment.max_files=Giới hạn số lượng tệp đính kèm
 
 config.picture_config=Cấu hình ảnh
-config.picture.avatar_upload_path=User avatar upload path
-config.picture.repo_avatar_upload_path=Repository avatar upload path
-config.picture.gravatar_source=Gravatar source
-config.picture.disable_gravatar=Disable Gravatar
-config.picture.enable_federated_avatar=Enable federated avatars
+config.picture.avatar_upload_path=Đường dẫn tệp Ảnh đại diện
+config.picture.repo_avatar_upload_path=Đường dẫn tệp Ảnh đại diện kho
+config.picture.gravatar_source=Nguồn Gravatar 
+config.picture.disable_gravatar=Vô hiệu hóa Gravatar
+config.picture.enable_federated_avatar=Bật Federated Avatars
 
 config.mirror_config=Mirror configuration
 config.mirror.default_interval=Default interval
 
 config.webhook_config=Cấu hình Webhook
-config.webhook.types=Types
-config.webhook.deliver_timeout=Deliver timeout
-config.webhook.skip_tls_verify=Skip TLS verify
+config.webhook.types=Kiểu
+config.webhook.deliver_timeout=Thời gian chờ phân phối
+config.webhook.skip_tls_verify=Bỏ qua xác thực TLS
 
 config.git_config=Cấu hình Git
 config.git.disable_diff_highlight=Disable diff syntax highlight
 config.git.max_diff_lines=Diff lines limit (for a single file)
 config.git.max_diff_line_characters=Diff characters limit (for a single line)
 config.git.max_diff_files=Diff files limit (for a single diff)
-config.git.gc_args=GC arguments
-config.git.migrate_timeout=Migration timeout
-config.git.mirror_timeout=Mirror fetch timeout
-config.git.clone_timeout=Clone timeout
-config.git.pull_timeout=Pull timeout
+config.git.gc_args=Các tham số GC
+config.git.migrate_timeout=Thời gian chờ Migration
+config.git.mirror_timeout=Thời gian chờ Mirror fetch
+config.git.clone_timeout=Thời gian chờ Clone
+config.git.pull_timeout=Thời gian chờ kéo
 config.git.gc_timeout=GC timeout
 
-config.lfs_config=LFS configuration
+config.lfs_config=Cấu hình LFS
 config.lfs.storage=Storage
 config.lfs.objects_path=Objects path
 
@@ -1385,9 +1385,9 @@ delete_branch=xóa chi nhánh <code>%[2]s</code> tại <a href="%[1]s">%[3]s</a>
 push_tag=đã đẩy thẻ tag <a href="%s/src/%s">%[2]s</a> đến <a href="%[1]s">%[3]s</a>
 delete_tag=đã xóa thẻ tag <code>%[2]s</code> tại <a href="%[1]s">%[3]s</a>
 fork_repo=đã fork một kho lưu trữ đến <a href="%s">%s</a>
-mirror_sync_push=synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
-mirror_sync_create=synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
-mirror_sync_delete=synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
+mirror_sync_push=đồng bộ commits đến <a href="%[1]s/src/%[2]s">%[3]s</a> tại <a href="%[1]s">%[4]s</a> từ mirror
+mirror_sync_create=đồng bộ tham chiếu mới <a href="%s/src/%s">%[2]s</a> đến <a href="%[1]s">%[3]s</a> từ mirror
+mirror_sync_delete=đồng bộ và xóa tham chiếu <code>%[2]s</code>  tại  <a href="%[1]s">%[3]s</a>  từ mirror
 
 [tool]
 ago=cách đây
@@ -1409,7 +1409,7 @@ months=%d tháng trước %s
 years=%d năm trước %s
 raw_seconds=giây
 raw_minutes=phút
-raw_hours=hours
+raw_hours=giờ
 
 [dropzone]
 default_message=Thả các tập tin ở đây hoặc bấm vào để tải lên.

+ 0 - 1
go.mod

@@ -4,7 +4,6 @@ go 1.14
 
 require (
 	github.com/Masterminds/semver/v3 v3.1.1
-	github.com/bgentry/speakeasy v0.1.0 // indirect
 	github.com/editorconfig/editorconfig-core-go/v2 v2.3.9
 	github.com/fatih/color v1.9.0 // indirect
 	github.com/go-macaron/binding v1.1.1

+ 5 - 57
go.sum

@@ -3,8 +3,6 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
 cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
-github.com/Masterminds/semver/v3 v3.1.0 h1:Y2lUDsFKVRSYGojLJ1yLxSXdMmMYTYls0rCvoqmMUQk=
-github.com/Masterminds/semver/v3 v3.1.0/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
 github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
 github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
 github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
@@ -73,8 +71,7 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb
 github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
 github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
 github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
-github.com/editorconfig/editorconfig-core-go/v2 v2.3.7 h1:e88U5ztaklGv7X0gHIgR/cCJmHkLyVAS8aOIoEPKJP0=
-github.com/editorconfig/editorconfig-core-go/v2 v2.3.7/go.mod h1:NifC+uYhAGV/U2AxhZa3bNy4EdFMHz9mVU02vbGSMWQ=
+github.com/editorconfig/editorconfig-core-go/v2 v2.3.9 h1:4vZN3UCLAUbT408wDutTKGZwOlgGMpV3vhahYufNbV8=
 github.com/editorconfig/editorconfig-core-go/v2 v2.3.9/go.mod h1:yoHDFR3nO8O5ssvhITSRsf0owQqIs0c9+nBTtarunPo=
 github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
 github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
@@ -103,8 +100,7 @@ github.com/go-macaron/csrf v0.0.0-20190812063352-946f6d303a4c h1:kFFz1OpaH3+efG7
 github.com/go-macaron/csrf v0.0.0-20190812063352-946f6d303a4c/go.mod h1:FX53Xq0NNlUj0E5in5J8Dq5nrbdK3ZyDIy6y5VWOiUo=
 github.com/go-macaron/gzip v0.0.0-20160222043647-cad1c6580a07 h1:YSIA98PevNf1NtCa/J6cz7gjzpz99WVAOa9Eg0klKps=
 github.com/go-macaron/gzip v0.0.0-20160222043647-cad1c6580a07/go.mod h1://cJFfDp/70L0oTNAMB+M8Jd0rpuIx/55iARuJ6StwE=
-github.com/go-macaron/i18n v0.5.0 h1:946emShWjaaP65K1xkOH/SGdFhGqGQsQ7JocEVq2fio=
-github.com/go-macaron/i18n v0.5.0/go.mod h1:geFUrUuAX4JocBS1mUlK79QbRAJH/pNM+W8VxPzvVXI=
+github.com/go-macaron/i18n v0.6.0 h1:7WpKDCGYH20pqwKNQgrksZHzKLp+sNA8VTSghElnO6s=
 github.com/go-macaron/i18n v0.6.0/go.mod h1:8XLiwPc4KNvIsHOT0YtSrLvmr9HHjTQMDhAiEhuYCTw=
 github.com/go-macaron/inject v0.0.0-20160627170012-d8a0b8677191 h1:NjHlg70DuOkcAMqgt0+XA+NHwtu66MkTVVgR4fFWbcI=
 github.com/go-macaron/inject v0.0.0-20160627170012-d8a0b8677191/go.mod h1:VFI2o2q9kYsC4o7VP1HrEVosiZZTd+MVT3YZx4gqvJw=
@@ -129,8 +125,6 @@ github.com/gogs/chardet v0.0.0-20150115103509-2404f7772561 h1:aBzukfDxQlCTVS0NBU
 github.com/gogs/chardet v0.0.0-20150115103509-2404f7772561/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14=
 github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14 h1:yXtpJr/LV6PFu4nTLgfjQdcMdzjbqqXMEnHfq0Or6p8=
 github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14/go.mod h1:jPoNZLWDAqA5N3G5amEoiNbhVrmM+ZQEcnQvNQ2KaZk=
-github.com/gogs/git-module v1.1.3 h1:fMxxSvYwgaVDcYirFYlmhgm6MWTm2i4lG84NhIkSMR0=
-github.com/gogs/git-module v1.1.3/go.mod h1:oN37FFStFjdnTJXsSbhIHKJXh2YeDsEcXPATVz/oeuQ=
 github.com/gogs/git-module v1.1.4 h1:Gzg0Rcvd0W4bVVuYb849eR/fTK2qh2/u/vSAGejKglM=
 github.com/gogs/git-module v1.1.4/go.mod h1:oN37FFStFjdnTJXsSbhIHKJXh2YeDsEcXPATVz/oeuQ=
 github.com/gogs/go-gogs-client v0.0.0-20200128182646-c69cb7680fd4 h1:C7NryI/RQhsIWwC2bHN601P1wJKeuQ6U/UCOYTn3Cic=
@@ -153,7 +147,6 @@ github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi
 github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
 github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
 github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ=
 github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
 github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
@@ -165,10 +158,8 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
-github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
 github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
@@ -285,8 +276,6 @@ github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX
 github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
 github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns=
-github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
 github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
@@ -324,7 +313,6 @@ github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0Q
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
 github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
-github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE=
 github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
@@ -343,7 +331,6 @@ github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+tw
 github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
 github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
 github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
-github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
 github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
 github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U=
 github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
@@ -423,8 +410,6 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP
 github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
 github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
 github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
-github.com/prometheus/client_golang v1.6.0 h1:YVPodQOcK15POxhgARIvnDRVpLcuK8mglnMrWfyrw6A=
-github.com/prometheus/client_golang v1.6.0/go.mod h1:ZLOG9ck3JLRdB5MgO8f+lLTe83AXG6ro35rLTxvnIl4=
 github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
 github.com/prometheus/client_golang v1.8.0 h1:zvJNkoCFAnYFNC24FV8nW4JdRJ3GIFcLbg65lL/JDcw=
 github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM=
@@ -438,8 +423,6 @@ github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T
 github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
 github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
 github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
-github.com/prometheus/common v0.9.1 h1:KOMtN28tlbam3/7ZKEYKHhKoJZYYj3gMH4uc62x7X7U=
-github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
 github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
 github.com/prometheus/common v0.14.0 h1:RHRyE8UocrbjU+6UvRzwi6HjiDfxrrBU91TtbKzkGp4=
 github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
@@ -447,8 +430,6 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R
 github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
-github.com/prometheus/procfs v0.0.11 h1:DhHlBtkHWPYi8O2y31JkK0TF+DGM+51OopZjH/Ia5qI=
-github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
 github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
 github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4=
 github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
@@ -458,8 +439,6 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
 github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
 github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
 github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc=
-github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
-github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
 github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
 github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
 github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
@@ -491,7 +470,6 @@ github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1
 github.com/smartystreets/assertions v1.0.1 h1:voD4ITNjPL5jjBfgR/r8fPIIBrliWrWHeiJApdr3r4w=
 github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM=
 github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
-github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337 h1:WN9BUFbdyOsSH/XohnWpXOlq9NBD5sGAB2FciQMUEe8=
 github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
@@ -505,7 +483,6 @@ github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3
 github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
 github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
@@ -527,8 +504,6 @@ github.com/unknwon/paginater v0.0.0-20170405233947-45e5d631308e h1:Qf3QQl/zmEbWD
 github.com/unknwon/paginater v0.0.0-20170405233947-45e5d631308e/go.mod h1:TBwoao3Q4Eb/cp+dHbXDfRTrZSsj/k7kLr2j1oWRWC0=
 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
 github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
-github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA=
-github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
 github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU=
 github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
@@ -563,8 +538,8 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
 golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -593,8 +568,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344 h1:vGXIOMxbNfDTk/aXCmfdLgkrSV+Z2tcbze+pEc3v5W4=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -632,17 +605,13 @@ golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f h1:gWF768j/LaZugp8dyS4UwsslYCYz9XgFxvlgsn0n9H8=
-golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211 h1:9UQO31fZ+0aKQOFldThf7BKPMJTiBfWycGh/u3UoO88=
 golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -699,7 +668,6 @@ google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLY
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
 google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-google.golang.org/protobuf v1.21.0 h1:qdOKuR/EIArgaWNjetjgTzgVTAZ+S/WXVrq9HW9zimw=
 google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
 google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
@@ -724,16 +692,12 @@ gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AW
 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
 gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s=
 gopkg.in/ini.v1 v1.46.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/ini.v1 v1.60.2 h1:7i8mqModL63zqi8nQn8Q3+0zvSCZy1AxhBgthKfi4WU=
-gopkg.in/ini.v1 v1.60.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
 gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/ldap.v2 v2.5.1 h1:wiu0okdNfjlBzg6UWvd1Hn8Y+Ux17/u/4nlk4CQr6tU=
 gopkg.in/ldap.v2 v2.5.1/go.mod h1:oI0cpe/D7HRtBQl8aTg+ZmzFUAvu4lsv3eLXMLGFxWk=
 gopkg.in/macaron.v1 v1.3.4/go.mod h1:/RoHTdC8ALpyJ3+QR36mKjwnT1F1dyYtsGM9Ate6ZFI=
 gopkg.in/macaron.v1 v1.3.5/go.mod h1:uMZCFccv9yr5TipIalVOyAyZQuOH3OkmXvgcWwhJuP4=
-gopkg.in/macaron.v1 v1.3.9 h1:Dw+DDRYdXgQyEsPlfAfKz+UA5qVUrH3KPD7JhmZ9MFc=
-gopkg.in/macaron.v1 v1.3.9/go.mod h1:uMZCFccv9yr5TipIalVOyAyZQuOH3OkmXvgcWwhJuP4=
 gopkg.in/macaron.v1 v1.4.0 h1:RJHC09fAnQ8tuGUiZNjG0uyL1BWSdSWd9SpufIcEArQ=
 gopkg.in/macaron.v1 v1.4.0/go.mod h1:uMZCFccv9yr5TipIalVOyAyZQuOH3OkmXvgcWwhJuP4=
 gopkg.in/redis.v2 v2.3.2 h1:GPVIIB/JnL1wvfULefy3qXmPu1nfNu2d0yA09FHgwfs=
@@ -749,34 +713,18 @@ gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gorm.io/driver/mysql v1.0.2 h1:xm21Um8cR/Cg+nMwSrajf8aBUxOIC+WmH72ir/ByYR8=
-gorm.io/driver/mysql v1.0.2/go.mod h1:T+Fv7Rq/8+lpS3X1KKVUbj8Y/SzbPa5esK9KpPAKXR8=
 gorm.io/driver/mysql v1.0.3 h1:+JKBYPfn1tygR1/of/Fh2T8iwuVwzt+PEJmKaXzMQXg=
 gorm.io/driver/mysql v1.0.3/go.mod h1:twGxftLBlFgNVNakL7F+P/x9oYqoymG3YYT8cAfI9oI=
-gorm.io/driver/postgres v1.0.2 h1:mB5JjD4QglbCTdMT1aZDxQzHr87XDK1qh0MKIU3P96g=
-gorm.io/driver/postgres v1.0.2/go.mod h1:FvRSYfBI9jEp6ZSjlpS9qNcSjxwYxFc03UOTrHdvvYA=
 gorm.io/driver/postgres v1.0.5 h1:raX6ezL/ciUmaYTvOq48jq1GE95aMC0CmxQYbxQ4Ufw=
 gorm.io/driver/postgres v1.0.5/go.mod h1:qrD92UurYzNctBMVCJ8C3VQEjffEuphycXtxOudXNCA=
-gorm.io/driver/sqlite v1.1.3 h1:BYfdVuZB5He/u9dt4qDpZqiqDJ6KhPqs5QUqsr/Eeuc=
-gorm.io/driver/sqlite v1.1.3/go.mod h1:AKDgRWk8lcSQSw+9kxCJnX/yySj8G3rdwYlU57cB45c=
 gorm.io/driver/sqlite v1.1.4 h1:PDzwYE+sI6De2+mxAneV9Xs11+ZyKV6oxD3wDGkaNvM=
 gorm.io/driver/sqlite v1.1.4/go.mod h1:mJCeTFr7+crvS+TRnWc5Z3UvwxUN1BGBLMrf5LA9DYw=
-gorm.io/driver/sqlserver v1.0.4 h1:V15fszi0XAo7fbx3/cF50ngshDSN4QT0MXpWTylyPTY=
-gorm.io/driver/sqlserver v1.0.4/go.mod h1:ciEo5btfITTBCj9BkoUVDvgQbUdLWQNqdFY5OGuGnRg=
 gorm.io/driver/sqlserver v1.0.5 h1:n5knSvyaEwufxl0aROEW90pn+aLoV9h+vahYJk1x5l4=
 gorm.io/driver/sqlserver v1.0.5/go.mod h1:WI/bfZ+s9TigYXe3hb3XjNaUP0TqmTdXl11pECyLATs=
-gorm.io/gorm v1.20.0 h1:qfIlyaZvrF7kMWY3jBdEBXkXJ2M5MFYMTppjILxS3fQ=
-gorm.io/gorm v1.20.0/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
-gorm.io/gorm v1.20.1 h1:+hOwlHDqvqmBIMflemMVPLJH7tZYK4RxFDBHEfJTup0=
-gorm.io/gorm v1.20.1/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
-gorm.io/gorm v1.20.2 h1:bZzSEnq7NDGsrd+n3evOOedDrY5oLM5QPlCjZJUK2ro=
 gorm.io/gorm v1.20.2/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
 gorm.io/gorm v1.20.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
-gorm.io/gorm v1.20.5 h1:g3tpSF9kggASzReK+Z3dYei1IJODLqNUbOjSuCczY8g=
-gorm.io/gorm v1.20.5/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
-gorm.io/gorm v1.20.6/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
-gorm.io/gorm v1.20.7 h1:rMS4CL3pNmYq1V5/X+nHHjh1Dx6dnf27+Cai5zabo+M=
 gorm.io/gorm v1.20.7/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
+gorm.io/gorm v1.20.8 h1:iToaOdZgjNvlc44NFkxfLa3U9q63qwaxt0FdNCiwOMs=
 gorm.io/gorm v1.20.8/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
 honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

File diff suppressed because it is too large
+ 44 - 21
internal/assets/conf/conf_gen.go


+ 2 - 2
internal/conf/testdata/TestInit.golden.ini

@@ -137,6 +137,6 @@ ENABLE_FEDERATED_AVATAR=false
 DEFAULT_INTERVAL=8
 
 [i18n]
-LANGS=en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT
-NAMES=English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português
+LANGS=en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR,gl-ES,uk-UA,en-GB,hu-HU,sk-SK,id-ID,fa-IR,vi-VN,pt-PT,mn-MN
+NAMES=English,简体中文,繁體中文(香港),繁體中文(臺灣),Deutsch,français,Nederlands,latviešu,русский,日本語,español,português do Brasil,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어,galego,українська,English (United Kingdom),Magyar,Slovenčina,Indonesian,Persian,Vietnamese,Português,Монгол