merge into master

This commit is contained in:
kolaente 2018-04-10 15:46:43 +02:00
commit 7b26e2c92e
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B
21 changed files with 152 additions and 62 deletions

View File

@ -304,6 +304,8 @@ DEFAULT_ALLOW_CREATE_ORGANIZATION = true
; Default value for EnableDependencies
; Repositories will use depencies by default depending on this setting
DEFAULT_ENABLE_DEPENDENCIES = true
; Enable Timetracking
ENABLE_TIMETRACKING = true
; Default value for EnableTimetracking
; Repositories will use timetracking by default depending on this setting
DEFAULT_ENABLE_TIMETRACKING = true

View File

@ -84,7 +84,9 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
- `PROTOCOL`: **http**: \[http, https, fcgi, unix\]
- `DOMAIN`: **localhost**: Domain name of this server.
- `ROOT_URL`: **%(PROTOCOL)s://%(DOMAIN)s:%(HTTP\_PORT)s/**: Full public URL of Gitea server.
- `ROOT_URL`: **%(PROTOCOL)s://%(DOMAIN)s:%(HTTP\_PORT)s/**:
Overwrite the automatically generated public URL.
This is useful if the internal and the external URL don't match (e.g. in Docker).
- `HTTP_ADDR`: **0.0.0.0**: HTTP listen address.
- If `PROTOCOL` is set to `fcgi`, Gitea will listen for FastCGI requests on TCP socket
defined by `HTTP_ADDR` and `HTTP_PORT` configuration settings.

View File

