@tracearr/translations 2.6.1 → 2.6.3

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 (176) hide show
  1. package/dist/config.d.ts +14 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +14 -0
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/mobile.json +8 -1
  6. package/dist/locales/af-ZA/pages.json +15 -1
  7. package/dist/locales/ar-SA/mobile.json +8 -1
  8. package/dist/locales/ar-SA/pages.json +23 -1
  9. package/dist/locales/ar-SA/settings.json +1 -1
  10. package/dist/locales/ca-ES/mobile.json +8 -1
  11. package/dist/locales/ca-ES/pages.json +15 -1
  12. package/dist/locales/ca-ES/settings.json +1 -1
  13. package/dist/locales/cs-CZ/mobile.json +8 -1
  14. package/dist/locales/cs-CZ/pages.json +19 -1
  15. package/dist/locales/cs-CZ/settings.json +1 -1
  16. package/dist/locales/da-DK/mobile.json +8 -1
  17. package/dist/locales/da-DK/pages.json +15 -1
  18. package/dist/locales/da-DK/settings.json +1 -1
  19. package/dist/locales/de-DE/mobile.json +8 -1
  20. package/dist/locales/de-DE/pages.json +15 -1
  21. package/dist/locales/de-DE/settings.json +1 -1
  22. package/dist/locales/el-GR/mobile.json +8 -1
  23. package/dist/locales/el-GR/pages.json +15 -1
  24. package/dist/locales/el-GR/settings.json +1 -1
  25. package/dist/locales/en/mobile.json +8 -1
  26. package/dist/locales/en/settings.json +1 -1
  27. package/dist/locales/es-ES/mobile.json +8 -1
  28. package/dist/locales/es-ES/pages.json +15 -1
  29. package/dist/locales/es-ES/settings.json +1 -1
  30. package/dist/locales/fi-FI/mobile.json +8 -1
  31. package/dist/locales/fi-FI/pages.json +814 -800
  32. package/dist/locales/fi-FI/settings.json +168 -168
  33. package/dist/locales/fr-FR/mobile.json +8 -1
  34. package/dist/locales/fr-FR/pages.json +15 -1
  35. package/dist/locales/fr-FR/settings.json +1 -1
  36. package/dist/locales/he-IL/mobile.json +8 -1
  37. package/dist/locales/he-IL/pages.json +17 -1
  38. package/dist/locales/hu-HU/mobile.json +8 -1
  39. package/dist/locales/hu-HU/pages.json +15 -1
  40. package/dist/locales/it-IT/mobile.json +8 -1
  41. package/dist/locales/it-IT/pages.json +15 -1
  42. package/dist/locales/it-IT/settings.json +1 -1
  43. package/dist/locales/ja-JP/mobile.json +8 -1
  44. package/dist/locales/ja-JP/pages.json +13 -1
  45. package/dist/locales/ja-JP/settings.json +1 -1
  46. package/dist/locales/ko-KR/mobile.json +8 -1
  47. package/dist/locales/ko-KR/pages.json +13 -1
  48. package/dist/locales/ko-KR/settings.json +1 -1
  49. package/dist/locales/nl-NL/mobile.json +8 -1
  50. package/dist/locales/nl-NL/notifications.json +1 -1
  51. package/dist/locales/nl-NL/pages.json +15 -1
  52. package/dist/locales/nl-NL/settings.json +1 -1
  53. package/dist/locales/no-NO/mobile.json +8 -1
  54. package/dist/locales/no-NO/pages.json +15 -1
  55. package/dist/locales/no-NO/settings.json +1 -1
  56. package/dist/locales/pl-PL/mobile.json +8 -1
  57. package/dist/locales/pl-PL/pages.json +21 -3
  58. package/dist/locales/pl-PL/settings.json +1 -1
  59. package/dist/locales/pt-BR/mobile.json +8 -1
  60. package/dist/locales/pt-BR/pages.json +15 -1
  61. package/dist/locales/pt-BR/settings.json +1 -1
  62. package/dist/locales/pt-PT/mobile.json +8 -1
  63. package/dist/locales/pt-PT/pages.json +15 -1
  64. package/dist/locales/pt-PT/settings.json +1 -1
  65. package/dist/locales/ro-RO/mobile.json +8 -1
  66. package/dist/locales/ro-RO/pages.json +17 -1
  67. package/dist/locales/ro-RO/settings.json +1 -1
  68. package/dist/locales/ru-RU/mobile.json +8 -1
  69. package/dist/locales/ru-RU/pages.json +19 -1
  70. package/dist/locales/ru-RU/settings.json +1 -1
  71. package/dist/locales/sr-SP/mobile.json +8 -1
  72. package/dist/locales/sr-SP/pages.json +17 -1
  73. package/dist/locales/sv-SE/mobile.json +8 -1
  74. package/dist/locales/sv-SE/pages.json +15 -1
  75. package/dist/locales/sv-SE/settings.json +1 -1
  76. package/dist/locales/tr-TR/mobile.json +8 -1
  77. package/dist/locales/tr-TR/pages.json +15 -1
  78. package/dist/locales/uk-UA/mobile.json +8 -1
  79. package/dist/locales/uk-UA/pages.json +19 -1
  80. package/dist/locales/uk-UA/settings.json +1 -1
  81. package/dist/locales/vi-VN/mobile.json +8 -1
  82. package/dist/locales/vi-VN/pages.json +13 -1
  83. package/dist/locales/zh-CN/mobile.json +8 -1
  84. package/dist/locales/zh-CN/pages.json +13 -1
  85. package/dist/locales/zh-CN/settings.json +1 -1
  86. package/dist/locales/zh-TW/mobile.json +8 -1
  87. package/dist/locales/zh-TW/pages.json +13 -1
  88. package/dist/plurals.d.ts +0 -6
  89. package/dist/plurals.d.ts.map +1 -1
  90. package/dist/plurals.js +11 -1
  91. package/dist/plurals.js.map +1 -1
  92. package/package.json +1 -1
  93. package/src/locales/af-ZA/mobile.json +8 -1
  94. package/src/locales/af-ZA/pages.json +15 -1
  95. package/src/locales/ar-SA/mobile.json +8 -1
  96. package/src/locales/ar-SA/pages.json +23 -1
  97. package/src/locales/ar-SA/settings.json +1 -1
  98. package/src/locales/ca-ES/mobile.json +8 -1
  99. package/src/locales/ca-ES/pages.json +15 -1
  100. package/src/locales/ca-ES/settings.json +1 -1
  101. package/src/locales/cs-CZ/mobile.json +8 -1
  102. package/src/locales/cs-CZ/pages.json +19 -1
  103. package/src/locales/cs-CZ/settings.json +1 -1
  104. package/src/locales/da-DK/mobile.json +8 -1
  105. package/src/locales/da-DK/pages.json +15 -1
  106. package/src/locales/da-DK/settings.json +1 -1
  107. package/src/locales/de-DE/mobile.json +8 -1
  108. package/src/locales/de-DE/pages.json +15 -1
  109. package/src/locales/de-DE/settings.json +1 -1
  110. package/src/locales/el-GR/mobile.json +8 -1
  111. package/src/locales/el-GR/pages.json +15 -1
  112. package/src/locales/el-GR/settings.json +1 -1
  113. package/src/locales/en/mobile.json +8 -1
  114. package/src/locales/en/settings.json +1 -1
  115. package/src/locales/es-ES/mobile.json +8 -1
  116. package/src/locales/es-ES/pages.json +15 -1
  117. package/src/locales/es-ES/settings.json +1 -1
  118. package/src/locales/fi-FI/mobile.json +8 -1
  119. package/src/locales/fi-FI/pages.json +814 -800
  120. package/src/locales/fi-FI/settings.json +168 -168
  121. package/src/locales/fr-FR/mobile.json +8 -1
  122. package/src/locales/fr-FR/pages.json +15 -1
  123. package/src/locales/fr-FR/settings.json +1 -1
  124. package/src/locales/he-IL/mobile.json +8 -1
  125. package/src/locales/he-IL/pages.json +17 -1
  126. package/src/locales/hu-HU/mobile.json +8 -1
  127. package/src/locales/hu-HU/pages.json +15 -1
  128. package/src/locales/it-IT/mobile.json +8 -1
  129. package/src/locales/it-IT/pages.json +15 -1
  130. package/src/locales/it-IT/settings.json +1 -1
  131. package/src/locales/ja-JP/mobile.json +8 -1
  132. package/src/locales/ja-JP/pages.json +13 -1
  133. package/src/locales/ja-JP/settings.json +1 -1
  134. package/src/locales/ko-KR/mobile.json +8 -1
  135. package/src/locales/ko-KR/pages.json +13 -1
  136. package/src/locales/ko-KR/settings.json +1 -1
  137. package/src/locales/nl-NL/mobile.json +8 -1
  138. package/src/locales/nl-NL/notifications.json +1 -1
  139. package/src/locales/nl-NL/pages.json +15 -1
  140. package/src/locales/nl-NL/settings.json +1 -1
  141. package/src/locales/no-NO/mobile.json +8 -1
  142. package/src/locales/no-NO/pages.json +15 -1
  143. package/src/locales/no-NO/settings.json +1 -1
  144. package/src/locales/pl-PL/mobile.json +8 -1
  145. package/src/locales/pl-PL/pages.json +21 -3
  146. package/src/locales/pl-PL/settings.json +1 -1
  147. package/src/locales/pt-BR/mobile.json +8 -1
  148. package/src/locales/pt-BR/pages.json +15 -1
  149. package/src/locales/pt-BR/settings.json +1 -1
  150. package/src/locales/pt-PT/mobile.json +8 -1
  151. package/src/locales/pt-PT/pages.json +15 -1
  152. package/src/locales/pt-PT/settings.json +1 -1
  153. package/src/locales/ro-RO/mobile.json +8 -1
  154. package/src/locales/ro-RO/pages.json +17 -1
  155. package/src/locales/ro-RO/settings.json +1 -1
  156. package/src/locales/ru-RU/mobile.json +8 -1
  157. package/src/locales/ru-RU/pages.json +19 -1
  158. package/src/locales/ru-RU/settings.json +1 -1
  159. package/src/locales/sr-SP/mobile.json +8 -1
  160. package/src/locales/sr-SP/pages.json +17 -1
  161. package/src/locales/sv-SE/mobile.json +8 -1
  162. package/src/locales/sv-SE/pages.json +15 -1
  163. package/src/locales/sv-SE/settings.json +1 -1
  164. package/src/locales/tr-TR/mobile.json +8 -1
  165. package/src/locales/tr-TR/pages.json +15 -1
  166. package/src/locales/uk-UA/mobile.json +8 -1
  167. package/src/locales/uk-UA/pages.json +19 -1
  168. package/src/locales/uk-UA/settings.json +1 -1
  169. package/src/locales/vi-VN/mobile.json +8 -1
  170. package/src/locales/vi-VN/pages.json +13 -1
  171. package/src/locales/zh-CN/mobile.json +8 -1
  172. package/src/locales/zh-CN/pages.json +13 -1
  173. package/src/locales/zh-CN/settings.json +1 -1
  174. package/src/locales/zh-TW/mobile.json +8 -1
  175. package/src/locales/zh-TW/pages.json +13 -1
  176. package/src/plurals.ts +11 -1
