Compare commits
812 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a4e3d9bcdb | |||
| 11139bb658 | |||
| d6b07ccf56 | |||
| a487871ff0 | |||
| 96a3277365 | |||
| 556867d36e | |||
| f77ff2561d | |||
| e0a7d460be | |||
| 9646ce96ad | |||
| fd3fa98650 | |||
| 5b8366a32e | |||
| 37db83580d | |||
| 7120dacf5f | |||
| e1442dc82d | |||
| 3adfd8e6d1 | |||
| 860fe70471 | |||
| cb22f4a59c | |||
| f01638dc1d | |||
| 882bc707ce | |||
| b4d6ca715b | |||
| f7d154bf47 | |||
| cbc2a25f46 | |||
| 493d2627e0 | |||
| b28ae49255 | |||
| 1c40b411c9 | |||
| 7272d41f5c | |||
| cc21992f14 | |||
| 74b13eb5c8 | |||
| d3ab80350e | |||
| 3c1b1f72d4 | |||
| 7af4c2ab45 | |||
| 0a64e71cf8 | |||
| 18adf064f3 | |||
| bda39e787c | |||
| b48b79e6e7 | |||
| 2e71be3413 | |||
| 434a6c2cae | |||
| e9594e7992 | |||
| 03f8c7e152 | |||
| 492e777fa2 | |||
| 6a70c432db | |||
| 8a8977737f | |||
| b0b52f437f | |||
| cda8a8a3f3 | |||
| d09fbb090c | |||
| 3c1faf8259 | |||
| ce89532f3d | |||
| 4eb8c06706 | |||
| aed34e67a3 | |||
| a12cefe45a | |||
| 68c174c29b | |||
| 8eec1fe611 | |||
| 9e9fc14e2b | |||
| 57b7ee00a1 | |||
| 2c0b33f2e6 | |||
| 972794ddca | |||
| 5cfb2d901c | |||
| e6e49865da | |||
| 675ae26287 | |||
| c608806cfb | |||
| 6b5ccfe08b | |||
| cb755215b5 | |||
| a54f81de42 | |||
| 08a8349d22 | |||
| a3503a1985 | |||
| a45af5baee | |||
| 35d1623e8b | |||
| 44e4889913 | |||
| 6196396060 | |||
| 3efcd40cdc | |||
| d74ba720f1 | |||
| 2fef88c70e | |||
| 8776b036af | |||
| 5a9d2879e8 | |||
| 33632ee6b3 | |||
| 38f8103040 | |||
| 46db881278 | |||
| d6e611545e | |||
| da61b4e619 | |||
| 26699c1867 | |||
| 057f8a8ac9 | |||
| 4c8c0f8f62 | |||
| be5cc9c645 | |||
| b82b5e00cd | |||
| c4e742c201 | |||
| 65fb281a64 | |||
| 0f5ea88a27 | |||
| 6a7668c851 | |||
| 498067e2f2 | |||
| 0b28cd61e8 | |||
| a47f17e766 | |||
| 576a9ba325 | |||
| 60c410671a | |||
| 097eb709c3 | |||
| 17e96996bb | |||
| cfae1d9516 | |||
| c3a1a613ff | |||
| aec9dd0628 | |||
| c978d4689e | |||
| 431494da94 | |||
| a9cc281d27 | |||
| f73b1cd855 | |||
| 8e9eccd7c5 | |||
| 8dc7d89057 | |||
| 40a537b967 | |||
| 291cb0c254 | |||
| b42a944293 | |||
| 0e25184764 | |||
| 0c53679f2c | |||
| 8771ac2adc | |||
| c2e77f2520 | |||
| b32d07d2d6 | |||
| 78fb06fc63 | |||
| 198f3cb3af | |||
| f82e185ec2 | |||
| 127a538509 | |||
| 043e300f42 | |||
| 6e3d8852de | |||
| e2c2aa7a84 | |||
| 2a0de5f2ad | |||
| 214f0494c1 | |||
| 19f2a57c37 | |||
| 4d16fb8aaa | |||
| 922bcf30b4 | |||
| f31ade5754 | |||
| c8e4d8c359 | |||
| fc44dcba65 | |||
| b02311456f | |||
| 5462c8821e | |||
| 4afad63753 | |||
| 438611f4ca | |||
| 1fdf1f0247 | |||
| fb3675955b | |||
| 229e0a66ce | |||
| 5146900168 | |||
| 3741558ffb | |||
| 0821f1867e | |||
| 877879f335 | |||
| 7b658de727 | |||
| ef72ba642a | |||
| 229a149f00 | |||
| be2597fc85 | |||
| c8d888ee1a | |||
| 9033b1ef8f | |||
| 4a9f79c561 | |||
| 5721891e28 | |||
| cba001dc97 | |||
| 38ea360ee6 | |||
| 8096b3ec76 | |||
| 8844e7cec3 | |||
| 403995612c | |||
| 58656294df | |||
| 84ea7a26b6 | |||
| 82a19c0c8b | |||
| 15f8d83c8d | |||
| 196bdc04f5 | |||
| e6bdf56c6d | |||
| 7a85171cd3 | |||
| 38e0cc56d0 | |||
| a345a3ee7c | |||
| cb121a9442 | |||
| fd30709af9 | |||
| c73bde2cd9 | |||
| 3027331924 | |||
| 66bab1176b | |||
| 6c6d47333d | |||
| c9286c5419 | |||
| 39739dfb49 | |||
| 5d4f12f72f | |||
| 7b1defcb76 | |||
| f7f5f768fc | |||
| 9340f4635d | |||
| 5aacb34ef4 | |||
| 4ee3f472ec | |||
| 59b7b9aedb | |||
| e1f421831b | |||
| 4f42b3ffcf | |||
| a4192ef411 | |||
| 2744df6803 | |||
| c4ee9ba155 | |||
| 5e981e5a20 | |||
| 578e79edac | |||
| 07d94962c4 | |||
| 57cd955780 | |||
| 1b33b29847 | |||
| f523e34867 | |||
| 5de1b7c3fb | |||
| 2f4bca108b | |||
| bfb6d28a34 | |||
| 8c6f3b0aa8 | |||
| 6bb90c580d | |||
| 4bf2da1065 | |||
| e17b7f70fd | |||
| 99b5dcd527 | |||
| 6c39e5f43d | |||
| 58788b0ebc | |||
| db616c6bd7 | |||
| 0fd4d51898 | |||
| d0831f2e44 | |||
| c54d1491e6 | |||
| dd08f418d5 | |||
| 2b37972dd4 | |||
| 68559add5d | |||
| 7c6c6147a6 | |||
| 0a1b1752f0 | |||
| f594b0900f | |||
| 5cbc480e24 | |||
| 8208874527 | |||
| 2d2fbec858 | |||
| d5f2ba3b21 | |||
| 9e60dc4e0e | |||
| 57e1029b75 | |||
| 0d913641d7 | |||
| b7eb136395 | |||
| a79a6c2c13 | |||
| d01edbe2a8 | |||
| 893b244eb1 | |||
| b45c37d774 | |||
| c18acb5fed | |||
| 7211798c74 | |||
| 589904f813 | |||
| 8181cb3eec | |||
| ec09ee257c | |||
| d378aea1e7 | |||
| b04f199fff | |||
| 83f23c5c16 | |||
| 6666685c43 | |||
| e07aacc9e8 | |||
| 681ddc6b0b | |||
| aa69b3c683 | |||
| 599161b7b2 | |||
| ed1960c469 | |||
| dc9e181c54 | |||
| 77987181de | |||
| 3812ea18e4 | |||
| 3797c1b156 | |||
| a1082edcde | |||
| de7a054f89 | |||
| 0398a957ad | |||
| 4a91fa04e7 | |||
| af3e5d1a56 | |||
| 7b4e6340ca | |||
| 1aadf353ca | |||
| 825d07fac0 | |||
| 56976487f2 | |||
| c8003a8ae8 | |||
| 2e3febf66a | |||
| a5ff3482e5 | |||
| 8de279ac90 | |||
| 0efc56f8d6 | |||
| b59c37ebbd | |||
| ff194e724b | |||
| ca636c86e6 | |||
| 8b1117543e | |||
| ef123d8513 | |||
| 5aac3ba47e | |||
| d2f3bdf29a | |||
| e70313f66a | |||
| 70926283ff | |||
| 8357c09e9f | |||
| 21f97df788 | |||
| 00d6d7de30 | |||
| b10900618a | |||
| 9b8d6ddda0 | |||
| 4e6948693d | |||
| 6e3c65cced | |||
| c499fb83e7 | |||
| be347dc6ba | |||
| 716f068adf | |||
| e9d2cb1482 | |||
| 132394524e | |||
| 20499b821e | |||
| 803842d579 | |||
| eb119a31f0 | |||
| 9d4acea654 | |||
| 6a2f982292 | |||
| 7c88ea46e0 | |||
| 0f3de55e9e | |||
| d5b7dff7a9 | |||
| 7468554ea0 | |||
| 0d93c984be | |||
| 87f134ebb5 | |||
| 8fe346b1a7 | |||
| e9ca4bb7ac | |||
| eac6192afb | |||
| 679b28e44f | |||
| 36e95d0d96 | |||
| 59bd480445 | |||
| d38a3b5720 | |||
| 9d59bfb956 | |||
| 50322b69cc | |||
| fc212cecb4 | |||
| 3d6a9b59bf | |||
| b97a58c278 | |||
| 6f55f4283d | |||
| 9ee33f2c7d | |||
| 55f45e438c | |||
| cce6b71993 | |||
| 3d24e97abd | |||
| 1eea031438 | |||
| dcb45927a1 | |||
| d234a504b5 | |||
| cac09cf032 | |||
| 6d6f7d492e | |||
| 01bae7c59b | |||
| db5af48250 | |||
| 0576ea0159 | |||
| f73ab4a6a4 | |||
| 501c0d9ae1 | |||
| cc810ae84e | |||
| 3533402197 | |||
| 03a8377773 | |||
| 138002d7a0 | |||
| 18854650ab | |||
| e51d47ac73 | |||
| 32bf20a55f | |||
| b702b33def | |||
| d74a730a04 | |||
| 793af822ce | |||
| c05b9a4b8e | |||
| 883f7594b0 | |||
| 7161f0861e | |||
| 5f35a43098 | |||
| 63ef3acc72 | |||
| 3ff3c5af67 | |||
| 50ebef30fb | |||
| 6d6da765a6 | |||
| 031312e90e | |||
| f0e32bdae1 | |||
| 81071d920e | |||
| ea320c0e08 | |||
| 8335494a9f | |||
| 96fc2b4efb | |||
| 3280ca1984 | |||
| aae23c18d6 | |||
| 7a8eee9266 | |||
| 757069d657 | |||
| 15178f0e60 | |||
| 02d0aef497 | |||
| ee6b49f028 | |||
| 5c383b66a7 | |||
| 50cef104f0 | |||
| 37a44b54f3 | |||
| 0027832bdb | |||
| ad4da530eb | |||
| e4a894f75a | |||
| 1a62ae67c9 | |||
| 78951f0de1 | |||
| fd52fb8d78 | |||
| e14ba2727b | |||
| f6cd2fc316 | |||
| 57f0679f57 | |||
| d407b396cf | |||
| 4bfc00d698 | |||
| bd371b56e1 | |||
| 7ae097b990 | |||
| 9734d714d7 | |||
| 9c86adf2d4 | |||
| 6258de5b06 | |||
| d3c797041f | |||
| 5e6837b8cd | |||
| eba2b6fb03 | |||
| 1b2b8baa48 | |||
| 846945b75a | |||
| f84758c42d | |||
| 55aeab896c | |||
| ac62926f8d | |||
| 98bfbfa868 | |||
| 150efb1a5c | |||
| b68c84dd6a | |||
| 3145d2fdfa | |||
| dac67ebe4e | |||
| aea325a254 | |||
| 462499fe81 | |||
| f6f69e2f13 | |||
| c7ac3f2d9c | |||
| cb95d5d88d | |||
| 388ad76780 | |||
| be4afb71e3 | |||
| 11ddfc29b5 | |||
| b1eaad8df0 | |||
| 36fc7cb9e2 | |||
| 8df9516c11 | |||
| 6bd8727067 | |||
| b620b11eb5 | |||
| 3ff3ec7410 | |||
| 8f9b3405bc | |||
| 698058710f | |||
| 5fbc69e772 | |||
| daa2f864cc | |||
| f073f66533 | |||
| ff9bede111 | |||
| 650338d25b | |||
| be32418b93 | |||
| 3bb9250269 | |||
| 13da659c0d | |||
| 9f4a133b74 | |||
| 25b647630f | |||
| 373c6b979d | |||
| ded5b58020 | |||
| 763b3c65f5 | |||
| ef69e64ad7 | |||
| d82b7bab54 | |||
| 095ceccc19 | |||
| 32e5ee98ad | |||
| b2a57ea307 | |||
| eb30400b7c | |||
| 0fd1e211ba | |||
| 64484bfd4e | |||
| 499956d3b3 | |||
| c313685f6f | |||
| 2e750f3d5a | |||
| e1c3115668 | |||
| a6462530bb | |||
| 8316a9ef80 | |||
| 152313289c | |||
| c96ad6f7cd | |||
| b7cf3c5d20 | |||
| 97d3c2a3ae | |||
| a20ebe2075 | |||
| 2f5a74b155 | |||
| a20c73d0e9 | |||
| aeca1c1e9e | |||
| b9ce95968c | |||
| 490ccfdc1e | |||
| 6d0c6b4f64 | |||
| 89c3b0906b | |||
| 8cd74c3b0b | |||
| 769dab2896 | |||
| 8f1f998c5a | |||
| 48d03cccbb | |||
| 7d54ae79f7 | |||
| c46fdd56f6 | |||
| 22dc1ca511 | |||
| 709105b9f4 | |||
| 1c0cfb6b89 | |||
| 7ebc1bff16 | |||
| 0e1cda5050 | |||
| 331626bd1e | |||
| ea62f2443f | |||
| 532ab08e46 | |||
| a6fa55719d | |||
| 163857a14f | |||
| 854e0e2761 | |||
| eba6f916a3 | |||
| 9790f35749 | |||
| 93d3cbc8bf | |||
| 51ea1b130b | |||
| d020b72f20 | |||
| f2ac952cd9 | |||
| 189d2388fb | |||
| 1c989a2402 | |||
| 959e60127d | |||
| 0faa0f1288 | |||
| 5ad25f58d5 | |||
| 8ace5e6a7a | |||
| 185d01e7b4 | |||
| 755e407372 | |||
| 4f123b69ef | |||
| 7e2334f8fc | |||
| 5be533ccfb | |||
| b8eafd5f9b | |||
| 3f3bb959c4 | |||
| f30cad74d7 | |||
| ede82393da | |||
| 9ee468af03 | |||
| c4d5db809b | |||
| 8ecc9d30b3 | |||
| ca722b2a18 | |||
| c219e9655d | |||
| a6c1ba9fee | |||
| 6e9ea1bd9a | |||
| 84f27d571b | |||
| 51549161cd | |||
| 198002238e | |||
| ae0ad4d2f6 | |||
| e470782bea | |||
| b440c1b9e9 | |||
| 163b95ff26 | |||
| 6fa3b95f32 | |||
| 773432a407 | |||
| 45bab6ccce | |||
| 748b75ef3b | |||
| 116e4d77fa | |||
| c1322c4ed7 | |||
| f2ecd34672 | |||
| 657a683d13 | |||
| 0f038ccdc2 | |||
| 6d38985581 | |||
| 0edee845d7 | |||
| 517db1d056 | |||
| 65bf528a11 | |||
| 07e32df91a | |||
| 05a4386479 | |||
| 8c242e607b | |||
| a721c16c85 | |||
| 0957080e22 | |||
| 3427cae437 | |||
| 33be4de2ff | |||
| d83507a865 | |||
| 44c63a63c6 | |||
| d299553d1e | |||
| 415d47a9e5 | |||
| 9b8f1a7c42 | |||
| 12a8a49ccb | |||
| 3cfc59982b | |||
| 5e1a021c3a | |||
| d6ba587db0 | |||
| 4075b2fcde | |||
| b1ee9f054d | |||
| 15ebe8e929 | |||
| 901137ada9 | |||
| ab07334cb8 | |||
| 7407b7dc83 | |||
| 46824eb3ed | |||
| 1c9289f989 | |||
| 64d6aa25e3 | |||
| 126024b70b | |||
| cb08374cbb | |||
| 22a217528c | |||
| e9f297f186 | |||
| 934f857f96 | |||
| 56dbeea691 | |||
| bff5123373 | |||
| a48db98001 | |||
| 850f39339a | |||
| f0cbb066e4 | |||
| 8fefefd5ac | |||
| 365818266c | |||
| 764eeff57a | |||
| e713782b9f | |||
| d8cfad32a6 | |||
| 86c73239c9 | |||
| 9af6c9a94a | |||
| 9ffa0db43e | |||
| 5cf80ec6f2 | |||
| 0ea355d75c | |||
| 044174c711 | |||
| 7562b07832 | |||
| 0196206ec1 | |||
| d54464401f | |||
| 969be1e816 | |||
| d91a95ec0b | |||
| 89066411b1 | |||
| 604dec8540 | |||
| 32f03eaaa2 | |||
| 22769da7c5 | |||
| 69e573a12c | |||
| 7f726537ff | |||
| 40b12c6285 | |||
| 28f0a4d8c6 | |||
| 6e9c6e6c9e | |||
| 281ae0bbc6 | |||
| aad4cb9a2e | |||
| cc0ec76d83 | |||
| 7b7cdd5559 | |||
| 4a2f7697f9 | |||
| cbab039ca4 | |||
| 576cd2dec5 | |||
| c02ac39184 | |||
| 5eda9463c4 | |||
| 41ef0164fd | |||
| c833df9884 | |||
| ba3cca79b4 | |||
| ad6d9b57f8 | |||
| d21271693e | |||
| 589c191ac2 | |||
| 6a326fd584 | |||
| 0f430293a5 | |||
| 61ad8ba75b | |||
| 0cea1cd89f | |||
| 6836f18e89 | |||
| 0093c3970c | |||
| 644a0c4e43 | |||
| c71c7a96e3 | |||
| 0e02e2e2b9 | |||
| 4537cbd539 | |||
| 0c185066f6 | |||
| 5d5985f305 | |||
| 744c3f18c7 | |||
| 2a52ae3644 | |||
| e822738a3b | |||
| d185614d3b | |||
| c1a6a43825 | |||
| b98e1ccdfa | |||
| 4797aab0aa | |||
| 0460a0dab3 | |||
| 9cd5c48831 | |||
| e0f597e252 | |||
| ebbe2963b1 | |||
| 541a14d2a7 | |||
| 169a6e99b0 | |||
| 3da5af354e | |||
| 031c9044a1 | |||
| 6d271d8c48 | |||
| 8bc37ef3f1 | |||
| d7f3936619 | |||
| 49358b7006 | |||
| 067b967da1 | |||
| 88a1691d4b | |||
| cdd25b458c | |||
| 30a53c013f | |||
| 31e1ae2273 | |||
| 7237e49c7f | |||
| 501def3a94 | |||
| f2cd9a1174 | |||
| d0fee6aaca | |||
| 7c034550fb | |||
| 1db3db7bdd | |||
| e0e647b22a | |||
| 69914e3063 | |||
| 0c2624ed37 | |||
| cf11277541 | |||
| d028e144fc | |||
| 59c624d58d | |||
| 2d67876ee1 | |||
| 6b30d74628 | |||
| eb76bb5df0 | |||
| 1e6f051f59 | |||
| 08bdc03745 | |||
| 590daf3be2 | |||
| de0575aea4 | |||
| 487d0c1f8b | |||
| ecf18b9967 | |||
| bc26f329a5 | |||
| 030df21619 | |||
| ac5a9b16e5 | |||
| e7f5e98fcd | |||
| a36ccb0c13 | |||
| 59b04ee33e | |||
| b42231b134 | |||
| d61588c09f | |||
| 7ed2b5c820 | |||
| 239a68821e | |||
| fc512091e4 | |||
| f71c29da58 | |||
| 60c656b45b | |||
| bec8e1f571 | |||
| 11661cc1da | |||
| d7c43a2ba9 | |||
| 14a65f1d69 | |||
| bc9ab121b9 | |||
| 0f0f7c1abb | |||
| 1d9a261bc5 | |||
| 20d0cd7ee6 | |||
| 3f37c2ee34 | |||
| 0b24a5ceb2 | |||
| 9a3ebf2971 | |||
| e51ef0992c | |||
| 318a6b5afa | |||
| d9f025e28b | |||
| b4efa9583e | |||
| 1b4b59fbf0 | |||
| 8394581544 | |||
| 159d478e94 | |||
| 90bb8f2c19 | |||
| 097b18e72f | |||
| 9b744fb1e2 | |||
| 31f1ee1549 | |||
| c540308c2c | |||
| 778b4f6ee6 | |||
| df057cf82e | |||
| 5f94190b68 | |||
| c80685065e | |||
| cdc589f602 | |||
| 7718d239b2 | |||
| b29c9515d3 | |||
| 535831c03a | |||
| ee6acb7980 | |||
| b03b670d56 | |||
| 515ef06589 | |||
| 344cce9461 | |||
| 536690dc55 | |||
| 4fc5a87c13 | |||
| 263061e7ce | |||
| 0b7cad82d5 | |||
| 63d35f678d | |||
| 16b9ca79f2 | |||
| 792ad9d777 | |||
| b6ecaa3934 | |||
| bb4ce5505a | |||
| d6aad2690c | |||
| cfb2b35bf7 | |||
| 40f6803b90 | |||
| d2c1d815a1 | |||
| 4c8617a419 | |||
| 444db56d90 | |||
| 4b94b11b53 | |||
| 1a9ed04cc2 | |||
| f3d4c64118 | |||
| 1fd185fe88 | |||
| 05154f577f | |||
| c62896f078 | |||
| 2403f02851 | |||
| b8262a941d | |||
| 8e8d608120 | |||
| c92ca87c4c | |||
| b02cd7fc77 | |||
| f908acefd6 | |||
| 7dc63fa775 | |||
| 08e1b46e06 | |||
| 9d613d5a7f | |||
| 6e2dfa26b7 | |||
| 86017e65c0 | |||
| d6e51f0d11 | |||
| c095469214 | |||
| fcf391db55 | |||
| 68b105dd63 | |||
| c54185b348 | |||
| cc42f0a978 | |||
| 073061c8e5 | |||
| e071d792ad | |||
| 072e2991ba | |||
| 8c9597ab0e | |||
| a7dbe61535 | |||
| a51bf1ab15 | |||
| 1ed71c61ef | |||
| 40ecf536d0 | |||
| 32cab3d4eb | |||
| 4c7a61ecd0 | |||
| 0b1f36cc96 | |||
| 902ca819c5 | |||
| fcad40ec66 | |||
| f448f023f8 | |||
| 05a3a383ee | |||
| 54f24d93a3 | |||
| 395b6704fd | |||
| 79be8a8173 | |||
| 7f3a55cee4 | |||
| 86c1f5aa7b | |||
| cd5237aff3 | |||
| 5449792294 | |||
| 5c35eae53a | |||
| 61889c0b5b | |||
| 4cf242f683 | |||
| 3217addaa6 | |||
| 76ed1b09a1 | |||
| 9401f1cf4a | |||
| 6b4d919afe | |||
| e92efa0ada | |||
| c2d722d5fe | |||
| 91d71b295b | |||
| c1afa24d7a | |||
| 081e4e4fa7 | |||
| 99a9f5b1de | |||
| 98bdbba23c | |||
| ddde1f8b8a | |||
| b951be9511 | |||
| 07a353393b | |||
| 7b22387fc5 | |||
| 2bba3c5232 | |||
| b97e03041a | |||
| fb7f08ee2e | |||
| 1ba0b0beac | |||
| fa50d90941 | |||
| 0539b0da8d | |||
| ea33ee3a62 | |||
| b91d74f3a3 | |||
| 002b11d54c | |||
| 4e15d1c1b6 | |||
| 961e629de8 | |||
| 02ad4b9c68 | |||
| a981adede0 | |||
| 33bab3ea0e | |||
| 7dae25ce32 | |||
| 71f317dd37 | |||
| 8333e238a6 | |||
| 39f2a16c96 | |||
| 2c08f1e07c | |||
| f4560b9190 | |||
| f0f83e2b3b | |||
| 0776de8d79 | |||
| 504462258a | |||
| fdef870e83 | |||
| 7d58fec63b | |||
| c77f4a9448 | |||
| 37a3951f7b | |||
| e5599b78d8 | |||
| 2da329367f | |||
| 0b64722092 | |||
| fbec5a0e46 | |||
| e21b731e10 | |||
| 19998facc7 | |||
| c8017939da | |||
| 75100e6919 | |||
| 834dad0cc0 | |||
| f57926e41b | |||
| 57157b4553 | |||
| b2c1338650 | |||
| 1dde1b8916 | |||
| 7e9b8ec86d | |||
| ec0d2fb8c6 | |||
| 214ffc243d | |||
| d243475bf8 | |||
| 9872fcb856 | |||
| 29f7754ba9 | |||
| fd4918017b | |||
| 95688b9d33 | |||
| 9c440a0430 | |||
| aaf75278d0 | |||
| ae2cf08c7d | |||
| 4a0848fb41 | |||
| 76c863608e | |||
| 8963c08e64 | |||
| ba51e76691 | |||
| cb0faad418 | |||
| 00bf26081b | |||
| 385c403bee | |||
| 6c3a241481 | |||
| 34c0ad03d3 | |||
| 8c9846d751 | |||
| 0d7c160b24 |
@@ -2,7 +2,7 @@ root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
@@ -6,8 +6,20 @@ import webpack from "webpack";
|
||||
import webpackPaths from "./webpack.paths";
|
||||
import { dependencies as externals } from "../../release/app/package.json";
|
||||
|
||||
function createExternals(): string[] {
|
||||
const webpackExternals: string[] = [...Object.keys(externals || {})];
|
||||
const excludedExternals: string[] = [];
|
||||
|
||||
if (process.platform === "linux") {
|
||||
// Linux only uses regedit-rs types
|
||||
excludedExternals.push("regedit-rs");
|
||||
}
|
||||
|
||||
return webpackExternals.filter(external => !excludedExternals.includes(external));
|
||||
}
|
||||
|
||||
const configuration: webpack.Configuration = {
|
||||
externals: [...Object.keys(externals || {})],
|
||||
externals: createExternals(),
|
||||
|
||||
stats: "errors-only",
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/**
|
||||
* Webpack config for development electron main process
|
||||
*/
|
||||
|
||||
import path from 'path';
|
||||
import webpack from 'webpack';
|
||||
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
|
||||
import { merge } from 'webpack-merge';
|
||||
import checkNodeEnv from '../scripts/check-node-env';
|
||||
import baseConfig from './webpack.config.base';
|
||||
import webpackPaths from './webpack.paths';
|
||||
|
||||
// When an ESLint server is running, we can't set the NODE_ENV so we'll check if it's
|
||||
// at the dev webpack config is not accidentally run in a production environment
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
checkNodeEnv('development');
|
||||
}
|
||||
|
||||
const configuration: webpack.Configuration = {
|
||||
|
||||
devtool: 'inline-source-map',
|
||||
|
||||
mode: 'development',
|
||||
|
||||
target: 'electron-main',
|
||||
|
||||
entry: {
|
||||
main: path.join(webpackPaths.srcMainPath, 'main.ts'),
|
||||
preload: path.join(webpackPaths.srcMainPath, 'preload.ts'),
|
||||
},
|
||||
|
||||
output: {
|
||||
path: webpackPaths.dllPath,
|
||||
filename: '[name].bundle.dev.js',
|
||||
library: {
|
||||
type: 'umd',
|
||||
},
|
||||
},
|
||||
|
||||
plugins: [
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
new BundleAnalyzerPlugin({
|
||||
analyzerMode: process.env.ANALYZE === 'true' ? 'server' : 'disabled',
|
||||
analyzerPort: 8888,
|
||||
}),
|
||||
|
||||
new webpack.DefinePlugin({
|
||||
'process.type': '"browser"',
|
||||
}),
|
||||
],
|
||||
|
||||
/**
|
||||
* Disables webpack processing of __dirname and __filename.
|
||||
* If you run the bundle in node.js it falls back to these values of node.js.
|
||||
* https://github.com/webpack/webpack/issues/2010
|
||||
*/
|
||||
node: {
|
||||
__dirname: false,
|
||||
__filename: false,
|
||||
},
|
||||
};
|
||||
|
||||
export default merge(baseConfig, configuration);
|
||||
@@ -40,6 +40,7 @@ const configuration: webpack.Configuration = {
|
||||
},
|
||||
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [
|
||||
new TerserPlugin({
|
||||
parallel: true,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable import/no-import-module-exports */
|
||||
import "webpack-dev-server";
|
||||
import path from "path";
|
||||
import fs from "fs";
|
||||
|
||||
@@ -2,6 +2,9 @@ const path = require("path");
|
||||
|
||||
const rootPath = path.join(__dirname, "../..");
|
||||
|
||||
const erbPath = path.join(__dirname, '..');
|
||||
const erbNodeModulesPath = path.join(erbPath, 'node_modules');
|
||||
|
||||
const dllPath = path.join(__dirname, "../dll");
|
||||
|
||||
const srcPath = path.join(rootPath, "src");
|
||||
@@ -22,6 +25,7 @@ const buildPath = path.join(releasePath, "build");
|
||||
|
||||
export default {
|
||||
rootPath,
|
||||
erbNodeModulesPath,
|
||||
dllPath,
|
||||
srcPath,
|
||||
srcMainPath,
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import path from 'path';
|
||||
import { copyFileSync, existsSync, readdirSync } from 'fs-extra';
|
||||
import { execSync } from 'child_process';
|
||||
|
||||
const eternalsFolder = path.join(__dirname, '..', '..', 'externals');
|
||||
|
||||
// Get rust project folders from externals
|
||||
const rustProjects = readdirSync(eternalsFolder).filter(folder => existsSync(path.join(eternalsFolder, folder, 'Cargo.toml')));
|
||||
|
||||
// Build each rust project in release mode
|
||||
rustProjects.forEach(project => {
|
||||
console.log(`Building ${project}`);
|
||||
execSync(`cargo build --release`, {
|
||||
cwd: path.join(eternalsFolder, project),
|
||||
stdio: 'inherit',
|
||||
});
|
||||
});
|
||||
|
||||
// Copy the built files exe to the assests/scripts folder
|
||||
rustProjects.forEach(project => {
|
||||
// read the project name from Cargo.toml using toml parser
|
||||
const projectMetadata = execSync('cargo metadata --no-deps --format-version 1', {
|
||||
cwd: path.join(eternalsFolder, project),
|
||||
stdio: 'pipe',
|
||||
});
|
||||
const projectMetadataJson = JSON.parse(projectMetadata);
|
||||
const projectName = projectMetadataJson.packages[0].name;
|
||||
|
||||
const source = path.join(eternalsFolder, project, 'target', 'release', `${projectName}.exe`);
|
||||
const destination = path.join(__dirname, '..', '..', 'assets', 'scripts', `${projectName}.exe`);
|
||||
console.log(`Copying ${source} to ${destination}`);
|
||||
copyFileSync(source, destination);
|
||||
});
|
||||
@@ -1,17 +1,13 @@
|
||||
import rimraf from "rimraf";
|
||||
import process from "process";
|
||||
import webpackPaths from "../configs/webpack.paths";
|
||||
import { rimrafSync } from 'rimraf';
|
||||
import fs from 'fs';
|
||||
import webpackPaths from '../configs/webpack.paths';
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
const commandMap = {
|
||||
dist: webpackPaths.distPath,
|
||||
release: webpackPaths.releasePath,
|
||||
dll: webpackPaths.dllPath,
|
||||
};
|
||||
const foldersToRemove = [
|
||||
webpackPaths.distPath,
|
||||
webpackPaths.buildPath,
|
||||
webpackPaths.dllPath,
|
||||
];
|
||||
|
||||
args.forEach(x => {
|
||||
const pathToRemove = commandMap[x];
|
||||
if (pathToRemove !== undefined) {
|
||||
rimraf.sync(pathToRemove);
|
||||
}
|
||||
foldersToRemove.forEach((folder) => {
|
||||
if (fs.existsSync(folder)) rimrafSync(folder);
|
||||
});
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
import path from "path";
|
||||
import rimraf from "rimraf";
|
||||
import webpackPaths from "../configs/webpack.paths";
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { rimrafSync } from 'rimraf';
|
||||
import webpackPaths from '../configs/webpack.paths';
|
||||
|
||||
export default function deleteSourceMaps() {
|
||||
rimraf.sync(path.join(webpackPaths.distMainPath, "*.js.map"));
|
||||
rimraf.sync(path.join(webpackPaths.distRendererPath, "*.js.map"));
|
||||
if (fs.existsSync(webpackPaths.distMainPath))
|
||||
rimrafSync(path.join(webpackPaths.distMainPath, '*.js.map'), {
|
||||
glob: true,
|
||||
});
|
||||
if (fs.existsSync(webpackPaths.distRendererPath))
|
||||
rimrafSync(path.join(webpackPaths.distRendererPath, '*.js.map'), {
|
||||
glob: true,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import fs from "fs";
|
||||
import webpackPaths from "../configs/webpack.paths";
|
||||
import fs from 'fs';
|
||||
import webpackPaths from '../configs/webpack.paths';
|
||||
|
||||
const { srcNodeModulesPath } = webpackPaths;
|
||||
const { appNodeModulesPath } = webpackPaths;
|
||||
const { srcNodeModulesPath, appNodeModulesPath, erbNodeModulesPath } = webpackPaths;
|
||||
|
||||
if (!fs.existsSync(srcNodeModulesPath) && fs.existsSync(appNodeModulesPath)) {
|
||||
fs.symlinkSync(appNodeModulesPath, srcNodeModulesPath, "junction");
|
||||
fs.symlinkSync(appNodeModulesPath, srcNodeModulesPath, 'junction');
|
||||
}
|
||||
|
||||
if (!fs.existsSync(erbNodeModulesPath) && fs.existsSync(appNodeModulesPath)) {
|
||||
fs.symlinkSync(appNodeModulesPath, erbNodeModulesPath, 'junction');
|
||||
}
|
||||
|
||||
@@ -1,28 +1,32 @@
|
||||
const { notarize } = require("electron-notarize");
|
||||
const { build } = require("../../package.json");
|
||||
const { notarize } = require('@electron/notarize');
|
||||
const { build } = require('../../package.json');
|
||||
|
||||
exports.default = async function notarizeMacos(context) {
|
||||
const { electronPlatformName, appOutDir } = context;
|
||||
if (electronPlatformName !== "darwin") {
|
||||
return;
|
||||
}
|
||||
const { electronPlatformName, appOutDir } = context;
|
||||
if (electronPlatformName !== 'darwin') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (process.env.CI !== "true") {
|
||||
console.warn("Skipping notarizing step. Packaging is not running in CI");
|
||||
return;
|
||||
}
|
||||
if (process.env.CI !== 'true') {
|
||||
console.warn('Skipping notarizing step. Packaging is not running in CI');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!("APPLE_ID" in process.env && "APPLE_ID_PASS" in process.env)) {
|
||||
console.warn("Skipping notarizing step. APPLE_ID and APPLE_ID_PASS env variables must be set");
|
||||
return;
|
||||
}
|
||||
if (
|
||||
!('APPLE_ID' in process.env && 'APPLE_APP_SPECIFIC_PASSWORD' in process.env)
|
||||
) {
|
||||
console.warn(
|
||||
'Skipping notarizing step. APPLE_ID and APPLE_APP_SPECIFIC_PASSWORD env variables must be set',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const appName = context.packager.appInfo.productFilename;
|
||||
const appName = context.packager.appInfo.productFilename;
|
||||
|
||||
await notarize({
|
||||
appBundleId: build.appId,
|
||||
appPath: `${appOutDir}/${appName}.app`,
|
||||
appleId: process.env.APPLE_ID,
|
||||
appleIdPassword: process.env.APPLE_ID_PASS,
|
||||
});
|
||||
await notarize({
|
||||
appBundleId: build.appId,
|
||||
appPath: `${appOutDir}/${appName}.app`,
|
||||
appleId: process.env.APPLE_ID,
|
||||
appleIdPassword: process.env.APPLE_APP_SPECIFIC_PASSWORD,
|
||||
});
|
||||
};
|
||||
|
||||
@@ -46,15 +46,32 @@ module.exports = {
|
||||
"react/prop-types": "off",
|
||||
"import/no-cycle": "off",
|
||||
"prefer-promise-reject-errors": "off",
|
||||
"react/jsx-no-target-blank": "off"
|
||||
"react/jsx-no-target-blank": "off",
|
||||
"import/extensions": "off",
|
||||
"lines-between-class-members": "off",
|
||||
"no-throw-literal": "warn",
|
||||
"no-use-before-define": "off",
|
||||
"no-useless-constructor": "off",
|
||||
"no-unused-vars": "off",
|
||||
"@typescript-eslint/no-unused-vars": "error",
|
||||
'react/jsx-filename-extension': [2, { 'extensions': ['.js', '.jsx', '.ts', '.tsx'] }],
|
||||
"no-shadow": "off",
|
||||
"react/function-component-definition": "off",
|
||||
"jsx-a11y/control-has-associated-label": "off",
|
||||
"react/button-has-type": "off",
|
||||
"max-classes-per-file": "off",
|
||||
"jest/no-standalone-expect": "off",
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2020,
|
||||
sourceType: "module",
|
||||
project: "./tsconfig.json",
|
||||
tsconfigRootDir: __dirname,
|
||||
createDefaultProgram: true,
|
||||
},
|
||||
globals: {
|
||||
JSX: true,
|
||||
NodeJS: true
|
||||
},
|
||||
settings: {
|
||||
"import/resolver": {
|
||||
// See https://github.com/benmosher/eslint-plugin-import/issues/1396#issuecomment-575727774 for line below
|
||||
@@ -68,4 +85,5 @@ module.exports = {
|
||||
"@typescript-eslint/parser": [".ts", ".tsx"],
|
||||
},
|
||||
},
|
||||
"plugins": ["@typescript-eslint"]
|
||||
};
|
||||
|
||||
@@ -15,3 +15,5 @@
|
||||
*.ttf binary
|
||||
*.woff binary
|
||||
*.woff2 binary
|
||||
assets/scripts/* binary
|
||||
*.zip binary
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
name: "[BUG] Bug report"
|
||||
about: Create a report to help us improve
|
||||
title: "[BUG] : "
|
||||
labels: bug
|
||||
assignees: Zagrios
|
||||
---
|
||||
|
||||
## Bug Description
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
## Reproduction Steps
|
||||
<!-- Steps to reproduce the behavior:
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
-->
|
||||
|
||||
## Expected Behavior
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
## Screenshots
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
|
||||
## System Specs
|
||||
<!-- **Desktop (please complete the following information):**
|
||||
|
||||
- OS: [e.g. iOS]
|
||||
- Version [e.g. 22]
|
||||
-->
|
||||
|
||||
## Additional context
|
||||
<!-- Add any other context about the problem here. -->
|
||||
@@ -1,22 +0,0 @@
|
||||
---
|
||||
name: "[FEAT.] Feature request"
|
||||
about: Suggest an idea for this project
|
||||
title: "[FEAT.] : "
|
||||
labels: enhancement
|
||||
assignees: Zagrios
|
||||
---
|
||||
|
||||
## Problem
|
||||
<!-- **Is your feature request related to a problem? Please describe.** -->
|
||||
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
||||
|
||||
## Solution
|
||||
<!-- **Describe the solution you'd like** -->
|
||||
<!-- A clear and concise description of what you want to happen. -->
|
||||
|
||||
## Alternative solutions (if any)
|
||||
<!-- **Describe alternatives you've considered** -->
|
||||
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
|
||||
|
||||
## Additional context
|
||||
<!-- Add any other context or screenshots about the feature request here. -->
|
||||
@@ -0,0 +1,56 @@
|
||||
|
||||
|
||||
name: "[BUG] Bug report"
|
||||
description: Create a report to help us improve
|
||||
title: "[BUG] : "
|
||||
labels: bug
|
||||
assignees: Zagrios
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Thanks for taking the time to fill out this bug report! 😊
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Issue encountered
|
||||
description: Tell us what issue you've encountered.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: Tell us what should expected to happen.
|
||||
- type: textarea
|
||||
id: replication
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: Provide a link to a live example, or an unambiguous set of steps to reproduce this bug.
|
||||
Include code to reproduce, if relevant.
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
options:
|
||||
- Windows 10
|
||||
- Windows 11
|
||||
- Linux
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: What version of BSManager are you running?
|
||||
placeholder: eg. 1.4.8 or 1.5.0-alpha-4
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Any other context that you may share about the issue such as logs.
|
||||
To get the logs, follow these steps `Open BSManager -> Go to settings -> Scroll down -> Open Logs`.
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
name: "[FEAT.] Feature request"
|
||||
description: Suggest an idea for this project
|
||||
title: "[FEAT.] : "
|
||||
labels: enhancement
|
||||
assignees: Zagrios
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Thanks for taking the time to fill out this feature request! 😊
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: Problem
|
||||
description: Is your feature request related to a problem? Please describe.
|
||||
placeholder: Ex. I'm always frustrated when [...]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Solution
|
||||
description: Describe the solution you'd like.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: alternative-solution
|
||||
attributes:
|
||||
label: Alternative Solution
|
||||
description: Describe alternatives you've considered.
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: If the feature is only applicable to a specific OS. Leave it to `None` if it's applicable to all OS'es.
|
||||
options:
|
||||
- Windows
|
||||
- Linux
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Add any other context or screenshots about the feature request here.
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Discord Support
|
||||
url: https://discord.gg/uSqbHVpKdV
|
||||
about: You can join our Discord server for a quick and interactive support.
|
||||
@@ -0,0 +1,52 @@
|
||||
# This workflow will...
|
||||
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["master"]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22.11.0
|
||||
cache: "npm"
|
||||
- run: npm ci
|
||||
- run: npm run package
|
||||
|
||||
# Install and setup Flatpak for Ubuntu
|
||||
- name: Install flatpak packages (Ubuntu only)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: sudo apt-get install -y flatpak flatpak-builder
|
||||
|
||||
- name: Setup flatpak repo (Ubuntu only)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
flatpak remote-add --if-not-exists --user \
|
||||
flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# Build Flatpak package
|
||||
- name: Build Flatpak (Ubuntu only)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
env DEBUG="@malept/flatpak-bundler" \
|
||||
npx electron-builder --config electron-builder.config.js --publish never --linux flatpak
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: release-${{ matrix.os }}
|
||||
path: release
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Publish wiki
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
paths:
|
||||
- docs/wiki/**
|
||||
- .github/workflows/docs.yml
|
||||
concurrency:
|
||||
group: publish-wiki
|
||||
cancel-in-progress: true
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
publish-wiki:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: Andrew-Chen-Wang/github-wiki-action@v4
|
||||
with:
|
||||
path: docs/wiki/
|
||||
@@ -0,0 +1,26 @@
|
||||
name: Labeler
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened, edited]
|
||||
|
||||
jobs:
|
||||
label-linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Search Linux Term
|
||||
uses: actions-ecosystem/action-regex-match@v2
|
||||
id: regex-match
|
||||
with:
|
||||
text: ${{ github.event.issue.body }}
|
||||
regex: '\# Operating System(\s*)Linux'
|
||||
flags: m
|
||||
|
||||
- name: Add Linux label
|
||||
uses: actions-ecosystem/action-add-labels@v1
|
||||
if: ${{ steps.regex-match.outputs.match != '' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GH_TOKEN }}
|
||||
labels: linux
|
||||
@@ -14,11 +14,11 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18.x
|
||||
node-version: 22.11.0
|
||||
cache: "npm"
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
|
||||
@@ -13,19 +13,20 @@ jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18.x
|
||||
node-version: 22.11.0
|
||||
cache: "npm"
|
||||
- run: npm ci
|
||||
- run: npm run build
|
||||
- run: npm test
|
||||
# Currently typescript, eslint, and prettier are unhappy
|
||||
continue-on-error: true
|
||||
|
||||
- name: Unit tests
|
||||
run: npm run test:unit
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# This workflow will...
|
||||
|
||||
name: Release Linux
|
||||
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install flatpak packages
|
||||
run: sudo apt-get install -y flatpak flatpak-builder
|
||||
|
||||
- name: Setup flatpak repo
|
||||
run: |
|
||||
flatpak remote-add --if-not-exists --user \
|
||||
flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22.11.0
|
||||
cache: "npm"
|
||||
- run: npm ci
|
||||
- run: npm run build
|
||||
|
||||
- name: Build deb
|
||||
run: npx electron-builder --config electron-builder.config.js --publish always --linux deb --x64
|
||||
|
||||
- name: Build flatpak
|
||||
run: env DEBUG="@malept/flatpak-bundler" npx electron-builder --config electron-builder.config.js --publish always --linux flatpak
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: release
|
||||
path: release
|
||||
@@ -27,3 +27,6 @@ npm-debug.log.*
|
||||
*.css.d.ts
|
||||
*.sass.d.ts
|
||||
*.scss.d.ts
|
||||
|
||||
# externals
|
||||
externals/**/target/*
|
||||
|
||||
@@ -1,4 +1,247 @@
|
||||
## [0.2.0](https://github.com/Zagrios/bs-manager/releases/tag/v0.2.0) (October 23, 2022)
|
||||
## Not released yet ~
|
||||
|
||||
## [1.4.3](https://github.com/Zagrios/bs-manager/releases/tag/v1.4.3) (Dec 27, 2023)
|
||||
|
||||
### Features
|
||||
- It's now possible to save Oculus token entered manually with a password #383
|
||||
|
||||
### Fixes
|
||||
- Fixed issue where the latest Beat Saber version was misordered #379
|
||||
|
||||
### Other changes
|
||||
- Re-enabled Oculus downgrade with manual token input #383
|
||||
|
||||
## [1.4.2](https://github.com/Zagrios/bs-manager/releases/tag/v1.4.2) (Dec 17, 2023)
|
||||
|
||||
### Features
|
||||
- Added Traditional Chinese translation (thanks to @mant0u0) #372
|
||||
|
||||
### Fixes
|
||||
- Fixed an issue with keyboard navigation in the downloadable versions list [344e7ab](https://github.com/Zagrios/bs-manager/commit/344e7abc95130cfa44d9fa51365a5161c9f378a6)
|
||||
- Fixed an issue where automatic Steam version detection was not working for some users #375
|
||||
|
||||
### Other changes
|
||||
- Temporarily disabled Oculus downgrade #377
|
||||
- Recommended version now appears first in the versions list #376
|
||||
- Updated the "Broken Models" notification #378
|
||||
|
||||
## [1.4.1](https://github.com/Zagrios/bs-manager/releases/tag/v1.4.1) (Dec 5, 2023)
|
||||
|
||||
### Features
|
||||
- Added Japanese translation (thanks to @emesan22) #365
|
||||
|
||||
### Fixes
|
||||
- Fixed a JavaScript error that occurred when closing a window during a download #366
|
||||
- Resolved text overflow issue with the Spanish translation #367
|
||||
- Fixed an issue where downloading a playlist was not possible if a version do not has the "CustomLevel" folder #368
|
||||
- Installing a playlist now doesn't download maps that are already present #369
|
||||
|
||||
## [1.4.0](https://github.com/Zagrios/bs-manager/releases/tag/v1.4.0) (Nov 28, 2023)
|
||||
|
||||
### Features
|
||||
- Oculus PCVR support #346
|
||||
- The most moddable version now have a “Recommended” banner #354
|
||||
- Chinese translation has been added (thanks to @ktKongTong)
|
||||
|
||||
### Fixes
|
||||
- BSManager crashes if too many OneClick downloads are done at the same time #340
|
||||
- Unable to download playlists with OneClick from some websites #349
|
||||
- "Refresh list" was updating available versions but not installed versions #351
|
||||
- Prevent launching a version that is currently downloading #355
|
||||
- Prioritize IPv4 to avoid IPv6 issues #353
|
||||
- Import version progress bar is now accurate #358
|
||||
|
||||
### Other changes
|
||||
- Fix french translation misspelling and standardize the "Beat Saber" name #341 (Thanks to @Synaelle)
|
||||
|
||||
## [1.3.2](https://github.com/Zagrios/bs-manager/releases/tag/v1.3.2) (Oct 8, 2023)
|
||||
|
||||
### Fixes
|
||||
- Maps or Playlists couldn't be downloaded with OneClick if maps were linked #331 #337
|
||||
- Mishandling of additional launch arguments when launching from a shortcut #335
|
||||
- Incorrect English translation #336
|
||||
|
||||
## [1.3.1](https://github.com/Zagrios/bs-manager/releases/tag/v1.3.1) (Oct 2, 2023)
|
||||
|
||||
### Features
|
||||
- Beat Saber versions now automatically sync with LIV #320
|
||||
- Use ArcViewer to preview maps #312
|
||||
|
||||
### Fixes
|
||||
- SteamVR backup folder is now restored when disabling FPFC Mode #314
|
||||
- OneClick installs now correctly place contents in user-defined symlinks #311
|
||||
- Currently downloading Beat Saber version no longer disappears on uninstalling a version #307
|
||||
- Add "no-yeet" argument when launching Beat Saber to prevent mods to be removed if "UserData" is linked #321
|
||||
- Fixed a rare bug that prevent BSManager from launching due to a missing DLL #328
|
||||
- Increase the SteamVR restore timeout to prevent it from launching in FPFC Mode #330
|
||||
|
||||
### Other changes
|
||||
- Improved Spanish translation #309 (Thanks to @GabiRP)
|
||||
- For new installations, the default folder for BSManager contents has been moved from "Documents" to the "User" directory to avoid OneDrive conflicts #319
|
||||
|
||||
## [1.3.0](https://github.com/Zagrios/bs-manager/releases/tag/v1.3.0) (Aug 10, 2023)
|
||||
|
||||
### Features
|
||||
- Steam now launches automatically if needed when starting a version of Beat Saber #255
|
||||
- Create shortcuts to launch Beat Saber more quickly without going through BSManager #282
|
||||
- Russian translation has been added (thanks to @Dead0Duck)
|
||||
- Download Beat Saber versions without enter your credentials using QR code to login #293
|
||||
- Login approval from the Steam app is now being handled #293
|
||||
|
||||
### Fixes
|
||||
- Unable to delete maps from shared content #262
|
||||
- Maps are no longer loaded unnecessarily when not accessing the map tab #261
|
||||
- BSManager no longer crashes when it loads tons of maps #288
|
||||
- Loading maps is faster and consumes a lot less memory #288
|
||||
- Prevent installed mods from being downgraded after mods installation #291
|
||||
- Window title of BSManager no longer become "index.html" after closing settings #290
|
||||
- Models' texts color within the download modal in light theme is now correct #296
|
||||
- Downloading versions of Beat Saber now works on Linux #297 (thanks to @Insprill)
|
||||
- Fix the ability to focus on non-visible elements #299
|
||||
|
||||
### Other changes
|
||||
- Corrections and adjustments of some translations for better clarity #249 #279 (Thanks to @AltyFox and @KnuckleDF)
|
||||
- Improved compatibility with Linux (Thanks to @RedlineTriad and @Insprill)
|
||||
- Alpha versions should now update to the latest Stable version when its available #294
|
||||
|
||||
## [1.2.0](https://github.com/Zagrios/bs-manager/releases/tag/v1.2.0) (Jun 16, 2023)
|
||||
|
||||
### Features
|
||||
- Add models management #218
|
||||
- Hexadecimal field has been added in color pickers #236
|
||||
- "Show Password" button has been added in the login modal #244
|
||||
|
||||
### Fixes
|
||||
- Made permission error not possible when installing mods #219
|
||||
- Fix progress collision when switching versions while maps are being loaded #220
|
||||
- Some mods do not show as installed after an update #231
|
||||
- Some mods are not marked as updated, after a mods update #229
|
||||
- Shortcut to BSManager had an incorrect description #240
|
||||
- Mod LookupID was never shown as installed #242
|
||||
- Usernames with spaces were not supported for Steam login #243
|
||||
- Can't clone Steam version without renaming it #248
|
||||
|
||||
### Other changes
|
||||
- Some UI elements have been reorganized to make usage more pleasant #218
|
||||
- Initial loading of mods is now faster #232
|
||||
- A warning has been added when the Steam password exceeds 64 characters #225
|
||||
|
||||
## [1.1.1](https://github.com/Zagrios/bs-manager/releases/tag/v1.1.1) (Apr 13, 2023)
|
||||
|
||||
### Features
|
||||
- Add German translation #198 #199 (thanks @XCraftTM)
|
||||
- Add message when no mods are available #197
|
||||
- Add button to link all folders at once #204
|
||||
- Add indicator when a supporter is clickable #208
|
||||
|
||||
### Fixes
|
||||
- Fix error with mods management when offline #202
|
||||
- Can't open supporter link #207
|
||||
- Change color of diamond supporters to match the discord role color #208
|
||||
- Error when spaces are present in Steam Guard code #209
|
||||
- Unable to move contents folder of BSManager when parent folder is named "BSManager" #210
|
||||
- Unable to move contents folder of BSManager to another drive if symlinks are present #210
|
||||
- Improve resilience to errors when moving contents folder of BSManager #210
|
||||
- A strange bug prevents the launch of Beat Saber for some people #215
|
||||
|
||||
### Other changes
|
||||
- Add BeatLeader icon in OneClicks settings #193
|
||||
|
||||
## [1.1.0](https://github.com/Zagrios/bs-manager/releases/tag/v1.1.0) (Mar 24, 2023)
|
||||
|
||||
### Features
|
||||
- Custom folders can now be shared between BeatSaber versions #176
|
||||
- Advanced launch options to add custom launch arguments for BeatSaber #179
|
||||
- Added an indicator if the current version is a preview #185
|
||||
|
||||
### Fixes
|
||||
- Disable SteamVR when "Desktop Mode" is enabled #181
|
||||
- Fix some UI bugs #175
|
||||
- Reactivate support button #183
|
||||
- Installing an older version of a mod overwrites the most recent version installed #186
|
||||
- On version cloning, contents of linked folders no longer duplicate #189
|
||||
- Now, the content of a shared folder is moved instead of being duplicated if no other version uses this shared folder #191
|
||||
|
||||
## [1.0.4](https://github.com/Zagrios/bs-manager/releases/tag/v1.0.4) (Mar 4, 2023)
|
||||
|
||||
### Features
|
||||
- Add volume control #154
|
||||
|
||||
### Fixes
|
||||
- Fix some English translations #153 #151 #167
|
||||
- The debug console does not open #158
|
||||
- Can't enable Oculus and Desktop mode in the same time #159
|
||||
- Pause Map song on open preview #160
|
||||
- Reduces map loading time by 20 to 40% depending on configuration (still work on that) #161
|
||||
- Mods menu partially hidden when no mods listed #165
|
||||
- Fix light theme issues #168
|
||||
- The .NET installation request notification sometimes does not appear #170
|
||||
- Change Oculus Mode description #166
|
||||
|
||||
### Other changes
|
||||
- We have added an explanation of why we need your Steam credentials to download a BeatSaber version #164
|
||||
|
||||
## [1.0.3](https://github.com/Zagrios/bs-manager/releases/tag/v1.0.3) (Feb 28, 2023)
|
||||
|
||||
### Fixes
|
||||
- Can't download Beat Saber version if there are spaces in the folder path
|
||||
|
||||
## [1.0.2](https://github.com/Zagrios/bs-manager/releases/tag/v1.0.2) (Feb 24, 2023)
|
||||
|
||||
### Fixes
|
||||
- Huge RAM usage optimization in maps list #140
|
||||
- Maps deletion is way faster #140
|
||||
- Maps progress bars are now accurate #140
|
||||
- Maps loading is slightly faster #140
|
||||
- Other little optimizations for the Maps management feature #140
|
||||
- OneClick install for Maps not work if no Beat Saber version is installed #141
|
||||
- Little English translation fix #143
|
||||
|
||||
## [1.0.1](https://github.com/Zagrios/bs-manager/releases/tag/v1.0.1) (Feb 6, 2023)
|
||||
|
||||
### Fixes
|
||||
- Some French translation corrections #133
|
||||
- Update the default Mods to be more consistent with ModAssistant #132 #135
|
||||
- Disable the `Support BSManager` button due to the change of the donation platform #134
|
||||
|
||||
## [1.0.0](https://github.com/Zagrios/bs-manager/releases/tag/v1.0.0) (Jan 26, 2023)
|
||||
|
||||
### Breaking Change
|
||||
|
||||
- Config file have been moved to contents folder of BSManager to keep user config even if it exports the contents folder to another pc #55
|
||||
- Versions file system have been modified to be more reliable #118
|
||||
|
||||
### Features
|
||||
|
||||
- Maps Management #35
|
||||
- OneClick installs (maps, playlists, models) #35
|
||||
- Oculus BeatSaber detection #17
|
||||
- Lunch Steam from BSManager #37
|
||||
- Alert if dotnet is not installed #54
|
||||
- Swipe notification to close it #40
|
||||
- Add discord button in settings #46
|
||||
- Add Mods disclaimer #50
|
||||
- Some UI tweaks #39 #51
|
||||
- Moving from Patreon to Mee6 #86
|
||||
- Add launch mod infos #11
|
||||
- Can import external BeatSaber installs #121
|
||||
- Add Web installer
|
||||
|
||||
### Fixes
|
||||
|
||||
- Outdated mod not seen as outdated #36
|
||||
- Settings close button was stuck when scrolling #85
|
||||
- Error when try to loading mods without internet #87
|
||||
- Can't manage any version if Oculus app is not installed #101
|
||||
- Download version button overlap with the spin loader #99
|
||||
- After uninstall last BeatSaber version we stay on the same page #105
|
||||
- No more files verification in available versions list #126
|
||||
|
||||
### Other Changes
|
||||
|
||||
- Fix high CPU usage #121
|
||||
|
||||
## [0.2.0](https://github.com/Zagrios/bs-manager/releases/tag/v0.2.0) (Oct 23, 2022)
|
||||
|
||||
### Features
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ We'd also love PRs. If you're thinking of a large PR, we advise opening up an is
|
||||
## Submitting a pull request
|
||||
|
||||
1. [Fork][fork] and clone the repository.
|
||||
1. Install the correct NodeJS version (highly recommend installing [Volta](https://volta.sh/) for that).
|
||||
1. Configure and install the dependencies: `npm install`.
|
||||
1. Create a new branch following naming convention: `git checkout -b (feature|bugfix|hotfix|chore)/(short-description)(/issue-id)`.
|
||||
1. Make your change, test, and make sure BSManager work fine.
|
||||
|
||||
@@ -57,10 +57,12 @@
|
||||
<a href="https://discord.gg/uSqbHVpKdV"><img
|
||||
src="https://img.shields.io/badge/-DISCORD-5865f2?style=for-the-badge&logo=discord&logoColor=ffffff"
|
||||
alt="discord" /></a>
|
||||
<a href="https://www.patreon.com/bsmanager"><img
|
||||
src="https://img.shields.io/badge/-🥰%20Support%20BSM-EC4546?style=for-the-badge" alt="Donation" /></a>
|
||||
<a href="https://twitter.com/BSManager_"><img
|
||||
src="https://img.shields.io/badge/-Twitter-F5F8FA?style=for-the-badge&logo=Twitter" alt="Twitter" /></a>
|
||||
src="https://img.shields.io/badge/-Twitter-black?style=for-the-badge&logo=X" alt="Twitter" /></a>
|
||||
<a href="https://www.bsmanager.io">
|
||||
<img src="https://img.shields.io/badge/-WebSite-00649c?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAwIDEwMDAiPgogIDxnIGZpbGw9IiMzYjgyZmYiPgogICAgPHBhdGggZD0ibTYyNi43NSA0ODUuOTEgMjAuODIgMzUxLjk0YTM1LjIxIDM1LjIxIDAgMCAxLTE1LjQ5IDMxLjM2bC0xNDQuNzEgOTYuMTRoLS4wNmEzNS41NiAzNS41NiAwIDAgMS0xMS4zMSA0Ljc3IDM0Ljg1IDM0Ljg1IDAgMCAxLTIzLjUxLTIuODdMMTM2LjU4IDgwOS45YTExNS40NSAxMTUuNDUgMCAwIDEtNjMuNzUtOTYuNDlMNTIgMzYxLjQ2YTM1LjI2IDM1LjI2IDAgMCAxIDE1LjIzLTMxLjIxbDE0NS4wNS05Ni4zNmEzNS43MiAzNS43MiAwIDAgMSAxMS4yNy00LjcgMzQuODcgMzQuODcgMCAwIDEgMjMuNTEgMi44N0w1NjMgMzg5LjQyYTExNS40MSAxMTUuNDEgMCAwIDEgNjMuNzUgOTYuNDlaIi8+CiAgICA8cGF0aCBmaWx0ZXI9ImJyaWdodG5lc3MoMzAlKSIgZD0ibTYxMy43OCA0ODYuNjcgMjAuODIgMzUyYTIyLjM0IDIyLjM0IDAgMCAxLTMyLjI2IDIxLjMxTDI4Ni40IDcwMi41N0ExMDIuNDMgMTAyLjQzIDAgMCAxIDIyOS44MyA2MTdMMjA5IDI2NWEyMi4zNSAyMi4zNSAwIDAgMSAzMi4yNi0yMS4zMkw1NTcuMiA0MDEuMDVhMTAyLjQyIDEwMi40MiAwIDAgMSA1Ni41OCA4NS42MloiLz4KICA8L2c+CiAgPHBhdGggZD0iTTcxOC4yOSA3NzYuNDggNzAwIDgwNC4xOGMtNDAuNjMgMzkuNS04Ny4wNiA2Ny4yNS0xMzMuODEgOTAuNzUtODcuMzIgNDMuOS0yMDMuNjcgNzcuMTktMjQ5IDkwLjM0YTQ4IDQ4IDAgMCAxLTI2LjE3LjE2Yy02NC0xNy43Mi0xODguNjItNzItMjM2LjI4LTEyNS40OWE0LjIzIDQuMjMgMCAwIDEgNS4zLTYuNDVjMzUuNjQgMjAuODcgMTExLjIyIDU3LjY0IDE1Ni4zNyA3NC4yMiA0OS4xOCAxOC4wNiA4MS4yOSA4Ljc0IDkyLjI4LTMuMjZhNC43NyA0Ljc3IDAgMCAxIDcuMjQuMjFjMTkuNTEgMjQgMTA3LjI2IDQuNiAxNjYuNjQtMTMgNjQuMzQtMTkgMTg1Ljg1LTc2LjU2IDIzNS43Mi0xMzUuMThabS0xOTYuMiAxNTcuMzMtMTQ3LjQ1IDU1LjY4YTMuOTIgMy45MiAwIDAgMCAxLjQ0IDcuNThsNTQuNjItLjc3YTM1LjYzIDM1LjYzIDAgMCAwIDE5LTUuNzlsNzYtNDkuNTVhNCA0IDAgMCAwLTMuNjEtNy4xNVpNMjE4LjkyIDE5NS41NmMtMjEuMTQuMDctMzMuNTUgMzUuODYtMzMuMTYgODkuMDguMiAyOCAyLjU4IDkyLjc0IDQuNzkgMTQ3LjczLjIzIDUuNzEtOC4xOCA2LjQ4LTkgLjgxbC0zOC40Mi0yNzAuNzFhNC4zOCA0LjM4IDAgMCAxIDcuMTItNCA2My42MyA2My42MyAwIDAgMCAyMS45MyAxMS44NSA0LjYxIDQuNjEgMCAwIDAgNS45LTMuNzJjNC4yLTI3LjcgMTYuNjMtNTguNzQgMzcuMzUtODguNzRhNC4zNiA0LjM2IDAgMCAxIDcuNTYuNjljMTAuODYgMjMuODcgNDkgMTAzLjggOTMuMzQgMTUyLjc5YTQuNjUgNC42NSAwIDAgMS01LjYyIDcuMjJjLTM2LjU3LTE5LjM4LTgzLjAxLTQzLjAyLTkxLjc5LTQzWm0tMTUuNDcgMzg0LjhhNC41MSA0LjUxIDAgMCAxLTQuNDYtMy45MmwtMTMuODItMTA3LjI5YTQuNSA0LjUgMCAwIDEgOC45My0xLjE1bDEzLjgyIDEwNy4yOWE0LjUgNC41IDAgMCAxLTMuODkgNSAzLjg2IDMuODYgMCAwIDEtLjU4LjA3Wk01NzcuMDggNTQuNThjLTQ2Ljc5IDE1Ljg1LTExNS40NSA0MC41Ni0xNTguNzMgNjIuNzlhMzUuNSAzNS41IDAgMCAwLTE4LjU3IDI0LjUzYy0zLjk1IDE5LjQ5LTExIDU2LjA5LTE5IDEwNy4yNi0uNyA0LjQ4LTcuMzYgMy43OC03LjExLS43NWwxMC42Ni0xOTQuNzNhMy43OCAzLjc4IDAgMCAxIDcuNDYtLjY2bDMuNDkgMTQuODVhMi41NyAyLjU3IDAgMCAwIDQuNjkuNzdjNi4xOC0xMCAyMi4zNy0zMi43OSA1Ny4zMi02NWE0LjEzIDQuMTMgMCAwIDEgNi41NiA0LjcybC0zMi41NCA3Mi44OXM3OC43OC0xOS4zNyAxNDQtMzMuMDljNC4xMS0uODcgNS42OSA1LjA4IDEuNzcgNi40MloiIGZpbGw9IiNmZmYiIHN0cm9rZT0iYmxhY2siLz4KICA8ZyBmaWxsPSIjZjQ0Ij4KICAgIDxwYXRoIGZpbHRlcj0iYnJpZ2h0bmVzcyg2MCUpIHNhdHVyYXRlKDEyMCUpIiBkPSJtOTQ3LjA3IDQxMC4zNS01Ny43NSAzNDcuNzlhMzUuMTggMzUuMTggMCAwIDEtMjIuMDYgMjcuMTVsLTE2Mi40MyA2MS42NWgtLjA2YTM1LjUyIDM1LjUyIDAgMCAxLTEyLjA2IDIuMTEgMzQuODMgMzQuODMgMCAwIDEtMjIuMjktOGwtMjczLjE3LTIyMy41YTExNS40MyAxMTUuNDMgMCAwIDEtNDAuNzYtMTA4LjIybDU3Ljc1LTM0Ny44QTM1LjI1IDM1LjI1IDAgMCAxIDQzNiAxMzQuNDdsMTYyLjgzLTYxLjc5YTM1LjUxIDM1LjUxIDAgMCAxIDEyLTIuMDggMzQuODMgMzQuODMgMCAwIDEgMjIuMjkgOGwyNzMuMTkgMjIzLjUyYTExNS4zOCAxMTUuMzggMCAwIDEgNDAuNzYgMTA4LjIzWiIvPgogICAgPHBhdGggZD0iTTkzNC4yNSA0MDguMjIgODc2LjUgNzU2YTIyLjM0IDIyLjM0IDAgMCAxLTM2LjE4IDEzLjYzbC0yNzMuMTctMjIzLjVhMTAyLjQyIDEwMi40MiAwIDAgMS0zNi4xNy05Nmw1Ny43NS0zNDcuODNhMjIuMzQgMjIuMzQgMCAwIDEgMzYuMTgtMTMuNjNsMjczLjE3IDIyMy41MWExMDIuNDIgMTAyLjQyIDAgMCAxIDM2LjE3IDk2LjA0WiIvPgogIDwvZz4KICA8ZWxsaXBzZSBmaWxsPSIjZmZmIiBzdHJva2U9ImJsYWNrIiBjeD0iNzMyLjYxIiBjeT0iNDI5LjE2IiByeD0iNjIuODMiIHJ5PSIxMTAuNzMiIHRyYW5zZm9ybT0icm90YXRlKC0xNS40NSA3MzIuNzAzIDQyOS4xOTkpIi8+Cjwvc3ZnPg==" alt="Website" /></a>
|
||||
<a href="https://www.patreon.com/bsmanager"><img
|
||||
src="https://img.shields.io/badge/-🤍%20Support%20BSM-EC4546?style=for-the-badge" alt="Donation" /></a>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
@@ -224,6 +226,10 @@
|
||||
-->
|
||||
<div>
|
||||
<h2><b>How to install?</b></h2>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3><b>Windows Installation</b></h3>
|
||||
<ul>
|
||||
<li>Download the <a href="https://github.com/Zagrios/bs-manager/releases/latest">latest release</a> from <a
|
||||
href="https://github.com/Zagrios/bs-manager/releases">Releases</a>.</li>
|
||||
@@ -237,6 +243,10 @@
|
||||
<video src="https://github.com/Zagrios/bs-manager/assets/40648115/4215384e-eb68-40da-884c-f21df491ef75" />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3><b>Linux installation</b></h3>
|
||||
<p>Refer to <a href="https://github.com/Zagrios/bs-manager/wiki/Linux">Linux wiki</a></p>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
----------------------------------------
|
||||
@@ -287,13 +297,11 @@
|
||||
<div>
|
||||
<ul>
|
||||
<li><strong>via Oculus</strong>: For Oculus users, <a href="https://github.com/Zagrios/bs-manager">BSManager</a>
|
||||
uses authentication directly via the <a href="https://about.meta.com/fr/">META</a> website
|
||||
to retrieve the connection token, ensuring reliable and secure access to your account data.</li>
|
||||
requires you to retrieve a connection token by following the instructions in this guide: <a href="https://github.com/Zagrios/bs-manager/wiki/How-to-obtain-your-Oculus-Token">How to obtain your Oculus Token</a>. Once obtained, please insert it into the form.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img height=450 src="https://github.com/Zagrios/bs-manager/assets/40648115/1e4a2f98-af16-45aa-821d-0c4e90e1e54b" />
|
||||
<img height=450 src="https://github.com/Zagrios/bs-manager/assets/40648115/3674e629-542d-4de3-b8db-b248f25126d7" />
|
||||
</div>
|
||||
|
||||
@@ -546,10 +554,12 @@
|
||||
<div>
|
||||
<h2>Credits</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/Zagrios">Zagrios</a> - Lead Developer & Founder.</li>
|
||||
<li><a href="https://github.com/Zagrios">Zagrios - Mathieu Gries</a> - Lead Developer & Founder.</li>
|
||||
<li><a href="https://github.com/Iluhadesu">Iluhadesu</a> - Co-Developer & Co-Founder, Discord Bot Developer.</li>
|
||||
<li><a href="https://github.com/GaetanGrd">GaetanGrd</a> - Co-Developer & Co-Founder, Documentation Lead.</li>
|
||||
<li><a href="https://github.com/cheddZy">cheddZy</a> - Icon Creator.</li>
|
||||
<li><a href="https://github.com/Insprill">Insprill</a> - Co-Developer, Linux Developer, AUR Maintainer.</li>
|
||||
<li><a href="https://github.com/silentrald">silentrald</a> - Co-Developer, Linux Developer, deb and flatpak Maintainer.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 401 KiB |
@@ -598,8 +598,7 @@
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/6169409105101272202",
|
||||
"ReleaseImg": "https://cdn.akamai.steamstatic.com/steamcommunity/public/images/clans/32055887/c328e407367e9914abaf92f609501877ee5abb63.png",
|
||||
"ReleaseDate": "1680623885",
|
||||
"year": "2023",
|
||||
"recommended": true
|
||||
"year": "2023"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.29.4",
|
||||
@@ -681,5 +680,138 @@
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/ae11d195bbe41a0f244d7b4d055a0ab89f88e5bb.png",
|
||||
"ReleaseDate": "1702309893",
|
||||
"year": "2023"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.34.5",
|
||||
"BSManifest": "7413405154512822201",
|
||||
"OculusBinaryId": "6639053626194360",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4036983137766828694",
|
||||
"ReleaseImg": "https://clan.cloudflare.steamstatic.com/images/32055887/925e60f14c6815f7617fde11a894ed20f54a0846.png",
|
||||
"ReleaseDate": "1707745958",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.34.6",
|
||||
"BSManifest": "4398761375819224126",
|
||||
"OculusBinaryId": "6682206641879058",
|
||||
"ReleaseURL": "https://store.steampowered.com/news/app/620980/view/7595953477644376720",
|
||||
"ReleaseImg": "https://clan.cloudflare.steamstatic.com/images/32055887/e7c75bdfc76d00713adc3fbdf221c9ce8ab3620d.png",
|
||||
"ReleaseDate": "1708091473",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.35.0",
|
||||
"BSManifest": "1490986193481243578",
|
||||
"OculusBinaryId": "6720809361352119",
|
||||
"ReleaseURL": "https://store.steampowered.com/news/app/620980/view/4142820264819707009",
|
||||
"ReleaseImg": "https://clan.cloudflare.steamstatic.com/images//32055887/9a141be5c44ca6fc81551a2c7e7f28407df413ed.png",
|
||||
"ReleaseDate": "1709831174",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.36.0",
|
||||
"BSManifest": "8533509040167838423",
|
||||
"OculusBinaryId": "6863072637125790",
|
||||
"ReleaseURL": "https://store.steampowered.com/news/app/620980/view/4205873192610459250",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images//32055887/b8bd8a050e2bc3903cf18a277c5489ade01f7e75.png",
|
||||
"ReleaseDate": "1712681263",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.36.2",
|
||||
"BSManifest": "4832237377879752064",
|
||||
"OculusBinaryId": "6983660338400352",
|
||||
"ReleaseURL": "https://store.steampowered.com/news/app/620980/view/4181105931135110118",
|
||||
"ReleaseImg": "https://clan.cloudflare.steamstatic.com/images//32055887/74541417f14dee210bcfd89eefeabd7c0cc27c7d.png",
|
||||
"ReleaseDate": "1715008020",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.37.0",
|
||||
"BSManifest": "7270690075584855288",
|
||||
"OculusBinaryId": "7062062833893435",
|
||||
"ReleaseURL": "https://store.steampowered.com/news/app/620980/view/4161968170153497460",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images//32055887/f82d34c7582137a6748a28c5b02670ff4b235356.png",
|
||||
"ReleaseDate": "1717513346",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.37.1",
|
||||
"BSManifest": "9129356330007601179",
|
||||
"OculusBinaryId": "7313068492126200",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4253168598913260422",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/039be718c1494f948257cd5b09f0082986484a58.png",
|
||||
"ReleaseDate": "1720710529",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.37.2",
|
||||
"BSManifest": "6848299977215652352",
|
||||
"OculusBinaryId": "7438773609555687",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4349999161850643744",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/7c03af6d12fad23f1d439666d4be86b492d40003.png",
|
||||
"ReleaseDate": "1722945814",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.37.3",
|
||||
"BSManifest": "5834150512217183366",
|
||||
"OculusBinaryId": "7553569971409383",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/6808965920900622902",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/a1c9a6737cc5182fca8cddc7c8088eda6dd4d82d.png",
|
||||
"ReleaseDate": "1724061712",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.37.4",
|
||||
"BSManifest": "7585106640515547731",
|
||||
"OculusBinaryId": "7630971613669218",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4601078012425941968",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/23e6e6f219a56d2f9ea4a27b560c54ac1214aec3.png",
|
||||
"ReleaseDate": "1725548547",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.37.5",
|
||||
"BSManifest": "3122533396458693889",
|
||||
"OculusBinaryId": "7685108391588873",
|
||||
"ReleaseDate": "1725628356",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.38.0",
|
||||
"BSManifest": "3482902979520746178",
|
||||
"OculusBinaryId": "7834818833284494",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4669760442595134838",
|
||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/57cfa043407c091e67b7e0a8ae86fe5590deae33.png",
|
||||
"ReleaseDate": "1728399815",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.39.0",
|
||||
"BSManifest": "5365094543246905054",
|
||||
"OculusBinaryId": "7978663688900007",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4451339035198095638",
|
||||
"ReleaseImg": "https://clan.cloudflare.steamstatic.com/images/32055887/fd8e2c783e46decdf5e10fed1e16f124616d9321.png",
|
||||
"ReleaseDate": "1731426932",
|
||||
"year": "2024"
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.39.1",
|
||||
"BSManifest": "2179614296547473280",
|
||||
"OculusBinaryId": "8189133517853022",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4451340304252928024",
|
||||
"ReleaseDate": "1732107748",
|
||||
"year": "2024",
|
||||
"recommended": true
|
||||
},
|
||||
{
|
||||
"BSVersion": "1.40.0",
|
||||
"BSManifest": "8455036253884215709",
|
||||
"OculusBinaryId": "8259984977434542",
|
||||
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/507314379973199787",
|
||||
"ReleaseImg": "https://clan.fastly.steamstatic.com/images/32055887/65df6b24c3b8a7f415080ac01394917cedabf9fc.png",
|
||||
"ReleaseDate": "1733846128",
|
||||
"year": "2024"
|
||||
}
|
||||
]
|
||||
@@ -1,21 +1,128 @@
|
||||
[
|
||||
{"username": "Shidorien"},
|
||||
{"username": "iPixelGalaxy"},
|
||||
{"username": "Emyte", "type": "gold"},
|
||||
{"username": "GoodOldNervy"},
|
||||
{"username": "Naysy"},
|
||||
{"username": "Falmil"},
|
||||
{"username": "K1Lc4m"},
|
||||
{"username": "Anonymously42", "type": "diamond", "link": "https://www.twitch.tv/anonymously42tv"},
|
||||
{"username": "Burt", "type": "gold"},
|
||||
{"username": "Ilnahro"},
|
||||
{"username": "Phil", "type": "gold"},
|
||||
{"username": "Protocrush", "type": "gold"},
|
||||
{"username": "ServerMensch", "type": "gold"},
|
||||
{"username": "Karlito", "type": "gold"},
|
||||
{"username": "Cathery", "type": "gold"},
|
||||
{"username": ".sharkey"},
|
||||
{"username": "Z3t4"},
|
||||
{"username": "blot455", "type": "diamond"},
|
||||
{"username": "Lumberjack462", "type": "diamond", "link": "https://www.youtube.com/@lumberjack462"}
|
||||
{
|
||||
"username": "Shidorien"
|
||||
},
|
||||
{
|
||||
"username": "iPixelGalaxy"
|
||||
},
|
||||
{
|
||||
"username": "Emyte",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "GoodOldNervy"
|
||||
},
|
||||
{
|
||||
"username": "Naysy"
|
||||
},
|
||||
{
|
||||
"username": "Falmil"
|
||||
},
|
||||
{
|
||||
"username": "Anonymously42",
|
||||
"type": "diamond",
|
||||
"link": "https://www.twitch.tv/anonymously42tv"
|
||||
},
|
||||
{
|
||||
"username": "Burt",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Phil",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Protocrush",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Karlito",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": ".sharkey"
|
||||
},
|
||||
{
|
||||
"username": "Z3t4"
|
||||
},
|
||||
{
|
||||
"username": "blot455",
|
||||
"type": "diamond"
|
||||
},
|
||||
{
|
||||
"username": "Lumberjack462",
|
||||
"type": "diamond",
|
||||
"link": "https://www.youtube.com/@lumberjack462"
|
||||
},
|
||||
{
|
||||
"username": "Xero"
|
||||
},
|
||||
{
|
||||
"username": "Minescence"
|
||||
},
|
||||
{
|
||||
"username": "mereknom"
|
||||
},
|
||||
{
|
||||
"username": "Jascha"
|
||||
},
|
||||
{
|
||||
"username": "Celldweller",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "rhythmshade"
|
||||
},
|
||||
{
|
||||
"username": "liborsaf"
|
||||
},
|
||||
{
|
||||
"username": "aatame3",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Joshua"
|
||||
},
|
||||
{
|
||||
"username": "Stuijvi",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "_ monaka"
|
||||
},
|
||||
{
|
||||
"username": "Better_Axel"
|
||||
},
|
||||
{
|
||||
"username": "Riley",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Austin"
|
||||
},
|
||||
{
|
||||
"username": "Fatalution",
|
||||
"type": "diamond",
|
||||
"link": "https://x.com/fatalution"
|
||||
},
|
||||
{
|
||||
"username": "Taurus Arcade",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Mozz_Zm"
|
||||
},
|
||||
{
|
||||
"username": "clapxz"
|
||||
},
|
||||
{
|
||||
"username": "Reflected Chop",
|
||||
"type": "gold"
|
||||
},
|
||||
{
|
||||
"username": "Furiouspupa"
|
||||
},
|
||||
{
|
||||
"username": "Maximilian"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "Maps",
|
||||
"playlists": "Playlists",
|
||||
"models": "Models",
|
||||
"avatars": "Avatars",
|
||||
"sabers": "Sabers",
|
||||
"platforms": "Platforms",
|
||||
"blocks": "Blocks",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"accept": "Accept",
|
||||
"refuse": "Refuse",
|
||||
"apply": "Apply",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied!"
|
||||
"copied": "Copied!",
|
||||
"confirm": "Confirm",
|
||||
"choose-folder": "Choose folder",
|
||||
"unknown": "An unknown error occurred ¯\\_(ツ)_/¯",
|
||||
"warning": "Warning",
|
||||
"continue": "Continue",
|
||||
"shared": "Shared",
|
||||
"pin": "Pin",
|
||||
"unpin": "Unpin"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "outdated"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "Add a version",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "Shared maps"
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Oculus Mode",
|
||||
@@ -36,26 +48,34 @@
|
||||
"desktop-description": "First Person Flying Controller mode allows you to use WASD and the mouse to navigate around the menu in game. This makes testing much easier, because you don't have to put on your headset!",
|
||||
"debug": "Debug Mode",
|
||||
"debug-description": "Enables the output log window for IPA. This will show the debug console that mods use.",
|
||||
"outdated-tippy": "This version is outdated, and some mods or features may no longer work as expected. Prefer using the recommended version ({recommendedVersion}) of Beat Saber to enjoy the latest features and bugfixes.",
|
||||
"advanced-launch": {
|
||||
"button": "Advanced launch",
|
||||
"button": "Launch options",
|
||||
"placeholder": "Additional arguments ex: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Skip Steam",
|
||||
"skipsteam-description": "Stops Steam from opening automatically with Beat Saber, enable if you are using a different VR runtime like WiVRn or Monado that SteamVR may interfere with.",
|
||||
"map-editor": "Map Editor",
|
||||
"map-editor-description": "Start the official Beat Saber map editor instead of the game.",
|
||||
"proton-logs": "Proton Logs",
|
||||
"proton-logs-description": "Enables the recording of proton logs for this Beat Saber install to \"{versionPath}\"."
|
||||
},
|
||||
"maps": {
|
||||
"title": "Shared maps",
|
||||
"search-bar": {
|
||||
"search-placeholder": "Search a map",
|
||||
"filters-btn": "Filters",
|
||||
"dropdown": {
|
||||
"export-maps": "Export maps",
|
||||
"delete-maps": "Delete maps"
|
||||
"delete-maps": "Delete maps",
|
||||
"delete-duplicate-maps": "Delete duplicates"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "Add"
|
||||
"drop-down": {
|
||||
"browse-maps": "Browse maps",
|
||||
"import-maps": "Import maps"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -67,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "No maps",
|
||||
"button": "Download maps"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Import your maps",
|
||||
"subtext": "Drop your zip files here to import your maps"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "Browse playlists",
|
||||
"create-a-playlist": "Create a playlist",
|
||||
"import-playlists": "Import playlists"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Import your playlists",
|
||||
"subtext": "Drop your \".bplist\" or \".json\" files here to import them"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,7 +112,8 @@
|
||||
"mods-not-available": "No mods are available yet for this version of Beat Saber",
|
||||
"buttons": {
|
||||
"more-infos": "More info",
|
||||
"install-or-update": "Install or update"
|
||||
"install-or-update": "Install or update",
|
||||
"reinstall-all": "Reinstall all"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -86,9 +122,21 @@
|
||||
"latest": "Latest",
|
||||
"description": "Description",
|
||||
"dropdown": {
|
||||
"uninstall-all": "Uninstall all"
|
||||
"import-mods": "Import mods",
|
||||
"uninstall-all": "Uninstall all",
|
||||
"unselect-all": "Unselect all"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "Mods already installed",
|
||||
"description": "All selected mods are already installed"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Import your mods",
|
||||
"subtext": "Drop your \"zip\" or \"dll\" files here to import them"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -98,12 +146,11 @@
|
||||
"edit": "Edit",
|
||||
"uninstall": "Uninstall",
|
||||
"create-shortcut": "Create a shortcut",
|
||||
"shared-folders": "Shared Folders",
|
||||
"restore-oculus-folder": "Restore the folder"
|
||||
"shared-folders": "Shared Folders"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "Select a version",
|
||||
"title": "Download a version",
|
||||
"steam-release": "Release page",
|
||||
"dropdown": {
|
||||
"refresh": "Refresh versions",
|
||||
@@ -117,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "Logging out will allow you to switch accounts on the next Beat Saber download.",
|
||||
"logout": "Log out",
|
||||
"logout-success": "Logout Successful",
|
||||
"download-platform": {
|
||||
"title": "Default Platform",
|
||||
"desc": "Choose the default platform that will be used to download versions of Beat Saber.",
|
||||
@@ -136,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "Installation folder",
|
||||
"description": "Change the default folder for Beat Saber versions and other upcoming features.",
|
||||
"choose-folder": "Choose folder"
|
||||
"description": "Change the folder that will contain all the content downloaded by BSManager."
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Proton folder",
|
||||
"description": "Change the folder to the Proton path. (eg. Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "Setting the Proton folder failed",
|
||||
"invalid-folder": "Invalid Proton folder path"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "Additional content",
|
||||
@@ -154,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "English, United Kingdom",
|
||||
"en-US": "English, USA",
|
||||
"fr-FR": "French",
|
||||
"es-ES": "Spanish",
|
||||
"it-IT": "Italian",
|
||||
"de-DE": "German",
|
||||
"ru-RU": "Russian",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"zh-TW": "Chinese (Traditional)",
|
||||
"ja-JP": "Japanese"
|
||||
"ja-JP": "Japanese",
|
||||
"ko-KR": "Korean"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -195,6 +254,41 @@
|
||||
"report-bug": "Report a bug",
|
||||
"open-logs": "Open logs"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "Advanced",
|
||||
"description": "Advanced settings for BSManager.",
|
||||
"hardware-acceleration": {
|
||||
"title": "Hardware Acceleration",
|
||||
"description": "Enable Hardware Acceleration to use your GPU and improve BSManager's performance. Turn this off if you're experiencing frame drops.",
|
||||
"modal": {
|
||||
"title": "Restart Needed",
|
||||
"body": "Changing hardware acceleration setting will quit and re-launch BSManager. Are you sure you want to do this?",
|
||||
"confirm-btn": "Yes I'm sure"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "An error occurred, unable to disable hardware acceleration."
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "Use Symlinks",
|
||||
"description": "Use Symlinks instead of Junctions to link folders. Turn this on only if you really need it.",
|
||||
"modal": {
|
||||
"title": "Symlink Permissions",
|
||||
"body": "When creating symlinks, BSManager will require administrator privileges or developer mode enabled on your system. Are you sure you want to continue?",
|
||||
"confirm-btn": "Yes I'm sure"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "An error occurred, unable to change symlinks settings."
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "Use system proxy",
|
||||
"description": "BSManager will make network requests through your system proxy.",
|
||||
"error-notification": {
|
||||
"message": "An error occurred, unable to change system proxy settings."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -213,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "Operation running",
|
||||
"no-internet": "No internet"
|
||||
"no-internet": "No internet",
|
||||
"file-not-supported": "File not supported"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "Wait for the current operation to finish, then try again.",
|
||||
"no-internet": "Check your connection and try again."
|
||||
"no-internet": "Check your connection and try again.",
|
||||
"file-not-supported": "Only {types} files are supported."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -239,12 +335,11 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": ".NET 6 Required"
|
||||
},
|
||||
"msg": {
|
||||
"401": "Steam doesn't seem to want to let us download Beat Saber 😢",
|
||||
"404": "Unable to contact Steam servers.",
|
||||
"ExeNotFoundWindows": "\"DepotDownloader.exe\" is missing. Please check if the executable is quarantined by your anti-virus.",
|
||||
"ExeNotFoundLinux": "\"DepotDownloader\" executable is missing.",
|
||||
"Password": "Password is invalid.",
|
||||
"InvalidCredentials": "Invalid login credentials, unapproved connection, or too many login attempts.",
|
||||
"NoManifest": "No manifest was found",
|
||||
@@ -264,11 +359,7 @@
|
||||
"LicenceError": "Unable to get the list of licenses.",
|
||||
"RateLimitExceeded": "You've tried too many times, wait a while and try again later.",
|
||||
"TokenRejected": "Your login token has been rejected 😕 Please try again.",
|
||||
"AccessDenied": "Access to Steam has been denied.",
|
||||
"dotnet-required": ".NET 6 Runtime must be installed in order to download a version of Beat Saber. Download it by clicking the button below."
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": "Download .NET 6"
|
||||
"AccessDenied": "Access to Steam has been denied."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "Unable to obtain the manifest required for download.",
|
||||
"VERIFY_INTEGRITY_FAILED": "An error occurred during file verification.",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "Some files failed to download.",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "The login token took too long to retrieve.",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "The Meta login window was closed.",
|
||||
"META_LOGIN_TIMED_OUT": "The login token took too long to retrieve.",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "The Meta login window was closed.",
|
||||
"NO_META_AUTH_TOKEN": "Unable to retrieve the Meta login token required for download.",
|
||||
"UNKNOWN_ERROR": "An unknown error occurred."
|
||||
}
|
||||
@@ -370,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Launching...🚀",
|
||||
"STEAM_LAUNCHING": "Steam is launching!"
|
||||
"STEAM_LAUNCHING": "Steam is launching!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Skipping Steam launch"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "Don't forget to warm up 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber will automatically launch after Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber will automatically launch after Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "I hope you know what you're doing :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -384,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculus is not running",
|
||||
"BS_ALREADY_RUNNING": "Beat Saber already running",
|
||||
"EXE_NOT_FINDED": "Missing files",
|
||||
"PROTON_NOT_SET": "Proton folder not set",
|
||||
"PROTON_NOT_FOUND": "Proton binary not found",
|
||||
"EXIT": "Abrupt stop",
|
||||
"OCULUS_LIB_NOT_FOUND": "Oculus library not found"
|
||||
"OCULUS_LIB_NOT_FOUND": "Oculus library not found",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Original Oculus version not found"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "An unknown error has occurred.",
|
||||
@@ -394,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "Close BeatSaber before launching it again.",
|
||||
"EXE_NOT_FINDED": "Some files seem to be missing, try to verify the files.",
|
||||
"EXIT": "BeatSaber stopped abruptly, tries to check the files.",
|
||||
"OCULUS_LIB_NOT_FOUND": "Check that the Oculus application is properly installed, and that the libraries are correctly defined in Oculus."
|
||||
"OCULUS_LIB_NOT_FOUND": "Check that the Oculus application is properly installed, and that the libraries are correctly defined in Oculus.",
|
||||
"PROTON_NOT_SET": "Set the Proton path in settings.",
|
||||
"PROTON_NOT_FOUND": "Set the Proton path in settings.",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber must be installed from the Oculus app before opening."
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "Launch Steam"
|
||||
@@ -413,7 +512,8 @@
|
||||
"CantEditSteam": "Unable to edit",
|
||||
"CantRename": "Renaming impossible",
|
||||
"VersionAlreadExist": "This version already exists",
|
||||
"CantClone": "Cloning impossible"
|
||||
"CantClone": "Cloning impossible",
|
||||
"UnknownError": "An unknown error occurred"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "You can't edit the Steam version. You can clone it though."
|
||||
@@ -460,12 +560,44 @@
|
||||
"no-mods": "No mods are installed in this version 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "Mods import completed",
|
||||
"error": "An error occurred during the mods import"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Mods successfully imported.",
|
||||
"some-success": "Some mods were successfully imported.",
|
||||
"no-dlls": "The file(s) do not contain any \"dll\" files."
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "Map installation complete",
|
||||
"error": "An error occurred while installing the map"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "No Duplicates",
|
||||
"msg": "No maps were deleted"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "Duplicates Deleted",
|
||||
"msg": "Duplicates were deleted"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "Maps import completed",
|
||||
"error": "An error occurred during the maps import"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Maps successfully imported.",
|
||||
"some-success": "Some maps were successfully imported.",
|
||||
"only-accept-zip": "Only zip files are supported.",
|
||||
"invalid-zip": "The zip file(s) do not contain any maps.",
|
||||
"unknown": "An unknown error occurred."
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -486,6 +618,19 @@
|
||||
"title": "Backup created",
|
||||
"msg": "Sharing the 'UserData' folder can generate errors, in case of problems unlink the folder to restore the backup"
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "Error while linking folder",
|
||||
"msg": {
|
||||
"EPERM": "BSManager does not have the necessary permissions to link the folder.",
|
||||
"EACCES": "BSManager does not have the necessary permissions to link the folder.",
|
||||
"ENOSPC": "The disk is full, make some space and try again.",
|
||||
"UNKNOWN_ERROR": "An unknown error has occurred while linking the folder."
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "Adding shared folder failed",
|
||||
"msg": "You can't add \"{folder}\" to shared folders."
|
||||
}
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
@@ -496,6 +641,14 @@
|
||||
"error": {
|
||||
"msg": "An error occurred while creating the shortcut."
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "Version Outdated",
|
||||
"msg": "This Beat Saber version is outdated, use the recommended version to enjoy the latest features and bugfixes",
|
||||
"actions": {
|
||||
"do-not-remind": "Do not remind me",
|
||||
"ok": "Ok"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -505,8 +658,7 @@
|
||||
"choose-store": {
|
||||
"title": "Which platform?",
|
||||
"body": "Select the platform from which you wish to download Beat Saber.",
|
||||
"set-in-settings": "Set the default platform in settings",
|
||||
"unavailable": "Due to recent changes by Oculus, downgrading Oculus versions is currently no longer available. We're investigating the issue and will keep you posted on the BSManager Discord server."
|
||||
"set-in-settings": "Set the default platform in settings"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steam Guard",
|
||||
@@ -556,8 +708,8 @@
|
||||
},
|
||||
"steam-credentials": {
|
||||
"title": "Steam Credentials",
|
||||
"p-1": "The credentials are only used to download the game because steam need to verify that you paid the game in order to be allowed to download it. They aren't saved and directly passed to DepotDownloader. If you don't want to enter your credentials you can follow this tutorial :",
|
||||
"p-2": "and then click on the gear icon in the top right corner and select \"Import a version\", select the folder where beat saber has been downloaded (If you follow the tutorial above you should have the correct location)"
|
||||
"p-1": "Your Steam credentials are only required to download versions of Beat Saber, we use DepotDownloader to achieve this which requires your Steam credentials to verify that you own the game within your library before allowing you to retrieve the game files, your credentials are not stored or saved and are passed directly to DepotDownloader. However, if you don't want to do that, you can follow this tutorial instead: ",
|
||||
"p-2": "Afterwards you can click on the gear icon in the top right corner and select \"Import a version\", then you can select the folder where Beat Saber was downloaded to. (If you followed the tutorial, you will have the right location)"
|
||||
},
|
||||
"bs-import-version": {
|
||||
"title": "Import a version",
|
||||
@@ -633,27 +785,25 @@
|
||||
"multiple": "These maps will also be removed from versions using shared maps"
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "Link maps",
|
||||
"desc": "Linking maps allows sharing maps between all versions with this feature enabled. Once linked, this version will benefit from shared maps.",
|
||||
"info": "Adding and deleting maps will also be shared",
|
||||
"keep-maps": {
|
||||
"label": "Keep maps",
|
||||
"title": "Keeping maps will copy all maps from the current version to the shared maps folder. Otherwise, no maps will be kept from this version and they will be lost."
|
||||
},
|
||||
"valid-btn": "Link maps"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "Unlink maps",
|
||||
"desc": "Be careful, unlinking maps will disable the use of shared maps for this version, until it is reenabled.",
|
||||
"keep-maps": {
|
||||
"label": "Keep maps",
|
||||
"title": "Keeping maps will copy all maps from the shared folder to the current version after unlinking. Maps will not be lost if this is disabled."
|
||||
},
|
||||
"valid-btn": "Unlink maps"
|
||||
}
|
||||
},
|
||||
"link-contents":{
|
||||
"title": "Link {contentType}",
|
||||
"p-1": "Linking {contentType} allows sharing {contentType} between all versions with this feature enabled. Once linked, this version will benefit from shared {contentType}.",
|
||||
"p-2": "In order to enjoy the linking feature, all your {itemsHtml} will be moved to the {sharedHtml} folder. After that, a symbolic link pointing to the shared {contentType} folder will replace your original {contentType} folder.",
|
||||
"warning": "Please note that any changes affecting {contentType} will also affect all versions with this feature enabled.",
|
||||
"what-is-a-symbolic-link": "What is a symbolic link?",
|
||||
"i-need-help": "I need help",
|
||||
"valid-btn": "Link {contentType}"
|
||||
},
|
||||
"unlink-contents":{
|
||||
"title": "Unlink {contentType}",
|
||||
"p-1": "Be careful, unlinking {contentType} will disable the use of shared {contentType} for this version, until it is reenabled.",
|
||||
"p-2": "In order to unlink your maps, the symbolic link pointing to the {sharedHtml} will be removed. After that, all maps in the shared folder will be copied to the {itemsHtml} folder of your Beat Saber version.",
|
||||
"do-not-copy-contents": "Do not copy {contentType}",
|
||||
"do-not-copy-contents-tip": "If enabled, {contentType} in the shared folder will not be copied to your Beat Saber version. As a result, no {contentType} will remain in your Beat Saber version after unlinking.",
|
||||
"valid-btn": "Unlink {contentType}"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "Search",
|
||||
"loading-maps": "Loading maps...",
|
||||
@@ -675,9 +825,14 @@
|
||||
"add-folder": "Add Folder",
|
||||
"link-folder": "Link Folder",
|
||||
"unlink-folder": "Unlink Folder",
|
||||
"link-all": "Link all"
|
||||
"link-all": "Link all",
|
||||
"remove-from-the-list": "Remove from the list"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "Adding Shared Folder",
|
||||
"description": "You might experience issues when linking the \"{folder}\" folder. Are you sure you want to add it?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "Create a shortcut",
|
||||
"desc": "Creating a shortcut will allow you to start Beat Saber with the chosen options without going through BSManager.",
|
||||
@@ -696,40 +851,74 @@
|
||||
"stay": "Remember me",
|
||||
"connect-to-meta": "Connect to Meta"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "Warning",
|
||||
"body": {
|
||||
"must-be-installed-once": "You must have installed Beat Saber at least once from the Oculus Store, otherwise Beat Saber might automatically close after launching.",
|
||||
"need-backup": "To launch this version, the Beat Saber installation folder located in your Oculus library will be renamed.",
|
||||
"can-restore-later": "If needed, you can restore it from BSManager by going to the options of the original Oculus version and clicking on 'Restore the folder'",
|
||||
"tips-launch-oculus": "Tip: You can launch this version directly from Oculus, as long as the original version is not restored."
|
||||
},
|
||||
"not-remind-me": "Do not remind me",
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "Enable Sideloading",
|
||||
"info-1": "In order to launch Beat Saber, the ability to run sideloaded apps must be enabled. BSManager will request administrator rights to enable this feature automatically.",
|
||||
"info-2": "The sideloaded apps feature allows launching games located outside your Oculus library folder.",
|
||||
"info-3": "After sideloading is activated, the feature will remain active, and you will no longer be prompted to enable it.",
|
||||
"i-want-to-do-it-myself": "I want to do it myself",
|
||||
"understood": "Understood"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Meta Token",
|
||||
"title": "Oculus Token",
|
||||
"body": {
|
||||
"need-token": "To download Beat Saber, your Meta login token is required.",
|
||||
"how-obtain-token": "How do I obtain my Meta Token?",
|
||||
"input-label": "Meta Token",
|
||||
"token-is-invalid": "The Token is invalid."
|
||||
"info-enter-token": "To download Beat Saber, your Oculus login token is required.",
|
||||
"how-obtain-token": "How do I obtain my Oculus Token?",
|
||||
"oculus-token": "Oculus Token",
|
||||
"token-is-invalid": "The Token is invalid.",
|
||||
"save-my-token": "Save my token",
|
||||
"have-token-saved": "I already have a token saved",
|
||||
"save-token-info": "This will save your token for easier reuse. You will need to create a password to encrypt your token for storage purposes. If you ever forget your password, you just need to provide your token again.",
|
||||
"password": "Password",
|
||||
"password-too-short": "Password too short",
|
||||
"info-enter-password": "To download Beat Saber, your Oculus login token is required. Enter the password used to save your Oculus token.",
|
||||
"info-disabled-btn-password": "The token decrypted with the provided password is invalid. Make sure the password is the same as the one used to save the token.",
|
||||
"enter-oculus-token": "Enter an Oculus token"
|
||||
},
|
||||
"valid-btn": "Validate"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "Administrator Permissions",
|
||||
"body": {
|
||||
"info": "Steam has been detected as running with administrator permissions. To communicate with Steam, Beat Saber must also be launched as an administrator. Otherwise, Beat Saber might experience problems and close after launching.",
|
||||
"info-2": "Launching Beat Saber in administrator mode will also give administrator rights to the installed mods. Therefore, it is recommended to restart Steam without administrator permissions.",
|
||||
"info-3": "Note that it is advised against giving administrator rights to Steam, as this affects the installed games and mods, presenting a security risk."
|
||||
},
|
||||
"launch-as-admin": "Launch as Administrator",
|
||||
"not-remind-me": "Do not remind me"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "Installation folder",
|
||||
"choose-folder-description": "Choose the folder that will contain all the content downloaded by BSManager. (versions, mods, maps, playlists, etc.)",
|
||||
"default": "Default",
|
||||
"default-tooltip": "Defaults to your home folder"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Proton Folder",
|
||||
"proton-folder-description": "On Linux, BSManager requires Proton to work. Choose the Proton installation folder to continue.",
|
||||
"proton-folder-placeholder": "Proton installation folder",
|
||||
"where-is-proton-installed": "Where is Proton installed?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "The version {outdatedVersion} is outdated, and some mods or features may no longer work as expected. Please download the latest recommended version ({recommendedVersion}) of Beat Saber to enjoy the latest features and bugfixes."
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "Duration",
|
||||
"nps": "Notes Per Second",
|
||||
"njs": "Note Jump Speed",
|
||||
"tags": "tags",
|
||||
"specificities": "general",
|
||||
"requirements": "requirements"
|
||||
"requirements": "requirements",
|
||||
"exclude": "exclude",
|
||||
"leaderboard": "leaderboard"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "accuracy",
|
||||
"balanced": "balanced",
|
||||
"challenge": "challenge",
|
||||
"dancestyle": "dance",
|
||||
"dance-style": "dance",
|
||||
"fitness": "fitness",
|
||||
"speed": "speed",
|
||||
"tech": "tech"
|
||||
@@ -738,10 +927,10 @@
|
||||
"dance": "dance",
|
||||
"swing": "swing",
|
||||
"nightcore": "nightcore",
|
||||
"folk": "folk",
|
||||
"family": "family",
|
||||
"folk-acoustic": "folk & acoustic",
|
||||
"kids-family": "kids & family",
|
||||
"ambient": "ambient",
|
||||
"funk": "funk",
|
||||
"funk-disco": "funk & disco",
|
||||
"jazz": "jazz",
|
||||
"soul": "soul",
|
||||
"speedcore": "speedcore",
|
||||
@@ -749,24 +938,24 @@
|
||||
"rb": "r&b",
|
||||
"holiday": "holiday",
|
||||
"vocaloid": "vocaloid",
|
||||
"jrock": "j-rock",
|
||||
"j-rock": "j-rock",
|
||||
"trance": "trance",
|
||||
"drumbass": "drum & bass",
|
||||
"comedy": "comedy",
|
||||
"drum-and-bass": "drum & bass",
|
||||
"comedy-meme": "comedy & meme",
|
||||
"instrumental": "instrumental",
|
||||
"hardcore": "hardcore",
|
||||
"kpop": "k-pop",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "indie",
|
||||
"techno": "techno",
|
||||
"house": "house",
|
||||
"game": "video game",
|
||||
"film": "film",
|
||||
"alt": "alternative",
|
||||
"video-game-soundtrack": "video game",
|
||||
"tv-movie-soundtrack": "TV & film",
|
||||
"alternative": "alternative",
|
||||
"dubstep": "dubstep",
|
||||
"metal": "metal",
|
||||
"anime": "anime",
|
||||
"hiphop": "hiphop",
|
||||
"jpop": "j-pop",
|
||||
"hip-hop-rap": "hip hop & rap",
|
||||
"j-pop": "j-pop",
|
||||
"rock": "rock",
|
||||
"pop": "pop",
|
||||
"electronic": "electronic",
|
||||
@@ -774,11 +963,19 @@
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "AI",
|
||||
"ranked": "ranked",
|
||||
"curated": "curated",
|
||||
"verified": "verified",
|
||||
"fullSpread": "full spread"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "All",
|
||||
"Ranked": "Ranked",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "installed"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "easy",
|
||||
"Normal": "normal",
|
||||
@@ -788,7 +985,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "By {songAutor}",
|
||||
"mapped-by": "mapped by"
|
||||
"mapped-by": "mapped by",
|
||||
"delete": "Delete",
|
||||
"preview": "Preview map",
|
||||
"bsr-code": "BSR code",
|
||||
"download": "Download map",
|
||||
"downloading": "Downloading map",
|
||||
"cancel-download": "Cancel download",
|
||||
"hightlight-difficulty": "Highlight difficulty"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -855,87 +1059,7 @@
|
||||
},
|
||||
"no-models": "No models found.",
|
||||
"no-internet": "No internet connection.",
|
||||
"error-occured": "An error occurred, try again later."
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "Link Avatars",
|
||||
"desc": "Linking avatars allows sharing avatars between all versions with this feature enabled. Once linked, this version will benefit from shared avatars.",
|
||||
"info": "Adding and deleting avatars will also be shared",
|
||||
"keep-models": {
|
||||
"label": "Keep Avatars",
|
||||
"title": "Keeping avatars will copy all avatars from the current version to the shared avatars folder. Otherwise, no avatars will be kept from this version and they will be lost."
|
||||
},
|
||||
"valid-btn": "Link Avatars"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Link Sabers",
|
||||
"desc": "Linking sabers allows sharing sabers between all versions with this feature enabled. Once linked, this version will benefit from shared sabers.",
|
||||
"info": "Adding and deleting sabers will also be shared",
|
||||
"keep-models": {
|
||||
"label": "Keep Sabers",
|
||||
"title": "Keeping sabers will copy all sabers from the current version to the shared sabers folder. Otherwise, no sabers will be kept from this version and they will be lost."
|
||||
},
|
||||
"valid-btn": "Link Sabers"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Link Platforms",
|
||||
"desc": "Linking platforms allows sharing platforms between all versions with this feature enabled. Once linked, this version will benefit from shared platforms.",
|
||||
"info": "Adding and deleting platforms will also be shared",
|
||||
"keep-models": {
|
||||
"label": "Keep Platforms",
|
||||
"title": "Keeping platforms will copy all platforms from the current version to the shared platforms folder. Otherwise, no platforms will be kept from this version and they will be lost."
|
||||
},
|
||||
"valid-btn": "Link Platforms"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Link Bloqs",
|
||||
"desc": "Linking bloqs allows sharing bloqs between all versions with this feature enabled. Once linked, this version will benefit from shared bloqs.",
|
||||
"info": "Adding and deleting bloqs will also be shared",
|
||||
"keep-models": {
|
||||
"label": "Keep Bloqs",
|
||||
"title": "Keeping bloqs will copy all bloqs from the current version to the shared bloqs folder. Otherwise, no bloqs will be kept from this version and they will be lost."
|
||||
},
|
||||
"valid-btn": "Link Bloqs"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "Unlink Avatars",
|
||||
"desc": "Be careful, unlinking avatars will disable the use of shared avatars for this version, until it is reenabled.",
|
||||
"keep-models": {
|
||||
"label": "Keep Avatars",
|
||||
"title": "Keeping avatars will copy all avatars from the shared folder to the current version after unlinking. Avatars will not be lost if this is disabled."
|
||||
},
|
||||
"valid-btn": "Unlink Avatars"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Unlink Sabers",
|
||||
"desc": "Be careful, unlinking sabers will disable the use of shared sabers for this version, until it is reenabled.",
|
||||
"keep-models": {
|
||||
"label": "Keep Sabers",
|
||||
"title": "Keeping sabers will copy all sabers from the shared folder to the current version after unlinking. Sabers will not be lost if this is disabled."
|
||||
},
|
||||
"valid-btn": "Unlink Sabers"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Unlink Platforms",
|
||||
"desc": "Be careful, unlinking platforms will disable the use of shared platforms for this version, until it is reenabled.",
|
||||
"keep-models": {
|
||||
"label": "Keep Platforms",
|
||||
"title": "Keeping platforms will copy all platforms from the shared folder to the current version after unlinking. Platforms will not be lost if this is disabled."
|
||||
},
|
||||
"valid-btn": "Unlink Platforms"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Unlink Bloqs",
|
||||
"desc": "Be careful, unlinking bloqs will disable the use of shared bloqs for this version, until it is reenabled.",
|
||||
"keep-models": {
|
||||
"label": "Keep Bloqs",
|
||||
"title": "Keeping bloqs will copy all bloqs from the shared folder to the current version after unlinking. Bloqs will not be lost if this is disabled."
|
||||
},
|
||||
"valid-btn": "Unlink Bloqs"
|
||||
}
|
||||
"error-occurred": "An error occurred, try again later."
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -945,10 +1069,6 @@
|
||||
"go-to-mods": "Go to mods",
|
||||
"not-remind": "Don't remind me"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "Broken models",
|
||||
"desc": "Since the Beat Saber engine update, all custom model mods have broken and need to be updated. They have not been updated yet."
|
||||
},
|
||||
"export-success": {
|
||||
"title": "Export completed 🎉"
|
||||
}
|
||||
@@ -980,9 +1100,187 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "Or browse files"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "Error creating playlist",
|
||||
"error-playlist-creation-desc": "An error occurred while creating the playlist.",
|
||||
"playlist-created-title": "Playlist created",
|
||||
"playlist-created-desc": "The playlist has been successfully created. You can now sync its maps!",
|
||||
"download-playlist": "Download playlist",
|
||||
"synchronize-playlist": "Synchronize playlist",
|
||||
"synchronize-maps": "Synchronize maps",
|
||||
"error-playlists-synchronization-title": "Error synchronizing playlists",
|
||||
"error-playlists-synchronization-desc": "An error occurred while synchronizing playlists.",
|
||||
"playlists-synchronized-title": "Playlists synchronized!",
|
||||
"playlists-synchronized-desc": "Playlists and their maps have been downloaded.",
|
||||
"playlists-export-error-title": "Error exporting playlists",
|
||||
"playlists-export-error-desc": "An error occurred while exporting playlists.",
|
||||
"playlists-exported-title": "Playlists exported!",
|
||||
"playlists-exported-desc": "Playlists have been successfully exported.",
|
||||
"playlists-with-maps-exported-desc": "Playlists and their maps have been successfully exported.",
|
||||
"playlist-delete-error-title": "Error deleting playlist",
|
||||
"playlist-delete-error-desc": "An error occurred while deleting the playlist.",
|
||||
"playlists-deleted-title": "Playlists deleted!",
|
||||
"playlists-deleted-desc": "Playlists have been successfully deleted.",
|
||||
"edit-playlist": "Edit playlist",
|
||||
"playlist-edit-error-title": "Error editing playlist",
|
||||
"playlist-edit-error-desc": "An error occurred while editing the playlist.",
|
||||
"playlist-edited-title": "Playlist edited!",
|
||||
"playlist-edited-desc": "The playlist has been successfully modified. You can now sync its maps!",
|
||||
"playlists-loading": "Loading playlists...",
|
||||
"no-playlists": "No playlists",
|
||||
"download-playlists": "Download playlists",
|
||||
"created-by": "Created by",
|
||||
"stop-download": "Stop download",
|
||||
"cancel-download": "Cancel download",
|
||||
"open-file": "Open file",
|
||||
"delete-playlist-ask": "Delete playlist?",
|
||||
"delete-playlists-ask": "Delete playlists?",
|
||||
"delete-playlist-desc": "Are you sure you want to delete the playlist \"{playlistTitle}\"?",
|
||||
"delete-playlists-desc": "Are you sure you want to delete {nb} playlists?",
|
||||
"delete-maps": "Delete maps",
|
||||
"delete-playlist-maps-tip": "If enabled, all maps in the playlist will be deleted",
|
||||
"delete-playlists-maps-tip": "If enabled, all maps in the playlists will be deleted",
|
||||
"export-playlist-ask": "Export playlist?",
|
||||
"export-playlists-ask": "Export playlists?",
|
||||
"export-playlist-desc": "Are you sure you want to export the playlist \"{playlistTitle}\"?",
|
||||
"export-playlists-desc": "Are you sure you want to export {nb} playlists?",
|
||||
"export-maps": "Export maps",
|
||||
"export-playlist-maps-tip": "If enabled, all maps in the playlist will also be exported",
|
||||
"export-playlists-maps-tip": "If enabled, all maps in the playlists will also be exported",
|
||||
"export": "Export",
|
||||
"need-clone-title": "Warning",
|
||||
"need-clone-desc-1": "This playlist has been downloaded from an external site and contains a synchronization link.",
|
||||
"need-clone-desc-2": "To avoid losing your changes during synchronization, the playlist will be duplicated and its synchronization link removed.",
|
||||
"need-clone-desc-3": "You can then, if you wish, delete the original playlist.",
|
||||
"understood": "I understand",
|
||||
"synchronize-playlist-ask": "Synchronize playlist?",
|
||||
"synchronize-playlists-ask": "Synchronize playlists?",
|
||||
"synchronize-playlist-desc": "Are you sure you want to synchronize the playlist \"{playlistTitle}\"?",
|
||||
"synchronize-playlists-desc": "Are you sure you want to synchronize {nb} playlists?",
|
||||
"synchronize-playlist-tip": "This action updates playlists and downloads missing maps; it may take several minutes.",
|
||||
"synchronize": "Synchronize",
|
||||
"curated": "Recommended",
|
||||
"verified-mapper": "Verified mapper",
|
||||
"empty-playlists": "Empty playlists",
|
||||
"search-playlist": "Search for a playlist",
|
||||
"no-playlists-found": "No playlists found",
|
||||
"error-occur-while-loading-playlists": "An error occurred while loading playlists",
|
||||
"error-occur-while-loading-playlist": "An error occurred while loading the playlist",
|
||||
"loading-maps": "Loading maps...",
|
||||
"no-maps-found-for-playlist": "No maps found for this playlist",
|
||||
"playlist-contain-no-maps": "The playlist contains no maps",
|
||||
"no-map-installed-for-playlist": "No maps installed for this playlist",
|
||||
"playlist-is-waiting-to-download": "The playlist is waiting to download",
|
||||
"download-maps": "Download maps",
|
||||
"download-missing-maps": "Download missing maps",
|
||||
"playlist-is-downloading": "The playlist is downloading",
|
||||
"some-playlist-maps-are-missing": "Some maps in this playlist are missing",
|
||||
"create-a-playlist": "Create a playlist",
|
||||
"synchronize-playlists": "Synchronize playlists",
|
||||
"export-playlists": "Export playlists",
|
||||
"delete-playlists": "Delete playlists",
|
||||
"choose-image": "Choose an image",
|
||||
"title": "Title",
|
||||
"playlist-title": "Playlist title",
|
||||
"description": "Description",
|
||||
"playlist-description": "Playlist description",
|
||||
"author": "Author",
|
||||
"playlist-author": "Playlist author",
|
||||
"save": "Save",
|
||||
"loading": "Loading...",
|
||||
"installed": "Installed",
|
||||
"no-map-found": "No map found",
|
||||
"edit-playlist-shortcuts": "Hold Shift or Ctrl to select multiple maps",
|
||||
"add-to-playlist": "Add to playlist",
|
||||
"remove-from-playlist": "Remove from playlist",
|
||||
"playlist-is-empty": "The playlist is empty",
|
||||
"continue": "Continue",
|
||||
"nb-maps": "Number of maps",
|
||||
"nb-mappers": "Number of mappers",
|
||||
"duration": "Duration",
|
||||
"nps": "Notes per second",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "Start date — End date",
|
||||
"all": "All",
|
||||
"last-24h": "Last 24h",
|
||||
"last-week": "Last week",
|
||||
"last-month": "Last month",
|
||||
"3-last-month": "Last 3 months"
|
||||
},
|
||||
"playlists-imported": "Playlists imported",
|
||||
"all-playlists-have-been-successfully-imported": "All playlists have been successfully imported",
|
||||
"no-playlist-found": "No playlist found",
|
||||
"no-playlist-found-in-selected-files": "No playlist found in the selected files",
|
||||
"some-playlists-not-imported": "Some playlists not imported",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "Some playlists could not be found",
|
||||
"INVALID_PLAYLIST_FILE": "Some playlists are invalid",
|
||||
"CANNOT_PARSE_PLAYLIST": "Some playlists are unreadable",
|
||||
"unknown": "Some playlists could not be imported"
|
||||
},
|
||||
"no-playlists-imported": "No playlists imported",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "Playlists could not be found",
|
||||
"INVALID_PLAYLIST_FILE": "Playlists are invalid",
|
||||
"CANNOT_PARSE_PLAYLIST": "Playlists are unreadable",
|
||||
"unknown": "No playlist could be imported"
|
||||
}
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||
"monthNames": ["Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
||||
"timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"]
|
||||
"dayNames": [
|
||||
"Sun",
|
||||
"Mon",
|
||||
"Tue",
|
||||
"Wed",
|
||||
"Thu",
|
||||
"Fri",
|
||||
"Sat",
|
||||
"Sunday",
|
||||
"Monday",
|
||||
"Tuesday",
|
||||
"Wednesday",
|
||||
"Thursday",
|
||||
"Friday",
|
||||
"Saturday"
|
||||
],
|
||||
"monthNames": [
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"May",
|
||||
"June",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sept",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dec",
|
||||
"January",
|
||||
"February",
|
||||
"March",
|
||||
"April",
|
||||
"May",
|
||||
"June",
|
||||
"July",
|
||||
"August",
|
||||
"September",
|
||||
"October",
|
||||
"November",
|
||||
"December"
|
||||
],
|
||||
"timeNames": [
|
||||
"a",
|
||||
"p",
|
||||
"am",
|
||||
"pm",
|
||||
"A",
|
||||
"P",
|
||||
"AM",
|
||||
"PM"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "Mapas",
|
||||
"playlists": "Playlists",
|
||||
"models": "Modelos",
|
||||
"avatars": "Avatares",
|
||||
"sabers": "Sables",
|
||||
"platforms": "Plataformas",
|
||||
"blocks": "Bloques",
|
||||
"cancel": "Cancelar",
|
||||
"delete": "Borrar",
|
||||
"accept": "Aceptar",
|
||||
"refuse": "Rechazar",
|
||||
"apply": "Aplicar",
|
||||
"copy": "Copiar",
|
||||
"copied": "¡Copiado!"
|
||||
"copied": "¡Copiado!",
|
||||
"confirm": "Confirmar",
|
||||
"choose-folder": "Elige la carpeta",
|
||||
"unknown": "Se ha producido un error desconocido ¯\\_(ツ)_/¯",
|
||||
"warning": "Advertencia",
|
||||
"continue": "Continuar",
|
||||
"shared": "Compartido",
|
||||
"pin": "Fijar",
|
||||
"unpin": "Desfijar"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "obsoleto"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "Agregar una versión",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "Mapas comunes"
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Modo Oculus",
|
||||
@@ -36,10 +48,17 @@
|
||||
"desktop-description": "El modo FPFC te permite usar WASD y el mouse para navegar por el menú en juego. Esto hace que las pruebas sean mucho más fáciles, ¡porque no tienes que ponerte las gafas VR!",
|
||||
"debug": "Modo Depuración",
|
||||
"debug-description": "Habilita la ventana de registro de salida para IPA. Esto mostrará la consola de depuración que usan los mods.",
|
||||
"outdated-tippy": "Esta versión está desactualizada, y algunos mods o funciones pueden no funcionar como se espera. Es mejor usar la versión recomendada ({recommendedVersion}) de Beat Saber para disfrutar de las últimas características y correcciones.",
|
||||
"advanced-launch": {
|
||||
"button": "Opciones avanzadas",
|
||||
"button": "Opciones de lanzamiento",
|
||||
"placeholder": "Argumentos adicionales ej: --revert; --no-wait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Saltar Steam",
|
||||
"skipsteam-description": "Evita que Steam se abra automáticamente con Beat Saber, habilita esto si estás usando un runtime de VR diferente como WiVRn o Monado que SteamVR podría interferir.",
|
||||
"map-editor": "Editor de mapas",
|
||||
"map-editor-description": "Inicia el editor oficial de mapas de Beat Saber en lugar del juego.",
|
||||
"proton-logs": "Registros de Proton",
|
||||
"proton-logs-description": "Habilita el registro de los logs de Proton para esta instalación de Beat Saber en \"{versionPath}\"."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -47,14 +66,16 @@
|
||||
"filters-btn": "Filtros",
|
||||
"dropdown": {
|
||||
"export-maps": "Exportar mapas",
|
||||
"delete-maps": "Borrar mapas"
|
||||
"delete-maps": "Borrar mapas",
|
||||
"delete-duplicate-maps": "Borrar duplicados"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "Añadir"
|
||||
"drop-down": {
|
||||
"browse-maps": "Explorar mapas",
|
||||
"import-maps": "Importar mapas"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -66,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "No hay mapas",
|
||||
"button": "Descargar mapas"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Importar tus mapas",
|
||||
"subtext": "Suelta tus archivos zip aquí para importar tus mapas"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "Explorar listas de reproducción",
|
||||
"create-a-playlist": "Crear una lista de reproducción",
|
||||
"import-playlists": "Importar listas de reproducción"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Importa tus listas de reproducción",
|
||||
"subtext": "Suelta tus archivos \".bplist\" o \".json\" aquí para importarlos"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,7 +112,8 @@
|
||||
"mods-not-available": "Aún no hay mods disponibles para esta versión de Beat Saber",
|
||||
"buttons": {
|
||||
"more-infos": "Más información",
|
||||
"install-or-update": "Instalar o actualizar"
|
||||
"install-or-update": "Instalar o actualizar",
|
||||
"reinstall-all": "Reinstalar todo"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -85,9 +122,21 @@
|
||||
"latest": "Último",
|
||||
"description": "Descripción",
|
||||
"dropdown": {
|
||||
"uninstall-all": "Desinstalar todos"
|
||||
"import-mods": "Importar mods",
|
||||
"uninstall-all": "Desinstalar todos",
|
||||
"unselect-all": "Deseleccionar todo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "Mods ya instalados",
|
||||
"description": "Todos los mods seleccionados ya están instalados"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Importa tus mods",
|
||||
"subtext": "Coloca tus archivos \"zip\" o \"dll\" aquí para importarlos"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -97,12 +146,11 @@
|
||||
"edit": "Editar",
|
||||
"uninstall": "Desinstalar",
|
||||
"create-shortcut": "Crear un atajo",
|
||||
"shared-folders": "Carpetas Compartidas",
|
||||
"restore-oculus-folder": "Restaurar la carpeta"
|
||||
"shared-folders": "Carpetas Compartidas"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "Selecciona una versión",
|
||||
"title": "Descargar una versión",
|
||||
"steam-release": "Anuncio en Steam",
|
||||
"dropdown": {
|
||||
"refresh": "Actualizar las versiones",
|
||||
@@ -116,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "Desconectarte te permitirá cambiar de cuenta en la próxima descarga de Beat Saber.",
|
||||
"logout": "Cerrar sesión",
|
||||
"logout-success": "Cierre de sesión exitoso",
|
||||
"download-platform": {
|
||||
"title": "Plataforma predeterminada",
|
||||
"desc": "Elige la plataforma predeterminada que se utilizará para descargar las versiones de Beat Saber.",
|
||||
@@ -135,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "Carpeta de instalación",
|
||||
"description": "Cambia la carpeta por defecto para las versiones de Beat Saber y próximas funciones.",
|
||||
"choose-folder": "Elige la carpeta"
|
||||
"description": "Cambiar la carpeta que contendrá todo el contenido descargado por BSManager."
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Carpeta de Proton",
|
||||
"description": "Cambia la carpeta a la ruta de Proton. (por ejemplo, Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "Falló al configurar la carpeta de Proton",
|
||||
"invalid-folder": "Ruta de carpeta de Proton no válida"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "Contenido adicional",
|
||||
@@ -153,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "Inglés, Reino Unido",
|
||||
"en-US": "Inglés, Estados Unidos",
|
||||
"fr-FR": "Francés",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Alemán",
|
||||
"ru-RU": "Ruso",
|
||||
"zh-CN": "Chino simplificado",
|
||||
"zh-TW": "Chino tradicional",
|
||||
"ja-JP": "Japonés"
|
||||
"ja-JP": "Japonés",
|
||||
"ko-KR": "Coreano"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -194,6 +254,41 @@
|
||||
"report-bug": "Informar de un error",
|
||||
"open-logs": "Abrir los registros"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "Avanzados",
|
||||
"description": "Configuraciones avanzadas para BSManager.",
|
||||
"hardware-acceleration": {
|
||||
"title": "Aceleración de hardware",
|
||||
"description": "Habilite la aceleración de hardware para usar su GPU y mejorar el rendimiento de BSManager. Desactive esta opción si experimenta caídas de fotogramas.",
|
||||
"modal": {
|
||||
"title": "Reinicio necesario",
|
||||
"body": "Cambiar la configuración de aceleración de hardware cerrará y reiniciará BSManager. ¿Estás seguro de que quieres hacer esto?",
|
||||
"confirm-btn": "Sí, estoy seguro"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "Ocurrió un error, no se puede desactivar la aceleración de hardware."
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "Usar enlaces simbólicos",
|
||||
"description": "Utilice enlaces simbólicos en lugar de uniones para enlazar carpetas. Actívelo solo si realmente lo necesita.",
|
||||
"modal": {
|
||||
"title": "Permisos de enlace simbólico",
|
||||
"body": "Al crear enlaces simbólicos, BSManager requerirá privilegios de administrador o el modo desarrollador activado en su sistema. ¿Estás seguro de que quieres continuar?",
|
||||
"confirm-btn": "Sí, estoy seguro"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "Ocurrió un error, no se pueden cambiar los ajustes de los enlaces simbólicos."
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "Usar proxy del sistema",
|
||||
"description": "BSManager realizará solicitudes de red a través de su proxy del sistema.",
|
||||
"error-notification": {
|
||||
"message": "Ocurrió un error, no se pueden cambiar los ajustes del proxy del sistema."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -212,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "Operación en curso",
|
||||
"no-internet": "Sin internet"
|
||||
"no-internet": "Sin internet",
|
||||
"file-not-supported": "Archivo no compatible"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "Espera a que termine la operación actual y vuelve a empezar.",
|
||||
"no-internet": "Comprueba tu conexión a Internet e inténtalo de nuevo."
|
||||
"no-internet": "Comprueba tu conexión a Internet e inténtalo de nuevo.",
|
||||
"file-not-supported": "Solo se admiten archivos {types}."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -238,12 +335,11 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": ".NET 6 Requerido"
|
||||
},
|
||||
"msg": {
|
||||
"401": "Parece que Steam no quiere dejarnos descargar Beat Saber 😢",
|
||||
"404": "No se puede contactar con los servidores de Steam",
|
||||
"ExeNotFoundWindows": "Falta \"DepotDownloader.exe\". Por favor, verifique si el ejecutable está en cuarentena por su antivirus.",
|
||||
"ExeNotFoundLinux": "Falta el ejecutable de \"DepotDownloader\".",
|
||||
"Password": "La contraseña es inválida.",
|
||||
"InvalidCredentials": "Credenciales de inicio de sesión inválidas, conexión no aprobada o demasiados intentos de inicio de sesión.",
|
||||
"NoManifest": "No se ha encontrado el manifiesto",
|
||||
@@ -263,11 +359,7 @@
|
||||
"LicenceError": "No se puede obtener la lista de licencias.",
|
||||
"RateLimitExceeded": "Lo has intentado demasiadas veces, espera un poco y vuelve a intentarlo más tarde.",
|
||||
"TokenRejected": "Tu token de inicio de sesión ha sido rechazada 😕 Por favor, inténtalo de nuevo.",
|
||||
"AccessDenied": "El acceso a Steam ha sido denegado.",
|
||||
"dotnet-required": "Se debe instalar el tiempo de ejecución de .NET 6 para descargar una versión de Beat Saber. Descárgalo haciendo clic en el botón de abajo."
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": "Descargar .NET 6"
|
||||
"AccessDenied": "El acceso a Steam ha sido denegado."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -281,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "Imposible obtener el manifiesto necesario para la descarga.",
|
||||
"VERIFY_INTEGRITY_FAILED": "Se produjo un error durante la verificación de archivos.",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "Algunos archivos no pudieron ser descargados.",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "El token de inicio de sesión tardó demasiado en recuperarse.",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "La ventana de inicio de sesión de Meta fue cerrada.",
|
||||
"META_LOGIN_TIMED_OUT": "El token de inicio de sesión tardó demasiado en recuperarse.",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "La ventana de inicio de sesión de Meta fue cerrada.",
|
||||
"NO_META_AUTH_TOKEN": "Imposible recuperar el token de inicio de sesión de Meta necesario para la descarga.",
|
||||
"UNKNOWN_ERROR": "Se produjo un error desconocido."
|
||||
}
|
||||
@@ -369,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Lanzamiento...🚀",
|
||||
"STEAM_LAUNCHING": "¡Steam se está iniciando!"
|
||||
"STEAM_LAUNCHING": "¡Steam se está iniciando!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Saltando el lanzamiento de Steam"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "No olvides calentar 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber se iniciará automáticamente después de Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber se iniciará automáticamente después de Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "Espero que sepas lo que estás haciendo :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -383,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculus no funciona",
|
||||
"BS_ALREADY_RUNNING": "Beat Saber ya está en marcha",
|
||||
"EXE_NOT_FINDED": "Archivos no encontrados",
|
||||
"PROTON_NOT_SET": "Carpeta de Proton no establecida",
|
||||
"PROTON_NOT_FOUND": "Binario de Proton no encontrado",
|
||||
"EXIT": "Parada abrupta",
|
||||
"OCULUS_LIB_NOT_FOUND": "Librería Oculus no encontrada"
|
||||
"OCULUS_LIB_NOT_FOUND": "Librería Oculus no encontrada",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "No se encontró la versión original de Oculus"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "Se ha producido un error desconocido.",
|
||||
@@ -393,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "Cierra Beat Saber antes de volver a iniciarlo.",
|
||||
"EXE_NOT_FINDED": "Parece que faltan algunos archivos, intenta verificar los archivos.",
|
||||
"EXIT": "Beat Saber se detuvo abruptamente, trata de verificar los archivos.",
|
||||
"OCULUS_LIB_NOT_FOUND": "Verifica que la aplicación Oculus esté correctamente instalada y que las librerías estén bien definidas en Oculus."
|
||||
"OCULUS_LIB_NOT_FOUND": "Verifica que la aplicación Oculus esté correctamente instalada y que las librerías estén bien definidas en Oculus.",
|
||||
"PROTON_NOT_SET": "Establece la ruta de Proton en la configuración.",
|
||||
"PROTON_NOT_FOUND": "Establece la ruta de Proton en la configuración.",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber debe instalarse desde la aplicación de Oculus antes de abrirlo."
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "Iniciar Steam"
|
||||
@@ -412,7 +512,8 @@
|
||||
"CantEditSteam": "Imposible editar",
|
||||
"CantRename": "Cambio de nombre imposible",
|
||||
"VersionAlreadExist": "Esta versión ya existe",
|
||||
"CantClone": "Clonación imposible"
|
||||
"CantClone": "Clonación imposible",
|
||||
"UnknownError": "Ocurrió un error desconocido"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "No puedes editar la versión de Steam. Sin embargo, puedes clonarla."
|
||||
@@ -459,12 +560,44 @@
|
||||
"no-mods": "No hay mods instalados en esta versión 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "Importación de mods completada",
|
||||
"error": "Ocurrió un error durante la importación de mods"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Mods importados con éxito.",
|
||||
"some-success": "Algunos mods fueron importados con éxito.",
|
||||
"no-dlls": "El(los) archivo(s) no contienen archivos \"dll\"."
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "Instalación del mapa completada",
|
||||
"error": "Se produjo un error durante la instalación del mapa"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "Sin duplicados",
|
||||
"msg": "No se eliminó ninguna carta"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "Duplicados eliminados",
|
||||
"msg": "Se eliminaron los duplicados"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "Importación de mapas completada",
|
||||
"error": "Ocurrió un error durante la importación de mapas"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Los mapas se han importado con éxito.",
|
||||
"some-success": "Algunos mapas se han importado con éxito.",
|
||||
"only-accept-zip": "Solo se admiten archivos zip.",
|
||||
"invalid-zip": "El o los archivos zip no contienen mapas.",
|
||||
"unknown": "Se produjo un error desconocido."
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -485,6 +618,19 @@
|
||||
"title": "Backup creado",
|
||||
"msg": "Compartir la carpeta 'UserData' puede generar errores, en caso de problemas desvincula la carpeta para restaurar la copia de seguridad"
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "Error al enlazar la carpeta",
|
||||
"msg": {
|
||||
"EPERM": "BSManager no tiene los permisos necesarios para enlazar la carpeta.",
|
||||
"EACCES": "BSManager no tiene los permisos necesarios para enlazar la carpeta.",
|
||||
"ENOSPC": "El disco está lleno, libera espacio e inténtalo de nuevo.",
|
||||
"UNKNOWN_ERROR": "Se ha producido un error desconocido al enlazar la carpeta."
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "Error al agregar una carpeta compartida",
|
||||
"msg": "No puedes agregar \"{folder}\" a las carpetas compartidas."
|
||||
}
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
@@ -495,6 +641,14 @@
|
||||
"error": {
|
||||
"msg": "Se produjo un error al crear el acceso directo."
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "Versión desactualizada",
|
||||
"msg": "Esta versión de Beat Saber está desactualizada. Usa la versión recomendada para disfrutar de las últimas características y correcciones.",
|
||||
"actions": {
|
||||
"do-not-remind": "No volver a recordármelo",
|
||||
"ok": "Ok"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -504,8 +658,7 @@
|
||||
"choose-store": {
|
||||
"title": "¿Qué plataforma?",
|
||||
"body": "Selecciona la plataforma desde la que deseas descargar Beat Saber.",
|
||||
"set-in-settings": "Establecer la plataforma predeterminada en los ajustes",
|
||||
"unavailable": "Debido a cambios recientes de Oculus, la degradación de versiones de Oculus ya no está disponible. Estamos investigando el problema y te mantendremos informado en el servidor de Discord de BSManager."
|
||||
"set-in-settings": "Establecer la plataforma predeterminada en los ajustes"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steam Guard",
|
||||
@@ -633,26 +786,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "Vincular mapas",
|
||||
"desc": "La vinculación de mapas permite compartir mapas entre todas las versiones. Una vez vinculada, esta versión se beneficiará de los mapas compartidos",
|
||||
"info": "También se compartirá la adición y eliminación de mapas.",
|
||||
"keep-maps": {
|
||||
"label": "Mantener mapas",
|
||||
"title": "Mantener mapas moverá los mapas de la versión actual a la carpeta de mapas compartidos. De lo contrario, se perderán"
|
||||
},
|
||||
"valid-btn": "Vincular mapas"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "Desvincular mapas",
|
||||
"desc": "Ten en cuenta que desvincular mapas no permitirá el uso de mapas compartidos para esta versión.",
|
||||
"keep-maps": {
|
||||
"label": "Mantener mapas",
|
||||
"title": "Mantener los mapas creará una copia de los mapas compartidos para la versión actual. De lo contrario, no se mantendrá ningún mapa para esta versión."
|
||||
},
|
||||
"valid-btn": "Desvincular mapas"
|
||||
"delete-duplicate-maps": {
|
||||
"title": "¿Borrar mapas?",
|
||||
"desc": "Solo el mapa \"{map}\" está duplicado. ¿Estás seguro de que quieres eliminarlo?",
|
||||
"desc-plural": "Se han encontrado {nb} mapas duplicados. ¿Estás seguro de que quieres eliminarlos?"
|
||||
}
|
||||
},
|
||||
"link-contents": {
|
||||
"title": "Vincular los {contentType}",
|
||||
"p-1": "Vincular los {contentType} permite compartir los {contentType} entre todas las versiones que tengan esta función activada. Una vez vinculados, esta versión se beneficiará de los {contentType} compartidos.",
|
||||
"p-2": "Para disfrutar de la función de vinculación, todos tus {itemsHtml} se moverán a la carpeta {sharedHtml}. Después de eso, un enlace simbólico que apunta a la carpeta compartida de {contentType} reemplazará tu carpeta original de {contentType}.",
|
||||
"warning": "Ten en cuenta que cualquier cambio que afecte a los {contentType} también afectará a todas las versiones con esta función activada.",
|
||||
"what-is-a-symbolic-link": "¿Qué es un enlace simbólico?",
|
||||
"i-need-help": "Necesito ayuda",
|
||||
"valid-btn": "Vincular los {contentType}"
|
||||
},
|
||||
"unlink-contents": {
|
||||
"title": "Desvincular los {contentType}",
|
||||
"p-1": "Ten cuidado, desvincular los {contentType} desactivará el uso de los {contentType} compartidos para esta versión, hasta que se vuelva a activar.",
|
||||
"p-2": "Para desvincular tus {contentType}, se eliminará el enlace simbólico que apunta a la carpeta {sharedHtml}. Después de eso, todos los {contentType} en la carpeta compartida se copiarán a la carpeta {itemsHtml} de tu versión de Beat Saber.",
|
||||
"do-not-copy-contents": "No copiar los {contentType}",
|
||||
"do-not-copy-contents-tip": "Si se activa, los {contentType} en la carpeta compartida no se copiarán a tu versión de Beat Saber. Como resultado, ningún {contentType} permanecerá en tu versión de Beat Saber después de desvincular.",
|
||||
"valid-btn": "Desvincular los {contentType}"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "Buscar",
|
||||
"loading-maps": "Cargando mapas...",
|
||||
@@ -674,9 +830,14 @@
|
||||
"add-folder": "Añadir Carpeta",
|
||||
"link-folder": "Enlazar Carpeta",
|
||||
"unlink-folder": "Desenlazar Carpeta",
|
||||
"link-all": "Enlazar todo"
|
||||
"link-all": "Enlazar todo",
|
||||
"remove-from-the-list": "Eliminar de la lista"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "Agregar una carpeta compartida",
|
||||
"description": "Es posible que experimentes problemas al vincular la carpeta \"{folder}\". ¿Estás seguro de que deseas agregarla?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "Crear un atajo",
|
||||
"desc": "Crear un atajo te permitirá iniciar Beat Saber con las opciones seleccionadas sin pasar por BSManager.",
|
||||
@@ -695,52 +856,86 @@
|
||||
"stay": "Recuérdame",
|
||||
"connect-to-meta": "Conectarse a Meta"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "Atención",
|
||||
"body": {
|
||||
"must-be-installed-once": "Debes haber instalado Beat Saber al menos una vez desde la Oculus Store, de lo contrario, Beat Saber podría cerrarse automáticamente después de iniciar.",
|
||||
"need-backup": "Para iniciar esta versión, la carpeta de instalación de Beat Saber que se encuentra en tu biblioteca de Oculus será renombrada.",
|
||||
"can-restore-later": "Si es necesario, podrás restaurarla desde el BSManager accediendo a las opciones de la versión original de Oculus y haciendo clic en 'Restaurar la carpeta'",
|
||||
"tips-launch-oculus": "Consejo: Podrás iniciar esta versión directamente desde Oculus, siempre que la versión original no haya sido restaurada."
|
||||
},
|
||||
"not-remind-me": "No volver a recordármelo",
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "Habilitar Sideloading",
|
||||
"info-1": "Para poder iniciar Beat Saber, se debe habilitar la capacidad de ejecutar aplicaciones en sideloading. BSManager solicitará permisos de administrador para habilitar esta función automáticamente.",
|
||||
"info-2": "La función de sideloading permite iniciar juegos ubicados fuera de la carpeta de la biblioteca de Oculus.",
|
||||
"info-3": "Una vez que se active el sideloading, la función permanecerá activa y ya no se le pedirá que la habilite.",
|
||||
"i-want-to-do-it-myself": "Quiero hacerlo yo mismo",
|
||||
"understood": "Entendido"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Token de Meta",
|
||||
"title": "Token de Oculus",
|
||||
"body": {
|
||||
"need-token": "Para descargar Beat Saber, se requiere su token de inicio de sesión de Meta.",
|
||||
"how-obtain-token": "¿Cómo obtengo mi Token de Meta?",
|
||||
"input-label": "Token de Meta",
|
||||
"token-is-invalid": "El Token es inválido."
|
||||
"info-enter-token": "Para descargar Beat Saber, se requiere tu token de inicio de sesión de Oculus.",
|
||||
"how-obtain-token": "¿Cómo obtengo mi Token de Oculus?",
|
||||
"oculus-token": "Token de Oculus",
|
||||
"token-is-invalid": "El token es inválido.",
|
||||
"save-my-token": "Guardar mi token",
|
||||
"have-token-saved": "Ya tengo un token guardado",
|
||||
"save-token-info": "Esto guardará tu token para reutilizarlo más fácilmente. Necesitarás crear una contraseña para encriptar tu token para su almacenamiento. Si alguna vez olvidas tu contraseña, solo necesitas proporcionar tu token nuevamente.",
|
||||
"password": "Contraseña",
|
||||
"password-too-short": "Contraseña demasiado corta",
|
||||
"info-enter-password": "Para descargar Beat Saber, se requiere tu token de inicio de sesión de Oculus. Introduce la contraseña utilizada para guardar tu token de Oculus.",
|
||||
"info-disabled-btn-password": "El token descifrado con la contraseña proporcionada es inválido. Asegúrate de que la contraseña sea la misma que la utilizada para guardar el token.",
|
||||
"enter-oculus-token": "Introducir un token de Oculus"
|
||||
},
|
||||
"valid-btn": "Validar"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "Permisos Administrador",
|
||||
"body": {
|
||||
"info": "Se ha detectado que Steam está funcionando con permisos de administrador. Para comunicarse con Steam, Beat Saber también debe iniciarse como administrador. De lo contrario, Beat Saber podría experimentar problemas y cerrarse después de iniciar.",
|
||||
"info-2": "Iniciar Beat Saber en modo administrador también otorgará derechos de administrador a los mods instalados. Por lo tanto, se recomienda reiniciar Steam sin permisos de administrador.",
|
||||
"info-3": "Tenga en cuenta que se desaconseja otorgar derechos de administrador a Steam, ya que esto afecta a los juegos y mods instalados, presentando un riesgo de seguridad."
|
||||
},
|
||||
"launch-as-admin": "Iniciar como Administrador",
|
||||
"not-remind-me": "No volver a recordármelo"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "Carpeta de instalación",
|
||||
"choose-folder-description": "Elija la carpeta que contendrá todo el contenido descargado por BSManager. (versiones, mods, mapas, listas de reproducción, etc.)",
|
||||
"default": "Predeterminado",
|
||||
"default-tooltip": "Por defecto, en su carpeta personal"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Carpeta de Proton",
|
||||
"proton-folder-description": "En Linux, BSManager necesita Proton para funcionar. Elija la carpeta de instalación de Proton para continuar.",
|
||||
"proton-folder-placeholder": "Carpeta de instalación de Proton",
|
||||
"where-is-proton-installed": "¿Dónde está instalado Proton?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "La versión {outdatedVersion} está obsoleta, y algunos mods o funciones pueden no funcionar como se espera. Por favor, descarga la última versión recomendada ({recommendedVersion}) de Beat Saber para disfrutar de las últimas funciones y correcciones de errores."
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "Duración",
|
||||
"nps": "Notas Por Segundo",
|
||||
"njs": "Velocidad de salto de nota",
|
||||
"tags": "tags",
|
||||
"specificities": "general",
|
||||
"requirements": "requisitos"
|
||||
"requirements": "requisitos",
|
||||
"exclude": "excluir",
|
||||
"leaderboard": "tabla de clasificación"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "precisión",
|
||||
"balanced": "equilibrado",
|
||||
"challenge": "desafío",
|
||||
"dancestyle": "baile",
|
||||
"dance-style": "baile",
|
||||
"fitness": "fitness",
|
||||
"speed": "speed",
|
||||
"tech": "tech"
|
||||
},
|
||||
"map-styles": {
|
||||
"dance": "baile",
|
||||
"dance": "danza",
|
||||
"swing": "swing",
|
||||
"nightcore": "nightcore",
|
||||
"folk": "folk",
|
||||
"family": "familia",
|
||||
"ambient": "ambiente",
|
||||
"funk": "funk",
|
||||
"folk-acoustic": "folk & acústico",
|
||||
"kids-family": "niños & familia",
|
||||
"ambient": "ambiental",
|
||||
"funk-disco": "funk & disco",
|
||||
"jazz": "jazz",
|
||||
"soul": "soul",
|
||||
"speedcore": "speedcore",
|
||||
@@ -748,36 +943,44 @@
|
||||
"rb": "r&b",
|
||||
"holiday": "vacaciones",
|
||||
"vocaloid": "vocaloid",
|
||||
"jrock": "j-rock",
|
||||
"j-rock": "j-rock",
|
||||
"trance": "trance",
|
||||
"drumbass": "drum & bass",
|
||||
"comedy": "comedia",
|
||||
"drum-and-bass": "drum & bass",
|
||||
"comedy-meme": "comedia & meme",
|
||||
"instrumental": "instrumental",
|
||||
"hardcore": "hardcore",
|
||||
"kpop": "k-pop",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "indie",
|
||||
"techno": "tecno",
|
||||
"techno": "techno",
|
||||
"house": "house",
|
||||
"game": "videojuego",
|
||||
"film": "film",
|
||||
"alt": "alternativa",
|
||||
"video-game-soundtrack": "videojuego",
|
||||
"tv-movie-soundtrack": "TV & cine",
|
||||
"alternative": "alternativo",
|
||||
"dubstep": "dubstep",
|
||||
"metal": "metal",
|
||||
"anime": "anime",
|
||||
"hiphop": "hiphop",
|
||||
"jpop": "j-pop",
|
||||
"hip-hop-rap": "hip hop & rap",
|
||||
"j-pop": "j-pop",
|
||||
"rock": "rock",
|
||||
"pop": "pop",
|
||||
"electronic": "electrónico",
|
||||
"classical-orchestral": "Clásico y orquestal"
|
||||
"electronic": "electrónica",
|
||||
"classical-orchestral": "Clásica & Orquestal"
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "IA",
|
||||
"ranked": "rankado",
|
||||
"curated": "recomendado",
|
||||
"verified": "verificado",
|
||||
"fullSpread": "panel completo"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "Todos",
|
||||
"Ranked": "Rankado",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "instalado"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "fácil",
|
||||
"Normal": "normal",
|
||||
@@ -787,7 +990,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "Por {songAutor}",
|
||||
"mapped-by": "mapeado por"
|
||||
"mapped-by": "mapeado por",
|
||||
"delete": "Borrar",
|
||||
"preview": "Vista previa del mapa",
|
||||
"bsr-code": "Código BSR",
|
||||
"download": "Descargar mapa",
|
||||
"downloading": "Descargando mapa",
|
||||
"cancel-download": "Cancelar descarga",
|
||||
"hightlight-difficulty": "Resaltar la dificultad"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -855,86 +1065,6 @@
|
||||
"no-models": "No se encontraron modelos.",
|
||||
"no-internet": "Sin conexión a Internet.",
|
||||
"error-occured": "Ocurrió un error, inténtalo de nuevo más tarde."
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "Vincular avatares",
|
||||
"desc": "La vinculación de avatares permite compartir avatares entre todas las versiones. Una vez vinculada, esta versión se beneficiará de los avatares compartidos",
|
||||
"info": "La adición y eliminación de avatares también se compartirá",
|
||||
"keep-models": {
|
||||
"label": "Conservar los avatares",
|
||||
"title": "Conservar los avatares moverá los avatares de la versión actual a la carpeta de avatares compartidos. De lo contrario, se perderán"
|
||||
},
|
||||
"valid-btn": "Vincular avatares"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Vincular sables",
|
||||
"desc": "La vinculación de sables permite compartir sables entre todas las versiones. Una vez vinculada, esta versión se beneficiará de los sables compartidos",
|
||||
"info": "La adición y eliminación de sables también se compartirá",
|
||||
"keep-models": {
|
||||
"label": "Conservar los sables",
|
||||
"title": "Conservar los sables moverá los sables de la versión actual a la carpeta de sables compartidos. De lo contrario, se perderán"
|
||||
},
|
||||
"valid-btn": "Vincular sables"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Vincular plataformas",
|
||||
"desc": "La vinculación de plataformas permite compartir plataformas entre todas las versiones. Una vez vinculada, esta versión se beneficiará de las plataformas compartidas",
|
||||
"info": "La adición y eliminación de plataformas también se compartirá",
|
||||
"keep-models": {
|
||||
"label": "Conservar las plataformas",
|
||||
"title": "Conservar las plataformas moverá las plataformas de la versión actual a la carpeta de plataformas compartidas. De lo contrario, se perderán"
|
||||
},
|
||||
"valid-btn": "Vincular plataformas"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Vincular bloques",
|
||||
"desc": "La vinculación de bloques permite compartir bloques entre todas las versiones. Una vez vinculada, esta versión se beneficiará de los bloques compartidos",
|
||||
"info": "La adición y eliminación de bloques también se compartirá",
|
||||
"keep-models": {
|
||||
"label": "Conservar los bloques",
|
||||
"title": "Conservar los bloques moverá los bloques de la versión actual a la carpeta de bloques compartidos. De lo contrario, se perderán"
|
||||
},
|
||||
"valid-btn": "Vincular bloques"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "Desvincular avatares",
|
||||
"desc": "Atención, desvincular los avatares ya no permitirá el uso de avatares compartidos para esta versión.",
|
||||
"keep-models": {
|
||||
"label": "Conservar los avatares",
|
||||
"title": "Conservar los avatares creará una copia de los avatares compartidos para la versión actual. En caso contrario, ningún avatar se conservará para esta versión."
|
||||
},
|
||||
"valid-btn": "Desvincular avatares"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Desvincular sables",
|
||||
"desc": "Atención, desvincular los sables ya no permitirá el uso de sables compartidos para esta versión.",
|
||||
"keep-models": {
|
||||
"label": "Conservar los sables",
|
||||
"title": "Conservar los sables creará una copia de los sables compartidos para la versión actual. En caso contrario, ningún sable se conservará para esta versión."
|
||||
},
|
||||
"valid-btn": "Desvincular sables"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Desvincular plataformas",
|
||||
"desc": "Atención, desvincular las plataformas ya no permitirá el uso de plataformas compartidas para esta versión.",
|
||||
"keep-models": {
|
||||
"label": "Conservar las plataformas",
|
||||
"title": "Conservar las plataformas creará una copia de las plataformas compartidas para la versión actual. En caso contrario, ninguna plataforma se conservará para esta versión."
|
||||
},
|
||||
"valid-btn": "Desvincular plataformas"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Desvincular bloques",
|
||||
"desc": "Atención, desvincular los bloques ya no permitirá el uso de bloques compartidos para esta versión.",
|
||||
"keep-models": {
|
||||
"label": "Conservar los bloques",
|
||||
"title": "Conservar los bloques creará una copia de los bloques compartidos para la versión actual. En caso contrario, ningún bloques se conservará para esta versión."
|
||||
},
|
||||
"valid-btn": "Desvincular bloques"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -944,10 +1074,6 @@
|
||||
"go-to-mods": "Ir a mods",
|
||||
"not-remind": "No volver a recordarme"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "Modelos rotos",
|
||||
"desc": "Desde la actualización del motor de Beat Saber, todos los mods de modelos personalizados se han roto y necesitan ser actualizados. Todavía no han sido actualizados."
|
||||
},
|
||||
"export-success": {
|
||||
"title": "Exportación completada 🎉"
|
||||
}
|
||||
@@ -979,9 +1105,187 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "O navegar por los archivos"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "Error al crear la lista de reproducción",
|
||||
"error-playlist-creation-desc": "Ocurrió un error al crear la lista de reproducción.",
|
||||
"playlist-created-title": "Lista de reproducción creada",
|
||||
"playlist-created-desc": "La lista de reproducción se ha creado con éxito. ¡Ahora puedes sincronizar sus mapas!",
|
||||
"download-playlist": "Descargar lista de reproducción",
|
||||
"synchronize-playlist": "Sincronizar lista de reproducción",
|
||||
"synchronize-maps": "Sincronizar mapas",
|
||||
"error-playlists-synchronization-title": "Error al sincronizar listas de reproducción",
|
||||
"error-playlists-synchronization-desc": "Ocurrió un error al sincronizar las listas de reproducción.",
|
||||
"playlists-synchronized-title": "¡Listas de reproducción sincronizadas!",
|
||||
"playlists-synchronized-desc": "Las listas de reproducción y sus mapas han sido descargados.",
|
||||
"playlists-export-error-title": "Error al exportar listas de reproducción",
|
||||
"playlists-export-error-desc": "Ocurrió un error al exportar las listas de reproducción.",
|
||||
"playlists-exported-title": "¡Listas de reproducción exportadas!",
|
||||
"playlists-exported-desc": "Las listas de reproducción se han exportado con éxito.",
|
||||
"playlists-with-maps-exported-desc": "Las listas de reproducción y sus mapas se han exportado con éxito.",
|
||||
"playlist-delete-error-title": "Error al eliminar la lista de reproducción",
|
||||
"playlist-delete-error-desc": "Ocurrió un error al eliminar la lista de reproducción.",
|
||||
"playlists-deleted-title": "¡Listas de reproducción eliminadas!",
|
||||
"playlists-deleted-desc": "Las listas de reproducción se han eliminado con éxito.",
|
||||
"edit-playlist": "Editar lista de reproducción",
|
||||
"playlist-edit-error-title": "Error al editar la lista de reproducción",
|
||||
"playlist-edit-error-desc": "Ocurrió un error al editar la lista de reproducción.",
|
||||
"playlist-edited-title": "¡Lista de reproducción editada!",
|
||||
"playlist-edited-desc": "La lista de reproducción se ha modificado con éxito. ¡Ahora puedes sincronizar sus mapas!",
|
||||
"playlists-loading": "Cargando listas de reproducción...",
|
||||
"no-playlists": "No hay listas de reproducción",
|
||||
"download-playlists": "Descargar listas de reproducción",
|
||||
"created-by": "Creado por",
|
||||
"stop-download": "Detener descarga",
|
||||
"cancel-download": "Cancelar descarga",
|
||||
"open-file": "Abrir archivo",
|
||||
"delete-playlist-ask": "¿Eliminar lista de reproducción?",
|
||||
"delete-playlists-ask": "¿Eliminar listas de reproducción?",
|
||||
"delete-playlist-desc": "¿Estás seguro de que quieres eliminar la lista de reproducción \"{playlistTitle}\"?",
|
||||
"delete-playlists-desc": "¿Estás seguro de que quieres eliminar {nb} listas de reproducción?",
|
||||
"delete-maps": "Eliminar mapas",
|
||||
"delete-playlist-maps-tip": "Si está activado, se eliminarán todos los mapas de la lista de reproducción",
|
||||
"delete-playlists-maps-tip": "Si está activado, se eliminarán todos los mapas de las listas de reproducción",
|
||||
"export-playlist-ask": "¿Exportar lista de reproducción?",
|
||||
"export-playlists-ask": "¿Exportar listas de reproducción?",
|
||||
"export-playlist-desc": "¿Estás seguro de que quieres exportar la lista de reproducción \"{playlistTitle}\"?",
|
||||
"export-playlists-desc": "¿Estás seguro de que quieres exportar {nb} listas de reproducción?",
|
||||
"export-maps": "Exportar mapas",
|
||||
"export-playlist-maps-tip": "Si está activado, también se exportarán todos los mapas de la lista de reproducción",
|
||||
"export-playlists-maps-tip": "Si está activado, también se exportarán todos los mapas de las listas de reproducción",
|
||||
"export": "Exportar",
|
||||
"need-clone-title": "Advertencia",
|
||||
"need-clone-desc-1": "Esta lista de reproducción se ha descargado de un sitio externo y contiene un enlace de sincronización.",
|
||||
"need-clone-desc-2": "Para evitar perder tus cambios durante la sincronización, la lista de reproducción se duplicará y se eliminará su enlace de sincronización.",
|
||||
"need-clone-desc-3": "Luego puedes, si lo deseas, eliminar la lista de reproducción original.",
|
||||
"understood": "Entendido",
|
||||
"synchronize-playlist-ask": "¿Sincronizar lista de reproducción?",
|
||||
"synchronize-playlists-ask": "¿Sincronizar listas de reproducción?",
|
||||
"synchronize-playlist-desc": "¿Estás seguro de que quieres sincronizar la lista de reproducción \"{playlistTitle}\"?",
|
||||
"synchronize-playlists-desc": "¿Estás seguro de que quieres sincronizar {nb} listas de reproducción?",
|
||||
"synchronize-playlist-tip": "Esta acción actualiza las listas de reproducción y descarga los mapas faltantes; puede tardar varios minutos.",
|
||||
"synchronize": "Sincronizar",
|
||||
"curated": "Recomendado",
|
||||
"verified-mapper": "Mapeador verificado",
|
||||
"empty-playlists": "Listas de reproducción vacías",
|
||||
"search-playlist": "Buscar una lista de reproducción",
|
||||
"no-playlists-found": "No se encontraron listas de reproducción",
|
||||
"error-occur-while-loading-playlists": "Ocurrió un error al cargar las listas de reproducción",
|
||||
"error-occur-while-loading-playlist": "Ocurrió un error al cargar la lista de reproducción",
|
||||
"loading-maps": "Cargando mapas...",
|
||||
"no-maps-found-for-playlist": "No se encontraron mapas para esta lista de reproducción",
|
||||
"playlist-contain-no-maps": "La lista de reproducción no contiene mapas",
|
||||
"no-map-installed-for-playlist": "No hay mapas instalados para esta lista de reproducción",
|
||||
"playlist-is-waiting-to-download": "La lista de reproducción está esperando para descargar",
|
||||
"download-maps": "Descargar mapas",
|
||||
"download-missing-maps": "Descargar mapas faltantes",
|
||||
"playlist-is-downloading": "La lista de reproducción se está descargando",
|
||||
"some-playlist-maps-are-missing": "Faltan algunos mapas en esta lista de reproducción",
|
||||
"create-a-playlist": "Crear una lista de reproducción",
|
||||
"synchronize-playlists": "Sincronizar listas de reproducción",
|
||||
"export-playlists": "Exportar listas de reproducción",
|
||||
"delete-playlists": "Eliminar listas de reproducción",
|
||||
"choose-image": "Elegir una imagen",
|
||||
"title": "Título",
|
||||
"playlist-title": "Título de la lista de reproducción",
|
||||
"description": "Descripción",
|
||||
"playlist-description": "Descripción de la lista de reproducción",
|
||||
"author": "Autor",
|
||||
"playlist-author": "Autor de la lista de reproducción",
|
||||
"save": "Guardar",
|
||||
"loading": "Cargando...",
|
||||
"installed": "Instalado",
|
||||
"no-map-found": "No se encontró ningún mapa",
|
||||
"edit-playlist-shortcuts": "Mantén presionado Shift o Ctrl para seleccionar múltiples mapas",
|
||||
"add-to-playlist": "Añadir a la lista de reproducción",
|
||||
"remove-from-playlist": "Quitar de la lista de reproducción",
|
||||
"playlist-is-empty": "La lista de reproducción está vacía",
|
||||
"continue": "Continuar",
|
||||
"nb-maps": "Número de mapas",
|
||||
"nb-mappers": "Número de mapeadores",
|
||||
"duration": "Duración",
|
||||
"nps": "Notas por segundo",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "Fecha de inicio — Fecha de fin",
|
||||
"all": "Todo",
|
||||
"last-24h": "Últimas 24h",
|
||||
"last-week": "Última semana",
|
||||
"last-month": "Último mes",
|
||||
"3-last-month": "Últimos 3 meses"
|
||||
},
|
||||
"playlists-imported": "Listas de reproducción importadas",
|
||||
"all-playlists-have-been-successfully-imported": "Todas las listas de reproducción se han importado con éxito",
|
||||
"no-playlist-found": "No se encontró ninguna lista de reproducción",
|
||||
"no-playlist-found-in-selected-files": "No se encontró ninguna lista de reproducción en los archivos seleccionados",
|
||||
"some-playlists-not-imported": "Algunas listas de reproducción no se importaron",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "No se pudieron encontrar algunas listas de reproducción",
|
||||
"INVALID_PLAYLIST_FILE": "Algunas listas de reproducción no son válidas",
|
||||
"CANNOT_PARSE_PLAYLIST": "Algunas listas de reproducción no se pueden leer",
|
||||
"unknown": "No se pudieron importar algunas listas de reproducción"
|
||||
},
|
||||
"no-playlists-imported": "No se importaron listas de reproducción",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "No se pudieron encontrar las listas de reproducción",
|
||||
"INVALID_PLAYLIST_FILE": "Las listas de reproducción no son válidas",
|
||||
"CANNOT_PARSE_PLAYLIST": "Las listas de reproducción no se pueden leer",
|
||||
"unknown": "No se pudo importar ninguna lista de reproducción"
|
||||
}
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
|
||||
"monthNames": ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
|
||||
"timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"]
|
||||
"dayNames": [
|
||||
"Dom",
|
||||
"Lun",
|
||||
"Mar",
|
||||
"Mié",
|
||||
"Jue",
|
||||
"Vie",
|
||||
"Sáb",
|
||||
"Domingo",
|
||||
"Lunes",
|
||||
"Martes",
|
||||
"Miércoles",
|
||||
"Jueves",
|
||||
"Viernes",
|
||||
"Sábado"
|
||||
],
|
||||
"monthNames": [
|
||||
"Ene",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Abr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Ago",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dic",
|
||||
"Enero",
|
||||
"Febrero",
|
||||
"Marzo",
|
||||
"Abril",
|
||||
"Mayo",
|
||||
"Junio",
|
||||
"Julio",
|
||||
"Agosto",
|
||||
"Septiembre",
|
||||
"Octubre",
|
||||
"Noviembre",
|
||||
"Diciembre"
|
||||
],
|
||||
"timeNames": [
|
||||
"a",
|
||||
"p",
|
||||
"am",
|
||||
"pm",
|
||||
"A",
|
||||
"P",
|
||||
"AM",
|
||||
"PM"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "Maps",
|
||||
"playlists": "Playlists",
|
||||
"models": "Modèles",
|
||||
"avatars": "Avatars",
|
||||
"sabers": "Sabres",
|
||||
"platforms": "Plateformes",
|
||||
"blocks": "Blocs",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"accept": "Accepter",
|
||||
"refuse": "Refuser",
|
||||
"apply": "Appliquer",
|
||||
"copy": "Copier",
|
||||
"copied": "Copié !"
|
||||
"copied": "Copié !",
|
||||
"confirm": "Confirmer",
|
||||
"choose-folder": "Choisir un dossier",
|
||||
"unknown": "Une erreur inconnue s'est produite ¯\\_(ツ)_/¯",
|
||||
"warning": "Attention",
|
||||
"continue": "Continuer",
|
||||
"shared": "Partagé",
|
||||
"pin": "Épingler",
|
||||
"unpin": "Désépingler"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "obsolète"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "Ajouter une version",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "Maps partagées"
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Mode Oculus",
|
||||
@@ -36,10 +48,17 @@
|
||||
"desktop-description": "Cela vous permet d'utiliser WASD et la souris pour naviguer dans le menu en jeu. Cela rend les tests beaucoup plus faciles, car vous n'avez pas à mettre votre casque!",
|
||||
"debug": "Mode Debug",
|
||||
"debug-description": "Active la fenêtre de log pour IPA. Cela affichera la console de débogage utilisée par les mods.",
|
||||
"outdated-tippy": "Cette version est obsolète et certains mods ou fonctionnalités peuvent ne plus fonctionner comme prévu. Préférez utiliser la version recommandée ({recommendedVersion}) de Beat Saber pour profiter des dernières fonctionnalités et correctifs.",
|
||||
"advanced-launch": {
|
||||
"button": "Lancement avancé",
|
||||
"button": "Options de lancement",
|
||||
"placeholder": "Arguments supplémentaires ex: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Ignorer Steam",
|
||||
"skipsteam-description": "Empêche Steam de s'ouvrir automatiquement avec Beat Saber, activez-le si vous utilisez un autre runtime VR comme WiVRn ou Monado avec lequel SteamVR pourrait interférer.",
|
||||
"map-editor": "Éditeur de map",
|
||||
"map-editor-description": "Lance l'éditeur officiel de map de Beat Saber au lieu du jeu.",
|
||||
"proton-logs": "Journaux de Proton",
|
||||
"proton-logs-description": "Active l'enregistrement des journaux Proton pour cette installation de Beat Saber sur \"{versionPath}\"."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -47,14 +66,16 @@
|
||||
"filters-btn": "Filtres",
|
||||
"dropdown": {
|
||||
"export-maps": "Exporter les maps",
|
||||
"delete-maps": "Supprimer les maps"
|
||||
"delete-maps": "Supprimer les maps",
|
||||
"delete-duplicate-maps": "Supprimer les doublons"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "Ajouter"
|
||||
"drop-down": {
|
||||
"browse-maps": "Explorer les maps",
|
||||
"import-maps": "Importer des maps"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -66,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "Aucune map",
|
||||
"button": "Télécharger des maps"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Importer vos maps",
|
||||
"subtext": "Déposez vos fichiers zip ici pour importer vos maps"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "Explorer les playlists",
|
||||
"create-a-playlist": "Créer une playlist",
|
||||
"import-playlists": "Importer des playlists"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Importer vos playlists",
|
||||
"subtext": "Déposez vos fichiers \".bplist\" ou \".json\" ici pour les importer"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,7 +112,8 @@
|
||||
"mods-not-available": "Aucun mod n'est encore disponible pour cette version de Beat Saber",
|
||||
"buttons": {
|
||||
"more-infos": "Plus d'infos",
|
||||
"install-or-update": "Installer ou mettre à jour"
|
||||
"install-or-update": "Installer ou mettre à jour",
|
||||
"reinstall-all": "Tout réinstaller"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -85,9 +122,21 @@
|
||||
"latest": "Récent",
|
||||
"description": "Description",
|
||||
"dropdown": {
|
||||
"uninstall-all": "Tout désinstaller"
|
||||
"import-mods": "Importer des mods",
|
||||
"uninstall-all": "Tout désinstaller",
|
||||
"unselect-all": "Tout désélectionner"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "Mods déjà installées",
|
||||
"description": "Tous les mods séléctionnées sont déjà installées"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Importez vos mods",
|
||||
"subtext": "Déposez vos fichiers \"zip\" ou \"dll\" ici pour les importer"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -97,12 +146,11 @@
|
||||
"edit": "Modifier",
|
||||
"uninstall": "Désinstaller",
|
||||
"create-shortcut": "Créer un raccourci",
|
||||
"shared-folders": "Dossiers partagés",
|
||||
"restore-oculus-folder": "Restaurer le dossier"
|
||||
"shared-folders": "Dossiers partagés"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "Choisis une version",
|
||||
"title": "Télécharger une version",
|
||||
"steam-release": "Notes de version",
|
||||
"dropdown": {
|
||||
"refresh": "Actualiser les versions",
|
||||
@@ -116,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "Te déconnecter te permettra de changer de compte au prochain téléchargement de Beat Saber.",
|
||||
"logout": "Déconnexion",
|
||||
"logout-success": "Déconnexion réussie",
|
||||
"download-platform": {
|
||||
"title": "Plateforme par défaut",
|
||||
"desc": "Choisi la plateforme par défaut qui sera utilisée pour télécharger les versions de Beat Saber.",
|
||||
@@ -135,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "Dossier d'installation",
|
||||
"description": "Change le dossier par défaut pour les versions de Beat Saber et d'autres fonctionnalités à venir.",
|
||||
"choose-folder": "Choisir un dossier"
|
||||
"description": "Changer le dossier qui contiendra tout le contenu téléchargé par BSManager."
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Dossier Proton",
|
||||
"description": "Changez le dossier vers le chemin de Proton. (par exemple, Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "Le paramétrage du dossier Proton a échoué",
|
||||
"invalid-folder": "Chemin du dossier Proton invalide"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "Contenus additionnels",
|
||||
@@ -153,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "Anglais, Royaume-Uni",
|
||||
"en-US": "Anglais, États-Unis",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Espagnol",
|
||||
"it-IT": "Italien",
|
||||
"de-DE": "Allemand",
|
||||
"ru-RU": "Russe",
|
||||
"zh-CN": "Chinois simplifié",
|
||||
"zh-TW": "Chinois traditionnel",
|
||||
"ja-JP": "Japonais"
|
||||
"ja-JP": "Japonais",
|
||||
"ko-KR": "Coréen"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -194,6 +254,41 @@
|
||||
"report-bug": "Signaler un bug",
|
||||
"open-logs": "Ouvrir les logs"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "Avancés",
|
||||
"description": "Paramètres avancés pour BSManager.",
|
||||
"hardware-acceleration": {
|
||||
"title": "Accélération matérielle",
|
||||
"description": "Activez l'accélération matérielle pour utiliser votre GPU et améliorer les performances de BSManager. Désactivez cette option si vous rencontrez des chutes d'IPS.",
|
||||
"modal": {
|
||||
"title": "Redémarrage nécessaire",
|
||||
"body": "Changer le paramètre d'accélération matérielle va quitter et relancer BSManager. Êtes-vous sûr de vouloir continuer ?",
|
||||
"confirm-btn": "Oui, je suis sûr"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "Une erreur s'est produite, impossible de désactiver l'accélération matérielle."
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "Utiliser des liens symboliques",
|
||||
"description": "Utilisez des liens symboliques au lieu de jonctions pour lier des dossiers. Activez cette option uniquement si vous en avez besoin.",
|
||||
"modal": {
|
||||
"title": "Permissions des liens symboliques",
|
||||
"body": "Lors de la création de liens symboliques, BSManager nécessitera des privilèges administrateur ou le mode développeur activé sur votre système. Êtes-vous sûr de vouloir continuer ?",
|
||||
"confirm-btn": "Oui, je suis sûr"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "Une erreur s'est produite, impossible de changer les paramètres des liens symboliques."
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "Utiliser le proxy du système",
|
||||
"description": "BSManager effectuera des requêtes réseau via votre proxy système.",
|
||||
"error-notification": {
|
||||
"message": "Une erreur est survenue, impossible de modifier les paramètres du proxy système."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -212,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "Opération en cours",
|
||||
"no-internet": "Pas d'accès Internet"
|
||||
"no-internet": "Pas d'accès Internet",
|
||||
"file-not-supported": "Fichier non supporté"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "Attends la fin de l'opération en cours puis recommence.",
|
||||
"no-internet": "Vérifie ta connexion internet et ressaye."
|
||||
"no-internet": "Vérifie ta connexion internet et ressaye.",
|
||||
"file-not-supported": "Seuls les fichiers {types} sont pris en charge."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -230,17 +327,19 @@
|
||||
"steam-download": {
|
||||
"warnings": {
|
||||
"msg": {
|
||||
"ManifestChecksum": "Le manifeste précédemment téléchargé ne correspond pas au nouveau 🤔",
|
||||
"ConnectionTimeout": "Ta connexion internet semble instable 🥶",
|
||||
"Unknown": "Quelque chose d'étrange s'est produit 🤔 Votre connexion est surement instable."
|
||||
"ConnectionLost": "La connexion a été perdue, essayez à nouveau...",
|
||||
"ConnectionError": "Impossible de se connecter à Steam, essayez à nouveau...",
|
||||
"Unknown": "Quelque chose d'étrange s'est produit 🤔 Votre connexion est probablement instable."
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": ".NET 6 Requis"
|
||||
},
|
||||
"msg": {
|
||||
"401": "Steam ne semble pas vouloir nous laisser télécharger Beat Saber 😢",
|
||||
"404": "Impossible de contacter les serveurs de Steam.",
|
||||
"ExeNotFoundWindows": "\"DepotDownloader.exe\" est manquant. Veuillez vérifier si l'exécutable est mis en quarantaine par votre antivirus.",
|
||||
"ExeNotFoundLinux": "L'exécutable \"DepotDownloader\" est manquanto.",
|
||||
"Password": "Le mot de passe est invalide.",
|
||||
"InvalidCredentials": "Identifiants de connexion invalides, connexion non approuvée, ou trop de tentatives de connexion.",
|
||||
"NoManifest": "Aucun manifest n'a été trouvé.",
|
||||
@@ -260,11 +359,7 @@
|
||||
"LicenceError": "Impossible d'obtenir la liste des licences.",
|
||||
"RateLimitExceeded": "Tu as essayé trop de fois attends un peu et recommence plus tard.",
|
||||
"TokenRejected": "Votre token de connexion a été rejeté 😕 Veuillez réessayer.",
|
||||
"AccessDenied": "L'accès à Steam a été refusé.",
|
||||
"dotnet-required": ".NET 6 Runtime doit être installé pour pouvoir télécharger une version de Beat Saber. Télécharge-le en cliquant sur le bouton ci-dessous."
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": "Télécharger .NET 6"
|
||||
"AccessDenied": "L'accès à Steam a été refusé."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -278,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "Impossible d'obtenir le manifest nécessaire au téléchargement.",
|
||||
"VERIFY_INTEGRITY_FAILED": "Une erreur c'est produite lors de la vérification des fichiers.",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "Certains fichiers n'ont pas pu être téléchargés.",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "Le Token de connexion à mis trop de temps à être récupéré.",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "La fenêtre de connexion à Meta a été fermée.",
|
||||
"META_LOGIN_TIMED_OUT": "Le Token de connexion à mis trop de temps à être récupéré.",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "La fenêtre de connexion à Meta a été fermée.",
|
||||
"NO_META_AUTH_TOKEN": "Impossible de récupérer le token de connexion à Meta nécessaire au téléchargement.",
|
||||
"UNKNOWN_ERROR": "Une erreur inconnue s'est produite."
|
||||
}
|
||||
@@ -366,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Lancement...🚀",
|
||||
"STEAM_LAUNCHING": "Steam se lance !"
|
||||
"STEAM_LAUNCHING": "Steam se lance !",
|
||||
"SKIPPING_STEAM_LAUNCH": "Sauter le lancement de Steam"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "N'oublie pas de t'échauffer 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber se lancera automatiquement après Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber se lancera automatiquement après Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "J'espère que vous savez ce que vous faites :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -380,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculus n'est pas lancé",
|
||||
"BS_ALREADY_RUNNING": "Beat Saber est déjà lancé",
|
||||
"EXE_NOT_FINDED": "Fichiers manquants",
|
||||
"PROTON_NOT_SET": "Dossier Proton non défini",
|
||||
"PROTON_NOT_FOUND": "Binaire Proton non trouvé",
|
||||
"EXIT": "Arrêt brutal",
|
||||
"OCULUS_LIB_NOT_FOUND": "Librairie Oculus introuvable"
|
||||
"OCULUS_LIB_NOT_FOUND": "Librairie Oculus introuvable",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Version originale Oculus non trouvée"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "Une erreur inconnue s'est produite.",
|
||||
@@ -390,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "Ferme Beat Saber avant de le lancer à nouveau.",
|
||||
"EXE_NOT_FINDED": "Quelques fichiers semblent manquants. Essaye de vérifier les fichiers.",
|
||||
"EXIT": "Beat Saber s'est arrêté brusquement, essaye de vérifier les fichiers.",
|
||||
"OCULUS_LIB_NOT_FOUND": "Vérifie que l'application Oculus est correctement installée, et que les librairies sont bien définies dans Oculus."
|
||||
"OCULUS_LIB_NOT_FOUND": "Vérifie que l'application Oculus est correctement installée, et que les librairies sont bien définies dans Oculus.",
|
||||
"PROTON_NOT_SET": "Définissez le chemin de Proton dans les paramètres.",
|
||||
"PROTON_NOT_FOUND": "Définissez le chemin de Proton dans les paramètres.",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber doit être installé depuis l'application Oculus avant de l'ouvrir."
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "Lancer Steam"
|
||||
@@ -409,7 +512,8 @@
|
||||
"CantEditSteam": "Modification impossible",
|
||||
"CantRename": "Renommage impossible",
|
||||
"VersionAlreadExist": "Cette version existe déjà",
|
||||
"CantClone": "Clonage impossible"
|
||||
"CantClone": "Clonage impossible",
|
||||
"UnknownError": "Une erreur inconnue s'est produite"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "Tu ne peux pas modifier la version Steam, cependant tu peux la cloner."
|
||||
@@ -456,12 +560,44 @@
|
||||
"no-mods": "Aucun mod n'est installé dans dans cette version 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "Importation des mods terminée",
|
||||
"error": "Une erreur est survenue lors de l'importation des mods"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Mods importés avec succès.",
|
||||
"some-success": "Certains mods ont été importés avec succès.",
|
||||
"no-dlls": "Le(s) fichier(s) ne contient(ent) aucun fichier \"dll\"."
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "Installation de la map terminée",
|
||||
"error": "Une erreur s'est produite lors de l'installation de la map"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "Pas de doublons",
|
||||
"msg": "Aucune carte n'a été supprimée"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "Doublons supprimés",
|
||||
"msg": "Les doublons ont été supprimés"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "Importation des maps terminée",
|
||||
"error": "Une erreur est survenue lors de l'importation des maps"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Les maps ont été importées avec succès.",
|
||||
"some-success": "Certaines maps ont été importées avec succès.",
|
||||
"only-accept-zip": "Seules les fichiers zip sont pris en charge.",
|
||||
"invalid-zip": "Le ou les fichiers zip ne contiennent aucune maps.",
|
||||
"unknown": "Une erreur inconnue s'est produite."
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -482,7 +618,21 @@
|
||||
"title": "Sauvegarde créée",
|
||||
"msg": "Le partage du dossier 'UserData' peut générer des erreurs, en cas de soucis déliez le dossier pour restaurer la sauvegarde"
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "Erreur lors de la liaison du dossier",
|
||||
"msg": {
|
||||
"EPERM": "BSManager n'a pas les autorisations nécessaires pour lier le dossier.",
|
||||
"EACCES": "BSManager n'a pas les autorisations nécessaires pour lier le dossier.",
|
||||
"ENOSPC": "Le disque est plein, faites de la place et réessayez.",
|
||||
"UNKNOWN_ERROR": "Une erreur inconnue est survenue lors de la liaison du dossier."
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "L'ajout du dossier partagé a échoué",
|
||||
"msg": "Vous ne pouvez pas ajouter \"{folder}\" aux dossiers partagés."
|
||||
}
|
||||
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"success": {
|
||||
@@ -492,6 +642,14 @@
|
||||
"error": {
|
||||
"msg": "Une erreur s'est produite lors de la création du raccourci."
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "Version obsolète",
|
||||
"msg": "Cette version de Beat Saber est obsolète. Utilisez la version recommandée pour profiter des dernières fonctionnalités et correctifs.",
|
||||
"actions": {
|
||||
"do-not-remind": "Ne plus me rappeler",
|
||||
"ok": "Ok"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -501,8 +659,7 @@
|
||||
"choose-store": {
|
||||
"title": "Quelle plateforme ?",
|
||||
"body": "Sélectionnez la plateforme depuis laquelle vous souhaitez télécharger Beat Saber.",
|
||||
"set-in-settings": "Définir la platforme par défaut dans les paramètres",
|
||||
"unavailable": "En raison de récents changements apportés par Oculus, la rétrogradation des versions d'Oculus n'est actuellement plus disponible. Nous étudions le problème et vous tiendrons au courant sur le serveur Discord de BSManager."
|
||||
"set-in-settings": "Définir la platforme par défaut dans les paramètres"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steam Guard",
|
||||
@@ -630,26 +787,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "Lier les maps",
|
||||
"desc": "La liaison des maps permet de partager les maps entre toute les version. Une fois liée, cette version profitera des maps partagées",
|
||||
"info": "L'ajout et la suppression de maps sera également partagé",
|
||||
"keep-maps": {
|
||||
"label": "Conserver les maps",
|
||||
"title": "Conserver les maps déplacera les maps de la version actuelle dans le dossier des maps partagées. Dans le cas contraire elles seront perdues"
|
||||
},
|
||||
"valid-btn": "Lier les maps"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "Délier les maps",
|
||||
"desc": "Attention, délier les maps ne permettra plus l'utilisation des maps paratagées pour cette version.",
|
||||
"keep-maps": {
|
||||
"label": "Conserver les maps",
|
||||
"title": "Conserver les maps créera une copie des maps partagées pour la version actuelle. Dans le cas contraire, aucune map ne sera conservée pour cette version."
|
||||
},
|
||||
"valid-btn": "Délier les maps"
|
||||
"delete-duplicate-maps": {
|
||||
"title": "Supprimer les maps ?",
|
||||
"desc": "Seule la map \"{map}\" est en double. Es-tu sûr de vouloir la supprimer ?",
|
||||
"desc-plural": "{nb} maps en double ont été trouvées. Es-tu sûr de vouloir les supprimer ?"
|
||||
}
|
||||
},
|
||||
"link-contents": {
|
||||
"title": "Lier les {contentType}",
|
||||
"p-1": "Lier les {contentType} permet de partager les {contentType} entre toutes les versions ayant cette fonctionnalité activée. Une fois liés, cette version bénéficiera des {contentType} partagés.",
|
||||
"p-2": "Pour profiter de la fonctionnalité de liaison, les {itemsHtml} seront déplacés dans le dossier {sharedHtml}. Ensuite, un lien symbolique pointant vers le dossier partagé des {contentType} remplacera votre dossier original des {contentType}.",
|
||||
"warning": "Veuillez noter que toute modification affectant les {contentType} affectera également toutes les versions ayant cette fonctionnalité activée.",
|
||||
"what-is-a-symbolic-link": "Qu'est-ce qu'un lien symbolique ?",
|
||||
"i-need-help": "J'ai besoin d'aide",
|
||||
"valid-btn": "Lier les {contentType}"
|
||||
},
|
||||
"unlink-contents": {
|
||||
"title": "Délier les {contentType}",
|
||||
"p-1": "Attention, délier les {contentType} désactivera l'utilisation des {contentType} partagés pour cette version, jusqu'à ce qu'elle soit réactivée.",
|
||||
"p-2": "Pour délier vos {contentType}, le lien symbolique pointant vers le dossier {sharedHtml} sera supprimé. Ensuite, les {contentType} dans le dossier partagé seront copiés dans le dossier {itemsHtml} de votre version de Beat Saber.",
|
||||
"do-not-copy-contents": "Ne pas copier les {contentType}",
|
||||
"do-not-copy-contents-tip": "Si activé, les {contentType} dans le dossier partagé ne seront pas copiés dans votre version de Beat Saber. En conséquence, aucun(e)s {contentType} ne restera dans votre version de Beat Saber après la suppression de la liaison.",
|
||||
"valid-btn": "Délier les {contentType}"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "Rechercher",
|
||||
"loading-maps": "Chargement des maps...",
|
||||
@@ -671,12 +831,17 @@
|
||||
"add-folder": "Ajouter un dossier",
|
||||
"link-folder": "Lier le dossier",
|
||||
"unlink-folder": "Délier le dossier",
|
||||
"link-all": "Tout lier"
|
||||
"link-all": "Tout lier",
|
||||
"remove-from-the-list": "Retirer de la liste"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "Ajout d'un dossier partagé",
|
||||
"description": "Vous pourriez rencontrer des problèmes lors de la liaison du dossier \"{folder}\". Êtes-vous sûr de vouloir l'ajouter ?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "Créer un raccourci",
|
||||
"desc": "Créer un raccourci te permettra de démarrer Beat Saber avec les options choisi sans passé par BSManager.",
|
||||
"desc": "Créer un raccourci te permettra de démarrer Beat Saber avec les options choisies sans passer par BSManager.",
|
||||
"launch-options": "Options de lancement",
|
||||
"advanced-launch": "Lancement avancé",
|
||||
"valid-btn": "Créer le raccourci"
|
||||
@@ -692,89 +857,131 @@
|
||||
"stay": "Se souvenir de moi",
|
||||
"connect-to-meta": "Se connecter à Meta"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "Attention",
|
||||
"body": {
|
||||
"must-be-installed-once": "Vous devez avoir installé au moins une fois Beat Saber depuis l'Oculus Store, sinon Beat Saber pourrait se fermer automatiquement après son lancement.",
|
||||
"need-backup": "Pour lancer cette version, le dossier d'installation de Beat Saber se trouvant dans votre librairie Oculus va être renommé.",
|
||||
"can-restore-later": "Au besoin, vous pourrez le restaurer depuis BSManager en vous rendant dans les options de la version originale Oculus et en cliquant sur \"Restaurer le dossier\"",
|
||||
"tips-launch-oculus": "Astuce : Vous pourrez lancer cette version directement depuis Oculus, tant que la version originale n'est pas restaurée."
|
||||
},
|
||||
"not-remind-me": "Ne plus me rappeler",
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "Activer le sideloading",
|
||||
"info-1": "Pour lancer Beat Saber, la possibilité d'exécuter des applications en sideloading doit être activée. BSManager demandera les droits administrateur pour activer cette fonctionnalité automatiquement.",
|
||||
"info-2": "La fonctionnalité de sideloading permet de lancer des jeux situés en dehors de votre dossier de bibliothèque Oculus.",
|
||||
"info-3": "Une fois le sideloading activé, la fonctionnalité restera active et vous ne serez plus invité à l’activer.",
|
||||
"i-want-to-do-it-myself": "Je veux le faire moi-même",
|
||||
"understood": "J'ai compris"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Token Meta",
|
||||
"title": "Token Oculus",
|
||||
"body": {
|
||||
"need-token": "Pour télécharger Beat Saber, votre token de connexion à Meta est nécessaire.",
|
||||
"how-obtain-token": "Comment obtenir mon Token Meta ?",
|
||||
"input-label": "Token Meta",
|
||||
"token-is-invalid": "Le Token est invalide."
|
||||
"info-enter-token": "Pour télécharger Beat Saber, votre token de connexion à Oculus est nécessaire.",
|
||||
"how-obtain-token": "Comment obtenir mon Token Oculus ?",
|
||||
"oculus-token": "Token Oculus",
|
||||
"token-is-invalid": "Le Token est invalide.",
|
||||
"save-my-token": "Sauvegarder mon token",
|
||||
"have-token-saved": "J'ai déjà un token sauvegardé",
|
||||
"save-token-info": "Ceci enregistrera votre token pour le réutiliser plus facilement. Vous devrez créer un mot de passe pour crypter votre token à des fins de stockage. Si jamais vous oubliez votre mot de passe, il vous suffit de fournir à nouveau votre token.",
|
||||
"password": "Mot de passe",
|
||||
"password-too-short": "Mot de passe trop court",
|
||||
"info-enter-password": "Pour télécharger Beat Saber, votre token de connexion à Oculus est nécessaire. Entrez le mot de passe utilisé pour sauvegarder votre token Oculus.",
|
||||
"info-disabled-btn-password": "Le token déchiffré à l'aide du mot de passe fourni est invalide. Assurez-vous que le mot de passe est le même que celui utilisé pour sauvegarder le token.",
|
||||
"enter-oculus-token": "Entrer un token Oculus"
|
||||
},
|
||||
"valid-btn": "Valider"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "Permissions Administrateur",
|
||||
"body": {
|
||||
"info": "Steam a été détecté comme fonctionnant avec des permissions administrateur. Afin communiquer avec Steam, Beat Saber doit également être lancé en tant qu'administrateur. Dans le cas contraire, Beat Saber pourrait rencontrer des problèmes et se fermer après son lancement.",
|
||||
"info-2": "Lancer Beat Saber en mode administrateur donnera également les droits administrateur aux mods installés. Il est donc plutôt recommandé de redémarrer Steam sans permissions administrateur.",
|
||||
"info-3": "Notez qu'il est déconseillé de donner des droits d'administrateur à Steam, car cela affecte également les jeux et mods installés, présentant un risque pour la sécurité."
|
||||
},
|
||||
"launch-as-admin": "Lancer en administateur",
|
||||
"not-remind-me": "Ne plus me rappeler"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "Dossier d'installation",
|
||||
"choose-folder-description": "Choisissez le dossier qui contiendra tout le contenu téléchargé par BSManager. (versions, mods, cartes, playlists, etc.)",
|
||||
"default": "Par défaut",
|
||||
"default-tooltip": "Par défaut, dans votre dossier personnel"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Dossier Proton",
|
||||
"proton-folder-description": "Sous Linux, BSManager a besoin de Proton pour fonctionner. Choisissez le dossier d'installation de Proton pour continuer.",
|
||||
"proton-folder-placeholder": "Dossier d'installation de Proton",
|
||||
"where-is-proton-installed": "Où est installé Proton ?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "La version {outdatedVersion} est obsolète, et certains mods ou fonctionnalités peuvent ne plus fonctionner comme prévu. Veuillez télécharger la dernière version recommandée ({recommendedVersion}) de Beat Saber pour profiter des dernières fonctionnalités et corrections de bugs."
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "Durée",
|
||||
"nps" : "Notes Par Seconde",
|
||||
"njs": "Vitesse de saut des notes",
|
||||
"tags": "tags",
|
||||
"specificities": "général",
|
||||
"requirements": "requis"
|
||||
"requirements": "requis",
|
||||
"exclude": "exclure",
|
||||
"leaderboard": "tableau des leaders"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "précision",
|
||||
"balanced": "équilibrée",
|
||||
"challenge": "challenge",
|
||||
"dancestyle": "dance",
|
||||
"dance-style": "dance",
|
||||
"fitness": "fitness",
|
||||
"speed": "vitesse",
|
||||
"tech": "tech"
|
||||
},
|
||||
"map-styles": {
|
||||
"dance": "dance",
|
||||
"dance": "danse",
|
||||
"swing": "swing",
|
||||
"nightcore": "nightcore",
|
||||
"folk": "folk",
|
||||
"family": "famille",
|
||||
"ambient": "ambiante",
|
||||
"funk": "funk",
|
||||
"folk-acoustic": "folk & acoustique",
|
||||
"kids-family": "enfants & famille",
|
||||
"ambient": "ambiant",
|
||||
"funk-disco": "funk & disco",
|
||||
"jazz": "jazz",
|
||||
"soul": "soul",
|
||||
"speedcore": "speedcore",
|
||||
"punk": "punk",
|
||||
"rb": "r&b",
|
||||
"holiday": "vacance",
|
||||
"holiday": "vacances",
|
||||
"vocaloid": "vocaloid",
|
||||
"jrock": "j-rock",
|
||||
"j-rock": "j-rock",
|
||||
"trance": "trance",
|
||||
"drumbass": "drum & bass",
|
||||
"comedy": "comédie",
|
||||
"drum-and-bass": "drum & bass",
|
||||
"comedy-meme": "comédie & meme",
|
||||
"instrumental": "instrumental",
|
||||
"hardcore": "hardcore",
|
||||
"kpop": "k-pop",
|
||||
"indie": "indé",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "indie",
|
||||
"techno": "techno",
|
||||
"house": "house",
|
||||
"game": "jeu vidéo",
|
||||
"film": "film",
|
||||
"alt": "alternative",
|
||||
"video-game-soundtrack": "jeu vidéo",
|
||||
"tv-movie-soundtrack": "TV & film",
|
||||
"alternative": "alternatif",
|
||||
"dubstep": "dubstep",
|
||||
"metal": "metal",
|
||||
"metal": "métal",
|
||||
"anime": "anime",
|
||||
"hiphop": "hiphop",
|
||||
"jpop": "j-pop",
|
||||
"hip-hop-rap": "hip hop & rap",
|
||||
"j-pop": "j-pop",
|
||||
"rock": "rock",
|
||||
"pop": "pop",
|
||||
"electronic": "électronique",
|
||||
"classical-orchestral": "classique & orchestrale"
|
||||
"classical-orchestral": "Classique & Orchestral"
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "IA",
|
||||
"ranked": "classée",
|
||||
"curated": "recommandée",
|
||||
"verified": "vérifiée",
|
||||
"fullSpread": "panel complet"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "Tout",
|
||||
"Ranked": "Classée",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "installé"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "facile",
|
||||
"Normal": "normal",
|
||||
@@ -784,7 +991,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "Par {songAutor}",
|
||||
"mapped-by": "mappée par"
|
||||
"mapped-by": "mappée par",
|
||||
"delete": "Supprimer",
|
||||
"preview" : "Aperçu de la carte",
|
||||
"bsr-code" : "Code BSR",
|
||||
"download" : "Télécharger la carte",
|
||||
"downloading" :"Téléchargement de la carte",
|
||||
"cancel-download" : "Annuler le téléchargement",
|
||||
"hightlight-difficulty" : "Surligner la difficulté"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -852,86 +1066,6 @@
|
||||
"no-models": "Aucun modèles trouvés.",
|
||||
"no-internet": "Pas de connexion internet.",
|
||||
"error-occured": "Une erreur est survenue, réessaye plus tard."
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "Lier les avatars",
|
||||
"desc": "La liaison des avatars permet de partager les avatars entre toutes les version. Une fois liée, cette version profitera des avatars partagés",
|
||||
"info": "L'ajout et la suppression d'avatars seront également partagés",
|
||||
"keep-models": {
|
||||
"label": "Conserver les avatars",
|
||||
"title": "Conserver les avatars déplacera les avatars de la version actuelle dans le dossier des avatars partagés. Dans le cas contraire ils seront perdus"
|
||||
},
|
||||
"valid-btn": "Lier les avatars"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Lier les sabres",
|
||||
"desc": "La liaison des sabres permet de partager les sabres entre toutes les version. Une fois liée, cette version profitera des sabres partagés",
|
||||
"info": "L'ajout et la suppression de sabres seront également partagés",
|
||||
"keep-models": {
|
||||
"label": "Conserver les sabres",
|
||||
"title": "Conserver les sabres déplacera les sabres de la version actuelle dans le dossier des sabres partagés. Dans le cas contraire ils seront perdus"
|
||||
},
|
||||
"valid-btn": "Lier les sabres"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Lier les plateformes",
|
||||
"desc": "La liaison des plateformes permet de partager les plateformes entre toutes les version. Une fois liée, cette version profitera des plateformes partagées",
|
||||
"info": "L'ajout et la suppression de plateformes seront également partagés",
|
||||
"keep-models": {
|
||||
"label": "Conserver les plateformes",
|
||||
"title": "Conserver les plateformes déplacera les plateformes de la version actuelle dans le dossier des plateformes partagées. Dans le cas contraire ils seront perdus"
|
||||
},
|
||||
"valid-btn": "Lier les plateformes"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Lier les bloqs",
|
||||
"desc": "La liaison des bloqs permet de partager les bloqs entre toutes les version. Une fois liée, cette version profitera des bloqs partagés",
|
||||
"info": "L'ajout et la suppression de bloqs seront également partagés",
|
||||
"keep-models": {
|
||||
"label": "Conserver les bloqs",
|
||||
"title": "Conserver les bloqs déplacera les bloqs de la version actuelle dans le dossier des bloqs partagés. Dans le cas contraire ils seront perdus"
|
||||
},
|
||||
"valid-btn": "Lier les bloqs"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "Délier les avatars",
|
||||
"desc": "Attention, délier les avatars ne permettra plus l'utilisation des avatars paratagés pour cette version.",
|
||||
"keep-models": {
|
||||
"label": "Conserver les avatars",
|
||||
"title": "Conserver les avatars créera une copie des avatars partagés pour la version actuelle. Dans le cas contraire, aucun avatar ne sera conservé pour cette version."
|
||||
},
|
||||
"valid-btn": "Délier les avatars"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Délier les sabres",
|
||||
"desc": "Attention, délier les sabres ne permettra plus l'utilisation des sabres paratagés pour cette version.",
|
||||
"keep-models": {
|
||||
"label": "Conserver les sabres",
|
||||
"title": "Conserver les sabres créera une copie des sabres partagés pour la version actuelle. Dans le cas contraire, aucun sabre ne sera conservé pour cette version."
|
||||
},
|
||||
"valid-btn": "Délier les sabres"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Délier les plateformes",
|
||||
"desc": "Attention, délier les plateformes ne permettra plus l'utilisation des plateformes paratagées pour cette version.",
|
||||
"keep-models": {
|
||||
"label": "Conserver les plateformes",
|
||||
"title": "Conserver les plateformes créera une copie des plateformes partagées pour la version actuelle. Dans le cas contraire, aucune plateforme ne sera conservée pour cette version."
|
||||
},
|
||||
"valid-btn": "Délier les plateformes"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Délier les bloqs",
|
||||
"desc": "Attention, délier les bloqs ne permettra plus l'utilisation des bloqs paratagés pour cette version.",
|
||||
"keep-models": {
|
||||
"label": "Conserver les bloqs",
|
||||
"title": "Conserver les bloqs créera une copie des bloqs partagés pour la version actuelle. Dans le cas contraire, aucun bloq ne sera conservé pour cette version."
|
||||
},
|
||||
"valid-btn": "Délier les bloqs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -941,10 +1075,6 @@
|
||||
"go-to-mods": "Aller aux mods",
|
||||
"not-remind": "Ne plus me rappeler"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "Modèles cassés",
|
||||
"desc": "Depuis la mise à jour du moteur Beat Saber, tous les mods de modèles personnalisés ne sont plus fonctionnels et doivent être mis à jour. Ils n'ont pas encore été mis à jour."
|
||||
},
|
||||
"export-success": {
|
||||
"title": "Export terminé 🎉"
|
||||
}
|
||||
@@ -976,6 +1106,136 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "Ou parcourir les fichiers"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "Erreur lors de la création de la playlist",
|
||||
"error-playlist-creation-desc": "Une erreur est survenue lors de la création de la playlist.",
|
||||
"playlist-created-title": "Playlist créée",
|
||||
"playlist-created-desc": "La playlist a été créée avec succès. Tu peut maintenant synchroniser ses maps !",
|
||||
"download-playlist": "Télécharger la playlist",
|
||||
"synchronize-playlist": "Synchroniser la playlist",
|
||||
"synchronize-maps": "Synchroniser les maps",
|
||||
"error-playlists-synchronization-title": "Erreur lors de la synchronisation des playlists",
|
||||
"error-playlists-synchronization-desc": "Une erreur est survenue lors de la synchronisation des playlists.",
|
||||
"playlists-synchronized-title": "Playlists synchronisées !",
|
||||
"playlists-synchronized-desc": "Les playlists et leurs maps ont été téléchargées.",
|
||||
"playlists-export-error-title": "Erreur lors de l'exportation des playlists",
|
||||
"playlists-export-error-desc": "Une erreur est survenue lors de l'exportation des playlists.",
|
||||
"playlists-exported-title": "Playlists exportées !",
|
||||
"playlists-exported-desc": "Les playlists ont été exportées avec succès.",
|
||||
"playlists-with-maps-exported-desc": "Les playlists et leurs maps ont été exportées avec succès.",
|
||||
"playlist-delete-error-title": "Erreur lors de la suppression de la playlist",
|
||||
"playlist-delete-error-desc": "Une erreur est survenue lors de la suppression de la playlist.",
|
||||
"playlists-deleted-title": "Playlists supprimées !",
|
||||
"playlists-deleted-desc": "Les playlists ont été supprimées avec succès.",
|
||||
"edit-playlist": "Éditer la playlist",
|
||||
"playlist-edit-error-title": "Erreur lors de l'édition de la playlist",
|
||||
"playlist-edit-error-desc": "Une erreur est survenue lors de l'édition de la playlist.",
|
||||
"playlist-edited-title": "Playlist éditée !",
|
||||
"playlist-edited-desc": "La playlist a été modifiée avec succès. Tu peut maintenant synchroniser ses maps !",
|
||||
"playlists-loading": "Chargement des playlist...",
|
||||
"no-playlists": "Aucune playlist",
|
||||
"download-playlists": "Télécharger des playlists",
|
||||
"created-by": "Créée par",
|
||||
"stop-download": "Arrêter le téléchargement",
|
||||
"cancel-download": "Annuler le téléchargement",
|
||||
"open-file": "Ouvrir le fichier",
|
||||
"delete-playlist-ask": "Supprimer la playlist ?",
|
||||
"delete-playlists-ask": "Supprimer les playlists ?",
|
||||
"delete-playlist-desc": "Es-tu sur de vouloir supprimer la playlist \"{playlistTitle}\" ?",
|
||||
"delete-playlists-desc": "Es-tu sur de vouloir supprimer {nb} playlists ?",
|
||||
"delete-maps": "Supprimer les maps",
|
||||
"delete-playlist-maps-tip": "Si activé, toutes les maps de la playlist seront supprimées",
|
||||
"delete-playlists-maps-tip": "Si activé, toutes les maps des playlists seront supprimées",
|
||||
"export-playlist-ask": "Exporter la playlist ?",
|
||||
"export-playlists-ask": "Exporter les playlists ?",
|
||||
"export-playlist-desc": "Es-tu sur de vouloir exporter la playlist \"{playlistTitle}\" ?",
|
||||
"export-playlists-desc": "Es-tu sur de vouloir exporter les {nb} playlists ?",
|
||||
"export-maps": "Exporter les maps",
|
||||
"export-playlist-maps-tip": "Si activé, toutes les maps de la playlist seront également exportées",
|
||||
"export-playlists-maps-tip": "Si activé, toutes les maps des playlists seront également exportées",
|
||||
"export": "Exporter",
|
||||
"need-clone-title": "Attention",
|
||||
"need-clone-desc-1": "Cette playlist a été téléchargée depuis un site externe et contient un lien de synchronisation.",
|
||||
"need-clone-desc-2": "Pour éviter de perdre vos modifications lors d'une synchronisation, la playlist va être dupliquée et son lien de synchronisation supprimé.",
|
||||
"need-clone-desc-3": "Vous pourrez ensuite, si vous le souhaitez, supprimer la playlist originale.",
|
||||
"understood": "J'ai compris",
|
||||
"synchronize-playlist-ask": "Synchroniser la playlist ?",
|
||||
"synchronize-playlists-ask": "Synchroniser les playlists ?",
|
||||
"synchronize-playlist-desc": "Es-tu sur de vouloir synchroniser la playlist \"{playlistTitle}\" ?",
|
||||
"synchronize-playlists-desc": "Es-tu sur de vouloir synchroniser les {nb} playlists ?",
|
||||
"synchronize-playlist-tip": "Cette action met à jour les playlists et télécharge les maps manquantes; cela peut durer plusieurs minutes.",
|
||||
"synchronize": "Synchroniser",
|
||||
"curated": "Recommandée",
|
||||
"verified-mapper": "Mapper vérifié",
|
||||
"empty-playlists": "Playlists vides",
|
||||
"search-playlist": "Rechercher une playlist",
|
||||
"no-playlists-found": "Aucune playlists trouvées",
|
||||
"error-occur-while-loading-playlists": "Une erreur est survenue lors du chargement des playlists",
|
||||
"error-occur-while-loading-playlist": "Une erreur est survenue lors du chargement de la playlist",
|
||||
"loading-maps":"Chargement des maps...",
|
||||
"no-maps-found-for-playlist":"Aucune map trouvée pour cette playlist",
|
||||
"playlist-contain-no-maps":"La playlist ne contient aucune map",
|
||||
"no-map-installed-for-playlist":"Aucune map installée pour cette playlist",
|
||||
"playlist-is-waiting-to-download":"La playlist est en attente de téléchargment",
|
||||
"download-maps": "Télécharger les maps",
|
||||
"download-missing-maps": "Télécharger les maps manquantes",
|
||||
"playlist-is-downloading":"La playlist est en cours de téléchargement",
|
||||
"some-playlist-maps-are-missing":"Certaines maps de cette playlist sont manquantes",
|
||||
"create-a-playlist": "Créer une playlist",
|
||||
"synchronize-playlists": "Synchroniser les playlists",
|
||||
"export-playlists": "Exporter les playlists",
|
||||
"delete-playlists": "Supprimer les playlists",
|
||||
"choose-image": "Choisir une image",
|
||||
"title": "Titre",
|
||||
"playlist-title": "Titre de la playlist",
|
||||
"description": "Description",
|
||||
"playlist-description": "Description de la playlist",
|
||||
"author": "Auteur",
|
||||
"playlist-author": "Auteur de la playlist",
|
||||
"save": "Enregistrer",
|
||||
"loading": "Chargement...",
|
||||
"installed": "Installée",
|
||||
"no-map-found": "Aucune map trouvée",
|
||||
"edit-playlist-shortcuts": "Maintenez Maj ou Ctrl pour sélectionner plusieurs maps",
|
||||
"add-to-playlist": "Ajouter à la playlist",
|
||||
"remove-from-playlist": "Retirer de la playlist",
|
||||
"playlist-is-empty": "La playlist est vide",
|
||||
"continue": "Continuer",
|
||||
"nb-maps": "Nombre de maps",
|
||||
"nb-mappers": "Nombre de mappers",
|
||||
"duration": "Durée",
|
||||
"nps": "Notes par secondes",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "Date début — Date fin",
|
||||
"all": "Tout",
|
||||
"last-24h": "Dernières 24h",
|
||||
"last-week": "Dernière semaine",
|
||||
"last-month": "Dernier mois",
|
||||
"3-last-month": "3 derniers mois"
|
||||
},
|
||||
"playlists-imported": "Playlists importées",
|
||||
"all-playlists-have-been-successfully-imported": "Toutes les playlists ont été importées avec succès",
|
||||
"no-playlist-found": "Aucune playlist trouvée",
|
||||
"no-playlist-found-in-selected-files": "Aucune playlist trouvée dans les fichiers sélectionnés",
|
||||
"some-playlists-not-imported": "Certaines playlists non importées",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "Certaines playlists n'ont pas pu être trouvées",
|
||||
"INVALID_PLAYLIST_FILE": "Certaines playlists ne sont pas valides",
|
||||
"CANNOT_PARSE_PLAYLIST": "Certaines playlists ne sont pas lisibles",
|
||||
"unknown": "Certaines playlists n'ont pas pu être importées"
|
||||
},
|
||||
"no-playlists-imported": "Aucune playlist importée",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "Les playlists n'ont pas été trouvées",
|
||||
"INVALID_PLAYLIST_FILE": "Les playlists ne sont pas valides",
|
||||
"CANNOT_PARSE_PLAYLIST": "Les playlists ne sont pas lisibles",
|
||||
"unknown": "Aucune playlist n'a pu être importée"
|
||||
}
|
||||
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
|
||||
"monthNames": ["Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Juil", "Aou", "Sept", "Oct", "Nov", "Déc", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "マップ",
|
||||
"playlists": "プレイリスト",
|
||||
"models": "モデル",
|
||||
"avatars": "アバター",
|
||||
"sabers": "セイバー",
|
||||
"platforms": "プラットフォーム",
|
||||
"blocks": "ブロック",
|
||||
"cancel": "キャンセル",
|
||||
"delete": "削除",
|
||||
"accept": "同意する",
|
||||
"refuse": "拒否する",
|
||||
"apply": "適用",
|
||||
"copy": "コピー",
|
||||
"copied": "コピー済み!"
|
||||
"copied": "コピー済み!",
|
||||
"confirm": "確認",
|
||||
"choose-folder": "フォルダーを選択",
|
||||
"unknown": "不明なエラーが発生しました (´・ω・`)",
|
||||
"warning": "警告",
|
||||
"continue": "続ける",
|
||||
"shared": "共有",
|
||||
"pin": "固定",
|
||||
"unpin": "固定解除"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "時代遅れ"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "バージョンを追加",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "共有マップ"
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Oculusモード",
|
||||
@@ -36,26 +48,34 @@
|
||||
"desktop-description": "ファーストパーソン・フライング・コントローラー・モードでは、WASDとマウスを使ってゲーム内のメニューを操作できます。ヘッドセットを装着する必要がないので、テストがより簡単になります!",
|
||||
"debug": "デバックモード",
|
||||
"debug-description": "IPAの出力ログウィンドウを有効にします。これはMODのデバッグコンソールを表示します。",
|
||||
"outdated-tippy": "このバージョンは古いため、一部のMODや機能が期待通りに動作しない可能性があります。最新の機能やバグ修正を楽しむには、推奨バージョン ({recommendedVersion}) のBeat Saberを使用することをお勧めします。",
|
||||
"advanced-launch": {
|
||||
"button": "高度な起動",
|
||||
"button": "起動オプション",
|
||||
"placeholder": "追加引数 例:--revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Steamをスキップ",
|
||||
"skipsteam-description": "Beat Saberと一緒にSteamが自動的に開くのを防ぎます。SteamVRが干渉する可能性のあるWiVRnやMonadoなど、別のVRランタイムを使用している場合は有効にしてください。",
|
||||
"map-editor": "マップエディタ",
|
||||
"map-editor-description": "ゲームの代わりに公式のBeat Saberマップエディタを起動する。",
|
||||
"proton-logs": "プロトンログ",
|
||||
"proton-logs-description": "このBeat Saberインストールのプロトンログの記録を「{versionPath}」に有効にします。"
|
||||
},
|
||||
"maps": {
|
||||
"title": "共有マップ",
|
||||
"search-bar": {
|
||||
"search-placeholder": "マップを検索",
|
||||
"filters-btn": "絞り込み",
|
||||
"dropdown": {
|
||||
"export-maps": "マップをエクスポート",
|
||||
"delete-maps": "マップを削除"
|
||||
"delete-maps": "マップを削除",
|
||||
"delete-duplicate-maps": " 重複を削除"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "追加"
|
||||
"drop-down": {
|
||||
"browse-maps": "マップを閲覧",
|
||||
"import-maps": "マップをインポート"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -67,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "マップがありません",
|
||||
"button": "マップをダウンロードする"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "マップをインポート",
|
||||
"subtext": "ZIPファイルをここにドロップしてマップをインポート"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "プレイリストを閲覧",
|
||||
"create-a-playlist": "プレイリストを作成",
|
||||
"import-playlists": "プレイリストをインポート"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "プレイリストをインポート",
|
||||
"subtext": "\".bplist\" または \".json\" ファイルをここにドロップしてインポート"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,7 +112,8 @@
|
||||
"mods-not-available": "このバージョンで使用できるMODはまだありません。",
|
||||
"buttons": {
|
||||
"more-infos": "詳細情報",
|
||||
"install-or-update": "インストールとアップデート"
|
||||
"install-or-update": "インストールとアップデート",
|
||||
"reinstall-all": "すべて再インストール"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -86,9 +122,21 @@
|
||||
"latest": "最新",
|
||||
"description": "說明",
|
||||
"dropdown": {
|
||||
"uninstall-all": "全てアンインストールする"
|
||||
"import-mods": "モッドをインポート",
|
||||
"uninstall-all": "全てアンインストールする",
|
||||
"unselect-all": "すべて選択解除"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "すでにインストール済みのMOD",
|
||||
"description": "選択したすべてのMODはすでにインストールされています"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "モッドをインポートする",
|
||||
"subtext": "「zip」または「dll」ファイルをここにドロップしてインポートする"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -98,12 +146,11 @@
|
||||
"edit": "編集",
|
||||
"uninstall": "アンインストール",
|
||||
"create-shortcut": "ショートカットを作成",
|
||||
"shared-folders": "共有フォルダー",
|
||||
"restore-oculus-folder": "フォルダーの復元"
|
||||
"shared-folders": "共有フォルダー"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "バージョンを選択",
|
||||
"title": "バージョンをダウンロード",
|
||||
"steam-release": "リリースページ",
|
||||
"dropdown": {
|
||||
"refresh": "バージョンの更新",
|
||||
@@ -117,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "ログアウトすると、次のBeat Saberダウンロード時にアカウントを切り替えることができます。",
|
||||
"logout": "ログアウト",
|
||||
"logout-success": "ログアウト成功",
|
||||
"download-platform": {
|
||||
"title": "デフォルトプラットフォーム",
|
||||
"desc": "Beat Saberのダウンロードに使用するデフォルトのプラットフォームを選択します。",
|
||||
@@ -136,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "インストールフォルダー",
|
||||
"description": "BeatSaberのバージョンとその他の今後の機能を入れるフォルダを変更します。",
|
||||
"choose-folder": "フォルダーを選択"
|
||||
"description": "BSManager によってダウンロードされたすべてのコンテンツを含むフォルダを変更します。"
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Protonフォルダー",
|
||||
"description": "フォルダーをProtonのパスに変更してください。(例:Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "Protonフォルダーの設定に失敗しました",
|
||||
"invalid-folder": "無効なProtonフォルダーのパスです"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "追加コンテンツ",
|
||||
@@ -154,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "イギリス英語",
|
||||
"en-US": "アメリカ英語",
|
||||
"fr-FR": "フランス語",
|
||||
"es-ES": "スペイン語",
|
||||
"it-IT": "イタリア語",
|
||||
"de-DE": "ドイツ語",
|
||||
"ru-RU": "ロシア語",
|
||||
"zh-CN": "簡体字中国",
|
||||
"zh-TW": "繁体字中国",
|
||||
"ja-JP": "日本語"
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "韓国語"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -195,6 +254,41 @@
|
||||
"report-bug": "バグを報告",
|
||||
"open-logs": "ログを表示"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "高度な設定",
|
||||
"description": "BSManagerの高度な設定。",
|
||||
"hardware-acceleration": {
|
||||
"title": "ハードウェアアクセラレーション",
|
||||
"description": "ハードウェアアクセラレーションを有効にしてGPUを使用し、BSManagerのパフォーマンスを向上させます。フレームドロップが発生している場合は、これをオフにしてください。",
|
||||
"modal": {
|
||||
"title": "再起動が必要",
|
||||
"body": "ハードウェアアクセラレーションの設定を変更すると、BSManagerが終了して再起動します。本当に続行しますか?",
|
||||
"confirm-btn": "はい、確かです"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "エラーが発生しました。ハードウェアアクセラレーションを無効にできません。"
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "シンボリックリンクを使用",
|
||||
"description": "フォルダをリンクするためにジャンクションの代わりにシンボリックリンクを使用します。本当に必要な場合にのみこれをオンにしてください。",
|
||||
"modal": {
|
||||
"title": "シンボリックリンクの権限",
|
||||
"body": "シンボリックリンクを作成する際、BSManagerは管理者権限またはシステムで有効になっている開発者モードを必要とします。本当に続行しますか?",
|
||||
"confirm-btn": "はい、確かです"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "エラーが発生しました。シンボリックリンク設定を変更できません。"
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "システムプロキシを使用",
|
||||
"description": "BSManagerはシステムプロキシを通じてネットワークリクエストを行います。",
|
||||
"error-notification": {
|
||||
"message": "エラーが発生しました。システムプロキシ設定を変更できません。"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -213,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "稼働中",
|
||||
"no-internet": "インターネット接続がありません"
|
||||
"no-internet": "インターネット接続がありません",
|
||||
"file-not-supported": "ファイルはサポートされていません"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "現在の処理が終了するのを待ってから、もう一度試してください。",
|
||||
"no-internet": "インターネット接続を確認し、もう一度お試しください。"
|
||||
"no-internet": "インターネット接続を確認し、もう一度お試しください。",
|
||||
"file-not-supported": "{types}ファイルのみがサポートされています。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -239,12 +335,11 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": ".NET 6が必要です!"
|
||||
},
|
||||
"msg": {
|
||||
"401": "SteamがBeat Saberのダウンロードを許可してくれないようだ。😢",
|
||||
"404": "Steamサーバーに接続できません。",
|
||||
"ExeNotFoundWindows": "「DepotDownloader.exe」が見つかりません。実行ファイルがアンチウイルスソフトによって隔離されていないか確認してください。",
|
||||
"ExeNotFoundLinux": "「DepotDownloader」の実行ファイルが見つかりません。",
|
||||
"Password": "パスワードが不正です。",
|
||||
"InvalidCredentials": "無効なログイン認証情報、許可されていない接続、またはログイン試行回数が多すぎます。",
|
||||
"NoManifest": "マニフェストは見つかりませんでした",
|
||||
@@ -264,11 +359,7 @@
|
||||
"LicenceError": "ライセンスリストを取得できません。",
|
||||
"RateLimitExceeded": "何度も試しているのでしばらくたって、もう一度お試しください。",
|
||||
"TokenRejected": "ログイントークンが拒否されました 😕 もう一度お試しください。",
|
||||
"AccessDenied": "Steamへのアクセスが拒否されました。",
|
||||
"dotnet-required": "Beat Saberをダウンロードするには、.NET 6 Runtimeがインストールされている必要があります。下のボタンをクリックしてダウンロードしてください。"
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": ".NET 6をダウンロード"
|
||||
"AccessDenied": "Steamへのアクセスが拒否されました。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "ダウンロードに必要なマニフェストを取得できません。",
|
||||
"VERIFY_INTEGRITY_FAILED": "ファイルの検証中にエラーが発生しました。",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "一部のファイルのダウンロードに失敗しました。",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "ログイントークンの取得に時間がかかりすぎました。",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "メタ・ログイン・ウィンドウが閉じられた。",
|
||||
"META_LOGIN_TIMED_OUT": "ログイントークンの取得に時間がかかりすぎました。",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "メタ・ログイン・ウィンドウが閉じられた。",
|
||||
"NO_META_AUTH_TOKEN": "ダウンロードに必要な Meta ログイン トークンを取得できません。",
|
||||
"UNKNOWN_ERROR": "不明なエラーが発生しました。"
|
||||
}
|
||||
@@ -370,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "起動中...🚀",
|
||||
"STEAM_LAUNCHING": "Steamの起動を確認しました!"
|
||||
"STEAM_LAUNCHING": "Steamの起動を確認しました!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Steamの起動をスキップ"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "ウォームアップを忘れずに 😉",
|
||||
"STEAM_LAUNCHING": "Beat SaberはSteamの起動後に自動的に起動します。"
|
||||
"STEAM_LAUNCHING": "Beat SaberはSteamの起動後に自動的に起動します。",
|
||||
"SKIPPING_STEAM_LAUNCH": "あなたが何をしているのか分かっていることを願っています :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -384,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculusが起動していません",
|
||||
"BS_ALREADY_RUNNING": "Beat Saberはすでに起動しています",
|
||||
"EXE_NOT_FINDED": "ファイルが見つかりません",
|
||||
"PROTON_NOT_SET": "Protonフォルダーが設定されていません",
|
||||
"PROTON_NOT_FOUND": "Protonのバイナリが見つかりません",
|
||||
"EXIT": "緊急停止",
|
||||
"OCULUS_LIB_NOT_FOUND": "Oculusライブラリが見つかりません"
|
||||
"OCULUS_LIB_NOT_FOUND": "Oculusライブラリが見つかりません",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "オリジナルのOculusバージョンが見つかりませんでした"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "不明なエラーが発生しました。",
|
||||
@@ -394,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "再度起動する前にBeatSaberを閉じてください。",
|
||||
"EXE_NOT_FINDED": "いくつかのファイルが見つからないようです。",
|
||||
"EXIT": "BeatSaberが緊急停止したため、ファイルをチェックします。",
|
||||
"OCULUS_LIB_NOT_FOUND": "Oculusアプリケーションが正しくインストールしていることと、Oculusライブラリが正しく定義されていることを確認してください。"
|
||||
"OCULUS_LIB_NOT_FOUND": "Oculusアプリケーションが正しくインストールしていることと、Oculusライブラリが正しく定義されていることを確認してください。",
|
||||
"PROTON_NOT_SET": "設定でProtonのパスを設定してください。",
|
||||
"PROTON_NOT_FOUND": "設定でProtonのパスを設定してください。",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saberは、開く前にOculusアプリからインストールする必要があります。"
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "Steamを起動"
|
||||
@@ -413,7 +512,8 @@
|
||||
"CantEditSteam": "編集不可",
|
||||
"CantRename": "改名不可能",
|
||||
"VersionAlreadExist": "このバージョンは既に存在しています!",
|
||||
"CantClone": "クローン作成不可"
|
||||
"CantClone": "クローン作成不可",
|
||||
"UnknownError": "不明なエラーが発生しました"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "Steam版は編集できませんがクローンを作ることは可能です。"
|
||||
@@ -460,12 +560,44 @@
|
||||
"no-mods": "このバージョンのModはインストールされていません 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "モッドのインポートが完了しました",
|
||||
"error": "モッドのインポート中にエラーが発生しました"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "モッドが正常にインポートされました。",
|
||||
"some-success": "一部のモッドが正常にインポートされました。",
|
||||
"no-dlls": "ファイルに \"dll\" ファイルが含まれていません。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "マップのインストール完了",
|
||||
"error": "マップのインストール中にエラーが発生しました"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "重複なし",
|
||||
"msg": "マップは削除されませんでした"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "重複削除",
|
||||
"msg": "重複が削除されました"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "マップのインポートが完了しました",
|
||||
"error": "マップのインポート中にエラーが発生しました"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "マップが正常にインポートされました。",
|
||||
"some-success": "一部のマップが正常にインポートされました。",
|
||||
"only-accept-zip": "zipファイルのみがサポートされています。",
|
||||
"invalid-zip": "zipファイルにマップが含まれていません。",
|
||||
"unknown": "不明なエラーが発生しました。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -486,6 +618,19 @@
|
||||
"title": "バックアップを作成しました",
|
||||
"msg": "'UserData'フォルダを共有するとエラーが発生する可能性があります。問題が発生した場合は、フォルダをリンク解除してバックアップを復元してください。"
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "フォルダのリンク中にエラーが発生しました",
|
||||
"msg": {
|
||||
"EPERM": "BSManagerにはフォルダをリンクするための必要な権限がありません。",
|
||||
"EACCES": "BSManagerにはフォルダをリンクするための必要な権限がありません。",
|
||||
"ENOSPC": "ディスクがいっぱいです。空き容量を作ってもう一度試してください。",
|
||||
"UNKNOWN_ERROR": "フォルダをリンク中に不明なエラーが発生しました。"
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "共有フォルダの追加に失敗しました",
|
||||
"msg": "「{folder}」を共有フォルダに追加することはできません。"
|
||||
}
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
@@ -496,6 +641,14 @@
|
||||
"error": {
|
||||
"msg": "ショートカットの作成中にエラーが発生しました。"
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "バージョンが古い",
|
||||
"msg": "このBeat Saberのバージョンは古いため、推奨バージョンを使用して最新の機能やバグ修正をお楽しみください。",
|
||||
"actions": {
|
||||
"do-not-remind": "再度通知しない",
|
||||
"ok": "OK"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -505,8 +658,7 @@
|
||||
"choose-store": {
|
||||
"title": "どのプラットフォーム?",
|
||||
"body": "Beat Saberをダウンロードするプラットフォームを選択してください。",
|
||||
"set-in-settings": "設定からデフォルトのプラットフォームを設定する",
|
||||
"unavailable": "Oculusによる最近の変更により、現在Oculusのバージョンダウングレードは利用できなくなりました。私たちは問題を調査しており、BSManagerのDiscordサーバーで最新情報をお知らせします。"
|
||||
"set-in-settings": "設定からデフォルトのプラットフォームを設定する"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steamガード",
|
||||
@@ -634,26 +786,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "マップをリンク",
|
||||
"desc": "マップをリンクすると、この機能が有効になっているすべてのバージョン間でマップを共有できます。リンクされると、このバージョンは共有マップの恩恵を受けることができます。",
|
||||
"info": "マップの追加と削除も共有されます。",
|
||||
"keep-maps": {
|
||||
"label": "マップを保持",
|
||||
"title": "マップを保持すると現在のバージョンのすべてのマップを共有マップフォルダーにコピーします。有効していない場合はこのバージョンのマップは保持されず、失われます。"
|
||||
},
|
||||
"valid-btn": "マップをリンク"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "マップのリンクを解除",
|
||||
"desc": "マップのリンクを解除すると、このバージョンでは共有マップを使用できなくなります。",
|
||||
"keep-maps": {
|
||||
"label": "マップを保持",
|
||||
"title": "マップを保持は、リンクを解除した後、共有フォルダから現在のバージョンにすべてのマップをコピーします。これを無効をしても共有マップは失われません。"
|
||||
},
|
||||
"valid-btn": "マップのリンクを解除"
|
||||
"delete-duplicate-maps": {
|
||||
"title": "マップを削除しますか?",
|
||||
"desc": "マップ「{map}」のみが重複しています。削除してもよろしいですか?",
|
||||
"desc-plural": "{nb}個の重複したマップが見つかりました。削除してもよろしいですか?"
|
||||
}
|
||||
},
|
||||
"link-contents": {
|
||||
"title": "{contentType}をリンクする",
|
||||
"p-1": "{contentType}をリンクすると、この機能が有効なすべてのバージョン間で{contentType}を共有できます。リンクされると、このバージョンは共有された{contentType}を利用できます。",
|
||||
"p-2": "リンク機能を利用するには、すべての{itemsHtml}を{sharedHtml}フォルダに移動します。その後、共有された{contentType}フォルダを指すシンボリックリンクが元の{contentType}フォルダの代わりになります。",
|
||||
"warning": "ご注意ください:{contentType}に影響を与える変更は、この機能が有効なすべてのバージョンにも影響を与えます。",
|
||||
"what-is-a-symbolic-link": "シンボリックリンクとは何ですか?",
|
||||
"i-need-help": "助けが必要です",
|
||||
"valid-btn": "{contentType}をリンクする"
|
||||
},
|
||||
"unlink-contents": {
|
||||
"title": "{contentType}のリンクを解除する",
|
||||
"p-1": "注意してください:{contentType}のリンクを解除すると、この機能が再度有効化されるまで、このバージョンで共有された{contentType}を使用できなくなります。",
|
||||
"p-2": "{contentType}のリンクを解除するには、{sharedHtml}を指すシンボリックリンクが削除されます。その後、共有フォルダ内のすべての{contentType}がBeat Saberのバージョン内の{itemsHtml}フォルダにコピーされます。",
|
||||
"do-not-copy-contents": "{contentType}をコピーしない",
|
||||
"do-not-copy-contents-tip": "有効にすると、共有フォルダ内の{contentType}はBeat Saberのバージョンにコピーされません。その結果、リンク解除後にBeat Saberバージョン内に{contentType}は残りません。",
|
||||
"valid-btn": "{contentType}のリンクを解除する"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "検索 ",
|
||||
"loading-maps": "マップを読込中...",
|
||||
@@ -675,9 +830,14 @@
|
||||
"add-folder": "フォルダーを追加",
|
||||
"link-folder": "フォルダーをリンク",
|
||||
"unlink-folder": "フォルダーのリンクを解除",
|
||||
"link-all": "すべてリンク"
|
||||
"link-all": "すべてリンク",
|
||||
"remove-from-the-list": "リストから削除"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "共有フォルダの追加",
|
||||
"description": "「{folder}」フォルダをリンクするときに問題が発生する可能性があります。追加してもよろしいですか?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "ショートカットを作成",
|
||||
"desc": "ショートカットを作成すると、BSManagerを起動せずに、直接Beat Saberを起動できます。",
|
||||
@@ -696,40 +856,74 @@
|
||||
"stay": "記憶する",
|
||||
"connect-to-meta": "Metaに接続する"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "注意",
|
||||
"body": {
|
||||
"must-be-installed-once": "少なくとも一度はOculus StoreからBeat Saberをインストールしている必要があります。そうしないとBeat Saberは起動後に自動的に終了する可能性があります。",
|
||||
"need-backup": "このバージョンを起動するには、OculusライブラリにあるBeat Saberインストールフォルダの名前を変更します。",
|
||||
"can-restore-later": "必要であれば、BSManagerから元のOculusバージョンのオプションに行き、'フォルダを復元'をクリックして復元することができます。",
|
||||
"tips-launch-oculus": "ヒント: 元のバージョンが復元されない限り、Oculusから直接このバージョンを起動することができます。"
|
||||
},
|
||||
"not-remind-me": "二度と表示しないでください",
|
||||
"understood": "分かった"
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "サイドローディングを有効化",
|
||||
"info-1": "Beat Saberを起動するには、サイドローディングアプリを実行する機能を有効にする必要があります。BSManagerは、この機能を自動的に有効にするために管理者権限を要求します。",
|
||||
"info-2": "サイドローディング機能により、Oculusライブラリフォルダ外にあるゲームを起動できます。",
|
||||
"info-3": "サイドローディングを有効化すると、この機能はアクティブなままとなり、再度有効化を求められることはありません。",
|
||||
"i-want-to-do-it-myself": "自分でやりたい",
|
||||
"understood": "了解しました"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Metaトークン",
|
||||
"title": "Oculusトークン",
|
||||
"body": {
|
||||
"need-token": "Beat Saberをダウンロードするには、Metaのログイントークンが必要です。",
|
||||
"how-obtain-token": "Metaトークンはどうやって入手すればいいですか?",
|
||||
"input-label": "Metaトークン",
|
||||
"token-is-invalid": "トークンが無効です。"
|
||||
"info-enter-token": "Beat Saberをダウンロードするには、あなたのオキュラスログイントークンが必要です。",
|
||||
"how-obtain-token": "オキュラストークンはどうやって取得するの?",
|
||||
"oculus-token": "オキュラストークン",
|
||||
"token-is-invalid": "トークンが無効です。",
|
||||
"save-my-token": "私のトークンを保存する",
|
||||
"have-token-saved": "すでにトークンを保存しています",
|
||||
"save-token-info": "これにより、トークンを簡単に再利用するために保存します。保管のためにトークンを暗号化するパスワードを作成する必要があります。パスワードを忘れた場合は、トークンを再度提供するだけです。",
|
||||
"password": "パスワード",
|
||||
"password-too-short": "パスワードが短すぎます",
|
||||
"info-enter-password": "Beat Saberをダウンロードするには、あなたのオキュラスログイントークンが必要です。オキュラストークンを保存するために使用したパスワードを入力してください。",
|
||||
"info-disabled-btn-password": "提供されたパスワードで復号化されたトークンは無効です。トークンを保存するために使用されたパスワードと同じであることを確認してください。",
|
||||
"enter-oculus-token": "オキュラストークンを入力する"
|
||||
},
|
||||
"valid-btn": "検証"
|
||||
"valid-btn": "確認"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "管理者権限",
|
||||
"body": {
|
||||
"info": "Steamが管理者権限で動作していることが検出されました。Steamと通信するためには、Beat Saberも管理者として起動する必要があります。そうでない場合、Beat Saberは問題が発生し、起動後に終了する可能性があります。",
|
||||
"info-2": "管理者モードでBeat Saberを起動すると、インストールされたMODにも管理者権限が与えられます。そのため、管理者権限なしでSteamを再起動することをお勧めします。",
|
||||
"info-3": "Steamに管理者権限を与えることはお勧めできません。これはインストールされたゲームやMODにも影響を与え、セキュリティリスクをもたらすからです。"
|
||||
},
|
||||
"launch-as-admin": "管理者として起動",
|
||||
"not-remind-me": "Больше не напоминать"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "インストールフォルダー",
|
||||
"choose-folder-description": "BSManager によってダウンロードされたすべてのコンテンツ (バージョン、MOD、マップ、プレイリストなど) を含むフォルダを選択してください。",
|
||||
"default": "デフォルト",
|
||||
"default-tooltip": "デフォルトでは、ホームフォルダに設定されます"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Protonフォルダ",
|
||||
"proton-folder-description": "Linuxでは、BSManagerを動作させるためにProtonが必要です。続行するには、Protonのインストールフォルダを選択してください。",
|
||||
"proton-folder-placeholder": "Protonのインストールフォルダ",
|
||||
"where-is-proton-installed": "Protonはどこにインストールされていますか?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "バージョン {outdatedVersion} は古いため、一部のモッドや機能が期待通りに動作しない場合があります。最新の機能やバグ修正を楽しむために、推奨される最新バージョンの Beat Saber ({recommendedVersion}) をダウンロードしてください。"
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "尺",
|
||||
"nps" : "秒間ノート数",
|
||||
"njs": "ノートジャンプ速度",
|
||||
"tags": "タグ",
|
||||
"specificities": "一般",
|
||||
"requirements": "要Mod"
|
||||
"requirements": "要Mod",
|
||||
"exclude": "除外する",
|
||||
"leaderboard": "ランキング"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "正確",
|
||||
"balanced": "バランス",
|
||||
"challenge": "挑戦",
|
||||
"dancestyle": "ダンス",
|
||||
"dance-style": "ダンス",
|
||||
"fitness": "フットネス",
|
||||
"speed": "スピード",
|
||||
"tech": "技術的"
|
||||
@@ -738,47 +932,55 @@
|
||||
"dance": "ダンス",
|
||||
"swing": "スウィング",
|
||||
"nightcore": "ナイトコア",
|
||||
"folk": "フォーク",
|
||||
"family": "ファミリー",
|
||||
"folk-acoustic": "フォーク & アコースティック",
|
||||
"kids-family": "キッズ & ファミリー",
|
||||
"ambient": "アンビエント",
|
||||
"funk": "ファンク",
|
||||
"funk-disco": "ファンク & ディスコ",
|
||||
"jazz": "ジャズ",
|
||||
"soul": "ソウル",
|
||||
"speedcore": "スピードコア ",
|
||||
"speedcore": "スピードコア",
|
||||
"punk": "パンク",
|
||||
"rb": "r&b",
|
||||
"holiday": "休日",
|
||||
"holiday": "ホリデー",
|
||||
"vocaloid": "ボーカロイド",
|
||||
"jrock": "j-rock",
|
||||
"j-rock": "J-ロック",
|
||||
"trance": "トランス",
|
||||
"drumbass": "ドラムンベース",
|
||||
"comedy": "コメディ",
|
||||
"instrumental": "器楽",
|
||||
"drum-and-bass": "ドラム & ベース",
|
||||
"comedy-meme": "コメディ & ミーム",
|
||||
"instrumental": "インストゥルメンタル",
|
||||
"hardcore": "ハードコア",
|
||||
"kpop": "k-pop",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "インディー",
|
||||
"techno": "テクノ",
|
||||
"house": "家",
|
||||
"game": "ビデオゲーム",
|
||||
"film": "映画音楽",
|
||||
"alt": "オルタナティヴ",
|
||||
"house": "ハウス",
|
||||
"video-game-soundtrack": "ゲーム音楽",
|
||||
"tv-movie-soundtrack": "TV & 映画",
|
||||
"alternative": "オルタナティブ",
|
||||
"dubstep": "ダブステップ",
|
||||
"metal": "メタル",
|
||||
"anime": "アニメ",
|
||||
"hiphop": "ヒップポップ",
|
||||
"jpop": "j-pop",
|
||||
"hip-hop-rap": "ヒップホップ & ラップ",
|
||||
"j-pop": "J-ポップ",
|
||||
"rock": "ロック",
|
||||
"pop": "ポップ",
|
||||
"electronic": "エレクトロニック",
|
||||
"classical-orchestral": "Classical & Orchestral"
|
||||
"classical-orchestral": "クラシック & オーケストラ"
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "AI",
|
||||
"ranked": "ランク入賞",
|
||||
"curated": "厳選済み",
|
||||
"verified": "認証済み",
|
||||
"fullSpread": "フルスプレッド"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "すべて",
|
||||
"Ranked": "ランク入賞",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "インストール済み"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "easy",
|
||||
"Normal": "normal",
|
||||
@@ -788,7 +990,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "By {songAutor}",
|
||||
"mapped-by": "作成者 "
|
||||
"mapped-by": "作成者 ",
|
||||
"delete": "削除",
|
||||
"preview" : "マッププレビュー",
|
||||
"bsr-code" : "BSRコード",
|
||||
"download" : "マップをダウンロード",
|
||||
"downloading" :"マップをダウンロード中",
|
||||
"cancel-download" : "ダウンロードをキャンセル",
|
||||
"hightlight-difficulty": "難易度をハイライト"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -856,86 +1065,6 @@
|
||||
"no-models": "モデルは見つかりませんでした。",
|
||||
"no-internet": "インターネットに接続できませんでした。",
|
||||
"error-occured": "エラーが発生しました。もう一度お試しください."
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "アバターをリンク",
|
||||
"desc": "アバターをリンクすると、この機能が有効になっているすべてのバージョン間でアバターを共有できます。また、リンクすることでこのバージョンは共有アバターの恩恵を受けることができます。",
|
||||
"info": "アバターの追加と削除も共有されます",
|
||||
"keep-models": {
|
||||
"label": "アバターを保持",
|
||||
"title": "アバターを保持すると、現在のバージョンからすべてのアバターが共有アバターフォルダーにコピーされます。有効していない場合はこのバージョンのアバターは保持されず、それらは失われます。"
|
||||
},
|
||||
"valid-btn": "アバターをリンク"
|
||||
},
|
||||
"saber": {
|
||||
"title": "セーバーをリンク",
|
||||
"desc": "セーバーをリンクすると、この機能が有効になっているすべてのバージョン間でセーバーを共有できます。また、リンクすることでこのバージョンは共有セーバーの恩恵を受けることができます。",
|
||||
"info": "セーバーの追加と削除も共有されます",
|
||||
"keep-models": {
|
||||
"label": "セーバーを保持",
|
||||
"title": "セーバーを保持すると、現在のバージョンからすべてのセーバーが共有vフォルダーにコピーされます。有効していない場合はこのバージョンのセーバーは保持されず、それらは失われます。"
|
||||
},
|
||||
"valid-btn": "セーバーをリンク"
|
||||
},
|
||||
"platform": {
|
||||
"title": "プラットフォームをリンク",
|
||||
"desc": "プラットフォームをリンクすると、この機能が有効になっているすべてのバージョン間でプラットフォームを共有できます。また、リンクすることでこのバージョンは共有プラットフォームの恩恵を受けることができます。",
|
||||
"info": "プラットフォームの追加と削除も共有されます",
|
||||
"keep-models": {
|
||||
"label": "プラットフォームを保持",
|
||||
"title": "プラットフォームを保持すると、現在のバージョンからすべてのプラットフォームが共有プラットフォームフォルダーにコピーされます。有効していない場合はこのバージョンのプラットフォームは保持されず、それらは失われます。"
|
||||
},
|
||||
"valid-btn": "プラットフォームをリンク"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "ノーツをリンク",
|
||||
"desc": "ノーツをリンクすると、この機能が有効になっているすべてのバージョン間でノーツを共有できます。また、リンクすることでこのバージョンは共有ノーツの恩恵を受けることができます。",
|
||||
"info": "ノーツの追加と削除も共有されます",
|
||||
"keep-models": {
|
||||
"label": "ノーツを保持",
|
||||
"title": "ノーツを保持すると、現在のバージョンからすべてのノーツが共有ノーツフォルダーにコピーされます。有効していない場合はこのバージョンのノーツは保持されず、それらは失われます。"
|
||||
},
|
||||
"valid-btn": "ノーツをリンク"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "アバターのリンクを解除",
|
||||
"desc": "アバターのリンクを解除すると、このバージョンでは共有アバターが使用できなくなります。",
|
||||
"keep-models": {
|
||||
"label": "アバターを保持する",
|
||||
"title": "アバターを保持すると、リンクを解除した後、共有フォルダにあるすべてのアバターが現在のバージョンにコピーされます。これが無効にしても共有アバターは失われません。"
|
||||
},
|
||||
"valid-btn": "アバターのリンクを解除"
|
||||
},
|
||||
"saber": {
|
||||
"title": "セーバーのリンクを解除",
|
||||
"desc": "セーバーのリンクを解除すると、このバージョンでは共有セーバーが使用できなくなります。",
|
||||
"keep-models": {
|
||||
"label": "セーバーを保持する",
|
||||
"title": "セーバーを保持すると、リンクを解除した後、共有フォルダにあるすべてのセーバーが現在のバージョンにコピーされます。これが無効にしても共有セーバーは失われません。"
|
||||
},
|
||||
"valid-btn": "セーバーのリンクを解除"
|
||||
},
|
||||
"platform": {
|
||||
"title": "プラットフォームのリンクを解除",
|
||||
"desc": "プラットフォームのリンクを解除すると、このバージョンでは共有プラットフォームが使用できなくなります。",
|
||||
"keep-models": {
|
||||
"label": "プラットフォームを保持する",
|
||||
"title": "プラットフォームを保持すると、リンクを解除した後、共有フォルダにあるすべてのプラットフォームが現在のバージョンにコピーされます。これが無効にしても共有プラットフォームは失われません。"
|
||||
},
|
||||
"valid-btn": "プラットフォームのリンクを解除"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "ノーツのリンクを解除",
|
||||
"desc": "ノーツのリンクを解除すると、このバージョンでは共有ノーツが使用できなくなります。",
|
||||
"keep-models": {
|
||||
"label": "ノーツを保持する",
|
||||
"title": "ノーツを保持すると、リンクを解除した後、共有フォルダにあるすべてのノーツが現在のバージョンにコピーされます。これが無効にしても共有ノーツは失われません。"
|
||||
},
|
||||
"valid-btn": "ノーツのリンクを解除"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -945,10 +1074,6 @@
|
||||
"go-to-mods": "Modインストーラーに移動",
|
||||
"not-remind": "二度と表示しないで"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "モデルが壊れています!",
|
||||
"desc": "Beat Saberのエンジンアップデート以来、すべてのカスタムモデルのMODが壊れており、更新が必要です。まだ更新されていません。"
|
||||
},
|
||||
"export-success": {
|
||||
"title": "エクスポート完了🎉"
|
||||
}
|
||||
@@ -980,9 +1105,138 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "またはファイルを参照"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "プレイリストの作成エラー",
|
||||
"error-playlist-creation-desc": "プレイリストの作成中にエラーが発生しました。",
|
||||
"playlist-created-title": "プレイリストが作成されました",
|
||||
"playlist-created-desc": "プレイリストが正常に作成されました。今すぐマップを同期できます!",
|
||||
"download-playlist": "プレイリストをダウンロード",
|
||||
"synchronize-playlist": "プレイリストを同期",
|
||||
"synchronize-maps": "マップを同期",
|
||||
"error-playlists-synchronization-title": "プレイリストの同期エラー",
|
||||
"error-playlists-synchronization-desc": "プレイリストの同期中にエラーが発生しました。",
|
||||
"playlists-synchronized-title": "プレイリストが同期されました!",
|
||||
"playlists-synchronized-desc": "プレイリストとそのマップがダウンロードされました。",
|
||||
"playlists-export-error-title": "プレイリストのエクスポートエラー",
|
||||
"playlists-export-error-desc": "プレイリストのエクスポート中にエラーが発生しました。",
|
||||
"playlists-exported-title": "プレイリストがエクスポートされました!",
|
||||
"playlists-exported-desc": "プレイリストが正常にエクスポートされました。",
|
||||
"playlists-with-maps-exported-desc": "プレイリストとそのマップが正常にエクスポートされました。",
|
||||
"playlist-delete-error-title": "プレイリストの削除エラー",
|
||||
"playlist-delete-error-desc": "プレイリストの削除中にエラーが発生しました。",
|
||||
"playlists-deleted-title": "プレイリストが削除されました!",
|
||||
"playlists-deleted-desc": "プレイリストが正常に削除されました。",
|
||||
"edit-playlist": "プレイリストを編集",
|
||||
"playlist-edit-error-title": "プレイリストの編集エラー",
|
||||
"playlist-edit-error-desc": "プレイリストの編集中にエラーが発生しました。",
|
||||
"playlist-edited-title": "プレイリストが編集されました!",
|
||||
"playlist-edited-desc": "プレイリストが正常に変更されました。今すぐマップを同期できます!",
|
||||
"playlists-loading": "プレイリストを読み込み中...",
|
||||
"no-playlists": "プレイリストがありません",
|
||||
"download-playlists": "プレイリストをダウンロード",
|
||||
"created-by": "作成者",
|
||||
"stop-download": "ダウンロードを停止",
|
||||
"cancel-download": "ダウンロードをキャンセル",
|
||||
"open-file": "ファイルを開く",
|
||||
"delete-playlist-ask": "プレイリストを削除しますか?",
|
||||
"delete-playlists-ask": "プレイリストを削除しますか?",
|
||||
"delete-playlist-desc": "プレイリスト「{playlistTitle}」を削除してもよろしいですか?",
|
||||
"delete-playlists-desc": "{nb}個のプレイリストを削除してもよろしいですか?",
|
||||
"delete-maps": "マップを削除",
|
||||
"delete-playlist-maps-tip": "有効にすると、プレイリスト内のすべてのマップが削除されます",
|
||||
"delete-playlists-maps-tip": "有効にすると、プレイリスト内のすべてのマップが削除されます",
|
||||
"export-playlist-ask": "プレイリストをエクスポートしますか?",
|
||||
"export-playlists-ask": "プレイリストをエクスポートしますか?",
|
||||
"export-playlist-desc": "プレイリスト「{playlistTitle}」をエクスポートしてもよろしいですか?",
|
||||
"export-playlists-desc": "{nb}個のプレイリストをエクスポートしてもよろしいですか?",
|
||||
"export-maps": "マップをエクスポート",
|
||||
"export-playlist-maps-tip": "有効にすると、プレイリスト内のすべてのマップもエクスポートされます",
|
||||
"export-playlists-maps-tip": "有効にすると、プレイリスト内のすべてのマップもエクスポートされます",
|
||||
"export": "エクスポート",
|
||||
"need-clone-title": "警告",
|
||||
"need-clone-desc-1": "このプレイリストは外部サイトからダウンロードされ、同期リンクが含まれています。",
|
||||
"need-clone-desc-2": "同期中に変更を失わないようにするため、プレイリストが複製され、同期リンクが削除されます。",
|
||||
"need-clone-desc-3": "その後、必要に応じて元のプレイリストを削除できます。",
|
||||
"understood": "理解しました",
|
||||
"synchronize-playlist-ask": "プレイリストを同期しますか?",
|
||||
"synchronize-playlists-ask": "プレイリストを同期しますか?",
|
||||
"synchronize-playlist-desc": "プレイリスト「{playlistTitle}」を同期してもよろしいですか?",
|
||||
"synchronize-playlists-desc": "{nb}個のプレイリストを同期してもよろしいですか?",
|
||||
"synchronize-playlist-tip": "この操作はプレイリストを更新し、不足しているマップをダウンロードします。数分かかる場合があります。",
|
||||
"synchronize": "同期",
|
||||
"curated": "おすすめ",
|
||||
"verified-mapper": "認証済みマッパー",
|
||||
"empty-playlists": "空のプレイリスト",
|
||||
"search-playlist": "プレイリストを検索",
|
||||
"no-playlists-found": "プレイリストが見つかりません",
|
||||
"error-occur-while-loading-playlists": "プレイリストの読み込み中にエラーが発生しました",
|
||||
"error-occur-while-loading-playlist": "プレイリストの読み込み中にエラーが発生しました",
|
||||
"loading-maps": "マップを読み込み中...",
|
||||
"no-maps-found-for-playlist": "このプレイリストにマップが見つかりません",
|
||||
"playlist-contain-no-maps": "プレイリストにマップが含まれていません",
|
||||
"no-map-installed-for-playlist": "このプレイリストにインストールされたマップがありません",
|
||||
"playlist-is-waiting-to-download": "プレイリストはダウンロード待ちです",
|
||||
"download-maps": "マップをダウンロード",
|
||||
"download-missing-maps": "不足しているマップをダウンロード",
|
||||
"playlist-is-downloading": "プレイリストをダウンロード中です",
|
||||
"some-playlist-maps-are-missing": "このプレイリストの一部のマップが不足しています",
|
||||
"create-a-playlist": "プレイリストを作成",
|
||||
"synchronize-playlists": "プレイリストを同期",
|
||||
"export-playlists": "プレイリストをエクスポート",
|
||||
"delete-playlists": "プレイリストを削除",
|
||||
"choose-image": "画像を選択",
|
||||
"title": "タイトル",
|
||||
"playlist-title": "プレイリストのタイトル",
|
||||
"description": "説明",
|
||||
"playlist-description": "プレイリストの説明",
|
||||
"author": "作者",
|
||||
"playlist-author": "プレイリストの作者",
|
||||
"save": "保存",
|
||||
"loading": "読み込み中...",
|
||||
"installed": "インストール済み",
|
||||
"no-map-found": "マップが見つかりません",
|
||||
"edit-playlist-shortcuts": "ShiftキーまたはCtrlキーを押しながら複数のマップを選択",
|
||||
"add-to-playlist": "プレイリストに追加",
|
||||
"remove-from-playlist": "プレイリストから削除",
|
||||
"playlist-is-empty": "プレイリストが空です",
|
||||
"continue": "続ける",
|
||||
"nb-maps": "マップ数",
|
||||
"nb-mappers": "マッパー数",
|
||||
"duration": "継続時間",
|
||||
"nps": "1秒あたりの音符数",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "開始日 — 終了日",
|
||||
"all": "すべて",
|
||||
"last-24h": "過去24時間",
|
||||
"last-week": "先週",
|
||||
"last-month": "先月",
|
||||
"3-last-month": "過去3ヶ月"
|
||||
},
|
||||
"playlists-imported": "プレイリストがインポートされました",
|
||||
"all-playlists-have-been-successfully-imported": "すべてのプレイリストが正常にインポートされました",
|
||||
"no-playlist-found": "プレイリストが見つかりません",
|
||||
"no-playlist-found-in-selected-files": "選択されたファイルにプレイリストが見つかりません",
|
||||
"some-playlists-not-imported": "一部のプレイリストはインポートされませんでした",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "一部のプレイリストが見つかりませんでした",
|
||||
"INVALID_PLAYLIST_FILE": "一部のプレイリストは無効です",
|
||||
"CANNOT_PARSE_PLAYLIST": "一部のプレイリストは読み取れません",
|
||||
"unknown": "一部のプレイリストをインポートできませんでした"
|
||||
},
|
||||
"no-playlists-imported": "プレイリストはインポートされませんでした",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "プレイリストが見つかりませんでした",
|
||||
"INVALID_PLAYLIST_FILE": "プレイリストは無効です",
|
||||
"CANNOT_PARSE_PLAYLIST": "プレイリストは読み取れません",
|
||||
"unknown": "プレイリストをインポートできませんでした"
|
||||
}
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||
"monthNames": ["Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
||||
"timeNames": ["a", "p", "am", "pm", "A", "P", "AM", "PM"]
|
||||
"dayNames": ["日", "月", "火", "水", "木", "金", "土", "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
|
||||
"monthNames": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
"timeNames": ["午前", "午後", "午前", "午後", "午前", "午後", "午前", "午後"]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "Карты",
|
||||
"playlists": "Плейлисты",
|
||||
"models": "Модели",
|
||||
"avatars": "Аватары",
|
||||
"sabers": "Сабли",
|
||||
"platforms": "Платформы",
|
||||
"blocks": "Блоки",
|
||||
"cancel": "Отмена",
|
||||
"delete": "Удалить",
|
||||
"accept": "Принять",
|
||||
"refuse": "Отказаться",
|
||||
"apply": "Применить",
|
||||
"copy": "Скопировать",
|
||||
"copied": "Скопировано!"
|
||||
"copied": "Скопировано!",
|
||||
"confirm": "Подтвердить",
|
||||
"choose-folder": "Изменить папку",
|
||||
"unknown": "Неизвестная ошибка ¯\\_(ツ)_/¯",
|
||||
"warning": "Внимание",
|
||||
"continue": "Продолжить",
|
||||
"shared": "Общий",
|
||||
"pin": "Закрепить",
|
||||
"unpin": "Открепить"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "устаревший"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "Добавить версию игры",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "Общие карты"
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Режим Oculus",
|
||||
@@ -36,26 +48,34 @@
|
||||
"desktop-description": "Режим Летающих контроллеров от первого лица(FPFC) позволит вам использовать меню с помощью WASD и мышки. Это облегчает тестирование модов, потому что вам не нужно подключать шлем!",
|
||||
"debug": "Режим отладки",
|
||||
"debug-description": "Включает окно логов для IPA. В окне будут отображаться логи модов.",
|
||||
"outdated-tippy": "Эта версия устарела, и некоторые моды или функции могут работать не так, как ожидалось. Рекомендуется использовать рекомендуемую версию ({recommendedVersion}) Beat Saber, чтобы воспользоваться последними функциями и исправлениями ошибок.",
|
||||
"advanced-launch": {
|
||||
"button": "Расширенный запуск",
|
||||
"button": "Параметры запуска",
|
||||
"placeholder": "Параметры запуска, например: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Пропустить Steam",
|
||||
"skipsteam-description": "Предотвращает автоматическое открытие Steam с Beat Saber, включите, если вы используете другую VR-среду, такую как WiVRn или Monado, с которой SteamVR может мешать.",
|
||||
"map-editor": "Редактор карт",
|
||||
"map-editor-description": "Запусти официальный редактор карт Beat Saber вместо игры.",
|
||||
"proton-logs": "Протонные логи",
|
||||
"proton-logs-description": "Включает запись протонных логов для этой установки Beat Saber в \"{versionPath}\"."
|
||||
},
|
||||
"maps": {
|
||||
"title": "Общие карты",
|
||||
"search-bar": {
|
||||
"search-placeholder": "Поиск среди карт",
|
||||
"filters-btn": "Фильтр",
|
||||
"dropdown": {
|
||||
"export-maps": "Экспорт карт",
|
||||
"delete-maps": "Удалить карты"
|
||||
"delete-maps": "Удалить карты",
|
||||
"delete-duplicate-maps": "Удалить дубликаты"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "Добавить"
|
||||
"drop-down": {
|
||||
"browse-maps": "Просмотр карт",
|
||||
"import-maps": "Импорт карт"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -67,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "Нет карт",
|
||||
"button": "Скачать карты"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Импортируйте свои карты",
|
||||
"subtext": "Перетащите сюда файлы ZIP, чтобы импортировать свои карты"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "Просмотр плейлистов",
|
||||
"create-a-playlist": "Создать плейлист",
|
||||
"import-playlists": "Импорт плейлистов"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Импортируйте ваши плейлисты",
|
||||
"subtext": "Перетащите сюда файлы \".bplist\" или \".json\" для их импорта"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,7 +112,8 @@
|
||||
"mods-not-available": "Не найдены моды для этой версии Beat Saber",
|
||||
"buttons": {
|
||||
"more-infos": "Подробнее",
|
||||
"install-or-update": "Установить или обновить"
|
||||
"install-or-update": "Установить или обновить",
|
||||
"reinstall-all": "Переустановить все"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -86,9 +122,21 @@
|
||||
"latest": "Latest",
|
||||
"description": "Описание",
|
||||
"dropdown": {
|
||||
"uninstall-all": "Удалить всё"
|
||||
"import-mods": "Импортировать моды",
|
||||
"uninstall-all": "Удалить всё",
|
||||
"unselect-all": "Снять все выделения"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "Моды уже установлены",
|
||||
"description": "Все выбранные моды уже установлены"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "Импортируйте свои моды",
|
||||
"subtext": "Перетащите ваши файлы \"zip\" или \"dll\" сюда для импорта"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -98,12 +146,11 @@
|
||||
"edit": "Редактировать",
|
||||
"uninstall": "Удалить",
|
||||
"create-shortcut": "Создать ярлык",
|
||||
"shared-folders": "Общие папки",
|
||||
"restore-oculus-folder": "Восстановить папку"
|
||||
"shared-folders": "Общие папки"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "Выберите версию",
|
||||
"title": "Скачать версию",
|
||||
"steam-release": "Список изменений",
|
||||
"dropdown": {
|
||||
"refresh": "Обновить версии",
|
||||
@@ -117,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "Выход позволит вам сменить учетную запись при следующей загрузке Beat Saber.",
|
||||
"logout": "Выйти",
|
||||
"logout-success": "Выход выполнен успешно",
|
||||
"download-platform": {
|
||||
"title": "Основная платформа",
|
||||
"desc": "Выберите основную платформу, которая будет использоваться для скачивания версий Beat Saber.",
|
||||
@@ -136,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "Папка установок",
|
||||
"description": "Измените стандартную папку, где будут версии Beat Saber и прочее.",
|
||||
"choose-folder": "Изменить папку"
|
||||
"description": "Изменить папку, которая будет содержать весь контент, загруженный BSManager."
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Папка Proton",
|
||||
"description": "Измените папку на путь к Proton. (например, Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "Не удалось установить папку Proton",
|
||||
"invalid-folder": "Недействительный путь к папке Proton"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "Дополнительный контент",
|
||||
@@ -154,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "Английский, Великобритания",
|
||||
"en-US": "Английский, США",
|
||||
"fr-FR": "Французский",
|
||||
"es-ES": "Испанский",
|
||||
"it-IT": "Итальянец",
|
||||
"de-DE": "Немецкий",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "Китайский (упрощенный)",
|
||||
"zh-TW": "Китайский (традиционный)",
|
||||
"ja-JP": "Японский"
|
||||
"ja-JP": "Японский",
|
||||
"ko-KR": "Корейский"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -195,6 +254,41 @@
|
||||
"report-bug": "Сообщить о баге",
|
||||
"open-logs": "Открыть логи"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "Дополнительные",
|
||||
"description": "Дополнительные настройки для BSManager.",
|
||||
"hardware-acceleration": {
|
||||
"title": "Аппаратное ускорение",
|
||||
"description": "Включите аппаратное ускорение, чтобы использовать ваш GPU и улучшить производительность BSManager. Отключите эту опцию, если у вас возникают пропуски кадров.",
|
||||
"modal": {
|
||||
"title": "Требуется перезагрузка",
|
||||
"body": "Изменение настройки аппаратного ускорения приведет к завершению и перезапуску BSManager. Вы уверены, что хотите это сделать?",
|
||||
"confirm-btn": "Да, я уверен"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "Произошла ошибка, невозможно отключить аппаратное ускорение."
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "Использовать символические ссылки",
|
||||
"description": "Используйте символические ссылки вместо соединений для связывания папок. Включайте эту опцию только если это действительно необходимо.",
|
||||
"modal": {
|
||||
"title": "Разрешения для символических ссылок",
|
||||
"body": "При создании символических ссылок BSManager потребуется права администратора или включенный режим разработчика на вашем устройстве. Вы уверены, что хотите продолжить?",
|
||||
"confirm-btn": "Да, я уверен"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "Произошла ошибка, невозможно изменить настройки символических ссылок."
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "Использовать системный прокси",
|
||||
"description": "BSManager будет делать сетевые запросы через ваш системный прокси.",
|
||||
"error-notification": {
|
||||
"message": "Произошла ошибка, не удалось изменить настройки системного прокси."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -213,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "Операция в процессе",
|
||||
"no-internet": "Нет интернета"
|
||||
"no-internet": "Нет интернета",
|
||||
"file-not-supported": "Файл не поддерживается"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "Дождитесь завершения операции, потом попробуйте снова.",
|
||||
"no-internet": "Проверьте своё соединение и попробуйте снова."
|
||||
"no-internet": "Проверьте своё соединение и попробуйте снова.",
|
||||
"file-not-supported": "Поддерживаются только файлы {types}."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -239,12 +335,11 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": "Требуется .NET 6"
|
||||
},
|
||||
"msg": {
|
||||
"401": "Похоже Steam не хочет, чтобы мы скачали Beat Saber 😢",
|
||||
"404": "Нет связи с серверами Steam.",
|
||||
"ExeNotFoundWindows": "Отсутствует \"DepotDownloader.exe\". Пожалуйста, проверьте, не находится ли исполняемый файл в карантине вашего антивируса.",
|
||||
"ExeNotFoundLinux": "Отсутствует исполняемый файл \"DepotDownloader\".",
|
||||
"Password": "Неверный пароль.",
|
||||
"InvalidCredentials": "Неверные учетные данные для входа, неразрешенное соединение или слишком много попыток входа.",
|
||||
"NoManifest": "Файл манифеста не найден",
|
||||
@@ -264,11 +359,7 @@
|
||||
"LicenceError": "Не удалось проверить наличие лицензии.",
|
||||
"RateLimitExceeded": "Слишком много попыток, вернитесь позже и попробуйте снова.",
|
||||
"TokenRejected": "Ваш токен для входа был отклонен 😕 Пожалуйста, попробуйте снова.",
|
||||
"AccessDenied": "Доступ к Steam был отклонен.",
|
||||
"dotnet-required": "Среда запуска .NET 6 должна быть установлена, чтобы скачать Beat Saber. Скачайте её с помощью кнопки ниже."
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": "Скачать .NET 6"
|
||||
"AccessDenied": "Доступ к Steam был отклонен."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "Невозможно получить манифест, необходимый для загрузки.",
|
||||
"VERIFY_INTEGRITY_FAILED": "При проверке файлов произошла ошибка.",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "Некоторые файлы не удалось загрузить.",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "Получение токена входа заняло слишком много времени.",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "Окно входа в Meta было закрыто.",
|
||||
"META_LOGIN_TIMED_OUT": "Получение токена входа заняло слишком много времени.",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "Окно входа в Meta было закрыто.",
|
||||
"NO_META_AUTH_TOKEN": "Невозможно получить токен входа в Meta, необходимый для загрузки.",
|
||||
"UNKNOWN_ERROR": "Произошла неизвестная ошибка."
|
||||
}
|
||||
@@ -370,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Запуск...🚀",
|
||||
"STEAM_LAUNCHING": "Steam запускается!"
|
||||
"STEAM_LAUNCHING": "Steam запускается!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Пропуск запуска Steam"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "Не забудьте разогреться 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber запустится сам после Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber запустится сам после Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "Надеюсь, вы знаете, что делаете :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -384,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculus не запущен",
|
||||
"BS_ALREADY_RUNNING": "Beat Saber уде запущен",
|
||||
"EXE_NOT_FINDED": "Отсутствуют файлы",
|
||||
"PROTON_NOT_SET": "Папка Proton не установлена",
|
||||
"PROTON_NOT_FOUND": "Бинарный файл Proton не найде",
|
||||
"EXIT": "Вылет",
|
||||
"OCULUS_LIB_NOT_FOUND": "Библиотека Oculus не найдена"
|
||||
"OCULUS_LIB_NOT_FOUND": "Библиотека Oculus не найдена",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Оригинальная версия Oculus не найдена"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "Возникла неизвестная ошибка.",
|
||||
@@ -394,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "Закройте Beat Saber, чтобы запустить его.",
|
||||
"EXE_NOT_FINDED": "Некоторые файлы отсутствуют, пробуем их проверить.",
|
||||
"EXIT": "Beat Saber вылетел, пытаемся проверить файлы.",
|
||||
"OCULUS_LIB_NOT_FOUND": "Проверьте, правильно ли установлено приложение Oculus, и правильно ли определены библиотеки в Oculus."
|
||||
"OCULUS_LIB_NOT_FOUND": "Проверьте, правильно ли установлено приложение Oculus, и правильно ли определены библиотеки в Oculus.",
|
||||
"PROTON_NOT_SET": "Установите путь к Proton в настройках.",
|
||||
"PROTON_NOT_FOUND": "Установите путь к Proton в настройках.",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber должен быть установлен из приложения Oculus перед открытием."
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "Запустить Steam"
|
||||
@@ -413,7 +512,8 @@
|
||||
"CantEditSteam": "Не удалось изменить",
|
||||
"CantRename": "Переименование невозможно",
|
||||
"VersionAlreadExist": "Эта версия уже добавлена",
|
||||
"CantClone": "Клонирование невозможно"
|
||||
"CantClone": "Клонирование невозможно",
|
||||
"UnknownError": "Произошла неизвестная ошибка"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "Вы не можете изменить версию из Steam, но вы можете её клонировать."
|
||||
@@ -460,12 +560,44 @@
|
||||
"no-mods": "Для этой версии не было установлено модов 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "Импорт модов завершен",
|
||||
"error": "Произошла ошибка при импорте модов"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Моды успешно импортированы.",
|
||||
"some-success": "Некоторые моды были успешно импортированы.",
|
||||
"no-dlls": "Файл(ы) не содержат файлов \"dll\"."
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "Карта установлена",
|
||||
"error": "Ошибка установки карты"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "Нет дубликатов",
|
||||
"msg": "Ни одна карта не была удалена"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "Дубликаты удалены",
|
||||
"msg": "Дубликаты были удалены"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "Импорт карт завершен",
|
||||
"error": "Произошла ошибка при импорте карт"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "Карты были успешно импортированы.",
|
||||
"some-success": "Некоторые карты успешно импортированы.",
|
||||
"only-accept-zip": "Поддерживаются только zip-файлы.",
|
||||
"invalid-zip": "В zip-файле(ах) нет карт.",
|
||||
"unknown": "Произошла неизвестная ошибка."
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -486,6 +618,19 @@
|
||||
"title": "Бэкап создан",
|
||||
"msg": "Общая папка 'UserData' может создавать ошибки. В случае проблем отвяжите папку, чтобы восстановить бэкап."
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "Ошибка при связывании папки",
|
||||
"msg": {
|
||||
"EPERM": "BSManager не имеет необходимых прав для связывания папки.",
|
||||
"EACCES": "BSManager не имеет необходимых прав для связывания папки.",
|
||||
"ENOSPC": "Диск заполнен, освободите место и попробуйте снова.",
|
||||
"UNKNOWN_ERROR": "Произошла неизвестная ошибка при связывании папки."
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "Не удалось добавить общую папку.",
|
||||
"msg": "Вы не можете добавлять \"{folder}\" в общие папки."
|
||||
}
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
@@ -496,6 +641,14 @@
|
||||
"error": {
|
||||
"msg": "Ошибка создания ярлыка."
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "Устаревшая версия",
|
||||
"msg": "Эта версия Beat Saber устарела. Используйте рекомендуемую версию, чтобы воспользоваться последними функциями и исправлениями ошибок.",
|
||||
"actions": {
|
||||
"do-not-remind": "Больше не напоминать",
|
||||
"ok": "Ок"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -505,8 +658,7 @@
|
||||
"choose-store": {
|
||||
"title": "Какая платформа?",
|
||||
"body": "Выберите платформу, с которой вы хотите скачать Beat Saber.",
|
||||
"set-in-settings": "Установить платформу по умолчанию в настройках",
|
||||
"unavailable": "В связи с недавними изменениями от Oculus, понижение версий Oculus в настоящее время больше не доступно. Мы изучаем проблему и будем держать вас в курсе на сервере BSManager в Discord."
|
||||
"set-in-settings": "Установить платформу по умолчанию в настройках"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steam Guard",
|
||||
@@ -634,26 +786,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "Связать карты",
|
||||
"desc": "Общие карты доступны во всех версиях игры с этой функцией. Пока связь есть, эта версия будет иметь общие карты.",
|
||||
"info": "Добавление и удаление карт так же будут общими",
|
||||
"keep-maps": {
|
||||
"label": "Оставить карты",
|
||||
"title": "Все карты из этой версии станут общими. Если не включить, то карты этой версии будут потеряны."
|
||||
},
|
||||
"valid-btn": "Связать карты"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "Отвязать карты",
|
||||
"desc": "Осторожно, отвязка карт сделает недоступными общие карты для этой версии, пока вы не свяжете их снова.",
|
||||
"keep-maps": {
|
||||
"label": "Оставить карты",
|
||||
"title": "Общие карты будут скопированы в папку карт этой версии. Карты не будут потеряны, если это не выбрано."
|
||||
},
|
||||
"valid-btn": "Отвязать карты"
|
||||
"delete-duplicate-maps": {
|
||||
"title": "Удалить карту?",
|
||||
"desc": "Только карта \"{map}\" является дубликатом. Вы уверены, что хотите ее удалить?",
|
||||
"desc-plural": "Найдено {nb} дубликатов карт. Вы уверены, что хотите их удалить?"
|
||||
}
|
||||
},
|
||||
"link-contents": {
|
||||
"title": "Связать {contentType}",
|
||||
"p-1": "Связывание {contentType} позволяет делиться {contentType} между всеми версиями с этой функцией. После связывания эта версия будет использовать общие {contentType}.",
|
||||
"p-2": "Для использования функции связывания все ваши {itemsHtml} будут перемещены в папку {sharedHtml}. После этого символическая ссылка, указывающая на общую папку {contentType}, заменит вашу оригинальную папку {contentType}.",
|
||||
"warning": "Обратите внимание, что любые изменения, затрагивающие {contentType}, также затронут все версии с этой функцией.",
|
||||
"what-is-a-symbolic-link": "Что такое символическая ссылка?",
|
||||
"i-need-help": "Мне нужна помощь",
|
||||
"valid-btn": "Связать {contentType}"
|
||||
},
|
||||
"unlink-contents": {
|
||||
"title": "Разорвать связь {contentType}",
|
||||
"p-1": "Будьте осторожны, разрыв связи {contentType} отключит использование общих {contentType} для этой версии, пока они снова не будут связаны.",
|
||||
"p-2": "Чтобы разорвать связь ваших {contentType}, символическая ссылка, указывающая на {sharedHtml}, будет удалена. После этого все {contentType} из общей папки будут скопированы в папку {itemsHtml} вашей версии Beat Saber.",
|
||||
"do-not-copy-contents": "Не копировать {contentType}",
|
||||
"do-not-copy-contents-tip": "Если включено, {contentType} из общей папки не будут скопированы в вашу версию Beat Saber. В результате, никакие {contentType} не останутся в вашей версии Beat Saber после разрыва связи.",
|
||||
"valid-btn": "Разорвать связь {contentType}"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "Поиск",
|
||||
"loading-maps": "Загрузка карт...",
|
||||
@@ -675,9 +830,14 @@
|
||||
"add-folder": "Добавить папку",
|
||||
"link-folder": "Связать папку",
|
||||
"unlink-folder": "Отвязать папку",
|
||||
"link-all": "Связать всё"
|
||||
"link-all": "Связать всё",
|
||||
"remove-from-the-list": "Удалить из списка"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "Добавление общей папки",
|
||||
"description": "У вас могут возникнуть проблемы при связывании папки \"{folder}\". Вы уверены, что хотите ее добавить?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "Создать ярлык",
|
||||
"desc": "Ярлык позволит вам запустить Beat Saber без помощи BSManager.",
|
||||
@@ -696,40 +856,73 @@
|
||||
"stay": "Запомнить меня",
|
||||
"connect-to-meta": "Подключиться к Meta"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "Внимание",
|
||||
"body": {
|
||||
"must-be-installed-once": "Вы должны были установить Beat Saber хотя бы один раз из Oculus Store, иначе Beat Saber может автоматически закрыться после запуска.",
|
||||
"need-backup": "Для запуска этой версии папка установки Beat Saber в вашей библиотеке Oculus будет переименована.",
|
||||
"can-restore-later": "При необходимости вы можете восстановить её через BSManager, перейдя в опции оригинальной версии Oculus и нажав на 'Восстановить папку'",
|
||||
"tips-launch-oculus": "Совет: Вы можете запустить эту версию напрямую через Oculus, пока оригинальная версия не восстановлена."
|
||||
},
|
||||
"not-remind-me": "Больше не напоминать",
|
||||
"understood": "Понял"
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "Включить Sideloading",
|
||||
"info-1": "Чтобы запустить Beat Saber, необходимо включить возможность запуска приложений через sideloading. BSManager запросит права администратора для автоматического включения этой функции.",
|
||||
"info-2": "Функция sideloading позволяет запускать игры, расположенные за пределами папки библиотеки Oculus.",
|
||||
"info-3": "После активации сайдлоадинга функция останется активной, и вам больше не будет предложено её включить.",
|
||||
"i-want-to-do-it-myself": "Я хочу сделать это сам",
|
||||
"understood": "Понято"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Мета Токен",
|
||||
"title": "Токен Oculus",
|
||||
"body": {
|
||||
"need-token": "Для загрузки Beat Saber требуется ваш токен входа в Meta.",
|
||||
"how-obtain-token": "Как получить мой Мета Токен?",
|
||||
"input-label": "Мета Токен",
|
||||
"token-is-invalid": "Токен недействителен."
|
||||
"info-enter-token": "Для загрузки Beat Saber требуется ваш токен входа в Oculus.",
|
||||
"how-obtain-token": "Как получить мой токен Oculus?",
|
||||
"oculus-token": "Токен Oculus",
|
||||
"token-is-invalid": "Токен недействителен.",
|
||||
"save-my-token": "Сохранить мой токен",
|
||||
"have-token-saved": "У меня уже есть сохраненный токен",
|
||||
"save-token-info": "Это сохранит ваш токен для удобства повторного использования. Вам необходимо создать пароль для шифрования вашего токена для хранения. Если вы забудете пароль, вам просто нужно будет снова предоставить свой токен.",
|
||||
"password": "Пароль",
|
||||
"password-too-short": "Слишком короткий пароль",
|
||||
"info-enter-password": "Для загрузки Beat Saber требуется ваш токен входа в Oculus. Введите пароль, используемый для сохранения вашего токена Oculus.",
|
||||
"info-disabled-btn-password": "Токен, расшифрованный с использованием предоставленного пароля, недействителен. Убедитесь, что пароль совпадает с тем, который использовался для сохранения токена.",
|
||||
"enter-oculus-token": "Введите токен Oculus"
|
||||
},
|
||||
"valid-btn": "Подтвердить"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "Права Администратора",
|
||||
"body": {
|
||||
"info": "Обнаружено, что Steam работает с правами администратора. Чтобы связаться со Steam, Beat Saber также должен быть запущен от имени администратора. В противном случае Beat Saber может столкнуться с проблемами и закрыться после запуска.",
|
||||
"info-2": "Запуск Beat Saber в режиме администратора также даст права администратора установленным модам. Поэтому рекомендуется перезапустить Steam без прав администратора.",
|
||||
"info-3": "Обратите внимание, что не рекомендуется предоставлять права администратора Steam, так как это также влияет на установленные игры и моды, представляя угрозу безопасности."
|
||||
},
|
||||
"launch-as-admin": "Запустить от имени администратора"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "Папка установок",
|
||||
"choose-folder-description": "Выберите папку, которая будет содержать весь контент, загруженный BSManager. (версии, моды, карты, плейлисты и т.д.)",
|
||||
"default": "По умолчанию",
|
||||
"default-tooltip": "По умолчанию в вашей домашней папке"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Папка Proton",
|
||||
"proton-folder-description": "В Linux BSManager требует Proton для работы. Выберите папку установки Proton, чтобы продолжить.",
|
||||
"proton-folder-placeholder": "Папка установки Proton",
|
||||
"where-is-proton-installed": "Где установлен Proton?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "Версия {outdatedVersion} устарела, и некоторые моды или функции могут работать некорректно. Пожалуйста, скачайте последнюю рекомендуемую версию ({recommendedVersion}) Beat Saber, чтобы воспользоваться новейшими функциями и исправлениями ошибок."
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "Длительность",
|
||||
"nps" : "Нот в Секунду",
|
||||
"njs": "Скорость прыжка нот",
|
||||
"tags": "тэги",
|
||||
"specificities": "основное",
|
||||
"requirements": "требуемые моды"
|
||||
"requirements": "требуемые моды",
|
||||
"exclude": "исключить",
|
||||
"leaderboard": "Таблица лидеров"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "точность",
|
||||
"balanced": "баланс",
|
||||
"challenge": "испытание",
|
||||
"dancestyle": "танец",
|
||||
"dance-style": "танец",
|
||||
"fitness": "фитнес",
|
||||
"speed": "скорость",
|
||||
"tech": "техника"
|
||||
@@ -738,47 +931,55 @@
|
||||
"dance": "танец",
|
||||
"swing": "свинг",
|
||||
"nightcore": "найткор",
|
||||
"folk": "народные",
|
||||
"family": "семейные",
|
||||
"folk-acoustic": "фолк и акустика",
|
||||
"kids-family": "дети и семья",
|
||||
"ambient": "эмбиент",
|
||||
"funk": "фанк",
|
||||
"funk-disco": "фанк и диско",
|
||||
"jazz": "джаз",
|
||||
"soul": "соул",
|
||||
"speedcore": "спидкор",
|
||||
"punk": "панк",
|
||||
"rb": "ар-н-би",
|
||||
"holiday": "праздник",
|
||||
"vocaloid": "вокалоиды",
|
||||
"jrock": "джей-рок",
|
||||
"rb": "r&b",
|
||||
"holiday": "праздники",
|
||||
"vocaloid": "вокалоид",
|
||||
"j-rock": "джей-рок",
|
||||
"trance": "транс",
|
||||
"drumbass": "драм-н-бейс",
|
||||
"comedy": "комедия",
|
||||
"instrumental": "инструментальные",
|
||||
"drum-and-bass": "драм-н-бейс",
|
||||
"comedy-meme": "комедия и мемы",
|
||||
"instrumental": "инструментал",
|
||||
"hardcore": "хардкор",
|
||||
"kpop": "кей-поп",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "инди",
|
||||
"techno": "техно",
|
||||
"house": "хаус",
|
||||
"game": "видеоигры",
|
||||
"film": "фильмы",
|
||||
"alt": "альтернативные",
|
||||
"dubstep": "дапстеп",
|
||||
"video-game-soundtrack": "видеоигра",
|
||||
"tv-movie-soundtrack": "ТВ и кино",
|
||||
"alternative": "альтернатива",
|
||||
"dubstep": "дабстеп",
|
||||
"metal": "метал",
|
||||
"anime": "аниме",
|
||||
"hiphop": "хипхоп",
|
||||
"jpop": "джей-поп",
|
||||
"rock": "прк",
|
||||
"hip-hop-rap": "хип-хоп и рэп",
|
||||
"j-pop": "j-pop",
|
||||
"rock": "рок",
|
||||
"pop": "поп",
|
||||
"electronic": "электроника",
|
||||
"classical-orchestral": "Классика и Оркестр"
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "ИИ",
|
||||
"ranked": "с рейтингом",
|
||||
"curated": "оценённые куратором",
|
||||
"verified": "проверенные авторы",
|
||||
"fullSpread": "полный набор"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "все",
|
||||
"Ranked": "с рейтингом",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "установленный"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "легко",
|
||||
"Normal": "нормально",
|
||||
@@ -788,7 +989,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "От {songAutor}",
|
||||
"mapped-by": "автор карты "
|
||||
"mapped-by": "автор карты ",
|
||||
"delete": "Удалить",
|
||||
"preview" : "Предпросмотр карты",
|
||||
"bsr-code" : "Код BSR",
|
||||
"download" : "Скачать карту",
|
||||
"downloading" :"Загрузка карты",
|
||||
"cancel-download" : "Отменить загрузку",
|
||||
"hightlight-difficulty": "Выделить сложность"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -856,86 +1064,6 @@
|
||||
"no-models": "Модели не найдены.",
|
||||
"no-internet": "Нет интернета.",
|
||||
"error-occured": "Ошибка, повторите попытку позже."
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "Связать аватары",
|
||||
"desc": "Общие аватары доступны во всех версиях игры с этой функцией. Пока связь есть, эта версия будет иметь общие аватары.",
|
||||
"info": "Добавление и удаление аватаров так же будут общими",
|
||||
"keep-models": {
|
||||
"label": "Оставить аватары",
|
||||
"title": "Все аватары из этой версии станут общими. Если не включить, то аватары этой версии будут потеряны."
|
||||
},
|
||||
"valid-btn": "Связать аватары"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Связать мечи",
|
||||
"desc": "Общие мечи доступны во всех версиях игры с этой функцией. Пока связь есть, эта версия будет иметь общие мечи.",
|
||||
"info": "Добавление и удаление мечей так же будут общими",
|
||||
"keep-models": {
|
||||
"label": "Оставить мечи",
|
||||
"title": "Все мечи из этой версии станут общими. Если не включить, то мечи этой версии будут потеряны."
|
||||
},
|
||||
"valid-btn": "Связать мечи"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Связать платформы",
|
||||
"desc": "Общие платформы доступны во всех версиях игры с этой функцией. Пока связь есть, эта версия будет иметь общие платформы.",
|
||||
"info": "Добавление и удаление платформ так же будут общими",
|
||||
"keep-models": {
|
||||
"label": "Оставить платформы",
|
||||
"title": "Все платформы из этой версии станут общими. Если не включить, то платформы этой версии будут потеряны."
|
||||
},
|
||||
"valid-btn": "Связать платформы"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Связать кубы",
|
||||
"desc": "Общие кубы доступны во всех версиях игры с этой функцией. Пока связь есть, эта версия будет иметь общие кубы.",
|
||||
"info": "Adding and deleting bloqs will also be shared",
|
||||
"keep-models": {
|
||||
"label": "Оставить кубы",
|
||||
"title": "Все кубы из этой версии станут общими. Если не включить, то кубы этой версии будут потеряны."
|
||||
},
|
||||
"valid-btn": "Связать кубы"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "Отвязать аватары",
|
||||
"desc": "Осторожно, отвязка аватаров сделает недоступными общие аватары для этой версии, пока вы не свяжете их снова.",
|
||||
"keep-models": {
|
||||
"label": "Оставить аватары",
|
||||
"title": "Общие аватары будут скопированы в папку аватаров этой версии. Аватары не будут потеряны, если это не выбрано."
|
||||
},
|
||||
"valid-btn": "Отвязать аватары"
|
||||
},
|
||||
"saber": {
|
||||
"title": "Отвязать мечи",
|
||||
"desc": "Осторожно, отвязка мечей сделает недоступными общие мечи для этой версии, пока вы не свяжете их снова.",
|
||||
"keep-models": {
|
||||
"label": "Оставить мечи",
|
||||
"title": "Общие мечи будут скопированы в папку мечей этой версии. Мечи не будут потеряны, если это не выбрано."
|
||||
},
|
||||
"valid-btn": "Отвязать мечи"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Отвязать платформы",
|
||||
"desc": "Осторожно, отвязка платформ сделает недоступными общие платформы для этой версии, пока вы не свяжете их снова.",
|
||||
"keep-models": {
|
||||
"label": "Оставить платформы",
|
||||
"title": "Общие платформы будут скопированы в папку платформ этой версии. Платформы не будут потеряны, если это не выбрано."
|
||||
},
|
||||
"valid-btn": "Отвязать платформы"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "Отвязать кубы",
|
||||
"desc": "Осторожно, отвязка кубов сделает недоступными общие кубы для этой версии, пока вы не свяжете их снова.",
|
||||
"keep-models": {
|
||||
"label": "Оставить кубы",
|
||||
"title": "Общие кубы будут скопированы в папку кубов этой версии. Кубы не будут потеряны, если это не выбрано."
|
||||
},
|
||||
"valid-btn": "Отвязать кубы"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -945,10 +1073,6 @@
|
||||
"go-to-mods": "Перейти к модам",
|
||||
"not-remind": "Больше не напоминать"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "Сломанные модели",
|
||||
"desc": "С момента обновления движка Beat Saber, все пользовательские модификации моделей сломались и требуют обновления. Они еще не были обновлены."
|
||||
},
|
||||
"export-success": {
|
||||
"title": "Экспорт завершен 🎉"
|
||||
}
|
||||
@@ -980,6 +1104,135 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "Или просмотреть файлы"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "Ошибка при создании плейлиста",
|
||||
"error-playlist-creation-desc": "Произошла ошибка при создании плейлиста.",
|
||||
"playlist-created-title": "Плейлист создан",
|
||||
"playlist-created-desc": "Плейлист успешно создан. Теперь вы можете синхронизировать его карты!",
|
||||
"download-playlist": "Скачать плейлист",
|
||||
"synchronize-playlist": "Синхронизировать плейлист",
|
||||
"synchronize-maps": "Синхронизировать карты",
|
||||
"error-playlists-synchronization-title": "Ошибка синхронизации плейлистов",
|
||||
"error-playlists-synchronization-desc": "Произошла ошибка при синхронизации плейлистов.",
|
||||
"playlists-synchronized-title": "Плейлисты синхронизированы!",
|
||||
"playlists-synchronized-desc": "Плейлисты и их карты были загружены.",
|
||||
"playlists-export-error-title": "Ошибка экспорта плейлистов",
|
||||
"playlists-export-error-desc": "Произошла ошибка при экспорте плейлистов.",
|
||||
"playlists-exported-title": "Плейлисты экспортированы!",
|
||||
"playlists-exported-desc": "Плейлисты успешно экспортированы.",
|
||||
"playlists-with-maps-exported-desc": "Плейлисты и их карты успешно экспортированы.",
|
||||
"playlist-delete-error-title": "Ошибка удаления плейлиста",
|
||||
"playlist-delete-error-desc": "Произошла ошибка при удалении плейлиста.",
|
||||
"playlists-deleted-title": "Плейлисты удалены!",
|
||||
"playlists-deleted-desc": "Плейлисты успешно удалены.",
|
||||
"edit-playlist": "Редактировать плейлист",
|
||||
"playlist-edit-error-title": "Ошибка редактирования плейлиста",
|
||||
"playlist-edit-error-desc": "Произошла ошибка при редактировании плейлиста.",
|
||||
"playlist-edited-title": "Плейлист отредактирован!",
|
||||
"playlist-edited-desc": "Плейлист успешно изменен. Теперь вы можете синхронизировать его карты!",
|
||||
"playlists-loading": "Загрузка плейлистов...",
|
||||
"no-playlists": "Нет плейлистов",
|
||||
"download-playlists": "Скачать плейлисты",
|
||||
"created-by": "Создано",
|
||||
"stop-download": "Остановить загрузку",
|
||||
"cancel-download": "Отменить загрузку",
|
||||
"open-file": "Открыть файл",
|
||||
"delete-playlist-ask": "Удалить плейлист?",
|
||||
"delete-playlists-ask": "Удалить плейлисты?",
|
||||
"delete-playlist-desc": "Вы уверены, что хотите удалить плейлист \"{playlistTitle}\"?",
|
||||
"delete-playlists-desc": "Вы уверены, что хотите удалить {nb} плейлистов?",
|
||||
"delete-maps": "Удалить карты",
|
||||
"delete-playlist-maps-tip": "Если включено, все карты в плейлисте будут удалены",
|
||||
"delete-playlists-maps-tip": "Если включено, все карты в плейлистах будут удалены",
|
||||
"export-playlist-ask": "Экспортировать плейлист?",
|
||||
"export-playlists-ask": "Экспортировать плейлисты?",
|
||||
"export-playlist-desc": "Вы уверены, что хотите экспортировать плейлист \"{playlistTitle}\"?",
|
||||
"export-playlists-desc": "Вы уверены, что хотите экспортировать {nb} плейлистов?",
|
||||
"export-maps": "Экспортировать карты",
|
||||
"export-playlist-maps-tip": "Если включено, все карты в плейлисте также будут экспортированы",
|
||||
"export-playlists-maps-tip": "Если включено, все карты в плейлистах также будут экспортированы",
|
||||
"export": "Экспорт",
|
||||
"need-clone-title": "Предупреждение",
|
||||
"need-clone-desc-1": "Этот плейлист был загружен с внешнего сайта и содержит ссылку для синхронизации.",
|
||||
"need-clone-desc-2": "Чтобы избежать потери ваших изменений во время синхронизации, плейлист будет дублирован, а его ссылка для синхронизации удалена.",
|
||||
"need-clone-desc-3": "Затем вы можете, если хотите, удалить оригинальный плейлист.",
|
||||
"understood": "Я понимаю",
|
||||
"synchronize-playlist-ask": "Синхронизировать плейлист?",
|
||||
"synchronize-playlists-ask": "Синхронизировать плейлисты?",
|
||||
"synchronize-playlist-desc": "Вы уверены, что хотите синхронизировать плейлист \"{playlistTitle}\"?",
|
||||
"synchronize-playlists-desc": "Вы уверены, что хотите синхронизировать {nb} плейлистов?",
|
||||
"synchronize-playlist-tip": "Это действие обновляет плейлисты и загружает отсутствующие карты; это может занять несколько минут.",
|
||||
"synchronize": "Синхронизировать",
|
||||
"curated": "Рекомендованные",
|
||||
"verified-mapper": "Проверенный маппер",
|
||||
"empty-playlists": "Пустые плейлисты",
|
||||
"search-playlist": "Поиск плейлиста",
|
||||
"no-playlists-found": "Плейлисты не найдены",
|
||||
"error-occur-while-loading-playlists": "Произошла ошибка при загрузке плейлистов",
|
||||
"error-occur-while-loading-playlist": "Произошла ошибка при загрузке плейлиста",
|
||||
"loading-maps": "Загрузка карт...",
|
||||
"no-maps-found-for-playlist": "Для этого плейлиста не найдено карт",
|
||||
"playlist-contain-no-maps": "Плейлист не содержит карт",
|
||||
"no-map-installed-for-playlist": "Для этого плейлиста не установлено карт",
|
||||
"playlist-is-waiting-to-download": "Плейлист ожидает загрузки",
|
||||
"download-maps": "Скачать карты",
|
||||
"download-missing-maps": "Скачать отсутствующие карты",
|
||||
"playlist-is-downloading": "Плейлист загружается",
|
||||
"some-playlist-maps-are-missing": "Некоторые карты в этом плейлисте отсутствуют",
|
||||
"create-a-playlist": "Создать плейлист",
|
||||
"synchronize-playlists": "Синхронизировать плейлисты",
|
||||
"export-playlists": "Экспортировать плейлисты",
|
||||
"delete-playlists": "Удалить плейлисты",
|
||||
"choose-image": "Выбрать изображение",
|
||||
"title": "Название",
|
||||
"playlist-title": "Название плейлиста",
|
||||
"description": "Описание",
|
||||
"playlist-description": "Описание плейлиста",
|
||||
"author": "Автор",
|
||||
"playlist-author": "Автор плейлиста",
|
||||
"save": "Сохранить",
|
||||
"loading": "Загрузка...",
|
||||
"installed": "Установлено",
|
||||
"no-map-found": "Карта не найдена",
|
||||
"edit-playlist-shortcuts": "Удерживайте Shift или Ctrl для выбора нескольких карт",
|
||||
"add-to-playlist": "Добавить в плейлист",
|
||||
"remove-from-playlist": "Удалить из плейлиста",
|
||||
"playlist-is-empty": "Плейлист пуст",
|
||||
"continue": "Продолжить",
|
||||
"nb-maps": "Количество карт",
|
||||
"nb-mappers": "Количество мапперов",
|
||||
"duration": "Продолжительность",
|
||||
"nps": "Нот в секунду",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "Дата начала — Дата окончания",
|
||||
"all": "Все",
|
||||
"last-24h": "Последние 24 часа",
|
||||
"last-week": "Последняя неделя",
|
||||
"last-month": "Последний месяц",
|
||||
"3-last-month": "Последние 3 месяца"
|
||||
},
|
||||
"playlists-imported": "Плейлисты импортированы",
|
||||
"all-playlists-have-been-successfully-imported": "Все плейлисты успешно импортированы",
|
||||
"no-playlist-found": "Плейлист не найден",
|
||||
"no-playlist-found-in-selected-files": "Плейлист не найден в выбранных файлах",
|
||||
"some-playlists-not-imported": "Некоторые плейлисты не импортированы",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "Некоторые плейлисты не найдены",
|
||||
"INVALID_PLAYLIST_FILE": "Некоторые плейлисты недействительны",
|
||||
"CANNOT_PARSE_PLAYLIST": "Некоторые плейлисты нечитаемы",
|
||||
"unknown": "Некоторые плейлисты не удалось импортировать"
|
||||
},
|
||||
"no-playlists-imported": "Плейлисты не импортированы",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "Плейлисты не найдены",
|
||||
"INVALID_PLAYLIST_FILE": "Плейлисты недействительны",
|
||||
"CANNOT_PARSE_PLAYLIST": "Плейлисты нечитаемы",
|
||||
"unknown": "Не удалось импортировать плейлисты"
|
||||
}
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Воскресение", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"],
|
||||
"monthNames": ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авн", "Сен", "Окт", "Ноя", "Дек", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "譜面",
|
||||
"playlists": "歌單",
|
||||
"models": "模型",
|
||||
"avatars": "頭像",
|
||||
"sabers": "光劍",
|
||||
"platforms": "平台",
|
||||
"blocks": "方塊",
|
||||
"cancel": "取消",
|
||||
"delete": "刪除",
|
||||
"accept": "接受",
|
||||
"refuse": "拒絕",
|
||||
"apply": "應用",
|
||||
"copy": "複製",
|
||||
"copied": "已複製!"
|
||||
"copied": "已複製!",
|
||||
"confirm": "確認",
|
||||
"choose-folder": "選擇文件夾",
|
||||
"unknown": "發生了一個錯誤 ¯\\_(ツ)_/¯",
|
||||
"warning": "警告",
|
||||
"continue": "繼續",
|
||||
"shared": "共享",
|
||||
"pin": "固定",
|
||||
"unpin": "取消固定"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "過時"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "新增版本",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "共享譜面 "
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Oculus 模式",
|
||||
@@ -36,26 +48,34 @@
|
||||
"desktop-description": "第一人稱飛控模式允許你使用鍵盤 WASD 和滑鼠在遊戲中進行導航。你無需帶上頭顯即可進行測試!",
|
||||
"debug": "Debug 模式",
|
||||
"debug-description": "為 IPA 啟用輸出日誌窗口。 會顯示所用 Mod 的 debug 輸出",
|
||||
"outdated-tippy": "此版本已過時,某些模組或功能可能無法按預期運作。建議使用推薦版本的 Beat Saber ({recommendedVersion}),以享受最新功能和修復。",
|
||||
"advanced-launch": {
|
||||
"button": "高級啟動",
|
||||
"button": "啟動選項",
|
||||
"placeholder": "額外啟動參數,例如: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "跳過 Steam",
|
||||
"skipsteam-description": "防止 Steam 與 Beat Saber 自動打開,如果您使用的是其他 VR 執行時,如 WiVRn 或 Monado,SteamVR 可能會干擾,請啟用此選項。",
|
||||
"map-editor": "地圖編輯器",
|
||||
"map-editor-description": "啟動官方的 Beat Saber 地圖編輯器,而不是遊戲。",
|
||||
"proton-logs": "Proton紀錄",
|
||||
"proton-logs-description": "啟用此 Beat Saber 安裝的質子紀錄,路徑為\"{versionPath}\"。"
|
||||
},
|
||||
"maps": {
|
||||
"title": "Shared maps",
|
||||
"search-bar": {
|
||||
"search-placeholder": "譜面搜尋",
|
||||
"filters-btn": "篩選",
|
||||
"dropdown": {
|
||||
"export-maps": "導出譜面",
|
||||
"delete-maps": "刪除譜面"
|
||||
"delete-maps": "刪除譜面",
|
||||
"delete-duplicate-maps": "刪除重複項"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "新增"
|
||||
"drop-down": {
|
||||
"browse-maps": "瀏覽地圖",
|
||||
"import-maps": "匯入地圖"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -67,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "無譜面",
|
||||
"button": "下載譜面"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "導入您的地圖",
|
||||
"subtext": "將ZIP文件拖放到此處以導入您的地圖"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "瀏覽播放列表",
|
||||
"create-a-playlist": "建立播放列表",
|
||||
"import-playlists": "匯入播放列表"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "匯入您的播放列表",
|
||||
"subtext": "將您的 \".bplist\" 或 \".json\" 檔案拖曳到這裡進行匯入"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,7 +112,8 @@
|
||||
"mods-not-available": "該版本 BeatSaber 暫無可用 Mod",
|
||||
"buttons": {
|
||||
"more-infos": "更多資訊",
|
||||
"install-or-update": "安裝或更新"
|
||||
"install-or-update": "安裝或更新",
|
||||
"reinstall-all": "重新安裝全部"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -86,9 +122,21 @@
|
||||
"latest": "最新",
|
||||
"description": "描述",
|
||||
"dropdown": {
|
||||
"uninstall-all": "全部移除"
|
||||
"import-mods": "導入模組",
|
||||
"uninstall-all": "全部移除",
|
||||
"unselect-all": "取消全選"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "模組已安裝",
|
||||
"description": "所有選中的模組已經安裝"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "匯入你的模組",
|
||||
"subtext": "將你的 \"zip\" 或 \"dll\" 檔案拖放到這裡以進行匯入"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -98,12 +146,11 @@
|
||||
"edit": "編輯",
|
||||
"uninstall": "移除",
|
||||
"create-shortcut": "創建捷徑",
|
||||
"shared-folders": "Shared Folders",
|
||||
"restore-oculus-folder": "Restore the folder"
|
||||
"shared-folders": "Shared Folders"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "選擇版本",
|
||||
"title": "下載一個版本",
|
||||
"steam-release": "發布頁面",
|
||||
"dropdown": {
|
||||
"refresh": "刷新版本",
|
||||
@@ -117,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "登出後,您可以在下一次下載 Beat Saber 時切換帳戶。",
|
||||
"logout": "登出",
|
||||
"logout-success": "登出成功",
|
||||
"download-platform": {
|
||||
"title": ",預設平台",
|
||||
"desc": "選擇要下載 BeatSaber 的預設平台。",
|
||||
@@ -136,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "安裝文件夾",
|
||||
"description": "為 BeatSaber 不同版本及未來其他特性修改預設文件夾",
|
||||
"choose-folder": "選擇文件夾"
|
||||
"description": "更改將包含 BSManager 下載的所有內容的文件夾。"
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Proton資料夾",
|
||||
"description": "將資料夾更改為Proton路徑。(例如:Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "設置Proton資料夾失敗",
|
||||
"invalid-folder": "無效的Proton資料夾路徑"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "附加內容",
|
||||
@@ -154,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "簡體中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "英式英語",
|
||||
"en-US": "美式英語",
|
||||
"fr-FR": "法語",
|
||||
"es-ES": "西班牙語",
|
||||
"it-IT": "義大利語",
|
||||
"de-DE": "德語",
|
||||
"ru-RU": "俄語",
|
||||
"zh-CN": "簡體中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日語"
|
||||
"ja-JP": "日語",
|
||||
"ko-KR": "韓語"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -195,6 +254,41 @@
|
||||
"report-bug": "報告 bug",
|
||||
"open-logs": "打開日誌"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "高级设置",
|
||||
"description": "BSManager的高级设置。",
|
||||
"hardware-acceleration": {
|
||||
"title": "硬體加速",
|
||||
"description": "啟用硬體加速以使用您的GPU並提高BSManager的性能。如果您遇到幀丟失,請關閉此功能。",
|
||||
"modal": {
|
||||
"title": "需要重啟",
|
||||
"body": "更改硬體加速設置將退出並重新啟動BSManager。您確定要這樣做嗎?",
|
||||
"confirm-btn": "是的,我確定"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "發生錯誤,無法禁用硬體加速。"
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "使用符號鏈接",
|
||||
"description": "使用符號鏈接而不是連接來鏈接文件夾。僅在確實需要時才啟用此功能。",
|
||||
"modal": {
|
||||
"title": "符號鏈接權限",
|
||||
"body": "創建符號鏈接時,BSManager將需要管理員權限或啟用開發者模式。您確定要繼續嗎?",
|
||||
"confirm-btn": "是的,我確定"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "發生錯誤,無法更改符號鏈接設置。"
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "使用系統代理",
|
||||
"description": "BSManager將通過您的系統代理發送網絡請求。",
|
||||
"error-notification": {
|
||||
"message": "發生錯誤,無法更改系統代理設置。"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -213,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "操作進行中",
|
||||
"no-internet": "無網路"
|
||||
"no-internet": "無網路",
|
||||
"file-not-supported": "文件不受支持"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "等待當前操作完成,然後重試。",
|
||||
"no-internet": "檢查你的連接並重試。"
|
||||
"no-internet": "檢查你的連接並重試。",
|
||||
"file-not-supported": "僅支援{types}檔案。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -239,12 +335,11 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": "需要 .NET 6"
|
||||
},
|
||||
"msg": {
|
||||
"401": "Steam 似乎不想讓我們下載 Beat Saber😢",
|
||||
"404": "無法聯繫 Steam 伺服器。",
|
||||
"ExeNotFoundWindows": "\"DepotDownloader.exe\" 缺失。請檢查執行檔是否被您的防毒軟體隔離。",
|
||||
"ExeNotFoundLinux": "\"DepotDownloader\" 的可執行檔缺失。",
|
||||
"Password": "密碼無效",
|
||||
"InvalidCredentials": "登錄憑據無效、連接未經批准或登錄嘗試次數過多。",
|
||||
"NoManifest": "未找到清單",
|
||||
@@ -264,11 +359,7 @@
|
||||
"LicenceError": "無法獲取許可證列表。",
|
||||
"RateLimitExceeded": "你已經嘗試了太多次,請稍等片刻,稍後再試。",
|
||||
"TokenRejected": "你的登錄令牌已被拒絕 😕 請重試。",
|
||||
"AccessDenied": "訪問 Steam 被拒絕。",
|
||||
"dotnet-required": "必須安裝 .NET 6 Runtime 才能下載 Beat Saber 版本。單擊下面的按鈕下載它。"
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": "下載 .NET 6"
|
||||
"AccessDenied": "訪問 Steam 被拒絕。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "無法獲取下載所需的清單。",
|
||||
"VERIFY_INTEGRITY_FAILED": "文件驗證過程中發生錯誤。",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "一些文件下載失敗。",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "獲取登錄令牌用時過長。",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "Meta 登錄窗口被關閉。",
|
||||
"META_LOGIN_TIMED_OUT": "獲取登錄令牌用時過長。",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "Meta 登錄窗口被關閉。",
|
||||
"NO_META_AUTH_TOKEN": "無法獲取下載所需的 Meta 登錄令牌。",
|
||||
"UNKNOWN_ERROR": "發生未知錯誤。"
|
||||
}
|
||||
@@ -370,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "啟動中...🚀",
|
||||
"STEAM_LAUNCHING": "Steam 正在啟動!"
|
||||
"STEAM_LAUNCHING": "Steam 正在啟動!",
|
||||
"SKIPPING_STEAM_LAUNCH": "跳過 Steam 啟動"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "別忘了熱身哦 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber 會在 Steam 啟動後自動啟動。"
|
||||
"STEAM_LAUNCHING": "Beat Saber 會在 Steam 啟動後自動啟動。",
|
||||
"SKIPPING_STEAM_LAUNCH": "希望你知道自己在做什麼 :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -384,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculus 未運行",
|
||||
"BS_ALREADY_RUNNING": "Beat Saber 已在運行",
|
||||
"EXE_NOT_FINDED": "缺少文件",
|
||||
"PROTON_NOT_SET": "Proton資料夾未設置",
|
||||
"PROTON_NOT_FOUND": "找不到Proton二進位檔",
|
||||
"EXIT": "突然停止",
|
||||
"OCULUS_LIB_NOT_FOUND": "未找到 Oculus 庫"
|
||||
"OCULUS_LIB_NOT_FOUND": "未找到 Oculus 庫",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "找不到原始Oculus版本"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "發生未知錯誤。",
|
||||
@@ -394,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "再次啟動前請關閉 BeatSaber。",
|
||||
"EXE_NOT_FINDED": "某些文件似乎遺失了,嘗試驗證文件。",
|
||||
"EXIT": "BeatSaber 突然停止,請檢查文件。",
|
||||
"OCULUS_LIB_NOT_FOUND": "檢查 Oculus 應用是否正確安裝,以及庫是否在 Oculus 中正確定義。"
|
||||
"OCULUS_LIB_NOT_FOUND": "檢查 Oculus 應用是否正確安裝,以及庫是否在 Oculus 中正確定義。",
|
||||
"PROTON_NOT_SET": "在設定中設置Proton路徑。",
|
||||
"PROTON_NOT_FOUND": "在設定中設置Proton路徑。",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "在打開之前,必須從Oculus應用程式安裝Beat Saber。"
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "啟動 Steam"
|
||||
@@ -413,7 +512,8 @@
|
||||
"CantEditSteam": "無法編輯",
|
||||
"CantRename": "無法重命名",
|
||||
"VersionAlreadExist": "該版本已存在",
|
||||
"CantClone": "無法複製"
|
||||
"CantClone": "無法複製",
|
||||
"UnknownError": "發生了未知錯誤"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "你不能編輯 Steam 版本。不過你可以複製它。"
|
||||
@@ -460,12 +560,44 @@
|
||||
"no-mods": "該版本中沒有安裝 Mod 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "模組匯入完成",
|
||||
"error": "模組匯入過程中發生錯誤"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "模組成功匯入。",
|
||||
"some-success": "一些模組已成功匯入。",
|
||||
"no-dlls": "檔案中不包含任何 \"dll\" 檔案。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "譜面安裝完成",
|
||||
"error": "安裝譜面時發生錯誤"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "沒有重複",
|
||||
"msg": "沒有刪除地圖"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "重複已刪除",
|
||||
"msg": "重複已刪除"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "地圖匯入完成",
|
||||
"error": "地圖匯入時發生錯誤"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "地圖已成功匯入。",
|
||||
"some-success": "部分地圖已成功匯入。",
|
||||
"only-accept-zip": "僅支援zip檔案。",
|
||||
"invalid-zip": "zip檔案中沒有地圖。",
|
||||
"unknown": "發生了未知錯誤。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -486,6 +618,19 @@
|
||||
"title": "備份已創建",
|
||||
"msg": "共享 “UserData” 文件夾可能會產生錯誤,如果出現問題,請取消關聯該文件夾以恢復備份"
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "連結文件夾時出錯",
|
||||
"msg": {
|
||||
"EPERM": "BSManager沒有必要的權限來連結文件夾。",
|
||||
"EACCES": "BSManager沒有必要的權限來連結文件夾。",
|
||||
"ENOSPC": "磁碟已滿,請騰出空間後再試。",
|
||||
"UNKNOWN_ERROR": "連結文件夾時發生未知錯誤。"
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "添加共享文件夹失败",
|
||||
"msg": "您无法将\"{folder}\"添加到共享文件夹。"
|
||||
}
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
@@ -496,6 +641,14 @@
|
||||
"error": {
|
||||
"msg": "創建捷徑時發生錯誤"
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "版本過時",
|
||||
"msg": "此 Beat Saber 版本已過時,請使用推薦版本以享受最新功能和修復。",
|
||||
"actions": {
|
||||
"do-not-remind": "不要再提醒我",
|
||||
"ok": "確定"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -505,8 +658,7 @@
|
||||
"choose-store": {
|
||||
"title": "選擇哪個平台?",
|
||||
"body": "選擇你希望為其下載 BeatSaber 的平台。",
|
||||
"set-in-settings": "在設定中設定預設平台",
|
||||
"unavailable": "由於Oculus最近的更改,目前不再提供降級Oculus版本的服務。我們正在調查此問題,並將在BSManager Discord伺服器上保持更新。"
|
||||
"set-in-settings": "在設定中設定預設平台"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steam Guard",
|
||||
@@ -634,27 +786,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "關聯譜面",
|
||||
"desc": "關聯譜面可以在所有啟用此功能的版本之間共享譜面。一旦關聯,該版本將受益於共享譜面。",
|
||||
"info": "新增和刪除的譜面也將被共享",
|
||||
"keep-maps": {
|
||||
"label": "保留譜面",
|
||||
"title": "保留譜面將會把當前版本的所有譜面複製到共享譜面文件夾。否則,該版本的譜面將不會被保留,它們將遺失。"
|
||||
},
|
||||
"valid-btn": "關聯譜面"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "取消關聯譜面",
|
||||
"desc": "請注意,取消關聯譜面後該版本將無法使用共享譜面,直到重新啟用。",
|
||||
"keep-maps": {
|
||||
"label": "保留譜面",
|
||||
"title": "保留譜面將會在取消關聯後把共享文件夾的所有譜面複製到當前版本。如果此項被禁用,譜面也不會遺失。"
|
||||
},
|
||||
"valid-btn": "取消關聯譜面"
|
||||
"delete-duplicate-maps": {
|
||||
"title": "刪除地圖",
|
||||
"desc": "只有地圖「{map}」是重複的。你確定要刪除它嗎?",
|
||||
"desc-plural": "發現了 {nb} 個重複的地圖。你確定要刪除它們嗎?"
|
||||
}
|
||||
},
|
||||
|
||||
"link-contents": {
|
||||
"title": "連結{contentType}",
|
||||
"p-1": "連結{contentType}允許在啟用此功能的所有版本之間共享{contentType}。連結後,該版本將受益於共享的{contentType}。",
|
||||
"p-2": "為了使用連結功能,您的所有{itemsHtml}將被移動到{sharedHtml}資料夾。之後,一個指向共享{contentType}資料夾的符號連結將取代您原本的{contentType}資料夾。",
|
||||
"warning": "請注意,任何影響{contentType}的更改也會影響所有啟用此功能的版本。",
|
||||
"what-is-a-symbolic-link": "什麼是符號連結?",
|
||||
"i-need-help": "我需要幫助",
|
||||
"valid-btn": "連結{contentType}"
|
||||
},
|
||||
"unlink-contents": {
|
||||
"title": "取消連結{contentType}",
|
||||
"p-1": "注意:取消連結{contentType}將會停用此版本中共享的{contentType}功能,直到該功能再次啟用。",
|
||||
"p-2": "為了取消連結您的{contentType},指向{sharedHtml}的符號連結將被移除。之後,共享資料夾中的所有{contentType}將被複製到您Beat Saber版本的{itemsHtml}資料夾中。",
|
||||
"do-not-copy-contents": "不要複製{contentType}",
|
||||
"do-not-copy-contents-tip": "如果啟用,共享資料夾中的{contentType}將不會被複製到您的Beat Saber版本中。結果是,在取消連結後,您的Beat Saber版本中將不再保留任何{contentType}。",
|
||||
"valid-btn": "取消連結{contentType}"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "搜尋",
|
||||
"loading-maps": "譜面載入中...",
|
||||
@@ -676,9 +830,14 @@
|
||||
"add-folder": "新增文件夾",
|
||||
"link-folder": "關聯文件夾",
|
||||
"unlink-folder": "取消關聯文件夾",
|
||||
"link-all": "關聯所有"
|
||||
"link-all": "關聯所有",
|
||||
"remove-from-the-list": "從列表中移除"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "添加共享文件夹",
|
||||
"description": "链接\"{folder}\"文件夹时可能会遇到问题。您确定要添加它吗?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "創建捷徑",
|
||||
"desc": "創建捷徑使得你可以在不通過 BSManager 的情況下以特定選項啟動 BeatSaber",
|
||||
@@ -697,89 +856,131 @@
|
||||
"stay": "記住我",
|
||||
"connect-to-meta": "連接到 Meta"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "警告",
|
||||
"body": {
|
||||
"must-be-installed-once": "你必須至少從 Oculus 商店安裝過一次 BeatSaber,否則 BeatSaber 可能會在啟動後自動關閉。",
|
||||
"need-backup": "要啟動該版本,位於你的 Oculus 庫中的 BeatSaber 安裝文件夾將被重命名。",
|
||||
"can-restore-later": "如果需要,你可以通過前往 BSManager 的原始 Oculus 版本選項並點擊'恢復文件夾'來恢復它。",
|
||||
"tips-launch-oculus": "提示:只要原始版本沒有被恢復,你就可以直接從 Oculus 啟動該版本。"
|
||||
},
|
||||
"not-remind-me": "不再提醒我",
|
||||
"understood": "明白了"
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "啟用旁載",
|
||||
"info-1": "為了啟動 Beat Saber,必須啟用執行旁載應用程式的功能。BSManager 將請求管理員權限以自動啟用此功能。",
|
||||
"info-2": "旁載功能允許啟動位於 Oculus 資料庫資料夾之外的遊戲。",
|
||||
"info-3": "啟用 sideloading 後,此功能將保持啟用狀態,您將不再被提示啟用它。",
|
||||
"i-want-to-do-it-myself": "我想自己完成",
|
||||
"understood": "了解"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Meta 令牌",
|
||||
"title": "Oculus令牌",
|
||||
"body": {
|
||||
"need-token": "要下載 BeatSaber,需要你的 Meta 登錄令牌。",
|
||||
"how-obtain-token": "如何獲取我的 Meta 令牌?",
|
||||
"input-label": "Meta 令牌",
|
||||
"token-is-invalid": "令牌無效。"
|
||||
"info-enter-token": "下載Beat Saber需要您的Oculus登錄令牌。",
|
||||
"how-obtain-token": "我如何獲得我的Oculus令牌?",
|
||||
"oculus-token": "Oculus令牌",
|
||||
"token-is-invalid": "令牌無效。",
|
||||
"save-my-token": "保存我的令牌",
|
||||
"have-token-saved": "我已經保存了一個令牌",
|
||||
"save-token-info": "這將保存您的令牌以便更容易地重新使用。您需要創建一個密碼來加密您的令牌以進行存儲。如果您忘記了密碼,只需再次提供您的令牌即可。",
|
||||
"password": "密碼",
|
||||
"password-too-short": "密碼太短",
|
||||
"info-enter-password": "下載Beat Saber需要您的Oculus登錄令牌。請輸入用於保存您的Oculus令牌的密碼。",
|
||||
"info-disabled-btn-password": "使用提供的密碼解密的令牌無效。確保密碼與保存令牌時使用的密碼相同。",
|
||||
"enter-oculus-token": "輸入Oculus令牌"
|
||||
},
|
||||
"valid-btn": "驗證"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "管理員權限",
|
||||
"body": {
|
||||
"info": "檢測到Steam正在以管理員權限運行。為了與Steam通信,Beat Saber也必須以管理員身份啟動。否則,Beat Saber可能會遇到問題並在啟動後關閉。",
|
||||
"info-2": "以管理員模式啟動Beat Saber還會將管理員權限賦予已安裝的模組。因此,建議重啟Steam,不使用管理員權限。",
|
||||
"info-3": "請注意,不建議給Steam管理員權限,因為這也會影響已安裝的遊戲和模組,帶來安全風險。"
|
||||
},
|
||||
"launch-as-admin": "以管理員身份啟動",
|
||||
"not-remind-me": "不再提醒我"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "安裝文件夾",
|
||||
"choose-folder-description": "選擇將包含 BSManager 下載的所有內容的文件夾。(版本、mod、地圖、播放列表等)",
|
||||
"default": "預設",
|
||||
"default-tooltip": "預設為您的主資料夾"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Proton資料夾",
|
||||
"proton-folder-description": "在Linux上,BSManager需要Proton才能運行。請選擇Proton的安裝資料夾以繼續。",
|
||||
"proton-folder-placeholder": "Proton安裝資料夾",
|
||||
"where-is-proton-installed": "Proton安裝在哪裡?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "版本 {outdatedVersion} 已過時,某些模組或功能可能無法正常運作。請下載最新推薦的 Beat Saber 版本 ({recommendedVersion}),以享受最新功能和修正。"
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "時長",
|
||||
"nps" : "每秒音符數",
|
||||
"njs": "音符跳躍速度",
|
||||
"tags": "標籤",
|
||||
"specificities": "general",
|
||||
"requirements": "要求"
|
||||
"requirements": "要求",
|
||||
"exclude": "排除",
|
||||
"leaderboard": "排行榜"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "精確度",
|
||||
"balanced": "平衡",
|
||||
"challenge": "挑戰",
|
||||
"dancestyle": "舞蹈",
|
||||
"dance-style": "舞蹈",
|
||||
"fitness": "健身",
|
||||
"speed": "速度",
|
||||
"tech": "技術"
|
||||
},
|
||||
"map-styles": {
|
||||
"dance": "Dance",
|
||||
"swing": "Swing",
|
||||
"nightcore": "Nightcore",
|
||||
"folk": "Folk",
|
||||
"family": "Family",
|
||||
"ambient": "Ambient",
|
||||
"funk": "Funk",
|
||||
"jazz": "Jazz",
|
||||
"soul": "Soul",
|
||||
"speedcore": "Speedcore",
|
||||
"punk": "Punk",
|
||||
"rb": "R&B",
|
||||
"holiday": "Holiday",
|
||||
"vocaloid": "Vocaloid",
|
||||
"jrock": "J-rock",
|
||||
"trance": "Trance",
|
||||
"drumbass": "Drum & Bass",
|
||||
"comedy": "Comedy",
|
||||
"instrumental": "Instrumental",
|
||||
"hardcore": "Hardcore",
|
||||
"kpop": "K-pop",
|
||||
"indie": "Indie",
|
||||
"techno": "Techno",
|
||||
"house": "House",
|
||||
"game": "Video game",
|
||||
"film": "Film",
|
||||
"alt": "Alternative",
|
||||
"dubstep": "Dubstep",
|
||||
"metal": "Metal",
|
||||
"anime": "Anime",
|
||||
"hiphop": "Hiphop",
|
||||
"jpop": "J-pop",
|
||||
"rock": "Rock",
|
||||
"pop": "Pop",
|
||||
"electronic": "Electronic",
|
||||
"classical-orchestral": "Classical & Orchestral"
|
||||
"dance": "舞蹈",
|
||||
"swing": "搖擺",
|
||||
"nightcore": "夜核",
|
||||
"folk-acoustic": "民謠 & 原聲",
|
||||
"kids-family": "兒童 & 家庭",
|
||||
"ambient": "氛圍音樂",
|
||||
"funk-disco": "放克 & 迪斯科",
|
||||
"jazz": "爵士",
|
||||
"soul": "靈魂",
|
||||
"speedcore": "極速核",
|
||||
"punk": "龐克",
|
||||
"rb": "r&b",
|
||||
"holiday": "假日",
|
||||
"vocaloid": "聲庫",
|
||||
"j-rock": "日式搖滾",
|
||||
"trance": "迷幻",
|
||||
"drum-and-bass": "鼓 & 貝斯",
|
||||
"comedy-meme": "喜劇 & 表情包",
|
||||
"instrumental": "純音樂",
|
||||
"hardcore": "硬核",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "獨立",
|
||||
"techno": "電子舞曲",
|
||||
"house": "浩室音樂",
|
||||
"video-game-soundtrack": "遊戲音樂",
|
||||
"tv-movie-soundtrack": "電視 & 電影",
|
||||
"alternative": "另類",
|
||||
"dubstep": "電音鼓",
|
||||
"metal": "金屬",
|
||||
"anime": "動漫",
|
||||
"hip-hop-rap": "嘻哈 & 說唱",
|
||||
"j-pop": "日式流行",
|
||||
"rock": "搖滾",
|
||||
"pop": "流行",
|
||||
"electronic": "電子",
|
||||
"classical-orchestral": "古典 & 管弦樂"
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "AI",
|
||||
"ranked": "Ranked",
|
||||
"curated": "Curated",
|
||||
"verified": "Verified",
|
||||
"fullSpread": "Full spread"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "所有",
|
||||
"Ranked": "排名的",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "已安裝"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "Easy",
|
||||
"Normal": "Normal",
|
||||
@@ -789,7 +990,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "By {songAutor}",
|
||||
"mapped-by": "mapped by"
|
||||
"mapped-by": "mapped by",
|
||||
"delete": "刪除",
|
||||
"preview" : "預覽地圖",
|
||||
"bsr-code" : "BSR代碼",
|
||||
"download" : "下載地圖",
|
||||
"downloading" :"正在下載地圖",
|
||||
"cancel-download" : "取消下載",
|
||||
"hightlight-difficulty": "突出顯示難度"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -857,86 +1065,6 @@
|
||||
"no-models": "未找到模型",
|
||||
"no-internet": "無網路連接",
|
||||
"error-occured": "發生了一個錯誤,稍後重試。"
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "關聯 Avatar",
|
||||
"desc": "關聯 Avatar 允許在所有啟用此功能的版本之間共享 Avatar。一旦關聯,該版本將受益於共享 Avatar。",
|
||||
"info": "對 Avatar 的新增和刪除也將被共享",
|
||||
"keep-models": {
|
||||
"label": "保留 Avatar",
|
||||
"title": "保留 Avatar 將會把當前版本的所有 Avatar 複製到共享 Avatar文件夾。否則,該版本的 Avatar將不會被保留,它們將遺失。"
|
||||
},
|
||||
"valid-btn": "關聯 Avatar "
|
||||
},
|
||||
"saber": {
|
||||
"title": "關聯光劍",
|
||||
"desc": "關聯光劍允許在所有啟用此功能的版本之間共享光劍。一旦關聯,該版本將受益於共享光劍。",
|
||||
"info": "對光劍的新增和刪除也將被共享",
|
||||
"keep-models": {
|
||||
"label": "保留光劍",
|
||||
"title": "保留光劍將會把當前版本的所有光劍複製到共享光劍文件夾。否則,該版本的光劍將不會被保留,它們將遺失。"
|
||||
},
|
||||
"valid-btn": "關聯光劍"
|
||||
},
|
||||
"platform": {
|
||||
"title": "關聯平台",
|
||||
"desc": "關聯平台允許在所有啟用此功能的版本之間共享平台。一旦關聯,該版本將受益於共享平台。",
|
||||
"info": "對平台的新增和刪除也將被共享",
|
||||
"keep-models": {
|
||||
"label": "保留平台",
|
||||
"title": "保留平台將會把當前版本的所有平台複製到共享平台文件夾。否則,該版本的平台將不會被保留,它們將遺失。"
|
||||
},
|
||||
"valid-btn": "關聯平台"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "關聯方塊",
|
||||
"desc": "關聯方塊允許在所有啟用此功能的版本之間共享方塊。一旦關聯,該版本將受益於共享方塊。",
|
||||
"info": "對方塊的新增和刪除也將被共享",
|
||||
"keep-models": {
|
||||
"label": "保留方塊",
|
||||
"title": "保留方塊將會把當前版本的所有方塊複製到共享方塊文件夾。否則,該版本的方塊將不會被保留,它們將遺失。"
|
||||
},
|
||||
"valid-btn": "關聯方塊"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "取消關聯 Avatar",
|
||||
"desc": "請注意,取消關聯 Avatar 將禁用該版本的共享 Avatar 使用,直到重新啟用。",
|
||||
"keep-models": {
|
||||
"label": "保留 Avatar",
|
||||
"title": "保留 Avatar 將會在取消關聯後把共享文件夾的所有 Avatar 複製到當前版本。如果此項被禁用,Avatar 將不會遺失。"
|
||||
},
|
||||
"valid-btn": "取消關聯 Avatar"
|
||||
},
|
||||
"saber": {
|
||||
"title": "取消關聯光劍",
|
||||
"desc": "請注意,取消關聯光劍將禁用該版本的共享光劍使用,直到重新啟用。",
|
||||
"keep-models": {
|
||||
"label": "保留光劍",
|
||||
"title": "保留光劍將會在取消關聯後把共享文件夾的所有光劍複製到當前版本。如果此項被禁用,光劍將不會遺失。"
|
||||
},
|
||||
"valid-btn": "取消關聯光劍"
|
||||
},
|
||||
"platform": {
|
||||
"title": "取消關聯平台",
|
||||
"desc": "請注意,取消關聯平台將禁用該版本的共享平台使用,直到重新啟用。",
|
||||
"keep-models": {
|
||||
"label": "保留平台",
|
||||
"title": "保留平台將會在取消關聯後把共享文件夾的所有平台複製到當前版本。如果此項被禁用,平台將不會遺失。"
|
||||
},
|
||||
"valid-btn": "取消關聯平台"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "取消關聯方塊",
|
||||
"desc": "請注意,取消關聯方塊將禁用該版本的共享方塊使用,直到重新啟用。",
|
||||
"keep-models": {
|
||||
"label": "保留方塊",
|
||||
"title": "保留方塊將會在取消關聯後把共享文件夾的所有方塊複製到當前版本。如果此項被禁用,方塊將不會遺失。"
|
||||
},
|
||||
"valid-btn": "取消關聯方塊"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -946,10 +1074,6 @@
|
||||
"go-to-mods": "前往 Mod 頁",
|
||||
"not-remind": "不再提醒我"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "已損壞的模型",
|
||||
"desc": "自從Beat Saber引擎更新以來,所有自定義模型的MOD都已損壞,需要更新。它們還沒有被更新。"
|
||||
},
|
||||
"export-success": {
|
||||
"title": "導出成功 🎉"
|
||||
}
|
||||
@@ -981,6 +1105,135 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "或瀏覽檔案"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "建立播放清單時發生錯誤",
|
||||
"error-playlist-creation-desc": "建立播放清單時發生錯誤。",
|
||||
"playlist-created-title": "播放清單已建立",
|
||||
"playlist-created-desc": "播放清單已成功建立。您現在可以同步其地圖了!",
|
||||
"download-playlist": "下載播放清單",
|
||||
"synchronize-playlist": "同步播放清單",
|
||||
"synchronize-maps": "同步地圖",
|
||||
"error-playlists-synchronization-title": "同步播放清單時發生錯誤",
|
||||
"error-playlists-synchronization-desc": "同步播放清單時發生錯誤。",
|
||||
"playlists-synchronized-title": "播放清單已同步!",
|
||||
"playlists-synchronized-desc": "播放清單及其地圖已下載。",
|
||||
"playlists-export-error-title": "匯出播放清單時發生錯誤",
|
||||
"playlists-export-error-desc": "匯出播放清單時發生錯誤。",
|
||||
"playlists-exported-title": "播放清單已匯出!",
|
||||
"playlists-exported-desc": "播放清單已成功匯出。",
|
||||
"playlists-with-maps-exported-desc": "播放清單及其地圖已成功匯出。",
|
||||
"playlist-delete-error-title": "刪除播放清單時發生錯誤",
|
||||
"playlist-delete-error-desc": "刪除播放清單時發生錯誤。",
|
||||
"playlists-deleted-title": "播放清單已刪除!",
|
||||
"playlists-deleted-desc": "播放清單已成功刪除。",
|
||||
"edit-playlist": "編輯播放清單",
|
||||
"playlist-edit-error-title": "編輯播放清單時發生錯誤",
|
||||
"playlist-edit-error-desc": "編輯播放清單時發生錯誤。",
|
||||
"playlist-edited-title": "播放清單已編輯!",
|
||||
"playlist-edited-desc": "播放清單已成功修改。您現在可以同步其地圖了!",
|
||||
"playlists-loading": "正在載入播放清單...",
|
||||
"no-playlists": "沒有播放清單",
|
||||
"download-playlists": "下載播放清單",
|
||||
"created-by": "建立者",
|
||||
"stop-download": "停止下載",
|
||||
"cancel-download": "取消下載",
|
||||
"open-file": "開啟檔案",
|
||||
"delete-playlist-ask": "刪除播放清單?",
|
||||
"delete-playlists-ask": "刪除播放清單?",
|
||||
"delete-playlist-desc": "您確定要刪除播放清單 \"{playlistTitle}\" 嗎?",
|
||||
"delete-playlists-desc": "您確定要刪除 {nb} 個播放清單嗎?",
|
||||
"delete-maps": "刪除地圖",
|
||||
"delete-playlist-maps-tip": "如果啟用,播放清單中的所有地圖都將被刪除",
|
||||
"delete-playlists-maps-tip": "如果啟用,播放清單中的所有地圖都將被刪除",
|
||||
"export-playlist-ask": "匯出播放清單?",
|
||||
"export-playlists-ask": "匯出播放清單?",
|
||||
"export-playlist-desc": "您確定要匯出播放清單 \"{playlistTitle}\" 嗎?",
|
||||
"export-playlists-desc": "您確定要匯出 {nb} 個播放清單嗎?",
|
||||
"export-maps": "匯出地圖",
|
||||
"export-playlist-maps-tip": "如果啟用,播放清單中的所有地圖也將被匯出",
|
||||
"export-playlists-maps-tip": "如果啟用,播放清單中的所有地圖也將被匯出",
|
||||
"export": "匯出",
|
||||
"need-clone-title": "警告",
|
||||
"need-clone-desc-1": "此播放清單已從外部網站下載,並包含同步連結。",
|
||||
"need-clone-desc-2": "為避免在同步過程中遺失更改,播放清單將被複製,並刪除其同步連結。",
|
||||
"need-clone-desc-3": "然後,如果您願意,可以刪除原始播放清單。",
|
||||
"understood": "我明白了",
|
||||
"synchronize-playlist-ask": "同步播放清單?",
|
||||
"synchronize-playlists-ask": "同步播放清單?",
|
||||
"synchronize-playlist-desc": "您確定要同步播放清單 \"{playlistTitle}\" 嗎?",
|
||||
"synchronize-playlists-desc": "您確定要同步 {nb} 個播放清單嗎?",
|
||||
"synchronize-playlist-tip": "此操作更新播放清單並下載缺失的地圖;可能需要幾分鐘。",
|
||||
"synchronize": "同步",
|
||||
"curated": "精選",
|
||||
"verified-mapper": "已驗證的製圖者",
|
||||
"empty-playlists": "空播放清單",
|
||||
"search-playlist": "搜尋播放清單",
|
||||
"no-playlists-found": "未找到播放清單",
|
||||
"error-occur-while-loading-playlists": "載入播放清單時發生錯誤",
|
||||
"error-occur-while-loading-playlist": "載入播放清單時發生錯誤",
|
||||
"loading-maps": "正在載入地圖...",
|
||||
"no-maps-found-for-playlist": "未找到此播放清單的地圖",
|
||||
"playlist-contain-no-maps": "播放清單不包含地圖",
|
||||
"no-map-installed-for-playlist": "此播放清單沒有已安裝的地圖",
|
||||
"playlist-is-waiting-to-download": "播放清單正在等待下載",
|
||||
"download-maps": "下載地圖",
|
||||
"download-missing-maps": "下載缺失的地圖",
|
||||
"playlist-is-downloading": "播放清單正在下載",
|
||||
"some-playlist-maps-are-missing": "此播放清單中的一些地圖缺失",
|
||||
"create-a-playlist": "建立播放清單",
|
||||
"synchronize-playlists": "同步播放清單",
|
||||
"export-playlists": "匯出播放清單",
|
||||
"delete-playlists": "刪除播放清單",
|
||||
"choose-image": "選擇圖片",
|
||||
"title": "標題",
|
||||
"playlist-title": "播放清單標題",
|
||||
"description": "描述",
|
||||
"playlist-description": "播放清單描述",
|
||||
"author": "作者",
|
||||
"playlist-author": "播放清單作者",
|
||||
"save": "儲存",
|
||||
"loading": "載入中...",
|
||||
"installed": "已安裝",
|
||||
"no-map-found": "未找到地圖",
|
||||
"edit-playlist-shortcuts": "按住 Shift 或 Ctrl 選擇多個地圖",
|
||||
"add-to-playlist": "新增到播放清單",
|
||||
"remove-from-playlist": "從播放清單中移除",
|
||||
"playlist-is-empty": "播放清單為空",
|
||||
"continue": "繼續",
|
||||
"nb-maps": "地圖數量",
|
||||
"nb-mappers": "製圖者數量",
|
||||
"duration": "持續時間",
|
||||
"nps": "每秒音符數",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "開始日期 — 結束日期",
|
||||
"all": "全部",
|
||||
"last-24h": "最近24小時",
|
||||
"last-week": "上週",
|
||||
"last-month": "上個月",
|
||||
"3-last-month": "最近3個月"
|
||||
},
|
||||
"playlists-imported": "播放清單已匯入",
|
||||
"all-playlists-have-been-successfully-imported": "所有播放清單已成功匯入",
|
||||
"no-playlist-found": "未找到播放清單",
|
||||
"no-playlist-found-in-selected-files": "在選定檔案中未找到播放清單",
|
||||
"some-playlists-not-imported": "部分播放清單未匯入",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "某些播放清單未找到",
|
||||
"INVALID_PLAYLIST_FILE": "某些播放清單無效",
|
||||
"CANNOT_PARSE_PLAYLIST": "某些播放清單無法解析",
|
||||
"unknown": "某些播放清單無法匯入"
|
||||
},
|
||||
"no-playlists-imported": "未匯入任何播放清單",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "播放清單未找到",
|
||||
"INVALID_PLAYLIST_FILE": "播放清單無效",
|
||||
"CANNOT_PARSE_PLAYLIST": "播放清單無法解析",
|
||||
"unknown": "無法匯入任何播放清單"
|
||||
}
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
||||
"monthNames": ["1 月", "2 月", "3 月", "4 月", "5 月", "6 月", "7 月", "8 月", "9 月", "10 月", "11 月", "12 月", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
|
||||
@@ -8,13 +8,28 @@
|
||||
"maps": "谱面",
|
||||
"playlists": "歌单",
|
||||
"models": "模型",
|
||||
"avatars": "头像",
|
||||
"sabers": "光剑",
|
||||
"platforms": "平台",
|
||||
"blocks": "方块",
|
||||
"cancel": "取消",
|
||||
"delete": "删除",
|
||||
"accept": "接受",
|
||||
"refuse": "拒绝",
|
||||
"apply": "应用",
|
||||
"copy": "复制",
|
||||
"copied": "已复制!"
|
||||
"copied": "已复制!",
|
||||
"confirm": "确认",
|
||||
"choose-folder": "选择文件夹",
|
||||
"Unknown": "发生了一个错误 ¯\\_(ツ)_/¯",
|
||||
"warning": "警告",
|
||||
"continue": "继续",
|
||||
"shared": "共享",
|
||||
"pin": "固定",
|
||||
"unpin": "取消固定"
|
||||
},
|
||||
"title-bar": {
|
||||
"outdated": "过时"
|
||||
},
|
||||
"nav-bar": {
|
||||
"add-version": "添加版本",
|
||||
@@ -25,9 +40,6 @@
|
||||
}
|
||||
},
|
||||
"pages": {
|
||||
"shared-maps": {
|
||||
"title": "共享谱面"
|
||||
},
|
||||
"version-viewer": {
|
||||
"launch-mods": {
|
||||
"oculus": "Oculus 模式",
|
||||
@@ -36,26 +48,34 @@
|
||||
"desktop-description": "第一人称飞控模式允许你使用键盘 WASD 和鼠标在游戏中进行导航。你无需带上头显即可进行测试!",
|
||||
"debug": "Debug 模式",
|
||||
"debug-description": "为 IPA 启用输出日志窗口。 会显示所用 Mod 的 debug 输出",
|
||||
"outdated-tippy": "此版本已过时,某些模组或功能可能无法按预期运行。建议使用推荐版本的 Beat Saber ({recommendedVersion}),以享受最新功能和修复。",
|
||||
"advanced-launch": {
|
||||
"button": "高级启动",
|
||||
"button": "启动选项",
|
||||
"placeholder": "额外启动参数,例如: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "跳过 Steam",
|
||||
"skipsteam-description": "防止 Steam 与 Beat Saber 自动打开,如果您使用的是其他 VR 运行时,如 WiVRn 或 Monado,SteamVR 可能会干扰,请启用此选项。",
|
||||
"map-editor": "地图编辑器",
|
||||
"map-editor-description": "启动官方的 Beat Saber 地图编辑器,而不是游戏。",
|
||||
"proton-logs": "Proton日志",
|
||||
"proton-logs-description": "启用此 Beat Saber 安装的质子日志,路径为\"{versionPath}\"。"
|
||||
},
|
||||
"maps": {
|
||||
"title": "Shared maps",
|
||||
"search-bar": {
|
||||
"search-placeholder": "谱面搜索",
|
||||
"filters-btn": "筛选",
|
||||
"dropdown": {
|
||||
"export-maps": "导出谱面",
|
||||
"delete-maps": "删除谱面"
|
||||
"delete-maps": "删除谱面",
|
||||
"delete-duplicate-maps": "删除重复项"
|
||||
}
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
"actions": {
|
||||
"add-maps": {
|
||||
"text": "添加"
|
||||
"drop-down": {
|
||||
"browse-maps": "浏览地图",
|
||||
"import-maps": "导入地图"
|
||||
},
|
||||
"link-maps": {
|
||||
"tooltips": {
|
||||
@@ -67,6 +87,21 @@
|
||||
"empty-maps": {
|
||||
"text": "无谱面",
|
||||
"button": "下载谱面"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "导入您的地图",
|
||||
"subtext": "将ZIP文件拖放到此处以导入您的地图"
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
"drop-down": {
|
||||
"browse-playlists": "浏览播放列表",
|
||||
"create-a-playlist": "创建播放列表",
|
||||
"import-playlists": "导入播放列表"
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "导入您的播放列表",
|
||||
"subtext": "将您的 \".bplist\" 或 \".json\" 文件拖放到这里进行导入"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,7 +112,8 @@
|
||||
"mods-not-available": "该版本 BeatSaber 暂无可用 Mod",
|
||||
"buttons": {
|
||||
"more-infos": "更多信息",
|
||||
"install-or-update": "安装或更新"
|
||||
"install-or-update": "安装或更新",
|
||||
"reinstall-all": "重新安装全部"
|
||||
},
|
||||
"mods-grid": {
|
||||
"header-bar": {
|
||||
@@ -86,9 +122,21 @@
|
||||
"latest": "最新",
|
||||
"description": "描述",
|
||||
"dropdown": {
|
||||
"uninstall-all": "全部卸载"
|
||||
"import-mods": "导入模组",
|
||||
"uninstall-all": "全部卸载",
|
||||
"unselect-all": "取消全选"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
"all-mods-already-installed": {
|
||||
"title": "模组已安装",
|
||||
"description": "所有选中的模组已经安装"
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"text": "导入你的模组",
|
||||
"subtext": "将你的 \"zip\" 或 \"dll\" 文件拖放到这里进行导入"
|
||||
}
|
||||
},
|
||||
"dropdown": {
|
||||
@@ -98,12 +146,11 @@
|
||||
"edit": "编辑",
|
||||
"uninstall": "卸载",
|
||||
"create-shortcut": "创建快捷方式",
|
||||
"shared-folders": "Shared Folders",
|
||||
"restore-oculus-folder": "Restore the folder"
|
||||
"shared-folders": "Shared Folders"
|
||||
}
|
||||
},
|
||||
"available-versions": {
|
||||
"title": "选择版本",
|
||||
"title": "下载一个版本",
|
||||
"steam-release": "发布页面",
|
||||
"dropdown": {
|
||||
"refresh": "刷新版本",
|
||||
@@ -117,6 +164,7 @@
|
||||
"title": "Steam & Oculus",
|
||||
"description": "登出后,您可以在下一次下载 Beat Saber 时切换帐户。",
|
||||
"logout": "登出",
|
||||
"logout-success": "注销成功",
|
||||
"download-platform": {
|
||||
"title": ",默认平台",
|
||||
"desc": "选择要下载 BeatSaber 的默认平台。",
|
||||
@@ -136,8 +184,15 @@
|
||||
},
|
||||
"installation-folder": {
|
||||
"title": "安装文件夹",
|
||||
"description": "为 BeatSaber 不同版本及未来其他特性修改默认文件夹",
|
||||
"choose-folder": "选择文件夹"
|
||||
"description": "更改将包含 BSManager 下载的所有内容的文件夹。"
|
||||
},
|
||||
"proton-folder": {
|
||||
"title": "Proton文件夹",
|
||||
"description": "将文件夹更改为Proton路径。(例如:Proton - Experimental)",
|
||||
"errors": {
|
||||
"title": "设置Proton文件夹失败",
|
||||
"invalid-folder": "无效的Proton文件夹路径"
|
||||
}
|
||||
},
|
||||
"additional-content": {
|
||||
"title": "附加内容",
|
||||
@@ -154,21 +209,25 @@
|
||||
"en-US": "English, US",
|
||||
"fr-FR": "Français",
|
||||
"es-ES": "Español",
|
||||
"it-IT": "Italiano",
|
||||
"de-DE": "Deutsch",
|
||||
"ru-RU": "Русский",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正體中文",
|
||||
"ja-JP": "日本語",
|
||||
"ko-KR": "한국어",
|
||||
"translated": {
|
||||
"en-EN": "英式英语",
|
||||
"en-US": "美式英语",
|
||||
"fr-FR": "法语",
|
||||
"es-ES": "西班牙语",
|
||||
"it-IT": "意大利语",
|
||||
"de-DE": "德语",
|
||||
"ru-RU": "俄语",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "正体中文",
|
||||
"ja-JP": "日语"
|
||||
"ja-JP": "日语",
|
||||
"ko-KR": "韩语"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -195,6 +254,41 @@
|
||||
"report-bug": "报告 bug",
|
||||
"open-logs": "打开日志"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "高级设置",
|
||||
"description": "BSManager的高级设置。",
|
||||
"hardware-acceleration": {
|
||||
"title": "硬件加速",
|
||||
"description": "启用硬件加速以使用您的GPU并提高BSManager的性能。如果您遇到帧丢失,请关闭此功能。",
|
||||
"modal": {
|
||||
"title": "需要重启",
|
||||
"body": "更改硬件加速设置将退出并重新启动BSManager。您确定要这样做吗?",
|
||||
"confirm-btn": "是的,我确定"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "发生错误,无法禁用硬件加速。"
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
"title": "使用符号链接",
|
||||
"description": "使用符号链接而不是联接来链接文件夹。仅在确实需要时才启用此功能。",
|
||||
"modal": {
|
||||
"title": "符号链接权限",
|
||||
"body": "创建符号链接时,BSManager将需要管理员权限或启用开发者模式。您确定要继续吗?",
|
||||
"confirm-btn": "是的,我确定"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "发生错误,无法更改符号链接设置。"
|
||||
}
|
||||
},
|
||||
"use-system-proxy": {
|
||||
"title": "使用系统代理",
|
||||
"description": "BSMansger将通过系统代理发起网络请求。",
|
||||
"error-notification": {
|
||||
"message": "发生错误,无法启用系统代理。"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -213,11 +307,13 @@
|
||||
"errors": {
|
||||
"titles": {
|
||||
"operation-running": "操作进行中",
|
||||
"no-internet": "无网络"
|
||||
"no-internet": "无网络",
|
||||
"file-not-supported": "文件不受支持"
|
||||
},
|
||||
"msg": {
|
||||
"operation-running": "等待当前操作完成,然后重试。",
|
||||
"no-internet": "检查你的连接并重试。"
|
||||
"no-internet": "检查你的连接并重试。",
|
||||
"file-not-supported": "仅支持{types}文件。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -239,12 +335,11 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"titles": {
|
||||
"dotnet-required": "需要 .NET 6"
|
||||
},
|
||||
"msg": {
|
||||
"401": "Steam 似乎不想让我们下载 Beat Saber😢",
|
||||
"404": "无法联系 Steam 服务器。",
|
||||
"ExeNotFoundWindows": "\"DepotDownloader.exe\" 缺失。请检查执行文件是否被您的防病毒软件隔离。",
|
||||
"ExeNotFoundLinux": "\"DepotDownloader\" 的可执行文件缺失。",
|
||||
"Password": "密码无效",
|
||||
"InvalidCredentials": "登录凭据无效、连接未经批准或登录尝试次数过多。",
|
||||
"NoManifest": "未找到清单",
|
||||
@@ -264,11 +359,7 @@
|
||||
"LicenceError": "无法获取许可证列表。",
|
||||
"RateLimitExceeded": "你已经尝试了太多次,请稍等片刻,稍后再试。",
|
||||
"TokenRejected": "你的登录令牌已被拒绝 😕 请重试。",
|
||||
"AccessDenied": "访问 Steam 被拒绝。",
|
||||
"dotnet-required": "必须安装 .NET 6 Runtime 才能下载 Beat Saber 版本。单击下面的按钮下载它。"
|
||||
},
|
||||
"actions": {
|
||||
"download-dotnet": "下载 .NET 6"
|
||||
"AccessDenied": "访问 Steam 被拒绝。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,8 +373,8 @@
|
||||
"UNABLE_TO_GET_MANIFEST": "无法获取下载所需的清单。",
|
||||
"VERIFY_INTEGRITY_FAILED": "文件验证过程中发生错误。",
|
||||
"SOME_FILES_FAILED_TO_DOWNLOAD": "一些文件下载失败。",
|
||||
"OCULUS_LOGIN_TIMED_OUT": "获取登录令牌用时过长。",
|
||||
"OCULUS_LOGIN_WINDOW_CLOSED_BY_USER": "Meta 登录窗口被关闭。",
|
||||
"META_LOGIN_TIMED_OUT": "获取登录令牌用时过长。",
|
||||
"META_LOGIN_WINDOW_CLOSED_BY_USER": "Meta 登录窗口被关闭。",
|
||||
"NO_META_AUTH_TOKEN": "无法获取下载所需的 Meta 登录令牌。",
|
||||
"UNKNOWN_ERROR": "发生未知错误。"
|
||||
}
|
||||
@@ -370,11 +461,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "启动中...🚀",
|
||||
"STEAM_LAUNCHING": "Steam 正在启动!"
|
||||
"STEAM_LAUNCHING": "Steam 正在启动!",
|
||||
"SKIPPING_STEAM_LAUNCH": "跳过 Steam 启动"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "别忘了热身哦 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber 会在 Steam 启动后自动启动。"
|
||||
"STEAM_LAUNCHING": "Beat Saber 会在 Steam 启动后自动启动。",
|
||||
"SKIPPING_STEAM_LAUNCH": "希望你知道自己在做什么 :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
@@ -384,8 +477,11 @@
|
||||
"OCULUS_NOT_RUNNING": "Oculus 未运行",
|
||||
"BS_ALREADY_RUNNING": "Beat Saber 已在运行",
|
||||
"EXE_NOT_FINDED": "缺少文件",
|
||||
"PROTON_NOT_SET": "Proton文件夹未设置",
|
||||
"PROTON_NOT_FOUND": "未找到Proton二进制文件",
|
||||
"EXIT": "突然停止",
|
||||
"OCULUS_LIB_NOT_FOUND": "未找到 Oculus 库"
|
||||
"OCULUS_LIB_NOT_FOUND": "未找到 Oculus 库",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "未找到原始Oculus版本"
|
||||
},
|
||||
"msg": {
|
||||
"UNKNOWN_ERROR": "发生未知错误。",
|
||||
@@ -394,7 +490,10 @@
|
||||
"BS_ALREADY_RUNNING": "再次启动前请关闭 BeatSaber。",
|
||||
"EXE_NOT_FINDED": "某些文件似乎丢失了,尝试验证文件。",
|
||||
"EXIT": "BeatSaber 突然停止,请检查文件。",
|
||||
"OCULUS_LIB_NOT_FOUND": "检查 Oculus 应用是否正确安装,以及库是否在 Oculus 中正确定义。"
|
||||
"OCULUS_LIB_NOT_FOUND": "检查 Oculus 应用是否正确安装,以及库是否在 Oculus 中正确定义。",
|
||||
"PROTON_NOT_SET": "在设置中设置Proton路径。",
|
||||
"PROTON_NOT_FOUND": "在设置中设置Proton路径。",
|
||||
"ORIGINAL_OCULUS_NOT_INSTALLED": "在打开之前,必须从Oculus应用程序安装Beat Saber。"
|
||||
},
|
||||
"actions": {
|
||||
"STEAM_NOT_RUNNING": "启动 Steam"
|
||||
@@ -413,7 +512,8 @@
|
||||
"CantEditSteam": "无法编辑",
|
||||
"CantRename": "无法重命名",
|
||||
"VersionAlreadExist": "该版本已存在",
|
||||
"CantClone": "无法克隆"
|
||||
"CantClone": "无法克隆",
|
||||
"UnknownError": "发生了未知错误"
|
||||
},
|
||||
"msg": {
|
||||
"CantEditSteam": "你不能编辑 Steam 版本。不过你可以克隆它。"
|
||||
@@ -460,12 +560,44 @@
|
||||
"no-mods": "该版本中没有安装 Mod 😑"
|
||||
}
|
||||
}
|
||||
},
|
||||
"import-mod": {
|
||||
"titles": {
|
||||
"success": "模组导入完成",
|
||||
"error": "模组导入过程中发生错误"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "模组成功导入。",
|
||||
"some-success": "一些模组已成功导入。",
|
||||
"no-dlls": "文件中不包含任何 \"dll\" 文件。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"one-click-install": {
|
||||
"success": "谱面安装完成",
|
||||
"error": "安装谱面时发生错误"
|
||||
},
|
||||
"no-duplicates-maps": {
|
||||
"title": "没有重复",
|
||||
"msg": "没有删除地图"
|
||||
},
|
||||
"duplicates-maps-deleted": {
|
||||
"title": "重复已删除",
|
||||
"msg": "重复已删除"
|
||||
},
|
||||
"import-map": {
|
||||
"titles": {
|
||||
"success": "地图导入完成",
|
||||
"error": "导入地图时发生错误"
|
||||
},
|
||||
"msgs": {
|
||||
"success": "地图已成功导入。",
|
||||
"some-success": "部分地图已成功导入。",
|
||||
"only-accept-zip": "仅支持zip文件。",
|
||||
"invalid-zip": "zip文件中没有地图。",
|
||||
"unknown": "发生了未知错误。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"playlists": {
|
||||
@@ -486,6 +618,19 @@
|
||||
"title": "备份已创建",
|
||||
"msg": "共享 “UserData” 文件夹可能会产生错误,如果出现问题,请取消关联该文件夹以恢复备份"
|
||||
}
|
||||
},
|
||||
"linking-error": {
|
||||
"title": "链接文件夹时出错",
|
||||
"msg": {
|
||||
"EPERM": "BSManager没有必要的权限来链接文件夹。",
|
||||
"EACCES": "BSManager没有必要的权限来链接文件夹。",
|
||||
"ENOSPC": "磁盘已满,请腾出空间后再试。",
|
||||
"UNKNOWN_ERROR": "链接文件夹时发生未知错误。"
|
||||
}
|
||||
},
|
||||
"adding-error": {
|
||||
"title": "添加共享文件夹失败",
|
||||
"msg": "您无法将\"{folder}\"添加到共享文件夹。"
|
||||
}
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
@@ -496,6 +641,14 @@
|
||||
"error": {
|
||||
"msg": "创建快捷方式时发生错误"
|
||||
}
|
||||
},
|
||||
"bs-version-oudated": {
|
||||
"title": "版本过时",
|
||||
"msg": "此 Beat Saber 版本已过时,请使用推荐版本以享受最新功能和修复。",
|
||||
"actions": {
|
||||
"do-not-remind": "不再提醒",
|
||||
"ok": "确定"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
@@ -505,8 +658,7 @@
|
||||
"choose-store": {
|
||||
"title": "选择哪个平台?",
|
||||
"body": "选择你希望为其下载 BeatSaber 的平台。",
|
||||
"set-in-settings": "在设置中设定默认平台",
|
||||
"unavailable": "由于Oculus最近的更改,目前不再提供降级Oculus版本的服务。我们正在调查此问题,并将在BSManager Discord服务器上保持更新。"
|
||||
"set-in-settings": "在设置中设定默认平台"
|
||||
},
|
||||
"guard": {
|
||||
"title": "Steam Guard",
|
||||
@@ -634,27 +786,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"link-maps": {
|
||||
"title": "关联谱面",
|
||||
"desc": "关联谱面可以在所有启用此功能的版本之间共享谱面。一旦关联,该版本将受益于共享谱面。",
|
||||
"info": "添加和删除的谱面也将被共享",
|
||||
"keep-maps": {
|
||||
"label": "保留谱面",
|
||||
"title": "保留谱面将会把当前版本的所有谱面复制到共享谱面文件夹。否则,该版本的谱面将不会被保留,它们将丢失。"
|
||||
},
|
||||
"valid-btn": "关联谱面"
|
||||
},
|
||||
"unlink-maps": {
|
||||
"title": "取消关联谱面",
|
||||
"desc": "请注意,取消关联谱面后该版本将无法使用共享谱面,直到重新启用。",
|
||||
"keep-maps": {
|
||||
"label": "保留谱面",
|
||||
"title": "保留谱面将会在取消关联后把共享文件夹的所有谱面复制到当前版本。如果此项被禁用,谱面也不会丢失。"
|
||||
},
|
||||
"valid-btn": "取消关联谱面"
|
||||
"delete-duplicate-maps": {
|
||||
"title": "删除地图",
|
||||
"desc": "只有地图 \"{map}\" 是重复的。你确定要删除它吗?",
|
||||
"desc-plural": "发现了 {nb} 个重复的地图。你确定要删除它们吗?"
|
||||
}
|
||||
},
|
||||
|
||||
"link-contents": {
|
||||
"title": "链接{contentType}",
|
||||
"p-1": "链接{contentType}允许在启用此功能的所有版本之间共享{contentType}。链接后,该版本将受益于共享的{contentType}。",
|
||||
"p-2": "为了使用链接功能,所有的{itemsHtml}将被移动到{sharedHtml}文件夹中。之后,一个指向共享{contentType}文件夹的符号链接将取代您原来的{contentType}文件夹。",
|
||||
"warning": "请注意,任何影响{contentType}的更改也会影响所有启用此功能的版本。",
|
||||
"what-is-a-symbolic-link": "什么是符号链接?",
|
||||
"i-need-help": "我需要帮助",
|
||||
"valid-btn": "链接{contentType}"
|
||||
},
|
||||
"unlink-contents": {
|
||||
"title": "取消链接{contentType}",
|
||||
"p-1": "注意:取消链接{contentType}将禁用此版本中共享的{contentType}功能,直到该功能再次启用。",
|
||||
"p-2": "为了取消链接您的{contentType},指向{sharedHtml}的符号链接将被删除。之后,共享文件夹中的所有{contentType}将被复制到您Beat Saber版本的{itemsHtml}文件夹中。",
|
||||
"do-not-copy-contents": "不复制{contentType}",
|
||||
"do-not-copy-contents-tip": "如果启用,共享文件夹中的{contentType}不会被复制到您的Beat Saber版本中。结果是,取消链接后,您的Beat Saber版本中将不再保留任何{contentType}。",
|
||||
"valid-btn": "取消链接{contentType}"
|
||||
},
|
||||
"download-maps": {
|
||||
"search-btn": "搜索",
|
||||
"loading-maps": "谱面加载中...",
|
||||
@@ -676,9 +830,14 @@
|
||||
"add-folder": "添加文件夹",
|
||||
"link-folder": "关联文件夹",
|
||||
"unlink-folder": "取消关联文件夹",
|
||||
"link-all": "关联所有"
|
||||
"link-all": "关联所有",
|
||||
"remove-from-the-list": "从列表中移除"
|
||||
}
|
||||
},
|
||||
"adding-shared-folder": {
|
||||
"title": "添加共享文件夹",
|
||||
"description": "链接\"{folder}\"文件夹时可能会遇到问题。您确定要添加它吗?"
|
||||
},
|
||||
"create-launch-shortcut": {
|
||||
"title": "创建快捷方式",
|
||||
"desc": "创建快捷方式使得你可以在不通过 BSManager 的情况下以特定选项启动 BeatSaber",
|
||||
@@ -697,89 +856,131 @@
|
||||
"stay": "记住我",
|
||||
"connect-to-meta": "连接到 Meta"
|
||||
},
|
||||
"original-version-backup-oculus": {
|
||||
"title": "警告",
|
||||
"body": {
|
||||
"must-be-installed-once": "你必须至少从 Oculus 商店安装过一次 BeatSaber,否则 BeatSaber 可能会在启动后自动关闭。",
|
||||
"need-backup": "要启动该版本,位于你的 Oculus 库中的 BeatSaber 安装文件夹将被重命名。",
|
||||
"can-restore-later": "如果需要,你可以通过前往 BSManager 的原始 Oculus 版本选项并点击'恢复文件夹'来恢复它。",
|
||||
"tips-launch-oculus": "提示:只要原始版本没有被恢复,你就可以直接从 Oculus 启动该版本。"
|
||||
},
|
||||
"not-remind-me": "不再提醒我",
|
||||
"enable-oculus-sideloaded-apps": {
|
||||
"title": "启用旁加载",
|
||||
"info-1": "为了启动 Beat Saber,必须启用运行旁加载应用程序的功能。BSManager 将请求管理员权限以自动启用此功能。",
|
||||
"info-2": "旁加载功能允许启动位于 Oculus 库文件夹之外的游戏。",
|
||||
"info-3": "激活 sideloading 后,该功能将保持激活状态,您将不再被提示启用它。",
|
||||
"i-want-to-do-it-myself": "我想自己完成",
|
||||
"understood": "明白了"
|
||||
},
|
||||
"enter-meta-token": {
|
||||
"title": "Meta 令牌",
|
||||
"title": "Oculus令牌",
|
||||
"body": {
|
||||
"need-token": "要下载 BeatSaber,需要你的 Meta 登录令牌。",
|
||||
"how-obtain-token": "如何获取我的 Meta 令牌?",
|
||||
"input-label": "Meta 令牌",
|
||||
"token-is-invalid": "令牌无效。"
|
||||
"info-enter-token": "下载Beat Saber需要您的Oculus登录令牌。",
|
||||
"how-obtain-token": "我如何获得我的Oculus令牌?",
|
||||
"oculus-token": "Oculus令牌",
|
||||
"token-is-invalid": "令牌无效。",
|
||||
"save-my-token": "保存我的令牌",
|
||||
"have-token-saved": "我已经保存了一个令牌",
|
||||
"save-token-info": "这将保存您的令牌以便更容易地重新使用。您需要创建一个密码来加密您的令牌以进行存储。如果您忘记了密码,只需再次提供您的令牌即可。",
|
||||
"password": "密码",
|
||||
"password-too-short": "密码太短",
|
||||
"info-enter-password": "下载Beat Saber需要您的Oculus登录令牌。请输入用于保存您的Oculus令牌的密码。",
|
||||
"info-disabled-btn-password": "使用提供的密码解密的令牌无效。确保密码与保存令牌时使用的密码相同。",
|
||||
"enter-oculus-token": "输入Oculus令牌"
|
||||
},
|
||||
"valid-btn": "验证"
|
||||
},
|
||||
"launch-as-admin": {
|
||||
"title": "管理员权限",
|
||||
"body": {
|
||||
"info": "检测到Steam正在以管理员权限运行。为了与Steam通信,Beat Saber也必须以管理员身份启动。否则,Beat Saber可能会遇到问题并在启动后关闭。",
|
||||
"info-2": "以管理员模式启动Beat Saber还会将管理员权限赋予已安装的模组。因此,建议重启Steam,不使用管理员权限。",
|
||||
"info-3": "请注意,不建议给Steam管理员权限,因为这也会影响已安装的游戏和模组,带来安全风险。"
|
||||
},
|
||||
"launch-as-admin": "以管理员身份启动",
|
||||
"not-remind-me": "不再提醒我"
|
||||
},
|
||||
"ask-install-path": {
|
||||
"title": "安装文件夹",
|
||||
"choose-folder-description": "选择将包含 BSManager 下载的所有内容的文件夹。(版本、mod、地图、播放列表等)",
|
||||
"default": "默认",
|
||||
"default-tooltip": "默认为您的主文件夹"
|
||||
},
|
||||
"choose-proton-folder": {
|
||||
"title": "Proton文件夹",
|
||||
"proton-folder-description": "在Linux上,BSManager需要Proton才能运行。请选择Proton的安装文件夹以继续。",
|
||||
"proton-folder-placeholder": "Proton安装文件夹",
|
||||
"where-is-proton-installed": "Proton安装在哪里?"
|
||||
},
|
||||
"bs-version-outdated": {
|
||||
"body": "版本 {outdatedVersion} 已过时,某些模组或功能可能无法正常工作。请下载最新推荐的 Beat Saber 版本 ({recommendedVersion}),以享受最新功能和修复。"
|
||||
}
|
||||
},
|
||||
"maps": {
|
||||
"map-filter-panel": {
|
||||
"duration": "时长",
|
||||
"nps" : "每秒音符数",
|
||||
"njs": "音符跳跃速度",
|
||||
"tags": "标签",
|
||||
"specificities": "general",
|
||||
"requirements": "要求"
|
||||
"requirements": "要求",
|
||||
"exclude": "排除",
|
||||
"leaderboard": "排行榜"
|
||||
},
|
||||
"map-types": {
|
||||
"accuracy": "精确度",
|
||||
"balanced": "平衡",
|
||||
"challenge": "挑战",
|
||||
"dancestyle": "舞蹈",
|
||||
"dance-style": "舞蹈",
|
||||
"fitness": "健身",
|
||||
"speed": "速度",
|
||||
"tech": "技术"
|
||||
},
|
||||
"map-styles": {
|
||||
"dance": "dance",
|
||||
"swing": "swing",
|
||||
"nightcore": "nightcore",
|
||||
"folk": "folk",
|
||||
"family": "family",
|
||||
"ambient": "ambient",
|
||||
"funk": "funk",
|
||||
"jazz": "jazz",
|
||||
"soul": "soul",
|
||||
"speedcore": "speedcore",
|
||||
"punk": "punk",
|
||||
"dance": "舞蹈",
|
||||
"swing": "摇摆",
|
||||
"nightcore": "夜核",
|
||||
"folk-acoustic": "民谣 & 原声",
|
||||
"kids-family": "儿童 & 家庭",
|
||||
"ambient": "氛围音乐",
|
||||
"funk-disco": "放克 & 迪斯科",
|
||||
"jazz": "爵士",
|
||||
"soul": "灵魂",
|
||||
"speedcore": "极速核",
|
||||
"punk": "朋克",
|
||||
"rb": "r&b",
|
||||
"holiday": "holiday",
|
||||
"vocaloid": "vocaloid",
|
||||
"jrock": "j-rock",
|
||||
"trance": "trance",
|
||||
"drumbass": "drum & bass",
|
||||
"comedy": "comedy",
|
||||
"instrumental": "instrumental",
|
||||
"hardcore": "hardcore",
|
||||
"kpop": "k-pop",
|
||||
"indie": "indie",
|
||||
"techno": "techno",
|
||||
"house": "house",
|
||||
"game": "video game",
|
||||
"film": "film",
|
||||
"alt": "alternative",
|
||||
"dubstep": "dubstep",
|
||||
"metal": "metal",
|
||||
"anime": "anime",
|
||||
"hiphop": "hiphop",
|
||||
"jpop": "j-pop",
|
||||
"rock": "rock",
|
||||
"pop": "pop",
|
||||
"electronic": "electronic",
|
||||
"classical-orchestral": "Classical & Orchestral"
|
||||
"holiday": "假日",
|
||||
"vocaloid": "声库",
|
||||
"j-rock": "日式摇滚",
|
||||
"trance": "迷幻",
|
||||
"drum-and-bass": "鼓 & 贝斯",
|
||||
"comedy-meme": "喜剧 & 表情包",
|
||||
"instrumental": "纯音乐",
|
||||
"hardcore": "硬核",
|
||||
"k-pop": "k-pop",
|
||||
"indie": "独立",
|
||||
"techno": "电子舞曲",
|
||||
"house": "浩室音乐",
|
||||
"video-game-soundtrack": "游戏音乐",
|
||||
"tv-movie-soundtrack": "电视 & 电影",
|
||||
"alternative": "另类",
|
||||
"dubstep": "电音鼓",
|
||||
"metal": "金属",
|
||||
"anime": "动漫",
|
||||
"hip-hop-rap": "嘻哈 & 说唱",
|
||||
"j-pop": "日式流行",
|
||||
"rock": "摇滚",
|
||||
"pop": "流行",
|
||||
"electronic": "电子",
|
||||
"classical-orchestral": "古典 & 管弦乐"
|
||||
},
|
||||
"map-specificities": {
|
||||
"automapper": "AI",
|
||||
"ranked": "ranked",
|
||||
"curated": "curated",
|
||||
"verified": "verified",
|
||||
"fullSpread": "full spread"
|
||||
},
|
||||
"map-leaderboard": {
|
||||
"All": "所有",
|
||||
"Ranked": "排名的",
|
||||
"BeatLeader": "BeatLeader",
|
||||
"ScoreSaber": "ScoreSaber"
|
||||
},
|
||||
"map-excludes": {
|
||||
"installed": "已安装"
|
||||
},
|
||||
"difficulties": {
|
||||
"Easy": "easy",
|
||||
"Normal": "normal",
|
||||
@@ -789,7 +990,14 @@
|
||||
},
|
||||
"map-item": {
|
||||
"by": "By {songAutor}",
|
||||
"mapped-by": "mapped by"
|
||||
"mapped-by": "mapped by",
|
||||
"delete": "删除",
|
||||
"preview" : "预览地图",
|
||||
"bsr-code" : "BSR代码",
|
||||
"download" : "下载地图",
|
||||
"downloading" :"正在下载地图",
|
||||
"cancel-download" : "取消下载",
|
||||
"hightlight-difficulty": "突出显示难度"
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
@@ -857,86 +1065,6 @@
|
||||
"no-models": "未找到模型",
|
||||
"no-internet": "无网络连接",
|
||||
"error-occured": "发生了一个错误,稍后重试。"
|
||||
},
|
||||
"link-models": {
|
||||
"avatar": {
|
||||
"title": "关联 Avatar",
|
||||
"desc": "关联 Avatar 允许在所有启用此功能的版本之间共享 Avatar。一旦关联,该版本将受益于共享 Avatar。",
|
||||
"info": "对 Avatar 的添加和删除也将被共享",
|
||||
"keep-models": {
|
||||
"label": "保留 Avatar",
|
||||
"title": "保留 Avatar 将会把当前版本的所有 Avatar复制到共享 Avatar文件夹。否则,该版本的 Avatar将不会被保留,它们将丢失。"
|
||||
},
|
||||
"valid-btn": "关联 Avatar "
|
||||
},
|
||||
"saber": {
|
||||
"title": "关联光剑",
|
||||
"desc": "关联光剑允许在所有启用此功能的版本之间共享光剑。一旦关联,该版本将受益于共享光剑。",
|
||||
"info": "对光剑的添加和删除也将被共享",
|
||||
"keep-models": {
|
||||
"label": "保留光剑",
|
||||
"title": "保留光剑将会把当前版本的所有光剑复制到共享光剑文件夹。否则,该版本的光剑将不会被保留,它们将丢失。"
|
||||
},
|
||||
"valid-btn": "关联光剑"
|
||||
},
|
||||
"platform": {
|
||||
"title": "关联平台",
|
||||
"desc": "关联平台允许在所有启用此功能的版本之间共享平台。一旦关联,该版本将受益于共享平台。",
|
||||
"info": "对平台的添加和删除也将被共享",
|
||||
"keep-models": {
|
||||
"label": "保留平台",
|
||||
"title": "保留平台将会把当前版本的所有平台复制到共享平台文件夹。否则,该版本的平台将不会被保留,它们将丢失。"
|
||||
},
|
||||
"valid-btn": "关联平台"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "关联方块",
|
||||
"desc": "关联方块允许在所有启用此功能的版本之间共享方块。一旦关联,该版本将受益于共享方块。",
|
||||
"info": "对方块的添加和删除也将被共享",
|
||||
"keep-models": {
|
||||
"label": "保留方块",
|
||||
"title": "保留方块将会把当前版本的所有方块复制到共享方块文件夹。否则,该版本的方块将不会被保留,它们将丢失。"
|
||||
},
|
||||
"valid-btn": "关联方块"
|
||||
}
|
||||
},
|
||||
"unlink-models": {
|
||||
"avatar": {
|
||||
"title": "取消关联 Avatar",
|
||||
"desc": "请注意,取消关联 Avatar 将禁用该版本的共享 Avatar 使用,直到重新启用。",
|
||||
"keep-models": {
|
||||
"label": "保留 Avatar",
|
||||
"title": "保留 Avatar 将会在取消关联后把共享文件夹的所有 Avatar 复制到当前版本。如果此项被禁用,Avatar 将不会丢失。"
|
||||
},
|
||||
"valid-btn": "取消关联 Avatar"
|
||||
},
|
||||
"saber": {
|
||||
"title": "取消关联光剑",
|
||||
"desc": "请注意,取消关联光剑将禁用该版本的共享光剑使用,直到重新启用。",
|
||||
"keep-models": {
|
||||
"label": "保留光剑",
|
||||
"title": "保留光剑将会在取消关联后把共享文件夹的所有光剑复制到当前版本。如果此项被禁用,光剑将不会丢失。"
|
||||
},
|
||||
"valid-btn": "取消关联光剑"
|
||||
},
|
||||
"platform": {
|
||||
"title": "取消关联平台",
|
||||
"desc": "请注意,取消关联平台将禁用该版本的共享平台使用,直到重新启用。",
|
||||
"keep-models": {
|
||||
"label": "保留平台",
|
||||
"title": "保留平台将会在取消关联后把共享文件夹的所有平台复制到当前版本。如果此项被禁用,平台将不会丢失。"
|
||||
},
|
||||
"valid-btn": "取消关联平台"
|
||||
},
|
||||
"bloq": {
|
||||
"title": "取消关联方块",
|
||||
"desc": "请注意,取消关联方块将禁用该版本的共享方块使用,直到重新启用。",
|
||||
"keep-models": {
|
||||
"label": "保留方块",
|
||||
"title": "保留方块将会在取消关联后把共享文件夹的所有方块复制到当前版本。如果此项被禁用,方块将不会丢失。"
|
||||
},
|
||||
"valid-btn": "取消关联方块"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notifications": {
|
||||
@@ -946,10 +1074,6 @@
|
||||
"go-to-mods": "前往 Mod 页",
|
||||
"not-remind": "不再提醒我"
|
||||
},
|
||||
"prevent-for-models-breaks": {
|
||||
"title": "已损坏的模型",
|
||||
"desc": "自从Beat Saber引擎更新以来,所有自定义模型的MOD都已损坏,需要更新。它们还没有被更新。"
|
||||
},
|
||||
"export-success": {
|
||||
"title": "导出成功 🎉"
|
||||
}
|
||||
@@ -981,6 +1105,135 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"drop-zone": {
|
||||
"or-browse-files": "或浏览文件"
|
||||
},
|
||||
"playlist": {
|
||||
"error-playlist-creation-title": "创建播放列表时出错",
|
||||
"error-playlist-creation-desc": "创建播放列表时发生错误。",
|
||||
"playlist-created-title": "播放列表已创建",
|
||||
"playlist-created-desc": "播放列表已成功创建。您现在可以同步其地图了!",
|
||||
"download-playlist": "下载播放列表",
|
||||
"synchronize-playlist": "同步播放列表",
|
||||
"synchronize-maps": "同步地图",
|
||||
"error-playlists-synchronization-title": "同步播放列表时出错",
|
||||
"error-playlists-synchronization-desc": "同步播放列表时发生错误。",
|
||||
"playlists-synchronized-title": "播放列表已同步!",
|
||||
"playlists-synchronized-desc": "播放列表及其地图已下载。",
|
||||
"playlists-export-error-title": "导出播放列表时出错",
|
||||
"playlists-export-error-desc": "导出播放列表时发生错误。",
|
||||
"playlists-exported-title": "播放列表已导出!",
|
||||
"playlists-exported-desc": "播放列表已成功导出。",
|
||||
"playlists-with-maps-exported-desc": "播放列表及其地图已成功导出。",
|
||||
"playlist-delete-error-title": "删除播放列表时出错",
|
||||
"playlist-delete-error-desc": "删除播放列表时发生错误。",
|
||||
"playlists-deleted-title": "播放列表已删除!",
|
||||
"playlists-deleted-desc": "播放列表已成功删除。",
|
||||
"edit-playlist": "编辑播放列表",
|
||||
"playlist-edit-error-title": "编辑播放列表时出错",
|
||||
"playlist-edit-error-desc": "编辑播放列表时发生错误。",
|
||||
"playlist-edited-title": "播放列表已编辑!",
|
||||
"playlist-edited-desc": "播放列表已成功修改。您现在可以同步其地图了!",
|
||||
"playlists-loading": "正在加载播放列表...",
|
||||
"no-playlists": "没有播放列表",
|
||||
"download-playlists": "下载播放列表",
|
||||
"created-by": "创建者",
|
||||
"stop-download": "停止下载",
|
||||
"cancel-download": "取消下载",
|
||||
"open-file": "打开文件",
|
||||
"delete-playlist-ask": "删除播放列表?",
|
||||
"delete-playlists-ask": "删除播放列表?",
|
||||
"delete-playlist-desc": "您确定要删除播放列表 \"{playlistTitle}\" 吗?",
|
||||
"delete-playlists-desc": "您确定要删除 {nb} 个播放列表吗?",
|
||||
"delete-maps": "删除地图",
|
||||
"delete-playlist-maps-tip": "如果启用,播放列表中的所有地图都将被删除",
|
||||
"delete-playlists-maps-tip": "如果启用,播放列表中的所有地图都将被删除",
|
||||
"export-playlist-ask": "导出播放列表?",
|
||||
"export-playlists-ask": "导出播放列表?",
|
||||
"export-playlist-desc": "您确定要导出播放列表 \"{playlistTitle}\" 吗?",
|
||||
"export-playlists-desc": "您确定要导出 {nb} 个播放列表吗?",
|
||||
"export-maps": "导出地图",
|
||||
"export-playlist-maps-tip": "如果启用,播放列表中的所有地图也将被导出",
|
||||
"export-playlists-maps-tip": "如果启用,播放列表中的所有地图也将被导出",
|
||||
"export": "导出",
|
||||
"need-clone-title": "警告",
|
||||
"need-clone-desc-1": "此播放列表已从外部站点下载,并包含同步链接。",
|
||||
"need-clone-desc-2": "为避免在同步过程中丢失更改,播放列表将被复制,并删除其同步链接。",
|
||||
"need-clone-desc-3": "然后,如果您愿意,可以删除原始播放列表。",
|
||||
"understood": "我明白了",
|
||||
"synchronize-playlist-ask": "同步播放列表?",
|
||||
"synchronize-playlists-ask": "同步播放列表?",
|
||||
"synchronize-playlist-desc": "您确定要同步播放列表 \"{playlistTitle}\" 吗?",
|
||||
"synchronize-playlists-desc": "您确定要同步 {nb} 个播放列表吗?",
|
||||
"synchronize-playlist-tip": "此操作更新播放列表并下载缺失的地图;可能需要几分钟。",
|
||||
"synchronize": "同步",
|
||||
"curated": "推荐",
|
||||
"verified-mapper": "已验证的制图者",
|
||||
"empty-playlists": "空播放列表",
|
||||
"search-playlist": "搜索播放列表",
|
||||
"no-playlists-found": "未找到播放列表",
|
||||
"error-occur-while-loading-playlists": "加载播放列表时发生错误",
|
||||
"error-occur-while-loading-playlist": "加载播放列表时发生错误",
|
||||
"loading-maps": "正在加载地图...",
|
||||
"no-maps-found-for-playlist": "未找到此播放列表的地图",
|
||||
"playlist-contain-no-maps": "播放列表不包含地图",
|
||||
"no-map-installed-for-playlist": "此播放列表没有已安装的地图",
|
||||
"playlist-is-waiting-to-download": "播放列表正在等待下载",
|
||||
"download-maps": "下载地图",
|
||||
"download-missing-maps": "下载缺失的地图",
|
||||
"playlist-is-downloading": "播放列表正在下载",
|
||||
"some-playlist-maps-are-missing": "此播放列表中的一些地图缺失",
|
||||
"create-a-playlist": "创建播放列表",
|
||||
"synchronize-playlists": "同步播放列表",
|
||||
"export-playlists": "导出播放列表",
|
||||
"delete-playlists": "删除播放列表",
|
||||
"choose-image": "选择图片",
|
||||
"title": "标题",
|
||||
"playlist-title": "播放列表标题",
|
||||
"description": "描述",
|
||||
"playlist-description": "播放列表描述",
|
||||
"author": "作者",
|
||||
"playlist-author": "播放列表作者",
|
||||
"save": "保存",
|
||||
"loading": "加载中...",
|
||||
"installed": "已安装",
|
||||
"no-map-found": "未找到地图",
|
||||
"edit-playlist-shortcuts": "按住 Shift 或 Ctrl 选择多个地图",
|
||||
"add-to-playlist": "添加到播放列表",
|
||||
"remove-from-playlist": "从播放列表中移除",
|
||||
"playlist-is-empty": "播放列表为空",
|
||||
"continue": "继续",
|
||||
"nb-maps": "地图数量",
|
||||
"nb-mappers": "制图者数量",
|
||||
"duration": "持续时间",
|
||||
"nps": "每秒音符数",
|
||||
"date-picker": {
|
||||
"start-date-end-date": "开始日期 — 结束日期",
|
||||
"all": "全部",
|
||||
"last-24h": "最近24小时",
|
||||
"last-week": "上周",
|
||||
"last-month": "上个月",
|
||||
"3-last-month": "最近3个月"
|
||||
},
|
||||
"playlists-imported": "播放列表已导入",
|
||||
"all-playlists-have-been-successfully-imported": "所有播放列表已成功导入",
|
||||
"no-playlist-found": "未找到播放列表",
|
||||
"no-playlist-found-in-selected-files": "在选定文件中未找到播放列表",
|
||||
"some-playlists-not-imported": "部分播放列表未导入",
|
||||
"some-playlists-have-been-imported": {
|
||||
"INVALID_SOURCE": "某些播放列表未找到",
|
||||
"INVALID_PLAYLIST_FILE": "某些播放列表无效",
|
||||
"CANNOT_PARSE_PLAYLIST": "某些播放列表无法解析",
|
||||
"unknown": "某些播放列表无法导入"
|
||||
},
|
||||
"no-playlists-imported": "未导入任何播放列表",
|
||||
"no-playlists-imported-errors": {
|
||||
"INVALID_SOURCE": "播放列表未找到",
|
||||
"INVALID_PLAYLIST_FILE": "播放列表无效",
|
||||
"CANNOT_PARSE_PLAYLIST": "播放列表无法解析",
|
||||
"unknown": "无法导入任何播放列表"
|
||||
}
|
||||
},
|
||||
"dateformat": {
|
||||
"dayNames": ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
||||
"monthNames": ["1 月", "2 月", "3 月", "4 月", "5 月", "6 月", "7 月", "8 月", "9 月", "10 月", "11 月", "12 月", "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package song_details_cache_v1;
|
||||
|
||||
message SongDetailsCache {
|
||||
repeated SongDetails songs = 1;
|
||||
uint32 lastUpdated = 2;
|
||||
uint32 total = 3;
|
||||
UploadersList uploaders = 4;
|
||||
repeated string difficultyLabels = 5;
|
||||
}
|
||||
|
||||
message UploadersList {
|
||||
repeated string names = 1;
|
||||
repeated uint32 ids = 2;
|
||||
}
|
||||
|
||||
message SongDetails {
|
||||
uint32 idInt = 1;
|
||||
repeated uint32 hashIndices = 2;
|
||||
string name = 3;
|
||||
uint32 duration = 4;
|
||||
UploaderRef uploaderRef = 5;
|
||||
uint32 uploadedAt = 6;
|
||||
repeated MapTag tags = 7;
|
||||
bool ranked = 8;
|
||||
bool qualified = 9;
|
||||
bool curated = 10;
|
||||
bool blRanked = 11;
|
||||
bool blQualified = 12;
|
||||
uint32 upVotes = 13;
|
||||
uint32 downVotes = 14;
|
||||
uint32 downloads = 15;
|
||||
bool automapper = 16;
|
||||
repeated Difficulty difficulties = 17;
|
||||
}
|
||||
|
||||
message Difficulty {
|
||||
DifficultyLabel difficulty = 1;
|
||||
DifficultyCharacteristic characteristic = 2;
|
||||
uint32 labelIndex = 3;
|
||||
uint32 starsT100 = 4;
|
||||
uint32 starsBlT100 = 5;
|
||||
uint32 njsT100 = 6;
|
||||
uint32 npsT100 = 7;
|
||||
int32 offsetT100 = 8;
|
||||
bool chroma = 9;
|
||||
bool cinema = 10;
|
||||
bool me = 11;
|
||||
bool ne = 12;
|
||||
uint32 bombs = 13;
|
||||
uint32 notes = 14;
|
||||
uint32 obstacles = 15;
|
||||
}
|
||||
|
||||
message UploaderRef {
|
||||
uint32 uploader_ref_index = 1;
|
||||
bool verified = 2;
|
||||
}
|
||||
|
||||
enum DifficultyLabel {
|
||||
UNKNOWN_LABEL = 0; // Default value for undefined/unknown labels
|
||||
EASY = 1;
|
||||
NORMAL = 2;
|
||||
HARD = 3;
|
||||
EXPERT = 4;
|
||||
EXPERT_PLUS = 5;
|
||||
}
|
||||
|
||||
enum DifficultyCharacteristic {
|
||||
UNKNOWN_CHARACTERISTIC = 0; // Default value for undefined/unknown characteristics
|
||||
STANDARD = 1;
|
||||
ONE_SABER = 2;
|
||||
NO_ARROWS = 3;
|
||||
LAWLESS = 4;
|
||||
LIGHTSHOW = 5;
|
||||
LEGACY = 6;
|
||||
NINETY_DEGREE = 7;
|
||||
THREESIXTY_DEGREE = 8;
|
||||
}
|
||||
|
||||
enum MapTag {
|
||||
UNKNOWN_TAG = 0; // Default value for undefined/unknown tags
|
||||
DANCE = 1;
|
||||
SWING = 2;
|
||||
NIGHTCORE = 3;
|
||||
FOLK = 4;
|
||||
FAMILY = 5;
|
||||
AMBIENT = 6;
|
||||
FUNK = 7;
|
||||
JAZZ = 8;
|
||||
SOUL = 9;
|
||||
SPEEDCORE = 10;
|
||||
PUNK = 11;
|
||||
RB = 12;
|
||||
HOLIDAY = 13;
|
||||
VOCALOID = 14;
|
||||
J_ROCK = 15;
|
||||
TRANCE = 16;
|
||||
DRUMBASS = 17;
|
||||
COMEDY = 18;
|
||||
INSTRUMENTAL = 19;
|
||||
HARDCORE = 20;
|
||||
K_POP = 21;
|
||||
INDIE = 22;
|
||||
TECHNO = 23;
|
||||
HOUSE = 24;
|
||||
GAME = 25;
|
||||
FILM = 26;
|
||||
ALT = 27;
|
||||
DUBSTEP = 28;
|
||||
METAL = 29;
|
||||
ANIME = 30;
|
||||
HIPHOP = 31;
|
||||
J_POP = 32;
|
||||
ROCK = 33;
|
||||
POP = 34;
|
||||
ELECTRONIC = 35;
|
||||
CLASSICAL_ORCHESTRAL = 36;
|
||||
ACCURACY = 37;
|
||||
BALANCED = 38;
|
||||
CHALLENGE = 39;
|
||||
DANCESTYLE = 40;
|
||||
FITNESS = 41;
|
||||
SPEED = 42;
|
||||
TECH = 43;
|
||||
}
|
||||
@@ -1,166 +0,0 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v6.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v6.0": {
|
||||
"DepotDownloader/2.5.0": {
|
||||
"dependencies": {
|
||||
"QRCoder": "1.4.3",
|
||||
"SteamKit2": "2.5.0-Beta.1",
|
||||
"protobuf-net": "3.2.16"
|
||||
},
|
||||
"runtime": {
|
||||
"DepotDownloader.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/5.0.0": {},
|
||||
"Microsoft.Win32.Registry/5.0.0": {
|
||||
"dependencies": {
|
||||
"System.Security.AccessControl": "5.0.0",
|
||||
"System.Security.Principal.Windows": "5.0.0"
|
||||
}
|
||||
},
|
||||
"protobuf-net/3.2.16": {
|
||||
"dependencies": {
|
||||
"protobuf-net.Core": "3.2.16"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/protobuf-net.dll": {
|
||||
"assemblyVersion": "3.0.0.0",
|
||||
"fileVersion": "3.2.16.54102"
|
||||
}
|
||||
}
|
||||
},
|
||||
"protobuf-net.Core/3.2.16": {
|
||||
"dependencies": {
|
||||
"System.Collections.Immutable": "7.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/protobuf-net.Core.dll": {
|
||||
"assemblyVersion": "3.0.0.0",
|
||||
"fileVersion": "3.2.16.54102"
|
||||
}
|
||||
}
|
||||
},
|
||||
"QRCoder/1.4.3": {
|
||||
"runtime": {
|
||||
"lib/net6.0/QRCoder.dll": {
|
||||
"assemblyVersion": "1.4.3.0",
|
||||
"fileVersion": "1.4.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SteamKit2/2.5.0-Beta.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.Win32.Registry": "5.0.0",
|
||||
"protobuf-net": "3.2.16"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/SteamKit2.dll": {
|
||||
"assemblyVersion": "2.5.0.0",
|
||||
"fileVersion": "2.5.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Collections.Immutable/7.0.0": {
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/System.Collections.Immutable.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.0.22.51805"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
|
||||
"System.Security.AccessControl/5.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "5.0.0",
|
||||
"System.Security.Principal.Windows": "5.0.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Principal.Windows/5.0.0": {}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"DepotDownloader/2.5.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==",
|
||||
"path": "microsoft.netcore.platforms/5.0.0",
|
||||
"hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Win32.Registry/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==",
|
||||
"path": "microsoft.win32.registry/5.0.0",
|
||||
"hashPath": "microsoft.win32.registry.5.0.0.nupkg.sha512"
|
||||
},
|
||||
"protobuf-net/3.2.16": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-W6RM2B2f5O7SigBGfkXFYzI/a7Mks+rCHtuGlE/b5O3NMupDon7I0akjCLhrfcnqIfdWDkDafseav/MnIzUSHA==",
|
||||
"path": "protobuf-net/3.2.16",
|
||||
"hashPath": "protobuf-net.3.2.16.nupkg.sha512"
|
||||
},
|
||||
"protobuf-net.Core/3.2.16": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ZFoY0lfMUWGJ4RoyI0oNj2o2l8t08n3k27YyDD0kYWQ+vXj0hTbWEwYWOpGAfCWvyUPkq9Jcc/4uR74GICZL2g==",
|
||||
"path": "protobuf-net.core/3.2.16",
|
||||
"hashPath": "protobuf-net.core.3.2.16.nupkg.sha512"
|
||||
},
|
||||
"QRCoder/1.4.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-fWuFqjm8GTlEb2GqBl3Hi8HZZeZQwBSHxvRPtPjyNbT82H0ff0JwavKRBmMaXCno1Av6McPC8aJzri0Mj2w9Jw==",
|
||||
"path": "qrcoder/1.4.3",
|
||||
"hashPath": "qrcoder.1.4.3.nupkg.sha512"
|
||||
},
|
||||
"SteamKit2/2.5.0-Beta.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-fwwdF0cZZEIdNpcUc1+B9zbP5Q48A3DFOAclPhBh2dMTU03aROaIDktFW+Ww/NN1Z/Emp/LwVqHB+hCM8uxS4Q==",
|
||||
"path": "steamkit2/2.5.0-beta.1",
|
||||
"hashPath": "steamkit2.2.5.0-beta.1.nupkg.sha512"
|
||||
},
|
||||
"System.Collections.Immutable/7.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==",
|
||||
"path": "system.collections.immutable/7.0.0",
|
||||
"hashPath": "system.collections.immutable.7.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
||||
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
||||
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.AccessControl/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==",
|
||||
"path": "system.security.accesscontrol/5.0.0",
|
||||
"hashPath": "system.security.accesscontrol.5.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Principal.Windows/5.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==",
|
||||
"path": "system.security.principal.windows/5.0.0",
|
||||
"hashPath": "system.security.principal.windows.5.0.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net6.0",
|
||||
"rollForward": "LatestMajor",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "6.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
# Add write permissions to anybody so that this can be sync with the
|
||||
# github's bs-versions.json when starting bsmanager
|
||||
/usr/bin/chmod +002 /opt/BSManager/resources/assets/jsons/bs-versions.json
|
||||
|
||||
# https://github.com/electron/electron/issues/42510
|
||||
/usr/bin/chmod 4755 /opt/BSManager/chrome-sandbox
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 945 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 442 KiB After Width: | Height: | Size: 442 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 782 KiB |
|
After Width: | Height: | Size: 687 KiB |
@@ -0,0 +1,21 @@
|
||||
If you encounter a keyboard shortcut conflict between AMD Software and Oculus Rift, you can either disable or modify the conflicting shortcut.
|
||||
|
||||
_Special thanks to_ `𝔽𝕪𝕟𝕟 (fynn07)` _for its contribution with information and screenshots_
|
||||
### __Follow these steps to disable the shortcut in AMD Software:__
|
||||
# Step 1 - Access Settings:
|
||||
- Open AMD Software and click on the gear icon in the top right corner to go to settings.
|
||||
|
||||

|
||||
# Step 2 - Modify Keyboard Shortcuts:
|
||||
- In the settings menu, select the "Hotkey" tab.
|
||||
|
||||

|
||||
# Step 3 -Disabling Shortcuts:
|
||||
- Turn off the "Use Hotkeys" option to prevent any conflicts with Oculus Rift.
|
||||
|
||||

|
||||
# Step 3 alt - Modify the Shortcut:
|
||||
- If you prefer to keep using keyboard shortcuts, consider changing the specific conflicting shortcut (e.g., "Ctrl + Shift + I") to another combination that is less likely to interfere.
|
||||
|
||||
ℹ️ _**Keep in mind you can't change the full keybind!**_
|
||||
_**You can only Change the "i" to an different Button!**_ ℹ️
|
||||
@@ -0,0 +1,11 @@
|
||||
Enabling Oculus sideloading allows games located outside if your Oculus library to be played on your Oculus Quest.
|
||||
|
||||
- **Step 1:** Start the regedit application by pressing `Win + R` and typing `regedit` in the dialog box.
|
||||
- **Step 2:** Navigate to `HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oculus VR, LLC\Oculus`.
|
||||
- **Step 3:** Right-click on the right panel and select `New > DWORD (32-bit) Value`.
|
||||
- **Step 4:** Name the new value `AllowDevSideloaded` and set the value to `1`.
|
||||
|
||||
You should end up with something like this:
|
||||

|
||||
|
||||
After completing these steps, you should be able to start Beat Saber from BSManager and play it on your Oculus Quest. If you are still having issues, please join our [Discord](https://discord.gg/uSqbHVpKdV) server for further assistance.
|
||||
@@ -0,0 +1,14 @@
|
||||
Welcome to the bs-manager wiki! (wip c:)
|
||||
|
||||
to get you oculus token check here : https://github.com/Zagrios/bs-manager/wiki/How-to-obtain-your-Oculus-Token
|
||||
|
||||
---
|
||||
|
||||
This Wiki accepts contributions!
|
||||
|
||||
To contribute to the wiki:
|
||||
|
||||
- Fork the project
|
||||
- Add/Edit `.md` files in the `docs/wiki/` folder
|
||||
- Create a Pull Request
|
||||
- Once the PR is merged (after review), it will be present in the repository's wiki
|
||||
@@ -0,0 +1,30 @@
|
||||
### Important
|
||||
|
||||
Your token is a confidential piece of information. Possession of this token allows individuals to download applications, send messages, among other actions, under your identity.
|
||||
|
||||
However, you might wonder why it is necessary to provide this token to BSManager. The reason is that BSManager requires the token to continue the download with Oculus. Once you've input the token, it is used exclusively to communicate with Oculus servers to verify that you are the rightful owner of the game.
|
||||
|
||||
## Step 1 - Install and log into the Oculus Rift app
|
||||
- Get the Oculus Rift app setup from the [Meta website](https://www.oculus.com/rift/setup/)
|
||||
- Install the Oculus Rift app
|
||||
|
||||
ℹ️ **If you bought Beat Saber from the Quest store, it won't appear in your Rift library by default. To download it with BSManager, first claim it from its store page** ℹ️
|
||||
|
||||
## Step 2 - Open developer tools
|
||||
|
||||
- Open Oculus app
|
||||
- Open the developer tools by pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>i</kbd>.
|
||||
|
||||
## Step 3 - Copy your Token
|
||||
In the developer tools :
|
||||
- Open the `Network` tab
|
||||
- Filter for `graph`
|
||||
- Click on the first request
|
||||
- Open the `Payload` tab
|
||||
- Locate your token, it should start with `FRL`
|
||||
- Select the token using your mouse and press <kbd>Ctrl</kbd> + <kbd>c</kbd> to copy it
|
||||
|
||||

|
||||
|
||||
# Known bugs
|
||||
- [Nothing opens when I press `Ctrl`+`Shift`+`i`.](https://github.com/Zagrios/bs-manager/wiki/Nothing-opens-when-I-press-%60Ctrl%60%E2%80%90%60Shift%60%E2%80%90%60i%60.)
|
||||
@@ -0,0 +1,98 @@
|
||||
# Linux Guide
|
||||
|
||||
## Installation
|
||||
|
||||
Go to [Releases](https://github.com/Zagrios/bs-manager/releases) page and go to the latest alpha release (version 1.5.0-alpha.5 or higher). Download the necessary build installer for your distro (see below).
|
||||
|
||||
### Ubuntu, Debian (deb)
|
||||
|
||||
Download the `.deb` file in the releases and run the following command:
|
||||
```bash
|
||||
dpkg -i ./bsmanager.deb
|
||||
```
|
||||
|
||||
### Arch (AUR)
|
||||
|
||||
Refer to [bs-manager-git](https://aur.archlinux.org/packages/bs-manager-git).
|
||||
|
||||
To install AUR packages, you need to install [yay](https://github.com/Jguer/yay).
|
||||
|
||||
### Universal (flatpak)
|
||||
|
||||
This should work on any linux distribution. You are only required to have `flatpak` installed in your system. If it is not installed, then go to [flatpak](https://flatpak.org/setup/) to look for a guide on how to install it on your distro.
|
||||
|
||||
After installing, download the `.flatpak` file in the releases and run the following command:
|
||||
|
||||
```bash
|
||||
flatpak install --user ./bsmanager.flatpak
|
||||
```
|
||||
|
||||
If you are getting errors like packages not existing, run the command below so that it finds the correct packages.
|
||||
|
||||
```bash
|
||||
sudo flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
# or
|
||||
|
||||
flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
```
|
||||
|
||||
Flatpak also supports sandboxing which gives the minimal access to your machine. To configure this, you can download [Flatseal](https://flathub.org/apps/com.github.tchx84.Flatseal) which has a GUI to edit your permissions. You can also this with the `flatpak` executable but it will not be discussed here.
|
||||
|
||||
## Proton Setup
|
||||
|
||||
[Proton](https://github.com/ValveSoftware/Proton) is needed to run the Beat Saber executable under Linux. You need to download this from either from Steam or building it from their GitHub repo.
|
||||
|
||||
Once Proton is installed, when you open your BSManager application for the first time, it will ask you to link the _Proton Folder_. The _Proton Folder_ also verifies if the `proton` and `files/bin/wine64` binaries exists. Once set, you should be able to launch the Beat Saber (using `proton`) and install mods (using `files/bin/wine64`). You can still change the _Proton Folder_ in the **settings page** if any new version of Steam Proton is downloaded.
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
## Missing Icons in game
|
||||
|
||||
<p align="center">
|
||||
<img src="../assets/linux-missing-icons.png" alt="Linux Missing Icons" width="300"/>
|
||||
<br>
|
||||
NOTE: "?" are missing unicode icons
|
||||
</p>
|
||||
|
||||
This is due to [BSML](https://github.com/monkeymanboy/BeatSaberMarkupLanguage) using a missing font (`Segoe UI Symbols`) for unicode emojis.
|
||||
|
||||
To fix the issue, you need to get a copy of `seguisym.ttf` from the fonts folder an official copy Windows. Once you have a copy, add the font file to `~/.steam/steam/steamapps/compatdata/620980/pfx/drive_c/windows/Fonts`.
|
||||
|
||||
## Permission denied on "bs-versions.json"
|
||||
|
||||
<pre>
|
||||
Unhandled Exception UnhandledRejection Error: EACCES: permission denied, open '/opt/BSManager/resources/assets/jsons/bs-versions.json'
|
||||
</pre>
|
||||
|
||||
To fix this issue, the current user must have write permissions to the "bs-versions.json". To correct the permissions do command below:
|
||||
|
||||
```bash
|
||||
chmod +002 /opt/BSManager/resources/assets/jsons/bs-versions.json
|
||||
|
||||
# or
|
||||
|
||||
chown $(whoami) /opt/BSManager/resources/assets/jsons/bs-versions.json
|
||||
```
|
||||
|
||||
## [deb] The SUID sandbox helper binary was found.
|
||||
|
||||
This is encountered when running the app file or executing the app in the terminal. This is due to a change to Ubuntu 24.04. In order to fix the issue, take a look into the path of "chrome-sandbox" described in the error log and give the correct permissions within the terminal, for example:
|
||||
|
||||
```bash
|
||||
chmod 4755 /opt/BSManager/chrome-sandbox
|
||||
```
|
||||
|
||||
ref: https://github.com/electron/electron/issues/42510
|
||||
|
||||
## [Flatpak] Steam Beat Saber version not showing / Proton not detected
|
||||
|
||||
Flatpak should have permissions with the steam games folder. By default, the minimum permissions are `~/.steam/steam/steamapps/common:ro` and `~/.steam/steam/steamapps/common:ro`. If you changed the steam installation path, add that path instead into the permissions.
|
||||
|
||||
## [Flatpak] Changing installation folder
|
||||
|
||||
To change the installation path of the **BSManager** folder, you have to edit the flatpak permissions to destination folder.
|
||||
- In flatpak or Flatseal, add the destination folder with `:create` permissions.
|
||||
- In BSM, move the folder to the destination folder.
|
||||
- [Optional] In flatpak or Flatseal, remove the original folder permissions.
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
If nothing opens when you press `Ctrl` + `Shift` + `I`, it's possible that the keyboard shortcut to open the development tools is being used by another application.
|
||||
|
||||
Here's a non-exhaustive list of applications that have caused a problem and their suggested solutions:
|
||||
- [AMD software](https://github.com/Zagrios/bs-manager/wiki/AMD-Sofware-%E2%80%90-Nothing-opens-when-I-press-%60Ctrl%60%E2%80%90%60Shift%60%E2%80%90%60I%60)
|
||||
@@ -0,0 +1,94 @@
|
||||
const config = {
|
||||
extraResources: [
|
||||
"./assets/jsons/bs-versions.json",
|
||||
"./assets/jsons/patreons.json",
|
||||
"./assets/proto/song_details_cache_v1.proto"
|
||||
],
|
||||
productName: "BSManager",
|
||||
appId: "io.bsmanager.bsmanager",
|
||||
asarUnpack: "**\\*.{node,dll}",
|
||||
files: [
|
||||
"dist/**/*",
|
||||
"node_modules",
|
||||
"package.json"
|
||||
],
|
||||
afterSign: ".erb/scripts/notarize.js",
|
||||
afterPack: ".erb/scripts/after-pack.js",
|
||||
win: {
|
||||
signingHashAlgorithms: ["sha256"],
|
||||
target: [
|
||||
"nsis",
|
||||
"nsis-web"
|
||||
],
|
||||
icon: "./build/icons/win/favicon.ico",
|
||||
extraResources: [
|
||||
"./build/icons/win",
|
||||
"./assets/scripts/*.exe"
|
||||
],
|
||||
},
|
||||
linux: {
|
||||
target: [
|
||||
"deb",
|
||||
],
|
||||
icon: "./build/icons/png",
|
||||
category: "Utility;Game;",
|
||||
extraResources: [
|
||||
"./build/icons/png",
|
||||
"./assets/scripts/DepotDownloader"
|
||||
],
|
||||
protocols: {
|
||||
name: "BSManager",
|
||||
schemes: [
|
||||
"bsmanager",
|
||||
"beatsaver",
|
||||
"bsplaylist",
|
||||
"modelsaber",
|
||||
"web+bsmap",
|
||||
],
|
||||
},
|
||||
},
|
||||
deb: {
|
||||
fpm: ["--after-install=build/after-install.sh"],
|
||||
},
|
||||
flatpak: {
|
||||
finishArgs: [
|
||||
// Wayland/X11 Rendering
|
||||
"--socket=wayland",
|
||||
"--socket=x11",
|
||||
"--share=ipc",
|
||||
// Open GL
|
||||
"--device=dri",
|
||||
// Audio output
|
||||
"--socket=pulseaudio",
|
||||
// Read/write home directory access
|
||||
"--filesystem=~/BSManager:create", // Default BSManager installation folder
|
||||
"--filesystem=~/.steam/steam/steamapps:ro", // for the libraryfolders.vdf
|
||||
"--filesystem=~/.steam/steam/steamapps/common:create", // Steam game folder
|
||||
"--filesystem=~/.steam/steam/steamapps/common/Beat Saber:create", // For installing mods/maps to original Beat Saber version
|
||||
// Allow communication with network
|
||||
"--share=network",
|
||||
// System notifications with libnotify
|
||||
"--talk-name=org.freedesktop.Notifications",
|
||||
"--talk-name=org.freedesktop.Flatpak",
|
||||
]
|
||||
},
|
||||
directories: {
|
||||
app: "release/app",
|
||||
buildResources: "assets",
|
||||
output: "release/build",
|
||||
},
|
||||
publish: {
|
||||
provider: "github",
|
||||
owner: "Zagrios",
|
||||
},
|
||||
fileAssociations: [
|
||||
{
|
||||
ext: "bplist",
|
||||
description: "Beat Saber Playlist (BSManager)",
|
||||
icon: "./assets/bsm_file.ico",
|
||||
role: "Viewer",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
@@ -0,0 +1,2 @@
|
||||
[target.x86_64-pc-windows-msvc]
|
||||
rustflags = ["-C", "target-feature=+crt-static"]
|
||||
@@ -0,0 +1,83 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.76"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.195"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.195"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "start_beat_saber_admin"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"winres",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.48"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
|
||||
[[package]]
|
||||
name = "winres"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
|
||||
dependencies = [
|
||||
"toml",
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
[package]
|
||||
name = "start_beat_saber_admin"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
build = "build.rs"
|
||||
|
||||
[build-dependencies]
|
||||
winres = "0.1.12"
|
||||
|
||||
[profile.release]
|
||||
codegen-units = 1
|
||||
lto = true
|
||||
opt-level = "z"
|
||||
|
||||
[package.metadata.winres]
|
||||
FileDescription = "Start Beat Saber as Admin"
|
||||
LegalCopyright = "Copyright © 2024 Zagrios"
|
||||
CompanyName = "Zagrios"
|
||||
@@ -0,0 +1,20 @@
|
||||
extern crate winres;
|
||||
|
||||
fn main() {
|
||||
if cfg!(target_os = "windows") {
|
||||
let mut res = winres::WindowsResource::new();
|
||||
res.set_manifest(r#"
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
"#);
|
||||
res.set_icon("./icon.ico");
|
||||
res.compile().unwrap();
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 67 KiB |
@@ -0,0 +1,47 @@
|
||||
|
||||
use std::{process::Command, path::Path};
|
||||
|
||||
const EXECUTABLE_NAME: &str = "Beat Saber.exe";
|
||||
const AUTORIZED_ARGS: [&str; 8] = [
|
||||
"fpfc",
|
||||
"-vrmode",
|
||||
"oculus",
|
||||
"--verbose",
|
||||
"--no-yeet",
|
||||
"--disable-autoupdate",
|
||||
"--combine-logs",
|
||||
"editor"
|
||||
];
|
||||
|
||||
fn main() {
|
||||
let args: Vec<String> = std::env::args().collect();
|
||||
|
||||
let executable_path = Path::new(&args[1]);
|
||||
|
||||
if executable_path.file_name().unwrap() != EXECUTABLE_NAME {
|
||||
eprintln!("Executable path is not Beat Saber.exe.");
|
||||
return;
|
||||
}
|
||||
|
||||
if !executable_path.exists() || !executable_path.is_file() {
|
||||
eprintln!("Executable path is not valid.");
|
||||
return;
|
||||
}
|
||||
|
||||
let mut command = Command::new(executable_path);
|
||||
|
||||
if let Some(parent_dir) = executable_path.parent() {
|
||||
command.current_dir(parent_dir);
|
||||
}
|
||||
|
||||
for arg in args.iter().skip(2) {
|
||||
if !AUTORIZED_ARGS.contains(&arg.as_str()) {
|
||||
continue;
|
||||
}
|
||||
command.arg(arg);
|
||||
}
|
||||
|
||||
command.env("SteamAppId", "620980");
|
||||
|
||||
let _ = command.spawn();
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
[target.x86_64-pc-windows-msvc]
|
||||
rustflags = ["-C", "target-feature=+crt-static"]
|
||||
@@ -0,0 +1,166 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "oculus-allow-dev-sideloaded"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"winreg",
|
||||
"winres",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.38"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.217"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.217"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
||||
|
||||
[[package]]
|
||||
name = "winreg"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winres"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
|
||||
dependencies = [
|
||||
"toml",
|
||||
]
|
||||
@@ -0,0 +1,20 @@
|
||||
[package]
|
||||
name = "oculus-allow-dev-sideloaded"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[build-dependencies]
|
||||
winres = "0.1.12"
|
||||
|
||||
[dependencies]
|
||||
winreg = "0.52.0"
|
||||
|
||||
[package.metadata.winres]
|
||||
FileDescription = "Enable Sideloaded Apps"
|
||||
LegalCopyright = "Copyright © 2024 Zagrios"
|
||||
CompanyName = "Zagrios"
|
||||
|
||||
[profile.release]
|
||||
codegen-units = 1
|
||||
lto = true
|
||||
opt-level = "z"
|
||||
@@ -0,0 +1,20 @@
|
||||
extern crate winres;
|
||||
|
||||
fn main() {
|
||||
if cfg!(target_os = "windows") {
|
||||
let mut res = winres::WindowsResource::new();
|
||||
res.set_manifest(r#"
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
"#);
|
||||
res.set_icon("./icon.ico");
|
||||
res.compile().unwrap();
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 67 KiB |
@@ -0,0 +1,22 @@
|
||||
use winreg::enums::HKEY_LOCAL_MACHINE;
|
||||
use winreg::RegKey;
|
||||
|
||||
const PATH: &str = "SOFTWARE\\Wow6432Node\\Oculus VR, LLC\\Oculus";
|
||||
|
||||
fn main() {
|
||||
let hklm = RegKey::predef(HKEY_LOCAL_MACHINE);
|
||||
|
||||
// Create (or open if it already exists) the subkey
|
||||
let (key, _) = match hklm.create_subkey(PATH) {
|
||||
Ok(res) => res,
|
||||
Err(err) => return println!("{}", err.to_string()),
|
||||
};
|
||||
|
||||
let res = key.set_value("AllowDevSideloaded", &1u32);
|
||||
|
||||
if let Err(err) = res {
|
||||
return println!("{}", err.to_string());
|
||||
}
|
||||
|
||||
println!("AllowDevSideloaded = 1 has been successfully set in {PATH}");
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import type { Config } from "jest";
|
||||
|
||||
const config: Config = {
|
||||
// testURL: "http://localhost/",
|
||||
// testEnvironment: "jsdom",
|
||||
transform: {
|
||||
"\\.(ts|tsx|js|jsx)$": "ts-jest",
|
||||
},
|
||||
moduleNameMapper: {
|
||||
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
|
||||
"\\.(css|less|sass|scss)$": "identity-obj-proxy",
|
||||
},
|
||||
moduleFileExtensions: ["js", "jsx", "ts", "tsx", "json"],
|
||||
moduleDirectories: ["node_modules", "src"],
|
||||
testPathIgnorePatterns: ["release/app/dist"],
|
||||
setupFiles: ["./.erb/scripts/check-build-exists.ts"],
|
||||
};
|
||||
|
||||
export default config;
|
||||
@@ -1,20 +1,27 @@
|
||||
{
|
||||
"name": "bs-manager",
|
||||
"description": "Manage maps, mods and more for Beat Saber",
|
||||
"main": "./.erb/dll/main.bundle.dev.js",
|
||||
"version": "1.5.0-alpha.6",
|
||||
"scripts": {
|
||||
"build-rust-scripts": "ts-node ./.erb/scripts/build-rust-scripts.js",
|
||||
"build": "concurrently \"npm run build:main\" \"npm run build:renderer\"",
|
||||
"build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts",
|
||||
"build:renderer": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts",
|
||||
"build:dll": "cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts",
|
||||
"build:main": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.main.prod.ts",
|
||||
"build:renderer": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.renderer.prod.ts",
|
||||
"postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && npm run build:dll",
|
||||
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir release/app",
|
||||
"prestart": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.dev.ts",
|
||||
"lint": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx",
|
||||
"package": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never",
|
||||
"postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts && opencollective-postinstall",
|
||||
"start": "ts-node ./.erb/scripts/check-port-in-use.js && npm run start:renderer",
|
||||
"start:main": "cross-env NODE_ENV=development electronmon -r ts-node/register/transpile-only ./src/main/main.ts",
|
||||
"package": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never --config electron-builder.config.js && npm run build:dll",
|
||||
"start": "ts-node ./.erb/scripts/check-port-in-use.js && npm run prestart && npm run start:renderer",
|
||||
"start:main": "concurrently -k \"cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --watch --config ./.erb/configs/webpack.config.main.dev.ts\" \"electronmon .\"",
|
||||
"start:preload": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.preload.dev.ts",
|
||||
"start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts",
|
||||
"test": "jest",
|
||||
"publish": "npm run build && electron-builder -c.win.certificateSha1=842a817a51e2a1d360fcd62f54bf5f9193e919e1 --publish always --win --x64"
|
||||
"test:unit": "jest ./src/__tests__/unit",
|
||||
"publish": "npm run build && electron-builder -c.win.certificateSha1=206941d969c4fa8a0e04d9427def361e13b02fd0 --config electron-builder.config.js --publish always --win --x64",
|
||||
"publish:linux": "npm run build && electron-builder --config electron-builder.config.js --publish never --linux --x64"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{js,jsx,ts,tsx}": [
|
||||
@@ -31,71 +38,10 @@
|
||||
]
|
||||
},
|
||||
"build": {
|
||||
"extraResources": [
|
||||
"./assets/favicon.ico",
|
||||
"./assets/jsons/bs-versions.json",
|
||||
"./assets/jsons/patreons.json",
|
||||
"./assets/scripts/**"
|
||||
],
|
||||
"productName": "BSManager",
|
||||
"appId": "org.erb.BSManager",
|
||||
"asarUnpack": "**\\*.{node,dll}",
|
||||
"files": [
|
||||
"dist/**/*",
|
||||
"node_modules",
|
||||
"package.json"
|
||||
],
|
||||
"afterSign": ".erb/scripts/notarize.js",
|
||||
"afterPack": ".erb/scripts/after-pack.js",
|
||||
"mac": {
|
||||
"target": {
|
||||
"target": "default",
|
||||
"arch": [
|
||||
"arm64",
|
||||
"x64"
|
||||
]
|
||||
},
|
||||
"type": "distribution",
|
||||
"hardenedRuntime": true,
|
||||
"entitlements": "assets/entitlements.mac.plist",
|
||||
"entitlementsInherit": "assets/entitlements.mac.plist",
|
||||
"gatekeeperAssess": false
|
||||
},
|
||||
"dmg": {
|
||||
"contents": [
|
||||
{
|
||||
"x": 130,
|
||||
"y": 220
|
||||
},
|
||||
{
|
||||
"x": 410,
|
||||
"y": 220,
|
||||
"type": "link",
|
||||
"path": "/Applications"
|
||||
}
|
||||
]
|
||||
},
|
||||
"win": {
|
||||
"target": [
|
||||
"nsis",
|
||||
"nsis-web"
|
||||
],
|
||||
"icon": "assets/favicon.ico"
|
||||
},
|
||||
"linux": {
|
||||
"target": [
|
||||
"AppImage"
|
||||
],
|
||||
"category": "Development"
|
||||
},
|
||||
"directories": {
|
||||
"app": "release/app",
|
||||
"buildResources": "assets",
|
||||
"output": "release/build"
|
||||
},
|
||||
"publish": {
|
||||
"provider": "github",
|
||||
"owner": "Zagrios"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
@@ -119,167 +65,148 @@
|
||||
"beat-saber"
|
||||
],
|
||||
"homepage": "https://github.com/Zagrios/bs-manager#readme",
|
||||
"jest": {
|
||||
"testURL": "http://localhost/",
|
||||
"testEnvironment": "jsdom",
|
||||
"transform": {
|
||||
"\\.(ts|tsx|js|jsx)$": "ts-jest"
|
||||
},
|
||||
"moduleNameMapper": {
|
||||
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
|
||||
"\\.(css|less|sass|scss)$": "identity-obj-proxy"
|
||||
},
|
||||
"moduleFileExtensions": [
|
||||
"js",
|
||||
"jsx",
|
||||
"ts",
|
||||
"tsx",
|
||||
"json"
|
||||
],
|
||||
"moduleDirectories": [
|
||||
"node_modules",
|
||||
"src"
|
||||
],
|
||||
"testPathIgnorePatterns": [
|
||||
"release/app/dist"
|
||||
],
|
||||
"setupFiles": [
|
||||
"./.erb/scripts/check-build-exists.ts"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/rebuild": "^3.2.13",
|
||||
"@electron/fuses": "^1.7.0",
|
||||
"@electron/notarize": "^2.3.0",
|
||||
"@electron/rebuild": "^3.6.0",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
|
||||
"@teamsupercell/typings-for-css-modules-loader": "^2.5.1",
|
||||
"@testing-library/jest-dom": "^5.16.5",
|
||||
"@testing-library/react": "^13.3.0",
|
||||
"@types/archiver": "^5.3.1",
|
||||
"@teamsupercell/typings-for-css-modules-loader": "^2.5.2",
|
||||
"@testing-library/jest-dom": "^6.4.1",
|
||||
"@testing-library/react": "^14.2.0",
|
||||
"@types/archiver": "^6.0.2",
|
||||
"@types/color": "^3.0.3",
|
||||
"@types/crypto-js": "^4.2.1",
|
||||
"@types/dateformat": "^5.0.0",
|
||||
"@types/jest": "^27.5.2",
|
||||
"@types/node": "17.0.23",
|
||||
"@types/global-agent": "^2.1.3",
|
||||
"@types/got": "^9.6.12",
|
||||
"@types/jest": "^29.5.11",
|
||||
"@types/node": "22.8.6",
|
||||
"@types/node-fetch": "^2.6.3",
|
||||
"@types/pako": "^2.0.1",
|
||||
"@types/react": "^18.0.33",
|
||||
"@types/react-beautiful-dnd": "^13.1.8",
|
||||
"@types/react-dom": "^18.0.11",
|
||||
"@types/react-outside-click-handler": "^1.3.1",
|
||||
"@types/react-test-renderer": "^17.0.2",
|
||||
"@types/react-test-renderer": "^18.0.7",
|
||||
"@types/react-virtualized-auto-sizer": "^1.0.1",
|
||||
"@types/react-window": "^1.8.5",
|
||||
"@types/recursive-readdir": "^2.2.1",
|
||||
"@types/terser-webpack-plugin": "^5.0.4",
|
||||
"@types/to-ico": "^1.1.1",
|
||||
"@types/use-double-click": "^1.0.1",
|
||||
"@types/use-double-click": "^1.0.4",
|
||||
"@types/webpack-bundle-analyzer": "^4.4.2",
|
||||
"@types/webpack-env": "^1.18.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.34.0",
|
||||
"@typescript-eslint/parser": "^5.34.0",
|
||||
"autoprefixer": "^10.4.8",
|
||||
"@typescript-eslint/eslint-plugin": "^6.20.0",
|
||||
"@typescript-eslint/parser": "^6.20.0",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"browserslist-config-erb": "^0.0.3",
|
||||
"chalk": "^4.1.2",
|
||||
"concurrently": "^7.2.2",
|
||||
"core-js": "^3.24.1",
|
||||
"concurrently": "^8.2.2",
|
||||
"core-js": "^3.36.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"css-loader": "^6.7.1",
|
||||
"css-minimizer-webpack-plugin": "^4.1.0",
|
||||
"detect-port": "^1.3.0",
|
||||
"electron": "^27.1.3",
|
||||
"electron-builder": "^24.9.1",
|
||||
"css-loader": "^6.10.0",
|
||||
"css-minimizer-webpack-plugin": "^6.0.0",
|
||||
"detect-port": "^1.5.1",
|
||||
"electron": "^32.1.2",
|
||||
"electron-builder": "^24.13.3",
|
||||
"electron-devtools-installer": "^3.2.0",
|
||||
"electron-notarize": "^1.2.1",
|
||||
"electronmon": "^2.0.2",
|
||||
"eslint": "^8.22.0",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-config-erb": "^4.0.3",
|
||||
"eslint-import-resolver-typescript": "^2.7.1",
|
||||
"eslint-import-resolver-webpack": "^0.13.2",
|
||||
"eslint-plugin-compat": "^4.0.2",
|
||||
"eslint-plugin-import": "^2.25.4",
|
||||
"eslint-plugin-jest": "^26.8.7",
|
||||
"eslint-plugin-jsx-a11y": "^6.6.1",
|
||||
"eslint-plugin-promise": "^6.0.0",
|
||||
"eslint-plugin-react": "^7.30.0",
|
||||
"eslint-config-erb": "^4.1.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-import-resolver-webpack": "^0.13.8",
|
||||
"eslint-plugin-compat": "^4.2.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-jest": "^27.6.3",
|
||||
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"jest": "^27.5.1",
|
||||
"lint-staged": "^12.5.0",
|
||||
"mini-css-extract-plugin": "^2.6.1",
|
||||
"jest": "^29.7.0",
|
||||
"lint-staged": "^15.2.1",
|
||||
"mini-css-extract-plugin": "^2.7.7",
|
||||
"opencollective-postinstall": "^2.0.3",
|
||||
"postcss": "^8.4.16",
|
||||
"postcss-loader": "^6.2.1",
|
||||
"prettier": "^2.7.1",
|
||||
"ps-scrollbar-tailwind": "0.0.1",
|
||||
"react-refresh": "^0.12.0",
|
||||
"react-refresh-typescript": "^2.0.7",
|
||||
"postcss": "^8.4.33",
|
||||
"postcss-loader": "^8.1.0",
|
||||
"prettier": "^3.2.4",
|
||||
"react-refresh": "^0.14.0",
|
||||
"react-test-renderer": "^18.2.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"sass": "^1.54.5",
|
||||
"sass-loader": "^12.6.0",
|
||||
"style-loader": "^3.3.1",
|
||||
"tailwind-scrollbar": "^2.0.1",
|
||||
"tailwindcss": "^3.3.1",
|
||||
"terser-webpack-plugin": "^5.3.5",
|
||||
"ts-jest": "^27.1.5",
|
||||
"ts-loader": "^9.3.0",
|
||||
"ts-node": "^10.8.2",
|
||||
"typescript": "^4.7.4",
|
||||
"rimraf": "^5.0.5",
|
||||
"sass": "^1.70.0",
|
||||
"sass-loader": "^14.1.0",
|
||||
"style-loader": "^3.3.4",
|
||||
"tailwindcss": "^3.4.12",
|
||||
"terser-webpack-plugin": "^5.3.10",
|
||||
"ts-jest": "^29.1.2",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "^5.3.3",
|
||||
"url-loader": "^4.1.1",
|
||||
"webpack": "^5.74.0",
|
||||
"webpack-bundle-analyzer": "^4.6.1",
|
||||
"webpack-cli": "^4.10.0",
|
||||
"webpack-dev-server": "^4.10.0",
|
||||
"webpack-merge": "^5.8.0"
|
||||
"webpack": "^5.90.3",
|
||||
"webpack-bundle-analyzer": "^4.10.1",
|
||||
"webpack-cli": "^5.1.4",
|
||||
"webpack-dev-server": "^4.15.1",
|
||||
"webpack-merge": "^5.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@electron/fuses": "^1.6.2",
|
||||
"@internationalized/date": "^3.5.4",
|
||||
"@nextui-org/date-picker": "^2.0.7",
|
||||
"@nextui-org/react": "^2.3.6",
|
||||
"@node-steam/vdf": "^2.2.0",
|
||||
"@tippyjs/react": "^4.2.6",
|
||||
"archiver": "^6.0.1",
|
||||
"archiver": "^7.0.1",
|
||||
"clsx": "^2.1.1",
|
||||
"color": "^4.2.3",
|
||||
"crypto-js": "^4.2.0",
|
||||
"dateformat": "^5.0.3",
|
||||
"dot-prop": "^8.0.2",
|
||||
"electron-debug": "^3.2.0",
|
||||
"electron-log": "^4.4.8",
|
||||
"electron-store": "^8.1.0",
|
||||
"electron-updater": "^6.1.7",
|
||||
"electron-updater": "^6.3.4",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"framer-motion": "^10.16.16",
|
||||
"format-duration": "^3.0.2",
|
||||
"framer-motion": "^11.2.6",
|
||||
"fs-extra": "^11.2.0",
|
||||
"global-agent": "^3.0.0",
|
||||
"got": "^14.4.4",
|
||||
"history": "^5.3.0",
|
||||
"jszip": "^3.10.1",
|
||||
"is-elevated": "^4.0.0",
|
||||
"md5-file": "^5.0.0",
|
||||
"node-abi": "^3.47.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-stream-zip": "^1.15.0",
|
||||
"node-abi": "^3.65.0",
|
||||
"node-fetch": "^3.3.2",
|
||||
"pako": "^2.1.0",
|
||||
"ps-list": "^7.2.0",
|
||||
"qrcode.react": "^3.1.0",
|
||||
"protobufjs": "^7.4.0",
|
||||
"qrcode.react": "^4.0.1",
|
||||
"query-process": "^0.0.3",
|
||||
"react": "^18.2.0",
|
||||
"react-beautiful-dnd": "^13.1.1",
|
||||
"react-colorful": "^5.6.1",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-range": "^1.8.14",
|
||||
"react-router-dom": "^6.3.0",
|
||||
"react-virtualized-auto-sizer": "^1.0.12",
|
||||
"react-window": "^1.8.8",
|
||||
"react-range": "^1.10.0",
|
||||
"react-router-dom": "^6.24.1",
|
||||
"react-virtualized-auto-sizer": "^1.0.24",
|
||||
"react-window": "^1.8.10",
|
||||
"recursive-readdir": "^2.2.3",
|
||||
"rfdc": "^1.3.0",
|
||||
"rxjs": "^7.8.0",
|
||||
"rfdc": "^1.4.1",
|
||||
"rxjs": "^7.8.1",
|
||||
"sanitize-filename": "^1.6.3",
|
||||
"semver": "^7.5.4",
|
||||
"serialize-error": "^8.1.0",
|
||||
"semver": "^7.6.3",
|
||||
"serialize-error": "^11.0.3",
|
||||
"striptags": "^4.0.0-alpha.4",
|
||||
"tailwind-scrollbar-hide": "^1.1.7",
|
||||
"tailwind-merge": "^2.5.2",
|
||||
"tailwindcss-scoped-groups": "^2.0.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
"to-ico": "^1.1.5",
|
||||
"use-double-click": "^1.0.5",
|
||||
"use-fit-text": "^2.4.0"
|
||||
"use-fit-text": "^2.4.0",
|
||||
"yauzl": "^3.2.0"
|
||||
},
|
||||
"devEngines": {
|
||||
"node": ">=14.x",
|
||||
"npm": ">=7.x"
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"collective": {
|
||||
"url": "https://www.patreon.com/bsmanager"
|
||||
@@ -309,10 +236,13 @@
|
||||
},
|
||||
"electronmon": {
|
||||
"patterns": [
|
||||
"!src/__tests__/**",
|
||||
"!release/**",
|
||||
"!assets/**"
|
||||
"!**/**",
|
||||
"src/main/**",
|
||||
".erb/dll/**"
|
||||
],
|
||||
"logLevel": "quiet"
|
||||
},
|
||||
"volta": {
|
||||
"node": "22.11.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bs-manager",
|
||||
"version": "1.4.2",
|
||||
"version": "1.5.0-alpha.6",
|
||||
"description": "BSManager",
|
||||
"main": "./dist/main/main.js",
|
||||
"author": {
|
||||
@@ -9,14 +9,18 @@
|
||||
"url": "https://github.com/Zagrios/bs-manager"
|
||||
},
|
||||
"scripts": {
|
||||
"electron-rebuild": "node -r ts-node/register ../../.erb/scripts/electron-rebuild.js",
|
||||
"rebuild": "node -r ts-node/register ../../.erb/scripts/electron-rebuild.js",
|
||||
"link-modules": "node -r ts-node/register ../../.erb/scripts/link-modules.ts",
|
||||
"postinstall": "npm run electron-rebuild && npm run link-modules"
|
||||
"postinstall": "npm run rebuild && npm run link-modules"
|
||||
},
|
||||
"dependencies": {
|
||||
"@resvg/resvg-js": "2.6.2",
|
||||
"ps-list": "^7.2.0",
|
||||
"regedit-rs": "^1.0.1",
|
||||
"sharp": "^0.32.6"
|
||||
"query-process": "^0.0.3",
|
||||
"regedit-rs": "^1.0.2"
|
||||
},
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"volta": {
|
||||
"node": "20.11.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import "@testing-library/jest-dom";
|
||||
import { render } from "@testing-library/react";
|
||||
import App from "../renderer/windows/App";
|
||||
|
||||
describe("App", () => {
|
||||
it("should render", () => {
|
||||
expect(render(<App />)).toBeTruthy();
|
||||
});
|
||||
});
|
||||