@tracearr/translations 2.2.3 → 2.2.4-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/config.d.ts +14 -4
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js.map +1 -1
  4. package/dist/config.mobile.d.ts +14 -4
  5. package/dist/config.mobile.d.ts.map +1 -1
  6. package/dist/formatting.js.map +1 -1
  7. package/dist/language.d.ts +30 -30
  8. package/dist/language.d.ts.map +1 -1
  9. package/dist/locales/af-ZA/pages.json +46 -37
  10. package/dist/locales/ar-SA/pages.json +13 -4
  11. package/dist/locales/ar-SA/settings.json +7 -7
  12. package/dist/locales/ca-ES/pages.json +45 -36
  13. package/dist/locales/ca-ES/settings.json +1 -1
  14. package/dist/locales/cs-CZ/pages.json +48 -39
  15. package/dist/locales/cs-CZ/settings.json +7 -7
  16. package/dist/locales/da-DK/pages.json +53 -44
  17. package/dist/locales/da-DK/settings.json +7 -7
  18. package/dist/locales/de-DE/pages.json +13 -4
  19. package/dist/locales/de-DE/settings.json +7 -7
  20. package/dist/locales/el-GR/pages.json +13 -4
  21. package/dist/locales/el-GR/settings.json +7 -7
  22. package/dist/locales/en/pages.json +10 -5
  23. package/dist/locales/en/settings.json +10 -10
  24. package/dist/locales/en-US/pages.json +15 -6
  25. package/dist/locales/en-US/settings.json +10 -10
  26. package/dist/locales/es-ES/pages.json +13 -4
  27. package/dist/locales/es-ES/settings.json +7 -7
  28. package/dist/locales/fi-FI/pages.json +49 -40
  29. package/dist/locales/fi-FI/settings.json +7 -7
  30. package/dist/locales/fr-FR/common.json +49 -48
  31. package/dist/locales/fr-FR/mobile.json +9 -9
  32. package/dist/locales/fr-FR/nav.json +23 -23
  33. package/dist/locales/fr-FR/notifications.json +24 -24
  34. package/dist/locales/fr-FR/pages.json +462 -453
  35. package/dist/locales/fr-FR/settings.json +88 -88
  36. package/dist/locales/he-IL/pages.json +10 -1
  37. package/dist/locales/hu-HU/pages.json +10 -1
  38. package/dist/locales/it-IT/pages.json +13 -4
  39. package/dist/locales/it-IT/settings.json +7 -7
  40. package/dist/locales/ja-JP/pages.json +14 -5
  41. package/dist/locales/ja-JP/settings.json +7 -7
  42. package/dist/locales/ko-KR/common.json +37 -36
  43. package/dist/locales/ko-KR/mobile.json +15 -15
  44. package/dist/locales/ko-KR/nav.json +20 -20
  45. package/dist/locales/ko-KR/notifications.json +28 -28
  46. package/dist/locales/ko-KR/pages.json +1171 -1162
  47. package/dist/locales/ko-KR/settings.json +82 -82
  48. package/dist/locales/nl-NL/pages.json +40 -31
  49. package/dist/locales/nl-NL/settings.json +10 -10
  50. package/dist/locales/no-NO/pages.json +13 -4
  51. package/dist/locales/no-NO/settings.json +7 -7
  52. package/dist/locales/pl-PL/pages.json +13 -4
  53. package/dist/locales/pl-PL/settings.json +7 -7
  54. package/dist/locales/pt-BR/pages.json +13 -4
  55. package/dist/locales/pt-BR/settings.json +7 -7
  56. package/dist/locales/pt-PT/pages.json +13 -4
  57. package/dist/locales/pt-PT/settings.json +7 -7
  58. package/dist/locales/ro-RO/pages.json +13 -4
  59. package/dist/locales/ro-RO/settings.json +7 -7
  60. package/dist/locales/ru-RU/pages.json +14 -5
  61. package/dist/locales/ru-RU/settings.json +7 -7
  62. package/dist/locales/sr-SP/pages.json +10 -1
  63. package/dist/locales/sv-SE/pages.json +13 -4
  64. package/dist/locales/sv-SE/settings.json +7 -7
  65. package/dist/locales/tr-TR/pages.json +10 -1
  66. package/dist/locales/uk-UA/pages.json +14 -5
  67. package/dist/locales/uk-UA/settings.json +7 -7
  68. package/dist/locales/vi-VN/pages.json +10 -1
  69. package/dist/locales/zh-CN/pages.json +156 -147
  70. package/dist/locales/zh-CN/settings.json +66 -66
  71. package/dist/locales/zh-TW/pages.json +11 -2
  72. package/dist/locales/zh-TW/settings.json +1 -1
  73. package/package.json +2 -4
  74. package/src/locales/af-ZA/pages.json +46 -37
  75. package/src/locales/ar-SA/pages.json +13 -4
  76. package/src/locales/ar-SA/settings.json +7 -7
  77. package/src/locales/ca-ES/pages.json +45 -36
  78. package/src/locales/ca-ES/settings.json +1 -1
  79. package/src/locales/cs-CZ/pages.json +48 -39
  80. package/src/locales/cs-CZ/settings.json +7 -7
  81. package/src/locales/da-DK/pages.json +53 -44
  82. package/src/locales/da-DK/settings.json +7 -7
  83. package/src/locales/de-DE/pages.json +13 -4
  84. package/src/locales/de-DE/settings.json +7 -7
  85. package/src/locales/el-GR/pages.json +13 -4
  86. package/src/locales/el-GR/settings.json +7 -7
  87. package/src/locales/en/pages.json +10 -5
  88. package/src/locales/en/settings.json +10 -10
  89. package/src/locales/en-US/pages.json +15 -6
  90. package/src/locales/en-US/settings.json +10 -10
  91. package/src/locales/es-ES/pages.json +13 -4
  92. package/src/locales/es-ES/settings.json +7 -7
  93. package/src/locales/fi-FI/pages.json +49 -40
  94. package/src/locales/fi-FI/settings.json +7 -7
  95. package/src/locales/fr-FR/common.json +49 -48
  96. package/src/locales/fr-FR/mobile.json +9 -9
  97. package/src/locales/fr-FR/nav.json +23 -23
  98. package/src/locales/fr-FR/notifications.json +24 -24
  99. package/src/locales/fr-FR/pages.json +462 -453
  100. package/src/locales/fr-FR/settings.json +88 -88
  101. package/src/locales/he-IL/pages.json +10 -1
  102. package/src/locales/hu-HU/pages.json +10 -1
  103. package/src/locales/it-IT/pages.json +13 -4
  104. package/src/locales/it-IT/settings.json +7 -7
  105. package/src/locales/ja-JP/pages.json +14 -5
  106. package/src/locales/ja-JP/settings.json +7 -7
  107. package/src/locales/ko-KR/common.json +37 -36
  108. package/src/locales/ko-KR/mobile.json +15 -15
  109. package/src/locales/ko-KR/nav.json +20 -20
  110. package/src/locales/ko-KR/notifications.json +28 -28
  111. package/src/locales/ko-KR/pages.json +1171 -1162
  112. package/src/locales/ko-KR/settings.json +82 -82
  113. package/src/locales/nl-NL/pages.json +40 -31
  114. package/src/locales/nl-NL/settings.json +10 -10
  115. package/src/locales/no-NO/pages.json +13 -4
  116. package/src/locales/no-NO/settings.json +7 -7
  117. package/src/locales/pl-PL/pages.json +13 -4
  118. package/src/locales/pl-PL/settings.json +7 -7
  119. package/src/locales/pt-BR/pages.json +13 -4
  120. package/src/locales/pt-BR/settings.json +7 -7
  121. package/src/locales/pt-PT/pages.json +13 -4
  122. package/src/locales/pt-PT/settings.json +7 -7
  123. package/src/locales/ro-RO/pages.json +13 -4
  124. package/src/locales/ro-RO/settings.json +7 -7
  125. package/src/locales/ru-RU/pages.json +14 -5
  126. package/src/locales/ru-RU/settings.json +7 -7
  127. package/src/locales/sr-SP/pages.json +10 -1
  128. package/src/locales/sv-SE/pages.json +13 -4
  129. package/src/locales/sv-SE/settings.json +7 -7
  130. package/src/locales/tr-TR/pages.json +10 -1
  131. package/src/locales/uk-UA/pages.json +14 -5
  132. package/src/locales/uk-UA/settings.json +7 -7
  133. package/src/locales/vi-VN/pages.json +10 -1
  134. package/src/locales/zh-CN/pages.json +156 -147
  135. package/src/locales/zh-CN/settings.json +66 -66
  136. package/src/locales/zh-TW/pages.json +11 -2
  137. package/src/locales/zh-TW/settings.json +1 -1