@@ -180,7 +180,13 @@
180
180
  "qualityEvolution": "",
181
181
  "all": "",
182
182
  "failedToLoad": "",
183
- "failedToLoadDesc": ""
183
+ "failedToLoadDesc": "",
184
+ "codecBrowse": {
185
+ "movies": "",
186
+ "shows": "",
187
+ "movieCount_other": "",
188
+ "episodeCount_other": ""
189
+ }
184
190
  },
185
191
  "storage": {
186
192
  "title": "",
@@ -2248,10 +2254,16 @@
2248
2254
  "unwatchedByLens": "",
2249
2255
  "resolutionLabel": "",
2250
2256
  "resolutionAll": "",
2257
+ "videoCodecLabel": "",
2258
+ "videoCodecAll": "",
2251
2259
  "hdrLabel": "",
2252
2260
  "hdrAll": "",
2253
2261
  "hdrOnly": "",
2254
2262
  "hdrChip": "",
2263
+ "audioCodecLabel": "",
2264
+ "audioCodecAll": "",
2265
+ "audioChannelsLabel": "",
2266
+ "audioChannelsAll": "",
2255
2267
  "atmosLabel": "",
2256
2268
  "atmosAll": "",
2257
2269
  "atmosOnly": "",
package/dist/plurals.d.ts CHANGED
@@ -1,10 +1,4 @@
1
1
  type Bundle = Record<string, unknown>;
2
- /**
3
- * Crowdin exports only `_one` and `_other` for every language, but i18next looks
4
- * up the language's own categories (`_few`, `_many`, ...) and falls back to English
5
- * when one is missing. Filling the gaps from `_other` keeps the text in the user's
6
- * language, even where `_other` is not the grammatically right form for that count.
7
- */
8
2
  export declare function withPluralFallbacks(lang: string, bundle: Bundle): Bundle;
9
3
  export {};
10
4
  //# sourceMappingURL=plurals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plurals.d.ts","sourceRoot":"","sources":["../src/plurals.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBxE"}
1
+ {"version":3,"file":"plurals.d.ts","sourceRoot":"","sources":["../src/plurals.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAkBtC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBxE"}
package/dist/plurals.js CHANGED
@@ -4,8 +4,18 @@
4
4
  * when one is missing. Filling the gaps from `_other` keeps the text in the user's
5
5
  * language, even where `_other` is not the grammatically right form for that count.
6
6
  */
7
+ // Hermes, the mobile app's engine, has no Intl.PluralRules. i18next then selects
8
+ // only `one` and `other` there, so those are the only categories worth filling.
9
+ function pluralCategories(lang) {
10
+ try {
11
+ return new Intl.PluralRules(lang).resolvedOptions().pluralCategories;
12
+ }
13
+ catch {
14
+ return ['one', 'other'];
15
+ }
16
+ }
7
17
  export function withPluralFallbacks(lang, bundle) {
8
- const categories = new Intl.PluralRules(lang).resolvedOptions().pluralCategories;
18
+ const categories = pluralCategories(lang);
9
19
  const fill = (node) => {
10
20
  const out = {};
11
21
  for (const [key, value] of Object.entries(node)) {
@@ -1 +1 @@
1
- {"version":3,"file":"plurals.js","sourceRoot":"","sources":["../src/plurals.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc;IAC9D,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC;IAEjF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;QACpC,MAAM,GAAG,GAAW,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,GAAG,CAAC;gBACN,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAClE,CAAC,CAAC,IAAI,CAAC,KAAe,CAAC;oBACvB,CAAC,CAAC,KAAK,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;gBAAE,SAAS;YACnF,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACrC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;oBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"plurals.js","sourceRoot":"","sources":["../src/plurals.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,iFAAiF;AACjF,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc;IAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;QACpC,MAAM,GAAG,GAAW,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,GAAG,CAAC;gBACN,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAClE,CAAC,CAAC,IAAI,CAAC,KAAe,CAAC;oBACvB,CAAC,CAAC,KAAK,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;gBAAE,SAAS;YACnF,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACrC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;oBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracearr/translations",
3
- "version": "2.6.1",
3
+ "version": "2.6.3",
4
4
  "description": "Shared i18n resources and helpers for Tracearr apps",
5
5
  "license": "AGPL-3.0-only",
6
6
  "author": "Connor Gallopo",
@@ -176,8 +176,15 @@
176
176
  "unauthenticated": {
177
177
  "connectionLost": "",
178
178
  "accessRevoked": "",
179
+ "deviceRemoved": "",
180
+ "expired": "",
179
181
  "scanQrCode": ""
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "",
185
+ "body": "",
186
+ "update": ""
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "",
183
190
  "selectServers": "",
@@ -258,4 +265,4 @@
258
265
  "transcodes_one": "",
259
266
  "transcodes_other": ""
260
267
  }
261
- }
268
+ }
@@ -187,7 +187,15 @@
187
187
  "qualityEvolution": "",
188
188
  "all": "",
189
189
  "failedToLoad": "",
190
- "failedToLoadDesc": ""
190
+ "failedToLoadDesc": "",
191
+ "codecBrowse": {
192
+ "movies": "",
193
+ "shows": "",
194
+ "movieCount_one": "",
195
+ "movieCount_other": "",
196
+ "episodeCount_one": "",
197
+ "episodeCount_other": ""
198
+ }
191
199
  },
192
200
  "storage": {
193
201
  "title": "",
@@ -2288,10 +2296,16 @@
2288
2296
  "unwatchedByLens": "",
2289
2297
  "resolutionLabel": "",
2290
2298
  "resolutionAll": "",
2299
+ "videoCodecLabel": "",
2300
+ "videoCodecAll": "",
2291
2301
  "hdrLabel": "",
2292
2302
  "hdrAll": "",
2293
2303
  "hdrOnly": "",
2294
2304
  "hdrChip": "",
2305
+ "audioCodecLabel": "",
2306
+ "audioCodecAll": "",
2307
+ "audioChannelsLabel": "",
2308
+ "audioChannelsAll": "",
2295
2309
  "atmosLabel": "",
2296
2310
  "atmosAll": "",
2297
2311
  "atmosOnly": "",
@@ -196,8 +196,15 @@
196
196
  "unauthenticated": {
197
197
  "connectionLost": "",
198
198
  "accessRevoked": "",
199
+ "deviceRemoved": "",
200
+ "expired": "",
199
201
  "scanQrCode": ""
200
202
  },
203
+ "clientTooOld": {
204
+ "title": "",
205
+ "body": "",
206
+ "update": ""
207
+ },
201
208
  "serverSelector": {
202
209
  "servers": "",
203
210
  "selectServers": "",
@@ -298,4 +305,4 @@
298
305
  "transcodes_many": "",
299
306
  "transcodes_other": ""
300
307
  }
301
- }
308
+ }
@@ -215,7 +215,23 @@
215
215
  "qualityEvolution": "تطور الجودة",
216
216
  "all": "الكل",
217
217
  "failedToLoad": "فشل تحميل بيانات الجودة",
218
- "failedToLoadDesc": "تعذر جلب بيانات الجودة. الرجاء المحاولة مرة أخرى."
218
+ "failedToLoadDesc": "تعذر جلب بيانات الجودة. الرجاء المحاولة مرة أخرى.",
219
+ "codecBrowse": {
220
+ "movies": "",
221
+ "shows": "",
222
+ "movieCount_zero": "",
223
+ "movieCount_one": "",
224
+ "movieCount_two": "",
225
+ "movieCount_few": "",
226
+ "movieCount_many": "",
227
+ "movieCount_other": "",
228
+ "episodeCount_zero": "",
229
+ "episodeCount_one": "",
230
+ "episodeCount_two": "",
231
+ "episodeCount_few": "",
232
+ "episodeCount_many": "",
233
+ "episodeCount_other": ""
234
+ }
219
235
  },
220
236
  "storage": {
221
237
  "title": "التخزين",
@@ -2448,10 +2464,16 @@
2448
2464
  "unwatchedByLens": "",
2449
2465
  "resolutionLabel": "",
2450
2466
  "resolutionAll": "",
2467
+ "videoCodecLabel": "",
2468
+ "videoCodecAll": "",
2451
2469
  "hdrLabel": "",
2452
2470
  "hdrAll": "",
2453
2471
  "hdrOnly": "",
2454
2472
  "hdrChip": "",
2473
+ "audioCodecLabel": "",
2474
+ "audioCodecAll": "",
2475
+ "audioChannelsLabel": "",
2476
+ "audioChannelsAll": "",
2455
2477
  "atmosLabel": "",
2456
2478
  "atmosAll": "",
2457
2479
  "atmosOnly": "",
@@ -275,7 +275,7 @@
275
275
  "expiresIn": "تنتهي الصلاحية في {{time}}",
276
276
  "oneTimePairToken": "رمز اقتران لمرة واحدة",
277
277
  "copyToken": "نسخ الرمز المميز",
278
- "tokenExpiryNote": "تنتهي صلاحية هذا الرمز المميز في 5 دقائق ولا يمكن استخدامه إلا لمرة واحدة.",
278
+ "tokenExpiryNote": "",
279
279
  "done": "تم",
280
280
  "disableMobileAccessConfirm": "سيؤدي هذا إلى قطع الاتصال بجميع الأجهزة المحمولة وإلغاء جميع الجلسات. يمكنك إعادة تمكين الوصول إلى الهاتف في وقت لاحق.",
281
281
  "disable": "تعطيل",
@@ -175,9 +175,16 @@
175
175
  },
176
176
  "unauthenticated": {
177
177
  "connectionLost": "S'ha perdut la connexió",
178
- "accessRevoked": "S'ha revocat el vostre accés a {{serverName}}. Demaneu un codi d'aparellament nou al propietari del servidor.",
178
+ "accessRevoked": "{{serverName}} ja no accepta aquest dispositiu. Torneu-lo a aparellar amb un codi nou des de l'aplicació web.",
179
+ "deviceRemoved": "Aquest dispositiu s'ha eliminat de {{serverName}}. Torneu-lo a aparellar amb un codi nou des de l'aplicació web.",
180
+ "expired": "{{serverName}} ha tancat la sessió d'aquest dispositiu després de 30 dies sense ús. Torneu-lo a aparellar amb un codi nou des de l'aplicació web.",
179
181
  "scanQrCode": "Escaneja el codi QR"
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "Actualitza Tracearr",
185
+ "body": "{{serverName}} necessita una versió més recent de l'aplicació Tracearr.",
186
+ "update": "Actualitza"
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "Servidors",
183
190
  "selectServers": "Selecciona els servidors",
@@ -187,7 +187,15 @@
187
187
  "qualityEvolution": "Evolució de la qualitat",
188
188
  "all": "Tot",
189
189
  "failedToLoad": "No s'han pogut carregar les dades de qualitat",
190
- "failedToLoadDesc": "No s'han pogut obtenir les dades de qualitat. Torneu-ho a provar."
190
+ "failedToLoadDesc": "No s'han pogut obtenir les dades de qualitat. Torneu-ho a provar.",
191
+ "codecBrowse": {
192
+ "movies": "Explora les pel·lícules",
193
+ "shows": "Explora les sèries",
194
+ "movieCount_one": "{{count}} pel·lícula",
195
+ "movieCount_other": "{{count}} pel·lícules",
196
+ "episodeCount_one": "{{count}} episodi",
197
+ "episodeCount_other": "{{count}} episodis"
198
+ }
191
199
  },
192
200
  "storage": {
193
201
  "title": "Emmagatzematge",
@@ -2288,10 +2296,16 @@
2288
2296
  "unwatchedByLens": "Sense veure per {{name}}",
2289
2297
  "resolutionLabel": "Resolució",
2290
2298
  "resolutionAll": "Qualsevol resolució",
2299
+ "videoCodecLabel": "Còdec de vídeo",
2300
+ "videoCodecAll": "Qualsevol còdec de vídeo",
2291
2301
  "hdrLabel": "Interval dinàmic",
2292
2302
  "hdrAll": "Qualsevol",
2293
2303
  "hdrOnly": "Només HDR",
2294
2304
  "hdrChip": "HDR",
2305
+ "audioCodecLabel": "Còdec d'àudio",
2306
+ "audioCodecAll": "Qualsevol còdec d'àudio",
2307
+ "audioChannelsLabel": "Canals d'àudio",
2308
+ "audioChannelsAll": "Qualsevol configuració de canals",
2295
2309
  "atmosLabel": "Àudio",
2296
2310
  "atmosAll": "Qualsevol",
2297
2311
  "atmosOnly": "Només Dolby Atmos",
@@ -271,7 +271,7 @@
271
271
  "expiresIn": "Caduca d'aquí a {{time}}",
272
272
  "oneTimePairToken": "Testimoni d'aparellament d'un sol ús",
273
273
  "copyToken": "Copia el testimoni",
274
- "tokenExpiryNote": "Aquest testimoni caduca al cap de 5 minuts i només es pot fer servir una vegada.",
274
+ "tokenExpiryNote": "Aquest testimoni caduca en 15 minuts i només es pot fer servir una vegada.",
275
275
  "done": "Fet",
276
276
  "disableMobileAccessConfirm": "Això desconnectarà tots els dispositius mòbils i revocarà totes les sessions. Podeu tornar a habilitar l'accés mòbil més endavant.",
277
277
  "disable": "Deshabilita",
@@ -186,8 +186,15 @@
186
186
  "unauthenticated": {
187
187
  "connectionLost": "",
188
188
  "accessRevoked": "",
189
+ "deviceRemoved": "",
190
+ "expired": "",
189
191
  "scanQrCode": ""
190
192
  },
193
+ "clientTooOld": {
194
+ "title": "",
195
+ "body": "",
196
+ "update": ""
197
+ },
191
198
  "serverSelector": {
192
199
  "servers": "",
193
200
  "selectServers": "",
@@ -278,4 +285,4 @@
278
285
  "transcodes_many": "",
279
286
  "transcodes_other": ""
280
287
  }
281
- }
288
+ }
@@ -201,7 +201,19 @@
201
201
  "qualityEvolution": "Vývoj kvality",
202
202
  "all": "Vše",
203
203
  "failedToLoad": "Nepodařilo se načíst kvalitní data",
204
- "failedToLoadDesc": "Nelze načíst kvalitní data. Zkuste to prosím znovu."
204
+ "failedToLoadDesc": "Nelze načíst kvalitní data. Zkuste to prosím znovu.",
205
+ "codecBrowse": {
206
+ "movies": "",
207
+ "shows": "",
208
+ "movieCount_one": "",
209
+ "movieCount_few": "",
210
+ "movieCount_many": "",
211
+ "movieCount_other": "",
212
+ "episodeCount_one": "",
213
+ "episodeCount_few": "",
214
+ "episodeCount_many": "",
215
+ "episodeCount_other": ""
216
+ }
205
217
  },
