모든 번역을 어떻게 확인하는가
이 글의 내용
이 블로그에는 열한 개 언어로 된 글 64편이 있습니다. 704줄이고 약 220만 자입니다. 어느 언어에서도 빠진 글이 없으며, 그것은 무언가가 강제할 때에만 뜻을 갖는 주장입니다.
강제하는 것이 있습니다. 번역된 줄이 쓰이기 전에 영어 원문과 맞대어 확인되고, 떨어진 줄은 아예 쓰이지 않습니다 — 보고되고 사람이 볼 수 있게 남겨집니다.
각 확인이 무엇을 위한 것인가
같은 링크 목적지. 내부 경로는 번역되면서 바뀌어서는 안 됩니다. /privacy는 모든 언어에서 /privacy로 남고, 언어 접두사는 그릴 때 붙습니다. 사람이든 아니든, 친절하게 경로를 현지화하는 번역자는 아무 데도 이르지 않는 링크를 만듭니다.
같은 자리표시자. 어떤 글은 페이지를 만들 때 채워지는 수치를 지녀 낡지 않게 합니다. 그것을 떨어뜨린 번역은 숫자를 잃고, 지어낸 번역은 문장 한가운데 중괄호를 남깁니다.
태그별 같은 개수. 태그가 짝을 이루는지만이 아니라 영어와 같은 개수여야 합니다. 이것이 제 자리를 버는 확인입니다. 잃어버린 표의 한 줄, 떨어진 목록 항목, 사라진 다이어그램은 다른 어떤 시험에도 보이지 않습니다. 결과가 여전히 유효한 HTML이고 아주 잘 읽히기 때문입니다.
범위 안의 길이. 영어의 절반과 두 배 반 사이입니다. 언어는 실제로 길이가 다르므로 범위는 넓습니다. 그것이 잡는 것은 중간에 멈춘 번역입니다.
무엇을 잡았고, 무엇을 잘못 잡았는가
진짜 포착 하나: 어떤 프랑스어 번역이 영어에 셋인 강조 낱말을 넷으로 달고 들어왔습니다. 부정어가 두 조각으로 표시되어 있었기 때문입니다. 잘못되어 보이는 것은 없었습니다. 개수가 그랬습니다.
거짓 경보 둘, 같은 날에, 둘 다 배울 만합니다.
첫째: 어떤 글이 CSS 한 줄을 인용하는데, CSS는 }}로 끝납니다. 중괄호 확인이 모든 {{와 모든 }}를 셌으므로, 아무 문제가 없는데도 그 글의 모든 번역이 떨어졌습니다. }} 없는 {{는 망가진 자리표시자일 수 없습니다 — 자리표시자는 {{로 시작하니까요 — 그래서 이제 여는 쪽만 셉니다.
둘째: <rect/>와 <path/>는 닫는 태그가 없으므로, 균형 시험은 그것들을 영원히 불균형으로 보고합니다. 빈 요소는 이제 균형을 맞추는 대신 개수를 셉니다.
둘 다 한 차례의 일을 들게 했고, 둘 다 확인이 느슨한 것이 아니라 지나치게 엄격한 쪽이었습니다. 그쪽이 더 나은 실패 방향이지만 공짜는 아닙니다. 늑대를 외치는 확인은 바쁜 사람 손에 느슨해지고, 그러면 정작 중요할 때 거기 없습니다.
가장 중요했던 시험
글에 다이어그램이 더해졌을 때 태그 확인을 그것까지 덮도록 넓혔습니다. 그것을 믿는 대신 확인을 시험했습니다. 어느 번역에서 다이어그램 하나를 일부러 지우고 가져오기를 돌렸습니다.
무엇이 사라졌는지 정확히 보고했습니다 — 다이어그램, 그 이름표 열 개, 사각형 넷, 경로 일곱 — 그리고 그 줄을 쓰기를 거부했습니다. 다이어그램을 되돌리자 확인은 다시 통과했습니다.
2분이 들었습니다. 실패하는 것을 한 번도 본 적 없는 검증은 가정되고 있는 검증이고, 가정이야말로 이 모든 것이 피하려는 그것입니다.