Merge branch 'master' into master
This commit is contained in:
commit
6514da40b4
|
|
@ -201,6 +201,10 @@ an advisor has time to code review, we will gladly welcome them back
|
|||
to the maintainers team. If a maintainer is inactive for more than 3
|
||||
months and forgets to leave the maintainers team, the owners may move
|
||||
him or her from the maintainers team to the advisors team.
|
||||
For security reasons, Maintainers should use 2FA for their accounts and
|
||||
if possible provide gpg signed commits.
|
||||
https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/
|
||||
https://help.github.com/articles/signing-commits-with-gpg/
|
||||
|
||||
## Owners
|
||||
|
||||
|
|
@ -211,6 +215,9 @@ be the main owner, and the other two the assistant owners. When the new
|
|||
owners have been elected, the old owners will give up ownership to the
|
||||
newly elected owners. If an owner is unable to do so, the other owners
|
||||
will assist in ceding ownership to the newly elected owners.
|
||||
For security reasons, Owners or any account with write access (like a bot)
|
||||
must use 2FA.
|
||||
https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/
|
||||
|
||||
After the election, the new owners should proactively agree
|
||||
with our [CONTRIBUTING](CONTRIBUTING.md) requirements in the
|
||||
|
|
|
|||
17
README.md
17
README.md
|
|
@ -12,13 +12,6 @@
|
|||
[](https://www.codetriage.com/go-gitea/gitea)
|
||||
[](https://opencollective.com/gitea)
|
||||
|
||||
| | | |
|
||||
|:---:|:---:|:---:|
|
||||
||||
|
||||
||||
|
||||
||||
|
||||
||||
|
||||
|
||||
## Purpose
|
||||
|
||||
The goal of this project is to make the easiest, fastest, and most
|
||||
|
|
@ -102,3 +95,13 @@ Gitea is pronounced [/ɡɪ’ti:/](https://youtu.be/EM71-2uDAoY) as in "gi-tea"
|
|||
This project is licensed under the MIT License.
|
||||
See the [LICENSE](https://github.com/go-gitea/gitea/blob/master/LICENSE) file
|
||||
for the full license text.
|
||||
|
||||
## Screenshots
|
||||
Looking for an overview of the interface? Check it out!
|
||||
|
||||
| | | |
|
||||
|:---:|:---:|:---:|
|
||||
||||
|
||||
||||
|
||||
||||
|
||||
||||
|
||||
|
|
|
|||
|
|
@ -73,6 +73,11 @@ var (
|
|||
Value: "",
|
||||
Usage: "New password to set for user",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "config, c",
|
||||
Value: "custom/conf/app.ini",
|
||||
Usage: "Custom configuration file path",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -123,6 +128,10 @@ func runChangePassword(c *cli.Context) error {
|
|||
return err
|
||||
}
|
||||
|
||||
if c.IsSet("config") {
|
||||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
|
||||
if err := initDB(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ file can be unpacked and used to restore an instance.
|
|||
|
||||
## Backup Command (`dump`)
|
||||
|
||||
Switch to the user running gitea: `su git`. Run `./gitea dump` in the gitea installation
|
||||
Switch to the user running gitea: `su git`. Run `./gitea dump -c /path/to/app.ini` in the gitea installation
|
||||
directory. There should be some output similar to the following:
|
||||
|
||||
```
|
||||
|
|
@ -34,7 +34,8 @@ directory. There should be some output similar to the following:
|
|||
|
||||
Inside the `gitea-dump-1482906742.zip` file, will be the following:
|
||||
|
||||
* `custom/conf/app.ini` - Server config.
|
||||
* `custom` - All config or customerize files in `custom/`.
|
||||
* `data` - Data directory in <GITEA_WORK_DIR>, except sessions if you are using file session. This directory includes `attachments`, `avatars`, `lfs`, `indexers`, sqlite file if you are using sqlite.
|
||||
* `gitea-db.sql` - SQL dump of database
|
||||
* `gitea-repo.zip` - Complete copy of the repository directory.
|
||||
* `log/` - Various logs. They are not needed for a recovery or migration.
|
||||
|
|
|
|||
60
docs/content/doc/usage/backup-and-restore.zh-cn.md
Normal file
60
docs/content/doc/usage/backup-and-restore.zh-cn.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
date: "2018-06-06T09:33:00+08:00"
|
||||
title: "使用: 备份与恢复"
|
||||
slug: "backup-and-restore"
|
||||
weight: 11
|
||||
toc: true
|
||||
draft: false
|
||||
menu:
|
||||
sidebar:
|
||||
parent: "usage"
|
||||
name: "备份与恢复"
|
||||
weight: 11
|
||||
identifier: "backup-and-restore"
|
||||
---
|
||||
|
||||
# 备份与恢复
|
||||
|
||||
Gitea 已经实现了 `dump` 命令可以用来备份所有需要的文件到一个zip压缩文件。该压缩文件可以被用来进行数据恢复。
|
||||
|
||||
## 备份命令 (`dump`)
|
||||
|
||||
先转到git用户的权限: `su git`. 再Gitea目录运行 `./gitea dump`。一般会显示类似如下的输出:
|
||||
|
||||
```
|
||||
2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
|
||||
2016/12/27 22:32:09 Dumping local repositories.../home/git/gitea-repositories
|
||||
2016/12/27 22:32:22 Dumping database...
|
||||
2016/12/27 22:32:22 Packing dump files...
|
||||
2016/12/27 22:32:34 Removing tmp work dir: /tmp/gitea-dump-417443001
|
||||
2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip
|
||||
```
|
||||
|
||||
最后生成的 `gitea-dump-1482906742.zip` 文件将会包含如下内容:
|
||||
|
||||
* `custom` - 所有保存在 `custom/` 目录下的配置和自定义的文件。
|
||||
* `data` - 数据目录下的所有内容不包含使用文件session的文件。该目录包含 `attachments`, `avatars`, `lfs`, `indexers`, 如果使用sqlite 还会包含 sqlite 数据库文件。
|
||||
* `gitea-db.sql` - 数据库dump出来的 SQL。
|
||||
* `gitea-repo.zip` - Git仓库压缩文件。
|
||||
* `log/` - Logs文件,如果用作迁移不是必须的。
|
||||
|
||||
中间备份文件将会在临时目录进行创建,如果您要重新指定临时目录,可以用 `--tempdir` 参数,或者用 `TMPDIR` 环境变量。
|
||||
|
||||
## Restore Command (`restore`)
|
||||
|
||||
当前还没有恢复命令,恢复需要人工进行。主要是把文件和数据库进行恢复。
|
||||
|
||||
例如:
|
||||
|
||||
```
|
||||
apt-get install gitea
|
||||
unzip gitea-dump-1482906742.zip
|
||||
cd gitea-dump-1482906742
|
||||
mv custom/conf/app.ini /etc/gitea/conf/app.ini
|
||||
unzip gitea-repo.zip
|
||||
mv gitea-repo/* /var/lib/gitea/repositories/
|
||||
chown -R gitea:gitea /etc/gitea/conf/app.ini /var/lib/gitea/repositories/
|
||||
mysql -u$USER -p$PASS $DATABASE <gitea-db.sql
|
||||
# or sqlite3 $DATABASE_PATH <gitea-db.sql
|
||||
service gitea restart
|
||||
```
|
||||
|
|
@ -62,6 +62,7 @@ Admin operations:
|
|||
- Options:
|
||||
- `--username value`, `-u value`: Username. Required.
|
||||
- `--password value`, `-p value`: New password. Required.
|
||||
- `--config path`: Gitea configuration file path. Optional. (default: custom/conf/app.ini).
|
||||
- Examples:
|
||||
- `gitea admin change-password --username myname --password asecurepassword`
|
||||
- `regenerate`
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ func IsErrEmailAlreadyUsed(err error) bool {
|
|||
}
|
||||
|
||||
func (err ErrEmailAlreadyUsed) Error() string {
|
||||
return fmt.Sprintf("e-mail has been used [email: %s]", err.Email)
|
||||
return fmt.Sprintf("e-mail already in use [email: %s]", err.Email)
|
||||
}
|
||||
|
||||
// ErrOpenIDAlreadyUsed represents a "OpenIDAlreadyUsed" kind of error.
|
||||
|
|
@ -117,7 +117,7 @@ func IsErrOpenIDAlreadyUsed(err error) bool {
|
|||
}
|
||||
|
||||
func (err ErrOpenIDAlreadyUsed) Error() string {
|
||||
return fmt.Sprintf("OpenID has been used [oid: %s]", err.OpenID)
|
||||
return fmt.Sprintf("OpenID already in use [oid: %s]", err.OpenID)
|
||||
}
|
||||
|
||||
// ErrUserOwnRepos represents a "UserOwnRepos" kind of error.
|
||||
|
|
|
|||
|
|
@ -693,6 +693,8 @@ issues.filter_sort.recentupdate=Kürzlich aktualisiert
|
|||
issues.filter_sort.leastupdate=Am Längsten nicht aktualisiert
|
||||
issues.filter_sort.mostcomment=Am meisten kommentiert
|
||||
issues.filter_sort.leastcomment=Am wenigsten kommentiert
|
||||
issues.filter_sort.moststars=Meiste Favoriten
|
||||
issues.filter_sort.feweststars=Wenigste Favoriten
|
||||
issues.filter_sort.mostforks=Meiste Forks
|
||||
issues.filter_sort.fewestforks=Wenigste Forks
|
||||
issues.action_open=Öffnen
|
||||
|
|
@ -1388,6 +1390,7 @@ auths.attribute_username_placeholder=Leerlassen, um den in Gitea eingegebenen Be
|
|||
auths.attribute_name=Vornamensattribut
|
||||
auths.attribute_surname=Nachnamensattribut
|
||||
auths.attribute_mail=E-Mail Attribut
|
||||
auths.attribute_ssh_public_key=Öffentliches SSH-Schlüssel Attribut
|
||||
auths.attributes_in_bind=Hole Attribute im Bind-Kontext
|
||||
auths.use_paged_search=Seitensuche verwenden
|
||||
auths.search_page_size=Seitengröße
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ send_reset_mail = Click here to resend your password reset email
|
|||
reset_password = Reset Your Password
|
||||
invalid_code = Your confirmation code is invalid or has expired.
|
||||
reset_password_helper = Click here to reset your password
|
||||
password_too_short = Password length cannot be less then %d.
|
||||
password_too_short = Password length cannot be less than %d characters.
|
||||
non_local_account = Non-local users can not update their password through the Gitea web interface.
|
||||
verify = Verify
|
||||
scratch_code = Scratch code
|
||||
|
|
|
|||
|
|
@ -32,6 +32,13 @@ twofa_scratch=Двофакторний одноразовий пароль
|
|||
passcode=Код доступу
|
||||
|
||||
u2f_insert_key=Вставте ключ безпеки
|
||||
u2f_sign_in=Натисніть кнопку на ключі безпеки. Якщо не вдається знайти кнопки, повторно вставте ключ.
|
||||
u2f_press_button=Будь ласка, натисніть кнопку на ключі захисту...
|
||||
u2f_use_twofa=Використовуйте дво-факторний код з вашого телефону
|
||||
u2f_error=Неможливо прочитати ваш ключ безпеки!
|
||||
u2f_unsupported_browser=Ваш браузер не підтримує U2F ключі. Будь ласка, спробуйте інший браузер.
|
||||
u2f_error_1=Сталася невідома помилка. Спробуйте ще раз.
|
||||
u2f_error_3=Сервер не може обробити, ваш запит.
|
||||
u2f_reload=Оновити
|
||||
|
||||
repository=Репозиторій
|
||||
|
|
@ -132,6 +139,7 @@ confirm_password=Підтвердження пароля
|
|||
admin_email=Адреса електронної пошти
|
||||
install_btn_confirm=Встановлення Gitea
|
||||
test_git_failed=Не в змозі перевірити 'git' команду: %v
|
||||
invalid_db_setting=Налаштування бази даних є некоректними: %v
|
||||
save_config_failed=Не в змозі зберегти конфігурацію: %v
|
||||
invalid_admin_setting=Неприпустимі налаштування облікового запису адміністратора: %v
|
||||
install_success=Ласкаво просимо! Дякуємо вам за вибір Gitea. Розважайтеся, і будьте обережні!
|
||||
|
|
@ -257,8 +265,14 @@ team_name_been_taken=Назва команди вже зайнято.
|
|||
email_been_used=Ця електронна адреса вже використовується.
|
||||
openid_been_used=OpenID адреса '%s' вже використовується.
|
||||
username_password_incorrect=Неправильне ім'я користувача або пароль.
|
||||
enterred_invalid_repo_name=Невірно введено ім'я репозиторію.
|
||||
enterred_invalid_owner_name=Ім'я нового власника не є дійсним.
|
||||
enterred_invalid_password=Введений вами пароль некоректний.
|
||||
user_not_exist=Даний користувач не існує.
|
||||
cannot_add_org_to_team=Організацію неможливо додати як учасника команди.
|
||||
|
||||
invalid_ssh_key=Неможливо перевірити ваш SSH ключ: %s
|
||||
invalid_gpg_key=Неможливо перевірити ваш GPG ключ: %s
|
||||
auth_failed=Помилка автентифікації: %v
|
||||
|
||||
|
||||
|
|
@ -331,9 +345,13 @@ primary=Основний
|
|||
primary_email=Зробити основним
|
||||
delete_email=Видалити
|
||||
email_deletion=Видалити адресу електронної пошти
|
||||
openid_deletion=Видалити адресу OpenID
|
||||
add_new_email=Додати нову адресу електронної пошти
|
||||
add_new_openid=Додати новий OpenID URI
|
||||
add_email=Додати адресу електронної пошти
|
||||
add_openid=Додати OpenID URI
|
||||
add_email_confirmation_sent=Електронний лист із підтвердженням було відправлено на '%s', будь ласка, перевірте вашу поштову скриньку протягом наступних %s, щоб підтвердити адресу.
|
||||
add_email_success=Додано нову адресу електронної пошти.
|
||||
keep_email_private=Приховати адресу електронної пошти
|
||||
keep_email_private_popup=Вашу адресу електронної пошти буде приховано від інших користувачів.
|
||||
|
||||
|
|
@ -349,6 +367,7 @@ key_id=ID ключа
|
|||
key_name=Ім'я ключа
|
||||
key_content=Зміст
|
||||
add_key_success=SSH ключ '%s' додано.
|
||||
add_gpg_key_success=GPG ключ '%s' додано.
|
||||
delete_key=Видалити
|
||||
ssh_key_deletion=Видалити SSH ключ
|
||||
gpg_key_deletion=Видалити GPG ключ
|
||||
|
|
@ -382,15 +401,20 @@ access_token_deletion=Видалити токен доступу
|
|||
|
||||
twofa_disable=Вимкнути двофакторну автентифікацію
|
||||
or_enter_secret=Або введіть секрет: %s
|
||||
passcode_invalid=Некоректний пароль. Спробуй ще раз.
|
||||
|
||||
u2f_register_key=Додати ключ безпеки
|
||||
u2f_nickname=Псевдонім
|
||||
u2f_delete_key=Видалити ключ безпеки
|
||||
|
||||
manage_account_links=Керування обліковими записами
|
||||
remove_account_link=Видалити облікові записи
|
||||
|
||||
orgs_none=Ви не є учасником будь-якої організації.
|
||||
repos_none=У вас немає власних репозиторіїв
|
||||
|
||||
delete_account=Видалити ваш обліковий запис
|
||||
delete_prompt=Ця операція остаточно видалить обліковий запис користувача. Це <strong>НЕ МОЖЛИВО</strong> відмінити.
|
||||
confirm_delete_account=Підтвердження видалення
|
||||
delete_account_title=Видалити цей обліковий запис
|
||||
|
||||
|
|
@ -414,6 +438,7 @@ create_repo=Створити репозиторій
|
|||
default_branch=Головна гілка
|
||||
mirror_prune=Очистити
|
||||
mirror_interval=Інтервал дзеркалювання (доступні значення 'h', 'm', 's')
|
||||
mirror_interval_invalid=Інтервал дзеркалювання є неприпустимим.
|
||||
mirror_address=Клонування з URL-адреси
|
||||
mirror_last_synced=Остання синхронізація
|
||||
watchers=Спостерігачі
|
||||
|
|
@ -423,6 +448,7 @@ pick_reaction=Залиште свою оцінку
|
|||
reactions_more=додати %d більше
|
||||
|
||||
form.reach_limit_of_creation=Ви досягли максимальної кількості %d створених репозиторіїв.
|
||||
form.name_reserved=Назву репозиторію '%s' зарезервовано.
|
||||
|
||||
need_auth=Клонувати з авторизацією
|
||||
migrate_type=Тип міграції
|
||||
|
|
@ -439,6 +465,7 @@ mirror_from=дзеркало
|
|||
forked_from=форк від
|
||||
fork_from_self=Ви не можете форкнути репозиторій, так як ви його власник.
|
||||
copy_link=Копіювати
|
||||
copy_link_success=Посилання було скопійоване
|
||||
copy_link_error=Натисніть ⌘-C або Ctrl-C, щоб скопіювати
|
||||
copied=Скопійовано
|
||||
unwatch=Не стежити
|
||||
|
|
@ -472,6 +499,8 @@ file_raw=Неформатований
|
|||
file_history=Історія
|
||||
file_view_raw=Перегляд Raw
|
||||
file_permalink=Постійне посилання
|
||||
file_too_large=Цей файл завеликий щоб бути показаним.
|
||||
video_not_supported_in_browser=Ваш браузер не підтримує тег 'video' HTML5.
|
||||
stored_lfs=Збережено з Git LFS
|
||||
commit_graph=Графік комітів
|
||||
|
||||
|
|
@ -479,6 +508,7 @@ editor.new_file=Новий файл
|
|||
editor.upload_file=Завантажити файл
|
||||
editor.edit_file=Редагування файлу
|
||||
editor.preview_changes=Попередній перегляд змін
|
||||
editor.cannot_edit_non_text_files=Бінарні файли не можливо редагувати у веб-інтерфейсі.
|
||||
editor.edit_this_file=Редагувати файл
|
||||
editor.must_be_on_a_branch=Ви повинні бути у гілці щоб зробити, або запропонувати зміни до цього файлу.
|
||||
editor.fork_before_edit=Необхідно зробити форк цього репозиторій, щоб внести або запропонувати зміни в цей файл.
|
||||
|
|
@ -498,7 +528,10 @@ editor.commit_directly_to_this_branch=Зробіть коміт прямо в г
|
|||
editor.create_new_branch=Створити <strong>нову гілку</strong> для цього коміту та відкрити запит на злиття.
|
||||
editor.new_branch_name_desc=Ім'я нової гілки…
|
||||
editor.cancel=Відміна
|
||||
editor.filename_cannot_be_empty=Ім'я файлу не може бути порожнім.
|
||||
editor.branch_already_exists=Гілка '%s' вже присутня в репозиторії.
|
||||
editor.directory_is_a_file=Ім'я каталогу "%s" уже використовується як ім'я файлу в цьому репозиторії.
|
||||
editor.file_already_exists=Файл з назвою "%s" уже існує у цьому репозиторію.
|
||||
editor.no_changes_to_show=Нема змін для показу.
|
||||
editor.fail_to_update_file=Не вдалося оновити/створити файл '%s' через помилку: %v
|
||||
editor.add_subdir=Додати каталог…
|
||||
|
|
@ -514,6 +547,7 @@ commits.message=Повідомлення
|
|||
commits.date=Дата
|
||||
commits.older=Давніше
|
||||
commits.newer=Новіше
|
||||
commits.signed_by=Підписано
|
||||
|
||||
ext_issues=Зов. Проблеми
|
||||
|
||||
|
|
@ -606,6 +640,7 @@ issues.label_edit=Редагувати
|
|||
issues.label_delete=Видалити
|
||||
issues.label_modify=Редагувати мітку
|
||||
issues.label_deletion=Видалити мітку
|
||||
issues.label_deletion_success=Мітку було видалено.
|
||||
issues.label.filter_sort.alphabetically=За алфавітом
|
||||
issues.label.filter_sort.reverse_alphabetically=З кінця алфавіту
|
||||
issues.label.filter_sort.by_size=Розмір
|
||||
|
|
@ -854,6 +889,8 @@ settings.add_deploy_key=Додати ключ для розгортування
|
|||
settings.is_writable=Увімкнути доступ для запису
|
||||
settings.title=Заголовок
|
||||
settings.deploy_key_content=Зміст
|
||||
settings.deploy_key_deletion=Видалити ключ для розгортування
|
||||
settings.deploy_key_deletion_success=Ключі розгортання було видалено.
|
||||
settings.branches=Гілки
|
||||
settings.protected_branch=Захист гілки
|
||||
settings.protected_branch_can_push=Дозволити push?
|
||||
|
|
@ -863,6 +900,7 @@ settings.protect_whitelist_search_users=Пошук користувачів…
|
|||
settings.protect_whitelist_search_teams=Пошук команд…
|
||||
settings.add_protected_branch=Увімкнути захист
|
||||
settings.delete_protected_branch=Вимкнути захист
|
||||
settings.protected_branch_deletion=Відключити захист гілки
|
||||
settings.choose_branch=Оберіть гілку…
|
||||
settings.no_protected_branch=Немає захищених гілок.
|
||||
|
||||
|
|
@ -902,6 +940,8 @@ release.save_draft=Зберегти чернетку
|
|||
release.edit_release=Оновити реліз
|
||||
release.delete_release=Видалити реліз
|
||||
release.deletion=Видалити реліз
|
||||
release.deletion_success=Реліз, було видалено.
|
||||
release.tag_name_invalid=Неприпустиме ім'я тега.
|
||||
release.downloads=Завантажити
|
||||
|
||||
branch.name=Ім'я гілки
|
||||
|
|
@ -909,9 +949,13 @@ branch.search=Пошук гілок
|
|||
branch.delete_head=Видалити
|
||||
branch.delete=Видалити гілку '%s'
|
||||
branch.delete_html=Видалити гілку
|
||||
branch.deletion_success=Гілка '%s' видалена.
|
||||
branch.deletion_failed=Не вдалося видалити гілку "%s".
|
||||
branch.create_from=з '%s'
|
||||
branch.create_success=Створено гілку "%s".
|
||||
branch.branch_already_exists=Гілка '%s' вже присутня в репозиторії.
|
||||
branch.deleted_by=Видалено %s
|
||||
branch.restore_success=Гілку "%s" відновлено.
|
||||
|
||||
topic.manage_topics=Керувати тематичними мітками
|
||||
topic.done=Готово
|
||||
|
|
@ -931,9 +975,11 @@ org_desc=Опис
|
|||
team_name=Назва команди
|
||||
team_desc=Опис
|
||||
team_name_helper=Назва команди має бути простою та зрозумілою.
|
||||
team_desc_helper=Опишіть мету або роль команди.
|
||||
team_permission_desc=Права доступу
|
||||
team_unit_desc=Дозволити доступ до розділів репозиторію
|
||||
|
||||
form.name_reserved=Назву організації '%s' зарезервовано.
|
||||
|
||||
settings=Налаштування
|
||||
settings.options=Організація
|
||||
|
|
@ -941,6 +987,9 @@ settings.full_name=Повне ім'я
|
|||
settings.website=Веб-сайт
|
||||
settings.location=Розташування
|
||||
settings.update_settings=Оновити налаштування
|
||||
settings.update_setting_success=Налаштування організації оновлені.
|
||||
settings.change_orgname_prompt=Ця зміна змінить посилання на організацію.
|
||||
settings.update_avatar_success=Аватар організації оновлений.
|
||||
settings.delete=Видалити організацію
|
||||
settings.delete_account=Видалити цю організацію
|
||||
settings.confirm_delete_account=Підтвердіть видалення
|
||||
|
|
@ -972,6 +1021,7 @@ teams.update_settings=Оновити налаштування
|
|||
teams.delete_team=Видалити команду
|
||||
teams.add_team_member=Додати учасника команди
|
||||
teams.delete_team_title=Видалити команду
|
||||
teams.delete_team_success=Команду було видалено.
|
||||
teams.read_permission_desc=Ця команда має доступ для <strong>читання</strong>: учасники можуть переглядати та клонувати репозиторії.
|
||||
teams.write_permission_desc=Ця команда надає доступ на <strong>запис</strong>: учасники можуть отримувати й виконувати push команди до репозитрію.
|
||||
teams.admin_permission_desc=Ця команда надає <strong>адміністраторський</strong> доступ: учасники можуть читати, виконувати push команди та додавати співробітників до репозиторію.
|
||||
|
|
@ -1005,15 +1055,19 @@ dashboard.delete_inactivate_accounts_success=Усі неактивні облі
|
|||
dashboard.delete_repo_archives=Видалити всі архіви репозиторіїв
|
||||
dashboard.git_gc_repos_success=Всі репозиторії завершили збирання сміття.
|
||||
dashboard.server_uptime=Uptime серверу
|
||||
dashboard.current_goroutine=Поточна кількість Goroutines
|
||||
dashboard.current_memory_usage=Поточне використання пам'яті
|
||||
dashboard.total_memory_allocated=Виділено пам'яті загалом
|
||||
dashboard.memory_obtained=Отримано пам'яті
|
||||
dashboard.pointer_lookup_times=Пошуків вказівника
|
||||
dashboard.memory_allocate_times=Виділення пам'яті
|
||||
dashboard.current_heap_usage=Поточне використання динамічної пам'яті
|
||||
dashboard.heap_memory_obtained=Отримано динамічної пам'яті
|
||||
dashboard.heap_memory_idle=Не використовується динамічною пам'яттю
|
||||
dashboard.heap_memory_in_use=Використовується динамічною пам'яттю
|
||||
dashboard.heap_memory_released=Звільнено динамічної пам'яті
|
||||
dashboard.heap_objects=Об'єктів динамічної пам'яті
|
||||
dashboard.bootstrap_stack_usage=Використання стеку Bootstrap
|
||||
dashboard.stack_memory_obtained=Зайнято пам'яті стеком
|
||||
dashboard.mspan_structures_usage=Використання структур MSpan
|
||||
dashboard.mspan_structures_obtained=Отримано структур MSpan
|
||||
|
|
@ -1041,6 +1095,7 @@ users.send_register_notify=Надіслати повідомлення про р
|
|||
users.edit=Редагувати
|
||||
users.auth_source=Джерело автентифікації
|
||||
users.local=Локальні
|
||||
users.update_profile_success=Обліковий запис користувача було оновлено.
|
||||
users.edit_account=Редагувати обліковий запис
|
||||
users.max_repo_creation=Максимальна кількість репозиторіїв
|
||||
users.max_repo_creation_desc=(Введіть -1, щоб використовувати глобальний ліміт за замовчуванням.)
|
||||
|
|
@ -1052,6 +1107,7 @@ users.allow_import_local=Може імпортувати локальні реп
|
|||
users.allow_create_organization=Може створювати організацій
|
||||
users.update_profile=Оновити обліковий запис
|
||||
users.delete_account=Видалити цей обліковий запис
|
||||
users.deletion_success=Обліковий запис користувача було видалено.
|
||||
|
||||
orgs.org_manage_panel=Керування організаціями
|
||||
orgs.name=Назва
|
||||
|
|
@ -1074,6 +1130,7 @@ auths.new=Додати джерело автентифікації
|
|||
auths.name=Ім'я
|
||||
auths.type=Тип
|
||||
auths.enabled=Увімкнено
|
||||
auths.syncenabled=Увімкнути синхронізацію користувача
|
||||
auths.updated=Оновлено
|
||||
auths.auth_type=Тип автентифікації
|
||||
auths.auth_name=Назва автентифікації
|
||||
|
|
@ -1081,8 +1138,11 @@ auths.security_protocol=Протокол безпеки
|
|||
auths.domain=Домен
|
||||
auths.host=Хост
|
||||
auths.port=Порт
|
||||
auths.bind_dn=Прив'язати DN
|
||||
auths.bind_password=Прив'язати пароль
|
||||
auths.user_base=База пошуку користувачів
|
||||
auths.user_dn=DN користувача
|
||||
auths.attribute_username=Атрибут імені користувача
|
||||
auths.search_page_size=Розмір сторінки
|
||||
auths.filter=Користувацький фільтр
|
||||
auths.admin_filter=Фільтр адміністратора
|
||||
|
|
@ -1094,6 +1154,7 @@ auths.enable_tls=Увімкнути TLS-шифрування
|
|||
auths.skip_tls_verify=Пропустити перевірку TLS
|
||||
auths.pam_service_name=Ім'я служби PAM
|
||||
auths.oauth2_provider=Постачальник OAuth2
|
||||
auths.oauth2_clientID=ID клієнта (ключ)
|
||||
auths.oauth2_clientSecret=Ключ клієнта
|
||||
auths.oauth2_tokenURL=URL токену
|
||||
auths.oauth2_authURL=URL авторизації
|
||||
|
|
@ -1133,6 +1194,7 @@ config.script_type=Тип скрипта
|
|||
|
||||
config.ssh_config=Конфігурація SSH
|
||||
config.ssh_enabled=Увімкнено
|
||||
config.ssh_start_builtin_server=Використовувати вбудований сервер
|
||||
config.ssh_domain=Домен сервера
|
||||
config.ssh_port=Порт
|
||||
config.ssh_listen_port=Порт що прослуховується
|
||||
|
|
@ -1199,6 +1261,7 @@ config.session_life_time=Час життя сесії
|
|||
config.https_only=Тільки HTTPS
|
||||
config.cookie_life_time=Час життя cookie-файлу
|
||||
|
||||
config.picture_config=Налаштування фотографії або аватари
|
||||
config.picture_service=Сервіс зображень
|
||||
config.disable_gravatar=Вимкнути Gravatar
|
||||
config.enable_federated_avatar=Увімкнути зовнішні аватари
|
||||
|
|
@ -1223,12 +1286,14 @@ monitor.name=Ім'я
|
|||
monitor.schedule=Розклад
|
||||
monitor.next=Наступного разу
|
||||
monitor.previous=Попереднього разу
|
||||
monitor.execute_times=Кількість виконань
|
||||
monitor.process=Запущені процеси
|
||||
monitor.desc=Опис
|
||||
monitor.start=Час початку
|
||||
monitor.execute_time=Час виконання
|
||||
|
||||
notices.system_notice_list=Сповіщення системи
|
||||
notices.view_detail_header=Переглянути деталі повідомлення
|
||||
notices.actions=Дії
|
||||
notices.select_all=Вибрати все
|
||||
notices.deselect_all=Скасувати виділення
|
||||
|
|
@ -1283,6 +1348,7 @@ raw_minutes=хвилини
|
|||
|
||||
[dropzone]
|
||||
default_message=Перетягніть файли або натисніть тут, щоб завантажити.
|
||||
invalid_input_type=Ви не можете завантажувати файли цього типу.
|
||||
file_too_big=Розмір файлу ({{filesize}} MB), що більше ніж максимальний розмір: ({{maxFilesize}} MB).
|
||||
remove_file=Видалити файл
|
||||
|
||||
|
|
@ -1298,6 +1364,7 @@ mark_as_unread=Позначити як непрочитане
|
|||
mark_all_as_read=Позначити всі як прочитані
|
||||
|
||||
[gpg]
|
||||
error.generate_hash=Не вдалося згенерувати хеш коміту
|
||||
error.not_signed_commit=Непідписаний коміт
|
||||
|
||||
[units]
|
||||
|
|
|
|||
|
|
@ -105,7 +105,9 @@ func renderDirectory(ctx *context.Context, treeLink string) {
|
|||
ctx.Data["FileContent"] = string(markup.Render(readmeFile.Name(), buf, treeLink, ctx.Repo.Repository.ComposeMetas()))
|
||||
} else {
|
||||
ctx.Data["IsRenderedHTML"] = true
|
||||
ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`<br>`), -1))
|
||||
ctx.Data["FileContent"] = strings.Replace(
|
||||
gotemplate.HTMLEscapeString(string(buf)), "\n", `<br>`, -1,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -208,7 +210,9 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
|
|||
ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
|
||||
} else if readmeExist {
|
||||
ctx.Data["IsRenderedHTML"] = true
|
||||
ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`<br>`), -1))
|
||||
ctx.Data["FileContent"] = strings.Replace(
|
||||
gotemplate.HTMLEscapeString(string(buf)), "\n", `<br>`, -1,
|
||||
)
|
||||
} else {
|
||||
// Building code view blocks with line number on server side.
|
||||
var fileContent string
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@
|
|||
<tr>
|
||||
<td>{{.PID}}</td>
|
||||
<td>{{.Description}}</td>
|
||||
<td>{{.Start.FormatLong}}</td>
|
||||
<td>{{TimeSinceUnix .Start $.Lang}}</td>
|
||||
<td>{{DateFmtLong .Start}}</td>
|
||||
<td>{{TimeSince .Start $.Lang}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
{{if .CanBeForked}}
|
||||
<div class="ui compact labeled button" tabindex="0">
|
||||
<a class="ui compact button {{if not $.CanSignedUserFork}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}>
|
||||
<a class="ui compact button {{if not $.CanSignedUserFork}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" data-position="top center" data-variation="tiny"{{end}}>
|
||||
<i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
|
||||
</a>
|
||||
<a class="ui basic label" href="{{.Link}}/forks">
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user