206
218
  "storage": {
207
219
  "title": "Úložiště",
@@ -2368,10 +2380,16 @@
2368
2380
  "unwatchedByLens": "",
2369
2381
  "resolutionLabel": "",
2370
2382
  "resolutionAll": "",
2383
+ "videoCodecLabel": "",
2384
+ "videoCodecAll": "",
2371
2385
  "hdrLabel": "",
2372
2386
  "hdrAll": "",
2373
2387
  "hdrOnly": "",
2374
2388
  "hdrChip": "",
2389
+ "audioCodecLabel": "",
2390
+ "audioCodecAll": "",
2391
+ "audioChannelsLabel": "",
2392
+ "audioChannelsAll": "",
2375
2393
  "atmosLabel": "",
2376
2394
  "atmosAll": "",
2377
2395
  "atmosOnly": "",
@@ -273,7 +273,7 @@
273
273
  "expiresIn": "Vyprší za {{time}}",
274
274
  "oneTimePairToken": "Jednorázový párovací token",
275
275
  "copyToken": "Kopírovat token",
276
- "tokenExpiryNote": "Tento token vyprší za 5 minut a může být použit pouze jednou.",
276
+ "tokenExpiryNote": "",
277
277
  "done": "Hotovo",
278
278
  "disableMobileAccessConfirm": "Toto odpojí všechna mobilní zařízení a zruší všechny relace. Mobilní přístup můžete znovu aktivovat později.",
279
279
  "disable": "Zakázat",
@@ -176,8 +176,15 @@
176
176
  "unauthenticated": {
177
177
  "connectionLost": "",
178
178
  "accessRevoked": "",
179
+ "deviceRemoved": "",
180
+ "expired": "",
179
181
  "scanQrCode": ""
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "",
185
+ "body": "",
186
+ "update": ""
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "",
183
190
  "selectServers": "",
@@ -258,4 +265,4 @@
258
265
  "transcodes_one": "",
259
266
  "transcodes_other": ""
260
267
  }
261
- }
268
+ }
@@ -187,7 +187,15 @@
187
187
  "qualityEvolution": "Kvalitetsevolution",