@@ -5,7 +5,7 @@
5
5
  "servers": "서버",
6
6
  "notifications": "알림",
7
7
  "mobile": "모바일 앱",
8
- "tailscale": "",
8
+ "tailscale": "Tailscale",
9
9
  "import": "가져오기",
10
10
  "advanced": "고급",
11
11
  "jobs": "작업",
@@ -39,11 +39,11 @@
39
39
  "themeSystem": "시스템 설정 따르기",
40
40
  "application": "애플리케이션",
41
41
  "applicationDesc": "기본 애플리케이션 설정을 구성하세요",
42
- "unitSystemDesc": "거리와 속도를 표시할 방식을 선택하세요",
42
+ "unitSystemDesc": "",
43
43
  "sessionSync": "세션 동기화",
44
- "sessionSyncDesc": "미디어 서버의 세션 추적을 활성화하세요",
44
+ "sessionSyncDesc": "",
45
45
  "syncInterval": "동기화 간격",
46
- "syncIntervalDesc": "Jellyfin/Emby 폴링 주기(5-300초)",
46
+ "syncIntervalDesc": "",
47
47
  "syncIntervalSuffix": "초",
48
48
  "plexSseNote": "Plex는 거의 즉시 업데이트되는 Server-Sent Events(SSE)를 사용하므로 폴링이 필요 없습니다.",
49
49
  "jellyfinPollingNote": "Jellyfin/Emby는 위 간격으로 폴링됩니다.",
@@ -52,7 +52,7 @@
52
52
  "externalAccess": "외부 접근",
53
53
  "externalAccessDesc": "(모바일 앱 같은) 외부 기기가 서버에 연결하는 방식을 구성하세요",
54
54
  "externalUrl": "외부 URL",
55
- "externalUrlPlaceholder": "",
55
+ "externalUrlPlaceholder": "https://tracearr.example.com",
56
56
  "externalUrlDesc": "외부 기기가 이 서버에 접속할 때 사용할 URL입니다. QR 코드와 모바일 앱 페어링에 사용됩니다.",
57
57
  "detect": "감지",
58
58
  "localhostWarning": "Localhost URL은 외부 기기에서 작동하지 않습니다. LAN IP나 도메인 이름을 사용하세요.",
@@ -67,41 +67,41 @@
67
67
  "generateKey": "키 생성",
68
68
  "regenerateApiKey": "API 키를 다시 생성할까요?",
69
69
  "regenerateApiKeyDesc": "현재 API 키가 무효화됩니다. 이전 키를 사용하는 모든 연동은 더 이상 작동하지 않습니다.",
70
- "publicApiSettings": "",
71
- "publicApiSettingsDesc": "",
72
- "watchedThresholdMovie": "",
70
+ "publicApiSettings": "공개 API",
71
+ "publicApiSettingsDesc": "공개 API의 시청 완료 기준과 요청 한도를 설정합니다",
72
+ "watchedThresholdMovie": "영화 시청 완료 기준",
73
73
  "watchedThresholdMovieDesc": "",
