maboloshi / github-chinese

GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese)
https://maboloshi.github.io/github-chinese/
GNU General Public License v3.0
5.06k stars 295 forks source link

希望增加鼠标放到日期相关上面的时候改为中文日期格式 #137

Closed C-racker closed 3 months ago

C-racker commented 3 months ago

日期目前是自动翻译的,您是希望改成鼠标指针放在上面后翻译? image

image

这里的日期

C-racker commented 3 months ago

建议格式化为 2024-05-25 14:47:19 这样的

maboloshi commented 3 months ago

想要这样的效果? 屏幕截图 2024-05-25 162948

cosing commented 3 months ago

似乎简单的设置 relative-time 的lang就能做到这一点,如下 (只是一个简单示例没关心效率,我完全没怎么学过js

function formatTime(timeStr) {
  return timeStr.slice(0, 19);
}

function funa(mutations) {
  // 更新所有已存在的 <relative-time> 元素
  var times = document.getElementsByTagName('relative-time');
  for (var i = 0; i < times.length; i++) {
    times[i].setAttribute('lang', "zh")
  }
};

(function () {
  var observer = new MutationObserver(funa);

  // 监听 <body> 元素的变化
  observer.observe(document.body, {
    childList: true,
    subtree: true
  });
})();

事实上我并不喜欢中文化时间,我想要纯数字时间,但是似乎得调整很多属性,算了中文也差不多。

大脑升级梗图.jpg

(function() {
 document.documentElement.lang = 'zh';
})();

似乎直接这样更改也可以达到效果。但是我不确定副作用影响(运行时机建议为document-start)

cosing commented 3 months ago

事实上 GitHub官方是支持了多语言时间的,只是因为默认没使用中文环境罢了。

https://github.com/github/relative-time-element/blob/4b5442f0816ffb9c0f525cdd798a945c346aea9a/examples/index.html#L166-L186

maboloshi commented 3 months ago

目前,我使用一个函数formatTime在处理时间元素时读取datetime, 并使用toLocaleString('zh-CN')转换格式, 使用setAttribute赋值到title.

函数放到traverseNode的翻译时间元素过程中

maboloshi commented 3 months ago

目前使用

(function() {
 document.documentElement.lang = 'zh';
})();

效果如下

image
maboloshi commented 3 months ago

目前, 仅支持浏览器默认大陆简中的时间格式, 不打算自定义格式(否则,又是基于原有模式, 性能有差别)