188
188
  "all": "Alle",
189
189
  "failedToLoad": "Kunne ikke indlæse kvalitetsdata",
190
- "failedToLoadDesc": "Kunne ikke hente kvalitetsdata. Prøv venligst igen."
190
+ "failedToLoadDesc": "Kunne ikke hente kvalitetsdata. Prøv venligst igen.",
191
+ "codecBrowse": {
192
+ "movies": "",
193
+ "shows": "",
194
+ "movieCount_one": "",
195
+ "movieCount_other": "",
196
+ "episodeCount_one": "",
197
+ "episodeCount_other": ""
198
+ }
191
199
  },
192
200
  "storage": {
193
201
  "title": "Lagerplads",
@@ -2288,10 +2296,16 @@
2288
2296
  "unwatchedByLens": "",
2289
2297
  "resolutionLabel": "",
2290
2298
  "resolutionAll": "",
2299
+ "videoCodecLabel": "",
2300
+ "videoCodecAll": "",
2291
2301
  "hdrLabel": "",
2292
2302
  "hdrAll": "",
2293
2303
  "hdrOnly": "",
2294
2304
  "hdrChip": "",
2305
+ "audioCodecLabel": "",
2306
+ "audioCodecAll": "",
2307
+ "audioChannelsLabel": "",
2308
+ "audioChannelsAll": "",
2295
2309
  "atmosLabel": "",
2296
2310
  "atmosAll": "",
2297
2311
  "atmosOnly": "",
@@ -271,7 +271,7 @@
271
271
  "expiresIn": "Udløber i {{time}}",
272
272
  "oneTimePairToken": "Engangsparringstoken",
273
273
  "copyToken": "Kopiér token",
274
- "tokenExpiryNote": "Dette token udløber om 5 minutter og kan kun bruges én gang.",
274
+ "tokenExpiryNote": "",
275
275
  "done": "Udført",
276
276
  "disableMobileAccessConfirm": "Dette vil afbryde alle mobile enheder og tilbagekalde alle sessioner. Du kan genaktivere mobil adgang senere.",
277
277
  "disable": "Deaktivér",
@@ -176,8 +176,15 @@
176
176
  "unauthenticated": {
177
177
  "connectionLost": "Verbindung abgebrochen",
178
178
  "accessRevoked": "Ihr Zugriff auf {{serverName}} wurde widerrufen. Fragen Sie den Serverbesitzer nach einem neuen Kopplungscode.",
179
+ "deviceRemoved": "",
180
+ "expired": "",
179
181
  "scanQrCode": "QR-Code scannen"
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "",
185
+ "body": "",
186
+ "update": ""
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "Server",
183
190
  "selectServers": "Server auswählen",
@@ -258,4 +265,4 @@
258
265
  "transcodes_one": "",
259
266
  "transcodes_other": ""
260
267
  }
261
- }
268
+ }
@@ -187,7 +187,15 @@
187
187
  "qualityEvolution": "Hochwertige Entwicklung",
