package arn // SoundTrackTitle represents a song title. type SoundTrackTitle struct { Canonical string `json:"canonical" editable:"true"` Native string `json:"native" editable:"true"` } // String is the default representation of the title. func (title *SoundTrackTitle) String() string { return title.ByUser(nil) } // ByUser returns the preferred title for the given user. func (title *SoundTrackTitle) ByUser(user *User) string { if user == nil { if title.Canonical != "" { return title.Canonical } return title.Native } switch user.Settings().TitleLanguage { case "japanese": if title.Native == "" { return title.Canonical } return title.Native default: return title.ByUser(nil) } }