@ -336,7 +336,10 @@ func GetStatistic() (stats Statistic) {
// Ping tests if database is alive
func Ping() error {
return x.Ping()
if x != nil {
return x.Ping()
}
return errors.New("database not configured")
}
// DumpDatabase dumps all data from database according the special database SQL syntax to file system.

View File

@ -13,8 +13,18 @@ import "code.gitea.io/gitea/modules/setting"
// |____| |__|__|_| /\___ >____| |__| (____ /\___ >__|_ \\___ >__|
// \/ \/ \/ \/ \/ \/
// CanEnableTimetracker returns true when the server admin enabled time tracking
// This overrules IsTimetrackerEnabled
func (repo *Repository) CanEnableTimetracker() bool {
return setting.Service.EnableTimetracking
}
// IsTimetrackerEnabled returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs.
func (repo *Repository) IsTimetrackerEnabled() bool {
if !setting.Service.EnableTimetracking {
return false
}
var u *RepoUnit
var err error
if u, err = repo.GetUnit(UnitTypeIssues); err != nil {

View File

@ -935,7 +935,7 @@ func deleteUser(e *xorm.Session, u *User) error {
if err = e.Table("star").Cols("star.repo_id").
Where("star.uid = ?", u.ID).Find(&starredRepoIDs); err != nil {
return fmt.Errorf("get all stars: %v", err)
} else if _, err = e.Decr("num_watches").In("id", starredRepoIDs).Update(new(Repository)); err != nil {
} else if _, err = e.Decr("num_stars").In("id", starredRepoIDs).Update(new(Repository)); err != nil {
return fmt.Errorf("decrease repository num_stars: %v", err)
}
// ***** END: Star *****

View File

@ -1151,6 +1151,7 @@ var Service struct {
EnableCaptcha bool
DefaultKeepEmailPrivate bool
DefaultAllowCreateOrganization bool
EnableTimetracking bool
DefaultEnableTimetracking bool
DefaultEnableDependencies bool
DefaultAllowOnlyContributorsToTrackTime bool
@ -1175,7 +1176,10 @@ func newService() {
Service.EnableCaptcha = sec.Key("ENABLE_CAPTCHA").MustBool()
Service.DefaultKeepEmailPrivate = sec.Key("DEFAULT_KEEP_EMAIL_PRIVATE").MustBool()
Service.DefaultAllowCreateOrganization = sec.Key("DEFAULT_ALLOW_CREATE_ORGANIZATION").MustBool(true)
Service.DefaultEnableTimetracking = sec.Key("DEFAULT_ENABLE_TIMETRACKING").MustBool(true)
Service.EnableTimetracking = sec.Key("ENABLE_TIMETRACKING").MustBool(true)
if Service.EnableTimetracking {
Service.DefaultEnableTimetracking = sec.Key("DEFAULT_ENABLE_TIMETRACKING").MustBool(true)
}
Service.DefaultEnableDependencies = sec.Key("DEFAULT_ENABLE_DEPENDENCIES").MustBool(true)
Service.DefaultAllowOnlyContributorsToTrackTime = sec.Key("DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME").MustBool(true)
Service.NoReplyAddress = sec.Key("NO_REPLY_ADDRESS").MustString("noreply.example.org")

View File

@ -1461,6 +1461,7 @@ config.active_code_lives = Active Code Lives
config.reset_password_code_lives = Reset Password Code Expiry Time
config.default_keep_email_private = Default Value for Keep Email Private
config.default_allow_create_organization = Default permission to create organizations
config.enable_timetracking = Enable time tracking
config.default_enable_timetracking = Enable time tracking by default
config.default_allow_only_contributors_to_track_time = Allow only contributors to track time by default
config.no_reply_address = No-reply Address

View File

@ -1435,6 +1435,7 @@ config.active_code_lives=Aktív kód élettartam
config.reset_password_code_lives=Jelszó visszaállításnál használt kód elévülési ideje
config.default_keep_email_private=Email cím elrejtésének alapértelmezett értéke
config.default_allow_create_organization=Szervezet létrehozása jogosultság alapértelmezett értéke
config.enable_timetracking=Időmérő engedélyezése
config.default_enable_timetracking=Időzítő engedélyezése alapértelmezetten
config.default_allow_only_contributors_to_track_time=Alapértelmezetten csak együttműködőknek elérhető az időzítő
config.no_reply_address=No-reply Cím

View File

@ -169,9 +169,12 @@ repos=Repozitoriji
users=Lietotāji
organizations=Organizācijas
search=Meklēt
code=Kods
repo_no_results=Netika atrasts neviens repozitorijs, kas atbilstu kritērijiem.
user_no_results=Netika atrasts neviens lietotājs, kas atbilstu kritērijiem.
org_no_results=Netika atrasta neviena organizācija, kas atbilstu kritērijiem.
code_no_results=Netika atrasts kods, kas atbilstu Jūsu meklēšanas kritērijiem.
code_search_results=Meklēšanas rezultāti '%s'
[auth]
create_new_account=Izveidot kontu
@ -627,6 +630,7 @@ issues.no_ref=Nav norādīts atzars/tags
issues.create=Pieteikt problēmu
issues.new_label=Jauna etiķete
issues.new_label_placeholder=Etiķetes nosaukums…
issues.new_label_desc_placeholder=Apraksts…
issues.create_label=Izveidot etiķeti
issues.label_templates.title=Ielādēt sākotnēji noteikto etiķešu kopu
issues.label_templates.info=Nav izveidota neviena etiķete. Jūs varat noklikšķināt uz "Jauna etiķete" augstāk, lai to izveidotu vai izmantot zemāk piedāvātās etiķetes.
@ -697,6 +701,7 @@ issues.edit=Labot
issues.cancel=Atcelt
issues.save=Saglabāt
issues.label_title=Etiķetes nosaukums
issues.label_description=Etiķetes apraksts
issues.label_color=Etiķetes krāsa
issues.label_count=%d etiķetes
issues.label_open_issues=%d atvērtas problēmas
@ -905,6 +910,8 @@ settings.pulls.ignore_whitespace=Pārbaudot konfliktus, ignorēt izmaiņas atsta
settings.pulls.allow_merge_commits=Atļaut sapludināt revīzijas
settings.pulls.allow_rebase_merge=Atļaut pārbāzēt un sapludināt revīzijas
settings.pulls.allow_squash_commits=Atļaut saspiest revīzijas pirms sapludināšanas
settings.admin_settings=Administratora iestatījumi
settings.admin_enable_health_check=Iespējot korektuma pārbaudi (git fsck) šim repozoitorijam
settings.danger_zone=Bīstamā zona
settings.new_owner_has_same_repo=Jaunajam īpašniekam jau ir repozitorijs ar šādu nosaukumu.
settings.convert=Konvertēt uz parastu repozitoriju
@ -920,6 +927,7 @@ settings.transfer_form_title=Ievadiet sekojošu informāciju, lai apstiprinātu
settings.wiki_delete=Dzēst Vikivietnes datus
settings.wiki_delete_desc=Vikivietnes datu dzēšana ir neatgriezeniska. Pārliecinieties vai patiešām to vēlaties.
settings.wiki_delete_notices_1=- Šī darbība dzēsīs un atspējos %s Vikivietni
settings.confirm_wiki_delete=Dzēst Vikivietnes datus
settings.wiki_deletion_success=Repozitorija vikivietnes dati tika izdzēsti.
settings.delete=Dzēst šo repozitoriju
settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieties vai patiešām vēlaties to darīt.
@ -1022,6 +1030,10 @@ settings.protect_whitelist_users=Lietotāji, kas var nosūtīt izmaiņas uz šo
settings.protect_whitelist_search_users=Meklēt lietotājus
settings.protect_whitelist_teams=Komandas, kuru dalībnieki var nosūtīt izmaiņas uz šo atzaru
settings.protect_whitelist_search_teams=Meklēt komandas
settings.protect_merge_whitelist_committers=Ierobežot, kas var sapludināt izmaiņu pieprasījumus šim zaram
settings.protect_merge_whitelist_committers_desc=Pievienojiet lietotājus vai komandas, kas varēs sapludināt izmaiņu pieprasījumus šim zaram. Ja šī pazīme nav atzīmēta, ikviens ar rakstīšanas tiesībām varēs sapludināt izmaiņas šajā zarā.
settings.protect_merge_whitelist_users=Lietotāji, kas var sapludināt izmaiņu pieprasījumus šajā zarā
settings.protect_merge_whitelist_teams=Komandas, kas var sapludināt izmaiņu pieprasījumus šajā zarā.
settings.add_protected_branch=Iespējot aizsargāšanu
settings.delete_protected_branch=Atspējot aizsargāšanu
settings.update_protect_branch_success=Atzara %s aizsardzības opcijas veiksmīgi nomainītas.
@ -1112,6 +1124,8 @@ people=Personas
teams=Komandas
lower_members=dalībnieki
lower_repositories=repozitoriji
create_new_team=Jauna komanda
create_team=Izveidot komandu
org_desc=Apraksts
team_name=Komandas nosaukums
team_desc=Apraksts
@ -1219,6 +1233,8 @@ dashboard.reinit_missing_repos=Atkārtoti inicializēt visus pazaudētos Git rep
dashboard.reinit_missing_repos_success=Visi pazaudētie Git repozitoriji, par kuriem eksistēja ieraksti, tika atkārtoti inicializēti.
dashboard.sync_external_users=Sinhronizēt ārējo lietotāju datus
dashboard.sync_external_users_started=Uzsākta ārējo lietotāju sinhronizācija
dashboard.git_fsck=Izpildīt korektuma pārbaudes visiem repozoitorijiem
dashboard.git_fsck_started=Repozitoriju korektuma pārbaude uzsākta
dashboard.server_uptime=Servera darbības laiks
dashboard.current_goroutine=Izmantotās Gorutīnas
dashboard.current_memory_usage=Pašreiz izmantotā atmiņa

View File

@ -17,6 +17,7 @@ page=Página
template=Template
language=Idioma
notifications=Notificações
create_new=Criar…
user_profile_and_more=Perfil do usuário e configurações
signed_in_as=Logado como
enable_javascript=Este site funciona melhor com JavaScript
@ -154,10 +155,12 @@ uname_holder=Nome de usuário ou e-mail
password_holder=Senha
switch_dashboard_context=Trocar contexto do painel de controle
my_repos=Meus repositórios
show_more_repos=Mostrar mais repositórios…
collaborative_repos=Repositórios colaborativos
my_orgs=Minhas organizações
my_mirrors=Meus mirrors
view_home=Ver %s
search_repos=Encontre um repositório…
issues.in_your_repos=Em seus repositórios
@ -166,9 +169,12 @@ repos=Repositórios
users=Usuários
organizations=Organizações
search=Pesquisar
code=Código
repo_no_results=Nenhum repositório correspondente foi encontrado.
user_no_results=Nenhum usuário correspondente foi encontrado.
org_no_results=Nenhuma organização correspondente foi encontrada.
code_no_results=Nenhum código correspondente ao seu termo de pesquisa foi encontrado.
code_search_results=Resultados da pesquisa por: "%s
[auth]
create_new_account=Criar conta
@ -246,6 +252,7 @@ Content=Conteúdo
require_error=` não pode estar vazio.`
alpha_dash_error=` devem ser caracteres alfanuméricos, hífen (-) ou sublinhado (_).`
alpha_dash_dot_error=` devem ser caracteres alfanuméricos, hífen (-) sublinhado (_) or ponto (.).`
git_ref_name_error=` deve ser um nome de referência Git válido.`
size_error=`deve ser do tamanho %s.`
min_size_error=` deve conter pelo menos %s caracteres.`
max_size_error=` deve conter no máximo %s caracteres.`
@ -331,6 +338,7 @@ enable_custom_avatar=Habilitar avatar customizado
choose_new_avatar=Escolha um novo avatar
update_avatar=Atualizar configuração de avatar
delete_current_avatar=Excluir o avatar atual
uploaded_avatar_not_a_image=O arquivo enviado não é uma imagem.
update_avatar_success=Suas configurações de Avatar foram atualizadas.
change_password=Mudança de senha
@ -560,6 +568,7 @@ editor.fork_before_edit=Você deve fazer fork deste repositório antes de editar
editor.delete_this_file=Excluir este arquivo
editor.must_have_write_access=Você deve ter permissão de escrita para fazer ou propor mudanças neste arquivo
editor.file_delete_success=Arquivo '%s' excluído com sucesso!
editor.name_your_file=Nomeie o seu arquivo…
editor.filename_help=Para adicionar uma pasta, apenas digite o nome e pressione /. Para remover uma pasta, vá para o começo do campo e pressione backspace.
editor.or=ou
editor.cancel_lower=cancelar
@ -568,8 +577,10 @@ editor.add_tmpl=Adicionar '%s/<filename>'
editor.add=Adicionar '%s'
editor.update=Atualizar '%s'
editor.delete=Excluir '%s'
editor.commit_message_desc=Adicione uma descrição detalhada (opcional)...
editor.commit_directly_to_this_branch=Confirme diretamente no branch <strong class="branch-name">%s</strong>.
editor.create_new_branch=Crie um <strong>novo branch</strong> para este commit e crie um pull request.
editor.new_branch_name_desc=Novo nome do branch...
editor.cancel=Cancelar
editor.filename_cannot_be_empty=Nome do arquivo não pode ser vazio.
editor.branch_already_exists=Branch '%s' já existe neste repositório.
@ -581,6 +592,7 @@ editor.file_changed_while_editing=O conteúdo do arquivo mudou desde que você c
editor.file_already_exists=Um arquivo com nome '%s' já existe neste repositório.
editor.no_changes_to_show=Nenhuma alteração a mostrar.
editor.fail_to_update_file=Houve erro ao criar ou atualizar arquivo '%s': %v
editor.add_subdir=Adicionar subdiretório...
editor.unable_to_upload_files=Houve erro ao fazer upload de arquivos para '%s': %v
editor.upload_files_to_dir=Enviar arquivos para '%s'
editor.cannot_commit_to_protected_branch=Branch '%s' está protegida para commits.
@ -617,6 +629,8 @@ issues.new.no_assignee=Não atribuída
issues.no_ref=Nenhuma Branch/Tag especificado
issues.create=Criar issue
issues.new_label=Nova etiqueta
issues.new_label_placeholder=Nome da etiqueta...
issues.new_label_desc_placeholder=Descrição...
issues.create_label=Criar etiqueta
issues.label_templates.title=Carregue um conjunto de etiquetas pré-definidas
issues.label_templates.info=Não há nenhuma etiqueta ainda. Você pode clicar no botão "Nova etiqueta" acima para criar uma ou usar um conjunto pré-definido acima.
@ -687,6 +701,7 @@ issues.edit=Editar
issues.cancel=Cancelar
issues.save=Salvar
issues.label_title=Nome da etiqueta
issues.label_description=Descrição da etiqueta
issues.label_color=Cor da etiqueta
issues.label_count=%d etiquetas
issues.label_open_issues=%d issues abertas
@ -887,6 +902,7 @@ settings.tracker_url_format=Formato de URL do issue tracker externo
settings.tracker_issue_style=Estilo de nome de issue tracker externo:
settings.tracker_issue_style.numeric=Numérico
settings.tracker_issue_style.alphanumeric=Alfanumérico
settings.tracker_url_format_desc=Você pode usar o marcador de posição <code>{user} {repo} {index}</code> para nome de usuário, nome do repositório e índice de issues.
settings.enable_timetracker=Habilitar contador de tempo
settings.allow_only_contributors_to_track_time=Permitir apenas colaboradores controlar o contador de tempo
settings.pulls_desc=Habilitar pull requests para aceitar contribuições públicas
@ -894,6 +910,8 @@ settings.pulls.ignore_whitespace=Ignorar alterações com espaço em branco ao v
settings.pulls.allow_merge_commits=Permitir commits via merge
settings.pulls.allow_rebase_merge=Permitir rebase para commits via merge
settings.pulls.allow_squash_commits=Permitir aplicação do squash antes do merge
settings.admin_settings=Configurações de administrador
settings.admin_enable_health_check=Habilitar verificações de integridade (git fsck) para este respositório
settings.danger_zone=Zona de perigo
settings.new_owner_has_same_repo=O novo dono já tem um repositório com o mesmo nome. Por favor, escolha outro nome.
settings.convert=Converter para repositório tradicional
@ -903,11 +921,13 @@ settings.convert_confirm=Confirmar conversão
settings.convert_succeed=Repositório foi convertido em um repositório comum.
settings.transfer=Transferir propriedade
settings.transfer_desc=Transferir este repositório para outro usuário ou para uma organização onde você tem direitos de administrador.
settings.transfer_notices_1=- Você irá perder o acesso se o novo dono for um usuário individual.
settings.transfer_notices_2=- Você continuará a ter acesso se o novo owner for uma organização e você é um dos owners.
settings.transfer_form_title=Por favor entre a seguinte informação para confirmar a operação:
settings.wiki_delete=Excluir dados da wiki
settings.wiki_delete_desc=Uma vez que você apague os dados da wiki, não há volta. Por favor, certifique-se.
settings.wiki_delete_notices_1=- Isso irá excluir e desativar a wiki para %s
settings.confirm_wiki_delete=Excluir dados da wiki
settings.wiki_deletion_success=Dados da wiki do repositório foram excluídos.
settings.delete=Excluir este repositório
settings.delete_desc=Uma vez que você remova um repositório, não tem volta. Por favor, tenha certeza.
@ -926,6 +946,7 @@ settings.delete_collaborator=Excluir
settings.collaborator_deletion=Exclusão de colaborador
settings.collaborator_deletion_desc=Este usuário não terá mais acesso de colaboração neste repositório após a exclusão. Você quer continuar?
settings.remove_collaborator_success=O colaborador foi removido.
settings.search_user_placeholder=Pesquisar usuário...
settings.org_not_allowed_to_be_collaborator=Organização não tem permissão para ser adicionada como um colaborador.
settings.user_is_org_member=O usuário é um membro da organização que não pode ser adicionado como um colaborador.
settings.add_webhook=Adicionar webhook
@ -935,7 +956,7 @@ settings.webhook_deletion_desc=Deletar este webhook vai deletar toda sua informa
settings.webhook_deletion_success=Webhook excluído com sucesso!
settings.webhook.test_delivery=Entrega de teste
settings.webhook.test_delivery_desc=Enviar uma entrega de evento de Push falso para testar suas configurações de webhook
settings.webhook.test_delivery_success=Um webhook de teste foi adicionado a file de envio. Pode levar alguns segundos até ele apareça no histórico de envio.
settings.webhook.test_delivery_success=Um webhook de teste foi adicionado a fila de envio. Pode levar alguns segundos até ele apareça no histórico de envio.
settings.webhook.request=Solicitação
settings.webhook.response=Resposta
settings.webhook.headers=Cabeçalhos
@ -1009,6 +1030,10 @@ settings.protect_whitelist_users=Usuários que podem realizar push para este bra
settings.protect_whitelist_search_users=Pesquisar usuários
settings.protect_whitelist_teams=Equipes cujos membros podem realizar push para este branch.
settings.protect_whitelist_search_teams=Pesquisar times
settings.protect_merge_whitelist_committers=Restringir quem pode realizar o merge de pull requests neste branch
settings.protect_merge_whitelist_committers_desc=Adicione usuários ou equipes à lista branca de merge de pull requests deste branch. As restrições de merge de pull requests são ignoradas para usuários que estejam na lista branca.
settings.protect_merge_whitelist_users=Usuários que podem realizar o merge de pull requests neste branch
settings.protect_merge_whitelist_teams=Equipes cujos membros podem realizar merge de pull requests neste branch.
settings.add_protected_branch=Habilitar proteção
settings.delete_protected_branch=Desabilitar proteção
settings.update_protect_branch_success=Opções de proteção da branch %s alteradas com sucesso.
@ -1016,6 +1041,7 @@ settings.remove_protected_branch_success=Opções de proteção da branch %s alt
settings.protected_branch_deletion=Para deletar a proteção de branch
settings.protected_branch_deletion_desc=Qualquer um com permissões de escrita poderá fazer push diretamente para este branch. Tem certeza?
settings.default_branch_desc=O branch default é considerado o "base branch" no seu repositório para todos os pull requests abertos e commit feitos automaticamente, a menos que você especifique outro branch.
settings.choose_branch=Escolha um branch...
settings.no_protected_branch=No há branches protegidos
diff.browse_source=Ver código fonte
@ -1049,6 +1075,7 @@ release.title=Título
release.content=Conteúdo
release.write=Escrever
release.preview=Visualizar
release.loading=Carregando…
release.prerelease_desc=Esta é uma versão prévia
release.prerelease_helper=Vou salientar que esta versão é identificada como não pronta para produção.
release.cancel=Cancelar
@ -1097,6 +1124,8 @@ people=Pessoas
teams=Equipes
lower_members=membros
lower_repositories=repositórios
create_new_team=Nova equipe
create_team=Criar equipe
org_desc=Descrição
team_name=Nome da equipe
team_desc=Descrição
@ -1161,6 +1190,7 @@ teams.read_permission_desc=Essa equipe concede acesso para <strong>Leitura</stro
teams.write_permission_desc=Esta equipe concede acesso para <strong>escrita</strong>: Membros podem ler e fazer push para os repositórios da equipe.
teams.admin_permission_desc=Esta equipe concede acesso de <strong>Administrador</strong>: Membros podem ler, fazer push e adicionar outros colaboradores para os repositórios da equipe.
teams.repositories=Repositórios da equipe
teams.search_repo_placeholder=Pesquisar repositório...
teams.add_team_repository=Adicionar repositório da equipe
teams.remove_repo=Remover
teams.add_nonexistent_repo=O repositório que você está tentando adicionar não existe, por favor, crie-o primeiro.
@ -1203,6 +1233,8 @@ dashboard.reinit_missing_repos=Reinicializar todos os repositórios Git perdidos
dashboard.reinit_missing_repos_success=Todos os repositórios Git cujos registros existem foram reinicializados.
dashboard.sync_external_users=Sincronizar dados de usuário externo
dashboard.sync_external_users_started=Sincronização de usuário externo iniciada
dashboard.git_fsck=Execute verificações de integridade em todos os repositórios
dashboard.git_fsck_started=Verificações de integridade do repositório iniciadas
dashboard.server_uptime=Tempo de atividade do Servidor
dashboard.current_goroutine=Goroutines Atuais
dashboard.current_memory_usage=Uso de memória atual
@ -1299,6 +1331,7 @@ auths.bind_password_helper=Atenção: Esta senha é armazenada em texto sem form
auths.user_base=Base de pesquisa do usuário
auths.user_dn=Usuário do DN
auths.attribute_username=Atributo nome de usuário
auths.attribute_username_placeholder=Deixe em branco para usar o nome de login também para o nome do usuário.
auths.attribute_name=Atributo primeiro nome
auths.attribute_surname=Atributo sobrenome
auths.attribute_mail=Atributo e-mail
@ -1402,6 +1435,7 @@ config.active_code_lives=Ativar Code Lives
config.reset_password_code_lives=Validade de códigos de redefinição de senha
config.default_keep_email_private=Valor padrão para manter o e-mail privado
config.default_allow_create_organization=Permitir criar organizações por padrão
config.enable_timetracking=Habilitar contador de tempo
config.default_enable_timetracking=Habilitar o contador de tempo por padrão
config.default_allow_only_contributors_to_track_time=Permitir apenas colaboradores controlar o contador de tempo por padrão
config.no_reply_address=Endereço de sem resposta

View File

@ -17,6 +17,7 @@ page=页面
template=模板
language=语言选项
notifications=通知
create_new=创建…
user_profile_and_more=用户信息及更多
signed_in_as=已登录用户
enable_javascript=使用 JavaScript能使本网站更好的工作。
@ -154,10 +155,12 @@ uname_holder=用户名或邮箱
password_holder=密码
switch_dashboard_context=切换控制面板用户
my_repos=我的仓库
show_more_repos=显示更多仓库…
collaborative_repos=参与协作的仓库
my_orgs=我的组织
my_mirrors=我的镜像
view_home=访问 %s
search_repos=查找仓库…
issues.in_your_repos=属于该用户仓库的
@ -166,9 +169,12 @@ repos=仓库
users=用户
organizations=组织
search=搜索
code=代码
repo_no_results=没有找到匹配的仓库。
user_no_results=没有找到匹配的用户。
org_no_results=没有找到匹配的组织。
code_no_results=找不到与搜索项匹配的代码。
code_search_results=“%s” 的搜索结果是
[auth]
create_new_account=创建帐户
@ -246,6 +252,7 @@ Content=内容
require_error=不能为空。
alpha_dash_error=必须为英文字母、阿拉伯数字或横线(-_
alpha_dash_dot_error=必须为英文字母、阿拉伯数字、横线(-_或点。
git_ref_name_error=` 必须是格式良好的 git 引用名称。`
size_error=长度必须为 %s。
min_size_error=长度最小为 %s 个字符。
max_size_error=长度最大为 %s 个字符。
@ -331,6 +338,7 @@ enable_custom_avatar=启动自定义头像
choose_new_avatar=选择新的头像
update_avatar=更新头像设置
delete_current_avatar=删除当前头像
uploaded_avatar_not_a_image=上传的文件不是一张图片。
update_avatar_success=您的头像设置更新成功!
change_password=修改密码
@ -560,6 +568,7 @@ editor.fork_before_edit=您必须派生此仓库才能对此文件进行修改
editor.delete_this_file=删除此文件
editor.must_have_write_access=您必须具有可写权限才能对此文件进行修改操作
editor.file_delete_success=文件 '%s' 删除成功!
editor.name_your_file=命名文件...
editor.filename_help=输入名称后按下 / 键即可添加目录,或将光标移至输入框最左侧按下退格键移除目录。
editor.or=
editor.cancel_lower=取消
@ -568,8 +577,10 @@ editor.add_tmpl=添加 '%s/<文件名>'
editor.add=添加 '%s'
editor.update=更新 '%s'
editor.delete=删除 '%s'
editor.commit_message_desc=添加一个可选的扩展描述...
editor.commit_directly_to_this_branch=直接提交至 <strong class="branch-name">%s</strong> 分支。
editor.create_new_branch=为此提交创建一个 <strong>新的分支</strong> 并发起合并请求。
editor.new_branch_name_desc=新的分支名称...
editor.cancel=取消
editor.filename_cannot_be_empty=文件名不能为空。
editor.branch_already_exists=此仓库已存在名为 '%s' 的分支。
@ -581,6 +592,7 @@ editor.file_changed_while_editing=文件内容在您进行编辑时已经发生
editor.file_already_exists=此仓库已经存在名为 '%s' 的文件。
editor.no_changes_to_show=没有可以显示的变更。
editor.fail_to_update_file=更新/创建文件 '%s' 时发生错误:%v
editor.add_subdir=添加子目录...
editor.unable_to_upload_files=上传文件至 '%s' 时发生错误:%v
editor.upload_files_to_dir=上传文件至 '%s'
editor.cannot_commit_to_protected_branch=不可以提交到受保护的分支 '%s'。
@ -617,6 +629,8 @@ issues.new.no_assignee=未指派成员
issues.no_ref=分支/标记未指定
issues.create=创建工单
issues.new_label=创建标签
issues.new_label_placeholder=标签名称...
issues.new_label_desc_placeholder=描述…
issues.create_label=创建标签
issues.label_templates.title=加载预定义的标签模板
issues.label_templates.info=此仓库还未创建任何标签,您可以通过上方的 "创建标签" 创建一个新的标签或加载一组预定义的标签。
@ -687,6 +701,7 @@ issues.edit=编辑
issues.cancel=取消
issues.save=保存
issues.label_title=标签名称
issues.label_description=标签描述
issues.label_color=标签颜色
issues.label_count=%d 个标签
issues.label_open_issues=%d 个开启的工单
@ -887,6 +902,7 @@ settings.tracker_url_format=外部工单管理系统的 URL 格式
settings.tracker_issue_style=外部工单管理系统命名风格:
settings.tracker_issue_style.numeric=纯数字形式
settings.tracker_issue_style.alphanumeric=英文字母数字组合形式
settings.tracker_url_format_desc=您可以使用 <code>{user} {repo} {index}</code> 分别作为用户名、仓库名和工单索引的占位符。
settings.enable_timetracker=启用时间跟踪
settings.allow_only_contributors_to_track_time=只允许参与者跟踪时间
settings.pulls_desc=启用合并请求以接受社区贡献
@ -894,6 +910,8 @@ settings.pulls.ignore_whitespace=检查冲突时忽略空白字符变更
settings.pulls.allow_merge_commits=允许合并提交
settings.pulls.allow_rebase_merge=允许变基到合并提交
settings.pulls.allow_squash_commits=允许在合并前压缩提交
settings.admin_settings=管理设置
settings.admin_enable_health_check=启用此仓库的健康检查 (git fsck)
settings.danger_zone=危险操作区
settings.new_owner_has_same_repo=新的仓库拥有者已经存在同名仓库!
settings.convert=转换为普通仓库
@ -903,11 +921,13 @@ settings.convert_confirm=确认转换
settings.convert_succeed=此仓库已经转换为普通仓库。
settings.transfer=转移仓库所有权
settings.transfer_desc=您可以将仓库转移至您拥有管理员权限的帐户或组织。
settings.transfer_notices_1=- 如果您将仓库转移给个人用户,您将会失去访问权限。
settings.transfer_notices_2=- 如果新拥有者是组织,你将成为组织的拥有者之一
settings.transfer_form_title=请输入以下信息以确认您的操作:
settings.wiki_delete=清除 Wiki 数据
settings.wiki_delete_desc=清除 Wiki 数据操作不可逆转,请三思而后行。
settings.wiki_delete_notices_1=- 此操作将会清除并禁用仓库 %s 的 Wiki
settings.confirm_wiki_delete=清除 Wiki 数据
settings.wiki_deletion_success=仓库 Wiki 数据清除成功!
settings.delete=删除本仓库
settings.delete_desc=删除仓库操作不可逆转,请三思而后行。
@ -926,6 +946,7 @@ settings.delete_collaborator=删除
settings.collaborator_deletion=删除协作者
settings.collaborator_deletion_desc=此用户被删除后将不再拥有相关的协作权限。是否继续?
settings.remove_collaborator_success=被操作的协作者已经被收回权限!
settings.search_user_placeholder=搜索用户...
settings.org_not_allowed_to_be_collaborator=组织不允许被添加为仓库协作者!
settings.user_is_org_member=被操作的用户是组织成员,因此无法添加为协作者!
settings.add_webhook=添加 Web 钩子
@ -1009,6 +1030,10 @@ settings.protect_whitelist_users=允许推送到此分支的用户
settings.protect_whitelist_search_users=搜索用户
settings.protect_whitelist_teams=团队成员可以推送到此分支。
settings.protect_whitelist_search_teams=搜索团队
settings.protect_merge_whitelist_committers=限制可将请求合并到此分支的用户
settings.protect_merge_whitelist_committers_desc=将用户或团队添加到此分支的合并白名单中。只有列入白名单用户才可以将合并请求合并到此分支。如果不选中,则具有写权限的任何人都可以将合并请求合并到此分支。
settings.protect_merge_whitelist_users=可以将请求合并到此分支的用户
settings.protect_merge_whitelist_teams=成员可以将请求合并到此分支的团队。
settings.add_protected_branch=启用保护
settings.delete_protected_branch=禁用保护
settings.update_protect_branch_success=分支 %s 保护设定修改成功。
@ -1016,6 +1041,7 @@ settings.remove_protected_branch_success=分支 %s 保护设定删除成功。
settings.protected_branch_deletion=若要删除一个受保护的分支
settings.protected_branch_deletion_desc=具有写权限的任何人都将能够直接推向这个分支。是否确定?
settings.default_branch_desc=默认分支被认为是仓库中的"基础"分支,如果不特别指定所有的合并请求和代码提交默认提交到这个分支。
settings.choose_branch=选择一个分支...
settings.no_protected_branch=没有受保护的分支
diff.browse_source=浏览代码
@ -1049,6 +1075,7 @@ release.title=标题
release.content=内容
release.write=内容编辑
release.preview=效果预览
release.loading=正在加载...
release.prerelease_desc=这是一个预发行版本
release.prerelease_helper=我们会告知用户不建议将本次发布投入生产环境使用。
release.cancel=取消
@ -1097,6 +1124,8 @@ people=组织成员
teams=组织团队
lower_members=名成员
lower_repositories=个仓库
create_new_team=新建团队
create_team=创建团队
org_desc=组织描述
team_name=团队名称
team_desc=团队描述
@ -1161,6 +1190,7 @@ teams.read_permission_desc=该团队拥有对所属仓库的 <strong>读取</str
teams.write_permission_desc=该团队拥有对所属仓库的 <strong>读取</strong> 和 <strong>写入</strong> 的权限。
teams.admin_permission_desc=该团队拥有一定的 <strong>管理</strong> 权限,团队成员可以读取、克隆、推送以及添加其它仓库协作者。
teams.repositories=团队仓库
teams.search_repo_placeholder=搜索仓库...
teams.add_team_repository=添加团队仓库
teams.remove_repo=移除仓库
teams.add_nonexistent_repo=您尝试添加到团队的仓库不存在,请先创建仓库!
@ -1203,6 +1233,8 @@ dashboard.reinit_missing_repos=重新初始化所有丢失的 Git 仓库存在
dashboard.reinit_missing_repos_success=所有丢失的 Git 仓库存在的记录已经被重新初始化。
dashboard.sync_external_users=同步外部用户数据
dashboard.sync_external_users_started=外部用户同步已开始
dashboard.git_fsck=在所有仓库中运行监控检查
dashboard.git_fsck_started=仓库监控检查已经开始
dashboard.server_uptime=服务运行时间
dashboard.current_goroutine=当前 Goroutines 数量
dashboard.current_memory_usage=当前内存使用量
@ -1299,6 +1331,7 @@ auths.bind_password_helper=警告: 此密码以纯文本格式存储。强烈建
auths.user_base=用户搜索基准
auths.user_dn=用户 DN
auths.attribute_username=用户名属性
auths.attribute_username_placeholder=留空表示使用用户登录时所使用的用户名
auths.attribute_name=名字属性
auths.attribute_surname=姓氏属性
auths.attribute_mail=邮箱属性

View File

@ -132,10 +132,14 @@
<dd><i class="fa fa{{if .Service.DefaultKeepEmailPrivate}}-check{{end}}-square-o"></i></dd>
<dt>{{.i18n.Tr "admin.config.default_allow_create_organization"}}</dt>
<dd><i class="fa fa{{if .Service.DefaultAllowCreateOrganization}}-check{{end}}-square-o"></i></dd>
<dt>{{.i18n.Tr "admin.config.default_enable_timetracking"}}</dt>
<dd><i class="fa fa{{if .Service.DefaultEnableTimetracking}}-check{{end}}-square-o"></i></dd>
<dt>{{.i18n.Tr "admin.config.default_allow_only_contributors_to_track_time"}}</dt>
<dd><i class="fa fa{{if .Service.DefaultAllowOnlyContributorsToTrackTime}}-check{{end}}-square-o"></i></dd>
<dt>{{.i18n.Tr "admin.config.enable_timetracking"}}</dt>
<dd><i class="fa fa{{if .Service.EnableTimetracking}}-check{{end}}-square-o"></i></dd>
{{if .Service.EnableTimetracking}}
<dt>{{.i18n.Tr "admin.config.default_enable_timetracking"}}</dt>
<dd><i class="fa fa{{if .Service.DefaultEnableTimetracking}}-check{{end}}-square-o"></i></dd>
<dt>{{.i18n.Tr "admin.config.default_allow_only_contributors_to_track_time"}}</dt>
<dd><i class="fa fa{{if .Service.DefaultAllowOnlyContributorsToTrackTime}}-check{{end}}-square-o"></i></dd>
{{end}}
<dt>{{.i18n.Tr "admin.config.no_reply_address"}}</dt>
<dd>{{if .Service.NoReplyAddress}}{{.Service.NoReplyAddress}}{{else}}-{{end}}</dd>
<dt>{{.i18n.Tr "admin.config.default_enable_dependencies"}}</dt>

View File

@ -69,12 +69,12 @@
<div class="ui small basic delete modal">
<div class="ui icon header">
<i class="trash icon"></i>
{{.i18n.Tr "repo.branch.delete_html"| Safe}} <span class="branch-name"></span>
{{.i18n.Tr "repo.branch.delete_html"}} <span class="branch-name"></span>
</div>
<div class="content">
<p>{{.i18n.Tr "repo.branch.delete_desc" | Safe}}</p>
<p>{{.i18n.Tr "repo.branch.delete_desc"}}</p>
{{.i18n.Tr "repo.branch.delete_notices_1" | Safe}}<br>
{{.i18n.Tr "repo.branch.delete_notices_html" | Safe}} <span class="branch-name"></span><br>
{{.i18n.Tr "repo.branch.delete_notices_html"}} <span class="branch-name"></span><br>
</div>
{{template "base/delete_modal_actions" .}}
</div>

View File

@ -79,24 +79,4 @@
</div>
{{end}}
{{with .Page}}
{{if gt .TotalPages 1}}
<div class="center page buttons">
<div class="ui borderless pagination menu">
<a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.RepoLink}}/commits/{{$.BranchNameSubURL}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Previous}}"{{end}}>
<i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}}
</a>
{{range .Pages}}
{{if eq .Num -1}}
<a class="disabled item">...</a>
{{else}}
<a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.RepoLink}}/commits/{{$.BranchNameSubURL}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Num}}"{{end}}>{{.Num}}</a>
{{end}}
{{end}}
<a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.RepoLink}}/commits/{{$.BranchNameSubURL}}{{if $.FileName}}/{{$.FileName}}{{end}}?page={{.Next}}"{{end}}>
{{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i>
</a>
</div>
</div>
{{end}}
{{end}}
{{template "base/paginate" .}}

View File

@ -36,7 +36,7 @@
<div class="inline required field {{if .Err_RepoName}}error{{end}}">
<label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label>
<input id="repo_name" name="repo_name" value="{{.repo_name}}" autofocus required>
<span class="help">{{.i18n.Tr "repo.repo_name_helper" | Safe}}</span>
<span class="help">{{.i18n.Tr "repo.repo_name_helper"}}</span>
</div>
<div class="inline field">
<label>{{.i18n.Tr "repo.visibility"}}</label>

View File

@ -14,8 +14,7 @@
<input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" {{if eq .commit_choice "direct"}}checked{{end}}>
<label>
<i class="octicon octicon-git-commit" height="16" width="14"></i>
{{$branchName := .BranchName | Str2html}}
{{.i18n.Tr "repo.editor.commit_directly_to_this_branch" $branchName | Safe}}
{{.i18n.Tr "repo.editor.commit_directly_to_this_branch" (.BranchName|Escape) | Safe}}
</label>
</div>
</div>

View File

@ -48,7 +48,7 @@
<div class="ui tabs container">
<div class="ui tabular stackable menu navbar">
{{if .Repository.UnitEnabled $.UnitTypeCode}}
<a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}">
<a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/branch/{{.BranchName}}{{end}}">
<i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
</a>
{{end}}

View File

@ -73,7 +73,7 @@
{{else if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly>
{{end}}
{{if or ((not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)))}}
{{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
<i class="octicon octicon-clippy"></i>
</button>

View File

@ -134,12 +134,12 @@
<div class="ui small basic delete modal">
<div class="ui icon header">
<i class="trash icon"></i>
{{.i18n.Tr "repo.branch.delete" .HeadTarget | Safe}}
{{.i18n.Tr "repo.branch.delete" .HeadTarget }}
</div>
<div class="content">
<p>{{.i18n.Tr "repo.branch.delete_desc" | Safe}}</p>
<p>{{.i18n.Tr "repo.branch.delete_desc"}}</p>
{{.i18n.Tr "repo.branch.delete_notices_1" | Safe}}<br>
{{.i18n.Tr "repo.branch.delete_notices_2" .HeadTarget | Safe}}<br>
{{.i18n.Tr "repo.branch.delete_notices_2" .HeadTarget}}<br>
</div>
{{template "base/delete_modal_actions" .}}
</div>

View File

@ -144,7 +144,7 @@
<img src="{{.Poster.RelAvatarLink}}">
</a>
<span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.Name}}</a>
{{$.i18n.Tr "repo.issues.delete_branch_at" .CommitSHA $createdStr | Safe}}
{{$.i18n.Tr "repo.issues.delete_branch_at" (.CommitSHA|Escape) $createdStr | Safe}}
</span>
</div>
{{else if eq .Type 12}}

View File

@ -139,25 +139,26 @@
</div>
</div>
<div class="field {{if (.Repository.UnitEnabled $.UnitTypeExternalTracker)}}disabled{{end}}" id="internal_issue_box">
<div class="field">
<div class="ui checkbox">
<input name="enable_timetracker" class="enable-system" data-target="#only_contributors" type="checkbox" {{if .Repository.IsTimetrackerEnabled}}checked{{end}}>
<label>{{.i18n.Tr "repo.settings.enable_timetracker"}}</label>
{{if .Repository.CanEnableTimetracker}}
<div class="field">
<div class="ui checkbox">
<input name="enable_timetracker" class="enable-system" data-target="#only_contributors" type="checkbox" {{if .Repository.IsTimetrackerEnabled}}checked{{end}}>
<label>{{.i18n.Tr "repo.settings.enable_timetracker"}}</label>
</div>
</div>
</div>
<div class="field {{if not .Repository.IsTimetrackerEnabled}}disabled{{end}}" id="only_contributors">
<div class="ui checkbox">
<input name="allow_only_contributors_to_track_time" type="checkbox" {{if .Repository.AllowOnlyContributorsToTrackTime}}checked{{end}}>
<label>{{.i18n.Tr "repo.settings.allow_only_contributors_to_track_time"}}</label>
<div class="field {{if not .Repository.IsTimetrackerEnabled}}disabled{{end}}" id="only_contributors">
<div class="ui checkbox">
<input name="allow_only_contributors_to_track_time" type="checkbox" {{if .Repository.AllowOnlyContributorsToTrackTime}}checked{{end}}>
<label>{{.i18n.Tr "repo.settings.allow_only_contributors_to_track_time"}}</label>
</div>
</div>
</div>
<div class="field">
<div class="ui checkbox">
<input name="enable_issue_dependencies" type="checkbox" {{if (.Repository.IsDependenciesEnabled)}}checked{{end}}>
<label>{{.i18n.Tr "repo.issues.dependency.setting"}}</label>
{{end}}
<div class="field">
<div class="ui checkbox">
<input name="enable_issue_dependencies" type="checkbox" {{if (.Repository.IsDependenciesEnabled)}}checked{{end}}>
<label>{{.i18n.Tr "repo.issues.dependency.setting"}}</label>
</div>
</div>
</div>
</div>
<div class="field">
<div class="ui radio checkbox">
@ -331,7 +332,7 @@
</div>
<div class="content">
<div class="ui warning message text left">
{{.i18n.Tr "repo.settings.convert_notices_1" | Safe}}
{{.i18n.Tr "repo.settings.convert_notices_1"}}
</div>
<form class="ui form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
@ -362,8 +363,8 @@
</div>
<div class="content">
<div class="ui warning message text left">
{{.i18n.Tr "repo.settings.transfer_notices_1" | Safe}} <br>
{{.i18n.Tr "repo.settings.transfer_notices_2" | Safe}}
{{.i18n.Tr "repo.settings.transfer_notices_1"}} <br>
{{.i18n.Tr "repo.settings.transfer_notices_2"}}
</div>
<form class="ui form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
@ -400,7 +401,7 @@
{{.i18n.Tr "repo.settings.delete_notices_1" | Safe}}<br>
{{.i18n.Tr "repo.settings.delete_notices_2" .Repository.FullName | Safe}}
{{if .Repository.NumForks}}<br>
{{.i18n.Tr "repo.settings.delete_notices_fork_1" | Safe}}
{{.i18n.Tr "repo.settings.delete_notices_fork_1"}}
{{end}}
</div>
<form class="ui form" action="{{.Link}}" method="post">