188
188
  "all": "Alle",
189
189
  "failedToLoad": "Fehler beim Laden der Qualitätsdaten",
190
- "failedToLoadDesc": "Qualitätsdaten konnten nicht abgerufen werden. Bitte versuchen Sie es erneut."
190
+ "failedToLoadDesc": "Qualitätsdaten konnten nicht abgerufen werden. Bitte versuchen Sie es erneut.",
191
+ "codecBrowse": {
192
+ "movies": "",
193
+ "shows": "",
194
+ "movieCount_one": "",
195
+ "movieCount_other": "",
196
+ "episodeCount_one": "",
197
+ "episodeCount_other": ""
198
+ }
191
199
  },
192
200
  "storage": {
193
201
  "title": "Speicher",
@@ -2288,10 +2296,16 @@
2288
2296
  "unwatchedByLens": "",
2289
2297
  "resolutionLabel": "",
2290
2298
  "resolutionAll": "",
2299
+ "videoCodecLabel": "",
2300
+ "videoCodecAll": "",
2291
2301
  "hdrLabel": "",
2292
2302
  "hdrAll": "",
2293
2303
  "hdrOnly": "",
2294
2304
  "hdrChip": "",
2305
+ "audioCodecLabel": "",
2306
+ "audioCodecAll": "",
2307
+ "audioChannelsLabel": "",
2308
+ "audioChannelsAll": "",
2295
2309
  "atmosLabel": "",
2296
2310
  "atmosAll": "",
2297
2311
  "atmosOnly": "",
@@ -271,7 +271,7 @@
271
271
  "expiresIn": "Läuft ab in {{time}}",
272
272
  "oneTimePairToken": "Einmaliges Kopplungs-Token",
273
273
  "copyToken": "Token kopieren",
274
- "tokenExpiryNote": "Dieses Token läuft in 5 Minuten ab und kann nur einmal verwendet werden.",
274
+ "tokenExpiryNote": "",
275
275
  "done": "Fertig",
276
276
  "disableMobileAccessConfirm": "Dadurch werden alle mobilen Geräte getrennt und alle Sitzungen widerrufen. Sie können den mobilen Zugriff später wieder aktivieren.",
277
277
  "disable": "Deaktivieren",
@@ -176,8 +176,15 @@
176
176
  "unauthenticated": {
177
177
  "connectionLost": "",
178
178
  "accessRevoked": "",
179
+ "deviceRemoved": "",
180
+ "expired": "",
179
181
  "scanQrCode": ""
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "",
185
+ "body": "",
186
+ "update": ""
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "",
183
190
  "selectServers": "",
@@ -258,4 +265,4 @@
258
265
  "transcodes_one": "",
259
266
  "transcodes_other": ""
260
267
  }
261
- }
268
+ }
@@ -187,7 +187,15 @@
187
187
  "qualityEvolution": "Ποιοτική Εξέλιξη",