74
- "watchedThresholdTv": "",
74
+ "watchedThresholdTv": "TV 에피소드 시청 완료 기준",
75
75
  "watchedThresholdTvDesc": "",
76
- "watchedThresholdMusic": "",
76
+ "watchedThresholdMusic": "음악 재생 완료 기준",
77
77
  "watchedThresholdMusicDesc": "",
78
- "watchedThresholdSuffix": "",
79
- "apiRateLimit": "",
80
- "apiRateLimitDesc": "",
81
- "apiRateLimitSuffix": "",
78
+ "watchedThresholdSuffix": "%",
79
+ "apiRateLimit": "API 요청 한도",
80
+ "apiRateLimitDesc": "API 키별 분당 최대 공개 API 요청 수입니다. 적용하려면 다시 시작해야 합니다.",
81
+ "apiRateLimitSuffix": "/분",
82
82
  "updateChecks": {
83
- "title": "",
84
- "description": "",
85
- "plugin": "",
86
- "pluginDesc": "",
87
- "server": "",
88
- "serverDesc": ""
83
+ "title": "업데이트 확인",
84
+ "description": "Tracearr는 여섯 시간마다 새 릴리스를 확인합니다. 업데이트 트리거를 수신하는 자동화를 통해 알림을 보냅니다.",
85
+ "plugin": "실시간 플러그인",
86
+ "pluginDesc": "Jellyfin과 Emby 서버가 이벤트를 전달하는 Tracearr 플러그인의 새 릴리스를 확인합니다.",
87
+ "server": "미디어 서버",
88
+ "serverDesc": "각 Plex, Jellyfin, Emby 서버의 설치 버전을 제작자가 배포한 최신 릴리스와 비교합니다."
89
89
  },
90
90
  "imageCache": {
91
- "title": "",
92
- "description": "",
93
- "size": "",
94
- "files": "",
95
- "need": "",
96
- "needHint": "",
97
- "free": "",
98
- "freeOf": "",
99
- "floor": "",
100
- "ceiling": "",
101
- "lastSweep": "",
102
- "never": "",
103
- "diskLimited": "",
104
- "loadError": ""
91
+ "title": "포스터 캐시",
92
+ "description": "포스터가 바뀔 때까지 각 포스터 한 장을 디스크에 보관합니다. 공간 확보를 위해 자동 삭제하지 않으며, 디스크 여유 공간이 부족해지면 캐시 저장을 중단하고 알려 줍니다.",
93
+ "size": "디스크 사용량",
94
+ "files": "파일 수",
95
+ "need": "예상 필요 용량",
96
+ "needHint": "포스터 {{count}}개 × 18KB",
97
+ "free": "남은 디스크 공간",
98
+ "freeOf": "전체 {{total}} 중",
99
+ "floor": "확보할 여유 공간",
100
+ "ceiling": "최대 한도",
101
+ "lastSweep": "마지막 정리",
102
+ "never": "아직 없음",
103
+ "diskLimited": "{{since}}부터 디스크 공간 부족: 포스터 약 {{shortfall}}개가 캐시되지 않았습니다.",
104
+ "loadError": "캐시 상태를 불러오지 못했습니다."
105
105
  }
106
106
  },
