timeago.js icon indicating copy to clipboard operation
timeago.js copied to clipboard

locale 是否可以兼容支持小写?

Open ZhangChengLin opened this issue 2 years ago • 3 comments

场景: 在网页端,生产环境有的是会压缩输出页面的代码,以利于gzip压缩,也许其他压缩也会相关吧。 gzip压缩规则里如果只包含小写字符,没有大写字符,会提高压缩率。 根据rfc5646,页面中的字符都是小写字符,不是大写字符,包括lang属性值,虽然是大写,但不是有特定意义。

lowercase tags, attributes and some values to enhance gzip compression

另外,参考dayjs也是支持的小写字符,原因并没有去找。 https://github.com/iamkun/dayjs/blob/00c223b7e92970d07557133994fcb225a6d4c960/src/index.js#L15

https://github.com/iamkun/dayjs/tree/1c267321a1a01b4947e1482bac67d67ebc7c3dfa/src/locale

希望作者也可以考虑一下是否可以兼容支持小写的locale字符。

ZhangChengLin avatar May 21 '23 01:05 ZhangChengLin

@hustcc

ZhangChengLin avatar May 21 '23 01:05 ZhangChengLin

挺有道理,可以代码中加一个 toLowerCase 兼容一下。

hustcc avatar May 24 '23 14:05 hustcc

挺有道理,可以代码中加一个 toLowerCase 兼容一下。 目前dayjs里面,文件名中的是使用的小写。 你的代码是默认包含2种语言,所以涉及了包含默认2种语言时的代码。

https://github.com/hustcc/timeago.js/blob/3ce10ccf46eea2f8009c7c274a22fea2f8952f23/src/index.ts#L11-L12

嗯,记得如果未来的一天,HTML规范里,或者lang属性值中都是必须全部小写字符了,就不需要兼容了。 总之记得为什么兼容就可以了。

ZhangChengLin avatar May 24 '23 16:05 ZhangChengLin