188
188
  "all": "Όλα",
189
189
  "failedToLoad": "Αποτυχία φόρτωσης ποιοτικών δεδομένων",
190
- "failedToLoadDesc": "Δεν ήταν δυνατή η λήψη δεδομένων ποιότητας. Παρακαλώ προσπαθήστε ξανά."
190
+ "failedToLoadDesc": "Δεν ήταν δυνατή η λήψη δεδομένων ποιότητας. Παρακαλώ προσπαθήστε ξανά.",
191
+ "codecBrowse": {
192
+ "movies": "",
193
+ "shows": "",
194
+ "movieCount_one": "",
195
+ "movieCount_other": "",
196
+ "episodeCount_one": "",
197
+ "episodeCount_other": ""
198
+ }
191
199
  },
192
200
  "storage": {
193
201
  "title": "Αποθήκευση",
@@ -2288,10 +2296,16 @@
2288
2296
  "unwatchedByLens": "",
2289
2297
  "resolutionLabel": "",
2290
2298
  "resolutionAll": "",
2299
+ "videoCodecLabel": "",
2300
+ "videoCodecAll": "",
2291
2301
  "hdrLabel": "",
2292
2302
  "hdrAll": "",
2293
2303
  "hdrOnly": "",
2294
2304
  "hdrChip": "",
2305
+ "audioCodecLabel": "",
2306
+ "audioCodecAll": "",
2307
+ "audioChannelsLabel": "",
2308
+ "audioChannelsAll": "",
2295
2309
  "atmosLabel": "",
2296
2310
  "atmosAll": "",
2297
2311
  "atmosOnly": "",
@@ -271,7 +271,7 @@
271
271
  "expiresIn": "",
272
272
  "oneTimePairToken": "Διακριτικό Σύζευξης Μιας Χρήσης",
273
273
  "copyToken": "Αντιγραφή διακριτικού",
274
- "tokenExpiryNote": "Αυτό το διακριτικό λήγει σε 5 λεπτά και μπορεί να χρησιμοποιηθεί μόνο μία φορά.",
274
+ "tokenExpiryNote": "",
275
275
  "done": "Ολοκληρώθηκε",
276
276
  "disableMobileAccessConfirm": "Αυτό θα αποσυνδέσει όλες τις κινητές συσκευές και θα ανακαλέσει όλες τις συνεδρίες. Μπορείτε να ενεργοποιήσετε ξανά την πρόσβαση στο κινητό αργότερα.",
277
277
  "disable": "Απενεργοποίηση",
@@ -175,9 +175,16 @@
175
175
  },
