diff --git a/README.md b/README.md index ef6510b..26f5fc1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # TriliumNext Notes 한국어 패치 (번역 + main.cjs 패치) +최신 진행 상황: [2026-09-13 작업 기록](updates/2026-09-05/PROGRESS.md). 도움말 103/173개 처리로 59.5%이며 도움말은 아직 운영 서버에 적용하지 않았습니다. + ## 2026-09-05 후속 작업 [최신 작업 상태와 파일](updates/2026-09-05/README.md) 및 [상세 변경 기록](updates/2026-09-05/CHANGELOG.ko.md)을 추가했습니다. 운영 서버에는 예제 노트 148개 수정과 편집기 한국어 사전 719개 문구 등을 반영했습니다. 기본 도움말은 100/173개 처리한 준비본이며 서버에는 아직 적용하지 않았습니다. 전체 한글화는 진행 중입니다. diff --git a/updates/2026-09-05/PROGRESS.md b/updates/2026-09-05/PROGRESS.md new file mode 100644 index 0000000..3fe133b --- /dev/null +++ b/updates/2026-09-05/PROGRESS.md @@ -0,0 +1,15 @@ +# 현재 진행 상태 + +갱신: 2026-09-13 + +- 대상: Trilium만 한글화합니다. 음악과 동영상 및 사진 사이트는 작업 대상이 아닙니다. +- 도움말: 103/173개 처리. 59.5%입니다. 원래 비어 있는 파일 3개가 포함됩니다. +- 이번 추가: 수동 서버 설치와 기본 노트 제목 및 작업 공간 안내 3개입니다. +- 검증: 처리한 103개 문서의 링크와 이미지 경로 목록이 원본과 일치합니다. +- 운영 적용: 이번 도움말은 준비본이며 아직 서버에 적용하지 않았습니다. +- 다음 문서: docs-order.json의 103번부터입니다. 70개가 남았습니다. +- 표현 규칙: itosm과 ITOSM은 한국어로 이스톰이라고 합니다. 주소와 기술 식별자는 원문을 유지합니다. + +수동 설치 문서는 원문부터 오래된 안내였습니다. 번역본에 그 사실을 명시하고 과거의 Node.js 버전을 현재 권장 사항처럼 소개하지 않도록 했습니다. 명령은 실행하지 않았습니다. 제목 템플릿의 문법과 작업 공간의 속성 키는 유지했습니다. + +초기 작업 기록의 100개와 57.8%는 2026-09-05 시점의 수치입니다. 최신 상태는 이 문서를 기준으로 확인하세요. 전체 한글화 완료율은 별도로 확정하지 않았습니다. diff --git a/updates/2026-09-05/README.md b/updates/2026-09-05/README.md index bec29be..87ff219 100644 --- a/updates/2026-09-05/README.md +++ b/updates/2026-09-05/README.md @@ -1,5 +1,7 @@ # 2026-09-05 한글화 작업 기록 +이 문서는 최초 등록 시점의 기록입니다. 후속 변경은 [현재 진행 상태](PROGRESS.md)를 참고하세요. 2026-09-13에 도움말 103개까지 처리했습니다. 번역 모듈은 `docs-ko-009.mjs`까지이며 다음 문서는 103번부터입니다. + TriliumNext 0.95.0 운영 환경에 적용한 수정본과 진행 중인 번역 자료를 함께 보관합니다. 전체 한글화는 아직 완료되지 않았습니다. 이 폴더를 추가해도 저장소 루트의 기존 설치 프로그램이나 v1.0.0 배포 파일은 바뀌지 않습니다. ## 진행 상태 diff --git a/updates/2026-09-05/SHA256SUMS.json b/updates/2026-09-05/SHA256SUMS.json index 4b332a3..145d14f 100644 --- a/updates/2026-09-05/SHA256SUMS.json +++ b/updates/2026-09-05/SHA256SUMS.json @@ -7,9 +7,13 @@ "bytes": 7909, "sha256": "62db7d5f89bc54f416920c5984e57d4704ceb7a5cd2ececa25d628ece4ae2fa2" }, + "PROGRESS.md": { + "bytes": 1318, + "sha256": "089e08b3eb8a8ba5b29baadcf81868bb2af5ffe6ff59fd77a1401014783a647f" + }, "README.md": { - "bytes": 5272, - "sha256": "85904f210fcf3fbf66201ee4a232b09d0b927d08a1252ecdfa1f5110796e5c87" + "bytes": 5545, + "sha256": "23e30c3777a865ed12827a32ff09aca3b042666cefc11be7ab12f475dc68a841" }, "deployed/MindElixir.js": { "bytes": 94559, @@ -68,8 +72,8 @@ "sha256": "90c0d36e2518aa597b3e09fdcaae4729168bba4e0a2cea65e1a1ecb9331d473a" }, "work/trilium/build-docs.mjs": { - "bytes": 2191, - "sha256": "a0813425fc99cb1a7ccc7bcc692fa43933617d6fb0d71eb828f67e0e169d4d7f" + "bytes": 2237, + "sha256": "852a473e9e9267ccb26ea828cd41beab3360ba57e3d5ad7dda286a706618fa02" }, "work/trilium/build-server.mjs": { "bytes": 2786, @@ -155,6 +159,10 @@ "bytes": 9173, "sha256": "6504bcbcb6c0556732271a69e4218d1a0ecc60dc20ee93ad6d67c43b766f016b" }, + "work/trilium/docs-ko-009.mjs": { + "bytes": 5981, + "sha256": "643465247846615dd33a44e3c3290e87d51f124b8f178bfc9219af34577a541a" + }, "work/trilium/docs-list.json": { "bytes": 12223, "sha256": "189012501c8789d60f68e3a78d3b9ed0e7d30081b2dcace1e579c0ba10e29a8b" @@ -165,7 +173,7 @@ }, "work/trilium/docs-validation.json": { "bytes": 55, - "sha256": "7ad32cf37d2718c02cbae4e6ae36088303e624cdd781413e917c0c1aea311275" + "sha256": "3498aa7d31597f87a3703a4aaf7b8e358a9f73a56d23391d6d3b7f0f90633a4e" }, "work/trilium/emoji-cldr-derived-ko.json": { "bytes": 835120, @@ -259,6 +267,10 @@ "bytes": 1349, "sha256": "7339c30394d9ab9366b6afca704fae994b0c50fdb981b09d718eb991c03b32f0" }, + "work/trilium/release/doc_notes/en/User Guide/User Guide/Advanced Usage/Default Note Title.html": { + "bytes": 2163, + "sha256": "95d069b5ecdc20b521b9d77cadd1c8c62265054742c382cfcd21d95443e90394" + }, "work/trilium/release/doc_notes/en/User Guide/User Guide/Advanced Usage/ETAPI (REST API).html": { "bytes": 2345, "sha256": "083a4df41fe2fe59ef3c7202c04e8c8875c52fb7a7ee69887f80bd6584871f43" @@ -331,6 +343,10 @@ "bytes": 1465, "sha256": "335290aa8bf9009f496ca96f54af22a16ca8a75a7e590f40c4ec6cc3330a80b5" }, + "work/trilium/release/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces.html": { + "bytes": 2164, + "sha256": "187e92a564a8862147e37ed8112fa50a3eb8bbfdad8e38b9fd57087b0b6c670b" + }, "work/trilium/release/doc_notes/en/User Guide/User Guide/Basic Concepts and Features/Notes/Archived Notes.html": { "bytes": 715, "sha256": "c56adbd67b697ba14f3139e7f03b4bce02d18373725cd9b1b50bde4237e88dae" @@ -407,6 +423,10 @@ "bytes": 1731, "sha256": "76c944636e3065c8be28cf718368de38cc1d06ea2d30171cfc6abb4430f10021" }, + "work/trilium/release/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Manually.html": { + "bytes": 2611, + "sha256": "d43ca576b1e870d0c5c8a43b767680efe3f89b5e50455b66179087032e66ca01" + }, "work/trilium/release/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Multiple server instances.html": { "bytes": 1809, "sha256": "7d7e85f561cce85ccd22ad834932101f7f266d35fea9befce1d907ebe5fc5ba3" diff --git a/updates/2026-09-05/work/trilium/build-docs.mjs b/updates/2026-09-05/work/trilium/build-docs.mjs index cd95003..4477162 100644 --- a/updates/2026-09-05/work/trilium/build-docs.mjs +++ b/updates/2026-09-05/work/trilium/build-docs.mjs @@ -8,7 +8,8 @@ import five from './docs-ko-005.mjs'; import six from './docs-ko-006.mjs'; import seven from './docs-ko-007.mjs'; import eight from './docs-ko-008.mjs'; -const translations={...one,...two,...three,...four,...five,...six,...seven,...eight}; +import nine from './docs-ko-009.mjs'; +const translations={...one,...two,...three,...four,...five,...six,...seven,...eight,...nine}; const order=JSON.parse(fs.readFileSync('work/trilium/docs-order.json','utf8')); const base='work/trilium/scoped/doc_notes/en',out='work/trilium/release/doc_notes/en'; const errors=[]; diff --git a/updates/2026-09-05/work/trilium/docs-ko-009.mjs b/updates/2026-09-05/work/trilium/docs-ko-009.mjs new file mode 100644 index 0000000..dc42b8e --- /dev/null +++ b/updates/2026-09-05/work/trilium/docs-ko-009.mjs @@ -0,0 +1,14 @@ +const p=s=>'
'+s+'
'; +export default { +100:({a,pre})=>'#titleTemplate '+a(0,'라벨')+'을 지정하세요. 이 기능은 0.52부터 지원합니다.')+p('상위 노트에 라벨과 값을 지정하면 하위 노트를 만들 때 그 값을 제목으로 사용합니다. 상속을 켜면 더 아래 단계에도 적용됩니다. 최상위 노트에 지정하면 전체 노트에 적용할 수 있습니다.')+p('예를 들어 2022년에 읽은 책 아래에 닐 스티븐슨의 아나뎀과 프란츠 카프카의 변신을 기록한다고 가정해 보겠습니다. 상위 노트에 #titleTemplate="[저자]의 [책 제목] ([출간 연도])"를 지정하면 새 하위 노트의 제목이 이 형식으로 만들어집니다.')+p('정보를 자동으로 추론하는 기능은 아닙니다. 대괄호 부분은 사용자가 직접 채워 넣는 자리입니다.')+'parentNote 변수는 상위 노트의 '+a(1,'FNote 객체')+'를 제공합니다.')+p('본문까지 기본 내용을 지정하려면 '+a(2,'템플릿')+'도 참고하세요.')+'#titleTemplate="${now.format(\'YYYY-MM-DD\')}: "를 지정하세요. 새 노트를 만들 때 '+a(3,'now 날짜 객체')+'를 사용해 날짜가 입력됩니다. 이후 시스템 중단이나 백업 지연처럼 사건 이름을 덧붙이면 됩니다.')+p('상위 노트의 저자 속성을 사용하려면 #titleTemplate="${parentNote.getLabelValue(\'authorName\')}의 작품"을 사용하세요. 상위 노트의 제목을 그대로 사용하려면 ${parentNote.title}을 지정합니다.'),
+102:({a,img})=>p('작업 공간은 '+a(0,'하위 트리만 표시')+'하는 기능을 확장한 개념입니다. 개인 기록과 업무처럼 서로 구분되는 관심사를 나누고 현재 작업에 필요한 노트에 집중할 수 있습니다.')+p(a(1,'하위 트리 표시 범위')+'를 작업 공간으로 제한할 수 있으며 전용 버튼으로 빠르게 들어갈 수 있습니다.')+p(img(0,'작업 공간 진입 버튼'))+p('탭의 아이콘과 배경색으로 현재 작업 공간을 구분할 수 있습니다.')+p(img(1,'탭에 표시된 작업 공간'))+'| 라벨 | 설명 |
|---|---|
'+k+' | '+v+' |
새 노트의 기본 제목은 새 노트입니다. 다른 제목이나 생성 시점에 따라 달라지는 제목을 사용하려면 #titleTemplate 라벨을 지정하세요. 이 기능은 0.52부터 지원합니다.
상위 노트에 라벨과 값을 지정하면 하위 노트를 만들 때 그 값을 제목으로 사용합니다. 상속을 켜면 더 아래 단계에도 적용됩니다. 최상위 노트에 지정하면 전체 노트에 적용할 수 있습니다.
예를 들어 2022년에 읽은 책 아래에 닐 스티븐슨의 아나뎀과 프란츠 카프카의 변신을 기록한다고 가정해 보겠습니다. 상위 노트에 #titleTemplate="[저자]의 [책 제목] ([출간 연도])"를 지정하면 새 하위 노트의 제목이 이 형식으로 만들어집니다.
정보를 자동으로 추론하는 기능은 아닙니다. 대괄호 부분은 사용자가 직접 채워 넣는 자리입니다.
제목 템플릿은 노트를 만드는 순간 JavaScript 문자열로 평가됩니다. 문자열 보간을 사용하면 날짜나 상위 노트의 값을 넣을 수 있습니다. parentNote 변수는 상위 노트의 FNote 객체를 제공합니다.
본문까지 기본 내용을 지정하려면 템플릿도 참고하세요.
서버 장애 기록을 날짜별로 남긴다면 상위 노트에 #titleTemplate="${now.format('YYYY-MM-DD')}: "를 지정하세요. 새 노트를 만들 때 now 날짜 객체를 사용해 날짜가 입력됩니다. 이후 시스템 중단이나 백업 지연처럼 사건 이름을 덧붙이면 됩니다.
상위 노트의 저자 속성을 사용하려면 #titleTemplate="${parentNote.getLabelValue('authorName')}의 작품"을 사용하세요. 상위 노트의 제목을 그대로 사용하려면 ${parentNote.title}을 지정합니다.
작업 공간은 하위 트리만 표시하는 기능을 확장한 개념입니다. 개인 기록과 업무처럼 서로 구분되는 관심사를 나누고 현재 작업에 필요한 노트에 집중할 수 있습니다.
하위 트리 표시 범위를 작업 공간으로 제한할 수 있으며 전용 버튼으로 빠르게 들어갈 수 있습니다.