107
107
  "servers": {
@@ -124,7 +124,7 @@
124
124
  "selectAccountHelp": "서버를 검색할 Plex 계정을 선택하세요.",
125
125
  "allServersConnected": "모든 서버가 연결됨",
126
126
  "allServersConnectedDesc": "이 계정의 모든 서버가 이미 연결되어 있습니다.",
127
- "serverUrlPlaceholder": "",
127
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
128
128
  "serverUrlHelp": "Jellyfin 또는 Emby 서버에 직접 연결되는 URL입니다. 안정성을 위해 IP:포트를 사용하는 것이 좋습니다.",
129
129
  "serverNamePlaceholder": "내 미디어 서버",
130
130
  "apiKeyPlaceholder": "API 키 입력",
@@ -150,46 +150,46 @@
150
150
  "apiKeyHelpJellyfin": "Jellyfin 대시보드 > API 키에서 찾을 수 있습니다",
151
151
  "apiKeyHelpEmby": "Emby 서버 > API 키에서 찾을 수 있습니다",
152
152
  "plexServerPlaceholder": "내 Plex 서버",
153
- "plexServerUrlPlaceholder": "",
153
+ "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
154
154
  "updateHint": "또는 아래 업데이트를 클릭해 이름 변경만 저장하세요.",
155
155
  "added": "{{date}} 추가됨",
156
156
  "realtimeActive": "실시간 업데이트 활성화됨",
157
157
  "pollingMode": "폴링",
158
158
  "setupRealtime": "실시간 업데이트 설정",
159
- "realtimeError": "",
159
+ "realtimeError": "실시간 연결 오류",
160
160
  "checkingConnection": "연결 확인 중…",
161
- "pluginVersion": "",
162
- "pluginUpdateAvailable": "",
161
+ "pluginVersion": "플러그인 v{{version}}",
162
+ "pluginUpdateAvailable": "플러그인 업데이트가 있습니다",
163
163
  "realtimeDialog": {
164
164
  "title": "실시간 업데이트 활성화",
165
- "updateTitle": "",
165
+ "updateTitle": "Tracearr SSE 플러그인 업데이트",
166
166
  "jellyfinDescription": "다음 폴링을 기다리지 않고 즉시 세션 업데이트를 받으려면 Tracearr SSE 플러그인을 설치하세요.",
167
167
  "embyDescription": "다음 폴링을 기다리지 않고 즉시 세션 업데이트를 받으려면 Tracearr SSE 플러그인을 설치하세요.",
168
- "jellyfinUpdateDescription": "",
169
- "embyUpdateDescription": "",
168
+ "jellyfinUpdateDescription": "새 플러그인 버전이 있습니다. Jellyfin 대시보드에서 플러그인 > 카탈로그로 이동해 Tracearr SSE를 업데이트한 뒤 Jellyfin을 다시 시작하세요.",
169
+ "embyUpdateDescription": "새 플러그인 버전이 있습니다. 최신 릴리스 ZIP을 내려받아 Emby 플러그인 폴더의 DLL을 교체한 뒤 Emby를 다시 시작하세요.",
170
170
  "repositoryUrl": "저장소 URL",
171
171
  "copyUrl": "URL 복사",
172
- "jellyfinRepoUrl": "",
173
- "embyReleasesUrl": "",
172
+ "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
173
+ "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
174
174
  "openReleases": "릴리스 페이지 열기",
175
- "autoDetectNote": "",
175
+ "autoDetectNote": "플러그인을 설치한 뒤 Jellyfin 또는 Emby를 반드시 다시 시작하세요. Tracearr는 다시 시작할 필요 없이 플러그인을 자동으로 감지합니다.",
176
176
  "close": "닫기",
177
- "issueBlocked": "",
178
- "issueRestartRequired": "",
179
- "issueMalfunctioned": ""
177
+ "issueBlocked": "서버에는 플러그인이 설치되어 활성화된 것으로 표시되지만, Tracearr가 엔드포인트에서 404 응답을 받았습니다. 보통 리버스 프록시가 해당 경로를 차단할 때 발생합니다.",
178
+ "issueRestartRequired": "플러그인이 설치되었지만 활성화하려면 미디어 서버를 다시 시작해야 합니다.",
179
+ "issueMalfunctioned": "서버에서 플러그인을 불러오지 못했습니다. 플러그인이나 미디어 서버를 업데이트하면 대부분 해결됩니다."
180
180
  },
181
181
  "posterSource": {
182
- "title": "",
183
- "titleDesc": "",
184
- "label": "",
185
- "description": "",
186
- "automatic": "",
187
- "emptyHint": ""
182
+ "title": "포스터 설정",
183
+ "titleDesc": "같은 콘텐츠가 여러 서버에 있을 때 표시할 포스터의 서버를 선택합니다",
184
+ "label": "우선 포스터 출처",
185
+ "description": "같은 콘텐츠가 여러 서버에 있으면 이 서버의 포스터를 사용합니다. 포스터가 없으면 가장 최근에 추가된 항목의 포스터를 사용합니다.",
186
+ "automatic": "자동(가장 최근 항목)",
187
+ "emptyHint": "우선 포스터 출처를 선택하려면 서버를 추가하세요."
188
188
  },
189
189
  "version": {
190
- "installed": "",
191
- "upToDate": "",
192
- "updateAvailable": ""
190
+ "installed": "버전 {{version}}",
191
+ "upToDate": "최신 버전",
192
+ "updateAvailable": "{{version}} 업데이트 가능"
193
193
  }
194
194
  },
195
195
  "mobile": {
@@ -206,7 +206,7 @@
206
206
  "getOnGooglePlay": "Google Play에서 받기",
207
207
  "downloadOnAppStore": "App Store에서 다운로드",
208
208
  "pairYourDevice": "기기 페어링",
209
- "pairYourDeviceDesc": "Tracearr 앱으로 QR 코드를 스캔해 이 서버에 연결하세요.",
209
+ "pairYourDeviceDesc": "",
210
210
  "externalUrlRequired": "모바일 페어링을 사용하려면 일반 설정에서 외부 URL을 구성해야 합니다.",
211
211
  "mobileAccessDisabled": "모바일 접근이 비활성화됨",
212
212
  "mobileAccessDisabledDesc": "Tracearr 모바일 앱이 서버에 연결할 수 있도록 모바일 접근을 활성화하세요.",
@@ -240,8 +240,8 @@
240
240
  "externalUrlBannerSuffix": "을/를 설정하세요."
241
241
  },
242
242
  "tailscale": {
243
- "title": "",
244
- "description": "포트 포워딩 없이 Tailscale 네트워크에서 Tracearr에 안전하게 접근하세요.",
243
+ "title": "Tailscale VPN",
244
+ "description": "",
245
245
  "notAvailable": "Tailscale 바이너리를 찾을 수 없습니다. 이 기능은 공식 Docker 이미지에서 실행할 때만 사용할 수 있습니다.",
246
246
  "disabledDescription": "Tailscale을 활성화해 Tracearr를 개인 tailnet에 연결하세요. 포트 포워딩이나 리버스 프록시가 필요 없습니다.",
247
247
  "hostnameLabel": "기기 호스트 이름",
@@ -255,7 +255,7 @@
255
255
  "connected": "Tailscale이 연결되었습니다. Tracearr 인스턴스를 tailnet에서 사용할 수 있습니다.",
256
256
  "hostname": "호스트 이름",
257
257
  "dnsName": "DNS 이름",
258
- "tailnetUrl": "",
258
+ "tailnetUrl": "URL",
259
259
  "showLogs": "로그 보기",
260
260
  "hideLogs": "로그 숨기기",
261
261
  "noLogs": "표시할 로그 출력이 없습니다.",
@@ -278,7 +278,7 @@
278
278
  },
279
279
  "jobs": {
280
280
  "title": "유지관리 작업",
281
- "description": "데이터를 정확하고 최적화된 상태로 유지하는 백그라운드 작업을 관리하세요.",
281
+ "description": "",
282
282
  "normalization": "정규화",
283
283
  "backfill": "백필",
284
284
  "cleanup": "정리",
@@ -312,7 +312,7 @@
312
312
  "title": "접근 제어",
313
313
  "description": "Tracearr에 접근할 수 있는 사용자를 구성하세요",
314
314
  "allowGuestAccess": "게스트 접근 허용",
315
- "allowGuestAccessDesc": "비활성화하면 서버 소유자만 Tracearr에 로그인할 수 있습니다",
315
+ "allowGuestAccessDesc": "",
316
316
  "singleOwnerNote": "참고: 게스트 접근이 비활성화되면 서버 소유자만 로그인할 수 있습니다. 다른 모든 사용자는 \"접근 거부\" 메시지를 보게 됩니다."
317
317
  },