176
176
  "unauthenticated": {
177
177
  "connectionLost": "Connection Lost",
178
- "accessRevoked": "Your access to {{serverName}} was revoked. Ask the server owner for a new pairing code.",
178
+ "accessRevoked": "{{serverName}} no longer accepts this device. Pair it again with a new code from the web app.",
179
+ "deviceRemoved": "This device was removed from {{serverName}}. Pair it again with a new code from the web app.",
180
+ "expired": "{{serverName}} signed this device out after 30 days without use. Pair it again with a new code from the web app.",
179
181
  "scanQrCode": "Scan QR Code"
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "Update Tracearr",
185
+ "body": "{{serverName}} needs a newer version of the Tracearr app.",
186
+ "update": "Update"
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "Servers",
183
190
  "selectServers": "Select Servers",
@@ -273,7 +273,7 @@
273
273
  "expiresIn": "Expires in {{time}}",
274
274
  "oneTimePairToken": "One-Time Pair Token",
275
275
  "copyToken": "Copy token",
276
- "tokenExpiryNote": "This token expires in 5 minutes and can only be used once.",
276
+ "tokenExpiryNote": "This token expires in 15 minutes and can only be used once.",
277
277
  "done": "Done",
278
278
  "disableMobileAccessConfirm": "This will disconnect all mobile devices and revoke all sessions. You can re-enable mobile access later.",
279
279
  "disable": "Disable",
@@ -176,8 +176,15 @@
176
176
  "unauthenticated": {
177
177
  "connectionLost": "",
178
178
  "accessRevoked": "",
179
+ "deviceRemoved": "",
180
+ "expired": "",
179
181
  "scanQrCode": ""
180
182
  },
183
+ "clientTooOld": {
184
+ "title": "",
185
+ "body": "",
186
+ "update": ""
187
+ },
181
188
  "serverSelector": {
182
189
  "servers": "",
183
190
  "selectServers": "",
@@ -258,4 +265,4 @@
258
265
  "transcodes_one": "",
259
266
  "transcodes_other": ""
260
267
  }
261
- }
268
+ }
@@ -187,7 +187,15 @@
187
187
  "qualityEvolution": "Evolución de calidad",
