Code

< 40 %
40-60 %
> 60 %
1
package timeago
2
3
const (
4
	LangEn string = "en" // English
5
	LangRu string = "ru" // Russian
6
	LangUk string = "uk" // Ukrainian
7
	LangNl string = "nl" // Dutch
8
	LangDe string = "de" // German
9
	LangZh string = "zh" // Chinese
10
	LangBe string = "be" // Belarusian
11
	LangEs string = "es" // Spanish
12
	LangJa string = "ja" // Japanese
13
	LangFr string = "fr" // French
14
)
15
16
type Config struct {
17
	// Language is an ISO 639 language code like en, ru, de, nl, etc.
18
	// Default: LangEn ("en").
19
	Language string
20
21 1
	// Location is the timezone location needed for parsing
22 1
	// string date like "2019-01-01 00:00:00" to time.Time.
23
	// If Location is not set it will default to the server's.
24
	// Example: "America/New_York", "Europe/Moscow".
25 1
	// Default: "UTC".
26
	Location string
27
28
	// Translations is a slice of language sets that can be used to
29 1
	// overwrite the default translations. Read more about it in the docs
30
	// https://time-ago.github.io/configurations.html#overwrite-translations
31
	// Default: []LangSet{}
32
	Translations []LangSet
33
34
	// OnlineThreshold is the threshold in seconds to determine when
35
	// Timeago should show "Online" instead of "X seconds ago". If the
36
	// time difference is less than the threshold, it will show "Online".
37 1
	// Minimum value: "1"
38
	// Default: "60"
39
	OnlineThreshold int
40
41
	// JustNowThreshold is the threshold in seconds to determine when
42
	// Timeago should show "Just now" instead of "X seconds ago". If the
43
	// time difference is less than the threshold, it will show "Just now".
44
	// Minimum value: "1"
45
	// Default: "60"
46
	JustNowThreshold int
47
}
48
49
// NewConfig creates a new Config instance with the given language, location
50
// and language sets to overwrite the default translations.
51
func NewConfig(lang, loc string, langSets []LangSet, online, justNow int) *Config {
52
	return &Config{
53
		Language:         lang,
54
		Location:         loc,
55
		Translations:     langSets,
56
		OnlineThreshold:  online,
57
		JustNowThreshold: justNow,
58
	}
59
}
60
61
func (c Config) isLocationProvided() bool {
62
	return c.Location != "UTC" && c.Location != ""
63
}
64