Skip to content

Commit b5842ea

Browse files
authored
Merge branch 'master' into benchmark_tests
2 parents 20fed13 + f2715b8 commit b5842ea

File tree

167 files changed

+4535
-3357
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+4535
-3357
lines changed

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ audit=false
22
fund=false
33
package-lock=true
44
save-exact=true
5+
cache=.npm-cache

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -671,11 +671,11 @@ npm-cache: .npm-cache $(FOMANTIC_WORK_DIR)/node_modules/fomantic-ui
671671

672672
.npm-cache: package-lock.json
673673
rm -rf .npm-cache
674-
$(eval ESBUILD_VERSION := `node -p "require('./package-lock.json').dependencies.esbuild.version"`)
674+
$(eval ESBUILD_VERSION := $(shell node -p "require('./package-lock.json').dependencies.esbuild.version"))
675675
npm config --userconfig=.npmrc set cache=.npm-cache
676676
rm -rf node_modules && npm install --no-save
677677
npm config --userconfig=$(FOMANTIC_WORK_DIR)/.npmrc set cache=../../.npm-cache
678-
echo esbuild-{darwin-64,linux-{arm,arm64,32,64},windows-{32,64}}@$(ESBUILD_VERSION) | tr " " "\n" | xargs -n 1 -P 4 npm cache add
678+
echo $(foreach build, darwin-64 $(foreach arch,arm arm64 32 64,linux-${arch}) $(foreach arch,32 64,windows-${arch}), esbuild-${build}@$(ESBUILD_VERSION)) | tr " " "\n" | xargs -n 1 -P 4 npm cache add
679679
rm -rf $(FOMANTIC_WORK_DIR)/node_modules
680680
@touch .npm-cache
681681

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ require (
8686
github.com/mgechev/revive v1.0.3
8787
github.com/mholt/acmez v0.1.3 // indirect
8888
github.com/mholt/archiver/v3 v3.5.0
89-
github.com/microcosm-cc/bluemonday v1.0.4
89+
github.com/microcosm-cc/bluemonday v1.0.5
9090
github.com/miekg/dns v1.1.40 // indirect
9191
github.com/minio/md5-simd v1.1.2 // indirect
9292
github.com/minio/minio-go/v7 v7.0.10
@@ -136,9 +136,9 @@ require (
136136
go.uber.org/multierr v1.6.0 // indirect
137137
go.uber.org/zap v1.16.0 // indirect
138138
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
139-
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
139+
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c
140140
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93
141-
golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46
141+
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44
142142
golang.org/x/text v0.3.5
143143
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
144144
golang.org/x/tools v0.1.0

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,8 +1321,8 @@ golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwY
13211321
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
13221322
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
13231323
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
1324-
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
1325-
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
1324+
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c h1:KHUzaHIpjWVlVVNh65G3hhuj3KB1HnjY6Cq5cTvRQT8=
1325+
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
13261326
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
13271327
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
13281328
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1418,8 +1418,8 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w
14181418
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
14191419
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
14201420
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1421-
golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46 h1:V066+OYJ66oTjnhm4Yrn7SXIwSCiDQJxpBxmvqb1N1c=
1422-
golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1421+
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44 h1:Bli41pIlzTzf3KEY06n+xnzK/BESIg2ze4Pgfh/aI8c=
1422+
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
14231423
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
14241424
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
14251425
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=

integrations/attachment_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func TestGetAttachment(t *testing.T) {
122122
t.Run(tc.name, func(t *testing.T) {
123123
//Write empty file to be available for response
124124
if tc.createFile {
125-
_, err := storage.Attachments.Save(models.AttachmentRelativePath(tc.uuid), strings.NewReader("hello world"))
125+
_, err := storage.Attachments.Save(models.AttachmentRelativePath(tc.uuid), strings.NewReader("hello world"), -1)
126126
assert.NoError(t, err)
127127
}
128128
//Actual test

models/attachment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (a *Attachment) LinkedRepository() (*Repository, UnitType, error) {
8585
func NewAttachment(attach *Attachment, buf []byte, file io.Reader) (_ *Attachment, err error) {
8686
attach.UUID = gouuid.New().String()
8787

88-
size, err := storage.Attachments.Save(attach.RelativePath(), io.MultiReader(bytes.NewReader(buf), file))
88+
size, err := storage.Attachments.Save(attach.RelativePath(), io.MultiReader(bytes.NewReader(buf), file), -1)
8989
if err != nil {
9090
return nil, fmt.Errorf("Create: %v", err)
9191
}

models/user.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -331,11 +331,6 @@ func (u *User) GenerateEmailActivateCode(email string) string {
331331
return code
332332
}
333333

334-
// GenerateActivateCode generates an activate code based on user information.
335-
func (u *User) GenerateActivateCode() string {
336-
return u.GenerateEmailActivateCode(u.Email)
337-
}
338-
339334
// GetFollowers returns range of user's followers.
340335
func (u *User) GetFollowers(listOptions ListOptions) ([]*User, error) {
341336
sess := x.

modules/lfs/content_store.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,21 @@ func (s *ContentStore) Get(meta *models.LFSMetaObject, fromByte int64) (io.ReadC
5353
}
5454
if fromByte > 0 {
5555
if fromByte >= meta.Size {
56+
err = f.Close()
57+
if err != nil {
58+
log.Error("Whilst trying to read LFS OID[%s]: Unable to close Error: %v", meta.Oid, err)
59+
}
5660
return nil, ErrRangeNotSatisfiable{
5761
FromByte: fromByte,
5862
}
5963
}
6064
_, err = f.Seek(fromByte, io.SeekStart)
6165
if err != nil {
6266
log.Error("Whilst trying to read LFS OID[%s]: Unable to seek to %d Error: %v", meta.Oid, fromByte, err)
67+
errClose := f.Close()
68+
if errClose != nil {
69+
log.Error("Whilst trying to read LFS OID[%s]: Unable to close Error: %v", meta.Oid, errClose)
70+
}
6371
}
6472
}
6573
return f, err
@@ -74,7 +82,7 @@ func (s *ContentStore) Put(meta *models.LFSMetaObject, r io.Reader) error {
7482

7583
// now pass the wrapped reader to Save - if there is a size mismatch or hash mismatch then
7684
// the errors returned by the newHashingReader should percolate up to here
77-
written, err := s.Save(p, wrappedRd)
85+
written, err := s.Save(p, wrappedRd, meta.Size)
7886
if err != nil {
7987
log.Error("Whilst putting LFS OID[%s]: Failed to copy to tmpPath: %s Error: %v", meta.Oid, p, err)
8088
return err

modules/migrations/gitea_uploader.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
283283
}
284284
}
285285
defer rc.Close()
286-
_, err = storage.Attachments.Save(attach.RelativePath(), rc)
286+
_, err = storage.Attachments.Save(attach.RelativePath(), rc, int64(*asset.Size))
287287
return err
288288
}()
289289
if err != nil {

modules/notification/mail/mail.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,14 @@ func (m *mailNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *model
104104
// mail only sent to added assignees and not self-assignee
105105
if !removed && doer.ID != assignee.ID && assignee.EmailNotifications() == models.EmailNotificationsEnabled {
106106
ct := fmt.Sprintf("Assigned #%d.", issue.Index)
107-
mailer.SendIssueAssignedMail(issue, doer, ct, comment, []string{assignee.Email})
107+
mailer.SendIssueAssignedMail(issue, doer, ct, comment, []*models.User{assignee})
108108
}
109109
}
110110

111111
func (m *mailNotifier) NotifyPullReviewRequest(doer *models.User, issue *models.Issue, reviewer *models.User, isRequest bool, comment *models.Comment) {
112112
if isRequest && doer.ID != reviewer.ID && reviewer.EmailNotifications() == models.EmailNotificationsEnabled {
113113
ct := fmt.Sprintf("Requested to review %s.", issue.HTMLURL())
114-
mailer.SendIssueAssignedMail(issue, doer, ct, comment, []string{reviewer.Email})
114+
mailer.SendIssueAssignedMail(issue, doer, ct, comment, []*models.User{reviewer})
115115
}
116116
}
117117

@@ -153,7 +153,7 @@ func (m *mailNotifier) NotifyPullRequestPushCommits(doer *models.User, pr *model
153153
}
154154

155155
func (m *mailNotifier) NotifyPullRevieweDismiss(doer *models.User, review *models.Review, comment *models.Comment) {
156-
if err := mailer.MailParticipantsComment(comment, models.ActionPullReviewDismissed, review.Issue, []*models.User{}); err != nil {
156+
if err := mailer.MailParticipantsComment(comment, models.ActionPullReviewDismissed, review.Issue, nil); err != nil {
157157
log.Error("MailParticipantsComment: %v", err)
158158
}
159159
}

modules/storage/local.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (l *LocalStorage) Open(path string) (Object, error) {
6666
}
6767

6868
// Save a file
69-
func (l *LocalStorage) Save(path string, r io.Reader) (int64, error) {
69+
func (l *LocalStorage) Save(path string, r io.Reader, size int64) (int64, error) {
7070
p := filepath.Join(l.dir, path)
7171
if err := os.MkdirAll(filepath.Dir(p), os.ModePerm); err != nil {
7272
return 0, err

modules/storage/minio.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,13 @@ func (m *MinioStorage) Open(path string) (Object, error) {
131131
}
132132

133133
// Save save a file to minio
134-
func (m *MinioStorage) Save(path string, r io.Reader) (int64, error) {
134+
func (m *MinioStorage) Save(path string, r io.Reader, size int64) (int64, error) {
135135
uploadInfo, err := m.client.PutObject(
136136
m.ctx,
137137
m.bucket,
138138
m.buildMinioPath(path),
139139
r,
140-
-1,
140+
size,
141141
minio.PutObjectOptions{ContentType: "application/octet-stream"},
142142
)
143143
if err != nil {

modules/storage/storage.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ type Object interface {
6565
// ObjectStorage represents an object storage to handle a bucket and files
6666
type ObjectStorage interface {
6767
Open(path string) (Object, error)
68-
Save(path string, r io.Reader) (int64, error)
68+
// Save store a object, if size is unknown set -1
69+
Save(path string, r io.Reader, size int64) (int64, error)
6970
Stat(path string) (os.FileInfo, error)
7071
Delete(path string) error
7172
URL(path, name string) (*url.URL, error)
@@ -80,7 +81,13 @@ func Copy(dstStorage ObjectStorage, dstPath string, srcStorage ObjectStorage, sr
8081
}
8182
defer f.Close()
8283

83-
return dstStorage.Save(dstPath, f)
84+
size := int64(-1)
85+
fsinfo, err := f.Stat()
86+
if err == nil {
87+
size = fsinfo.Size()
88+
}
89+
90+
return dstStorage.Save(dstPath, f, size)
8491
}
8592

8693
// SaveFrom saves data to the ObjectStorage with path p from the callback
@@ -94,7 +101,7 @@ func SaveFrom(objStorage ObjectStorage, p string, callback func(w io.Writer) err
94101
}
95102
}()
96103

97-
_, err := objStorage.Save(p, pr)
104+
_, err := objStorage.Save(p, pr, -1)
98105
return err
99106
}
100107

options/locale/locale_bg-BG.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,9 @@ reset_password=Възстановете акаунта си
264264
register_success=Успешна регистрация
265265
register_notify=Добре дошли в Gitea
266266

267+
268+
269+
267270
[modal]
268271
yes=Да
269272
no=Не

options/locale/locale_cs-CZ.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,9 @@ reset_password=Obnovit váš účet
318318
register_success=Registrace byla úspěšná
319319
register_notify=Vítejte v Gitea
320320

321+
322+
323+
321324
[modal]
322325
yes=Ano
323326
no=Ne

options/locale/locale_de-DE.ini

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,14 @@ reset_password=Stelle dein Konto wieder her
319319
register_success=Registrierung erfolgreich
320320
register_notify=Willkommen bei Gitea
321321

322+
release.new.subject=Release %s in %s erschienen
323+
324+
repo.transfer.subject_to=%s möchte "%s" an %s übertragen
325+
repo.transfer.subject_to_you=%s möchte dir "%s" übertragen
326+
repo.transfer.to_you=dir
327+
328+
repo.collaborator.added.subject=%s hat dich zu %s hinzugefügt
329+
322330
[modal]
323331
yes=Ja
324332
no=Abbrechen
@@ -1790,6 +1798,7 @@ settings.block_on_official_review_requests_desc=Zusammenführung wird nicht mög
17901798
settings.block_outdated_branch=Merge blockieren, wenn der Pull-Request veraltet ist
17911799
settings.block_outdated_branch_desc=Mergen ist nicht möglich, wenn der Head-Branch hinter dem Basis-Branch ist.
17921800
settings.default_branch_desc=Wähle einen Standardbranch für Pull-Requests und Code-Commits:
1801+
settings.default_merge_style_desc=Standard Mergeverhalten für Pull Requests:
17931802
settings.choose_branch=Wähle einen Branch …
17941803
settings.no_protected_branch=Es gibt keine geschützten Branches.
17951804
settings.edit_protected_branch=Bearbeiten
@@ -1858,6 +1867,7 @@ diff.whitespace_ignore_at_eol=Ignoriere EOL-whitespace-Änderungen
18581867
diff.stats_desc=<strong> %d geänderte Dateien</strong> mit <strong>%d neuen</strong> und <strong>%d gelöschten</strong> Zeilen
18591868
diff.stats_desc_file=%d Änderungen: %d Ergänzungen und %d Löschungen
18601869
diff.bin=BIN
1870+
diff.bin_not_shown=Binäre Datei nicht angezeigt.
18611871
diff.view_file=Datei anzeigen
18621872
diff.file_before=Vorher
18631873
diff.file_after=Nachher
@@ -1958,6 +1968,9 @@ topic.done=Fertig
19581968
topic.count_prompt=Du kannst nicht mehr als 25 Themen auswählen
19591969
topic.format_prompt=Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
19601970

1971+
error.csv.too_large=Diese Datei kann nicht gerendert werden, da sie zu groß ist.
1972+
error.csv.unexpected=Diese Datei kann nicht gerendert werden, da sie ein unerwartetes Zeichen in Zeile %d und Spalte %d enthält.
1973+
error.csv.invalid_field_count=Diese Datei kann nicht gerendert werden, da sie eine falsche Anzahl an Feldern in Zeile %d hat.
19611974

19621975
[org]
19631976
org_name_holder=Name der Organisation

options/locale/locale_en-US.ini

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,14 @@ reset_password = Recover your account
320320
register_success = Registration successful
321321
register_notify = Welcome to Gitea
322322
323+
release.new.subject = %s in %s released
324+
325+
repo.transfer.subject_to = %s would like to transfer "%s" to %s
326+
repo.transfer.subject_to_you = %s would like to transfer "%s" to you
327+
repo.transfer.to_you = you
328+
329+
repo.collaborator.added.subject = %s added you to %s
330+
323331
[modal]
324332
yes = Yes
325333
no = No

options/locale/locale_es-ES.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,9 @@ reset_password=Recupere su cuenta
319319
register_success=Registro completado
320320
register_notify=¡Bienvenido a Gitea
321321

322+
323+
324+
322325
[modal]
323326
yes=Sí
324327
no=No

options/locale/locale_fa-IR.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,9 @@ reset_password=حساب خود را دوباره فعال کنید
304304
register_success=ثبت‌نام با موفقیت انجام شد
305305
register_notify=به گیتی یا گیت‌گو خوش آمدید
306306

307+
308+
309+
307310
[modal]
308311
yes=بله
309312
no=خیر

options/locale/locale_fi-FI.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,9 @@ reset_password=Palauta käyttäjätili
268268
register_success=Rekisteröinti onnistui
269269
register_notify=Tervetuloa Giteaan
270270

271+
272+
273+
271274
[modal]
272275
yes=Kyllä
273276
no=Ei

options/locale/locale_fr-FR.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,9 @@ reset_password=Récupérer votre compte
319319
register_success=Inscription réussie
320320
register_notify=Bienvenue sur Gitea
321321
322+
323+
324+
322325
[modal]
323326
yes=Oui
324327
no=Non

options/locale/locale_hu-HU.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,9 @@ reset_password=Fiókjának visszaállítása
282282
register_success=Sikeres regisztráció
283283
register_notify=A Gitea üdvözli
284284

285+
286+
287+
285288
[modal]
286289
yes=Igen
287290
no=Nem

options/locale/locale_id-ID.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,9 @@ reset_password=Pulihkan akun Anda
284284
register_success=Pendaftaran berhasil
285285
register_notify=Selamat Datang di Gitea
286286

287+
288+
289+
287290
[modal]
288291
yes=Ya
289292
no=Tidak

options/locale/locale_it-IT.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,9 @@ reset_password=Recupera il tuo account
318318
register_success=Registrazione completata con successo
319319
register_notify=Benvenuto su Gitea
320320
321+
322+
323+
321324
[modal]
322325
yes=Sì
323326
no=No

options/locale/locale_ja-JP.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,9 @@ reset_password=アカウントを回復
319319
register_success=登録が完了しました
320320
register_notify=Giteaへようこそ
321321

322+
323+
324+
322325
[modal]
323326
yes=はい
324327
no=いいえ

options/locale/locale_ko-KR.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,9 @@ reset_password=계정 복구
273273
register_success=등록 완료
274274
register_notify=Gitea에 오신것을 환영합니다!
275275

276+
277+
278+
276279
[modal]
277280
yes=예
278281
no=아니오

options/locale/locale_lv-LV.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,9 @@ reset_password=Atgūt kontu
319319
register_success=Veiksmīga reģistrācija
320320
register_notify=Laipni lūdzam Gitea
321321

322+
323+
324+
322325
[modal]
323326
yes=Jā
324327
no=Nē

0 commit comments

Comments
 (0)