188
188
  "all": "Todos",
189
189
  "failedToLoad": "Error al cargar datos de calidad",
190
- "failedToLoadDesc": "No se pudo obtener datos de calidad. Por favor, inténtelo de nuevo."
190
+ "failedToLoadDesc": "No se pudo obtener datos de calidad. Por favor, inténtelo de nuevo.",
191
+ "codecBrowse": {
192
+ "movies": "",
193
+ "shows": "",
194
+ "movieCount_one": "",
195
+ "movieCount_other": "",
196
+ "episodeCount_one": "",
197
+ "episodeCount_other": ""
198
+ }
191
199
  },
192
200
  "storage": {
193
201
  "title": "Almacenamiento",
@@ -2288,10 +2296,16 @@
2288
2296
  "unwatchedByLens": "",
2289
2297
  "resolutionLabel": "",
2290
2298
  "resolutionAll": "",
2299
+ "videoCodecLabel": "",
2300
+ "videoCodecAll": "",
2291
2301
  "hdrLabel": "",
2292
2302
  "hdrAll": "",
2293
2303
  "hdrOnly": "",
2294
2304
  "hdrChip": "",
2305
+ "audioCodecLabel": "",
2306
+ "audioCodecAll": "",
2307
+ "audioChannelsLabel": "",
2308
+ "audioChannelsAll": "",
2295
2309
  "atmosLabel": "",
2296
2310
  "atmosAll": "",
2297
2311
  "atmosOnly": "",