@tracearr/translations 2.2.0-beta.2 → 2.2.0-beta.4

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 (376) hide show
  1. package/dist/config.d.ts +3351 -1105
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +3351 -1105
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js +2 -2
  7. package/dist/locales/af-ZA/common.json +298 -266
  8. package/dist/locales/af-ZA/mobile.json +138 -138
  9. package/dist/locales/af-ZA/nav.json +30 -26
  10. package/dist/locales/af-ZA/notifications.json +225 -241
  11. package/dist/locales/af-ZA/pages.json +1975 -901
  12. package/dist/locales/af-ZA/settings.json +462 -433
  13. package/dist/locales/ar-SA/common.json +82 -50
  14. package/dist/locales/ar-SA/mobile.json +96 -96
  15. package/dist/locales/ar-SA/nav.json +23 -19
  16. package/dist/locales/ar-SA/notifications.json +224 -240
  17. package/dist/locales/ar-SA/pages.json +1956 -882
  18. package/dist/locales/ar-SA/settings.json +102 -73
  19. package/dist/locales/ca-ES/common.json +79 -47
  20. package/dist/locales/ca-ES/mobile.json +125 -125
  21. package/dist/locales/ca-ES/nav.json +23 -19
  22. package/dist/locales/ca-ES/notifications.json +225 -241
  23. package/dist/locales/ca-ES/pages.json +1971 -897
  24. package/dist/locales/ca-ES/settings.json +406 -377
  25. package/dist/locales/cs-CZ/common.json +68 -36
  26. package/dist/locales/cs-CZ/mobile.json +99 -99
  27. package/dist/locales/cs-CZ/nav.json +23 -19
  28. package/dist/locales/cs-CZ/notifications.json +223 -239
  29. package/dist/locales/cs-CZ/pages.json +1949 -875
  30. package/dist/locales/cs-CZ/settings.json +102 -73
  31. package/dist/locales/da-DK/common.json +76 -44
  32. package/dist/locales/da-DK/mobile.json +99 -99
  33. package/dist/locales/da-DK/nav.json +24 -20
  34. package/dist/locales/da-DK/notifications.json +223 -239
  35. package/dist/locales/da-DK/pages.json +1956 -882
  36. package/dist/locales/da-DK/settings.json +113 -84
  37. package/dist/locales/de-DE/common.json +73 -41
  38. package/dist/locales/de-DE/mobile.json +102 -102
  39. package/dist/locales/de-DE/nav.json +24 -20
  40. package/dist/locales/de-DE/notifications.json +223 -239
  41. package/dist/locales/de-DE/pages.json +1958 -884
  42. package/dist/locales/de-DE/settings.json +116 -87
  43. package/dist/locales/el-GR/common.json +87 -55
  44. package/dist/locales/el-GR/mobile.json +97 -97
  45. package/dist/locales/el-GR/nav.json +23 -19
  46. package/dist/locales/el-GR/notifications.json +223 -239
  47. package/dist/locales/el-GR/pages.json +1957 -883
  48. package/dist/locales/el-GR/settings.json +109 -80
  49. package/dist/locales/en/common.json +36 -4
  50. package/dist/locales/en/nav.json +6 -2
  51. package/dist/locales/en/notifications.json +13 -29
  52. package/dist/locales/en/pages.json +1189 -115
  53. package/dist/locales/en/settings.json +31 -2
  54. package/dist/locales/en-US/common.json +36 -4
  55. package/dist/locales/en-US/nav.json +6 -2
  56. package/dist/locales/en-US/notifications.json +217 -233
  57. package/dist/locales/en-US/pages.json +1933 -859
  58. package/dist/locales/en-US/settings.json +31 -2
  59. package/dist/locales/es-ES/common.json +62 -30
  60. package/dist/locales/es-ES/mobile.json +96 -96
  61. package/dist/locales/es-ES/nav.json +23 -19
  62. package/dist/locales/es-ES/notifications.json +223 -239
  63. package/dist/locales/es-ES/pages.json +1956 -882
  64. package/dist/locales/es-ES/settings.json +101 -72
  65. package/dist/locales/fi-FI/common.json +66 -34
  66. package/dist/locales/fi-FI/mobile.json +97 -97
  67. package/dist/locales/fi-FI/nav.json +24 -20
  68. package/dist/locales/fi-FI/notifications.json +223 -239
  69. package/dist/locales/fi-FI/pages.json +1956 -882
  70. package/dist/locales/fi-FI/settings.json +111 -82
  71. package/dist/locales/fr-FR/common.json +69 -37
  72. package/dist/locales/fr-FR/mobile.json +10 -10
  73. package/dist/locales/fr-FR/nav.json +24 -20
  74. package/dist/locales/fr-FR/notifications.json +223 -239
  75. package/dist/locales/fr-FR/pages.json +1950 -876
  76. package/dist/locales/fr-FR/settings.json +106 -77
  77. package/dist/locales/he-IL/common.json +298 -266
  78. package/dist/locales/he-IL/mobile.json +138 -138
  79. package/dist/locales/he-IL/nav.json +30 -26
  80. package/dist/locales/he-IL/notifications.json +225 -241
  81. package/dist/locales/he-IL/pages.json +1978 -904
  82. package/dist/locales/he-IL/settings.json +462 -433
  83. package/dist/locales/hu-HU/common.json +197 -165
  84. package/dist/locales/hu-HU/mobile.json +138 -138
  85. package/dist/locales/hu-HU/nav.json +30 -26
  86. package/dist/locales/hu-HU/notifications.json +225 -241
  87. package/dist/locales/hu-HU/pages.json +1978 -904
  88. package/dist/locales/hu-HU/settings.json +457 -428
  89. package/dist/locales/it-IT/common.json +83 -51
  90. package/dist/locales/it-IT/mobile.json +101 -101
  91. package/dist/locales/it-IT/nav.json +24 -20
  92. package/dist/locales/it-IT/notifications.json +224 -240
  93. package/dist/locales/it-IT/pages.json +1958 -884
  94. package/dist/locales/it-IT/settings.json +109 -80
  95. package/dist/locales/ja-JP/common.json +63 -31
  96. package/dist/locales/ja-JP/mobile.json +98 -98
  97. package/dist/locales/ja-JP/nav.json +23 -19
  98. package/dist/locales/ja-JP/notifications.json +223 -239
  99. package/dist/locales/ja-JP/pages.json +1956 -882
  100. package/dist/locales/ja-JP/settings.json +106 -77
  101. package/dist/locales/ko-KR/common.json +298 -266
  102. package/dist/locales/ko-KR/mobile.json +138 -138
  103. package/dist/locales/ko-KR/nav.json +30 -26
  104. package/dist/locales/ko-KR/notifications.json +225 -241
  105. package/dist/locales/ko-KR/pages.json +1978 -904
  106. package/dist/locales/ko-KR/settings.json +462 -433
  107. package/dist/locales/nl-NL/common.json +70 -38
  108. package/dist/locales/nl-NL/mobile.json +91 -91
  109. package/dist/locales/nl-NL/nav.json +24 -20
  110. package/dist/locales/nl-NL/notifications.json +223 -239
  111. package/dist/locales/nl-NL/pages.json +1949 -875
  112. package/dist/locales/nl-NL/settings.json +87 -58
  113. package/dist/locales/no-NO/common.json +62 -30
  114. package/dist/locales/no-NO/mobile.json +96 -96
  115. package/dist/locales/no-NO/nav.json +23 -19
  116. package/dist/locales/no-NO/notifications.json +223 -239
  117. package/dist/locales/no-NO/pages.json +1956 -882
  118. package/dist/locales/no-NO/settings.json +99 -70
  119. package/dist/locales/pl-PL/common.json +57 -25
  120. package/dist/locales/pl-PL/mobile.json +94 -94
  121. package/dist/locales/pl-PL/nav.json +23 -19
  122. package/dist/locales/pl-PL/notifications.json +223 -239
  123. package/dist/locales/pl-PL/pages.json +1956 -882
  124. package/dist/locales/pl-PL/settings.json +100 -71
  125. package/dist/locales/pt-BR/common.json +94 -62
  126. package/dist/locales/pt-BR/mobile.json +138 -138
  127. package/dist/locales/pt-BR/nav.json +24 -20
  128. package/dist/locales/pt-BR/notifications.json +223 -239
  129. package/dist/locales/pt-BR/pages.json +1945 -871
  130. package/dist/locales/pt-BR/settings.json +123 -94
  131. package/dist/locales/pt-PT/common.json +77 -45
  132. package/dist/locales/pt-PT/mobile.json +97 -97
  133. package/dist/locales/pt-PT/nav.json +24 -20
  134. package/dist/locales/pt-PT/notifications.json +223 -239
  135. package/dist/locales/pt-PT/pages.json +1956 -882
  136. package/dist/locales/pt-PT/settings.json +103 -74
  137. package/dist/locales/ro-RO/common.json +70 -38
  138. package/dist/locales/ro-RO/mobile.json +98 -98
  139. package/dist/locales/ro-RO/nav.json +24 -20
  140. package/dist/locales/ro-RO/notifications.json +223 -239
  141. package/dist/locales/ro-RO/pages.json +1956 -882
  142. package/dist/locales/ro-RO/settings.json +106 -77
  143. package/dist/locales/ru-RU/common.json +74 -42
  144. package/dist/locales/ru-RU/mobile.json +97 -97
  145. package/dist/locales/ru-RU/nav.json +23 -19
  146. package/dist/locales/ru-RU/notifications.json +223 -239
  147. package/dist/locales/ru-RU/pages.json +1957 -883
  148. package/dist/locales/ru-RU/settings.json +99 -70
  149. package/dist/locales/sr-SP/common.json +298 -266
  150. package/dist/locales/sr-SP/mobile.json +138 -138
  151. package/dist/locales/sr-SP/nav.json +30 -26
  152. package/dist/locales/sr-SP/notifications.json +225 -241
  153. package/dist/locales/sr-SP/pages.json +1978 -904
  154. package/dist/locales/sr-SP/settings.json +462 -433
  155. package/dist/locales/sv-SE/common.json +71 -39
  156. package/dist/locales/sv-SE/mobile.json +100 -100
  157. package/dist/locales/sv-SE/nav.json +24 -20
  158. package/dist/locales/sv-SE/notifications.json +223 -239
  159. package/dist/locales/sv-SE/pages.json +1956 -882
  160. package/dist/locales/sv-SE/settings.json +106 -77
  161. package/dist/locales/tr-TR/common.json +298 -266
  162. package/dist/locales/tr-TR/mobile.json +138 -138
  163. package/dist/locales/tr-TR/nav.json +30 -26
  164. package/dist/locales/tr-TR/notifications.json +225 -241
  165. package/dist/locales/tr-TR/pages.json +1978 -904
  166. package/dist/locales/tr-TR/settings.json +462 -433
  167. package/dist/locales/uk-UA/common.json +54 -22
  168. package/dist/locales/uk-UA/mobile.json +98 -98
  169. package/dist/locales/uk-UA/nav.json +23 -19
  170. package/dist/locales/uk-UA/notifications.json +223 -239
  171. package/dist/locales/uk-UA/pages.json +1957 -883
  172. package/dist/locales/uk-UA/settings.json +101 -72
  173. package/dist/locales/vi-VN/common.json +298 -266
  174. package/dist/locales/vi-VN/mobile.json +138 -138
  175. package/dist/locales/vi-VN/nav.json +30 -26
  176. package/dist/locales/vi-VN/notifications.json +225 -241
  177. package/dist/locales/vi-VN/pages.json +1978 -904
  178. package/dist/locales/vi-VN/settings.json +462 -433
  179. package/dist/locales/zh-CN/common.json +55 -23
  180. package/dist/locales/zh-CN/mobile.json +95 -95
  181. package/dist/locales/zh-CN/nav.json +23 -19
  182. package/dist/locales/zh-CN/notifications.json +223 -239
  183. package/dist/locales/zh-CN/pages.json +1956 -882
  184. package/dist/locales/zh-CN/settings.json +105 -76
  185. package/dist/locales/zh-TW/common.json +129 -97
  186. package/dist/locales/zh-TW/mobile.json +137 -137
  187. package/dist/locales/zh-TW/nav.json +30 -26
  188. package/dist/locales/zh-TW/notifications.json +225 -241
  189. package/dist/locales/zh-TW/pages.json +1978 -904
  190. package/dist/locales/zh-TW/settings.json +460 -431
  191. package/package.json +3 -2
  192. package/src/index.ts +2 -2
  193. package/src/locales/af-ZA/common.json +298 -266
  194. package/src/locales/af-ZA/mobile.json +138 -138
  195. package/src/locales/af-ZA/nav.json +30 -26
  196. package/src/locales/af-ZA/notifications.json +225 -241
  197. package/src/locales/af-ZA/pages.json +1975 -901
  198. package/src/locales/af-ZA/settings.json +462 -433
  199. package/src/locales/ar-SA/common.json +82 -50
  200. package/src/locales/ar-SA/mobile.json +96 -96
  201. package/src/locales/ar-SA/nav.json +23 -19
  202. package/src/locales/ar-SA/notifications.json +224 -240
  203. package/src/locales/ar-SA/pages.json +1956 -882
  204. package/src/locales/ar-SA/settings.json +102 -73
  205. package/src/locales/ca-ES/common.json +79 -47
  206. package/src/locales/ca-ES/mobile.json +125 -125
  207. package/src/locales/ca-ES/nav.json +23 -19
  208. package/src/locales/ca-ES/notifications.json +225 -241
  209. package/src/locales/ca-ES/pages.json +1971 -897
  210. package/src/locales/ca-ES/settings.json +406 -377
  211. package/src/locales/cs-CZ/common.json +68 -36
  212. package/src/locales/cs-CZ/mobile.json +99 -99
  213. package/src/locales/cs-CZ/nav.json +23 -19
  214. package/src/locales/cs-CZ/notifications.json +223 -239
  215. package/src/locales/cs-CZ/pages.json +1949 -875
  216. package/src/locales/cs-CZ/settings.json +102 -73
  217. package/src/locales/da-DK/common.json +76 -44
  218. package/src/locales/da-DK/mobile.json +99 -99
  219. package/src/locales/da-DK/nav.json +24 -20
  220. package/src/locales/da-DK/notifications.json +223 -239
  221. package/src/locales/da-DK/pages.json +1956 -882
  222. package/src/locales/da-DK/settings.json +113 -84
  223. package/src/locales/de-DE/common.json +73 -41
  224. package/src/locales/de-DE/mobile.json +102 -102
  225. package/src/locales/de-DE/nav.json +24 -20
  226. package/src/locales/de-DE/notifications.json +223 -239
  227. package/src/locales/de-DE/pages.json +1958 -884
  228. package/src/locales/de-DE/settings.json +116 -87
  229. package/src/locales/el-GR/common.json +87 -55
  230. package/src/locales/el-GR/mobile.json +97 -97
  231. package/src/locales/el-GR/nav.json +23 -19
  232. package/src/locales/el-GR/notifications.json +223 -239
  233. package/src/locales/el-GR/pages.json +1957 -883
  234. package/src/locales/el-GR/settings.json +109 -80
  235. package/src/locales/en/common.json +36 -4
  236. package/src/locales/en/nav.json +6 -2
  237. package/src/locales/en/notifications.json +13 -29
  238. package/src/locales/en/pages.json +1189 -115
  239. package/src/locales/en/settings.json +31 -2
  240. package/src/locales/en-US/common.json +36 -4
  241. package/src/locales/en-US/nav.json +6 -2
  242. package/src/locales/en-US/notifications.json +217 -233
  243. package/src/locales/en-US/pages.json +1933 -859
  244. package/src/locales/en-US/settings.json +31 -2
  245. package/src/locales/es-ES/common.json +62 -30
  246. package/src/locales/es-ES/mobile.json +96 -96
  247. package/src/locales/es-ES/nav.json +23 -19
  248. package/src/locales/es-ES/notifications.json +223 -239
  249. package/src/locales/es-ES/pages.json +1956 -882
  250. package/src/locales/es-ES/settings.json +101 -72
  251. package/src/locales/fi-FI/common.json +66 -34
  252. package/src/locales/fi-FI/mobile.json +97 -97
  253. package/src/locales/fi-FI/nav.json +24 -20
  254. package/src/locales/fi-FI/notifications.json +223 -239
  255. package/src/locales/fi-FI/pages.json +1956 -882
  256. package/src/locales/fi-FI/settings.json +111 -82
  257. package/src/locales/fr-FR/common.json +69 -37
  258. package/src/locales/fr-FR/mobile.json +10 -10
  259. package/src/locales/fr-FR/nav.json +24 -20
  260. package/src/locales/fr-FR/notifications.json +223 -239
  261. package/src/locales/fr-FR/pages.json +1950 -876
  262. package/src/locales/fr-FR/settings.json +106 -77
  263. package/src/locales/he-IL/common.json +298 -266
  264. package/src/locales/he-IL/mobile.json +138 -138
  265. package/src/locales/he-IL/nav.json +30 -26
  266. package/src/locales/he-IL/notifications.json +225 -241
  267. package/src/locales/he-IL/pages.json +1978 -904
  268. package/src/locales/he-IL/settings.json +462 -433
  269. package/src/locales/hu-HU/common.json +197 -165
  270. package/src/locales/hu-HU/mobile.json +138 -138
  271. package/src/locales/hu-HU/nav.json +30 -26
  272. package/src/locales/hu-HU/notifications.json +225 -241
  273. package/src/locales/hu-HU/pages.json +1978 -904
  274. package/src/locales/hu-HU/settings.json +457 -428
  275. package/src/locales/it-IT/common.json +83 -51
  276. package/src/locales/it-IT/mobile.json +101 -101
  277. package/src/locales/it-IT/nav.json +24 -20
  278. package/src/locales/it-IT/notifications.json +224 -240
  279. package/src/locales/it-IT/pages.json +1958 -884
  280. package/src/locales/it-IT/settings.json +109 -80
  281. package/src/locales/ja-JP/common.json +63 -31
  282. package/src/locales/ja-JP/mobile.json +98 -98
  283. package/src/locales/ja-JP/nav.json +23 -19
  284. package/src/locales/ja-JP/notifications.json +223 -239
  285. package/src/locales/ja-JP/pages.json +1956 -882
  286. package/src/locales/ja-JP/settings.json +106 -77
  287. package/src/locales/ko-KR/common.json +298 -266
  288. package/src/locales/ko-KR/mobile.json +138 -138
  289. package/src/locales/ko-KR/nav.json +30 -26
  290. package/src/locales/ko-KR/notifications.json +225 -241
  291. package/src/locales/ko-KR/pages.json +1978 -904
  292. package/src/locales/ko-KR/settings.json +462 -433
  293. package/src/locales/nl-NL/common.json +70 -38
  294. package/src/locales/nl-NL/mobile.json +91 -91
  295. package/src/locales/nl-NL/nav.json +24 -20
  296. package/src/locales/nl-NL/notifications.json +223 -239
  297. package/src/locales/nl-NL/pages.json +1949 -875
  298. package/src/locales/nl-NL/settings.json +87 -58
  299. package/src/locales/no-NO/common.json +62 -30
  300. package/src/locales/no-NO/mobile.json +96 -96
  301. package/src/locales/no-NO/nav.json +23 -19
  302. package/src/locales/no-NO/notifications.json +223 -239
  303. package/src/locales/no-NO/pages.json +1956 -882
  304. package/src/locales/no-NO/settings.json +99 -70
  305. package/src/locales/pl-PL/common.json +57 -25
  306. package/src/locales/pl-PL/mobile.json +94 -94
  307. package/src/locales/pl-PL/nav.json +23 -19
  308. package/src/locales/pl-PL/notifications.json +223 -239
  309. package/src/locales/pl-PL/pages.json +1956 -882
  310. package/src/locales/pl-PL/settings.json +100 -71
  311. package/src/locales/pt-BR/common.json +94 -62
  312. package/src/locales/pt-BR/mobile.json +138 -138
  313. package/src/locales/pt-BR/nav.json +24 -20
  314. package/src/locales/pt-BR/notifications.json +223 -239
  315. package/src/locales/pt-BR/pages.json +1945 -871
  316. package/src/locales/pt-BR/settings.json +123 -94
  317. package/src/locales/pt-PT/common.json +77 -45
  318. package/src/locales/pt-PT/mobile.json +97 -97
  319. package/src/locales/pt-PT/nav.json +24 -20
  320. package/src/locales/pt-PT/notifications.json +223 -239
  321. package/src/locales/pt-PT/pages.json +1956 -882
  322. package/src/locales/pt-PT/settings.json +103 -74
  323. package/src/locales/ro-RO/common.json +70 -38
  324. package/src/locales/ro-RO/mobile.json +98 -98
  325. package/src/locales/ro-RO/nav.json +24 -20
  326. package/src/locales/ro-RO/notifications.json +223 -239
  327. package/src/locales/ro-RO/pages.json +1956 -882
  328. package/src/locales/ro-RO/settings.json +106 -77
  329. package/src/locales/ru-RU/common.json +74 -42
  330. package/src/locales/ru-RU/mobile.json +97 -97
  331. package/src/locales/ru-RU/nav.json +23 -19
  332. package/src/locales/ru-RU/notifications.json +223 -239
  333. package/src/locales/ru-RU/pages.json +1957 -883
  334. package/src/locales/ru-RU/settings.json +99 -70
  335. package/src/locales/sr-SP/common.json +298 -266
  336. package/src/locales/sr-SP/mobile.json +138 -138
  337. package/src/locales/sr-SP/nav.json +30 -26
  338. package/src/locales/sr-SP/notifications.json +225 -241
  339. package/src/locales/sr-SP/pages.json +1978 -904
  340. package/src/locales/sr-SP/settings.json +462 -433
  341. package/src/locales/sv-SE/common.json +71 -39
  342. package/src/locales/sv-SE/mobile.json +100 -100
  343. package/src/locales/sv-SE/nav.json +24 -20
  344. package/src/locales/sv-SE/notifications.json +223 -239
  345. package/src/locales/sv-SE/pages.json +1956 -882
  346. package/src/locales/sv-SE/settings.json +106 -77
  347. package/src/locales/tr-TR/common.json +298 -266
  348. package/src/locales/tr-TR/mobile.json +138 -138
  349. package/src/locales/tr-TR/nav.json +30 -26
  350. package/src/locales/tr-TR/notifications.json +225 -241
  351. package/src/locales/tr-TR/pages.json +1978 -904
  352. package/src/locales/tr-TR/settings.json +462 -433
  353. package/src/locales/uk-UA/common.json +54 -22
  354. package/src/locales/uk-UA/mobile.json +98 -98
  355. package/src/locales/uk-UA/nav.json +23 -19
  356. package/src/locales/uk-UA/notifications.json +223 -239
  357. package/src/locales/uk-UA/pages.json +1957 -883
  358. package/src/locales/uk-UA/settings.json +101 -72
  359. package/src/locales/vi-VN/common.json +298 -266
  360. package/src/locales/vi-VN/mobile.json +138 -138
  361. package/src/locales/vi-VN/nav.json +30 -26
  362. package/src/locales/vi-VN/notifications.json +225 -241
  363. package/src/locales/vi-VN/pages.json +1978 -904
  364. package/src/locales/vi-VN/settings.json +462 -433
  365. package/src/locales/zh-CN/common.json +55 -23
  366. package/src/locales/zh-CN/mobile.json +95 -95
  367. package/src/locales/zh-CN/nav.json +23 -19
  368. package/src/locales/zh-CN/notifications.json +223 -239
  369. package/src/locales/zh-CN/pages.json +1956 -882
  370. package/src/locales/zh-CN/settings.json +105 -76
  371. package/src/locales/zh-TW/common.json +129 -97
  372. package/src/locales/zh-TW/mobile.json +137 -137
  373. package/src/locales/zh-TW/nav.json +30 -26
  374. package/src/locales/zh-TW/notifications.json +225 -241
  375. package/src/locales/zh-TW/pages.json +1978 -904
  376. package/src/locales/zh-TW/settings.json +460 -431
