191 lines
3.7 KiB
JavaScript
191 lines
3.7 KiB
JavaScript
import fs from 'node:fs';
|
|
const input='work/trilium/scoped/doc_notes/en/User Guide/!!!meta.json';
|
|
const meta=JSON.parse(fs.readFileSync(input,'utf8'));
|
|
const titles=`설치와 설정
|
|
데스크톱 설치
|
|
서버 설치
|
|
1. 서버 설치
|
|
Linux 패키지 설치
|
|
Docker로 설치
|
|
NixOS에 설치
|
|
직접 설치
|
|
Kubernetes로 설치
|
|
여러 서버 인스턴스
|
|
2. 리버스 프록시
|
|
Nginx 설정
|
|
Apache 설정
|
|
TLS 설정
|
|
인증
|
|
다중 인증
|
|
동기화
|
|
모바일 화면
|
|
웹 클리퍼
|
|
TriliumNext 업데이트
|
|
백업
|
|
데이터 폴더
|
|
기본 개념과 기능
|
|
화면 구성 요소
|
|
세로 배치와 가로 배치
|
|
전체 메뉴
|
|
노트 트리
|
|
노트 트리 메뉴
|
|
여러 노트 선택
|
|
상단 리본
|
|
탭
|
|
실행 도구 모음
|
|
노트 버튼
|
|
설정
|
|
분할 보기
|
|
떠 있는 버튼
|
|
오른쪽 사이드바
|
|
최근 변경 사항
|
|
화면 확대와 축소
|
|
노트
|
|
노트 아이콘
|
|
첨부 파일
|
|
노트 복제
|
|
가지 접두사
|
|
보호된 노트
|
|
보관된 노트
|
|
노트 수정 이력
|
|
노트 정렬
|
|
PDF로 내보내기
|
|
읽기 전용 노트
|
|
노트 목록
|
|
달력 보기
|
|
노트 탐색
|
|
트리의 개념
|
|
노트 이동
|
|
빠른 검색
|
|
노트로 이동
|
|
검색
|
|
북마크
|
|
노트 확대 보기
|
|
작업 공간
|
|
비슷한 노트
|
|
노트 안에서 찾기
|
|
키보드 단축키
|
|
테마
|
|
테마 모음
|
|
가져오기와 내보내기
|
|
Markdown
|
|
Evernote
|
|
OneNote
|
|
집중 모드
|
|
빠른 시작
|
|
자주 묻는 질문
|
|
노트 유형
|
|
텍스트
|
|
인용문과 안내 상자
|
|
북마크
|
|
본문 언어와 오른쪽에서 왼쪽으로 쓰기
|
|
하위 노트로 잘라내기
|
|
개발자용 서식
|
|
코드 블록
|
|
각주
|
|
서식 도구 모음
|
|
일반 서식
|
|
강조 표시 목록
|
|
이미지
|
|
이미지 참조
|
|
노트 포함
|
|
삽입 메뉴
|
|
편집 단축키
|
|
링크
|
|
목록
|
|
Markdown식 자동 서식
|
|
수식
|
|
기타 기능
|
|
목차
|
|
표
|
|
코드
|
|
저장된 검색
|
|
관계도
|
|
노트 지도
|
|
렌더링 노트
|
|
책
|
|
Mermaid 도표
|
|
ELK 배치
|
|
캔버스
|
|
웹 보기
|
|
마인드맵
|
|
지리 지도
|
|
파일
|
|
문제 해결
|
|
문제 제보
|
|
익명화한 데이터베이스
|
|
오류 로그
|
|
504 오류로 동기화가 실패할 때
|
|
앱 새로고침
|
|
테마 개발
|
|
사용자 테마 만들기
|
|
Next 테마 수정
|
|
테마 개발 참고 자료
|
|
앱 전체 사용자 CSS
|
|
고급 사용법
|
|
속성
|
|
라벨
|
|
관계
|
|
속성 상속
|
|
주요 속성
|
|
템플릿
|
|
노트 지도와 연결 지도 및 트리 지도
|
|
공개 공유
|
|
노트 원문 제공
|
|
고급 활용 예제
|
|
일일 노트
|
|
체중 기록
|
|
할 일 관리자
|
|
사용자 요청 처리기
|
|
사용자 리소스 제공자
|
|
ETAPI와 REST API
|
|
API 참고 자료
|
|
기본 노트 제목
|
|
데이터베이스
|
|
데이터베이스 직접 수정
|
|
SQL 콘솔
|
|
기본 예제 노트
|
|
설정 파일과 환경 변수
|
|
Trilium 인스턴스
|
|
교차 출처 리소스 공유와 CORS
|
|
일괄 작업
|
|
노트 소스
|
|
사용 기술
|
|
CKEditor
|
|
MindElixir
|
|
Excalidraw
|
|
Leaflet
|
|
노트 ID
|
|
내부 API
|
|
API 참고 자료
|
|
숨겨진 노트
|
|
운영 지표
|
|
Grafana 대시보드 예제 (grafana-dashboard.json)
|
|
AI
|
|
AI 기능 소개
|
|
AI 제공자 안내
|
|
Ollama
|
|
Ollama 설치
|
|
OpenAI
|
|
Anthropic
|
|
스크립트
|
|
프런트엔드 기초
|
|
예제
|
|
새 할 일 실행 버튼
|
|
Google 설문지 응답 내려받기
|
|
주요 속성으로 스크립트 설정
|
|
이벤트
|
|
사용자 위젯
|
|
단어 수 위젯
|
|
위젯 기초
|
|
스크립트 API
|
|
프런트엔드 API
|
|
프런트엔드 노트 객체 (FNote)
|
|
백엔드 API`.split('\n');
|
|
const changes=[];let i=0;
|
|
function walk(xs){for(const n of xs){const title=titles[i++];if(!title)throw Error('제목 부족');changes.push({noteId:n.id,oldTitle:n.title,title});n.title=title;if(n.children)walk(n.children);}}
|
|
walk(meta);if(i!==titles.length)throw Error(`제목 개수 불일치 ${i}/${titles.length}`);
|
|
fs.writeFileSync('work/trilium/release/doc_notes/en/User Guide/!!!meta.json',JSON.stringify(meta));
|
|
fs.writeFileSync('work/trilium/release/doc-title-changes.json',JSON.stringify(changes,null,2)+'\n');
|
|
console.log({translatedTitles:i});
|