diff options
-rw-r--r-- | conf/locale/TRANSLATORS | 3 | ||||
-rwxr-xr-x | conf/locale/locale_lv-LV.ini | 48 | ||||
-rw-r--r-- | gogs.go | 2 | ||||
-rw-r--r-- | models/git_diff.go | 25 | ||||
-rw-r--r-- | modules/base/markdown.go | 4 | ||||
-rw-r--r-- | modules/base/template.go | 11 | ||||
-rw-r--r-- | routers/repo/commit.go | 22 | ||||
-rw-r--r-- | routers/repo/view.go | 7 | ||||
-rw-r--r-- | templates/.VERSION | 2 | ||||
-rw-r--r-- | templates/admin/notice.tmpl | 4 | ||||
-rw-r--r-- | templates/repo/diff.tmpl | 2 | ||||
-rw-r--r-- | templates/repo/view_list.tmpl | 2 |
12 files changed, 84 insertions, 48 deletions
diff --git a/conf/locale/TRANSLATORS b/conf/locale/TRANSLATORS index 9899ea4eac..38e4ddc274 100644 --- a/conf/locale/TRANSLATORS +++ b/conf/locale/TRANSLATORS @@ -2,4 +2,5 @@ # Order of name is meaningless. Thomas Fanninger <gogs.thomas@fanninger.at> -Łukasz Jan Niemier <lukasz@niemier.pl>
\ No newline at end of file +Łukasz Jan Niemier <lukasz@niemier.pl> +Lafriks <lafriks@gmail.com>
\ No newline at end of file diff --git a/conf/locale/locale_lv-LV.ini b/conf/locale/locale_lv-LV.ini index ac1ea5b987..a9be8e50ef 100755 --- a/conf/locale/locale_lv-LV.ini +++ b/conf/locale/locale_lv-LV.ini @@ -34,7 +34,7 @@ account_settings=Konta iestatījumi settings=Iestatījumi
news_feed=Jaunumu plūsma
-pull_requests=Vilkšanas pieprasījumi
+pull_requests=Izmaiņu pieprasījumi
issues=Problēmas
cancel=Atcelt
@@ -51,12 +51,12 @@ db_name=Datu bāzes nosaukums db_helper=Nepieciešams izmantot MySQL INNODB dzini ar rakstzīmju kopu utf8_general_ci.
ssl_mode=SSL režīms
path=Ceļš
-sqlite_helper=SQLite 3 datu bāzes faila ceļš.
+sqlite_helper=SQLite 3 datu bāzes faila atrašanās vieta.
general_title=Gogs vispārīgie iestatījumi
-repo_path=Repozitorija saknes ceļš
+repo_path=Repozitoriju glabāšanas vieta
repo_path_helper=Visi Git attālinātie repozitoriji tiks glabāti šajā direktorijā.
run_user=Izpildes lietotājs
-run_user_helper=Lietotājam ir jābūt tiesībām rakstīšanas tiesībām repozitorija saknes direktorijai un Gogs jābūt palaistam zem šī lietotāja.
+run_user_helper=Lietotājam ir jābūt rakstīšanas tiesībām repozitorija saknes direktorijai un Gogs jābūt palaistam zem šī lietotāja.
domain=Domēns
domain_helper=Tas ietekmē SSH klonēšanas URL.
app_url=Lietotnes URL
@@ -77,14 +77,14 @@ install_gogs=Instalēt Gogs test_git_failed=Kļūda pārbaudot 'git' komandu: %v
sqlite3_not_available=Jūsu versija neatbalsta SQLite3, lūdzu lejupielādējiet oficiālo bināro versiju no %s, NEVIS gobuild versiju.
invalid_db_setting=Datu bāzes iestatījums nav pareizs: %v
-invalid_repo_path=Repozitorija saknes ceļš ir nekorekts: %v
+invalid_repo_path=Repozitorija atrašanās vieta ir nekorekta: %v
run_user_not_match=Izpildes lietotājs nav pašreizējais lietotājs: %s -> %s
-save_config_failed=Neizdevās saglanāt konfigurāciju: %v
+save_config_failed=Neizdevās saglabāt konfigurāciju: %v
invalid_admin_setting=Nekorekts admin konta iestatījums: %v
install_success=Laipni lūdzam! Mēs priecājamies, ka Jūs izvēlaties Gogs, patīkamu lietošanu!
[home]
-uname_holder=Lietotājvārds vai e-pasta adrese
+uname_holder=Lietotājvārds vai e-pasts
password_holder=Parole
switch_dashboard_context=Mainīt infopaneļa kontekstu
my_repos=Mani repozitoriji
@@ -291,7 +291,7 @@ no_desc=Nav apraksta quick_guide=Īsa pamācība
clone_this_repo=Klonēt šo repozitoriju
create_new_repo_command=Izveidot jaunu repozitoriju komandrindā
-push_exist_repo=Veikt <code>push</code> darbību eksistējošam repozitorijam no komandrindas
+push_exist_repo=Nosūtīt izmaiņas no komandrindas eksistējošam repozitorijam
branch=Atzars
tree=Koks
@@ -354,7 +354,7 @@ settings.payload_url=Vērtuma URL settings.content_type=Satura tips
settings.secret=Noslēpums
settings.event_desc=Kādu notikumu rezultātā tiktu izsaukts tīmekļā āķis?
-settings.event_push_only=Tikai <code>push</code> notikums.
+settings.event_push_only=Tikai izmaiņu nosūtīšanas notikumiem.
settings.active=Aktīvs
settings.active_helper=Tiks nosūtīti notikuma dati, kad nostrādās šis āķis.
settings.add_hook_success=Jauns tīmekļa āķis tika veiksmīgi pievienots.
@@ -430,7 +430,7 @@ teams.leave=Atstāt teams.read_access=Lasīšanas piekļuve
teams.read_access_helper=Komanda varēs skatīties un klonēt šīs organizācijas repozitorijus.
teams.write_access=Rakstīšanas piekļuve
-teams.write_access_helper=Komanda varēs skatīties un klonēt, kā arī veikt <code>push</code> darbību šīs organizācijas repozitorijiem.
+teams.write_access_helper=Komanda varēs skatīties un klonēt, kā arī nosūtīt izmaiņas šīs organizācijas repozitorijiem.
teams.admin_access=Administratora piekļuve
teams.admin_access_helper=Šī komanda varēs veikt push/pull komandas tās repozitorijiem, kā arī tiem pievienot citus līdzstrādniekus.
teams.no_desc=Komandai nav apraksta
@@ -444,7 +444,7 @@ teams.delete_team_title=Komandas dzēšana teams.delete_team_desc=Komanda tiks dzēsta, vai vēlaties turpināt? Komandas biedri var zaudēt piekļuvi dažiem vai pat visiem repozitorijiem.
teams.delete_team_success=Komanda tika veiksmīgi izdzēsta.
teams.read_permission_desc=Šai komandai ir <strong>lasīšanas</strong> tiesības: dalībnieki var skatīties un klonēt komandas repozitorijus.
-teams.write_permission_desc=Šai komandai ir <strong>rakstīšanas</strong> tiesības: dalībnieki var lasīt un veikt <code>push</code> komandas repozitorijiem.
+teams.write_permission_desc=Šai komandai ir <strong>rakstīšanas</strong> tiesības: dalībnieki var lasīt un nosūtīt izmaiņas repozitorijiem.
teams.admin_permission_desc=Šai komandai ir <strong>administratora</strong> tiesības: dalībnieki var lasīt, rakstīt un pievienot citus dalībniekus komandas repozitorijiem.
teams.repositories=Komandas repozitoriji
teams.add_team_repository=Pievienot komandas repozitoriju
@@ -529,12 +529,12 @@ users.delete_account=Dzēst šo kontu users.still_own_repo=Šis konts ir vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai nomainīt to īpašnieku.
users.still_has_org=Šis konts ir vismaz vienas organizācijas biedrs, sākumā nepieciešams pamest vai izdzēst šo organizāciju.
-orgs.org_manage_panel=Organizācijas pārvaldīšanas panelis
+orgs.org_manage_panel=Organizāciju pārvaldības panelis
orgs.name=Nosaukums
orgs.teams=Komandas
orgs.members=Dalībnieki
-repos.repo_manage_panel=Repozitorija pārvaldes panelis
+repos.repo_manage_panel=Repozitoriju pārvaldības panelis
repos.owner=Īpašnieks
repos.name=Vārds
repos.private=Privāts
@@ -542,7 +542,7 @@ repos.watches=Vērošana repos.stars=Atzīmētās zvaigznītes
repos.issues=Problēmas
-auths.auth_manage_panel=Autorizācijas pārvaldīšanas panelis
+auths.auth_manage_panel=Autorizāciju pārvaldības panelis
auths.new=Pievienot jaunu autorizācijas veidu
auths.name=Nosaukums
auths.type=Veids
@@ -580,9 +580,9 @@ config.offline_mode=Bezsaistes režīms config.disable_router_log=Atspējot maršrutētāja žurnalizēšanu
config.run_user=Izpildes lietotājs
config.run_mode=Izpildes režīms
-config.repo_root_path=Repozitorija saknes ceļš
-config.static_file_root_path=Statisko failu direktorija
-config.log_file_root_path=Žurnalizēšānas failu direktorija
+config.repo_root_path=Repozitoriju glabāšanas vieta
+config.static_file_root_path=Statisko failu atrašanās vieta
+config.log_file_root_path=Žurnalizēšanas failu glabāšanas vieta
config.script_type=Skripta veids
config.reverse_auth_user=Reversā lietotāja autentifikācija
config.db_config=Datu bāzes konfigurācija
@@ -650,12 +650,12 @@ notices.op=Op. notices.delete_success=Sistēmas paziņojums tika veiksmīgi izdzēsts.
[action]
-create_repo=izveidots repozitorijs <a href="%s/%s">%s</a>
-commit_repo=veica <code>push</code> atzaram <a href="%s/%s/src/%s">%s</a> repozitorijam <a href="%s/%s">%s</a>
-create_issue=reģistrēta problēma <a href="%s/%s/issues/%s">%s#%s</a>
-comment_issue=pievienots komentārs problēmai <a href="%s/%s/issues/%s">%s#%s</a>
-transfer_repo=Mainīja repozitorija īpašnieku <code>%s</code> uz <a href="/%s%s">%s</a>
-push_tag=veica <code>push</code> birkai <a href="%s/%s/src/%s">%s</a> uz <a href="%s/%s">%s</a>
+create_repo=izveidoja repozitoriju <a href="%s/%s">%s</a>
+commit_repo=veica izmaiņu nosūtīšanu atzaram <a href="%s/%s/src/%s">%s</a> repozitorijā <a href="%s/%s">%s</a>
+create_issue=reģistrēja problēmu <a href="%s/%s/issues/%s">%s#%s</a>
+comment_issue=pievienoja komentāru problēmai <a href="%s/%s/issues/%s">%s#%s</a>
+transfer_repo=mainīja repozitorija <code>%s</code> īpašnieku uz <a href="/%s%s">%s</a>
+push_tag=pievienoja birku <a href="%s/%s/src/%s">%s</a> repozitorijam <a href="%s/%s">%s</a>
compare_2_commits=Veikt salīdzināšanu starp šīm 2 revīzijām
[tool]
@@ -665,7 +665,7 @@ now=tagad 1s=1 sekundi %s
1m=1 minūti %s
1h=1 stundu %s
-1d=1 diena %s
+1d=1 dienu %s
1w=1 nedēļu %s
1mon=1 mēnesi %s
1y=1 gadu %s
@@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.5.8.1205 Beta" +const APP_VER = "0.5.8.1209 Beta" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/git_diff.go b/models/git_diff.go index e093e7ab1b..4bbe3c0e8f 100644 --- a/models/git_diff.go +++ b/models/git_diff.go @@ -6,6 +6,7 @@ package models import ( "bufio" + "bytes" "fmt" "io" "os" @@ -15,8 +16,10 @@ import ( "github.com/Unknwon/com" + "github.com/gogits/gogs/modules/base" "github.com/gogits/gogs/modules/git" "github.com/gogits/gogs/modules/log" + "github.com/gogits/gogs/modules/mahonia" "github.com/gogits/gogs/modules/process" ) @@ -80,6 +83,8 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff leftLine, rightLine int isTooLong bool + // FIXME: use first 30 lines to detect file encoding. Should use cache in the future. + buf bytes.Buffer ) diff := &Diff{Files: make([]*DiffFile, 0)} @@ -97,6 +102,11 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff i = i + 1 + // FIXME: use first 30 lines to detect file encoding. + if i <= 30 { + buf.WriteString(line) + } + // Diff data too large, we only show the first about maxlines lines if i == maxlines { isTooLong = true @@ -181,6 +191,21 @@ func ParsePatch(pid int64, maxlines int, cmd *exec.Cmd, reader io.Reader) (*Diff } } + // FIXME: use first 30 lines to detect file encoding. + charset, err := base.DetectEncoding(buf.Bytes()) + if charset != "utf8" && err == nil { + decoder := mahonia.NewDecoder(charset) + if decoder != nil { + for _, f := range diff.Files { + for _, sec := range f.Sections { + for _, l := range sec.Lines { + l.Content = decoder.ConvertString(l.Content) + } + } + } + } + } + return diff, nil } diff --git a/modules/base/markdown.go b/modules/base/markdown.go index c85bd02069..b2f94c480b 100644 --- a/modules/base/markdown.go +++ b/modules/base/markdown.go @@ -154,7 +154,7 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte { rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf( ` <a href="%s">#%s</a>`, m, ShortSha(string(m[i+7:j])))), -1) } - rawBytes = RenderissueIndexPattern(rawBytes, urlPrefix) + rawBytes = RenderIssueIndexPattern(rawBytes, urlPrefix) rawBytes = RenderSha1CurrentPattern(rawBytes, urlPrefix) return rawBytes } @@ -168,7 +168,7 @@ func RenderSha1CurrentPattern(rawBytes []byte, urlPrefix string) []byte { return rawBytes } -func RenderissueIndexPattern(rawBytes []byte, urlPrefix string) []byte { +func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte { ms := issueIndexPattern.FindAll(rawBytes, -1) for _, m := range ms { rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf( diff --git a/modules/base/template.go b/modules/base/template.go index 446d01dd09..462269aa4e 100644 --- a/modules/base/template.go +++ b/modules/base/template.go @@ -47,18 +47,23 @@ func ShortSha(sha1 string) string { return sha1 } -func ToUtf8WithErr(content []byte) (error, string) { +func DetectEncoding(content []byte) (string, error) { detector := chardet.NewTextDetector() result, err := detector.DetectBest(content) + return result.Charset, err +} + +func ToUtf8WithErr(content []byte) (error, string) { + charset, err := DetectEncoding(content) if err != nil { return err, "" } - if result.Charset == "utf8" { + if charset == "utf8" { return nil, string(content) } - decoder := mahonia.NewDecoder(result.Charset) + decoder := mahonia.NewDecoder(charset) if decoder != nil { return nil, decoder.ConvertString(string(content)) } diff --git a/routers/repo/commit.go b/routers/repo/commit.go index 82be6881fa..619c6c815c 100644 --- a/routers/repo/commit.go +++ b/routers/repo/commit.go @@ -33,6 +33,16 @@ func RefCommits(ctx *middleware.Context) { } } +func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { + newCommits := list.New() + for e := oldCommits.Front(); e != nil; e = e.Next() { + c := e.Value.(*git.Commit) + c.CommitMessage = string(base.RenderIssueIndexPattern([]byte(c.CommitMessage), repoLink)) + newCommits.PushBack(c) + } + return newCommits +} + func Commits(ctx *middleware.Context) { ctx.Data["IsRepoToolbarCommits"] = true @@ -86,16 +96,6 @@ func Commits(ctx *middleware.Context) { ctx.HTML(200, COMMITS) } -func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { - newCommits := list.New() - for e := oldCommits.Front(); e != nil; e = e.Next() { - c := e.Value.(*git.Commit) - c.CommitMessage = string(base.RenderissueIndexPattern([]byte(c.CommitMessage), repoLink)) - newCommits.PushBack(c) - } - return newCommits -} - func SearchCommits(ctx *middleware.Context) { ctx.Data["IsSearchPage"] = true ctx.Data["IsRepoToolbarCommits"] = true @@ -206,7 +206,7 @@ func Diff(ctx *middleware.Context) { commitId := ctx.Repo.CommitId commit := ctx.Repo.Commit - commit.CommitMessage = string(base.RenderissueIndexPattern([]byte(commit.CommitMessage), ctx.Repo.RepoLink)) + commit.CommitMessage = string(base.RenderIssueIndexPattern([]byte(commit.CommitMessage), ctx.Repo.RepoLink)) diff, err := models.GetDiffCommit(models.RepoPath(userName, repoName), commitId, setting.MaxGitDiffLines) if err != nil { diff --git a/routers/repo/view.go b/routers/repo/view.go index 073eb5d74e..2fb411589a 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -152,6 +152,11 @@ func Home(ctx *middleware.Context) { } } + // Render issue index links. + for _, f := range files { + c := f[1].(*git.Commit) + c.CommitMessage = string(base.RenderIssueIndexPattern([]byte(c.CommitMessage), ctx.Repo.RepoLink)) + } ctx.Data["Files"] = files var readmeFile *git.Blob @@ -199,7 +204,7 @@ func Home(ctx *middleware.Context) { } lastCommit := ctx.Repo.Commit - lastCommit.CommitMessage = string(base.RenderissueIndexPattern([]byte(lastCommit.CommitMessage), ctx.Repo.RepoLink)) + lastCommit.CommitMessage = string(base.RenderIssueIndexPattern([]byte(lastCommit.CommitMessage), ctx.Repo.RepoLink)) if len(treePath) > 0 { c, err := ctx.Repo.Commit.GetCommitOfRelPath(treePath) if err != nil { diff --git a/templates/.VERSION b/templates/.VERSION index 9808b62971..f7e9d476cc 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.5.8.1205 Beta
\ No newline at end of file +0.5.8.1209 Beta
\ No newline at end of file diff --git a/templates/admin/notice.tmpl b/templates/admin/notice.tmpl index b3abbb6b78..a3ae2a10dd 100644 --- a/templates/admin/notice.tmpl +++ b/templates/admin/notice.tmpl @@ -38,8 +38,8 @@ </table> {{if or .LastPageNum .NextPageNum}} <ul class="pagination"> - {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.LastPageNum}}">« {{.i18n.Tr "admin.prev"}}</a></li>{{end}} - {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.NextPageNum}}">» {{.i18n.Tr "admin.next"}}</a></li>{{end}} + {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/notices?p={{.LastPageNum}}">« {{.i18n.Tr "admin.prev"}}</a></li>{{end}} + {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/notices?p={{.NextPageNum}}">» {{.i18n.Tr "admin.next"}}</a></li>{{end}} </ul> {{end}} </div> diff --git a/templates/repo/diff.tmpl b/templates/repo/diff.tmpl index 2726b94d9d..225175e8d1 100644 --- a/templates/repo/diff.tmpl +++ b/templates/repo/diff.tmpl @@ -112,7 +112,7 @@ </td> <td class="lines-code"> - <pre>{{ToUtf8 .Content}}</pre> + <pre>{{.Content}}</pre> </td> </tr> {{end}} diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl index 8160c17b83..fed91effa7 100644 --- a/templates/repo/view_list.tmpl +++ b/templates/repo/view_list.tmpl @@ -1,7 +1,7 @@ <table id="repo-files-table" class="table-border table-block table-radius"> <thead> <tr> - <th colspan="4" class="clear"> + <th colspan="5" class="clear"> <span class="author left"> {{if .LastCommitUser}} <img class="avatar-24 radius" src="{{.LastCommitUser.AvatarLink}}" /> |