+
+Descargue y ejecute el último instalador (`VRCX_Setup.exe`) desde [aquí](https://github.com/vrcx-team/VRCX/releases/latest).
+
+# Características
+
+
+
+- :family: Gestión de listas de amigos, mundos y avatares
+ - Gestiona tu lista de amigos, listas de mundos/grupos/avatares fuera de VRChat.
+ - Supervisa la actividad del mundo/avatar de tus amigos y comprueba su estado en línea.
+ - Lleve un registro de cuándo los añadió por primera vez y cuándo los vio por última vez.
+ - Comprueba cuánto tiempo habéis pasado juntos en los mundos y cuántas veces.
+ - Lleva un seguimiento en los cambios de nombre de tus amigos.
+ - Guarde notas para recordar cómo os conocisteis.
+- :electric_plug: Lanzar aplicaciones automáticamente al iniciar VRChat
+ - Puedes configurar VRCX para que lance otras aplicaciones cuando inicies VRChat.
+ - Por ejemplo, puedes hacer que VRCX lance una aplicación OSC o un modulador de voz cuando se abra VRChat.
+- :floppy_disk: World Persistence
+ - ¡Para mundos que soportan la característica, VRCX puede guardar ajustes del mundo, guardar estados, inventarios y otros datos!
+ - **Nota**: Para utilizar esta función, debe tener habilitado "Allow Untrusted URLs" en sus ajustes de VRChat.
+ - Para Desarrolladores: [Wiki Page - World Persistence (PWI)](https://github.com/vrcx-team/VRCX/wiki/World-Persistence-(PWI))
+- :mag: Busca avatares, usuarios, mundos y grupos
+- :earth_americas: Construye una lista de favoritos en local y sin restricciones
+- :camera: Almacena los datos del mundo en las fotos que hagas en el juego, así podrás recordar ese mundo en el que hiciste esas fotos tan chulas como... ¡hace 6 meses!
+- :bell: Supervisa/responde a las notificaciones
+ - Puedes enviar/recibir invitaciones y solicitudes de amistad desde VRCX así como ver la información de las instancias de las invitaciones que recibas.
+- :scroll: Ver estadísticas/jugadores de tu instancia actual
+- :tv: Consulta los enlaces a los vídeos que se están reproduciendo en el mundo en el que te encuentras, así como otros datos registrados.
+- :bar_chart: Rich Presence mejorada para Discord
+ - Opcionalmente, puede mostrar más información sobre su instancia actual en Discord.
+ - World integration para mundos populares como PyPyDance, LSMedia, Movies&Chill y VRDancing.
+ - Esto incluye la miniatura, el nombre, el ID de la instancia y el número de jugadores, dependiendo de la configuración y si el lobby es privado. ¡También puedes añadir un botón de unirse para lobbies públicos!
+- :crystal_ball: VR Overlay con un flujo de actividad configurable de todos los eventos/notificaciones soportados
+- :outbox_tray: Subir imágenes de avatares y mundos sin Unity
+- :page_facing_up: Gestiona y edita los detalles de los avatares y los mundos subidos sin Unity
+- :skull: Reinicia automáticamente y únete a la última instancia cuando VRC se bloquea
+- :left_right_arrow: Exporta/importa grupos favoritos
+
+## Otros
+
+- ¿Quieres una nueva apariencia para VRCX? Echa un vistazo a "[Themes](https://github.com/vrcx-team/VRCX/wiki/Themes)"
+- Vea "[Building from source](https://github.com/vrcx-team/VRCX/wiki/Building-from-source)" para obtener instrucciones sobre cómo compilar VRCX a partir del código fuente.
+- Para una guía sobre cómo ejecutar VRCX en Linux, consulte [aquí](https://github.com/vrcx-team/VRCX/wiki/Running-VRCX-on-Linux)
+
+# Capturas de pantalla
+
+
+
+
Inicio de sesión
+
+
+
+ |
+ |
+
+
+
+
Actividad
+
+
+
+
Registro del juego
+
+
+
+
Información del usuario
+
+
Yo
+
+
+
+
Amigo
+
+
+
+
Mundo
+
+
+
+ |
+ |
+
+
+
+
Favoritos
+
+
Amigos
+
+
+
+
Mundos
+
+
+
+
Avatares
+
+
+
+
Registro de amigos
+
+
+
+
Rich Presence de Discord
+
+
+
+
+
+
+## ¿VRCX va en contra de la TOS de VRChat?
+
+**No.**
+
+VRCX es una herramienta externa que utiliza la API de VRChat para proporcionar las características que hace.
+
+No modifica el juego de ninguna manera, únicamente utilizando la API de forma responsable para proporcionar las características que hace. No es un mod, ni una trampa, ni cualquier otra forma de modificación del juego.
+
+Para conocer la postura de VRChat sobre el uso de la API, consulta el canal #faq en el Discord de VRChat.
+
+---
+
+VRCX no está avalado por VRChat y no refleja los puntos de vista u opiniones de VRChat ni de nadie que participe oficialmente en la producción o gestión de las propiedades de VRChat. VRChat y todas las propiedades asociadas son marcas comerciales o marcas registradas de VRChat Inc. VRChat © VRChat Inc.
diff --git a/README.fr.md b/README.fr.md
index 17bb064dc..be9224722 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -9,7 +9,7 @@
[![VRCX Discord Invite](https://img.shields.io/discord/854071236363550763?color=%237289DA&logo=discord&logoColor=white&label=discord)](https://vrcx.pypy.moe/discord)
-| [English](./README.md) | **Français** | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md)
+| [English](./README.md) | **Français** | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md) | [Español](./README.es.md)
VRCX est une application assistante/complémentaire pour VRChat qui fournit des informations et vous aide à accomplir diverses tâches liées à VRChat de manière plus pratique que de compter uniquement sur le client VRChat classique (desktop ou VR) ou le site web seul. Il comprend également quelques autres fonctionnalités intéressantes décrites ci-dessous.
@@ -137,4 +137,4 @@ Pour voir la position de VRChat sur l'utilisation de l'API, consultez le canal #
---
-VRCX n'est pas approuvé par VRChat et ne reflète pas les opinions de VRChat ni de quiconque impliqué officiellement dans la production ou la gestion des propriétés de VRChat. VRChat et toutes les propriétés associées sont des marques commerciales ou des marques déposées de VRChat Inc. VRChat © VRChat Inc.
\ No newline at end of file
+VRCX n'est pas approuvé par VRChat et ne reflète pas les opinions de VRChat ni de quiconque impliqué officiellement dans la production ou la gestion des propriétés de VRChat. VRChat et toutes les propriétés associées sont des marques commerciales ou des marques déposées de VRChat Inc. VRChat © VRChat Inc.
diff --git a/README.it.md b/README.it.md
index 0fce5c962..e07c3ba52 100644
--- a/README.it.md
+++ b/README.it.md
@@ -9,7 +9,7 @@
[![VRCX Discord Invite](https://img.shields.io/discord/854071236363550763?color=%237289DA&logo=discord&logoColor=white&label=discord)](https://vrcx.pypy.moe/discord)
-| [English](./README.md) | [Français](./README.fr.md) | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | **Italiano** | [Русский](./README.ru_RU.md)
+| [English](./README.md) | [Français](./README.fr.md) | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | **Italiano** | [Русский](./README.ru_RU.md) | [Español](./README.es.md)
VRCX è un'applicazione di assistenza/accompagnamento per VRChat che fornisce informazioni e aiuta a compiere varie operazioni relative a VRChat in modo più conveniente rispetto all'uso del solo client VRChat (desktop o VR) o del sito web. Include anche alcune altre funzioni interessanti descritte di seguito.
diff --git a/README.jp.md b/README.jp.md
index d710e9c2f..b82da1fed 100644
--- a/README.jp.md
+++ b/README.jp.md
@@ -9,7 +9,7 @@
[![VRCX Discord Invite](https://img.shields.io/discord/854071236363550763?color=%237289DA&logo=discord&logoColor=white&label=discord)](https://vrcx.pypy.moe/discord)
-| [English](./README.md) | [Français](./README.fr.md) | **日本語** | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md)
+| [English](./README.md) | [Français](./README.fr.md) | **日本語** | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md) | [Español](./README.es.md)
VRCX は VRChat クライアント (デスクトップ & VR) や Web サイト以上に様々な情報を提供し、より便利に VRChat をプレイできるようにするコンパニオンアプリケーションです。
diff --git a/README.md b/README.md
index e407d8561..d4130e4af 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
[![VRCX Discord Invite](https://img.shields.io/discord/854071236363550763?color=%237289DA&logo=discord&logoColor=white&label=discord)](https://vrcx.pypy.moe/discord)
-| **English** | [Français](./README.fr.md) | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md)
+| **English** | [Français](./README.fr.md) | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md) | [Español](./README.es.md)
VRCX is an assistant/companion application for VRChat that provides information about and helps you accomplish various things related to VRChat in a more convenient fashion than relying on the plain VRChat client (desktop or VR), or website alone. It also includes some other neat features outlined below.
diff --git a/README.ru_RU.md b/README.ru_RU.md
index 88ce15649..42eb157e6 100644
--- a/README.ru_RU.md
+++ b/README.ru_RU.md
@@ -9,7 +9,7 @@
[![VRCX приглашение в Discord](https://img.shields.io/discord/854071236363550763?color=%237289DA&logo=discord&logoColor=white&label=discord)](https://vrcx.pypy.moe/discord)
-| [English](./README.md) | [Français](./README.fr.md) | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | **Русский**
+| [English](./README.md) | [Français](./README.fr.md) | [日本語](./README.jp.md) | [简体中文](./README.zh_CN.md) | [Italiano](./README.it.md) | **Русский** | [Español](./README.es.md)
VRCX является ассистентом/компаньоном приложением для VRChat, который предоставляет информацию о VRChat и помогает вам быстрее выполнять различные действия, связанные с VRChat в удобной форме, чем полагаться на простой VRChat клиент (настольный компьютер или VR), или только веб-сайт. Кроме того, в нем реализованы и другие удобные функции, о которых пойдет речь ниже.
diff --git a/README.zh_CN.md b/README.zh_CN.md
index 859256d67..3c49c1d59 100644
--- a/README.zh_CN.md
+++ b/README.zh_CN.md
@@ -8,7 +8,7 @@
[![VRCX Discord Invite](https://img.shields.io/discord/854071236363550763?color=%237289DA&logo=discord&logoColor=white&label=discord)](https://vrcx.pypy.moe/discord)
-| [English](./README.md) | [Français](./README.fr.md) | [日本語](./README.jp.md) | **简体中文** | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md)
+| [English](./README.md) | [Français](./README.fr.md) | [日本語](./README.jp.md) | **简体中文** | [Italiano](./README.it.md) | [Русский](./README.ru_RU.md) | [Español](./README.es.md)
VRCX是一个用于VRChat的辅助应用,提供有关VRChat的一些信息并帮助你以更方便的方式完成与VRChat有关的各种事情,而不是仅仅依靠VRChat游戏客户端(PC/VR)或他们的网站。它还包括一些非常有用的功能:
diff --git a/html/src/app.js b/html/src/app.js
index d13b8db20..58214cf9a 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -639,12 +639,12 @@ speechSynthesis.getVoices();
if (
args.json.length > 0 &&
((options.params.offset += args.json.length),
- // eslint-disable-next-line no-nested-ternary
- options.N > 0
- ? options.N > options.params.offset
- : options.N < 0
- ? args.json.length
- : options.params.n === args.json.length)
+ // eslint-disable-next-line no-nested-ternary
+ options.N > 0
+ ? options.N > options.params.offset
+ : options.N < 0
+ ? args.json.length
+ : options.params.n === args.json.length)
) {
this.bulk(options);
} else if ('done' in options) {
@@ -1029,7 +1029,7 @@ speechSynthesis.getVoices();
(this.worlddialogshortname &&
this.locationobject.shortName &&
this.worlddialogshortname ===
- this.locationobject.shortName) ||
+ this.locationobject.shortName) ||
this.currentuserid === this.locationobject.userId
) {
this.isUnlocked = true;
@@ -5355,7 +5355,7 @@ speechSynthesis.getVoices();
if (
!this.enablePrimaryPassword &&
(await configRepository.getString('lastUserLoggedIn')) !==
- null
+ null
) {
// login at startup
this.loginForm.loading = true;
@@ -5771,7 +5771,7 @@ speechSynthesis.getVoices();
if (i > 0) {
if (
data[i - 1].created_at ===
- this.sharedFeed.gameLog.lastEntryDate &&
+ this.sharedFeed.gameLog.lastEntryDate &&
forceUpdate === false
) {
return;
@@ -5804,9 +5804,9 @@ speechSynthesis.getVoices();
if (
feedItem.type === 'OnPlayerLeft' &&
Date.parse(feedItem.created_at) >=
- currentUserLeaveTime &&
+ currentUserLeaveTime &&
Date.parse(feedItem.created_at) <=
- currentUserLeaveTimeOffset
+ currentUserLeaveTimeOffset
) {
wristArr.splice(k, 1);
w--;
@@ -5823,7 +5823,7 @@ speechSynthesis.getVoices();
feedItem.type === 'OnPlayerJoined' &&
Date.parse(feedItem.created_at) >= locationJoinTime &&
Date.parse(feedItem.created_at) <=
- locationJoinTimeOffset
+ locationJoinTimeOffset
) {
wristArr.splice(k, 1);
w--;
@@ -5989,7 +5989,7 @@ speechSynthesis.getVoices();
if (i > 0) {
if (
data[i - 1].created_at ===
- this.sharedFeed.feedTable.lastEntryDate &&
+ this.sharedFeed.feedTable.lastEntryDate &&
forceUpdate === false
) {
return;
@@ -6069,7 +6069,7 @@ speechSynthesis.getVoices();
if (i > 0) {
if (
data[i - 1].created_at ===
- this.sharedFeed.notificationTable.lastEntryDate &&
+ this.sharedFeed.notificationTable.lastEntryDate &&
forceUpdate === false
) {
return;
@@ -6135,7 +6135,7 @@ speechSynthesis.getVoices();
if (i > 0) {
if (
data[i - 1].created_at ===
- this.sharedFeed.friendLogTable.lastEntryDate &&
+ this.sharedFeed.friendLogTable.lastEntryDate &&
forceUpdate === false
) {
return;
@@ -6204,7 +6204,7 @@ speechSynthesis.getVoices();
if (i > 0) {
if (
data[i - 1].created_at ===
- this.sharedFeed.moderationAgainstTable.lastEntryDate &&
+ this.sharedFeed.moderationAgainstTable.lastEntryDate &&
forceUpdate === false
) {
return;
@@ -7340,7 +7340,7 @@ speechSynthesis.getVoices();
if (this.loginForm.lastUserLoggedIn) {
var user =
this.loginForm.savedCredentials[
- this.loginForm.lastUserLoggedIn
+ this.loginForm.lastUserLoggedIn
];
if (typeof user !== 'undefined') {
await webApiService.clearCookies();
@@ -7790,8 +7790,8 @@ speechSynthesis.getVoices();
savedCredentials:
(await configRepository.getString('savedCredentials')) !== null
? JSON.parse(
- await configRepository.getString('savedCredentials')
- )
+ await configRepository.getString('savedCredentials')
+ )
: {},
lastUserLoggedIn: await configRepository.getString('lastUserLoggedIn'),
rules: {
@@ -7843,9 +7843,9 @@ speechSynthesis.getVoices();
.then(({ value }) => {
let saveCredential =
this.loginForm.savedCredentials[
- Object.keys(
- this.loginForm.savedCredentials
- )[0]
+ Object.keys(
+ this.loginForm.savedCredentials
+ )[0]
];
security
.decrypt(
@@ -10096,7 +10096,7 @@ speechSynthesis.getVoices();
if (
ref.location !== this.lastLocation.location &&
ref.travelingToLocation !==
- this.lastLocation.location
+ this.lastLocation.location
) {
// fix $location_at with private
ref.$location_at = joinTime;
@@ -11452,7 +11452,7 @@ speechSynthesis.getVoices();
var displayName = this.getDisplayNameFromPhotonId(senderId);
var feed = `RPC ${displayName} ${
this.photonEventType[eventData.EventType]
- }${eventName}`;
+ }${eventName}`;
console.log('VrcRpc:', feed);
}
}
@@ -12507,8 +12507,8 @@ speechSynthesis.getVoices();
$app.methods.formatSeconds = function (duration) {
var pad = function (num, size) {
- return `000${num}`.slice(size * -1);
- },
+ return `000${num}`.slice(size * -1);
+ },
time = parseFloat(duration).toFixed(3),
hours = Math.floor(time / 60 / 60),
minutes = Math.floor(time / 60) % 60,
@@ -12735,7 +12735,7 @@ speechSynthesis.getVoices();
(this.nowPlaying.startTime -
this.nowPlaying.offset +
this.nowPlaying.length) *
- 1000
+ 1000
);
}
} else if (!this.discordHideImage && L.thumbnailImageUrl) {
@@ -14607,7 +14607,7 @@ speechSynthesis.getVoices();
speechSynthesis.cancel();
if (
(await configRepository.getString('VRCX_notificationTTS')) ===
- 'Never' &&
+ 'Never' &&
this.notificationTTS !== 'Never'
) {
this.speak('Notification text-to-speech enabled');
@@ -17231,7 +17231,7 @@ speechSynthesis.getVoices();
var response = await webApiService.execute({
url: `${
this.avatarRemoteDatabaseProvider
- }?${type}=${encodeURIComponent(search)}&n=5000`,
+ }?${type}=${encodeURIComponent(search)}&n=5000`,
method: 'GET',
headers: {
Referer: 'https://vrcx.pypy.moe'
@@ -28946,6 +28946,41 @@ speechSynthesis.getVoices();
}
});
}
+
+ // reload translations - temporary solution
+
+ $app.userDialogWorldSortingOptions = {
+ updated: {
+ name: $t('dialog.user.worlds.sorting.updated'),
+ value: 'updated'
+ },
+ created: {
+ name: $t('dialog.user.worlds.sorting.created'),
+ value: 'created'
+ },
+ favorites: {
+ name: $t('dialog.user.worlds.sorting.favorites'),
+ value: 'favorites'
+ },
+ popularity: {
+ name: $t('dialog.user.worlds.sorting.popularity'),
+ value: 'popularity'
+ }
+ };
+
+ $app.userDialogWorldOrderOptions = {
+ descending: {
+ name: $t('dialog.user.worlds.order.descending'),
+ value: 'descending'
+ },
+ ascending: {
+ name: $t('dialog.user.worlds.order.ascending'),
+ value: 'ascending'
+ }
+ };
+
+ $app.userDialog.worldSorting = $app.userDialogWorldSortingOptions.updated;
+ $app.userDialog.worldOrder = $app.userDialogWorldOrderOptions.descending;
};
initLanguage();
diff --git a/html/src/localization/es/en.json b/html/src/localization/es/en.json
new file mode 100644
index 000000000..6bce0b8f2
--- /dev/null
+++ b/html/src/localization/es/en.json
@@ -0,0 +1,1623 @@
+{
+ "language": "Español (es)",
+ "translator": "TheOvineIsBlue, Kamiya, migue802",
+ "nav_tooltip": {
+ "feed": "Actividad",
+ "game_log": "Registro del juego",
+ "player_list": "Lista de jugadores",
+ "search": "Buscar",
+ "favorites": "Favoritos",
+ "friend_log": "Registro de amigos",
+ "moderation": "Moderación",
+ "notification": "Notificaciones",
+ "friend_list": "Lista de amigos",
+ "profile": "Perfil",
+ "settings": "Ajustes"
+ },
+ "view": {
+ "login": {
+ "savedAccounts": "Cuentas guardadas",
+ "login": "Inicio de sesión",
+ "register": "Registrarse",
+ "forgotPassword": "¿Ha olvidado su contraseña?",
+ "field": {
+ "username": "Usuario o Email",
+ "password": "Contraseña",
+ "saveCredentials": "Guardar credenciales",
+ "devEndpoint": "Dev Endpoint",
+ "endpoint": "Endpoint",
+ "websocket": "WebSocket"
+ }
+ },
+ "feed": {
+ "favorites_only_tooltip": "Filtrar solo favoritos",
+ "filter_placeholder": "Filtro",
+ "search_placeholder": "Buscar"
+ },
+ "game_log": {
+ "filter_placeholder": "Filtro",
+ "search_placeholder": "Buscar"
+ },
+ "player_list": {
+ "photon": {
+ "current": "Actual",
+ "previous": "Anterior",
+ "search_placeholder": "Buscar",
+ "filter_placeholder": "Filtro",
+ "chatbox_blacklist": "Lista negra del chatbox",
+ "status_tooltip": "Estado de VRCX Companion"
+ }
+ },
+ "search": {
+ "search_placeholder": "Buscar",
+ "clear_results_tooltip": "Limpiar resultados de búsqueda",
+ "user": {
+ "header": "Usuarios"
+ },
+ "world": {
+ "header": "Mundos",
+ "category": "Buscar por categoría",
+ "community_lab": "Incluye community labs"
+ },
+ "avatar": {
+ "header": "Avatares",
+ "search_provider": "Proveedor de búsqueda",
+ "refresh_tooltip": "Actualizar mis avatares",
+ "result_count": "Resultados {count}",
+ "all": "Todos",
+ "public": "Públicos",
+ "private": "Privados",
+ "local": "Local",
+ "remote": "Remoto",
+ "sort_name": "Ordenar por nombre",
+ "sort_update": "Ordenar por fecha de actualización",
+ "sort_created": "Ordenar por fecha de creación"
+ },
+ "group": {
+ "header": "Grupos"
+ },
+ "prev_page": "Anterior",
+ "next_page": "Siguiente"
+ },
+ "favorite": {
+ "friends": {
+ "header": "Amigos"
+ },
+ "worlds": {
+ "header": "Mundos",
+ "vrchat_favorites": "Favoritos de VRChat",
+ "local_favorites": "Favoritos locales",
+ "new_group": "Nuevo Grupo"
+ },
+ "avatars": {
+ "header": "Avatares"
+ },
+ "bulk_unfavorite_mode": "Eliminar amigos en masa",
+ "bulk_unfavorite_selection": "Quitar favoritos en masa",
+ "refresh_tooltip": "Actualizar todos los favoritos",
+ "export": "Exportar",
+ "import": "Importar",
+ "move_tooltip": "Mover",
+ "unfavorite_tooltip": "Eliminar favorito",
+ "visibility_tooltip": "Cambiar visibilidad",
+ "rename_tooltip": "Renombrar",
+ "clear_tooltip": "Limpiar",
+ "delete_tooltip": "Eliminar",
+ "unavailable_tooltip": "No disponible",
+ "private": "Privado",
+ "sort_by": "Ordenar por"
+ },
+ "friend_log": {
+ "filter_placeholder": "Filtro",
+ "search_placeholder": "Buscar"
+ },
+ "moderation": {
+ "filter_placeholder": "Filtro",
+ "search_placeholder": "Buscar",
+ "refresh_tooltip": "Refrescar"
+ },
+ "notification": {
+ "filter_placeholder": "Filtro",
+ "search_placeholder": "Buscar",
+ "refresh_tooltip": "Refrescar"
+ },
+ "friend_list": {
+ "header": "Lista de Amigos",
+ "bulk_unfriend": "Modo eliminar amigos en masa",
+ "bulk_unfriend_selection": "Eliminar amigos seleccionados",
+ "load": "Cargar entradas faltantes",
+ "load_tooltip": "Cargar",
+ "favorites_only_tooltip": "Filtrar solo favoritos",
+ "search_placeholder": "Buscar",
+ "filter_placeholder": "Filtro",
+ "refresh_tooltip": "Refrescar",
+ "clear_tooltip": "Limpiar resultados",
+ "cancel_tooltip": "Cancelar"
+ },
+ "profile": {
+ "profile": {
+ "header": "Perfil",
+ "last_activity": "Última Actividad",
+ "two_factor": "Autenticación de doble factor (2FA)",
+ "two_factor_enabled": "Habilitado",
+ "two_factor_disabled": "Deshabilitado",
+ "logout": "Cerrar sesión",
+ "manage_gallery_icon": "Administrar Fotos/Iconos/Emojis",
+ "export_friend_list": "Exportar lista de amigos",
+ "export_own_avatars": "Exportar Avatares propios",
+ "discord_names": "Nombres de Discord",
+ "export_notes": "Exportar notas"
+ },
+ "game_info": {
+ "header": "Información del Juego",
+ "online_users": "Usuarios en línea",
+ "user_online": "{count} usuarios en línea.",
+ "refresh": "Clic para actualizar"
+ },
+ "vrc_sdk_downloads": {
+ "header": "Descargas SDK de VRC"
+ },
+ "direct_access": {
+ "header": "Acceso Directo",
+ "username": "Nombre de usuario",
+ "user_id": "ID de usuario",
+ "world_instance": "Mundo/Instancia",
+ "avatar": "Avatar"
+ },
+ "invite_messages": "Mensajes de Invitación",
+ "invite_response_messages": "Mensajes de Respuesta a Invitaciones",
+ "invite_request_messages": "Mensajes de Solicitud de Invitación",
+ "invite_request_response_messages": "Mensaje de Respuesta a Solicitudes de Invitación",
+ "past_display_names": "Nombres Anteriores",
+ "config_json": "JSON de Configuración",
+ "current_user_json": "JSON del Usuario Actual",
+ "feedback": "Reportes",
+ "refresh_tooltip": "Refrescar",
+ "clear_results_tooltip": "Limpiar resultados"
+ },
+ "settings": {
+ "header": "Ajustes",
+ "category": {
+ "general": "General",
+ "appearance": "Apariencia",
+ "notifications": "Notificaciones",
+ "wrist_overlay": "Overlay de muñeca",
+ "discord_presence": "Rich Presence de Discord",
+ "advanced": "Avanzado"
+ },
+ "general": {
+ "general": {
+ "header": "General",
+ "version": "Versión",
+ "latest_app_version": "Última versión",
+ "latest_app_version_refresh": "Clic para actualizar",
+ "repository_url": "URL del repositorio",
+ "support": "Soporte técnico"
+ },
+ "vrcx_updater": {
+ "header": "Actualizador de VRCX",
+ "change_build": "Cambiar versión",
+ "auto_update": "Actualización automática",
+ "auto_update_off": "Desactivado",
+ "auto_update_notify": "Notificar",
+ "auto_update_download": "Descarga automática",
+ "auto_update_install": "Instalar automáticamente",
+ "change_log": "Registro de cambios"
+ },
+ "application": {
+ "header": "Aplicación",
+ "startup": "Iniciar al ejecutar Windows",
+ "minimized": "Iniciar minimizado",
+ "tray": "Cerrar en la bandeja"
+ },
+ "game_log": {
+ "header": "Registro del Juego",
+ "resource_load": "Registrar la carga de recursos de Udon"
+ },
+ "automation": {
+ "header": "Automatización",
+ "auto_state_change": "Cambio de estado automático",
+ "auto_state_change_tooltip": "Cambia automáticamente el estado cuando hay otras personas en la instancia (Solo/Compañía)",
+ "auto_state_change_off": "Desactivado",
+ "auto_state_change_active_or_ask_me": "Active / Ask Me",
+ "auto_state_change_active_or_busy": "Active / Busy",
+ "auto_state_change_join_me_or_ask_me": "Join Me / Ask Me",
+ "auto_state_change_join_me_or_busy": "Join Me / Busy",
+ "auto_state_change_ask_me_or_busy": "Ask Me / Busy"
+ },
+ "legal_notice": {
+ "header": "Aviso Legal",
+ "info": "VRCX es una aplicación asistente para VRChat que proporciona información sobre amistades y su gestión. Esta aplicación hace uso de la API SDK no oficial de VRChat.",
+ "disclaimer1": "VRCX no está respaldado por VRChat y no refleja los puntos de vista u opiniones de VRChat ni de nadie que participe oficialmente en la producción o gestión de las propiedades de VRChat. VRChat y todas las propiedades asociadas son marcas comerciales o marcas registradas de VRChat Inc. VRChat © VRChat Inc.",
+ "disclaimer2": "pypy & Natsumi no son responsables de ningún problema causado por VRCX. ¡Úsalo bajo tu propio riesgo!",
+ "open_source_software_notice": "Aviso sobre el software de código abierto"
+ },
+ "contributors": {
+ "header": "Colaboradores"
+ }
+ },
+ "appearance": {
+ "appearance": {
+ "header": "Apariencia",
+ "language": "Idioma",
+ "theme_mode": "Temas",
+ "theme_mode_system": "Sistema",
+ "theme_mode_light": "Claro",
+ "theme_mode_dark": "Oscuro",
+ "theme_mode_darkvanilla": "Dark Vanilla",
+ "theme_mode_pink": "Rosa",
+ "theme_mode_material3": "Material 3",
+ "vrcplus_profile_icons": "Iconos de perfil VRCPlus",
+ "disable_tooltips": "Deshabilitar las descripciones emergentes",
+ "sort_favorite_by": "Ordenar Favoritos por",
+ "sort_favorite_by_name": "nombre",
+ "sort_favorite_by_date": "fecha",
+ "sort_instance_users_by": "Ordenar usuarios de la Instancia por",
+ "sort_instance_users_by_time": "tiempo",
+ "sort_instance_users_by_alphabet": "alfabético",
+ "table_max_size": "Tamaño máximo de las tablas",
+ "page_size": "Tamaño de página:"
+ },
+ "timedate": {
+ "header": "Fecha/Hora",
+ "time_format": "Formato de hora",
+ "time_format_24": "24 Horas",
+ "time_format_12": "12 Horas",
+ "force_iso_date_format": "Forzar formato de fecha ISO"
+ },
+ "side_panel": {
+ "header": "Panel Lateral",
+ "sorting": {
+ "header": "Clasificación",
+ "sort_private_to_bottom": "Ordenar privados abajo",
+ "sort_by_status": "Ordenar por estado",
+ "sort_gps_to_top": "Ordenar GPS arriba",
+ "sort_gps_to_top_notice": "(sólo en línea)",
+ "sort_favorite_by": "Ordenar Favoritos por",
+ "sort_favorite_by_alphabet": "alfabético",
+ "sort_favorite_by_online_time": "en línea desde",
+ "sort_online_by": "Ordenar En línea por",
+ "sort_online_by_alphabet": "alfabético",
+ "sort_online_by_online_time": "en línea desde",
+ "sort_active_by": "Ordenar Activo por",
+ "sort_active_by_alphabet": "alfabético",
+ "sort_active_by_online_time": "en línea desde",
+ "sort_offline_by": "Ordenar Desconectado por",
+ "sort_offline_by_alphabet": "alfabético",
+ "sort_offline_by_offline_time": "desconectado desde"
+ },
+ "width": "Anchura"
+ },
+ "user_dialog": {
+ "header": "Diálogo del usuario",
+ "hide_vrchat_notes": "Ocultar notas de VRChat",
+ "hide_vrcx_memos": "Ocultar notas de VRCX",
+ "export_vrcx_memos_into_vrchat_notes": "Exportar las notas de VRCX a las notas de VRChat",
+ "export_notes": "Exportar notas"
+ },
+ "user_colors": {
+ "header": "Colores de los Usuarios",
+ "random_colors_from_user_id": "Colores Aleatorios a partir del ID de Usuario"
+ }
+ },
+ "notifications": {
+ "notifications": {
+ "header": "Notificaciones",
+ "notification_filter": "Filtro de Notificación",
+ "steamvr_notifications": {
+ "header": "Notificaciones de SteamVR",
+ "steamvr_overlay": "Overlay de SteamVR",
+ "overlay_notifications": "Overlay de Notificaciones",
+ "notification_position": "Posición de las notificaciones",
+ "xsoverlay_notifications": "Notificaciones XSOverlay",
+ "user_images": "Imágenes de usuarios (más lento)",
+ "notification_timeout": "Tiempo de espera de las notificaciones"
+ },
+ "desktop_notifications": {
+ "header": "Notificaciones de Escritorio",
+ "when_to_display": "Cuándo mostrar",
+ "when_to_display_never": "Nunca",
+ "when_to_display_desktop": "En modo escritorio",
+ "when_to_display_inside_vr": "Dentro de VR",
+ "when_to_display_outside_vr": "Fuera de VR",
+ "when_to_display_game_closed": "Juego cerrado",
+ "when_to_display_game_running": "Juego abierto",
+ "when_to_display_always": "Siempre",
+ "desktop_notification_while_afk": "Notificaciones de escritorio mientras se está AFK"
+ },
+ "text_to_speech": {
+ "header": "Opciones de Texto a Voz",
+ "when_to_play": "Notificaciones TTS. Cuándo se reproduce",
+ "when_to_play_never": "Nunca",
+ "when_to_play_inside_vr": "Dentro de VR",
+ "when_to_play_game_closed": "Juego cerrado",
+ "when_to_play_game_running": "Juego abierto",
+ "when_to_play_always": "Siempre",
+ "tts_voice": "Voz TTS"
+ }
+ }
+ },
+ "wrist_overlay": {
+ "steamvr_wrist_overlay": {
+ "header": "Overlay de muñeca SteamVR",
+ "description": "* Se ejecuta automáticamente cuando VRChat se está ejecutando.",
+ "grip": "Agarre: Grip para Vive u otros mandos, Oculus botones X/A",
+ "menu": "Menú: Menú Vive, Index B, Oculus botones Y/B",
+ "steamvr_overlay": "Overlay de SteamVR",
+ "wrist_feed_overlay": "Overlay de Actividad en la muñeca",
+ "hide_private_worlds": "Ocultar mundos privados",
+ "start_overlay_with": "Iniciar Overlay con",
+ "overlay_button": "Botón del Overlay",
+ "overlay_button_grip": "Agarre(Grip)",
+ "overlay_button_menu": "Menú",
+ "display_overlay_on": "Mostrar Overlay en",
+ "display_overlay_on_left": "Mano izquierda",
+ "display_overlay_on_right": "Mano derecha",
+ "display_overlay_on_both": "Ambas manos",
+ "background_color": "Color de fondo",
+ "minimal_feed_icons": "Iconos de Actividad minimalistas",
+ "hide_vr_devices": "Ocultar dispositivos VR",
+ "hide_cpu_usage": "Ocultar uso de CPU",
+ "hide_game_uptime": "Ocultar tiempo de juego",
+ "show_pc_uptime": "Mostrar tiempo de actividad del PC",
+ "wrist_feed_filters": "Filtros de Actividad en la muñeca"
+ }
+ },
+ "discord_presence": {
+ "discord_presence": {
+ "header": "Rich Presence de Discord",
+ "description": "* Sólo funciona cuando VRChat se está ejecutando.",
+ "enable": "Habilitar",
+ "enable_tooltip": "Es recomendable desactivar la Presencia en el config.json de VRChat para evitar conflictos",
+ "instance_type_player_count": "Tipo de instancia/jugadores en instancia",
+ "join_button": "Botón de unirse (sólo instancias públicas)",
+ "hide_details_in_private": "Ocultar detalles de mundos privados",
+ "hide_images": "Ocultar imágenes del mundo"
+ }
+ },
+ "advanced": {
+ "advanced": {
+ "header": "Avanzado",
+ "launch_options": "Opciones de inicio",
+ "screenshot_metadata": "Metadatos de las Capturas de Pantalla",
+ "vrc_registry_backup": "Copia de seguridad del registro de VRC",
+ "common_folders": "Carpetas Comunes",
+ "pending_offline": {
+ "header": "Pendiente de Desconexión",
+ "description": "Retraso antes de marcar al usuario como desconectado (corrige los falsos positivos)",
+ "set_delay": "Establecer retraso"
+ },
+ "primary_password": {
+ "header": "Contraseña Principal",
+ "description": "Cifrar contraseña (deshabilita el inicio de sesión automático)"
+ },
+ "relaunch_vrchat": {
+ "header": "Reiniciar VRChat después de un bloqueo",
+ "description": "Volver a la última instancia cuando VRChat bloquee"
+ },
+ "vrchat_quit_fix": {
+ "header": "Solución para salir de VRChat",
+ "description": "Forzar el cerrado de VRChat despues de salir del juego"
+ },
+ "auto_cache_management": {
+ "header": "Gestionar Caché Automáticamente al Cerrar VRChat",
+ "description": "Eliminar automáticamente versiones antiguas de la caché"
+ },
+ "remote_database": {
+ "header": "Base de Datos de Avatares Remotos",
+ "enable": "Habilitar",
+ "avatar_database_provider": "Proveedor de base de datos de avatares"
+ },
+ "youtube_api": {
+ "header": "API de Youtube",
+ "enable": "Habilitar",
+ "youtube_api_key": "Clave de la API de YouTube"
+ },
+ "video_progress_pie": {
+ "header": "Overlay de barra de progreso circular para videos",
+ "enable": "Habilitar",
+ "enable_tooltip": "Requiere que el overlay de SteamVR esté habilitado",
+ "dance_world_only": "Solo mundos soportados"
+ },
+ "screenshot_helper": {
+ "header": "Ayudante de Capturas de Pantalla",
+ "description": "Almacenará el ID del mundo, el nombre del mundo y los jugadores en la instancia dentro de los metadatos del archivo de cualquier imagen que tome en el juego.",
+ "description_tooltip": "Desafortunadamente, Windows no soporta ver fragmentos de texto PNG (pocas cosas lo hacen) de forma nativa, pero puede verlo usando una herramienta de línea de comandos como exiftool, un inspector de fragmentos png o un editor hexadecimal.",
+ "enable": "Habilitar",
+ "modify_filename": "Modificar nombre de archivo",
+ "modify_filename_tooltip": "Se añadirá el ID del mundo al nombre de archivo de captura de pantalla, además de los metadatos de archivo.",
+ "copy_to_clipboard": "Copiar al portapapeles"
+ },
+ "app_launcher": {
+ "header": "Iniciador de Aplicaciones",
+ "folder": "Carpeta de Autoinicio",
+ "folder_tooltip": "Para iniciar automaticamente apps con VRChat, coloque accesos directos en esta carpeta.",
+ "enable": "Habilitar",
+ "auto_close": "Cerrar aplicaciones automáticamente"
+ },
+ "cache_debug": {
+ "header": "Caché/Depuracion de Instancia de VRCX",
+ "udon_exception_logging": "Registrar excepciones de Udon",
+ "gpu_fix": "Solución de la GPU al overlay de SteamVR",
+ "gpu_fix_notice": "(requiere reiniciar)",
+ "gpu_fix_warning": "Activa esta opción sólo si el overlay de SteamVR no funciona y tienes 2 GPUs",
+ "disable_gamelog": "Deshabilitar el Registro del Juego",
+ "disable_gamelog_notice": "(probablemente romperá cosas)",
+ "user_cache": "Caché del usuario:",
+ "world_cache": "Caché del mundo:",
+ "avatar_cache": "Caché de avatar:",
+ "group_cache": "Caché de grupo:",
+ "avatar_name_cache": "Caché de nombre de avatar:",
+ "instance_cache": "Caché de instancia:",
+ "clear_cache": "Limpiar caché",
+ "auto_clear_cache": "Limpiar caché automáticamente",
+ "download_history": "Historial de Descargas",
+ "show_console": "Mostrar Consola"
+ },
+ "sqlite_table_size": {
+ "header": "Tamaño de la Tabla SQLite",
+ "refresh": "Refrescar",
+ "gps": "GPS:",
+ "status": "Estado:",
+ "bio": "Bío:",
+ "avatar": "Avatar:",
+ "online_offline": "En línea/Desconectado:",
+ "friend_log_history": "Historial del registro de amigos:",
+ "notification": "Notificaciones:",
+ "location": "Ubicación:",
+ "join_leave": "Uniones/Salidas:",
+ "portal_spawn": "Portales:",
+ "video_play": "Reproducciones de vídeo:",
+ "event": "Eventos:"
+ }
+ },
+ "photon": {
+ "header": "Overlay de registros de Photon",
+ "event_hud": {
+ "header": "HUD de eventos de Photon",
+ "enable": "Habilitar",
+ "enable_tooltip": "Requiere que el overlay de SteamVR esté habilitado",
+ "filter": "Filtro",
+ "filter_favorites": "Favoritos",
+ "filter_friends": "Amigos",
+ "filter_everyone": "Todo el mundo",
+ "message_timeout": "Duración de los mensajes"
+ },
+ "timeout_hud": {
+ "header": "Tiempo de espera del HUD de usuario",
+ "enable": "Habilitar",
+ "enable_tooltip": "Requiere que el overlay de SteamVR esté habilitado",
+ "filter": "Filtro",
+ "filter_favorites": "Favoritos",
+ "filter_friends": "Amigos",
+ "filter_everyone": "Todo el mundo",
+ "timeout_threshold": "Umbral de tiempo de espera"
+ }
+ }
+ }
+ }
+ },
+ "side_panel": {
+ "search_placeholder": "Buscar",
+ "search_result_active": "Desconectado",
+ "search_result_offline": "Activo",
+ "search_result_more": "Buscar más:",
+ "direct_access_tooltip": "Acceso directo ID/URL desde el portapapeles",
+ "refresh_tooltip": "Actualizar amigos",
+ "groups": "Grupos",
+ "friends": "Amigos",
+ "me": "YO",
+ "favorite": "FAVORITOS",
+ "online": "EN LÍNEA",
+ "active": "ACTIVO",
+ "offline": "DESCONECTADO",
+ "pending_offline": "Pendiente de desconexión"
+ },
+ "dialog": {
+ "user": {
+ "status": {
+ "active": "Activo",
+ "offline": "Desconectado",
+ "online": "En línea",
+ "join_me": "Únete a mí",
+ "ask_me": "Pregúntame",
+ "busy": "No molestar"
+ },
+ "previous_display_names": "Nombres de pantalla anteriores:",
+ "tags": {
+ "friend_no": "Amigo N.º{number}",
+ "vrchat_team": "VRChat Team"
+ },
+ "actions": {
+ "favorite_tooltip": "Añadir a favoritos",
+ "unfavorite_tooltip": "Quitar de favoritos",
+ "refresh": "Refrescar",
+ "invite": "Invitar",
+ "invite_with_message": "Invitar con un mensaje",
+ "request_invite": "Solicitar invitación",
+ "request_invite_with_message": "Solicitar invitación con un mensaje",
+ "invite_to_group": "Invitar al grupo",
+ "manage_gallery_icon": "Administrar Fotos/Iconos/Emojis",
+ "accept_friend_request": "Aceptar Solicitud de Amistad",
+ "decline_friend_request": "Rechazar Solicitud de Amistad",
+ "cancel_friend_request": "Cancelar solicitud de amistad",
+ "send_friend_request": "Enviar Solicitud de Amistad",
+ "show_avatar_author": "Mostrar Autor del Avatar",
+ "show_fallback_avatar": "Mostrar detalles del avatar de fallback",
+ "show_previous_instances": "Mostrar Instancias Anteriores",
+ "show_previous_images": "Mostrar Imágenes Anteriores",
+ "moderation_block": "Bloquear",
+ "moderation_unblock": "Desbloquear",
+ "moderation_mute": "Silenciar",
+ "moderation_unmute": "Desmutear",
+ "moderation_hide_avatar": "Ocultar Avatar",
+ "moderation_show_avatar": "Mostrar Avatar",
+ "moderation_enable_avatar_interaction": "Habilitar interacciones de avatar",
+ "moderation_disable_avatar_interaction": "Deshabilita las Interacciones con el Avatar",
+ "edit_status": "Estatus social",
+ "edit_language": "Idioma",
+ "edit_bio": "Biografía",
+ "report_hacking": "Reportar por Hacking",
+ "unfriend": "Eliminar amigo",
+ "logout": "Cerrar sesión"
+ },
+ "info": {
+ "header": "Información",
+ "launch_invite_tooltip": "Iniciar/Invitar",
+ "self_invite_tooltip": "Invitarte a ti mismo",
+ "refresh_instance_info": "Actualizar información de la instancia",
+ "instance_queue": "Cola:",
+ "instance_users": "Usuarios:",
+ "instance_game_version": "Versión del Juego:",
+ "instance_queuing_enabled": "Cola habilitada",
+ "instance_creator": "Creador de la instancia",
+ "note": "Nota",
+ "note_placeholder": "Haga clic para añadir una nota",
+ "memo": "Nota de VRCX",
+ "memo_placeholder": "Haga clic aquí para añadir una nota",
+ "avatar_info": "Información del avatar",
+ "avatar_info_last_seen": "Última información de avatar el",
+ "represented_group": "Grupo representado",
+ "bio": "Biografía",
+ "last_seen": "Visto por última vez",
+ "join_count": "Número de entradas",
+ "time_together": "Tiempo juntos",
+ "online_for": "En línea desde",
+ "offline_for": "Desconectado desde",
+ "last_activity": "Última Actividad",
+ "last_login": "Último inicio de sesión",
+ "date_joined": "Fecha de registro",
+ "friended": "Amigos desde",
+ "unfriended": "Amigo eliminado",
+ "avatar_cloning": "Clonación del avatar",
+ "avatar_cloning_allow": "Permitido",
+ "avatar_cloning_deny": "Denegar",
+ "home_location": "Ubicación de Casa",
+ "id": "ID de usuario",
+ "id_tooltip": "Copiar al portapapeles",
+ "copy_id": "Copiar ID",
+ "copy_url": "Copiar URL",
+ "copy_display_name": "Copiar nombre de pantalla",
+ "accuracy_notice": "La información de la base de datos local puede no ser precisa",
+ "instance_full": "lleno"
+ },
+ "groups": {
+ "header": "Grupos",
+ "total_count": "Total {count}",
+ "own_groups": "Grupos propios",
+ "mutual_groups": "Grupos mutuos",
+ "groups": "Grupos"
+ },
+ "worlds": {
+ "header": "Mundos",
+ "total_count": "Total {count}",
+ "sort_by": "Clasificar por:",
+ "order_by": "Ordenar por:",
+ "sorting": {
+ "updated": "Actualizado",
+ "created": "Creado",
+ "favorites": "Favoritos",
+ "popularity": "Popularidad"
+ },
+ "order": {
+ "descending": "Descendente",
+ "ascending": "Ascendente"
+ }
+ },
+ "favorite_worlds": {
+ "header": "Mundos Favoritos"
+ },
+ "avatars": {
+ "header": "Avatares",
+ "total_count": "Total {count}",
+ "sort_by_name": "Ordenar por nombre",
+ "sort_by_update": "Ordenar por actualización",
+ "all": "Todos",
+ "public": "Público",
+ "private": "Privado"
+ },
+ "json": {
+ "header": "JSON"
+ }
+ },
+ "world": {
+ "tags": {
+ "public": "Público",
+ "private": "Privado",
+ "avatar_scaling_disabled": "Escalado de Avatares Deshabilitado",
+ "future_proofing": "Future Proofing",
+ "labs": "Labs",
+ "cache": "Caché",
+ "content_horror": "Horror",
+ "content_gore": "Gore",
+ "content_violence": "Violencia",
+ "content_adult": "Adultos",
+ "content_sex": "Sexual"
+ },
+ "actions": {
+ "delete_cache_tooltip": "Eliminar mundo de la caché",
+ "favorites_tooltip": "Favoritos",
+ "refresh": "Refrescar",
+ "new_instance": "Nueva instancia",
+ "make_home": "Establecer como hogar",
+ "reset_home": "Restablecer hogar",
+ "show_previous_instances": "Mostrar instancias anteriores",
+ "show_previous_images": "Mostrar Imágenes anteriores",
+ "rename": "Renombrar",
+ "change_description": "Cambiar descripción",
+ "change_capacity": "Cambiar capacidad",
+ "change_recommended_capacity": "Cambiar la capacidad recomendada",
+ "change_preview": "Cambiar la vista previa de YouTube",
+ "change_tags": "Cambiar etiquetas",
+ "change_image": "Cambiar imagen",
+ "download_package": "Descargar paquete de Unity",
+ "publish_to_labs": "Publicar en Labs",
+ "unpublish": "Anular la publicación",
+ "delete": "Eliminar"
+ },
+ "instances": {
+ "header": "Instancias",
+ "public_count": "Publicas {count}",
+ "private_count": "Privadas {count}",
+ "capacity_count": "Capacidad {count} ({max})",
+ "self_invite_tooltip": "Invitarte a ti mismo",
+ "refresh_instance_info": "Actualizar información de la instancia",
+ "instance_full": "lleno",
+ "instance_creator": "Creador de Instancia"
+ },
+ "info": {
+ "header": "Información",
+ "memo": "Nota de VRCX",
+ "memo_placeholder": "Haga clic aquí para añadir una nota",
+ "id": "ID del mundo",
+ "id_tooltip": "Copiar al portapapeles",
+ "copy_id": "Copiar ID",
+ "copy_url": "Copiar URL",
+ "copy_name": "Copiar nombre",
+ "youtube_preview": "Vista previa de Youtube",
+ "author_tags": "Etiquetas del autor",
+ "players": "Jugadores",
+ "favorites": "Favoritos",
+ "visits": "Visitas",
+ "capacity": "Capacidad",
+ "heat": "Racha",
+ "popularity": "Popularidad",
+ "created_at": "Creado el",
+ "last_updated": "Última actualización",
+ "publication_date": "Fecha de publicación",
+ "labs_publication_date": "Fecha de publicación en Labs",
+ "time_in_labs": "Tiempo en Labs:",
+ "version": "Versión",
+ "platform": "Plataforma",
+ "last_visited": "Ultima visita",
+ "visit_count": "Número de visitas",
+ "time_spent": "Tiempo invertido",
+ "accuracy_notice": "La información de la base de datos local puede no ser precisa"
+ },
+ "json": {
+ "header": "JSON"
+ }
+ },
+ "avatar": {
+ "tags": {
+ "public": "Público",
+ "private": "Privado",
+ "fallback": "Fallback",
+ "impostor": "Impostor",
+ "future_proofing": "Future Proofing",
+ "cache": "Caché",
+ "content_horror": "Horror",
+ "content_gore": "Gore",
+ "content_violence": "Violencia",
+ "content_adult": "Para Adultos",
+ "content_sex": "Sexual"
+ },
+ "labels": {
+ "public": "(Público)",
+ "private": "(Privado)",
+ "own": "(Propio)"
+ },
+ "actions": {
+ "delete_cache_tooltip": "Eliminar avatar de la caché",
+ "favorite_tooltip": "Añadir a favoritos",
+ "unfavorite_tooltip": "Quitar de favoritos",
+ "refresh": "Refrescar",
+ "select": "Seleccionar avatar",
+ "select_fallback": "Seleccionar avatar como Fallback",
+ "block": "Bloquear avatar",
+ "unblock": "Desbloquear avatar",
+ "show_previous_images": "Mostrar imágenes anteriores",
+ "make_public": "Hacer público",
+ "make_private": "Hacer privado",
+ "rename": "Renombrar",
+ "change_description": "Cambiar descripción",
+ "change_content_tags": "Cambiar etiquetas de contenido",
+ "change_image": "Cambiar imagen",
+ "download_package": "Descargar paquete de Unity",
+ "delete": "Eliminar",
+ "delete_impostor": "Eliminar Impostor",
+ "create_impostor": "Crear impostor"
+ },
+ "info": {
+ "header": "Información",
+ "id": "ID del avatar",
+ "id_tooltip": "Copiar al portapapeles",
+ "copy_id": "Copiar ID",
+ "copy_url": "Copiar URL",
+ "created_at": "Creado el",
+ "last_updated": "Actualizado por última vez",
+ "version": "Versión",
+ "platform": "Plataforma",
+ "memo": "Nota de VRCX",
+ "memo_placeholder": "Haga clic aquí para añadir una nota"
+ },
+ "json": {
+ "header": "JSON",
+ "file_analysis": "Análisis del archivo"
+ }
+ },
+ "group": {
+ "tags": {
+ "verified": "Verificado",
+ "public": "Público",
+ "private": "Privado",
+ "open": "Abierto",
+ "request": "Por solicitud",
+ "invite": "Por invitación",
+ "closed": "Cerrado",
+ "joined": "Unido",
+ "banned": "Baneado",
+ "visible": "Visible",
+ "friends": "Amigos",
+ "hidden": "Oculto",
+ "subscribed": "Suscrito"
+ },
+ "actions": {
+ "represent_tooltip": "Representar grupo",
+ "unrepresent_tooltip": "Dejar de representar",
+ "cancel_join_request_tooltip": "Cancelar solicitud de unión",
+ "pending_request_tooltip": "Invitación pendiente",
+ "request_join_tooltip": "Solicitar para unirse",
+ "invite_required_tooltip": "Se requiere invitación",
+ "join_group_tooltip": "Unirse al grupo",
+ "refresh": "Refrescar",
+ "unsubscribe": "Darse de baja de los anuncios",
+ "subscribe": "Suscribirse a los anuncios",
+ "invite_to_group": "Invitar al grupo",
+ "visibility_everyone": "Visibilidad para todo el mundo",
+ "visibility_friends": "Visible para amigos",
+ "visibility_hidden": "Visibilidad oculta",
+ "moderation_tools": "Herramientas de moderación",
+ "leave": "Abandonar el grupo"
+ },
+ "info": {
+ "header": "Información",
+ "instances": "Instancias",
+ "announcement": "Anuncio",
+ "instance_full": "lleno",
+ "rules": "Reglas",
+ "members": "Miembros",
+ "created_at": "Creado el",
+ "links": "Enlaces",
+ "url": "URL del grupo",
+ "url_tooltip": "Copiar URL al portapapeles",
+ "id": "ID del Grupo",
+ "id_tooltip": "Copiar ID al portapapeles",
+ "joined_at": "Se unió el",
+ "roles": "Roles",
+ "role": "Rol:",
+ "role_description": "Descripción:",
+ "role_updated_at": "Actualicado el:",
+ "role_created_at": "Creado el:",
+ "role_permissions": "Permisos:"
+ },
+ "posts": {
+ "header": "Publicaciones",
+ "visibility": "Visibilidad:",
+ "edited_by": "Editado por:",
+ "search_placeholder": "Buscar",
+ "posts_count": "Publicaciones: "
+ },
+ "members": {
+ "header": "Miembros",
+ "all_members": "Todos los miembros",
+ "friends_only": "Solo amigos",
+ "load_more": "Cargar más...",
+ "sort_by": "Ordenar por:",
+ "sorting": {
+ "user_id": "ID de usuario (Ascendente)",
+ "joined_at_asc": "Fecha de registro (Ascendente)",
+ "joined_at_desc": "Fecha de registro (Descendente)"
+ },
+ "filter": "Filtro:",
+ "filters": {
+ "everyone": "Todo el mundo",
+ "users_with_no_role": "Usuarios sin rol"
+ },
+ "unsubscribed_announcements": "Darse de baja de los anuncios",
+ "visibility": "Visibilidad:",
+ "representing": "Representando",
+ "manager_notes": "Nota del administrador:",
+ "search": "Buscar"
+ },
+ "gallery": {
+ "header": "Fotos"
+ },
+ "json": {
+ "header": "JSON"
+ }
+ },
+ "favorite": {
+ "header": "Elegir Grupo",
+ "vrchat_favorites": "Favoritos de VRChat",
+ "local_favorites": "Favoritos locales"
+ },
+ "invite": {
+ "header": "Invitar",
+ "select_placeholder": "Elegir amigos",
+ "invite_with_message": "Invitar con un mensaje",
+ "invite": "Invitar",
+ "friends_in_instance": "Amigos en la instancia"
+ },
+ "social_status": {
+ "header": "Estatus social",
+ "history": "Historial",
+ "status_placeholder": "Estado",
+ "update": "Actualizar"
+ },
+ "language": {
+ "header": "Idioma",
+ "add_language": "Añadir Idioma",
+ "select_language": "Seleccionar idioma",
+ "ok": "Aceptar",
+ "cancel": "Cancelar"
+ },
+ "bio": {
+ "header": "Biografía",
+ "bio_placeholder": "Por favor, introduzca una biografía",
+ "add_link": "Agregar enlace",
+ "update": "Actualizar"
+ },
+ "new_instance": {
+ "header": "Nueva Instancia",
+ "access_type": "Tipo de acceso",
+ "access_type_public": "Público",
+ "access_type_group": "Grupo",
+ "access_type_friend_plus": "Friends+",
+ "access_type_friend": "Friends",
+ "access_type_invite_plus": "Invite+",
+ "access_type_invite": "Invite",
+ "group_access_type": "Acceso del grupo",
+ "group_access_type_members": "Miembros",
+ "group_access_type_plus": "Plus",
+ "group_access_type_public": "Público",
+ "region": "Región",
+ "region_usw": "Oeste de EE.UU.",
+ "region_use": "Este de EE.UU.",
+ "region_eu": "Europa",
+ "region_jp": "Japón",
+ "world_id": "ID del mundo",
+ "instance_id": "ID de la instancia",
+ "instance_id_placeholder": "Aleatorio",
+ "instance_creator": "Creador de la instancia",
+ "instance_creator_placeholder": "Seleccionar usuario",
+ "group_placeholder": "Seleccionar grupo",
+ "role_placeholder": "Seleccionar roles",
+ "group_id": "Grupo",
+ "location": "Ubicación",
+ "url": "URL",
+ "copy_url": "Copiar URL",
+ "self_invite": "Auto-invitar",
+ "invite": "Invitar",
+ "launch": "Iniciar",
+ "create_instance": "Crear Instancia",
+ "queueEnabled": "Cola",
+ "normal": "Normal",
+ "group": "Grupo",
+ "roles": "Roles"
+ },
+ "launch_options": {
+ "header": "Opciones de Lanzamiento de VRChat",
+ "description": "Estas opciones son sólo para usuarios avanzados.",
+ "example": "(para cambiar los FPS máximos: --fps=
por ejemplo)",
+ "path_override": "VRChat Path Override",
+ "vrchat_docs": "Documentación de VRChat",
+ "unity_manual": "Manual de Unity",
+ "save": "Guardar"
+ },
+ "config_json": {
+ "header": "JSON de Configuración de VRChat",
+ "description1": "Estas opciones son sólo para usuarios avanzados.",
+ "description2": "Deje el campo vacío para establecerlo como predeterminado, es necesario reiniciar el juego para aplicar los ajustes.",
+ "cache_size": "Tamaño del caché:",
+ "refresh": "Refrescar",
+ "delete_all_cache": "Eliminar toda la caché",
+ "delete_cache": "Eliminar caché",
+ "delete_old_cache": "Eliminar versiones antiguas de la caché",
+ "sweep_cache": "Caché de barrido",
+ "max_cache_size": "Tamaño del cache máx. [GB] (min 20)",
+ "cache_expiry_delay": "Expiración del Cache [dias] (min 30)",
+ "cache_directory": "Ubicación de la carpeta de caché",
+ "picture_directory": "Ubicación de la carpeta de imagenes",
+ "fpv_steadycam_fov": "FOV de la Camara de Primera Persona",
+ "camera_resolution": "Resolución de la cámara",
+ "screenshot_resolution": "Resolución de las capturas de pantalla",
+ "picture_sort_by_date": "Ordenar imágenes en carpetas por fecha",
+ "disable_discord_presence": "Deshabilitar Discord Rich Presence",
+ "vrchat_docs": "Documentación de VRChat",
+ "cancel": "Cancelar",
+ "save": "Guardar"
+ },
+ "youtube_api": {
+ "header": "API de YouTube",
+ "description": "Introduzca su clave de API de YouTube (opcional)",
+ "placeholder": "Clave del API de YouTube",
+ "guide": "Guia",
+ "save": "Guardar"
+ },
+ "set_world_tags": {
+ "header": "Establecer Etiquetas del Mundo",
+ "avatar_scaling_disabled": "Deshabilitar Escalado de Avatar",
+ "enable_debugging": "Habilitar depuración del mundo para otros",
+ "author_tags": "Etiquetas de autor (separadas por comas)",
+ "content_tags": "Etiquetas de Advertencia de Contenido",
+ "content_horror": "Horror",
+ "content_gore": "Gore",
+ "content_violence": "Violencia",
+ "content_adult": "Adultos",
+ "content_sex": "Sexual",
+ "cancel": "Cancelar",
+ "save": "Guardar"
+ },
+ "set_avatar_tags": {
+ "header": "Establecer Etiquetas del Avatar",
+ "content_tags": "Etiquetas de Advertencia de Contenido",
+ "content_horror": "Horror",
+ "content_gore": "Gore",
+ "content_violence": "Violencia",
+ "content_adult": "Adultos",
+ "content_sex": "Sexual",
+ "select_all": "Seleccionar Todo",
+ "select_none": "Seleccionar Ninguno",
+ "cancel": "Cancelar",
+ "save": "Guardar"
+ },
+ "download_history": {
+ "header": "Historial de Descargas",
+ "queue": "Cola:",
+ "history": "Historial:",
+ "cancel_all": "Cancelar todo",
+ "close": "Cerrar"
+ },
+ "vrcx_updater": {
+ "header": "Actualizador de VRCX",
+ "latest_version": "VRCX está actualizado.",
+ "ready_for_update": "Listo para instalar, reinicie VRCX para aplicar.",
+ "download": "Descargar",
+ "install": "Instalar"
+ },
+ "launch": {
+ "header": "Iniciar",
+ "url": "URL",
+ "short_url": "URL corta",
+ "short_url_notice": "La URL corta expirará después de un periodo de tiempo determinado",
+ "location": "Ubicación",
+ "copy_tooltip": "Copiar al portapapeles",
+ "start_as_desktop": "Iniciar como escritorio (Sin VR)",
+ "info": "Información",
+ "invite": "Invitar",
+ "launch": "Iniciar"
+ },
+ "export_friends_list": {
+ "header": "Exportar Lista de Amigos",
+ "csv": "CSV",
+ "json": "JSON"
+ },
+ "export_own_avatars": {
+ "header": "Exportar mis avatares"
+ },
+ "discord_names": {
+ "header": "Nombres de Discord",
+ "description": "Haga clic en \"Cargar entradas faltantes\" en la pestaña \"Lista de Amigos\" para buscar en toda la lista de amigos"
+ },
+ "notification_position": {
+ "header": "Posición de las Notificaciones",
+ "description": "Elija una posición para las notificaciones.",
+ "ok": "Aceptar"
+ },
+ "shared_feed_filters": {
+ "notification": "Filtros de notificación",
+ "wrist": "Filtros de Actividad en la muñeca",
+ "on": "Activado",
+ "off": "Desactivado",
+ "favorite": "Favoritos",
+ "friends": "Amigos",
+ "everyone": "Todo el mundo",
+ "cancel": "Cancelar",
+ "save": "Guardar"
+ },
+ "world_export": {
+ "header": "Exportar Mundos Favoritos"
+ },
+ "world_import": {
+ "header": "Importar Mundos Favoritos",
+ "description": "Introduzca una lista de IDs de mundos",
+ "process_list": "Lista de procesos",
+ "process_progress": "Progreso:",
+ "select_vrchat_group_placeholder": "Seleccionar grupo",
+ "select_local_group_placeholder": "Seleccionar grupo",
+ "import": "Importar mundos",
+ "cancel": "Cancelar",
+ "import_progress": "Progreso de importación:",
+ "clear_table": "Limpiar tabla",
+ "errors": "Errores:",
+ "clear_errors": "Limpiar errores"
+ },
+ "avatar_export": {
+ "header": "Exportar Avatares Favoritos"
+ },
+ "avatar_import": {
+ "header": "Importar Avatares Favoritos",
+ "description": "Introduzca una lista de IDs de avatares",
+ "process_list": "Lista de procesos",
+ "process_progress": "Progreso:",
+ "select_group_placeholder": "Seleccionar grupo",
+ "import": "Importar avatares",
+ "cancel": "Cancelar",
+ "import_progress": "Progreso de importación:",
+ "clear_table": "Limpiar tabla",
+ "errors": "Errores:",
+ "clear_errors": "Limpiar errores"
+ },
+ "friend_export": {
+ "header": "Exportar Amigos Favoritos"
+ },
+ "friend_import": {
+ "header": "Importar Amigos Favoritos",
+ "description": "Introduzca una lista de IDs de usuarios",
+ "process_list": "Lista de procesos",
+ "process_progress": "Progreso:",
+ "select_group_placeholder": "Seleccionar grupo",
+ "import": "Importar amigos",
+ "cancel": "Cancelar",
+ "import_progress": "Progreso de importación:",
+ "clear_table": "Limpiar tabla",
+ "errors": "Errores:",
+ "clear_errors": "Limpiar errores"
+ },
+ "avatar_database_provider": {
+ "header": "Proveedor de base de datos de avatares",
+ "add_provider": "Añadir proveedor"
+ },
+ "chatbox_blacklist": {
+ "header": "Lista negra del chatbox",
+ "keyword_blacklist": "Lista negra de palabras clave",
+ "user_blacklist": "Lista negra de usuarios",
+ "add_item": "Añadir artículo"
+ },
+ "invite_to_group": {
+ "header": "Invitar al Grupo",
+ "description": "No hagas spam invitando a usuarios, te limitarán la velocidad.",
+ "choose_group_placeholder": "Elegir grupo",
+ "groups": "Grupos",
+ "choose_friends_placeholder": "Elegir amigos",
+ "selected_users": "Usuarios seleccionados"
+ },
+ "note_export": {
+ "header": "Exportar Notas",
+ "description1": "Este proceso exportará todas tus notas de VRCX y las importará a las notas de VRChat.",
+ "description2": "Tenga en cuenta las siguientes limitaciones:",
+ "description3": "- El endpoint de la API tiene un límite de velocidad que requiere una gran espera entre solicitudes.",
+ "description4": "- El límite de caracteres es de 256 por nota.",
+ "description5": "- Filtro de palabras malsonantes (no se permite la diversión).",
+ "description6": "- Sin saltos de línea (se sustituirán por un espacio).",
+ "description7": "- Esto sobrescribirá cualquier nota de VRChat existente para estos usuarios.",
+ "description8": "- Cualquier edición hecha aquí no afectará a las notas de VRCX pero afectará a las notas de VRChat una vez exportadas.",
+ "refresh": "Refrescar",
+ "export": "Exportar",
+ "cancel": "Cancelar",
+ "progress": "Progreso:",
+ "errors": "Errores:",
+ "clear_errors": "Limpiar errores"
+ },
+ "edit_invite_message": {
+ "header": "Editar Mensaje de Invitación",
+ "description": "1 hora de enfriamiento.",
+ "cancel": "Cancelar",
+ "save": "Guardar"
+ },
+ "invite_message": {
+ "header": "Enviar Mensaje de Invitación",
+ "confirmation": "¿Estás seguro de que lo quieres enviar?",
+ "cancel": "Cancelar",
+ "refresh": "Refrescar",
+ "confirm": "Confirmar"
+ },
+ "invite_request_message": {
+ "header": "Enviar Mensaje de Solicitud de Invitación",
+ "cancel": "Cancelar",
+ "refresh": "Refrescar"
+ },
+ "invite_response_message": {
+ "header": "Enviar Mensaje de Respuesta a Invitación",
+ "confirmation": "¿Estás seguro de que lo quieres enviar?",
+ "cancel": "Cancelar",
+ "refresh": "Refrescar",
+ "confirm": "Confirmar"
+ },
+ "invite_request_response_message": {
+ "header": "Enviar Mensaje de Respuesta a la Solicitud de Invitación",
+ "cancel": "Cancelar",
+ "refresh": "Refrescar"
+ },
+ "edit_send_invite_message": {
+ "header": "Editar y Enviar Mensaje de Invitación",
+ "description": "1 hora de enfriamiento.",
+ "cancel": "Cancelar",
+ "send": "Enviar"
+ },
+ "edit_send_invite_response_message": {
+ "header": "Editar y enviar mensaje de respuesta",
+ "description": "1 hora de enfriamiento.",
+ "cancel": "Cancelar",
+ "send": "Enviar"
+ },
+ "gallery_icons": {
+ "header": "Fotos, iconos y emojis",
+ "description": "Tamaño recomendado de la imagen: 1200x900px (4:3)",
+ "gallery": "Fotos",
+ "icons": "Iconos",
+ "emojis": "Emojis",
+ "refresh": "Refrescar",
+ "upload": "Subir",
+ "clear": "Limpiar",
+ "emoji_animation_styles": "Estilos de animación"
+ },
+ "change_content_image": {
+ "avatar": "Cambiar imagen del avatar",
+ "world": "Cambiar imagen del mundo",
+ "description": "Tamaño recomendado de la imagen: 1200x900px (4:3)",
+ "refresh": "Refrescar",
+ "upload": "Subir imagen"
+ },
+ "previous_images": {
+ "header": "Imágenes Anteriores"
+ },
+ "previous_instances": {
+ "header": "Instancias Anteriores",
+ "info": "Información de la instancia anterior",
+ "search_placeholder": "Buscar"
+ },
+ "change_log": {
+ "header": "Registro de Cambios",
+ "description": "Considere la posibilidad de hacer una donación para apoyar el futuro desarrollo de VRCX",
+ "close": "Cerrar",
+ "donate": "Donar",
+ "github": "GitHub"
+ },
+ "gallery_select": {
+ "header": "Seleccionar Imagen",
+ "gallery": "Fotos",
+ "none": "Nada",
+ "refresh": "Refrescar",
+ "upload": "Subir"
+ },
+ "open_source": {
+ "header": "Aviso sobre el software de código abierto",
+ "description": "VRCX se basa en software de código abierto. Ha sido posible gracias a su contribución."
+ },
+ "primary_password": {
+ "header": "Contraseña Principal Requerida",
+ "password_placeholder": "Introduzca una nueva contraseña",
+ "re_input_placeholder": "Repita la contraseña",
+ "ok": "Aceptar"
+ },
+ "screenshot_metadata": {
+ "header": "Metadatos de las Capturas de Pantalla",
+ "drag": "Arrastra y suelta una captura de pantalla aquí",
+ "browse": "Seleccionar",
+ "last_screenshot": "Última captura de pantalla",
+ "copy_image": "Copiar imagen",
+ "open_folder": "Abrir carpeta",
+ "upload": "Subir"
+ },
+ "registry_backup": {
+ "header": "Copia de Seguridad de la Configuración del Registro VRC",
+ "backup": "Copia de seguridad",
+ "restore": "Restaurar",
+ "save_to_file": "Guardar como archivo",
+ "delete": "Eliminar",
+ "restore_from_file": "Restaurar desde archivo",
+ "reset": "Restablecer",
+ "name": "Nombre",
+ "date": "Fecha",
+ "action": "Acción",
+ "auto_backup": "Copia de seguridad automática semanal",
+ "restore_prompt": "VRCX ha notado que se ha habilitado la copia automática de seguridad del registro VRC pero este equipo no tiene ninguno, si quieres restaurar desde la copia de seguridad, puedes hacerlo desde aquí."
+ },
+ "group_member_moderation": {
+ "header": "Moderación de Miembros del Grupo",
+ "notes": "Nota del administrador",
+ "note_placeholder": "Haga clic para añadir una nota",
+ "actions": "Acciones",
+ "kick": "Expulsar",
+ "ban": "Bloquear",
+ "save_note": "Guardar nota",
+ "group_members": "Miembros del grupo",
+ "progress": "Progreso:",
+ "display_name": "Nombre a mostrar",
+ "visibility": "Visibilidad",
+ "avatar": "Avatar",
+ "joined_at": "Se unió el",
+ "note": "Nota",
+ "roles": "Roles",
+ "selected_users": "Usuarios seleccionados",
+ "select_all": "Seleccionar todos",
+ "cancel": "Cancelar",
+ "choose_roles_placeholder": "Seleccionar roles",
+ "selected_roles": "Roles seleccionados",
+ "remove_roles": "Quitar roles",
+ "add_roles": "Añadir roles"
+ }
+ },
+ "prompt": {
+ "totp": {
+ "header": "Autenticación de dos factores",
+ "description": "Introduzca un código numérico desde su aplicación de autenticación",
+ "use_otp": "Usar OTP",
+ "verify": "Verificar",
+ "input_placeholder": "Código",
+ "input_error": "Código inválido"
+ },
+ "otp": {
+ "header": "Autenticación de dos factores",
+ "description": "Introduce uno de tus códigos de recuperación guardados",
+ "use_totp": "Usar TOTP",
+ "verify": "Verificar",
+ "input_placeholder": "Código",
+ "input_error": "Código inválido"
+ },
+ "email_otp": {
+ "header": "Autenticación de dos factores",
+ "description": "Introduzca un código numérico que fue enviado a su correo electrónico",
+ "resend": "Reenviar email",
+ "verify": "Verificar",
+ "input_placeholder": "Código",
+ "input_error": "Código inválido"
+ },
+ "primary_password": {
+ "header": "Contraseña Principal Requerida",
+ "description": "Introduzca su contraseña principal."
+ },
+ "change_favorite_group_name": {
+ "header": "Cambiar Nombre del Grupo",
+ "description": "Introduce un nombre nuevo",
+ "cancel": "Cancelar",
+ "change": "Cambiar",
+ "input_placeholder": "Nombre",
+ "input_error": "El nombre es requerido",
+ "message": {
+ "success": "Grupo renombrado"
+ }
+ },
+ "direct_access_user_id": {
+ "header": "Acceso Directo",
+ "description": "Introduzca una URL o ID (UUID) de un usuario",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere una URL o ID de un usuario",
+ "message": {
+ "error": "URL o ID invalido"
+ }
+ },
+ "direct_access_username": {
+ "header": "Acceso Directo",
+ "description": "Introduzca un nombre de usuario",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un nombre de usuario"
+ },
+ "direct_access_world_id": {
+ "header": "Acceso Directo",
+ "description": "Introduzca una URL o ID (UUID) de un mundo",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere una URL o ID de un mundo",
+ "message": {
+ "error": "URL o ID invalido"
+ }
+ },
+ "direct_access_avatar_id": {
+ "header": "Acceso Directo",
+ "description": "Introduzca una URL o ID (UUID) de un avatar",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere URL o ID del avatar",
+ "message": {
+ "error": "URL o ID invalido"
+ }
+ },
+ "direct_access_omni": {
+ "header": "Acceso Directo",
+ "description": "Introduzca una URL o ID (UUID) de un Usuario/Mundo/Instancia/Avatar/Grupo",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere una URL o ID",
+ "message": {
+ "error": "URL o ID invalido"
+ }
+ },
+ "notification_timeout": {
+ "header": "Tiempo de espera de las notificaciones",
+ "description": "Introduzca una cantidad de segundos",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un número válido"
+ },
+ "overlay_message_timeout": {
+ "header": "Tiempo de espera del overlay del mensaje",
+ "description": "Introduzca la cantidad de segundos",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un número válido"
+ },
+ "rename_avatar": {
+ "header": "Renombrar Avatar",
+ "description": "Introduce el nombre del avatar",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un nombre válido",
+ "message": {
+ "success": "Avatar renombrado"
+ }
+ },
+ "change_avatar_description": {
+ "header": "Cambiar Descripción",
+ "description": "Introduzca la descripción del avatar",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere una descripción valida",
+ "message": {
+ "success": "Descripción del avatar cambiada"
+ }
+ },
+ "rename_world": {
+ "header": "Renombrar Mundo",
+ "description": "Introducir el nombre del mundo",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un nombre válido",
+ "message": {
+ "success": "Mundo renombrado"
+ }
+ },
+ "change_world_description": {
+ "header": "Cambiar Descripción",
+ "description": "Introduzca la descripción del mundo",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere una descripción valida",
+ "message": {
+ "success": "Descripción del mundo modificada"
+ }
+ },
+ "change_world_capacity": {
+ "header": "Cambiar Capacidad",
+ "description": "Introduzca capacidad máxima del mundo (hard cap), Máx: 80",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un número válido",
+ "message": {
+ "success": "Capacidad del mundo modificada"
+ }
+ },
+ "change_world_recommended_capacity": {
+ "header": "Cambiar la Capacidad Recomendada",
+ "description": "Introduzca la capacidad recomendada del mundo (soft cap)",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un número válido",
+ "message": {
+ "success": "Capacidad recomendada del mundo modificada"
+ }
+ },
+ "change_world_preview": {
+ "header": "Cambiar la vista previa de YouTube",
+ "description": "Introduzca la vista previa de YouTube",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere una URL de YouTube válido",
+ "message": {
+ "error": "URL de YouTube no válido",
+ "success": "Vista previa de YouTube del mundo modificada"
+ }
+ },
+ "change_table_size": {
+ "header": "Tamaño Máximo de la Tabla",
+ "description": "Limitar la cantidad de entradas cargadas desde la base de datos a las páginas de la interfaz de usuario, tamaños más grandes afectarán al uso y rendimiento de la RAM (por defecto: 1000, máx: 10000)",
+ "cancel": "Cancelar",
+ "save": "Guardar",
+ "input_error": "Se requiere un número válido"
+ },
+ "photon_lobby_timeout": {
+ "header": "Umbral de tiempo de espera del usuario",
+ "description": "Introduzca una cantidad de segundos (por defecto: 3)",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un número válido"
+ },
+ "auto_clear_cache": {
+ "header": "Limpiar Temporizador de Caché de VRCX",
+ "description": "Introduzca la cantidad de horas, valores mayores pueden afectar al uso y rendimiento de la RAM (por defecto: 24, desactivado: 0)",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "Se requiere un número válido"
+ },
+ "new_local_favorite_group": {
+ "header": "Nuevo Grupo",
+ "description": "Introduzca un nombre de grupo favorito para el mundo",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "input_error": "El nombre es requerido",
+ "message": {
+ "error": "Ya existe un grupo con el nombre {name}"
+ }
+ },
+ "local_favorite_group_rename": {
+ "header": "Renombrar Grupo",
+ "description": "Introduzca un nombre de grupo favorito para el mundo",
+ "cancel": "Cancelar",
+ "save": "Guardar",
+ "input_error": "El nombre es requerido",
+ "message": {
+ "error": "Ya existe un grupo con el nombre {name}"
+ }
+ },
+ "pending_offline_delay": {
+ "header": "Pendiente de Desconexión",
+ "description": "Establecer el retraso de \"Pendiente de desconexión\" en segundos (por defecto: 110)",
+ "cancel": "Cancelar",
+ "save": "Guardar",
+ "input_error": "Se requiere un número válido"
+ }
+ },
+ "table": {
+ "feed": {
+ "date": "Fecha",
+ "type": "Tipo",
+ "user": "Usuario",
+ "detail": "Detalle"
+ },
+ "gameLog": {
+ "date": "Fecha",
+ "type": "Tipo",
+ "icon": "Iconos",
+ "user": "Usuario",
+ "detail": "Detalle",
+ "action": "Acción"
+ },
+ "playerList": {
+ "avatar": "Avatar",
+ "timer": "Temporizador",
+ "photonId": "ID de Photon",
+ "icon": "Iconos",
+ "platform": "Plataforma",
+ "displayName": "Mostrar nombre",
+ "status": "Estado",
+ "rank": "Rango",
+ "language": "Idioma",
+ "bioLink": "Enlaces",
+ "date": "Fecha",
+ "user": "Usuario",
+ "type": "Tipo",
+ "detail": "Detalle"
+ },
+ "friendLog": {
+ "date": "Fecha",
+ "type": "Tipo",
+ "user": "Usuario",
+ "action": "Acción"
+ },
+ "moderation": {
+ "date": "Fecha",
+ "type": "Tipo",
+ "source": "Fuente",
+ "target": "Objetivo",
+ "action": "Acción"
+ },
+ "notification": {
+ "date": "Fecha",
+ "type": "Tipo",
+ "user": "Usuario",
+ "photo": "Foto",
+ "message": "Mensaje",
+ "action": "Acción"
+ },
+ "friendList": {
+ "no": "N.º",
+ "avatar": "Avatar",
+ "displayName": "Mostrar nombre",
+ "rank": "Rango",
+ "status": "Estado",
+ "language": "Idioma",
+ "bioLink": "Enlaces",
+ "joinCount": "Número de entradas",
+ "timeTogether": "Tiempo Juntos",
+ "lastSeen": "Última Vez Visto",
+ "lastActivity": "Última Actividad",
+ "lastLogin": "Último Inicio De Sesión",
+ "dateJoined": "Fecha De Registro",
+ "unfriend": "Eliminar amigo"
+ },
+ "profile": {
+ "invite_messages": {
+ "slot": "Ranura",
+ "message": "Mensaje",
+ "cool_down": "Enfriamiento",
+ "action": "Acción"
+ },
+ "previous_display_name": {
+ "date": "Fecha",
+ "name": "Nombre"
+ }
+ },
+ "social_status": {
+ "no": "N.º",
+ "status": "Estado"
+ },
+ "download_history": {
+ "time": "Tiempo",
+ "name": "Nombre",
+ "type": "Tipo",
+ "status": "Estado",
+ "cancel": "Cancelar"
+ },
+ "import": {
+ "image": "Imagen",
+ "name": "Nombre",
+ "author": "Autor",
+ "status": "Estado",
+ "note": "Nota",
+ "skip_export": "Omitir exportación",
+ "action": "Acción"
+ },
+ "previous_instances": {
+ "date": "Fecha",
+ "display_name": "Mostrar nombre",
+ "world": "Mundo",
+ "instance_name": "Nombre de la instancia",
+ "instance_creator": "Creador de la instancia",
+ "time": "Tiempo",
+ "count": "Contador",
+ "action": "Acción"
+ }
+ },
+ "vr": {
+ "status": {
+ "timer": "Temporizador:",
+ "players": "Jugadores:",
+ "cpu": "CPU:",
+ "online": "En línea:"
+ }
+ }
+}
\ No newline at end of file
diff --git a/html/src/localization/localizedStrings.js b/html/src/localization/localizedStrings.js
index e0e4e093b..669159c0c 100644
--- a/html/src/localization/localizedStrings.js
+++ b/html/src/localization/localizedStrings.js
@@ -22,6 +22,9 @@ import elements_vi from 'element-ui/lib/locale/lang/vi';
import ru_RU from './ru/en.json' assert { type: 'JSON' };
import elements_ru from 'element-ui/lib/locale/lang/ru-RU';
+import es from './es/en.json' assert { type: 'JSON' };
+import elements_es from 'element-ui/lib/locale/lang/es';
+
const localized_en = { ...en, ...elements_en };
const localized_zh_TW = { ...zh_TW, ...elements_zh_TW };
const localized_zh_CN = { ...zh_CN, ...elements_zh_CN };
@@ -30,6 +33,7 @@ const localized_ja = { ...ja, ...elements_ja };
const localized_fr = { ...fr, ...elements_fr };
const localized_vi = { ...vi, ...elements_vi };
const localized_ru = { ...ru_RU, ...elements_ru };
+const localized_es = { ...es, ...elements_es };
export {
localized_en as en,
@@ -39,5 +43,7 @@ export {
localized_ja as ja_JP,
localized_fr as fr,
localized_vi as vi,
- localized_ru as ru_RU
+ localized_ru as ru_RU,
+ localized_es as es
+
};
diff --git a/html/src/mixins/tabs/profile.pug b/html/src/mixins/tabs/profile.pug
index d57fedbc7..8cd95f9a5 100644
--- a/html/src/mixins/tabs/profile.pug
+++ b/html/src/mixins/tabs/profile.pug
@@ -60,12 +60,12 @@ mixin profileTab()
el-tooltip(placement="top" :content="$t('view.profile.clear_results_tooltip')" :disabled="hideTooltips")
el-button(type="default" @click="inviteMessageTable.visible = false" size="mini" icon="el-icon-delete" circle style="margin-left:5px")
data-tables(v-if="inviteMessageTable.visible" v-bind="inviteMessageTable" style="margin-top:10px")
- el-table-column(label="Slot" prop="slot" sortable="custom" width="70")
- el-table-column(label="Message" prop="message")
- el-table-column(label="Cool Down" prop="updatedAt" sortable="custom" width="110" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.slot')" prop="slot" sortable="custom" width="70")
+ el-table-column(:label="$t('table.profile.invite_messages.message')" prop="message")
+ el-table-column(:label="$t('table.profile.invite_messages.cool_down')" prop="updatedAt" sortable="custom" width="110" align="right")
template(v-once #default="scope")
countdown-timer(:datetime="scope.row.updatedAt" :hours="1")
- el-table-column(label="Action" width="60" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.action')" width="60" align="right")
template(v-once #default="scope")
el-button(type="text" icon="el-icon-edit" size="mini" @click="showEditInviteMessageDialog('message', scope.row)")
div.options-container
@@ -75,12 +75,12 @@ mixin profileTab()
el-tooltip(placement="top" :content="$t('view.profile.clear_results_tooltip')" :disabled="hideTooltips")
el-button(type="default" @click="inviteResponseMessageTable.visible = false" size="mini" icon="el-icon-delete" circle style="margin-left:5px")
data-tables(v-if="inviteResponseMessageTable.visible" v-bind="inviteResponseMessageTable" style="margin-top:10px")
- el-table-column(label="Slot" prop="slot" sortable="custom" width="70")
- el-table-column(label="Message" prop="message")
- el-table-column(label="Cool Down" prop="updatedAt" sortable="custom" width="110" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.slot')" prop="slot" sortable="custom" width="70")
+ el-table-column(:label="$t('table.profile.invite_messages.message')" prop="message")
+ el-table-column(:label="$t('table.profile.invite_messages.cool_down')" prop="updatedAt" sortable="custom" width="110" align="right")
template(v-once #default="scope")
countdown-timer(:datetime="scope.row.updatedAt" :hours="1")
- el-table-column(label="Action" width="60" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.action')" width="60" align="right")
template(v-once #default="scope")
el-button(type="text" icon="el-icon-edit" size="mini" @click="showEditInviteMessageDialog('response', scope.row)")
div.options-container
@@ -90,12 +90,12 @@ mixin profileTab()
el-tooltip(placement="top" :content="$t('view.profile.clear_results_tooltip')" :disabled="hideTooltips")
el-button(type="default" @click="inviteRequestMessageTable.visible = false" size="mini" icon="el-icon-delete" circle style="margin-left:5px")
data-tables(v-if="inviteRequestMessageTable.visible" v-bind="inviteRequestMessageTable" style="margin-top:10px")
- el-table-column(label="Slot" prop="slot" sortable="custom" width="70")
- el-table-column(label="Message" prop="message")
- el-table-column(label="Cool Down" prop="updatedAt" sortable="custom" width="110" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.slot')" prop="slot" sortable="custom" width="70")
+ el-table-column(:label="$t('table.profile.invite_messages.message')" prop="message")
+ el-table-column(:label="$t('table.profile.invite_messages.cool_down')" prop="updatedAt" sortable="custom" width="110" align="right")
template(v-once #default="scope")
countdown-timer(:datetime="scope.row.updatedAt" :hours="1")
- el-table-column(label="Action" width="60" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.action')" width="60" align="right")
template(v-once #default="scope")
el-button(type="text" icon="el-icon-edit" size="mini" @click="showEditInviteMessageDialog('request', scope.row)")
div.options-container
@@ -105,21 +105,21 @@ mixin profileTab()
el-tooltip(placement="top" :content="$t('view.profile.clear_results_tooltip')" :disabled="hideTooltips")
el-button(type="default" @click="inviteRequestResponseMessageTable.visible = false" size="mini" icon="el-icon-delete" circle style="margin-left:5px")
data-tables(v-if="inviteRequestResponseMessageTable.visible" v-bind="inviteRequestResponseMessageTable" style="margin-top:10px")
- el-table-column(label="Slot" prop="slot" sortable="custom" width="70")
- el-table-column(label="Message" prop="message")
- el-table-column(label="Cool Down" prop="updatedAt" sortable="custom" width="110" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.slot')" prop="slot" sortable="custom" width="70")
+ el-table-column(:label="$t('table.profile.invite_messages.message')" prop="message")
+ el-table-column(:label="$t('table.profile.invite_messages.cool_down')" prop="updatedAt" sortable="custom" width="110" align="right")
template(v-once #default="scope")
countdown-timer(:datetime="scope.row.updatedAt" :hours="1")
- el-table-column(label="Action" width="60" align="right")
+ el-table-column(:label="$t('table.profile.invite_messages.action')" width="60" align="right")
template(v-once #default="scope")
el-button(type="text" icon="el-icon-edit" size="mini" @click="showEditInviteMessageDialog('requestResponse', scope.row)")
div.options-container
span.header {{ $t('view.profile.past_display_names') }}
data-tables(v-bind="pastDisplayNameTable" style="margin-top:10px")
- el-table-column(label="Date" prop="updated_at" sortable="custom")
+ el-table-column(:label="$t('table.profile.previous_display_name.date')" prop="updated_at" sortable="custom")
template(v-once #default="scope")
span {{ scope.row.updated_at | formatDate('long') }}
- el-table-column(label="Name" prop="displayName")
+ el-table-column(:label="$t('table.profile.previous_display_name.name')" prop="displayName")
div.options-container
span.header {{ $t('view.profile.config_json') }}
el-tooltip(placement="top" :content="$t('view.profile.refresh_tooltip')" :disabled="hideTooltips")