318
318
  "import": {
@@ -330,8 +330,8 @@
330
330
  "errors": "오류",
331
331
  "noServers": "연결된 서버가 없습니다",
332
332
  "noServersHint": "데이터를 가져오려면 연결된 서버가 하나 이상 필요합니다.",
333
- "tautulliUrl": "",
334
- "tautulliUrlPlaceholder": "",
333
+ "tautulliUrl": "Tautulli URL",
334
+ "tautulliUrlPlaceholder": "http://localhost:8181",
335
335
  "tautulliUrlHelp": "Tautulli 인스턴스의 URL입니다.",
336
336
  "apiKeyHelp": "Tautulli 설정 > Web Interface > API Key에서 찾을 수 있습니다.",
337
337
  "testing": "테스트 중...",
@@ -365,8 +365,8 @@
365
365
  "importHistoryDesc": "외부 소스에서 과거 시청 데이터를 가져옵니다",
366
366
  "plex": "Plex(Tautulli)",
367
367
  "jellyfinEmby": "Jellyfin/Emby(Jellystat)",
368
- "step1": "",
369
- "step2": "",
368
+ "step1": "1",
369
+ "step2": "2",
370
370
  "apiKeyPlaceholder": "Tautulli API 키",
371
371
  "skipUserNotFoundPlex": "사용자를 찾을 수 없음 - Plex 사용자가 Tracearr에 없습니다. 먼저 서버를 동기화해 모든 사용자를 추가하세요.",
372
372
  "skipDuplicate": "중복 세션 - 이 세션은 이전에 이미 가져왔습니다.",
@@ -377,20 +377,20 @@
377
377
  "importInProgressGeneric": "가져오는 중...",
378
378
  "startingImport": "가져오기를 시작하는 중...",
379
379
  "connectedFound": "연결되었습니다! 사용자 {{users}}명과 기록 {{records}}개를 찾았습니다.",
380
- "playbackReporting": "",
381
- "playbackReportingDesc": "",
382
- "checkPlugin": "",
383
- "checkingPlugin": "",
384
- "pluginFound": "",
385
- "pluginNotInstalled": "",
386
- "serverTimezone": "",
387
- "serverTimezoneHelp": "",
388
- "importFullRange": "",
389
- "importFullRangeHelp": "",
390
- "overlapSkipped": "",
391
- "duplicates": "",
392
- "skipOverlap": "",
393
- "skipDuplicatePlugin": ""
380
+ "playbackReporting": "Playback Reporting 플러그인",
381
+ "playbackReportingDesc": "Jellyfin 또는 Emby 서버에 설치된 Playback Reporting 플러그인에서 시청 기록을 바로 가져옵니다. 파일로 내보낼 필요가 없습니다.",
382
+ "checkPlugin": "플러그인 확인",
383
+ "checkingPlugin": "확인 중...",
384
+ "pluginFound": "플러그인 확인됨: {{oldestDate}}~{{newestDate}}, 기록 {{records}}개",
385
+ "pluginNotInstalled": "이 서버에 Playback Reporting 플러그인이 설치되지 않았거나 Tracearr에서 접근할 수 없습니다. 시청 기록을 남기려면 서버의 플러그인 카탈로그에서 설치하거나 아래에서 Jellystat 가져오기를 사용하세요.",
386
+ "serverTimezone": "서버 시간대",
387
+ "serverTimezoneHelp": "브라우저가 아닌 미디어 서버 호스트에 설정된 시간대와 일치해야 합니다. Playback Reporting의 타임스탬프는 서버 현지 시간으로 저장됩니다.",
388
+ "importFullRange": "전체 기록 가져오기",
389
+ "importFullRangeHelp": "기본적으로 Tracearr가 이 서버에서 처음 기록한 세션보다 오래된 기록만 가져오므로 이미 기록된 세션이 중복되지 않습니다. Tracearr 기록에 누락된 구간이 있다면 이 옵션을 켜서 겹치는 기간과 관계없이 플러그인의 전체 기록을 가져오세요. 완전히 동일한 항목은 계속 건너뜁니다.",
390
+ "overlapSkipped": "기간이 겹쳐 {{count}}개 건너뜀",
391
+ "duplicates": "중복 {{count}}개 건너뜀",
392
+ "skipOverlap": "기간이 겹치는 기록 - 타임스탬프가 Tracearr에서 이미 추적 중인 기간에 포함됩니다. 포함하려면 전체 기록 가져오기를 켜세요.",
393
+ "skipDuplicatePlugin": "중복 기록 - 이미 직접 가져왔거나 같은 플러그인 데이터를 Jellystat에서 먼저 가져온 항목입니다."
394
394
  },
395
395
  "plex": {
396
396
  "signInWithPlex": "Plex로 로그인",
@@ -476,7 +476,7 @@
476
476
  "sessions": "세션",
477
477
  "users": "사용자",
478
478
  "servers": "서버",
479
- "automations": "",
479
+ "automations": "자동화",
480
480
  "libraryItems": "라이브러리 항목",
481
481
  "tables": "테이블",
482
482
  "warning": "복원하면 기존 데이터가 모두 대체됩니다. 복원이 완료된 뒤 다시 로그인해야 합니다.",
@@ -210,7 +210,7 @@
210
210
  "quietest": "Stiltesten:",
211
211
  "bingeHighlights": "Rand accentueringen",
212
212
  "bingeHighlightsDesc": "Toont de meest intensieve kijkpatronen",
213
- "bingeSessions": "buik sessies",
213
+ "bingeSessions": "",
214
214
  "noData": "Nog geen controlegegevens",
215
215
  "noDataDesc": "Horlogeanalytics zullen hier verschijnen zodra de inhoud is afgespeeld. Kom terug na sommige activiteiten te bekijken.",
216
216
  "failedToLoad": "Fout bij het laden van horloge analytics",
@@ -506,7 +506,7 @@
506
506
  "notification": "Een waarschuwing",
507
507
  "notificationDescription": "Opgenomen in activiteit; nooit een overtreding."
508
508
  },