탭의 아이콘과 배경색으로 현재 작업 공간을 구분할 수 있습니다.

| 라벨 | 설명 |
|---|---|
workspace | 노트를 작업 공간으로 지정하고 진입 버튼을 표시합니다. |
workspaceIconClass | 이 작업 공간을 표시할 때 탭에서 사용할 Boxicons 아이콘의 CSS 클래스를 지정합니다. |
workspaceTabBackgroundColor | 작업 공간 탭의 배경색입니다. lightblue나 #ddd처럼 CSS 색상 형식을 사용할 수 있습니다. CSS 색상 안내를 참고하세요. |
workspaceCalendarRoot | 작업 공간에서 사용할 날짜별 노트의 별도 달력을 지정합니다. 지정하지 않으면 전체 달력을 사용합니다. |
workspaceTemplate | 이 작업 공간 안에서 새 노트를 만들 때만 선택할 수 있는 템플릿으로 지정합니다. |
workspaceSearchHome | 표시 범위가 이 노트의 상위 노트로 제한되어 있을 때 새 검색 노트를 이 노트 아래에 만듭니다. |
workspaceInbox | 표시 범위가 이 노트의 상위 노트로 제한되어 있을 때 새 노트의 기본 수신함으로 사용합니다. |
Trilium은 Node.js 애플리케이션입니다. 원문에서는 Node.js 14와 16 계열을 시험했다고 설명합니다. 이는 당시의 정보이며 현재 사용할 버전의 요구 사항을 뜻하지 않습니다. 설치된 버전은 다음 명령으로 확인합니다.
node --version배포판의 패키지가 오래되었다면 Node.js 공식 설치 안내에서 해당 운영체제의 설치 방법을 확인하세요.
다음은 Debian과 Ubuntu 계열에 필요한 패키지를 설치하는 과거의 예시입니다.
sudo apt install libpng16-16 libpng-dev pkg-config autoconf libtool build-essential nasm libx11-dev libxkbfile-dev릴리스 페이지에서 소스 압축 파일을 받을 수 있습니다. 원문에서는 시험 버전을 포함한 소스를 다음 명령으로 복제하도록 안내합니다.
git clone -b master https://github.com/triliumnext/notes.gitcd trilium
+
+# Node.js 의존성 설치
+npm install
+
+# better-sqlite3 실행 파일 다시 빌드
+npm rebuild
+
+# 프런트엔드 JavaScript 묶기 및 압축
+npm run webpack다음은 원문에 실린 실행 예시입니다. 사용하는 배포판의 실행 명령과 환경 변수 지정 방식을 확인한 뒤 적용하세요.
cd trilium
+
+# 로그아웃한 뒤에도 실행을 유지하기 위한 nohup 사용 예시
+nohup TRILIUM_ENV=dev node src/www &기본 접속 포트는 8080입니다. 로컬 접속 주소의 localhost를 실제 서버 주소로 바꾸어 접속하세요.
안전한 접속을 위해 TLS 설정도 확인하세요.