@@ -1,985 +1,2059 @@
1
1
  {
2
- "activity": {
3
- "activityByDayOfWeek": "Activity by Day of Week",
4
- "activityByHourOfDay": "Activity by Hour of Day",
5
- "concurrentStreams": "Concurrent Streams",
6
- "description": "Play trends, patterns, and streaming behavior",
7
- "engagementBreakdown": "Engagement Breakdown",
8
- "howUsersEngage": "How users engage with content",
9
- "platforms": "Platforms",
10
- "playsOverTime": "Plays Over Time",
11
- "playsVsSessions": "Plays vs Sessions",
12
- "playsVsSessionsDesc": "Full completions only — counts a play when total watch time covers a content's entire runtime",
13
- "streamQuality": "Stream Quality",
14
- "title": "Activity"
15
- },
16
- "apiDocs": {
17
- "apiKeyAutoLoaded": "API key auto-loaded",
18
- "backToSettings": "Back to Settings",
19
- "noApiKey": "No API key generated - create one in Settings to test endpoints",
20
- "specLoadError": "Failed to load the API specification. Check your API key and try again.",
21
- "versionSwitcherLabel": "API documentation version",
22
- "versionV1": "API v1",
23
- "versionV2": "API v2"
2
+ "login": {
3
+ "title": "",
4
+ "tagline": "Tracearr - 스트림 접근 관리",
5
+ "createAccountHeading": "시작하려면 계정을 만드세요",
6
+ "signInHeading": "계정에 로그인하세요",
7
+ "createAccountDescription": "미디어 서버를 관리할 계정을 만드세요",
8
+ "signInDescription": "대시보드에 접근하려면 로그인하세요",
9
+ "selectPlexServer": "Plex 서버 선택",
10
+ "waitingForPlex": "Plex 인증을 기다리는 중...",
11
+ "completeInPopup": "팝업 창에서 로그인을 완료하세요",
12
+ "reopenPlexLogin": "Plex 로그인 다시 열기",
13
+ "continueWith": "",
14
+ "usernameOrEmail": "",
15
+ "identifierPlaceholder": "",
16
+ "username": "",
17
+ "usernamePlaceholder": "",
18
+ "emailPlaceholder": "",
19
+ "displayNamePlaceholder": "표시 이름을 입력하세요",
20
+ "passwordPlaceholder": "최소 8자",
21
+ "yourPasswordPlaceholder": "비밀번호",
22
+ "setupNote": "계정을 만든 뒤 설정에서 Plex 또는 Jellyfin 서버를 추가하게 됩니다.",
23
+ "localDisabledHint": "",
24
+ "oidcError": "",
25
+ "accountCreated": "계정이 성공적으로 생성되었습니다!",
26
+ "connectedTo": "{{name}}에 연결됨",
27
+ "plexAuthFailed": "Plex 인증에 실패했습니다",
28
+ "plexStartFailed": "Plex 로그인을 시작하지 못했습니다",
29
+ "serverConnectFailed": "서버에 연결하지 못했습니다",
30
+ "signupFailed": "가입에 실패했습니다",
31
+ "createAccountFailed": "계정을 만들지 못했습니다",
32
+ "loginFailed": "로그인에 실패했습니다",
33
+ "invalidCredentials": "",
34
+ "claimCodeRequired": "초기 설정에는 클레임 코드가 필요합니다",
35
+ "enterClaimCode": "클레임 코드 입력",
36
+ "claimCodeDescription": "설정을 계속하려면 서버 로그에서 클레임 코드를 확인하세요",
37
+ "claimCodeLabel": "클레임 코드",
38
+ "claimCodeHint": "컨테이너가 시작될 때 서버 로그에 클레임 코드가 출력됩니다",
39
+ "validateClaimCode": "클레임 코드 확인",
40
+ "claimCodeSecurityNote": "이 보안 절차는 승인된 사용자만 초기 설정을 완료할 수 있도록 합니다"
24
41
  },
25
42
  "dashboard": {
26
- "activeUsers": "Active Users",
27
- "alerts": "Alerts",
28
- "bandwidth": "Bandwidth",
29
- "noActiveStreams": "No active streams",
30
- "nowPlaying": "Now Playing",
31
- "plays": "Plays",
32
- "serverResources": "Server Resources",
33
- "streamLocations": "Stream Locations",
34
- "streamsAppearHere": "Active streams will appear here when users start watching",
35
- "watchTime": "Watch Time"
43
+ "alerts": "알림",
44
+ "plays": "재생",
45
+ "watchTime": "시청 시간",
46
+ "activeUsers": "활성 사용자",
47
+ "nowPlaying": "현재 재생 중",
48
+ "streamLocations": "스트림 위치",
49
+ "serverResources": "서버 리소스",
50
+ "bandwidth": "대역폭",
51
+ "noActiveStreams": "활성 스트림이 없습니다",
52
+ "streamsAppearHere": "사용자가 시청을 시작하면 활성 스트림이 여기에 표시됩니다"
36
53
  },
37
- "debug": {
38
- "clearLibraryCache": "Clear Library Cache",
39
- "clearMobileDevices": "Clear Mobile Devices",
40
- "clearQueryCache": "Clear Query Cache",
41
- "clearRules": "Clear Rules",
42
- "clearServers": "Clear Servers",
43
- "clearSessions": "Clear Sessions",
44
- "clearStuckJobs": "Clear Stuck Jobs",
45
- "clearTerminationLogs": "Clear Termination Logs",
46
- "clearUsers": "Clear Users",
47
- "clearViolations": "Clear Violations",
48
- "clickLoadToView": "Click \"Load\" to view snapshots",
49
- "cpu": "CPU",
50
- "database": "Database",
51
- "databaseDesc": "Database size and table statistics",
52
- "deleteAllSuspicious": "Delete All Suspicious",
53
- "deleteSelected": "Delete Selected",
54
- "description": "Administrative utilities for troubleshooting and data management",
55
- "destructiveActions": "Destructive Actions",
56
- "environment": "Environment",
57
- "factoryReset": "Factory Reset",
58
- "libraryItems": "Library Items",
59
- "librarySnapshots": "Library Snapshots",
60
- "load": "Load",
61
- "logExplorerUnavailable": "Log explorer is only available in Docker environments",
62
- "logs": "Logs",
63
- "maintenance": "Maintenance",
64
- "manageSnapshots": "Manage library snapshots used for Storage Trend and Quality Evolution charts",
65
- "memory": "Memory",
66
- "noSuspiciousSnapshots": "No suspicious snapshots found",
67
- "obliterateAllJobs": "Obliterate All Jobs",
68
- "of": "of",
69
- "ok": "OK",
70
- "overview": "Overview",
71
- "plexAccounts": "Plex Accounts",
72
- "refreshAggregates": "Refresh Aggregates",
73
- "selected": "selected",
74
- "snapshots": "snapshot(s)",
75
- "suspicious": "Suspicious",
76
- "suspiciousOnly": "Suspicious only",
77
- "systemInformation": "System Information",
78
- "tasks": "Tasks",
79
- "terminations": "Terminations",
80
- "title": "Debug Tools",
81
- "totalSize": "Total Size",
82
- "uptime": "Uptime"
54
+ "users": {
55
+ "title": "사용자",
56
+ "showRemoved": "",
57
+ "noUsersFound": "사용자를 찾을 수 없습니다.",
58
+ "searchPlaceholder": "사용자 검색...",
59
+ "selectAllUsers": "사용자 {{count}}명 모두 선택",
60
+ "serversColumn": "",
61
+ "resetTrustScore": "신뢰 점수 초기화",
62
+ "resetTrustScoreTitle_one": "사용자 {{count}}명의 신뢰 점수 초기화",
63
+ "resetTrustScoreTitle_other": "사용자 {{count}}명의 신뢰 점수 초기화",
64
+ "resetTrustScoreConfirm": "신뢰 점수를 100으로 초기화할까요? 이 작업은 되돌릴 수 없습니다.",
65
+ "mergeUsers": "",
66
+ "mergeDialogTitle": "",
67
+ "mergeDialogDescription": "",
68
+ "mergePickPrimary": "",
69
+ "mergePrimaryBadge": "",
70
+ "mergePrimaryForced": "",
71
+ "mergeSameServerWarningTitle": "",
72
+ "mergeSameServerDialogDescription": "",
73
+ "mergeSameServerWarning": "",
74
+ "mergeSameServerAcknowledge": "",
75
+ "mergeSameServerFallbackName": "",
76
+ "mergeServerAccountRemoved": "",
77
+ "mergeConfirm": "",
78
+ "mergeSelectTwo": "",
79
+ "mergeSameIdentity": "",
80
+ "mergeSelectAllActive": "",
81
+ "suggestionsTitle": "",
82
+ "suggestionsDescription": "",
83
+ "suggestionsReview": "",
84
+ "suggestionsMatchEmail": "",
85
+ "suggestionsMatchUsername": "",
86
+ "suggestionsError": "",
87
+ "filterHasAccessTo": "",
88
+ "filterHasAccessToPlaceholder": "",
89
+ "filterHasAccessToHint": ""
83
90
  },
84
- "devices": {
85
- "analyzedSessions": "Analyzed Sessions",
86
- "analyzedSessionsTooltip": "Sessions in device + codec combinations with at least {{count}} sessions and a known codec. Rare combinations and sessions with no codec info aren't counted.",
87
- "compatibilityMatrix": "Compatibility Matrix",
88
- "compatibilityMatrixDesc": "Direct play rates by device and video codec. Sorted by session volume.",
89
- "description": "See which devices direct play vs transcode each codec",
90
- "deviceAndCodec": "Device + Codec",
91
- "deviceHealth": "Device Health",
92
- "deviceHealthDesc": "Direct play rate by device type",
93
- "directPlayHigh": "≥80% Direct",
94
- "directPlayLow": "<50%",
95
- "directPlayMid": "50-79%",
96
- "directPlayRate": "Direct Play Rate",
97
- "legend": "Legend:",
98
- "noDeviceDataPeriod": "No device data in this period",
99
- "noTranscodeHotspots": "No transcode hotspots",
100
- "noTranscodingUsers": "No transcoding users found",
101
- "pctOfTotal": "% of Total",
102
- "title": "Device Compatibility",
103
- "topTranscodingUsers": "Top Transcoding Users",
104
- "topTranscodingUsersDesc": "Users causing the most transcodes on your server",
105
- "transcodeHotspots": "Transcode Hotspots",
106
- "transcodeHotspotsDesc": "Combinations causing the most transcodes",
107
- "transcodes": "Transcodes",
108
- "uniqueCodecs": "Unique Codecs",
109
- "uniqueDevices": "Unique Devices",
110
- "videoAndAudio": "Video + audio"
91
+ "userDetail": {
92
+ "backToUsers": "사용자로 돌아가기",
93
+ "userNotFound": "사용자를 찾을 수 없습니다",
94
+ "userInfo": "사용자 정보",
95
+ "statistics": "통계",
96
+ "sessions": "세션",
97
+ "violations": "위반 내역",
98
+ "terminationHistory": "종료 기록",
99
+ "noViolationsFound": "이 사용자의 위반 내역이 없습니다.",
100
+ "noTerminationsFound": "이 사용자의 스트림 종료 기록이 없습니다.",
101
+ "byRule": "처리자 / 규칙",
102
+ "manual": "수동",
103
+ "unknownRule": "알 수 없는 규칙",
104
+ "adjustTrustScore": "신뢰 점수 조정",
105
+ "linkedAccounts": "",
106
+ "splitAccount": "",
107
+ "splitConfirmTitle": "",
108
+ "splitConfirmDescription": "",
109
+ "splitConfirmLoading": "",
110
+ "acrossAllServers": "",
111
+ "overallTrust": "",
112
+ "serverScope": "",
113
+ "allServers": "",
114
+ "title": ""
111
115
  },
112
116
  "history": {
113
- "deleteSession_one": "Delete {{count}} Session",
114
- "deleteSession_other": "Delete {{count}} Sessions",
115
- "deleteSessionsConfirm": "Are you sure you want to delete? This action cannot be undone.",
116
- "description": "Browse all streaming sessions with powerful filtering",
117
- "loadingMore": "Loading more...",
118
- "scrollForMore": "Scroll for more",
119
- "showingAllResults": "Showing all {{total}} results",
120
- "title": "History"
117
+ "title": "기록",
118
+ "description": "강력한 필터로 모든 스트리밍 세션을 살펴보세요",
119
+ "loadingMore": "더 불러오는 중...",
120
+ "scrollForMore": "더 보려면 스크롤하세요",
121
+ "showingAllResults": "전체 {{total}}개 결과 표시 중",
122
+ "deleteSession_one": "세션 {{count}}개 삭제",
123
+ "deleteSession_other": "세션 {{count}}개 삭제",
124
+ "deleteSessionsConfirm": "정말 삭제할까요? 이 작업은 되돌릴 수 없습니다."
121
125
  },
122
126
  "library": {
123
- "description": "Top movies and shows on your server",
127
+ "title": "라이브러리",
128
+ "description": "서버에서 가장 많이 이용된 영화와 프로그램",
129
+ "topMovies": "인기 영화",
130
+ "topShows": "인기 TV 프로그램",
131
+ "noMoviePlays": "이 기간에 재생된 영화가 없습니다",
132
+ "noShowPlays": "이 기간에 재생된 TV 프로그램이 없습니다",
133
+ "overview": {
134
+ "description": "라이브러리 상태와 성장 지표",
135
+ "lastUpdated": "마지막 업데이트:",
136
+ "totalItems": "전체 항목",
137
+ "shows": "프로그램",
138
+ "added": "추가됨",
139
+ "libraryGrowth": "라이브러리 증가",
140
+ "failedToLoad": "라이브러리 통계를 불러오지 못했습니다",
141
+ "failedToLoadDesc": "라이브러리 데이터를 가져오지 못했습니다. 다시 시도해 주세요.",
142
+ "thisPeriod": "이 기간",
143
+ "thisWeek": "이번 주",
144
+ "thisMonth": "이번 달",
145
+ "thisYear": "올해",
146
+ "serversNeedSync": ""
147
+ },
148
+ "quality": {
149
+ "title": "품질",
150
+ "description": "해상도 및 코덱 분포",
151
+ "qualityEvolution": "품질 변화",
152
+ "all": "전체",
153
+ "failedToLoad": "품질 데이터를 불러오지 못했습니다",
154
+ "failedToLoadDesc": "품질 데이터를 가져오지 못했습니다. 다시 시도해 주세요."
155
+ },
156
+ "storage": {
157
+ "title": "저장 공간",
158
+ "description": "저장 공간 사용량, 예측 및 최적화",
159
+ "totalStorage": "전체 저장 공간",
160
+ "growthRate": "증가율",
161
+ "duplicates": "중복 항목",
162
+ "groups": "그룹",
163
+ "recoverable": "회수 가능",
164
+ "staleContent": "오래된 콘텐츠",
165
+ "staleContentDesc": "삭제 후보가 될 수 있는 콘텐츠",
166
+ "items": "항목",
167
+ "unused": "미사용",
168
+ "storageTrend": "저장 공간 추세",
169
+ "confidence": "신뢰도",
170
+ "confidenceHigh": "높음",
171
+ "confidenceMedium": "보통",
172
+ "confidenceLow": "낮음",
173
+ "zeroGrowth": "0 GB/월",
174
+ "predictions": "예측",
175
+ "contentROI": "콘텐츠 효율",
176
+ "contentROIDesc": "저장 비용 대비 시청 가치",
177
+ "avgHoursPerGB": "GB당 평균 시간",
178
+ "insufficientData": "데이터가 부족합니다",
179
+ "of": "/",
180
+ "days": "일",
181
+ "failedToLoad": "저장 공간 데이터를 불러오지 못했습니다",
182
+ "failedToLoadDesc": "저장 공간 데이터를 가져오지 못했습니다. 다시 시도해 주세요.",
183
+ "duplicatesTitle": "",
184
+ "duplicatesSubtitle": "",
185
+ "growthPreChangeover": "",
186
+ "loadingDuplicates": "",
187
+ "duplicatesFailed": "",
188
+ "noDuplicatesTitle": "",
189
+ "noDuplicatesDesc": "",
190
+ "colTitle": "",
191
+ "colMatchType": "",
192
+ "colCopies": "",
193
+ "colRecoverable": "",
194
+ "sameServer": "",
195
+ "mirror": ""
196
+ },
197
+ "watch": {
198
+ "title": "시청 분석",
199
+ "description": "시청 행동과 콘텐츠 참여도",
200
+ "watched": "시청됨",
201
+ "percentWatched": "% 시청",
202
+ "totalWatchTime": "전체 시청 시간",
203
+ "avgPerItem": "항목당 평균",
204
+ "completed": "완료됨",
205
+ "peakHour": "피크 시간",
206
+ "viewingHours": "시청 시간대",
207
+ "peak": "피크:",
208
+ "monthlyTrends": "월별 추세",
209
+ "busiest": "가장 바쁨:",
210
+ "quietest": "가장 한산함:",
211
+ "bingeHighlights": "몰아보기 하이라이트",
212
+ "bingeHighlightsDesc": "시청 집중도가 가장 높은 프로그램",
213
+ "bingeSessions": "몰아보기 세션",
214
+ "noData": "아직 시청 데이터가 없습니다",
215
+ "noDataDesc": "콘텐츠가 재생되면 시청 분석이 여기에 표시됩니다. 시청 활동이 생긴 뒤 다시 확인하세요.",
216
+ "failedToLoad": "시청 분석을 불러오지 못했습니다",
217
+ "failedToLoadDesc": "시청 데이터를 가져오지 못했습니다."
218
+ },
124
219
  "emptyState": {
220
+ "checkingStatus": "",
125
221
  "backfillAvailable": {
126
- "bodyGeneric": "Generate historical snapshots to see library trends over time.",
127
- "bodyWithDays": "Your library has {{days}} days of history. Generate snapshots to see trends in charts.",
128
- "syncRunningBody": "Historical data generation will start automatically once the sync completes.",
129
- "syncRunningTitle": "Library sync in progress...",
130
- "title": "Historical data available"
222
+ "title": "",
223
+ "bodyWithDays": "",
224
+ "bodyGeneric": "",
225
+ "syncRunningTitle": "",
226
+ "syncRunningBody": ""
131
227
  },
132
- "backfillRunning": {
133
- "fallbackBody": "Creating snapshots from library history. This may take a few minutes.",
134
- "progress": "{{processed}} of {{total}} libraries",
135
- "snapshotsSuffix": " ({{count}} snapshots)",
136
- "title": "Generating historical data..."
228
+ "generateHistory": "",
229
+ "starting": "",
230
+ "syncInProgress": {
231
+ "title": "",
232
+ "body": ""
137
233
  },
138
- "checkingStatus": "Checking library status...",
139
- "generateHistory": "Generate History",
140
- "multiServer": {
141
- "body": "Sync the servers below to see combined library statistics.",
142
- "needsBackfillIntro": "These servers are synced but have no historical data yet:",
143
- "title": "Some libraries need attention"
234
+ "notSynced": {
235
+ "title": "",
236
+ "body": ""
144
237
  },
145
238
  "noMedia": {
146
- "body": "This library is synced but doesn't have any movies or shows in it yet.",
147
- "title": "No movies or shows yet"
239
+ "title": "",
240
+ "body": ""
148
241
  },
149
- "notSynced": {
150
- "body": "Library statistics will appear here once the library has been synced. This typically happens automatically every hour.",
151
- "title": "Library not synced yet"
242
+ "syncNow": "",
243
+ "syncing": "",
244
+ "notSyncedShort": "",
245
+ "backfillRunning": {
246
+ "title": "",
247
+ "fallbackBody": "",
248
+ "progress": "",
249
+ "snapshotsSuffix": ""
152
250
  },
153
- "notSyncedShort": "Not synced yet",
154
- "starting": "Starting...",
155
- "syncInProgress": {
156
- "body": "Library statistics will appear once the sync completes. This may take a few minutes depending on library size.",
157
- "title": "Library sync in progress..."
251
+ "multiServer": {
252
+ "title": "",
253
+ "body": "",
254
+ "needsBackfillIntro": ""
158
255
  },
159
- "syncNow": "Sync Now",
160
- "syncing": "Syncing...",
161
256
  "toast": {
162
- "backfillCompleteTitle": "Backfill complete",
163
- "backfillErrorTitle": "Backfill failed",
164
- "backfillFailedTitle": "Failed to start backfill",
165
- "backfillStartedDesc": "Historical snapshots are being generated.",
166
- "backfillStartedTitle": "Backfill started",
167
- "genericRetry": "Please try again.",
168
- "noServerSelected": "No server selected",
169
- "syncFailedTitle": "Failed to start sync",
170
- "syncStartedDesc": "This may take a few minutes depending on library size.",
171
- "syncStartedTitle": "Library sync started"
257
+ "noServerSelected": "",
258
+ "syncStartedTitle": "",
259
+ "syncStartedDesc": "",
260
+ "syncFailedTitle": "",
261
+ "genericRetry": "",
262
+ "backfillStartedTitle": "",
263
+ "backfillStartedDesc": "",
264
+ "backfillFailedTitle": "",
265
+ "backfillCompleteTitle": "",
266
+ "backfillErrorTitle": ""
172
267
  }
173
268
  },
174
- "noMoviePlays": "No movie plays in this period",
175
- "noShowPlays": "No TV show plays in this period",
176
- "overview": {
177
- "added": "Added",
178
- "description": "Library health and growth metrics",
179
- "failedToLoad": "Failed to load library statistics",
180
- "failedToLoadDesc": "Could not fetch library data. Please try again.",
181
- "lastUpdated": "Last updated:",
182
- "libraryGrowth": "Library Growth",
183
- "serversNeedSync": "These servers need to sync:",
184
- "shows": "shows",
185
- "thisMonth": "this month",
186
- "thisPeriod": "this period",
187
- "thisWeek": "this week",
188
- "thisYear": "this year",
189
- "totalItems": "Total Items"
190
- },
191
- "quality": {
192
- "all": "All",
193
- "description": "Resolution and codec distribution",
194
- "failedToLoad": "Failed to load quality data",
195
- "failedToLoadDesc": "Could not fetch quality data. Please try again.",
196
- "qualityEvolution": "Quality Evolution",
197
- "title": "Quality"
198
- },
199
- "storage": {
200
- "avgHoursPerGB": "avg hours/GB",
201
- "colCopies": "Copies",
202
- "colMatchType": "Match Type",
203
- "colRecoverable": "Recoverable Space",
204
- "colTitle": "Title",
205
- "confidence": "Confidence",
206
- "confidenceHigh": "High",
207
- "confidenceLow": "Low",
208
- "confidenceMedium": "Medium",
209
- "contentROI": "Content ROI",
210
- "contentROIDesc": "Watch value per storage cost",
211
- "days": "days",
212
- "description": "Storage usage, predictions, and optimization",
213
- "duplicates": "Duplicates",
214
- "duplicatesFailed": "Failed to load duplicates",
215
- "duplicatesSubtitle": "Titles with more than one copy or file, across servers, libraries, and versions",
216
- "duplicatesTitle": "Duplicates",
217
- "failedToLoad": "Failed to load storage data",
218
- "failedToLoadDesc": "Could not fetch storage data. Please try again.",
219
- "groups": "groups",
220
- "growthPreChangeover": "based on pre-update history",
221
- "growthRate": "Growth Rate",
222
- "insufficientData": "Insufficient data",
223
- "items": "items",
224
- "loadingDuplicates": "Loading duplicates...",
225
- "mirror": "Mirror",
226
- "noDuplicatesDesc": "No titles with more than one physical file detected.",
227
- "noDuplicatesTitle": "No duplicates found",
228
- "of": "of",
229
- "pageOf": "Page {{page}} of {{totalPages}}",
230
- "predictions": "Predictions",
231
- "recoverable": "recoverable",
232
- "sameServer": "Same server",
233
- "staleContent": "Stale Content",
234
- "staleContentDesc": "Content that may be candidates for removal",
235
- "storageTrend": "Storage Trend",
236
- "title": "Storage",
237
- "totalStorage": "Total Storage",
238
- "unused": "unused",
239
- "zeroGrowth": "0 GB/mo"
240
- },
241
- "title": "Library",
242
- "topMovies": "Top Movies",
243
- "topShows": "Top TV Shows",
244
269
  "versionsBackfill": {
245
- "action": "Sync now",
246
- "banner": "File version data is still being collected for this server. Run a library sync to finish.",
247
- "syncFailed": "Sync failed to start on {{count}} server(s). Check your permissions and server status.",
248
- "syncStarted": "Library sync started."
249
- },
250
- "watch": {
251
- "avgPerItem": "avg per item",
252
- "bingeHighlights": "Binge Highlights",
253
- "bingeHighlightsDesc": "Shows with the most intensive viewing patterns",
254
- "bingeSessions": "binge sessions",
255
- "busiest": "Busiest:",
256
- "completed": "Completed",
257
- "description": "Viewing behavior and content engagement",
258
- "failedToLoad": "Failed to load watch analytics",
259
- "failedToLoadDesc": "Could not fetch watch data.",
260
- "monthlyTrends": "Monthly Trends",
261
- "noData": "No watch data yet",
262
- "noDataDesc": "Watch analytics will appear here once content has been played. Check back after some viewing activity.",
263
- "peak": "Peak:",
264
- "peakHour": "Peak Hour",
265
- "percentWatched": "% watched",
266
- "quietest": "Quietest:",
267
- "title": "Watch Analytics",
268
- "totalWatchTime": "Total Watch Time",
269
- "viewingHours": "Viewing Hours",
270
- "watched": "Watched"
270
+ "banner": "",
271
+ "action": "",
272
+ "syncFailed": "",
273
+ "syncStarted": ""
271
274
  }
272
275
  },
273
- "login": {
274
- "accountCreated": "Account created successfully!",
275
- "claimCodeDescription": "Check your server logs for the claim code to proceed with setup",
276
- "claimCodeHint": "The claim code is printed in the server logs when the container starts",
277
- "claimCodeLabel": "Claim Code",
278
- "claimCodeRequired": "First-time setup requires a claim code",
279
- "claimCodeSecurityNote": "This security measure ensures only authorized users can complete first-time setup",
280
- "completeInPopup": "Complete sign-in in the popup window",
281
- "connectedTo": "Connected to {{name}}",
282
- "continueWith": "Continue with {{provider}}",
283
- "createAccountDescription": "Create an account to manage your media servers",
284
- "createAccountFailed": "Failed to create account",
285
- "createAccountHeading": "Create your account to get started",
286
- "displayNamePlaceholder": "Choose a display name",
287
- "emailPlaceholder": "your@email.com",
288
- "enterClaimCode": "Enter Claim Code",
289
- "identifierPlaceholder": "Username or email address",
290
- "invalidCredentials": "Invalid email or password",
291
- "localDisabledHint": "Local sign-in is disabled for this instance. Ask an admin to run `enable-local-login` from the Tracearr CLI to re-enable it.",
292
- "loginFailed": "Login failed",
293
- "oidcError": "Single sign-on failed. Please try again or use another sign-in method.",
294
- "passwordPlaceholder": "At least 8 characters",
295
- "plexAuthFailed": "Plex authentication failed",
296
- "plexStartFailed": "Failed to start Plex login",
297
- "reopenPlexLogin": "Reopen Plex Login",
298
- "selectPlexServer": "Select your Plex server",
299
- "serverConnectFailed": "Failed to connect to server",
300
- "setupNote": "After creating your account, you'll add your Plex or Jellyfin servers from Settings.",
301
- "signInDescription": "Sign in to access your dashboard",
302
- "signInHeading": "Sign in to your account",
303
- "signupFailed": "Signup failed",
304
- "tagline": "Tracearr - Stream access management",
305
- "title": "Tracearr",
306
- "username": "Username",
307
- "usernameOrEmail": "Username or Email",
308
- "usernamePlaceholder": "yourusername",
309
- "validateClaimCode": "Validate Claim Code",
310
- "waitingForPlex": "Waiting for Plex authorization...",
311
- "yourPasswordPlaceholder": "Your password"
312
- },
313
- "maintenance": {
314
- "doNotRestart": "Do not restart or stop the server while this runs. Interrupting it can leave the database half-upgraded.",
315
- "initStep": {
316
- "migrations": "Applying database migrations",
317
- "services": "Starting services",
318
- "timescale": "Preparing TimescaleDB (this can take a while after an upgrade)"
319
- },
320
- "interruptionDescription": "One or more backend services have become unavailable. This page will automatically refresh when connectivity is restored.",
321
- "interruptionTitle": "Service interruption",
322
- "restoreFailed": "Restore failed",
323
- "restorePhase": {
324
- "complete": "Restore complete",
325
- "creating_restore_point": "Creating restore point",
326
- "rebuilding_aggregates": "Rebuilding aggregates",
327
- "restarting": "Restarting services",
328
- "restoring_database": "Restoring database",
329
- "running_migrations": "Running migrations",
330
- "shutting_down": "Shutting down services",
331
- "validating": "Validating backup"
332
- },
333
- "restoreTitle": "Restoring from backup...",
334
- "startingDescription": "The server is waiting for backend services to become available. This page will automatically refresh when everything is ready.",
335
- "startingTitle": "Tracearr is starting up...",
336
- "unreachable": "Can't reach the Tracearr server right now. Live updates are paused and will resume on their own."
337
- },
338
- "map": {
339
- "allActivity": "All activity",
340
- "allTypes": "All types",
341
- "allUsers": "All users",
342
- "circles": "Circles",
343
- "heatmap": "Heatmap",
344
- "locations": "locations",
345
- "streams": "streams"
276
+ "activity": {
277
+ "title": "활동",
278
+ "description": "재생 추세, 패턴 및 스트리밍 행동",
279
+ "playsOverTime": "시간별 재생",
280
+ "concurrentStreams": "동시 스트림",
281
+ "engagementBreakdown": "참여도 분석",
282
+ "howUsersEngage": "사용자가 콘텐츠를 이용하는 방식",
283
+ "playsVsSessions": "재생 vs 세션",
284
+ "playsVsSessionsDesc": "완전 재생만 집계합니다. 총 시청 시간이 콘텐츠 전체 길이를 채울 때 재생으로 계산합니다",
285
+ "activityByDayOfWeek": "요일별 활동",
286
+ "activityByHourOfDay": "시간대별 활동",
287
+ "platforms": "플랫폼",
288
+ "streamQuality": "스트림 품질"
346
289
  },
347
- "media": {
290
+ "violations": {
291
+ "title": "위반 내역",
292
+ "tryAdjustingFilters": "필터를 조정해 보세요",
293
+ "selectAllViolations": "필터와 일치하는 위반 {{count}}건 모두 선택",
294
+ "dismissViolation": "위반 해제",
295
+ "dismissViolationConfirm": "이 위반을 해제할까요? 위반 로그에서 영구적으로 제거됩니다.",
296
+ "dismissViolation_one": "위반 {{count}}건 해제",
297
+ "dismissViolation_other": "위반 {{count}}건 해제",
298
+ "dismissViolationsConfirm": "정말 해제할까요? 위반 로그에서 영구적으로 제거되고 관련 신뢰 점수가 복원됩니다.",
299
+ "noViolationsFound": "위반을 찾을 수 없습니다",
300
+ "noViolationsRecorded": "아직 기록된 위반이 없습니다.",
301
+ "allSeverities": "모든 심각도",
302
+ "allStatuses": "모든 상태",
303
+ "allRules": "",
304
+ "filterPeople": "",
305
+ "allPeople": "",
306
+ "peopleSelectedCount": "",
307
+ "personFilterPlaceholder": "",
308
+ "personFilterEmpty": "",
309
+ "personFilterError": "",
310
+ "filterByPerson": "",
348
311
  "detail": {
349
- "breadcrumb": {
350
- "ariaLabel": "Breadcrumb"
351
- },
352
- "copies": {
353
- "columns": {
354
- "added": "Added",
355
- "episodes": "Episodes",
356
- "library": "Library",
357
- "quality": "Quality",
358
- "server": "Server",
359
- "size": "Size"
360
- },
361
- "loadError": "Couldn't load copies",
362
- "title": "Copies",
363
- "unknownLibrary": "Unknown library",
364
- "versionLabel": "File {{index}}"
312
+ "notFound": "위반을 찾을 수 없습니다",
313
+ "violationDetails": "위반 상세",
314
+ "userInfo": "사용자",
315
+ "sessions": "세션",
316
+ "noSessions": "이 위반과 연결된 세션이 없습니다",
317
+ "trigger": "트리거",
318
+ "map": "세션 위치",
319
+ "actions": "수행된 작업",
320
+ "timestamps": "타임스탬프",
321
+ "created": "생성됨",
322
+ "acknowledged": "확인됨",
323
+ "detected": "감지됨",
324
+ "inactivity": "비활동 상세",
325
+ "daysInactive": "비활동 일수",
326
+ "threshold": "임계값",
327
+ "lastActivity": "최근 활동",
328
+ "neverActive": "활동 기록 없음",
329
+ "conditionEvidence": "조건 근거",
330
+ "conditionGroup": "조건 그룹 {{index}}",
331
+ "matched": "{{matched}}/{{total}} 일치",
332
+ "actual": "실제 값",
333
+ "relatedSessions": "관련 세션 {{count}}개",
334
+ "relatedSessions_one": "관련 세션 {{count}}개",
335
+ "relatedSessions_other": "관련 세션 {{count}}개"
336
+ }
337
+ },
338
+ "automations": {
339
+ "actions": {
340
+ "send": {
341
+ "label": "",
342
+ "description": "",
343
+ "fields": {
344
+ "cooldown_minutes": {
345
+ "description": ""
346
+ }
347
+ },
348
+ "ran": ""
365
349
  },
366
- "hero": {
367
- "actions": {
368
- "fullHistory": "Full history",
369
- "openOnServer": "Open on server"
350
+ "trust": {
351
+ "label": "",
352
+ "description": "",
353
+ "fields": {
354
+ "mode": {
355
+ "label": ""
356
+ },
357
+ "amount": {
358
+ "label": "",
359
+ "description": ""
360
+ },
361
+ "value": {
362
+ "label": ""
363
+ }
370
364
  },
371
- "availability": {
372
- "added": "added {{date}}",
373
- "addedRemoved": "added {{added}} – removed {{removed}}",
374
- "replaced": "replaced {{date}}"
365
+ "ran": ""
366
+ },
367
+ "kill_stream": {
368
+ "label": "",
369
+ "description": "",
370
+ "fields": {
371
+ "cooldown_minutes": {
372
+ "description": ""
373
+ },
374
+ "delay_seconds": {
375
+ "label": "",
376
+ "description": ""
377
+ },
378
+ "target": {
379
+ "description": ""
380
+ },
381
+ "message": {
382
+ "placeholder": ""
383
+ }
375
384
  },
376
- "loadError": "Couldn't load this title",
377
- "meta": {
378
- "episodes_one": "{{count}} episode",
379
- "episodes_other": "{{count}} episodes",
380
- "seasons_one": "{{count}} season",
381
- "seasons_other": "{{count}} seasons"
385
+ "ran": ""
386
+ },
387
+ "message_client": {
388
+ "label": "",
389
+ "description": "",
390
+ "hint": "",
391
+ "fields": {
392
+ "target": {
393
+ "description": ""
394
+ },
395
+ "message": {
396
+ "placeholder": ""
397
+ }
382
398
  },
383
- "removedEverywhere": {
384
- "caption": "No longer available on any connected server"
385
- }
399
+ "ran": ""
400
+ }
401
+ },
402
+ "activity": {
403
+ "title": "",
404
+ "description": "",
405
+ "outcome": "",
406
+ "who": "",
407
+ "where": "",
408
+ "playing": "",
409
+ "from": "",
410
+ "summary": "",
411
+ "started": "",
412
+ "finished": "",
413
+ "noSummary": "",
414
+ "outcomes": {
415
+ "completed": "",
416
+ "stopped_by_condition": "",
417
+ "error": ""
386
418
  },
387
- "history": {
388
- "columns": {
389
- "content": "Content",
390
- "date": "Date",
391
- "duration": "Duration",
392
- "server": "Server",
393
- "user": "User"
394
- },
395
- "empty": "No plays recorded yet",
396
- "loadError": "Couldn't load history",
397
- "notWatched": "Not finished",
398
- "title": "History",
399
- "watched": "Watched"
419
+ "empty": "",
420
+ "emptyDescription": "",
421
+ "runTitle": "",
422
+ "runLoading": "",
423
+ "triggeredBy": "",
424
+ "unknownStep": "",
425
+ "tabs": {
426
+ "all": "",
427
+ "completed": "",
428
+ "stopped_by_condition": "",
429
+ "error": ""
400
430
  },
401
- "kpis": {
402
- "ariaLabel": "Watch statistics",
403
- "completion": {
404
- "detail": "{{finished}} of {{total}} finished every episode",
405
- "detailMovie": "{{finished}} of {{total}} watched to completion",
406
- "label": "Avg completion"
407
- },
408
- "completionLoadError": "Couldn't load completion",
409
- "loadError": "Couldn't load watch statistics",
410
- "plays": {
411
- "caption": "resume chains, short sessions excluded",
412
- "label": "Plays, all time"
431
+ "group": "",
432
+ "branch": {
433
+ "then": "",
434
+ "else": ""
435
+ },
436
+ "whyBranch": "",
437
+ "openInEditor": "",
438
+ "tabsLabel": "",
439
+ "emptyRan": "",
440
+ "emptyRanDescription_one": "",
441
+ "emptyRanDescription_other": "",
442
+ "item": "",
443
+ "recordedViolation": ""
444
+ },
445
+ "allKinds": "",
446
+ "allStatuses": "",
447
+ "allSeverities": "",
448
+ "bind": {
449
+ "nameHelper": "",
450
+ "namePlaceholder": "",
451
+ "activeLabel": "",
452
+ "back": "",
453
+ "submit": "",
454
+ "submitting": "",
455
+ "customize": "",
456
+ "doors": {
457
+ "helper": ""
458
+ },
459
+ "anyServer": "",
460
+ "serverHelper": "",
461
+ "serverLabel": "",
462
+ "accountLabel": "",
463
+ "personLabel": "",
464
+ "destinationsLabel": "",
465
+ "required": "",
466
+ "needs": {
467
+ "title": "What it needs from you"
468
+ },
469
+ "helper": {
470
+ "killMessage": "",
471
+ "clientMessage": ""
472
+ },
473
+ "noInputs": "",
474
+ "failed": "",
475
+ "created": "",
476
+ "createdOff": ""
477
+ },
478
+ "builder": {
479
+ "destinationDisabled": "",
480
+ "noDestinations": "",
481
+ "newDestination": "",
482
+ "errors": {
483
+ "sendNeedsDestination": "",
484
+ "nameRequired": "",
485
+ "scopeIncomplete": "",
486
+ "triggerRequired": "",
487
+ "policyNeedsSubject": "",
488
+ "fieldUnavailable": "",
489
+ "operatorInvalid": "",
490
+ "valueInvalid": "",
491
+ "actionUnavailable": "",
492
+ "variableUnavailable": "",
493
+ "minutesRange": "",
494
+ "daysRange": "",
495
+ "measureInvalid": "",
496
+ "fieldNotAvailableFor": "",
497
+ "trustAmountRange": "",
498
+ "trustValueRange": "",
499
+ "messageRequired": "",
500
+ "tooLong": ""
501
+ },
502
+ "recordAs": {
503
+ "label": "",
504
+ "policy": "",
505
+ "policyDescription": "",
506
+ "notification": "",
507
+ "notificationDescription": ""
508
+ },
509
+ "severityLabel": "",
510
+ "activeLabel": "",
511
+ "saving": "",
512
+ "selectPlaceholder": "",
513
+ "searchPlaceholder": "",
514
+ "noMatches": "",
515
+ "clearSelection": "",
516
+ "selectedCount": "",
517
+ "scope": {
518
+ "label": "",
519
+ "global": "",
520
+ "server": "",
521
+ "account": "",
522
+ "person": "",
523
+ "serverLabel": "",
524
+ "serverPlaceholder": "",
525
+ "accountLabel": "",
526
+ "accountPlaceholder": "",
527
+ "personLabel": "",
528
+ "personPlaceholder": "",
529
+ "personHelper": "",
530
+ "noServers": "",
531
+ "enforceAcrossServers": "",
532
+ "enforceAcrossServersDescription": ""
533
+ },
534
+ "conditions": {
535
+ "addGroup": "",
536
+ "fieldPlaceholder": "",
537
+ "windowPrefix": "",
538
+ "windowUnit": "",
539
+ "uniqueDevices": "",
540
+ "uniqueDevicesHint": "",
541
+ "uniqueIps": "",
542
+ "uniqueIpsHint": "",
543
+ "allDeviceTypes": "",
544
+ "deviceTypesHint": "",
545
+ "yes": "",
546
+ "no": "",
547
+ "recentlySeen": "",
548
+ "allCountries": "",
549
+ "sectionTitle": "",
550
+ "optional": "",
551
+ "helper": "",
552
+ "emptyLine": "",
553
+ "all": "",
554
+ "any": "",
555
+ "allHint": "",
556
+ "anyHint": "",
557
+ "matchLabel": "",
558
+ "fieldLabel": "",
559
+ "operatorLabel": "",
560
+ "valueLabel": "",
561
+ "canNeverPass": "",
562
+ "noFields": "",
563
+ "groupSeparator": "",
564
+ "addAnother": "",
565
+ "addFirst": "",
566
+ "removeGroup": ""
567
+ },
568
+ "actions": {
569
+ "add": "",
570
+ "sectionTitle": "",
571
+ "ifTitle": "",
572
+ "helper": "",
573
+ "emptyTitle": "",
574
+ "emptyDescription": "",
575
+ "emptyAction": "",
576
+ "moveUp": "",
577
+ "moveDown": "",
578
+ "menu": "",
579
+ "branchName": "",
580
+ "confirmRemoveTitle": "",
581
+ "confirmRemoveDescription": "",
582
+ "policyNote": "",
583
+ "branchThen": "",
584
+ "branchElse": "",
585
+ "branchElseEmpty": "",
586
+ "ifNothing": "",
587
+ "ifAddCheck": "",
588
+ "addBranch": "",
589
+ "expandBranch": "",
590
+ "collapseBranch": ""
591
+ },
592
+ "when": {
593
+ "title": "",
594
+ "helper": "",
595
+ "emptyTitle": "",
596
+ "emptyDescription": "",
597
+ "emptyAction": "",
598
+ "add": "",
599
+ "or": ""
600
+ },
601
+ "heldFor": {
602
+ "prefix": "",
603
+ "minutesLabel": "",
604
+ "unit": "",
605
+ "measureLabel": "",
606
+ "current": "",
607
+ "total": ""
608
+ },
609
+ "inactiveFor": {
610
+ "prefix": "",
611
+ "daysLabel": "",
612
+ "unit": ""
613
+ },
614
+ "rows": {
615
+ "toggle": "",
616
+ "remove": "",
617
+ "skipped": "",
618
+ "toggleHint": "",
619
+ "removeHint": "",
620
+ "expandHint": "",
621
+ "moveHint": ""
622
+ },
623
+ "picker": {
624
+ "searchPlaceholder": "",
625
+ "empty": "",
626
+ "navigate": "",
627
+ "select": "",
628
+ "close": ""
629
+ },
630
+ "sentence": {
631
+ "label": "",
632
+ "placeholderTrigger": "",
633
+ "placeholderAction": ""
634
+ },
635
+ "footer": {
636
+ "problems_one": "",
637
+ "problems_other": "",
638
+ "remaining_one": "",
639
+ "remaining_other": "",
640
+ "ready": "",
641
+ "search": ""
642
+ },
643
+ "leave": {
644
+ "title": "",
645
+ "confirm": ""
646
+ },
647
+ "liveCheck": {
648
+ "title": "",
649
+ "checking": "",
650
+ "empty": "",
651
+ "failed": "",
652
+ "footnote": "",
653
+ "expand": "",
654
+ "passed": "",
655
+ "notPassed": "",
656
+ "actual": "",
657
+ "unfinished": "",
658
+ "paused": "",
659
+ "sampleTitle": "",
660
+ "sampleGone": "",
661
+ "backToLive": ""
662
+ }
663
+ },
664
+ "categories": {
665
+ "session_behavior": "",
666
+ "stream_quality": "",
667
+ "user_attributes": "",
668
+ "device_client": "",
669
+ "network_location": "",
670
+ "scope": "",
671
+ "media": ""
672
+ },
673
+ "createAutomation": "",
674
+ "customAutomation": "",
675
+ "deleteAutomationConfirm": "",
676
+ "deleteAutomation_one": "",
677
+ "deleteAutomation_other": "",
678
+ "deleteAutomationsConfirm": "",
679
+ "describe": {
680
+ "more_one": "",
681
+ "more_other": "",
682
+ "noValues": "",
683
+ "includesSameDevice": "",
684
+ "uniqueIps": "",
685
+ "deviceTypesOnly": "",
686
+ "when": "",
687
+ "or": "",
688
+ "nothing": "",
689
+ "onlyWhen": "",
690
+ "andAlso": "",
691
+ "allOf": "",
692
+ "anyOf": "",
693
+ "joinAll": "",
694
+ "joinAny": "",
695
+ "then": "",
696
+ "otherwise": "",
697
+ "appliesTo": "",
698
+ "duration": {
699
+ "minutes_one": "",
700
+ "minutes_other": "",
701
+ "days_one": "",
702
+ "days_other": ""
703
+ },
704
+ "triggers": {
705
+ "sessionStarted": "",
706
+ "sessionStopped": "",
707
+ "sessionTranscodeChanged": "",
708
+ "sessionPaused": "",
709
+ "sessionHeldFor": "",
710
+ "sessionHeldForTotal": "",
711
+ "accountInactiveFor": "",
712
+ "accountNewDevice": "",
713
+ "accountTrustChanged": "",
714
+ "mediaAdded": "",
715
+ "mediaUpgraded": "",
716
+ "serverDown": "",
717
+ "serverUp": "",
718
+ "pluginUpdateAvailable": "",
719
+ "serverUpdateAvailable": "",
720
+ "tracearrUpdateAvailable": ""
721
+ },
722
+ "operators": {
723
+ "eq": "",
724
+ "neq": "",
725
+ "gt": "",
726
+ "gte": "",
727
+ "lt": "",
728
+ "lte": "",
729
+ "in": "",
730
+ "not_in": "",
731
+ "contains": "",
732
+ "not_contains": ""
733
+ },
734
+ "fields": {
735
+ "concurrent_streams": "",
736
+ "active_session_distance_km": "",
737
+ "travel_speed_kmh": "",
738
+ "unique_ips_in_window": "",
739
+ "unique_devices_in_window": "",
740
+ "inactive_days": "",
741
+ "current_pause_minutes": "",
742
+ "total_pause_minutes": "",
743
+ "source_resolution": "",
744
+ "output_resolution": "",
745
+ "is_transcoding": "",
746
+ "is_transcode_downgrade": "",
747
+ "source_bitrate_mbps": "",
748
+ "user_id": "",
749
+ "trust_score": "",
750
+ "account_age_days": "",
751
+ "device_type": "",
752
+ "client_name": "",
753
+ "platform": "",
754
+ "is_local_network": "",
755
+ "country": "",
756
+ "ip_in_range": "",
757
+ "server_id": "",
758
+ "media_type": "",
759
+ "library_item_type": "",
760
+ "library_name": "",
761
+ "resolution_after": "",
762
+ "dynamic_range_after": "",
763
+ "video_codec_after": "",
764
+ "audio_channels_after": "",
765
+ "file_size_after": ""
766
+ },
767
+ "states": {
768
+ "is_local_network": {
769
+ "yes": "",
770
+ "no": ""
413
771
  },
414
- "viewers": {
415
- "detail": "across all servers",
416
- "label": "Viewers"
772
+ "is_transcode_downgrade": {
773
+ "yes": "",
774
+ "no": ""
417
775
  },
418
- "watchTime": {
419
- "detail": "+{{hours}}h in the last 30 days",
420
- "label": "Watch time"
776
+ "is_transcoding": {
777
+ "video": {
778
+ "yes": "",
779
+ "no": ""
780
+ },
781
+ "audio": {
782
+ "yes": "",
783
+ "no": ""
784
+ },
785
+ "video_or_audio": {
786
+ "yes": "",
787
+ "no": ""
788
+ },
789
+ "neither": {
790
+ "yes": "",
791
+ "no": ""
792
+ }
421
793
  }
422
794
  },
423
- "notFound": {
424
- "backLink": "Back to Media",
425
- "message": "This title doesn't exist or you don't have access to it.",
426
- "title": "Media not found"
795
+ "actions": {
796
+ "if": "",
797
+ "flagIt": "",
798
+ "doNothing": "",
799
+ "send": "",
800
+ "sendAnywhere": "",
801
+ "kill_stream": "",
802
+ "message_client": "",
803
+ "trustUp": "",
804
+ "trustDown": "",
805
+ "trustAdjust": "",
806
+ "trustSet": "",
807
+ "trustReset": ""
427
808
  },
428
- "platforms": {
429
- "columns": {
430
- "platform": "Platform",
431
- "plays": "Plays",
432
- "watchTime": "Watch time"
433
- },
434
- "empty": "No platform data yet",
435
- "loadError": "Couldn't load platform breakdown",
436
- "title": "Platforms",
437
- "unknown": "Unknown"
809
+ "scope": {
810
+ "server": "",
811
+ "account": "",
812
+ "person": ""
438
813
  },
439
- "seasons": {
440
- "empty": "No season data yet",
441
- "episodeCount_one": "{{count}} episode",
442
- "episodeCount_other": "{{count}} episodes",
443
- "episodeLabel": {
444
- "partial": "{{code}}: partially watched",
445
- "unwatched": "{{code}}: unwatched",
446
- "watched": "{{code}}: watched"
447
- },
448
- "loadError": "Couldn't load season data",
449
- "stripSummary": "{{season}}: {{percent}}% watched",
450
- "title": "Seasons",
451
- "watchedPct": "{{percent}}% watched"
814
+ "sameDeviceInput": "",
815
+ "uniqueIpsInput": "",
816
+ "unbound": {
817
+ "server": "",
818
+ "account": "",
819
+ "person": "",
820
+ "destinations": "",
821
+ "field_value": "",
822
+ "select": "",
823
+ "number": "",
824
+ "duration": "",
825
+ "text": "",
826
+ "boolean": "",
827
+ "listed": ""
828
+ }
829
+ },
830
+ "description": "",
831
+ "detail": {
832
+ "notFound": "",
833
+ "title": "",
834
+ "unsaved": "",
835
+ "runsLine_one": "",
836
+ "runsLine_other": "",
837
+ "noRuns": ""
838
+ },
839
+ "disable": "",
840
+ "editAutomation": "",
841
+ "effects": {
842
+ "title": "",
843
+ "kill": "",
844
+ "trust": "",
845
+ "message": "",
846
+ "violation": "",
847
+ "tellsOnly": "",
848
+ "allServers": "",
849
+ "everyServer": "",
850
+ "oneServer": ""
851
+ },
852
+ "emptyTitle": "",
853
+ "emptyDescription": "",
854
+ "emptySeeAll": "",
855
+ "emptySeeAllLoading": "",
856
+ "enable": "",
857
+ "evaluations": {
858
+ "disclosure": "",
859
+ "reasons": {
860
+ "cooldown_active": "",
861
+ "edge_replayed": "",
862
+ "gate_blocked": "",
863
+ "trigger_filter_failed": ""
864
+ }
865
+ },
866
+ "export": {
867
+ "title": "",
868
+ "description": "",
869
+ "carries": "",
870
+ "copyCode": "",
871
+ "copyJson": "",
872
+ "authorLabel": "",
873
+ "authorPlaceholder": "",
874
+ "authorHelper": "",
875
+ "save": "",
876
+ "saved": "",
877
+ "saveFailed": "",
878
+ "failed": "",
879
+ "saveHelper": "",
880
+ "authorInCode": "",
881
+ "groupLabel": "",
882
+ "groupHelper": "",
883
+ "gallery": {
884
+ "trigger": "",
885
+ "body": ""
452
886
  },
453
- "title": "Media Details",
454
- "watchers": {
455
- "columns": {
456
- "completion": "Completion",
457
- "episodes": "Episodes",
458
- "lastWatched": "Last watched",
459
- "plays": "Plays",
460
- "user": "User"
461
- },
462
- "completionLabel": "{{percent}}% complete",
463
- "empty": "No one has watched this yet.",
464
- "lastWatchedAgo": "{{age}} ago",
465
- "loadError": "Couldn't load watchers",
466
- "title": "Watchers"
887
+ "openRepository": ""
888
+ },
889
+ "fields": {
890
+ "concurrent_streams": {
891
+ "label": "",
892
+ "description": ""
893
+ },
894
+ "active_session_distance_km": {
895
+ "label": "",
896
+ "description": ""
897
+ },
898
+ "travel_speed_kmh": {
899
+ "label": "",
900
+ "description": ""
901
+ },
902
+ "unique_ips_in_window": {
903
+ "label": "",
904
+ "description": ""
905
+ },
906
+ "unique_devices_in_window": {
907
+ "label": "",
908
+ "description": ""
909
+ },
910
+ "inactive_days": {
911
+ "label": "",
912
+ "description": ""
913
+ },
914
+ "current_pause_minutes": {
915
+ "label": "",
916
+ "description": ""
917
+ },
918
+ "total_pause_minutes": {
919
+ "label": "",
920
+ "description": ""
921
+ },
922
+ "source_resolution": {
923
+ "label": "",
924
+ "description": ""
925
+ },
926
+ "output_resolution": {
927
+ "label": "",
928
+ "description": ""
929
+ },
930
+ "is_transcoding": {
931
+ "label": "",
932
+ "description": ""
933
+ },
934
+ "is_transcode_downgrade": {
935
+ "label": "",
936
+ "description": ""
937
+ },
938
+ "source_bitrate_mbps": {
939
+ "label": "",
940
+ "description": ""
941
+ },
942
+ "user_id": {
943
+ "label": "",
944
+ "description": "",
945
+ "placeholder": ""
946
+ },
947
+ "trust_score": {
948
+ "label": "",
949
+ "description": ""
950
+ },
951
+ "account_age_days": {
952
+ "label": "",
953
+ "description": ""
954
+ },
955
+ "device_type": {
956
+ "label": "",
957
+ "description": ""
958
+ },
959
+ "client_name": {
960
+ "label": "",
961
+ "description": "",
962
+ "placeholder": ""
963
+ },
964
+ "platform": {
965
+ "label": "",
966
+ "description": ""
967
+ },
968
+ "is_local_network": {
969
+ "label": "",
970
+ "description": ""
971
+ },
972
+ "country": {
973
+ "label": "",
974
+ "description": "",
975
+ "placeholder": ""
976
+ },
977
+ "ip_in_range": {
978
+ "label": "",
979
+ "description": "",
980
+ "placeholder": ""
981
+ },
982
+ "server_id": {
983
+ "label": "",
984
+ "description": "",
985
+ "placeholder": ""
986
+ },
987
+ "media_type": {
988
+ "label": "",
989
+ "description": ""
990
+ },
991
+ "library_item_type": {
992
+ "label": "",
993
+ "description": ""
994
+ },
995
+ "library_name": {
996
+ "label": "",
997
+ "description": "",
998
+ "placeholder": ""
999
+ },
1000
+ "resolution_after": {
1001
+ "label": "",
1002
+ "description": ""
1003
+ },
1004
+ "dynamic_range_after": {
1005
+ "label": "",
1006
+ "description": ""
1007
+ },
1008
+ "video_codec_after": {
1009
+ "label": "",
1010
+ "description": ""
1011
+ },
1012
+ "audio_channels_after": {
1013
+ "label": "",
1014
+ "description": ""
1015
+ },
1016
+ "file_size_after": {
1017
+ "label": "",
1018
+ "description": ""
467
1019
  }
468
1020
  },
469
- "genres": {
470
- "chart": {
471
- "ariaLabel": "Bar chart of plays by genre, sorted highest to lowest. The full breakdown is available in the table below.",
472
- "itemCount_one": "{{count}} title",
473
- "itemCount_other": "{{count}} titles",
474
- "title": "Plays by genre",
475
- "valueLabel": "Plays"
1021
+ "gallery": {
1022
+ "title": "",
1023
+ "description": "",
1024
+ "searchPlaceholder": "",
1025
+ "noMatches": "",
1026
+ "noMatchesHint": "",
1027
+ "group": {
1028
+ "notifications": "",
1029
+ "server_health": "",
1030
+ "policies": "",
1031
+ "housekeeping": "",
1032
+ "other": ""
476
1033
  },
477
- "empty": {
478
- "description": "Genres come from your media servers' metadata sync. Check back after the next sync completes.",
479
- "title": "No genres captured yet"
1034
+ "builtin": "",
1035
+ "kind": {
1036
+ "policy": "",
1037
+ "notification": ""
480
1038
  },
481
- "loadError": "Couldn't load genres",
482
- "subtitle": "Plays and watch time by genre, across every server in view.",
483
- "table": {
484
- "browseMovies": "Browse {{genre}} movies",
485
- "browseShows": "Browse {{genre}} shows",
486
- "columns": {
487
- "genre": "Genre",
488
- "items": "Items",
489
- "plays": "Plays",
490
- "watchTime": "Watch time"
491
- },
492
- "title": "Genre breakdown"
1039
+ "paste": {
1040
+ "title": "",
1041
+ "description": ""
1042
+ },
1043
+ "scratch": {
1044
+ "title": "",
1045
+ "description": ""
493
1046
  },
494
- "title": "Genres"
1047
+ "failed": "",
1048
+ "retry": "",
1049
+ "missing": "",
1050
+ "hint": {
1051
+ "move": "",
1052
+ "use": "",
1053
+ "close": ""
1054
+ },
1055
+ "loading": ""
495
1056
  },
496
- "grid": {
497
- "clearJumpAction": "Clear",
498
- "emptyAnchored": "Nothing at or after \"{{letter}}\" under these filters",
499
- "emptyFilter": "No titles match these filters",
500
- "emptySearch": "No titles match \"{{query}}\"",
501
- "loadError": "Couldn't load the catalog",
502
- "loaderError": "Couldn't load more titles",
503
- "retry": "Retry",
504
- "scrubber": {
505
- "current": "Letter {{letter}}",
506
- "label": "Jump to letter"
1057
+ "import": {
1058
+ "title": "",
1059
+ "description": "",
1060
+ "reviewDescription": "",
1061
+ "placeholder": "",
1062
+ "formatHint": "",
1063
+ "check": "",
1064
+ "checking": "",
1065
+ "valid": "",
1066
+ "madeBy": "",
1067
+ "codeShort": "",
1068
+ "paused": {
1069
+ "label": "",
1070
+ "helper": ""
507
1071
  },
508
- "showAll": "Show all",
509
- "showingFrom": "Showing from {{letter}}",
510
- "toolbar": {
511
- "ariaLabel": "Filters and sort",
512
- "count": "{{loaded}} of {{total}} titles · {{size}}",
513
- "countTotal_one": "{{count}} title · {{size}}",
514
- "countTotal_other": "{{count}} titles · {{size}}",
515
- "done": "Done",
516
- "filtersLabel": "Filters",
517
- "filtersSheetTitle": "Filters",
518
- "genreAll": "Any genre",
519
- "genreLabel": "Genre",
520
- "hdrAll": "Any",
521
- "hdrChip": "HDR",
522
- "hdrLabel": "Dynamic range",
523
- "hdrOnly": "HDR only",
524
- "libraryAll": "Any library",
525
- "libraryLabel": "Library",
526
- "moviesToggle": "Movies",
527
- "removeFilter": "Remove {{label}} filter",
528
- "resolutionAll": "Any resolution",
529
- "resolutionLabel": "Resolution",
530
- "searchLabel": "Search titles",
531
- "searchPlaceholder": "Search titles…",
532
- "serverAll": "Any server",
533
- "serverLabel": "Server",
534
- "showsToggle": "Shows",
535
- "sizeChipAtLeast": "≥ {{min}} GB",
536
- "sizeChipAtMost": "≤ {{max}} GB",
537
- "sizeChipRange": "{{min}}–{{max}} GB",
538
- "sizeGbMaxLabel": "Max size (GB)",
539
- "sizeGbMinLabel": "Min size (GB)",
540
- "sort": {
541
- "added": "Recently added",
542
- "plays": "Plays",
543
- "title": "Title A–Z",
544
- "viewers": "Viewers",
545
- "watch_time": "Watch time",
546
- "year": "Year"
547
- },
548
- "sortLabel": "Sort",
549
- "typeLabel": "Media type",
550
- "unwatchedByLens": "Unwatched by {{name}}",
551
- "watched": {
552
- "all": "All",
553
- "partial": "Partially watched",
554
- "unwatched": "Unwatched",
555
- "watched": "Watched"
556
- },
557
- "watchedLabel": "Watched",
558
- "yearFromLabel": "From year",
559
- "yearToLabel": "To year"
1072
+ "submit": "",
1073
+ "adding": "",
1074
+ "existing": "",
1075
+ "existingUse": "",
1076
+ "collision": {
1077
+ "title": "",
1078
+ "add": "",
1079
+ "replace": ""
1080
+ },
1081
+ "raw": "",
1082
+ "errors": {
1083
+ "notACode": "",
1084
+ "notACodeHint": "",
1085
+ "tooBig": "",
1086
+ "tooBigHint": "",
1087
+ "truncated": "",
1088
+ "truncatedHint": "",
1089
+ "tooNew": "",
1090
+ "tooNewHint": "",
1091
+ "tooMany": "",
1092
+ "tooManyHint": "",
1093
+ "rejected": "",
1094
+ "rejectedHint": ""
1095
+ },
1096
+ "source": "",
1097
+ "validCaveat": "",
1098
+ "builtinMatch": ""
1099
+ },
1100
+ "kind": {
1101
+ "policy": "",
1102
+ "notification": ""
1103
+ },
1104
+ "kindColumn": "",
1105
+ "name": "",
1106
+ "newAutomation": "",
1107
+ "namePlaceholder": "",
1108
+ "nameInvalid": "",
1109
+ "descriptionLabel": "",
1110
+ "descriptionPlaceholder": "",
1111
+ "thisAutomation": "",
1112
+ "cooldownLabel": "",
1113
+ "cooldownInvalid": "",
1114
+ "retentionLabel": "",
1115
+ "retentionPlaceholder": "",
1116
+ "retentionInvalid": "",
1117
+ "noAutomationsFound": "",
1118
+ "operators": {
1119
+ "eq": "",
1120
+ "neq": "",
1121
+ "gt": "",
1122
+ "gte": "",
1123
+ "lt": "",
1124
+ "lte": "",
1125
+ "in": "",
1126
+ "not_in": "",
1127
+ "contains": "",
1128
+ "not_contains": ""
1129
+ },
1130
+ "options": {
1131
+ "4K": "",
1132
+ "1080p": "",
1133
+ "720p": "",
1134
+ "480p": "",
1135
+ "SD": "",
1136
+ "unknown": "",
1137
+ "mobile": "",
1138
+ "tablet": "",
1139
+ "tv": "",
1140
+ "desktop": "",
1141
+ "browser": "",
1142
+ "ios": "",
1143
+ "android": "",
1144
+ "windows": "",
1145
+ "macos": "",
1146
+ "linux": "",
1147
+ "tvos": "",
1148
+ "androidtv": "",
1149
+ "roku": "",
1150
+ "webos": "",
1151
+ "tizen": "",
1152
+ "movie": "",
1153
+ "episode": "",
1154
+ "track": "",
1155
+ "photo": "",
1156
+ "live": "",
1157
+ "trailer": "",
1158
+ "video": "",
1159
+ "audio": "",
1160
+ "video_or_audio": "",
1161
+ "neither": "",
1162
+ "8K": "",
1163
+ "1440p": "",
1164
+ "sdr": "",
1165
+ "hdr": "",
1166
+ "hdr10": "",
1167
+ "hdr10+": "",
1168
+ "hlg": "",
1169
+ "dolby vision": "",
1170
+ "libraryItemType": {
1171
+ "movie": "",
1172
+ "show": "",
1173
+ "season": "",
1174
+ "episode": "",
1175
+ "artist": "",
1176
+ "album": "",
1177
+ "track": "",
1178
+ "photo": ""
560
1179
  }
561
1180
  },
562
- "landing": {
563
- "card": {
564
- "addedAgo": "{{date}} 추가됨",
565
- "addedCompactAgo": "added {{age}} ago",
566
- "newEpisodesChip": "{{count}} new",
567
- "newEpisodes_one": "새 에피소드 {{count}}개",
568
- "newEpisodes_other": "새 에피소드 {{count}}개"
1181
+ "provenance": {
1182
+ "builtin": "",
1183
+ "imported": "",
1184
+ "importedBy": "",
1185
+ "saved": "",
1186
+ "customized": "",
1187
+ "customizedFromRemoved": ""
1188
+ },
1189
+ "recordsOnly": "",
1190
+ "scope": {
1191
+ "global": "",
1192
+ "person": "",
1193
+ "account": "",
1194
+ "crossServer": ""
1195
+ },
1196
+ "searchPlaceholder": "",
1197
+ "sessionTargets": {
1198
+ "triggering": {
1199
+ "label": "",
1200
+ "tooltip": ""
569
1201
  },
570
- "deadWeight": {
571
- "columns": {
572
- "added": "Added",
573
- "poster": "Poster",
574
- "servers": "Servers",
575
- "size": "Size",
576
- "title": "Title"
577
- },
578
- "empty": "Nothing to reclaim - everything in your library has been watched",
579
- "summary": "{{count}} never-watched titles · {{size}}",
580
- "title": "Dead Weight",
581
- "viewAll": "View all",
582
- "viewAllTooltip": "Coming soon"
1202
+ "oldest": {
1203
+ "label": "",
1204
+ "tooltip": ""
583
1205
  },
584
- "lens": {
585
- "allUsers": "모든 사용자",
586
- "label": "다음 사용자로 보기"
1206
+ "newest": {
1207
+ "label": "",
1208
+ "tooltip": ""
587
1209
  },
588
- "loadError": "Couldn't load your media library",
589
- "shelves": {
590
- "captionMostPopular": {
591
- "all": "all time",
592
- "custom": "selected date range",
593
- "day": "today",
594
- "month": "last 30 days",
595
- "week": "last 7 days",
596
- "year": "last 12 months"
597
- },
598
- "captionRecentlyAdded": "deduped across servers",
599
- "emptyMostPopular": "No plays in this period",
600
- "emptyRecentlyAdded": "Nothing added in this period",
601
- "mostPopularMovies": "Most Popular Movies",
602
- "mostPopularShows": "Most Popular Shows",
603
- "recentlyAddedMovies": "Recently Added Movies",
604
- "recentlyAddedShows": "Recently Added Shows"
605
- },
606
- "title": "Media"
1210
+ "all_except_one": {
1211
+ "label": "",
1212
+ "tooltip": ""
1213
+ },
1214
+ "all_user": {
1215
+ "label": "",
1216
+ "tooltip": ""
1217
+ }
607
1218
  },
608
- "movies": {
609
- "title": "Movies"
1219
+ "configFields": {
1220
+ "cooldown_minutes": {
1221
+ "label": ""
1222
+ },
1223
+ "target": {
1224
+ "label": ""
1225
+ },
1226
+ "message": {
1227
+ "label": ""
1228
+ }
610
1229
  },
611
- "posterCard": {
612
- "addedLabel": "{{date}} 추가됨",
613
- "moreServers": "+{{count}} more",
614
- "onServers": "{{servers}}에서 이용 가능",
615
- "playsCompact_one": "{{compact}} play",
616
- "playsCompact_other": "{{compact}} plays",
617
- "plays_one": "{{count}}회 재생",
618
- "plays_other": "{{count}}회 재생",
619
- "rankChip": "#{{rank}}",
620
- "rankSuffix": ", {{rank}}위",
621
- "tileLabel": {
622
- "added": "추가됨",
623
- "plays": "재생",
624
- "resolution": "resolution",
625
- "viewers": "시청자"
1230
+ "trustModes": {
1231
+ "adjust": {
1232
+ "label": ""
626
1233
  },
627
- "versionsChip": "{{count}}×",
628
- "versions_one": "{{count}} version",
629
- "versions_other": "{{count}} versions",
630
- "viewers_one": "시청자 {{count}}명",
631
- "viewers_other": "시청자 {{count}}명",
632
- "watchedState": {
633
- "partial": "일부 시청함",
634
- "watched": "시청함",
635
- "watchedByOthers": "Watched by others",
636
- "watchedByYou": "Watched by you"
1234
+ "set": {
1235
+ "label": ""
1236
+ },
1237
+ "reset": {
1238
+ "label": ""
637
1239
  }
638
1240
  },
639
- "shows": {
640
- "title": "Shows"
641
- }
642
- },
643
- "notFound": {
644
- "description": "The page you're looking for doesn't exist or has been moved.",
645
- "heading": "Page Not Found",
646
- "title": "404"
1241
+ "severity": {
1242
+ "low": "",
1243
+ "warning": "",
1244
+ "high": ""
1245
+ },
1246
+ "template": {
1247
+ "version": "",
1248
+ "updateAvailable": "",
1249
+ "updatedTitle": "",
1250
+ "updatedBody": "",
1251
+ "before": "",
1252
+ "after": "",
1253
+ "review": "",
1254
+ "save": "",
1255
+ "customize": "",
1256
+ "customizeTitle": "",
1257
+ "customizeConfirm": "",
1258
+ "customizeConfirmAction": "",
1259
+ "customizeFirst": "",
1260
+ "customizeFailed": "",
1261
+ "upgradeFailed": "",
1262
+ "gone": "",
1263
+ "doorsHelper": ""
1264
+ },
1265
+ "templates": {
1266
+ "account-inactivity": {
1267
+ "name": "",
1268
+ "description": "",
1269
+ "keywords": ""
1270
+ },
1271
+ "concurrent-streams": {
1272
+ "name": "",
1273
+ "description": "",
1274
+ "keywords": ""
1275
+ },
1276
+ "device-velocity": {
1277
+ "name": "",
1278
+ "description": "",
1279
+ "keywords": ""
1280
+ },
1281
+ "geo-restriction": {
1282
+ "name": "",
1283
+ "description": "",
1284
+ "keywords": ""
1285
+ },
1286
+ "impossible-travel": {
1287
+ "name": "",
1288
+ "description": "",
1289
+ "keywords": ""
1290
+ },
1291
+ "kill-paused-streams": {
1292
+ "name": "",
1293
+ "description": "",
1294
+ "keywords": ""
1295
+ },
1296
+ "media-added": {
1297
+ "name": "",
1298
+ "description": "",
1299
+ "keywords": ""
1300
+ },
1301
+ "media-upgraded": {
1302
+ "name": "",
1303
+ "description": "",
1304
+ "keywords": ""
1305
+ },
1306
+ "new-device": {
1307
+ "name": "",
1308
+ "description": "",
1309
+ "keywords": ""
1310
+ },
1311
+ "no-4k-transcodes": {
1312
+ "name": "",
1313
+ "description": "",
1314
+ "keywords": ""
1315
+ },
1316
+ "paused-too-long": {
1317
+ "name": "",
1318
+ "description": "",
1319
+ "keywords": ""
1320
+ },
1321
+ "plugin-update": {
1322
+ "name": "",
1323
+ "description": "",
1324
+ "keywords": ""
1325
+ },
1326
+ "server-down": {
1327
+ "name": "",
1328
+ "description": "",
1329
+ "keywords": ""
1330
+ },
1331
+ "server-up": {
1332
+ "name": "",
1333
+ "description": "",
1334
+ "keywords": ""
1335
+ },
1336
+ "server-update": {
1337
+ "name": "",
1338
+ "description": "",
1339
+ "keywords": ""
1340
+ },
1341
+ "simultaneous-locations": {
1342
+ "name": "",
1343
+ "description": "",
1344
+ "keywords": ""
1345
+ },
1346
+ "stream-ended": {
1347
+ "name": "",
1348
+ "description": "",
1349
+ "keywords": ""
1350
+ },
1351
+ "stream-started": {
1352
+ "name": "",
1353
+ "description": "",
1354
+ "keywords": ""
1355
+ },
1356
+ "tracearr-update": {
1357
+ "name": "",
1358
+ "description": "",
1359
+ "keywords": ""
1360
+ },
1361
+ "transcode-started": {
1362
+ "name": "",
1363
+ "description": "",
1364
+ "keywords": ""
1365
+ },
1366
+ "trust-score-changed": {
1367
+ "name": "",
1368
+ "description": "",
1369
+ "keywords": ""
1370
+ }
1371
+ },
1372
+ "title": "",
1373
+ "toggleAutomation": "",
1374
+ "tryAdjustingFilters": "",
1375
+ "units": {
1376
+ "km": "",
1377
+ "kmh": "",
1378
+ "mbps": "",
1379
+ "days": "",
1380
+ "minutes": "",
1381
+ "hours": "",
1382
+ "gb": "",
1383
+ "seconds": ""
1384
+ },
1385
+ "updateAutomation": "",
1386
+ "catalog": {
1387
+ "groups": {
1388
+ "sessions": "",
1389
+ "accounts": "",
1390
+ "library": "",
1391
+ "servers": "",
1392
+ "updates": "",
1393
+ "notify": "",
1394
+ "policy": "",
1395
+ "control": ""
1396
+ },
1397
+ "suggested": "",
1398
+ "triggers": {
1399
+ "sessionStarted": {
1400
+ "description": "",
1401
+ "synonyms": ""
1402
+ },
1403
+ "sessionStopped": {
1404
+ "description": "",
1405
+ "synonyms": ""
1406
+ },
1407
+ "sessionTranscodeChanged": {
1408
+ "description": "",
1409
+ "synonyms": ""
1410
+ },
1411
+ "sessionPaused": {
1412
+ "description": "",
1413
+ "synonyms": ""
1414
+ },
1415
+ "sessionHeldFor": {
1416
+ "label": "",
1417
+ "description": "",
1418
+ "synonyms": ""
1419
+ },
1420
+ "accountInactiveFor": {
1421
+ "label": "",
1422
+ "description": "",
1423
+ "synonyms": ""
1424
+ },
1425
+ "accountNewDevice": {
1426
+ "description": "",
1427
+ "synonyms": ""
1428
+ },
1429
+ "accountTrustChanged": {
1430
+ "description": "",
1431
+ "synonyms": ""
1432
+ },
1433
+ "mediaAdded": {
1434
+ "description": "",
1435
+ "synonyms": ""
1436
+ },
1437
+ "mediaUpgraded": {
1438
+ "description": "",
1439
+ "synonyms": ""
1440
+ },
1441
+ "serverDown": {
1442
+ "description": "",
1443
+ "synonyms": ""
1444
+ },
1445
+ "serverUp": {
1446
+ "description": "",
1447
+ "synonyms": ""
1448
+ },
1449
+ "pluginUpdateAvailable": {
1450
+ "description": "",
1451
+ "synonyms": ""
1452
+ },
1453
+ "serverUpdateAvailable": {
1454
+ "description": "",
1455
+ "synonyms": ""
1456
+ },
1457
+ "tracearrUpdateAvailable": {
1458
+ "description": "",
1459
+ "synonyms": ""
1460
+ }
1461
+ },
1462
+ "actions": {
1463
+ "send": {
1464
+ "synonyms": ""
1465
+ },
1466
+ "trust": {
1467
+ "synonyms": ""
1468
+ },
1469
+ "kill_stream": {
1470
+ "synonyms": ""
1471
+ },
1472
+ "message_client": {
1473
+ "synonyms": ""
1474
+ },
1475
+ "if": {
1476
+ "label": "",
1477
+ "description": "",
1478
+ "synonyms": ""
1479
+ }
1480
+ }
1481
+ },
1482
+ "filters": {
1483
+ "source": "",
1484
+ "allSources": "",
1485
+ "sources": {
1486
+ "builtin": "",
1487
+ "import": "",
1488
+ "local": "",
1489
+ "own": ""
1490
+ },
1491
+ "trigger": "",
1492
+ "allTriggers": ""
1493
+ },
1494
+ "openGallery": ""
647
1495
  },
648
- "plexCallback": {
649
- "authComplete": "Authentication complete",
650
- "windowWillClose": "This window will close automatically..."
1496
+ "terminateStream": {
1497
+ "title": "스트림 종료",
1498
+ "stopMedia": "@{{username}}님의 \"{{mediaTitle}}\" 재생을 중지할까요?",
1499
+ "messageLabel": "사용자에게 보낼 메시지(선택 사항)",
1500
+ "messagePlaceholder": "예: 계정을 공유하지 말아 주세요",
1501
+ "messageHint": "이 메시지는 재생 중 사용자에게 표시됩니다",
1502
+ "terminating": "종료 중...",
1503
+ "killStream": "스트림 강제 종료"
651
1504
  },
652
- "rules": {
653
- "accountInactivity": "Account Inactivity",
654
- "accountInactivityDesc": "Get notified when users have not watched anything for a specified period",
655
- "addRule": "Add Rule",
656
- "allowed": "Allowed",
657
- "allowedCountries": "Allowed Countries",
658
- "allowlist": "Allowlist (only allow these countries)",
659
- "allowlistNote": "Streams from any other country will trigger a violation.",
660
- "blocked": "Blocked",
661
- "blockedCountries": "Blocked Countries",
662
- "blocklist": "Blocklist (block these countries)",
663
- "builder": {
664
- "destinationDisabled": "Disabled destination",
665
- "errors": {
666
- "sendNeedsDestination": "Pick at least one destination"
667
- },
668
- "noDestinations": "No destinations yet. Add one to send notifications."
669
- },
670
- "chooseTemplate": "Choose a Rule Template",
671
- "chooseTemplateDesc": "Select a pre-configured rule type to get started quickly.",
672
- "classicRule": "Classic Rule",
673
- "concurrentStreams": "Concurrent Streams",
674
- "concurrentStreamsDesc": "Limit the number of simultaneous streams per user",
675
- "createDescription": "Configure a new detection rule for your media servers.",
676
- "createFirstRule": "Create your first detection rule to start monitoring for account sharing.",
677
- "createRule": "Create Rule",
678
- "customRule": "Custom Rule",
679
- "days": "Days",
680
- "deleteRule": "Delete Rule",
681
- "deleteRuleConfirm": "Are you sure you want to delete this rule? This action cannot be undone.",
682
- "deleteRule_one": "Delete {{count}} Rule",
683
- "deleteRule_other": "Delete {{count}} Rules",
684
- "deleteRulesConfirm": "Are you sure you want to delete? This action cannot be undone.",
685
- "description": "Configure detection rules for account sharing and policy violations",
686
- "deviceVelocity": "Device Velocity",
687
- "deviceVelocityDesc": "Detect when a user connects from too many IPs in a time window",
688
- "disable": "Disable",
689
- "editRule": "Edit Rule",
690
- "enable": "Enable",
691
- "excludeLocalNetwork": "Exclude Local Network",
692
- "excludeLocalNetworkDesc": "Ignore sessions from local/private IPs (e.g., 192.168.x.x, 10.x.x.x)",
693
- "geoRestriction": "Geo Restriction",
694
- "geoRestrictionDesc": "Block streaming from specific countries",
695
- "groupByDevice": "Group by Device",
696
- "groupByDeviceDesc": "Count by device instead of IP. Prevents false positives from VPN, DHCP, or Virtual Channels.",
697
- "impossibleTravel": "Impossible Travel",
698
- "impossibleTravelDesc": "Detect when a user streams from locations too far apart in a short time",
699
- "inactiveFor": "Inactive for {{value}} {{unit}}",
700
- "inactivityNote": "Creates an alert when a user has not watched anything for this period. Checks run hourly.",
701
- "inactivityPeriod": "Inactivity Period",
702
- "maxIps": "Max IPs",
703
- "maxIpsDefault": "Maximum unique IPs allowed within the time window. Default: 5 IPs in 24 hours",
704
- "maxSpeed": "Max Speed ({{unit}})",
705
- "maxSpeedDefault": "Maximum realistic travel speed. Default: {{value}} {{unit}} (airplane speed)",
706
- "maxStreams": "Max Streams",
707
- "maxStreamsDefault": "Maximum simultaneous streams per user. Default: 3",
708
- "minDistance": "Min Distance ({{unit}})",
709
- "minDistanceDefault": "Minimum distance between locations to trigger. Default: {{value}} {{unit}}",
710
- "mode": "Mode",
711
- "months": "Months",
712
- "noRulesConfigured": "No rules configured",
713
- "none": "None",
714
- "recordsOnly": "Records violations only",
715
- "ruleName": "Rule Name",
716
- "ruleNamePlaceholder": "e.g., Concurrent Stream Limit",
717
- "ruleType": "Rule Type",
718
- "selectAllowedCountries": "Select allowed countries...",
719
- "selectCountriesToBlock": "Select countries to block...",
720
- "simultaneousLocations": "Simultaneous Locations",
721
- "simultaneousLocationsDesc": "Detect when a user streams from multiple distant locations at once",
722
- "timeWindow": "Time Window (hours)",
723
- "title": "Rules",
724
- "unit": "Unit",
725
- "updateDescription": "Update the rule configuration below.",
726
- "updateRule": "Update Rule",
727
- "weeks": "Weeks"
1505
+ "notFound": {
1506
+ "title": "",
1507
+ "heading": "페이지를 찾을 수 없습니다",
1508
+ "description": "찾으시는 페이지가 없거나 이동되었습니다."
728
1509
  },
729
1510
  "settings": {
1511
+ "plex": {
1512
+ "noServersFound": "Plex 서버를 찾을 수 없습니다",
1513
+ "noServersFoundHint": "소유한 Plex 서버가 하나 이상 있는지 확인하세요",
1514
+ "noReachableConnections": "연결 가능한 항목이 없습니다",
1515
+ "local": "로컬",
1516
+ "remote": "원격",
1517
+ "custom": "사용자 지정",
1518
+ "secure": "보안",
1519
+ "mayNotConnect": "연결되지 않을 수 있음",
1520
+ "recommended": "권장",
1521
+ "customUrl": "사용자 지정 URL",
1522
+ "connectionError": {
1523
+ "timeout": "시간 초과",
1524
+ "dns": "DNS 오류",
1525
+ "refused": "연결 거부됨",
1526
+ "unreachable": "호스트에 도달할 수 없음",
1527
+ "reset": "연결이 재설정됨",
1528
+ "tls": "TLS 오류",
1529
+ "http": "",
1530
+ "unknown": "연결 실패"
1531
+ },
1532
+ "connectionsReachable": "전체 {{total}}개 중 {{reachable}}개 연결 가능",
1533
+ "connectionsAvailable": "사용 가능한 연결 {{count}}개",
1534
+ "hideFiltered": "필터링된 항목 숨기기",
1535
+ "showAll": "모두 보기",
1536
+ "moreConnections": "연결 {{count}}개 더 보기",
1537
+ "connectingTo": "{{name}}에 연결 중...",
1538
+ "noAccountsLinked": "연결된 Plex 계정이 없습니다",
1539
+ "noAccountsLinkedHint": "Tracearr에 Plex 서버를 추가하려면 Plex 계정을 연결하세요.",
1540
+ "linkPlexAccount": "Plex 계정 연결",
1541
+ "linkAnotherAccount": "다른 Plex 계정 연결",
1542
+ "linking": "연결 중...",
1543
+ "accountsLinked_one": "Plex 계정 {{count}}개 연결됨",
1544
+ "accountsLinked_other": "Plex 계정 {{count}}개 연결됨",
1545
+ "noAccountsLinkedShort": "연결된 Plex 계정 없음",
1546
+ "loginEnabled": "로그인 활성화됨",
1547
+ "serversConnected_one": "서버 {{count}}대 연결됨",
1548
+ "serversConnected_other": "서버 {{count}}대 연결됨",
1549
+ "unlinkAccount": "이 Plex 계정 연결 해제",
1550
+ "reauthorizeAccount": "",
1551
+ "deleteServersFirst": "이 계정 연결을 해제하려면 먼저 연결된 서버를 삭제하세요",
1552
+ "linkedAccounts": "연결된 Plex 계정",
1553
+ "linkedAccountsDesc": "서버를 추가할 때 사용할 Plex 계정을 관리하세요.",
1554
+ "noAccountsYet": "아직 연결된 Plex 계정이 없습니다.",
1555
+ "unlinkPlexAccount": "Plex 계정 연결 해제",
1556
+ "unlinkConfirm": "이 Plex 계정 연결을 해제할까요? 다시 연결하기 전까지 이 계정에서 서버를 추가할 수 없습니다."
1557
+ },
730
1558
  "destinations": {
731
- "add": "Add destination",
732
- "builtinNote": "Built in",
733
- "clearSecret": "Clear",
734
- "delete": "Delete",
735
- "deleteConfirm": "Delete {{name}}? Rules that send to it will be blocked until they are updated.",
736
- "description": "Where notifications go. Add as many as you like; each one picks the system events it receives, and rules can send to any of them.",
737
- "empty": "No destinations yet.",
738
- "events": {
739
- "plugin_update_available": "Plugin update available",
740
- "server_down": "Server down",
741
- "server_up": "Server up",
742
- "stream_started": "Stream started",
743
- "stream_stopped": "Stream stopped",
744
- "violation_detected": "Violation detected"
745
- },
746
- "eventsLabel": "Events",
1559
+ "add": "",
1560
+ "builtinNote": "",
1561
+ "clearSecret": "",
1562
+ "delete": "",
1563
+ "deleteConfirm": "",
1564
+ "description": "",
1565
+ "empty": "",
747
1566
  "fields": {
748
- "apiToken": "API token",
749
- "apiUrl": "API URL",
750
- "authToken": "Auth token",
751
- "serverUrl": "Server URL",
752
- "topic": "Topic",
753
- "url": "URL",
754
- "userKey": "User key",
755
- "webhookUrl": "Webhook URL"
1567
+ "webhookUrl": "",
1568
+ "url": "",
1569
+ "serverUrl": "",
1570
+ "apiUrl": "",
1571
+ "topic": "",
1572
+ "authToken": "",
1573
+ "userKey": "",
1574
+ "apiToken": ""
756
1575
  },
757
1576
  "hints": {
758
- "authTokenOptional": "Optional for public topics"
759
- },
760
- "ownerOnly": "Only the owner can manage notification destinations.",
761
- "pushNote": "Delivered to paired mobile devices; each device filters in its own notification settings.",
762
- "reencrypt": "Re-enter this destination's secret",
763
- "secretSet": "Set (leave blank to keep)",
764
- "test": "Test",
765
- "testHint": "Save first to test",
766
- "testNeedsForm": "Fill in the required fields to test",
767
- "title": "Notification destinations",
1577
+ "authTokenOptional": ""
1578
+ },
1579
+ "ownerOnly": "",
1580
+ "pushNote": "",
1581
+ "receiveViolations": "",
1582
+ "receiveViolationsHint": "",
1583
+ "reencrypt": "",
1584
+ "secretSet": "",
1585
+ "test": "",
1586
+ "testHint": "",
1587
+ "testNeedsForm": "",
1588
+ "title": "",
768
1589
  "types": {
769
- "apprise": "Apprise",
770
- "discord": "Discord",
771
- "gotify": "Gotify",
772
- "jsonWebhook": "Webhook (JSON)",
773
- "ntfy": "ntfy",
774
- "push": "Mobile push",
775
- "pushover": "Pushover",
776
- "webToast": "Browser toasts"
777
- },
778
- "usedBy": "Used by {{count}} rule",
779
- "usedBy_other": "Used by {{count}} rules",
780
- "webToastNote": "Toasts in this browser."
1590
+ "discord": "",
1591
+ "jsonWebhook": "",
1592
+ "ntfy": "",
1593
+ "gotify": "",
1594
+ "apprise": "",
1595
+ "pushover": "",
1596
+ "push": "",
1597
+ "webToast": ""
1598
+ },
1599
+ "usedBy": "",
1600
+ "usedBy_other": "",
1601
+ "webToastNote": ""
781
1602
  },
782
1603
  "jobs": {
783
- "lastRun": "Last run",
784
- "nextRun": "Next run",
785
- "runNow": "Run Now",
786
- "running": "Running...",
787
- "schedule": "Schedule"
1604
+ "runNow": "지금 실행",
1605
+ "running": "실행 중...",
1606
+ "lastRun": "마지막 실행",
1607
+ "nextRun": "다음 실행",
1608
+ "schedule": "일정"
788
1609
  },
789
1610
  "mobile": {
790
- "displayName": "Display Name",
791
- "displayNamePlaceholder": "e.g., My iPhone",
792
- "editDisplayName": "Edit Display Name",
793
- "editDisplayNameDesc": "Change how this device appears in your device list",
794
- "updating": "Updating..."
795
- },
796
- "plex": {
797
- "accountsLinked_one": "{{count}} Plex account linked",
798
- "accountsLinked_other": "{{count}} Plex accounts linked",
799
- "connectingTo": "Connecting to {{name}}...",
800
- "connectionError": {
801
- "dns": "DNS error",
802
- "http": "HTTP {{status}}",
803
- "refused": "Connection refused",
804
- "reset": "Connection reset",
805
- "timeout": "Timed out",
806
- "tls": "TLS error",
807
- "unknown": "Connection failed",
808
- "unreachable": "Host unreachable"
809
- },
810
- "connectionsAvailable": "{{count}} connections available",
811
- "connectionsReachable": "{{reachable}} of {{total}} connections reachable",
812
- "custom": "Custom",
813
- "customUrl": "Custom URL",
814
- "deleteServersFirst": "Delete connected servers first to unlink this account",
815
- "hideFiltered": "Hide filtered",
816
- "linkAnotherAccount": "Link Another Plex Account",
817
- "linkPlexAccount": "Link Plex Account",
818
- "linkedAccounts": "Linked Plex Accounts",
819
- "linkedAccountsDesc": "Manage the Plex accounts you can add servers from.",
820
- "linking": "Linking...",
821
- "local": "Local",
822
- "loginEnabled": "Login Enabled",
823
- "mayNotConnect": "May not connect",
824
- "moreConnections": "+{{count}} more connections",
825
- "noAccountsLinked": "No Plex Accounts Linked",
826
- "noAccountsLinkedHint": "Link a Plex account to add Plex servers to Tracearr.",
827
- "noAccountsLinkedShort": "No Plex accounts linked",
828
- "noAccountsYet": "No Plex accounts linked yet.",
829
- "noReachableConnections": "No reachable connections",
830
- "noServersFound": "No Plex servers found",
831
- "noServersFoundHint": "Make sure you own at least one Plex server",
832
- "recommended": "Recommended",
833
- "remote": "Remote",
834
- "secure": "Secure",
835
- "serversConnected_one": "{{count}} server connected",
836
- "serversConnected_other": "{{count}} servers connected",
837
- "showAll": "Show all",
838
- "unlinkAccount": "Unlink this Plex account",
839
- "reauthorizeAccount": "Reauthorize this Plex account",
840
- "unlinkConfirm": "Are you sure you want to unlink this Plex account? You won't be able to add servers from this account until you link it again.",
841
- "unlinkPlexAccount": "Unlink Plex Account"
1611
+ "editDisplayName": "표시 이름 수정",
1612
+ "editDisplayNameDesc": "기기 목록에 표시되는 이름을 변경합니다",
1613
+ "displayName": "표시 이름",
1614
+ "displayNamePlaceholder": "예: 내 iPhone",
1615
+ "updating": "업데이트 중..."
842
1616
  }
843
1617
  },
1618
+ "maintenance": {
1619
+ "startingTitle": "Tracearr가 시작 중입니다...",
1620
+ "interruptionTitle": "서비스 중단",
1621
+ "startingDescription": "서버가 백엔드 서비스를 사용할 수 있게 되기를 기다리고 있습니다. 준비가 완료되면 이 페이지가 자동으로 새로고침됩니다.",
1622
+ "interruptionDescription": "하나 이상의 백엔드 서비스를 사용할 수 없습니다. 연결이 복구되면 이 페이지가 자동으로 새로고침됩니다.",
1623
+ "unreachable": "",
1624
+ "restoreTitle": "백업에서 복원 중...",
1625
+ "restoreFailed": "복원 실패",
1626
+ "restorePhase": {
1627
+ "validating": "백업 검증 중",
1628
+ "creating_restore_point": "복원 지점 생성 중",
1629
+ "shutting_down": "서비스 종료 중",
1630
+ "restoring_database": "데이터베이스 복원 중",
1631
+ "running_migrations": "마이그레이션 실행 중",
1632
+ "rebuilding_aggregates": "집계 데이터 재구성 중",
1633
+ "restarting": "서비스 재시작 중",
1634
+ "complete": "복원 완료"
1635
+ },
1636
+ "initStep": {
1637
+ "migrations": "",
1638
+ "timescale": "",
1639
+ "services": ""
1640
+ },
1641
+ "doNotRestart": ""
1642
+ },
1643
+ "map": {
1644
+ "allUsers": "모든 사용자",
1645
+ "allTypes": "모든 유형",
1646
+ "heatmap": "히트맵",
1647
+ "circles": "원형 표시",
1648
+ "streams": "스트림",
1649
+ "locations": "위치",
1650
+ "allActivity": "모든 활동",
1651
+ "basemapMissing": "Basemap not installed"
1652
+ },
1653
+ "devices": {
1654
+ "title": "기기 호환성",
1655
+ "description": "각 코덱에서 기기가 직접 재생과 트랜스코딩 중 무엇을 사용하는지 확인하세요",
1656
+ "analyzedSessions": "",
1657
+ "analyzedSessionsTooltip": "",
1658
+ "directPlayRate": "직접 재생 비율",
1659
+ "videoAndAudio": "비디오 + 오디오",
1660
+ "uniqueDevices": "고유 기기",
1661
+ "uniqueCodecs": "고유 코덱",
1662
+ "deviceHealth": "기기 상태",
1663
+ "deviceHealthDesc": "기기 유형별 직접 재생 비율",
1664
+ "transcodeHotspots": "트랜스코딩 집중 구간",
1665
+ "transcodeHotspotsDesc": "트랜스코딩을 가장 많이 유발하는 조합",
1666
+ "deviceAndCodec": "기기 + 코덱",
1667
+ "transcodes": "트랜스코딩",
1668
+ "pctOfTotal": "전체 대비 %",
1669
+ "noTranscodeHotspots": "트랜스코딩 집중 구간이 없습니다",
1670
+ "compatibilityMatrix": "호환성 매트릭스",
1671
+ "compatibilityMatrixDesc": "기기와 비디오 코덱별 직접 재생 비율입니다. 세션 수 기준으로 정렬됩니다.",
1672
+ "noDeviceDataPeriod": "이 기간에는 기기 데이터가 없습니다",
1673
+ "legend": "범례:",
1674
+ "directPlayHigh": "80% 이상 직접 재생",
1675
+ "directPlayMid": "",
1676
+ "directPlayLow": "50% 미만",
1677
+ "topTranscodingUsers": "트랜스코딩 상위 사용자",
1678
+ "topTranscodingUsersDesc": "서버에서 트랜스코딩을 가장 많이 유발한 사용자",
1679
+ "noTranscodingUsers": "트랜스코딩 사용자를 찾을 수 없습니다"
1680
+ },
844
1681
  "statsBandwidth": {
845
- "avgBitrate": "Avg Bitrate",
846
- "avgBitrateMbps": "Avg Bitrate (Mbps)",
847
- "dailyUsage": "Daily Bandwidth Usage",
848
- "dailyUsageDesc": "Average bitrate and session count over time",
849
- "dataTransferred": "Data Transferred",
850
- "description": "Streaming bandwidth usage and bitrate analysis",
851
- "noData": "No bandwidth data available",
852
- "peakBitrate": "Peak: {{value}} Mbps",
853
- "title": "Bandwidth",
854
- "topUsers": "Top Bandwidth Users",
855
- "topUsersDesc": "Users consuming the most bandwidth",
856
- "totalWatchTime": "Total Watch Time",
857
- "uniqueUsers": "Unique Users"
1682
+ "title": "대역폭",
1683
+ "description": "스트리밍 대역폭 사용량과 비트레이트 분석",
1684
+ "dataTransferred": "전송된 데이터",
1685
+ "avgBitrate": "평균 비트레이트",
1686
+ "avgBitrateMbps": "평균 비트레이트(Mbps)",
1687
+ "peakBitrate": "피크: {{value}} Mbps",
1688
+ "totalWatchTime": "전체 시청 시간",
1689
+ "uniqueUsers": "고유 사용자",
1690
+ "dailyUsage": "일별 대역폭 사용량",
1691
+ "dailyUsageDesc": "시간에 따른 평균 비트레이트와 세션 수",
1692
+ "topUsers": "대역폭 상위 사용자",
1693
+ "topUsersDesc": "대역폭을 가장 많이 사용한 사용자",
1694
+ "noData": "사용 가능한 대역폭 데이터가 없습니다"
858
1695
  },
859
1696
  "statsUsers": {
860
- "noActivity": "No activity yet",
861
- "noActivityDesc": "Start streaming to see your top users here",
862
- "runnersUp": "Runners Up",
863
- "top3": "Top 3"
1697
+ "noActivity": "아직 활동이 없습니다",
1698
+ "noActivityDesc": "스트리밍을 시작하면 상위 사용자가 여기에 표시됩니다",
1699
+ "top3": "상위 3명",
1700
+ "runnersUp": "그 외 상위"
864
1701
  },
865
- "terminateStream": {
866
- "killStream": "Kill Stream",
867
- "messageHint": "This message will be shown to them during playback",
868
- "messageLabel": "Message to user (optional)",
869
- "messagePlaceholder": "e.g., Please don't share your account",
870
- "stopMedia": "Stop \"{{mediaTitle}}\" for @{{username}}?",
871
- "terminating": "Terminating...",
872
- "title": "Terminate Stream"
1702
+ "plexCallback": {
1703
+ "authComplete": "인증 완료",
1704
+ "windowWillClose": "이 창은 자동으로 닫힙니다..."
873
1705
  },
874
- "userDetail": {
875
- "acrossAllServers": "Across all linked accounts:",
876
- "adjustTrustScore": "Adjust Trust Score",
877
- "allServers": "All servers",
878
- "backToUsers": "Back to Users",
879
- "byRule": "By / Rule",
880
- "linkedAccounts": "Linked accounts",
881
- "locations": "Locations",
882
- "manual": "Manual",
883
- "noSessionsFound": "No sessions found for this user.",
884
- "noTerminationsFound": "No stream terminations for this user.",
885
- "noViolationsFound": "No violations for this user.",
886
- "overallTrust": "Overall Trust",
887
- "serverScope": "Server",
888
- "sessions": "Sessions",
889
- "splitAccount": "Split into separate user",
890
- "splitConfirmDescription": "Detach this server account into its own user. Its watch history and violations move with it.",
891
- "splitConfirmLoading": "Splitting...",
892
- "splitConfirmTitle": "Split server account",
893
- "statistics": "Statistics",
894
- "terminationHistory": "Termination History",
895
- "unknownRule": "Unknown rule",
896
- "userInfo": "User Info",
897
- "userNotFound": "User not found",
898
- "violations": "Violations"
1706
+ "apiDocs": {
1707
+ "backToSettings": "설정으로 돌아가기",
1708
+ "apiKeyAutoLoaded": "API 키가 자동으로 불러와졌습니다",
1709
+ "noApiKey": "생성된 API 키가 없습니다. 엔드포인트를 테스트하려면 설정에서 키를 만드세요",
1710
+ "versionSwitcherLabel": "",
1711
+ "versionV1": "",
1712
+ "versionV2": "",
1713
+ "specLoadError": ""
899
1714
  },
900
- "users": {
901
- "mergeConfirm": "Merge",
902
- "mergeDialogDescription": "Every server account, session, and violation from the duplicate moves to the primary. The duplicate identity is deleted.",
903
- "mergeDialogTitle": "Merge users",
904
- "mergePickPrimary": "Choose the primary identity",
905
- "mergePrimaryBadge": "Primary",
906
- "mergePrimaryForced": "This account can log in, so it must stay the primary.",
907
- "mergeSameIdentity": "These accounts already belong to the same user",
908
- "mergeSameServerAcknowledge": "I understand the same-server history combine cannot be undone",
909
- "mergeSameServerDialogDescription": "This merge permanently combines both accounts on the same server. It cannot be undone.",
910
- "mergeSameServerFallbackName": "this server",
911
- "mergeSameServerWarning": "Both identities already have an account on the same server. Merging will permanently combine their session history, violations, and trust score into a single account on that server. This cannot be undone, and splitting the account afterward will not restore the original two accounts.",
912
- "mergeSameServerWarningTitle": "This action is irreversible",
913
- "mergeSelectAllActive": "Clear the select-all selection and pick exactly two users to merge",
914
- "mergeSelectTwo": "Select exactly two users to merge",
915
- "mergeServerAccountRemoved": "Removed",
916
- "mergeUsers": "Merge users",
917
- "noUsersFound": "No users found.",
918
- "resetTrustScore": "Reset Trust Score",
919
- "resetTrustScoreConfirm": "Are you sure you want to reset the trust score to 100? This action cannot be undone.",
920
- "resetTrustScoreTitle_one": "Reset Trust Score for {{count}} User",
921
- "resetTrustScoreTitle_other": "Reset Trust Score for {{count}} Users",
922
- "searchPlaceholder": "Search users...",
923
- "selectAllUsers": "Select all {{count}} users",
924
- "serversColumn": "Servers",
925
- "showRemoved": "Show removed",
926
- "suggestionsDescription": "These identities look like the same person across servers. Review and merge them if they match.",
927
- "suggestionsError": "Could not load merge suggestions",
928
- "suggestionsMatchEmail": "Same email",
929
- "suggestionsMatchUsername": "Same username",
930
- "suggestionsReview": "Review",
931
- "suggestionsTitle": "Possible duplicate users",
932
- "title": "Users"
1715
+ "debug": {
1716
+ "title": "디버그 도구",
1717
+ "description": "문제 해결과 데이터 관리를 위한 관리자 유틸리티",
1718
+ "overview": "개요",
1719
+ "librarySnapshots": "라이브러리 스냅샷",
1720
+ "tasks": "작업",
1721
+ "logs": "로그",
1722
+ "plexAccounts": "Plex 계정",
1723
+ "terminations": "종료 기록",
1724
+ "libraryItems": "라이브러리 항목",
1725
+ "environment": "환경",
1726
+ "systemInformation": "시스템 정보",
1727
+ "cpu": "",
1728
+ "memory": "메모리",
1729
+ "uptime": "가동 시간",
1730
+ "database": "데이터베이스",
1731
+ "databaseDesc": "데이터베이스 크기와 테이블 통계",
1732
+ "totalSize": "전체 크기",
1733
+ "maintenance": "유지관리",
1734
+ "destructiveActions": "파괴적 작업",
1735
+ "refreshAggregates": "집계 새로고침",
1736
+ "clearStuckJobs": "멈춘 작업 정리",
1737
+ "obliterateAllJobs": "모든 작업 완전 삭제",
1738
+ "clearQueryCache": "쿼리 기록 비우기",
1739
+ "clearMobileDevices": "모바일 기기 목록 비우기",
1740
+ "clearViolations": "위반 기록 비우기",
1741
+ "clearAutomations": "",
1742
+ "clearAutomationsConfirm": "",
1743
+ "clearTerminationLogs": "종료 로그 비우기",
1744
+ "clearLibraryCache": "라이브러리 기록 비우기",
1745
+ "clearSessions": "세션 지우기",
1746
+ "clearUsers": "사용자 목록 비우기",
1747
+ "clearServers": "서버 목록 초기화",
1748
+ "factoryReset": "초기화",
1749
+ "manageSnapshots": "저장소 트렌드 및 품질 분석 차트용 라이브러리 스냅샷 관리",
1750
+ "suspiciousOnly": "의심 항목만 보기",
1751
+ "load": "불러오기",
1752
+ "noSuspiciousSnapshots": "감지된 의심스러운 스냅샷이 없습니다",
1753
+ "clickLoadToView": "스냅샷을 확인하려면 \"불러오기\"를 클릭하세요",
1754
+ "deleteSelected": "선택 삭제",
1755
+ "deleteAllSuspicious": "의심 항목 전체 삭제",
1756
+ "suspicious": "의심 항목",
1757
+ "ok": "확인",
1758
+ "selected": "선택됨",
1759
+ "snapshots": "스냅샷(들)",
1760
+ "of": "/",
1761
+ "logExplorerUnavailable": "로그 탐색기는 Docker 환경에서만 사용할 수 있습니다."
933
1762
  },
934
- "violations": {
935
- "allClear": "All Clear",
936
- "allPeople": "All people",
937
- "allSeverities": "All Severities",
938
- "allStatuses": "All Statuses",
1763
+ "media": {
1764
+ "landing": {
1765
+ "title": "",
1766
+ "lens": {
1767
+ "label": "다음 사용자로 보기",
1768
+ "allUsers": "모든 사용자"
1769
+ },
1770
+ "shelves": {
1771
+ "recentlyAddedMovies": "",
1772
+ "recentlyAddedShows": "",
1773
+ "mostPopularMovies": "",
1774
+ "mostPopularShows": "",
1775
+ "emptyRecentlyAdded": "",
1776
+ "emptyMostPopular": "",
1777
+ "captionRecentlyAdded": "",
1778
+ "captionMostPopular": {
1779
+ "day": "",
1780
+ "week": "",
1781
+ "month": "",
1782
+ "year": "",
1783
+ "all": "",
1784
+ "custom": ""
1785
+ }
1786
+ },
1787
+ "card": {
1788
+ "newEpisodes_one": "새 에피소드 {{count}}개",
1789
+ "newEpisodes_other": "새 에피소드 {{count}}개",
1790
+ "addedAgo": "{{date}} 추가됨",
1791
+ "addedCompactAgo": "",
1792
+ "newEpisodesChip": ""
1793
+ },
1794
+ "deadWeight": {
1795
+ "title": "",
1796
+ "summary": "",
1797
+ "empty": "",
1798
+ "columns": {
1799
+ "poster": "",
1800
+ "title": "",
1801
+ "size": "",
1802
+ "added": "",
1803
+ "servers": ""
1804
+ },
1805
+ "viewAll": "",
1806
+ "viewAllTooltip": ""
1807
+ },
1808
+ "loadError": ""
1809
+ },
1810
+ "movies": {
1811
+ "title": ""
1812
+ },
1813
+ "shows": {
1814
+ "title": ""
1815
+ },
1816
+ "genres": {
1817
+ "title": "",
1818
+ "subtitle": "",
1819
+ "chart": {
1820
+ "title": "",
1821
+ "valueLabel": "",
1822
+ "itemCount_one": "",
1823
+ "itemCount_other": "",
1824
+ "ariaLabel": ""
1825
+ },
1826
+ "table": {
1827
+ "title": "",
1828
+ "columns": {
1829
+ "genre": "",
1830
+ "items": "",
1831
+ "plays": "",
1832
+ "watchTime": ""
1833
+ },
1834
+ "browseMovies": "",
1835
+ "browseShows": ""
1836
+ },
1837
+ "empty": {
1838
+ "title": "",
1839
+ "description": ""
1840
+ },
1841
+ "loadError": ""
1842
+ },
939
1843
  "detail": {
940
- "acknowledged": "Acknowledged",
941
- "actions": "Actions Taken",
942
- "actual": "Actual",
943
- "conditionEvidence": "Condition Evidence",
944
- "conditionGroup": "Condition Group {{index}}",
945
- "created": "Created",
946
- "daysInactive": "Days Inactive",
947
- "detected": "Detected",
948
- "inactivity": "Inactivity Details",
949
- "lastActivity": "Last Activity",
950
- "map": "Session Locations",
951
- "matched": "{{matched}}/{{total}} matched",
952
- "neverActive": "Never active",
953
- "noSessions": "No sessions associated with this violation",
954
- "notFound": "Violation not found",
955
- "relatedSessions": "{{count}} related session",
956
- "relatedSessions_one": "{{count}} related session",
957
- "relatedSessions_other": "{{count}} related sessions",
958
- "sessions": "Sessions",
959
- "threshold": "Threshold",
960
- "timestamps": "Timestamps",
961
- "trigger": "Trigger",
962
- "userInfo": "User",
963
- "violationDetails": "Violation Details"
964
- },
965
- "dismissViolation": "Dismiss Violation",
966
- "dismissViolationConfirm": "Are you sure you want to dismiss this violation? This will remove it from the violation log permanently.",
967
- "dismissViolation_one": "Dismiss {{count}} Violation",
968
- "dismissViolation_other": "Dismiss {{count}} Violations",
969
- "dismissViolationsConfirm": "Are you sure you want to dismiss? This will remove them from the violation log permanently and restore associated trust scores.",
970
- "filterByPerson": "Filter violations by this person",
971
- "filterPeople": "People",
972
- "noMatches": "No Matches",
973
- "noViolationsDetected": "No rule violations detected",
974
- "noViolationsFound": "No violations found",
975
- "noViolationsRecorded": "No violations have been recorded yet.",
976
- "peopleSelectedCount": "{{count}} people",
977
- "personFilterEmpty": "No matching people found",
978
- "personFilterError": "Failed to load people",
979
- "personFilterPlaceholder": "Filter by person",
980
- "selectAllViolations": "Select all {{count}} violations matching filters",
981
- "title": "Violations",
982
- "tryAdjustingFilters": "Try adjusting your filters",
983
- "violationLog": "Violation Log"
1844
+ "title": "",
1845
+ "breadcrumb": {
1846
+ "ariaLabel": ""
1847
+ },
1848
+ "notFound": {
1849
+ "title": "",
1850
+ "message": "",
1851
+ "backLink": ""
1852
+ },
1853
+ "hero": {
1854
+ "loadError": "",
1855
+ "meta": {
1856
+ "seasons_one": "",
1857
+ "seasons_other": "",
1858
+ "episodes_one": "",
1859
+ "episodes_other": ""
1860
+ },
1861
+ "availability": {
1862
+ "added": "",
1863
+ "addedRemoved": "",
1864
+ "replaced": ""
1865
+ },
1866
+ "removedEverywhere": {
1867
+ "caption": ""
1868
+ },
1869
+ "actions": {
1870
+ "fullHistory": "",
1871
+ "openOnServer": ""
1872
+ }
1873
+ },
1874
+ "kpis": {
1875
+ "ariaLabel": "",
1876
+ "loadError": "",
1877
+ "completionLoadError": "",
1878
+ "plays": {
1879
+ "label": "",
1880
+ "caption": ""
1881
+ },
1882
+ "watchTime": {
1883
+ "label": "",
1884
+ "detail": ""
1885
+ },
1886
+ "viewers": {
1887
+ "label": "",
1888
+ "detail": ""
1889
+ },
1890
+ "completion": {
1891
+ "label": "",
1892
+ "detail": "",
1893
+ "detailMovie": ""
1894
+ }
1895
+ },
1896
+ "watchers": {
1897
+ "title": "",
1898
+ "loadError": "",
1899
+ "empty": "",
1900
+ "lastWatchedAgo": "",
1901
+ "completionLabel": "",
1902
+ "columns": {
1903
+ "user": "",
1904
+ "plays": "",
1905
+ "episodes": "",
1906
+ "completion": "",
1907
+ "lastWatched": ""
1908
+ }
1909
+ },
1910
+ "seasons": {
1911
+ "title": "",
1912
+ "loadError": "",
1913
+ "empty": "",
1914
+ "episodeCount_one": "",
1915
+ "episodeCount_other": "",
1916
+ "watchedPct": "",
1917
+ "stripSummary": "",
1918
+ "episodeLabel": {
1919
+ "watched": "",
1920
+ "partial": "",
1921
+ "unwatched": ""
1922
+ }
1923
+ },
1924
+ "platforms": {
1925
+ "title": "",
1926
+ "loadError": "",
1927
+ "empty": "",
1928
+ "unknown": "",
1929
+ "columns": {
1930
+ "platform": "",
1931
+ "plays": "",
1932
+ "watchTime": ""
1933
+ }
1934
+ },
1935
+ "history": {
1936
+ "title": "",
1937
+ "loadError": "",
1938
+ "empty": "",
1939
+ "watched": "",
1940
+ "notWatched": "",
1941
+ "columns": {
1942
+ "date": "",
1943
+ "user": "",
1944
+ "content": "",
1945
+ "server": "",
1946
+ "duration": ""
1947
+ }
1948
+ },
1949
+ "copies": {
1950
+ "title": "",
1951
+ "loadError": "",
1952
+ "unknownLibrary": "",
1953
+ "columns": {
1954
+ "server": "",
1955
+ "library": "",
1956
+ "quality": "",
1957
+ "episodes": "",
1958
+ "size": "",
1959
+ "added": ""
1960
+ },
1961
+ "versionLabel": ""
1962
+ }
1963
+ },
1964
+ "posterCard": {
1965
+ "rankSuffix": ", {{rank}}위",
1966
+ "onServers": "{{servers}}에서 이용 가능",
1967
+ "addedLabel": "{{date}} 추가됨",
1968
+ "plays_one": "{{count}}회 재생",
1969
+ "plays_other": "{{count}}회 재생",
1970
+ "viewers_one": "시청자 {{count}}명",
1971
+ "viewers_other": "시청자 {{count}}명",
1972
+ "watchedState": {
1973
+ "watched": "시청함",
1974
+ "partial": "일부 시청함",
1975
+ "watchedByOthers": "",
1976
+ "watchedByYou": ""
1977
+ },
1978
+ "tileLabel": {
1979
+ "added": "추가됨",
1980
+ "plays": "재생",
1981
+ "viewers": "시청자",
1982
+ "resolution": ""
1983
+ },
1984
+ "rankChip": "",
1985
+ "playsCompact_one": "",
1986
+ "playsCompact_other": "",
1987
+ "versionsChip": "",
1988
+ "versions_one": "",
1989
+ "versions_other": "",
1990
+ "moreServers": ""
1991
+ },
1992
+ "grid": {
1993
+ "toolbar": {
1994
+ "ariaLabel": "",
1995
+ "typeLabel": "",
1996
+ "moviesToggle": "",
1997
+ "showsToggle": "",
1998
+ "searchPlaceholder": "",
1999
+ "searchLabel": "",
2000
+ "removeFilter": "",
2001
+ "filtersLabel": "",
2002
+ "filtersSheetTitle": "",
2003
+ "done": "",
2004
+ "watchedLabel": "",
2005
+ "watched": {
2006
+ "all": "",
2007
+ "watched": "",
2008
+ "partial": "",
2009
+ "unwatched": ""
2010
+ },
2011
+ "unwatchedByLens": "",
2012
+ "resolutionLabel": "",
2013
+ "resolutionAll": "",
2014
+ "hdrLabel": "",
2015
+ "hdrAll": "",
2016
+ "hdrOnly": "",
2017
+ "hdrChip": "",
2018
+ "genreLabel": "",
2019
+ "genreAll": "",
2020
+ "serverLabel": "",
2021
+ "serverAll": "",
2022
+ "libraryLabel": "",
2023
+ "libraryAll": "",
2024
+ "yearFromLabel": "",
2025
+ "yearToLabel": "",
2026
+ "sizeGbMinLabel": "",
2027
+ "sizeGbMaxLabel": "",
2028
+ "sizeChipAtLeast": "",
2029
+ "sizeChipAtMost": "",
2030
+ "sizeChipRange": "",
2031
+ "sortLabel": "",
2032
+ "sort": {
2033
+ "title": "",
2034
+ "added": "",
2035
+ "year": "",
2036
+ "plays": "",
2037
+ "watch_time": "",
2038
+ "viewers": ""
2039
+ },
2040
+ "count": "",
2041
+ "countTotal_one": "",
2042
+ "countTotal_other": ""
2043
+ },
2044
+ "scrubber": {
2045
+ "label": "",
2046
+ "current": ""
2047
+ },
2048
+ "loaderError": "",
2049
+ "retry": "",
2050
+ "clearJumpAction": "",
2051
+ "showingFrom": "",
2052
+ "showAll": "",
2053
+ "emptyFilter": "",
2054
+ "emptySearch": "",
2055
+ "emptyAnchored": "",
2056
+ "loadError": ""
2057
+ }
984
2058
  }
985
2059
  }