509
- "severityLabel": "Severity",
509
+ "severityLabel": "",
510
510
  "activeLabel": "Actief",
511
511
  "saving": "",
512
512
  "selectPlaceholder": "",
@@ -516,9 +516,9 @@
516
516
  "selectedCount": "{{count}} geselecteerd",
517
517
  "scope": {
518
518
  "label": "Scope",
519
- "global": "Global",
520
- "server": "Specific server",
521
- "account": "Specific account",
519
+ "global": "",
520
+ "server": "",
521
+ "account": "",
522
522
  "person": "",
523
523
  "serverLabel": "",
524
524
  "serverPlaceholder": "Selecteer server",
@@ -528,7 +528,7 @@
528
528
  "personPlaceholder": "Selecteer persoon",
529
529
  "personHelper": "Komt overeen met deze persoon op elke server waarop hij een account heeft.",
530
530
  "noServers": "Nog geen servers verbonden.",
531
- "enforceAcrossServers": "Enforce across servers",
531
+ "enforceAcrossServers": "",
532
532
  "enforceAcrossServersDescription": "Activeert op een van zijn servers, niet alleen op de sessies die dit hebben veroorzaakt. Standaard uitgeschakeld."
533
533
  },
534
534
  "conditions": {
@@ -546,28 +546,28 @@
546
546
  "no": "Nee",
547
547
  "recentlySeen": "Recent gezien",
548
548
  "allCountries": "Alle landen",
549
- "sectionTitle": "Only when…",
549
+ "sectionTitle": "",
550
550
  "optional": "optioneel",
551
551
  "helper": "Controles die eerst moeten worden uitgevoerd. Leeg betekent dat het elke keer wordt uitgevoerd.",
552
552
  "emptyLine": "",
553
553
  "all": "all of these",
554
- "any": "any of these",
554
+ "any": "",
555
555
  "allHint": "",
556
556
  "anyHint": "",
557
557
  "matchLabel": "",
558
- "fieldLabel": "Condition",
559
- "operatorLabel": "Comparison",
558
+ "fieldLabel": "",
559
+ "operatorLabel": "",
560
560
  "valueLabel": "Waarde",
561
561
  "canNeverPass": "",
562
562
  "noFields": "",
563
563
  "groupSeparator": "en ook",
564
- "addAnother": "Add another condition",
565
- "addFirst": "Add a condition",
564
+ "addAnother": "",
565
+ "addFirst": "",
566
566
  "removeGroup": ""
567
567
  },
568
568
  "actions": {
569
- "add": "Add action",
570
- "sectionTitle": "Do this…",
569
+ "add": "",
570
+ "sectionTitle": "",
571
571
  "ifTitle": "Als…",
572
572
  "helper": "Deze worden in volgorde uitgevoerd, van boven naar beneden.",
573
573
  "emptyTitle": "Wat moet er gebeuren?",
@@ -580,12 +580,12 @@
580
580
  "confirmRemoveTitle": "Deze actie verwijderen?",
581
581
  "confirmRemoveDescription": "Stopt bij opslaan.",
582
582
  "policyNote": "",
583
- "branchThen": "then",
584
- "branchElse": "Otherwise…",
583
+ "branchThen": "",
584
+ "branchElse": "",
585
585
  "branchElseEmpty": "",
586
- "ifNothing": "nothing yet",
586
+ "ifNothing": "",
587
587
  "ifAddCheck": "Nog een controle toevoegen",
588
- "addBranch": "Add action",
588
+ "addBranch": "",
589
589
  "expandBranch": "Toon stappen van deze branch",
590
590
  "collapseBranch": "Verberg de stappen van deze branch"
591
591
  },
@@ -595,7 +595,7 @@
595
595
  "emptyTitle": "Wat moet dit starten?",
596
596
  "emptyDescription": "",
597
597
  "emptyAction": "Kies wat het start",
598
- "add": "Add trigger",
598
+ "add": "",
599
599
  "or": "of"
600
600
  },
601
601
  "heldFor": {
@@ -633,8 +633,8 @@
633
633
  "placeholderAction": ""
634
634
  },
635
635
  "footer": {
636
- "problems_one": "{{count}} problem",
637
- "problems_other": "{{count}} problems",
636
+ "problems_one": "",
637
+ "problems_other": "",
638
638
  "remaining_one": "",
639
639
  "remaining_other": "",
640
640
  "ready": "",
@@ -670,7 +670,7 @@
670
670
  "scope": "Scope",
671
671
  "media": ""
672
672
  },
673
- "createAutomation": "Create Automation",
673
+ "createAutomation": "",
674
674
  "customAutomation": "",
675
675
  "deleteAutomationConfirm": "",
676
676
  "deleteAutomation_one": "Delete {{count}} Automation",
@@ -686,7 +686,7 @@
686
686
  "when": "",
687
687
  "or": "of {{text}}",
688
688
  "nothing": "nog niks",
689
- "onlyWhen": "only when",
689
+ "onlyWhen": "",
690
690
  "andAlso": "en ook",
691
691
  "allOf": "alles van:",
692
692
  "anyOf": "een van:",
@@ -703,6 +703,7 @@
703
703
  },
704
704
  "triggers": {
705
705
  "sessionStarted": "een stream gestart",
706
+ "sessionFirstSeen": "",
706
707
  "sessionStopped": "een stream stopt",
707
708
  "sessionTranscodeChanged": "",
708
709
  "sessionPaused": "een stream is gepauzeerd",
@@ -1102,7 +1103,7 @@
1102
1103
  "notification": ""
1103
1104
  },
1104
1105
  "kindColumn": "",
