github-ko-ext
github-ko-ext copied to clipboard
시간 관련 번역 오류
![스크린샷 2019-10-23 10 45 17](https://user-images.githubusercontent.com/32220765/67349440-d3d4c100-f582-11e9-9ebb-0749a88e55e4.png)
n분 전과 같이 시간을 나타내는 문구들은 일정 주기마다 업데이트되는 것 같습니다. 근데 이 주기를 따라가지 못하고 번역이 되었다가 안되었다가 합니다. 개선이 필요할 것 같아요.
이런 코드로 수정해보는건 어떨까요..?
function isUpdateNeeded() {
const timeElems = document.querySelectorAll('[datetime]');
const regExp = /[a-z]/i;
for (let i = 0; i < timeElems.length; i++) {
if (
regExp.test(timeElems[i].innerHTML)
) return true;
}
return false;
}
function onTranslationDone() {
setInterval(() => {
if (isUpdateNeeded()) 번역하기();
}, 0);
}
#5 PR넣었습니다 :)
이유도 모르고 있었습니다. 보내주신 코드를 바탕으로, 조금 다르게 해결해보고 공유드리겠습니다. 감사합니다.
제가 뭔가 착오가 있었던 모양이에요. 아래 코드쓰면 시간 관련 업데이트가 중단되는게 맞네요.
document.querySelector('relative-time').disconnectedCallback();
근데 이걸쓰면 자동 업데이트도 멈추니까 직접 계속 업데이트해줘야할 것 같아요.
Array
.from(document.querySelector('relative-time'))
.forEach(elem => {
const datetime = new Date(elem.getAttribute('datetime'));
// do something!
})
덕분에 계속 흥미롭게 고민 중입니다. MutationObserver를 time-ago와 relative-time 요소에 걸어서, 내용이 바뀌면 다시 번역을 시도하는 방법으로 고민 중입니다.