mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-19 18:52:38 +00:00

This is my take to fix #6078 Should also resolve #6111 As far as I can tell, Forgejo uses only a subset of the relative-time functionality, and as far as I can see, this subset can be implemented using browser built-in date conversion and arithmetic. So I wrote a JavaScript to format the relative-time element accordingly, and a Go binding to generate the translated elements. This is my first time writing Go code, and my first time coding for a large-scale server application, so please tell me if I'm doing something wrong, or if the whole approach is not acceptable. --- Screenshot: Localized times in Low German  Screenshot: The same with Forgejo in English  --- ## Checklist The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org). ### Tests - I added test coverage for Go changes... - [x] in their respective `*_test.go` for unit tests. - [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server. - I added test coverage for JavaScript changes... - [x] in `web_src/js/*.test.js` if it can be unit tested. - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)). ### Documentation - [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change. - [x] I did not document these changes and I do not expect someone else to do it. ### Release notes - [x] I do not want this change to show in the release notes. - [ ] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6154 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Co-authored-by: Benedikt Straub <benedikt-straub@web.de> Co-committed-by: Benedikt Straub <benedikt-straub@web.de>
234 lines
3.9 KiB
Text
234 lines
3.9 KiB
Text
forgejo.org/cmd
|
|
NoMainListener
|
|
|
|
forgejo.org/cmd/forgejo
|
|
ContextSetNoInit
|
|
ContextSetNoExit
|
|
ContextSetStderr
|
|
ContextGetStderr
|
|
ContextSetStdout
|
|
ContextSetStdin
|
|
|
|
forgejo.org/models
|
|
IsErrSHANotFound
|
|
IsErrMergeDivergingFastForwardOnly
|
|
|
|
forgejo.org/models/auth
|
|
WebAuthnCredentials
|
|
|
|
forgejo.org/models/db
|
|
TruncateBeans
|
|
InTransaction
|
|
DumpTables
|
|
|
|
forgejo.org/models/dbfs
|
|
file.renameTo
|
|
Create
|
|
Rename
|
|
|
|
forgejo.org/models/forgefed
|
|
GetFederationHost
|
|
|
|
forgejo.org/models/forgejo/semver
|
|
GetVersion
|
|
SetVersionString
|
|
SetVersion
|
|
|
|
forgejo.org/models/git
|
|
RemoveDeletedBranchByID
|
|
|
|
forgejo.org/models/issues
|
|
IsErrUnknownDependencyType
|
|
IsErrIssueWasClosed
|
|
|
|
forgejo.org/models/organization
|
|
SearchMembersOptions.ToConds
|
|
|
|
forgejo.org/models/perm/access
|
|
GetRepoWriters
|
|
|
|
forgejo.org/models/repo
|
|
WatchRepoMode
|
|
|
|
forgejo.org/models/user
|
|
IsErrExternalLoginUserAlreadyExist
|
|
IsErrExternalLoginUserNotExist
|
|
NewFederatedUser
|
|
IsErrUserSettingIsNotExist
|
|
GetUserAllSettings
|
|
DeleteUserSetting
|
|
|
|
forgejo.org/modules/activitypub
|
|
NewContext
|
|
Context.APClientFactory
|
|
|
|
forgejo.org/modules/assetfs
|
|
Bindata
|
|
|
|
forgejo.org/modules/auth/password/hash
|
|
DummyHasher.HashWithSaltBytes
|
|
NewDummyHasher
|
|
|
|
forgejo.org/modules/auth/password/pwn
|
|
WithHTTP
|
|
|
|
forgejo.org/modules/base
|
|
SetupGiteaRoot
|
|
|
|
forgejo.org/modules/cache
|
|
GetInt
|
|
WithNoCacheContext
|
|
RemoveContextData
|
|
|
|
forgejo.org/modules/emoji
|
|
ReplaceCodes
|
|
|
|
forgejo.org/modules/eventsource
|
|
Event.String
|
|
|
|
forgejo.org/modules/forgefed
|
|
NewForgeUndoLike
|
|
ForgeUndoLike.UnmarshalJSON
|
|
ForgeUndoLike.Validate
|
|
GetItemByType
|
|
JSONUnmarshalerFn
|
|
NotEmpty
|
|
ToRepository
|
|
OnRepository
|
|
|
|
forgejo.org/modules/git
|
|
AllowLFSFiltersArgs
|
|
AddChanges
|
|
AddChangesWithArgs
|
|
CommitChanges
|
|
CommitChangesWithArgs
|
|
SetUpdateHook
|
|
openRepositoryWithDefaultContext
|
|
ToEntryMode
|
|
|
|
forgejo.org/modules/gitrepo
|
|
GetBranchCommitID
|
|
GetWikiDefaultBranch
|
|
|
|
forgejo.org/modules/graceful
|
|
Manager.TerminateContext
|
|
Manager.Err
|
|
Manager.Value
|
|
Manager.Deadline
|
|
|
|
forgejo.org/modules/hcaptcha
|
|
WithHTTP
|
|
|
|
forgejo.org/modules/hostmatcher
|
|
HostMatchList.AppendPattern
|
|
|
|
forgejo.org/modules/json
|
|
StdJSON.Marshal
|
|
StdJSON.Unmarshal
|
|
StdJSON.NewEncoder
|
|
StdJSON.NewDecoder
|
|
StdJSON.Indent
|
|
|
|
forgejo.org/modules/log
|
|
NewEventWriterBuffer
|
|
|
|
forgejo.org/modules/markup
|
|
GetRendererByType
|
|
RenderString
|
|
IsMarkupFile
|
|
|
|
forgejo.org/modules/markup/console
|
|
Render
|
|
RenderString
|
|
|
|
forgejo.org/modules/markup/markdown
|
|
RenderRawString
|
|
|
|
forgejo.org/modules/markup/mdstripper
|
|
stripRenderer.AddOptions
|
|
StripMarkdown
|
|
|
|
forgejo.org/modules/markup/orgmode
|
|
RenderString
|
|
|
|
forgejo.org/modules/process
|
|
Manager.ExecTimeout
|
|
|
|
forgejo.org/modules/queue
|
|
newBaseChannelSimple
|
|
newBaseChannelUnique
|
|
newBaseRedisSimple
|
|
newBaseRedisUnique
|
|
testStateRecorder.Records
|
|
testStateRecorder.Reset
|
|
newWorkerPoolQueueForTest
|
|
|
|
forgejo.org/modules/queue/lqinternal
|
|
QueueItemIDBytes
|
|
QueueItemKeyBytes
|
|
ListLevelQueueKeys
|
|
|
|
forgejo.org/modules/setting
|
|
NewConfigProviderFromData
|
|
GitConfigType.GetOption
|
|
InitLoggersForTest
|
|
|
|
forgejo.org/modules/sync
|
|
StatusTable.Start
|
|
StatusTable.IsRunning
|
|
|
|
forgejo.org/modules/timeutil
|
|
GetExecutableModTime
|
|
MockSet
|
|
MockUnset
|
|
|
|
forgejo.org/modules/translation
|
|
MockLocale.Language
|
|
MockLocale.TrString
|
|
MockLocale.Tr
|
|
MockLocale.TrN
|
|
MockLocale.TrPluralString
|
|
MockLocale.TrPluralStringAllForms
|
|
MockLocale.TrSize
|
|
MockLocale.HasKey
|
|
MockLocale.PrettyNumber
|
|
|
|
forgejo.org/modules/translation/localeiter
|
|
IterateMessagesContent
|
|
|
|
forgejo.org/modules/util
|
|
OptionalArg
|
|
|
|
forgejo.org/modules/util/filebuffer
|
|
CreateFromReader
|
|
|
|
forgejo.org/modules/validation
|
|
IsErrNotValid
|
|
|
|
forgejo.org/modules/web
|
|
RouteMock
|
|
RouteMockReset
|
|
|
|
forgejo.org/modules/zstd
|
|
NewWriter
|
|
Writer.Write
|
|
Writer.Close
|
|
|
|
forgejo.org/routers/web/org
|
|
MustEnableProjects
|
|
|
|
forgejo.org/services/context
|
|
GetPrivateContext
|
|
|
|
forgejo.org/services/repository
|
|
IsErrForkAlreadyExist
|
|
|
|
forgejo.org/services/repository/files
|
|
ContentType.String
|
|
|
|
forgejo.org/services/repository/gitgraph
|
|
Parser.Reset
|
|
|
|
forgejo.org/services/webhook
|
|
NewNotifier
|
|
|