1105
- "name": "Automation Name",
1106
+ "name": "",
1106
1107
  "newAutomation": "",
1107
1108
  "namePlaceholder": "",
1108
1109
  "nameInvalid": "",
@@ -1255,7 +1256,7 @@
1255
1256
  "customize": "Customize",
1256
1257
  "customizeTitle": "",
1257
1258
  "customizeConfirm": "",
1258
- "customizeConfirmAction": "Customize it",
1259
+ "customizeConfirmAction": "",
1259
1260
  "customizeFirst": "",
1260
1261
  "customizeFailed": "",
1261
1262
  "upgradeFailed": "",
@@ -1392,7 +1393,7 @@
1392
1393
  "updates": "",
1393
1394
  "notify": "",
1394
1395
  "policy": "Policy",
1395
- "control": "Control flow"
1396
+ "control": ""
1396
1397
  },
1397
1398
  "suggested": "",
1398
1399
  "triggers": {
@@ -1400,6 +1401,10 @@
1400
1401
  "description": "",
1401
1402
  "synonyms": ""
1402
1403
  },
1404
+ "sessionFirstSeen": {
1405
+ "description": "",
1406
+ "synonyms": ""
1407
+ },
1403
1408
  "sessionStopped": {
1404
1409
  "description": "",
1405
1410
  "synonyms": ""
@@ -1550,7 +1555,7 @@
1550
1555
  "reauthorizeAccount": "Autoriseer dit Plex account opnieuw",
1551
1556
  "deleteServersFirst": "Verwijder verbonden servers eerst om dit account te ontkoppelen",
1552
1557
  "linkedAccounts": "Gekoppelde Plex-accounts",
1553
- "linkedAccountsDesc": "Beheer de Plex-accounts waarvan je servers kunt toevoegen.",
1558
+ "linkedAccountsDesc": "",
1554
1559
  "noAccountsYet": "Er zijn nog geen Plex-accounts gekoppeld.",
1555
1560
  "unlinkPlexAccount": "Plex-account ontkoppelen",
1556
1561
  "unlinkConfirm": "Weet je zeker dat je dit Plex-account wilt ontkoppelen? Je kunt geen servers van dit account meer toevoegen totdat je opnieuw koppelt."
@@ -1596,8 +1601,8 @@
1596
1601
  "push": "",
1597
1602
  "webToast": ""
1598
1603
  },
1599
- "usedBy": "Used by {{count}} rule",
1600
- "usedBy_other": "Used by {{count}} rules",
1604
+ "usedBy": "",
1605
+ "usedBy_other": "",
1601
1606
  "webToastNote": "Toastberichten in deze browser."
1602
1607
  },
1603
1608
  "jobs": {
@@ -1648,7 +1653,11 @@
1648
1653
  "streams": "",
1649
1654
  "locations": "locaties",
1650
1655
  "allActivity": "Alle activiteiten",
1651
- "basemapMissing": "Basemap not installed"
1656
+ "basemapMissing": "",
1657
+ "webglUnavailable": "",
1658
+ "webglHint": "",
1659
+ "basemapShadowed": "",
1660
+ "badMounts": ""
1652
1661
  },
1653
1662
  "devices": {
1654
1663
  "title": "Compatibiliteit van apparaat",
@@ -1695,7 +1704,7 @@
1695
1704
  },
1696
1705
  "statsUsers": {
1697
1706
  "noActivity": "Nog geen activiteit",
1698
- "noActivityDesc": "Start met streamen om je top gebruikers hier te zien",
1707
+ "noActivityDesc": "",
1699
1708
  "top3": "",
1700
1709
  "runnersUp": "Runners Omhoog"
1701
1710
  },
@@ -39,11 +39,11 @@
39
39
  "themeSystem": "Systeem",
40
40
  "application": "Applicatie",
41
41
  "applicationDesc": "Basisinstellingen voor toepassing configureren",
42
- "unitSystemDesc": "Kies hoe afstanden en snelheden worden weergegeven",
42
+ "unitSystemDesc": "",
43
43
  "sessionSync": "Sessie Sync",
44
- "sessionSyncDesc": "Sessie volgen voor uw mediaservers inschakelen",
44
+ "sessionSyncDesc": "",
45
45
  "syncInterval": "Synchronisatie-interval",
46
- "syncIntervalDesc": "Stemfrequentie voor Jellyfin/Emby (5-300 seconden)",
46
+ "syncIntervalDesc": "",
47
47
  "syncIntervalSuffix": "sec.",
48
48
  "plexSseNote": "Plex maakt gebruik van Server-Verzonden evenementen (SSE) voor bijkomende updates - geen enquête nodig.",
49
49
  "jellyfinPollingNote": "Jellyfin/Emby wordt onderzocht volgens het interval hierboven.",
@@ -70,11 +70,11 @@
70
70
  "publicApiSettings": "Publieke API",
71
71
  "publicApiSettingsDesc": "Configureer drempelwaarden voor het voltooien van bewakingstaken en aanvraaglimieten voor de openbare API",
72
72
  "watchedThresholdMovie": "Drempelwaarde voor bekeken films",
73
- "watchedThresholdMovieDesc": "Het percentage van een film dat bekeken moet worden voordat deze als voltooid wordt gemarkeerd",
73
+ "watchedThresholdMovieDesc": "",
74
74
  "watchedThresholdTv": "Drempelwaarde voor bekeken tv afleveringen",
75
- "watchedThresholdTvDesc": "Het percentage van een aflevering dat bekeken moet worden voordat deze als voltooid wordt gemarkeerd",
75
+ "watchedThresholdTvDesc": "",
76
76
  "watchedThresholdMusic": "Drempelwaarde voor bekeken track",
77
- "watchedThresholdMusicDesc": "Het percentage van een nummer dat nog afgespeeld moet worden voordat het als voltooid wordt gemarkeerd",
77
+ "watchedThresholdMusicDesc": "",
78
78
  "watchedThresholdSuffix": "",
79
79
  "apiRateLimit": "API snelheidslimiet",
80
80
  "apiRateLimitDesc": "Maximaal aantal openbare API verzoeken per minuut per sleutel. Herstarten is vereist om de wijzigingen toe te passen.",
@@ -206,7 +206,7 @@
206
206
  "getOnGooglePlay": "Verkrijg het op Google Play",
207
207
  "downloadOnAppStore": "Download in de App Store",
208
208
  "pairYourDevice": "Koppel je apparaat",
209
- "pairYourDeviceDesc": "Scan de QR-code met de Tracearr app om deze server te verbinden.",
209
+ "pairYourDeviceDesc": "",
210
210
  "externalUrlRequired": "Een externe URL moet worden geconfigureerd in Algemene instellingen om mobiele koppeling te laten werken.",
211
211
  "mobileAccessDisabled": "Mobiele toegang uitgeschakeld",
212
212
  "mobileAccessDisabledDesc": "Schakel mobiele toegang in om de Tracearr mobiele app verbinding te maken met uw server.",
@@ -241,7 +241,7 @@
241
241
  },
242
242
  "tailscale": {
243
243
  "title": "",
244
- "description": "Krijg veilig toegang tot Tracearr op je Tailscale-netwerk zonder poortforwarding.",
244
+ "description": "",
245
245
  "notAvailable": "Tailscale-binary niet gevonden. Deze functie is alleen beschikbaar bij gebruik van de officiële Docker-image.",
246
246
  "disabledDescription": "Schakel Tailscale in om Tracearr op je privé-tailnet te plaatsen. Geen poortforwarding of reverse proxy nodig.",
247
247
  "hostnameLabel": "Hostnaam apparaat",
@@ -278,7 +278,7 @@
278
278
  },
279
279
  "jobs": {
280
280
  "title": "Werk in onderhoud",
281
- "description": "Beheer achtergrondtaken die uw gegevens accuraat en geoptimaliseerd houden.",
281
+ "description": "",
282
282
  "normalization": "Normalisatie",
283
283
  "backfill": "",
284
284
  "cleanup": "Opschonen",
@@ -312,7 +312,7 @@
312
312
  "title": "Toegangsbeheer",
313
313
  "description": "Configureer wie toegang heeft tot Tracearr",
314
314
  "allowGuestAccess": "Gasttoegang toestaan",
315
- "allowGuestAccessDesc": "Indien uitgeschakeld kan alleen de server eigenaar inloggen op Tracearr",
315
+ "allowGuestAccessDesc": "",
316
316
  "singleOwnerNote": "Opmerking: Wanneer gasttoegang is uitgeschakeld, kan alleen de servereigenaar inloggen. Alle andere gebruikers zien het bericht \"Toegang Geweigerd\"."
317
317
  },
318
318
  "import": {
@@ -210,7 +210,7 @@
210
210
  "quietest": "Stillevær:",
211
211
  "bingeHighlights": "Binge markeringer",
212
212
  "bingeHighlightsDesc": "Viser med de mest intensive visningsmønstrene",
213
- "bingeSessions": "grener for grener",
213
+ "bingeSessions": "",
214
214
  "noData": "Ingen overvåkningsdata ennå",
215
215
  "noDataDesc": "Se analyser vil vises her når innholdet er spillt. Sjekk tilbake etter at du har sett på aktivitet.",
216
216
  "failedToLoad": "Kan ikke laste inn overvåkningsanalyser",
@@ -703,6 +703,7 @@
703
703
  },
704
704
  "triggers": {
705
705
  "sessionStarted": "",
706
+ "sessionFirstSeen": "",
706
707
  "sessionStopped": "",
707
708
  "sessionTranscodeChanged": "",
708
709
  "sessionPaused": "",
@@ -1400,6 +1401,10 @@
1400
1401
  "description": "",
1401
1402
  "synonyms": ""
1402
1403
  },
1404
+ "sessionFirstSeen": {
1405
+ "description": "",
1406
+ "synonyms": ""
1407
+ },
1403
1408
  "sessionStopped": {
1404
1409
  "description": "",
1405
1410
  "synonyms": ""
@@ -1550,7 +1555,7 @@
1550
1555
  "reauthorizeAccount": "",
1551
1556
  "deleteServersFirst": "Slett tilkoblede servere først for å fjerne denne kontoen",
1552
1557
  "linkedAccounts": "Koblede Plex-kontoer",
1553
- "linkedAccountsDesc": "Administrer Plex-kontoene du kan legge til servere fra.",
1558
+ "linkedAccountsDesc": "",
1554
1559
  "noAccountsYet": "Ingen Plex kontoer er linket ennå.",
1555
1560
  "unlinkPlexAccount": "Koble fra Plex konto",
1556
1561
  "unlinkConfirm": "Er du sikker på at du vil koble fra denne Plex kontoen? Du kan ikke legge til servere fra denne kontoen frem til du kobler den til igjen."
@@ -1648,7 +1653,11 @@
1648
1653
  "streams": "strømmer",
1649
1654
  "locations": "steder",
1650
1655
  "allActivity": "All aktivitet",
1651
- "basemapMissing": "Basemap not installed"
1656
+ "basemapMissing": "",
1657
+ "webglUnavailable": "",
1658
+ "webglHint": "",
1659
+ "basemapShadowed": "",
1660
+ "badMounts": ""
1652
1661
  },
1653
1662
  "devices": {
1654
1663
  "title": "Enhetens kompatibilitet",
@@ -1695,7 +1704,7 @@
1695
1704
  },
1696
1705
  "statsUsers": {
1697
1706
  "noActivity": "Ingen aktivitet",
1698
- "noActivityDesc": "Start streaming for å se de beste brukerne dine her",
1707
+ "noActivityDesc": "",
1699
1708
  "top3": "Topp 3",
1700
1709
  "runnersUp": "Runnere opp"
1701
1710
  },