diff --git a/MM.API/Functions/ExternalFunction.cs b/MM.API/Functions/ExternalFunction.cs index 248e3b7..2c6b3ab 100644 --- a/MM.API/Functions/ExternalFunction.cs +++ b/MM.API/Functions/ExternalFunction.cs @@ -2,7 +2,7 @@ using Microsoft.Azure.Functions.Worker.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; -using MM.Shared; +using MM.Shared.Models; namespace VerusDate.Api.Function { diff --git a/MM.API/MM.API.csproj b/MM.API/MM.API.csproj index 112a033..cc5287d 100644 --- a/MM.API/MM.API.csproj +++ b/MM.API/MM.API.csproj @@ -46,12 +46,12 @@ - - - - + + + + - + diff --git a/MM.Shared/Enums/Resources/BiologicalSex.es.resx b/MM.Shared/Enums/Resources/BiologicalSex.es.resx new file mode 100644 index 0000000..6cbb0e4 --- /dev/null +++ b/MM.Shared/Enums/Resources/BiologicalSex.es.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + La persona que nació con el órgano sexual femenino o que lo cambió quirúrgicamente + + + Hembra + + + La persona que nació con el órgano sexual masculino o que lo cambió quirúrgicamente + + + Masculino + + + Intersex es un término general usado para una variedad de situaciones en las que una persona nace con anatomía reproductiva o sexual que no encaja en las casillas de "mujer" o "hombre". + + + Otros (intersexuales) + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/BodyMass.es.resx b/MM.Shared/Enums/Resources/BodyMass.es.resx new file mode 100644 index 0000000..42ada0c --- /dev/null +++ b/MM.Shared/Enums/Resources/BodyMass.es.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Atlético / Muscular + + + Normal + + + Sobrepeso / Obesidad + + + Ligeramente sobrepeso / Curvas + + + Delgado + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/CareerCluster.es.resx b/MM.Shared/Enums/Resources/CareerCluster.es.resx new file mode 100644 index 0000000..92059b6 --- /dev/null +++ b/MM.Shared/Enums/Resources/CareerCluster.es.resx @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Sistemas de Agronegocios; Sistemas Animales; Sistemas Ambientales y de Recursos Naturales; Productos alimenticios y sistemas de procesamiento; Sistemas de Planta; Sistemas Eléctricos, Estructurales y Técnicos; + + + Agricultura, Alimentación y Recursos Naturales + + + Agricultura, Alimentación y Recursos Naturales + + + Construcción; Diseño y Pre-construcción; Mantenimiento y Operaciones; + + + Ciencias Técnicas y Especializadas + + + Arquitectura y Construcción + + + Servicios Administrativos; Gestión de la Información Empresarial; Gestión de Operaciones; Gestión de Recursos Humanos; Administración; + + + Negocios, Marketing y Gestión + + + Administración y Dirección de Empresas + + + Tecnología de audio y video y cine; Diseño gráfico; Periodismo y Radiodifusión; Artes escénicas; Tecnología de impresión; Artes visuales; Comunicaciones Web y Digitales; + + + Sistemas de Comunicación e Información + + + Artes de la Comunicación + + + Administración y Apoyo Administrativo; Servicios de apoyo profesional; Enseñanza/Capacitación; + + + Ciencias Humanas Y Educación + + + Educación y Formación + + + Ingeniería y Tecnología; Energía; + + + Ciencias Técnicas y Especializadas + + + Energía e Ingeniería + + + Contabilidad; Servicios bancarios; Finanzas Empresariales; Valores e Inversiones; Seguro; + + + Negocios, Marketing y Gestión + + + Finanzas + + + Servicio Exterior; Gobernanza; Seguridad nacional; Planificación; Gestión y Administración Pública; Regulación; Ingresos e Impuestos; + + + Ciencias Humanas Y Educación + + + Gobierno y Administración Pública + + + Investigación y desarrollo en biotecnología; Servicios de diagnóstico; Informática de la Salud; Servicios de apoyo; Servicios Terapéuticos; + + + Ciencias de la Salud + + + Ciencias de la Salud + + + Alojamiento; Recreación, diversiones y atracciones; restaurantes y servicios de alimentos y bebidas; Viajes y Turismo; + + + Negocios, Marketing y Gestión + + + Hotelería y Turismo + + + Servicios al consumidor; Servicios de Consejería y Salud Mental; Desarrollo y servicios para la primera infancia; Servicios para la familia y la comunidad; Servicios de Cuidado Personal; + + + Ciencias Humanas Y Educación + + + Servicios Humanos + + + Ciencia de datos; Informática; Administración de bases de datos; Apoyo y servicios de información; Sistemas de Red; Programación y Desarrollo de Software; Diseño y Desarrollo Web; + + + Sistemas de Comunicación e Información + + + Tecnología de la información + + + Servicios Correccionales; Servicios de Manejo de Emergencias e Incendios; Servicios de Aplicación de la Ley; Servicios Jurídicos; Servicios de Seguridad y Protección; + + + Ciencias Humanas Y Educación + + + Derecho, Seguridad Pública, Correccionales y Seguridad + + + Salud, Seguridad y Garantía Ambiental; Logística y Control de Inventarios; Desarrollo del proceso de producción de fabricación; Mantenimiento, instalación y reparación; Producción; Garantía de calidad; + + + Ciencias Técnicas y Especializadas + + + Fabricación + + + Comunicaciones de marketing; Gestión de Marketing; Investigación de Mercados; Merchandising; Venta Profesional; + + + Negocios, Marketing y Gestión + + + Marketing + + + Al comienzo de su carrera, pasante, solo estudiando o incluso no trabajando en este momento. + + + Sin carrera consolidada + + + mantenimiento de instalaciones y equipos móviles; Gestión de Salud, Seguridad y Medio Ambiente; Servicios de Planificación y Gestión Logística; Ventas y Servicios; Operaciones de transporte; Planificación, gestión y reglamentación de la infraestructura de transporte/sistemas; Operaciones de Almacenamiento y Centros de Distribución; + + + Ciencias Técnicas y Especializadas + + + Transporte, Distribución y Logística + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/CurrentSituation.es.resx b/MM.Shared/Enums/Resources/CurrentSituation.es.resx new file mode 100644 index 0000000..280a5bf --- /dev/null +++ b/MM.Shared/Enums/Resources/CurrentSituation.es.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Básicamente, la no monogamia es una categoría utilizada para describir cualquier relación que no sea monógama. Entonces, una pareja que tiene una relación abierta, o una pareja que es poliamorosa son ejemplos. Es importante mencionar que alguien que le es infiel a su pareja no es no monogamia, eso es infidelidad. Para que se aplique la no monogamia, ambos miembros de la pareja deben estar de acuerdo en que esto es algo en lo que quieren participar, y con lo que ambos se sienten cómodos. + + + Comprometidos (No monógamos) + + + Tipo de relación donde la persona no está involucrada en ningún tipo de amor y/o vínculo sexual. + + + Soltero + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Diet.es.resx b/MM.Shared/Enums/Resources/Diet.es.resx new file mode 100644 index 0000000..a2d6437 --- /dev/null +++ b/MM.Shared/Enums/Resources/Diet.es.resx @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + La dieta de desintoxicación y / o pérdida de peso se puede combinar con otras dietas para desintoxicar el cuerpo de toxinas y / o perder peso. + + + Desintoxicación / Pérdida de peso + + + La dieta flexitariana está entre omnívora y vegetariana. Es alguien que come una dieta principalmente vegetariana, con la excepción de algunas carnes animales. También se conoce como la dieta semi-vegetariana. + + + Flexitariano + + + La dieta libre de gluten es esencialmente eliminar el gluten de los alimentos. El gluten es un tipo de proteína que se encuentra comúnmente en el trigo y otros granos. + + + Sin gluten + + + La dieta omnívora consiste en productos animales y carne, así como frutas y verduras. Esencialmente significa que uno puede comer de todo y nada se limita a ellos. + + + Omnívoro + + + Una dieta de alimentos orgánicos, totalmente naturales y / o locales consiste en todos o en su mayoría alimentos orgánicos y / o hechos localmente, a menudo por pequeñas empresas o granjas. + + + Orgánico / Todo Natural / Local + + + La dieta de alimentos crudos consiste solo en frutas, verduras, nueces y / o semillas frescas y crudas. En otras palabras, es crudo puro y no contiene ningún alimento procesado que a menudo pierde su valor nutricional. + + + Alimentos crudos + + + La dieta vegana es similar a la dieta vegetariana en que no incluye carne animal. Pero, tampoco incluye ningún producto animal en absoluto. + + + Vegano + + + La dieta vegetariana consiste en carne animal, pero incluye otros productos animales, como productos lácteos, como leche, queso, yogur, e incluso a veces puede incluir huevos o no. + + + Vegetariano + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Disability.es.resx b/MM.Shared/Enums/Resources/Disability.es.resx new file mode 100644 index 0000000..a029ab3 --- /dev/null +++ b/MM.Shared/Enums/Resources/Disability.es.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + "Sordo" describe a una persona que tiene pérdida auditiva de severa a profunda. "Ensordecido" describe a un individuo que ha adquirido una pérdida auditiva en la edad adulta. + + + Oído + + + Se caracteriza por un desarrollo intelectual y una capacidad significativamente inferior a la media. Implica una limitación permanente en la capacidad de una persona para aprender. + + + Intelectual + + + Una discapacidad de aprendizaje es esencialmente un trastorno específico y persistente del sistema nervioso central de una persona que afecta el proceso de aprendizaje. Esto afecta la capacidad de una persona para interpretar lo que ve y escucha, o para vincular información de diferentes partes del cerebro. + + + Aprendizaje + + + Las discapacidades de salud mental pueden tomar muchas formas, al igual que las discapacidades físicas. Generalmente se clasifican en seis categorías: esquizofrenia, trastornos del estado de ánimo, trastornos de ansiedad, trastornos de la alimentación, trastornos de la personalidad, trastornos cerebrales orgánicos. + + + Salud mental + + + Incluye impedimentos fisiológicos, funcionales y/o de movilidad. Puede ser fluctuante o intermitente, crónica, progresiva o estable, visible o invisible. + + + Físico + + + "Legalmente ciego" describe a un individuo que tiene un 10% o menos de visión normal. Solo el 10% de las personas con discapacidad visual son totalmente ciegas. El otro 90% se describe como que tiene una "discapacidad visual". + + + Visual + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Drink.es.resx b/MM.Shared/Enums/Resources/Drink.es.resx new file mode 100644 index 0000000..43e94b8 --- /dev/null +++ b/MM.Shared/Enums/Resources/Drink.es.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + No consume ningún tipo de bebida alcohólica + + + No + + + Es la persona que bebe al menos dos veces por semana + + + Sí (a menudo) + + + Es la persona que bebe raramente y / o solo en ocasiones sociales, no más de dos veces al mes + + + Sí (socialmente) + + + Es la persona que bebe aproximadamente una vez a la semana, hasta seis veces al mes + + + Sí (moderadamente) + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/EducationLevel.es.resx b/MM.Shared/Enums/Resources/EducationLevel.es.resx new file mode 100644 index 0000000..9568376 --- /dev/null +++ b/MM.Shared/Enums/Resources/EducationLevel.es.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Máster / Doctorado / Doctorado + + + Universidad incompleta o menos + + + Licenciatura / Licenciatura + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Food.es.resx b/MM.Shared/Enums/Resources/Food.es.resx new file mode 100644 index 0000000..dd456f6 --- /dev/null +++ b/MM.Shared/Enums/Resources/Food.es.resx @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Comida Americana + + + Comida Argentina + + + Barbacoa Brasileña + + + Comida Brasileña + + + Comida cajún + + + Cocina Canadiense + + + Comida caribeña + + + Comida china + + + Comida Cubana + + + Cocina filipina + + + Comida francesa + + + Comida alemana + + + Comida griega + + + Cocina india + + + Cocina indonesia + + + Cocina iraní + + + Comida irlandesa + + + Comida italiana + + + Comida jamaicana + + + Cocina japonesa + + + Cocina judía + + + Comida basura + + + Barbacoa coreana + + + Comida libanesa + + + Comida malaya + + + Comida mediterránea + + + Comida Mexicana + + + Comida de Oriente Medio + + + Comida del Medio Oeste + + + Comida marroquí + + + Comida Portuguesa + + + Marisco + + + Cocina de Shanghai + + + Cocina de Sichuan + + + Cocina Siciliana + + + Comida de Singapur + + + Comida para el alma + + + Comida Sudamericana + + + Cocina del sur de la India + + + Comida surcoreana + + + Cocina Española + + + Cocina suiza + + + Barbacoa de Texas + + + Comida Tex-Mex + + + Comida tailandesa + + + Cocina tunecina + + + Comida turca + + + Cocina del Reino Unido + + + Comida vegetariana + + + Comida vietnamita + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/GenderIdentity.es.resx b/MM.Shared/Enums/Resources/GenderIdentity.es.resx new file mode 100644 index 0000000..69a9e11 --- /dev/null +++ b/MM.Shared/Enums/Resources/GenderIdentity.es.resx @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Agénero se refiere a una persona que no se identifica con ninguna identidad de género, a menudo prefiriendo pronombres de género neutro como ellos. + + + Agénero + + + Una persona cuya expresión de género incorpora elementos masculinos y femeninos. Andrógino también puede describir la expresión de género o la identidad de género. + + + Andrógino + + + Una persona que se identifica con los géneros femenino y masculino. Una persona bigénero puede expresar dos géneros simultáneamente o fluctúa entre dos géneros. + + + Bigénero + + + Una persona cuya identidad de género coincide con el género que se le asignó al nacer, generalmente en función de su sexo biológico. + + + Cisgénero + + + Una persona cuya identidad de género no es fija y cambia con el tiempo. Las personas de género fluido pueden identificarse con diferentes géneros en diferentes momentos o una combinación de géneros a la vez. + + + Género fluido + + + Un término general que describe a cualquier persona cuya expresión o identidad de género no se alinea con las expectativas sociales tradicionales. + + + No conforme con el género + + + Un término general para una persona que no se identifica con una sola identidad de género. Este término se superpone con no binario y también puede describir a cualquier persona que no sea cisgénero. + + + Genderqueer + + + Una persona cuya identidad de género está a medio camino entre hombre y mujer. + + + Intergénero + + + Una persona que nace con cuerpos de género ambiguo debido a anomalías cromosómicas o genitales ambiguos. Las personas intersexuales a menudo reciben una asignación de género al nacer a través de una intervención médica, que puede o no corresponder al género con el que se identifican a medida que envejecen. + + + Intersexualidad + + + Una persona que no cae bajo el binario tradicional hombre-mujer. Una persona no binaria puede identificarse como hombre y mujer, o ninguno. + + + No binario + + + Una persona que se identifica como una mezcla de varios géneros o como todos los géneros simultáneamente, incluidos los que están fuera del binario tradicional hombre-mujer. Pangénero es otro término para omnigénero. + + + Omnigénero + + + Una persona que está en proceso de exploración o descubrimiento con respecto a su expresión o identidad de género. + + + Interrogatorio + + + Una persona cuya identidad de género no coincide con su sexo asignado al nacer (a menudo acortada a "trans" o enumerada con su género afirmado, por ejemplo, "mujer trans" u "hombre trans"). Algunas personas transgénero eligen someterse a tratamientos hormonales o cirugías para que coincidan con su identidad de género, pero otras no lo hacen. + + + Transgénero + + + Un término más antiguo que a veces se usa para describir a una persona que ha elegido someterse a tratamientos hormonales o cirugías anatómicas para que coincida con su identidad de género. Mientras que algunas personas se identifican con este término, otras lo encuentran ofensivo u obsoleto debido a la forma en que la comunidad médica históricamente usó la etiqueta. + + + Transexual + + + Un término amplio que algunos indígenas norteamericanos usan para describir a las personas en su comunidad que se identifican con un espíritu masculino y femenino. Los dos espíritus pueden describir la expresión de género y / o la identidad sexual. + + + Dos espíritus + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/HaveChildren.es.resx b/MM.Shared/Enums/Resources/HaveChildren.es.resx new file mode 100644 index 0000000..309e947 --- /dev/null +++ b/MM.Shared/Enums/Resources/HaveChildren.es.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + No + + + Sí (vivir juntos) + + + Sí (no viven juntos) + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Holidays.es.resx b/MM.Shared/Enums/Resources/Holidays.es.resx new file mode 100644 index 0000000..2a77e4f --- /dev/null +++ b/MM.Shared/Enums/Resources/Holidays.es.resx @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vacaciones solo para adultos + + + Es la recreación al aire libre de llevar cosas personales en la espalda mientras caminas durante más de un día. A menudo, pero no siempre, es un viaje largo y puede o no implicar acampar al aire libre. + + + Mochilero + + + Playa / Deportes acuáticos + + + Un lugar con alojamiento temporal de chozas, tiendas de campaña u otras estructuras, normalmente utilizadas por soldados, refugiados, prisioneros o viajeros. + + + Acampada + + + Escapada a la ciudad + + + La práctica de viajar y alojarse con personas que no conoces, que anuncian sus casas en Internet + + + Sofá Surf + + + Escapada al campo + + + Vacaciones en crucero + + + Explorando lugares exóticos de aventura + + + Un acuerdo en el que dos familias cambian de casa de vacaciones + + + Intercambio de casas + + + Solo quedarse en casa + + + Lagos / Montañas + + + Música / Eventos Festivales + + + Actividades deportivas al aire libre + + + Relajante / Bienestar + + + Excursiones por carretera + + + Safaris + + + Vacaciones deportivas + + + Viajes en tren + + + Visitar a la familia + + + Visitar lugares famosos + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Intentions.es.resx b/MM.Shared/Enums/Resources/Intentions.es.resx new file mode 100644 index 0000000..dabb361 --- /dev/null +++ b/MM.Shared/Enums/Resources/Intentions.es.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Para aquellos que no tienen la intención de casarse oficialmente, pero aún así quieren vivir una vida juntos (dependiendo de las leyes / culturas vigentes en el país, esto también puede implicar responsabilidades similares a un matrimonio). + + + Convivir + + + Para aquellos que pretenden casarse (vínculo establecido entre dos personas, a través del reconocimiento gubernamental, cultural, religioso y/o social). + + + Casarse + + + Las citas serias son cuando estás comprometido con una persona. Tienes sentimientos por ellos, y ellos tienen sentimientos por ti. Debido a esto, no estás viendo a nadie más y esperas algún día llevar la relación al siguiente nivel. + + + Relación seria + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Language.es.resx b/MM.Shared/Enums/Resources/Language.es.resx new file mode 100644 index 0000000..930e8c3 --- /dev/null +++ b/MM.Shared/Enums/Resources/Language.es.resx @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Albanés + + + Árabe + + + Armenio + + + Aymara + + + Bereber + + + Chichewa + + + Holandés + + + Inglés + + + Francés + + + Alemán + + + Griego + + + Guaraní + + + Hindi-Urdu + + + Italiano + + + Coreano + + + Malayo + + + Persa + + + Portugués + + + Quechua + + + Rumano + + + Ruso + + + Ruanda-Rundi + + + Serbocroata + + + Somalí + + + Sotho + + + Español + + + Chino estándar + + + Swahili + + + Swati + + + Sueco + + + Tamil + + + Tigriña + + + Setswana + + + Turco + + + Venda + + + Xosa + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/LeisureActivities.es.resx b/MM.Shared/Enums/Resources/LeisureActivities.es.resx new file mode 100644 index 0000000..2fa75ec --- /dev/null +++ b/MM.Shared/Enums/Resources/LeisureActivities.es.resx @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Té de la tarde + + + Acuarios + + + Arte + + + Astronomía + + + Apicultura + + + Ciclismo + + + Observación de aves + + + Bonsái + + + Bolos + + + Caligrafía + + + Acampada + + + Piragüismo + + + Ajedrez + + + Limpieza + + + Codificación informática + + + Coleccionismo (por ejemplo, coleccionismo de monedas) + + + Conciertos + + + Conversación + + + Cocinar / Hornear + + + Cosplay + + + Artesanía + + + Escritura creativa + + + Actividades Culturales + + + Danza + + + Debate + + + Salir a cenar + + + DIY (hágalo usted mismo) + + + Drama + + + Dibujo / Pintura + + + Conducción + + + Electrónica + + + Eventos + + + Ejercicio + + + Diseño de Moda + + + Festivales + + + Cine + + + Pesca + + + Juegos (por ejemplo, cartas, tablero, rompecabezas) + + + Jardinería + + + Gimnasia + + + Excursionismo + + + Mejoras para el hogar + + + Patinaje sobre hielo + + + Footing + + + Karaoke + + + Tejer / Costura / Patchworking + + + Aprendizaje (por ejemplo, idiomas) + + + Artes Marciales + + + Meditación + + + Metalurgia / Carpintería + + + Construcción de modelos + + + Cine + + + Museos + + + Música + + + Parques / Zoológicos + + + Reflexión personal + + + Fotografía + + + Picnics + + + Lectura + + + Robótica + + + Patinaje + + + Vela y navegación + + + Compras + + + Turismo + + + Canto + + + Esquí y snowboard + + + Snorkeling y Buceo + + + Redes sociales + + + Sol + + + Surf + + + Natación + + + Deportes de equipo + + + Televisión + + + Tenis + + + Teatro + + + Parques temáticos + + + Viajar + + + Videojuegos + + + Producción de video + + + Andante + + + Halterofilia + + + Yoga + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/LoveLanguage.es.resx b/MM.Shared/Enums/Resources/LoveLanguage.es.resx new file mode 100644 index 0000000..fc3019b --- /dev/null +++ b/MM.Shared/Enums/Resources/LoveLanguage.es.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Este lenguaje de amor se expresa haciendo cosas que sabes que a tu cónyuge le gustaría. Cocinar una comida, lavar la ropa y recoger una receta son actos de servicio. Requieren algo de reflexión, tiempo y esfuerzo. + + + Actos de Servicios + + + Para las personas con este lenguaje de amor, nada es más impactante que el contacto físico de su pareja. No les gusta la DPA (Demostración Pública de Afecto), pero se sienten más conectados y seguros en una relación, tomados de la mano, besándose, abrazándose, etc. + + + Toque físico + + + Este lenguaje de amor tiene que ver con la atención exclusiva. Sin televisores, sin teléfonos inteligentes o cualquier otra distracción. Si este es el idioma principal de tu pareja, no solo quieren ser incluidos durante este tiempo, sino que quieren ser el centro de tu atención. Quieren que sus parejas los miren a ellos y solo a ellos. + + + Tiempo de calidad + + + Este lenguaje de amor no es necesariamente materialista. Simplemente significa que un regalo significativo o considerado hace que su pareja se sienta amada y apreciada. Algo tan simple como tomar una pinta de tu helado favorito después de una larga semana en el trabajo puede tener un gran impacto. + + + Recepción de regalos + + + Este lenguaje de amor expresa amor con palabras que edifican a tu pareja. Los elogios verbales no tienen que ser complicados; Los cumplidos más cortos y simples pueden ser los más efectivos. + + + Palabras de afirmación + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Modality.es.resx b/MM.Shared/Enums/Resources/Modality.es.resx new file mode 100644 index 0000000..69e4609 --- /dev/null +++ b/MM.Shared/Enums/Resources/Modality.es.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ¿Estás buscando a tu pareja ideal (que dure toda la vida)? Con nuestro sistema de compatibilidad único y avanzado, garantizamos una tasa de éxito más alta que cualquier otro sistema / sitio / aplicación en el mundo. + + + Casamentero + + + ¿Ya estás en una relación, compromiso o matrimonio serio y quieres saber qué tan compatible eres? ¿En qué debilidades necesitas trabajar para fortalecer la relación? Aprende todo esto y mucho más. + + + Análisis de relaciones + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/MoneyPersonality.es.resx b/MM.Shared/Enums/Resources/MoneyPersonality.es.resx new file mode 100644 index 0000000..8d12956 --- /dev/null +++ b/MM.Shared/Enums/Resources/MoneyPersonality.es.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ¿Por qué conformarse con lo ordinario cuando puedes comprarte lo extraordinario? + + + Celebridad + + + Ganar dinero es algo natural para ti porque el trabajo es el amor de tu vida. + + + Conquistador + + + Sabes cómo disfrutar de la vida. ¡El dinero no se interpondrá en tu libertad! + + + Hedonista + + + Eres consciente de que el dinero es una parte necesaria de la vida, pero prefieres no empantanarte con él. + + + Idealista + + + Sus ahorros proveen a las personas que ama si alguna vez se encuentran en apuros. + + + Nutridor + + + Siempre estás ahorrando para un día lluvioso, por si acaso. + + + Acopiador + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/MovieGenre.es.resx b/MM.Shared/Enums/Resources/MovieGenre.es.resx new file mode 100644 index 0000000..0db02ca --- /dev/null +++ b/MM.Shared/Enums/Resources/MovieGenre.es.resx @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Las películas de género de acción se definen por el riesgo y el desafío. Incluyendo escenas de lucha, acrobacias, persecuciones de coches y peligro general. (Derramamiento de sangre heroico, acción militar, espionaje, wuxia, desastre, aventura, superhéroe) + + + Acción + + + El género de animación se define por objetos inanimados que son manipulados para parecer vivos. (Tradicional, Stop Motion, Claymation, Cutout, Imágenes generadas por computadora - CGI, Puppetry, Live-Action) + + + Animación + + + El género de la comedia se define por eventos que tienen la intención de hacer reír a alguien, ya sea que la historia sea macabra, divertida o tonta. (Comedia de acción, Comedia oscura, Comedia romántica, Comedia de amigos, Comedia de carretera, Comedia de bofetada, Parodia, Sátira, Comedia de situación, Comedia de bocetos, Falso documental, broma) + + + Comedia + + + El género criminal trata con ambos lados del sistema de justicia penal, pero no se centra en cuestiones legislativas o casos civiles y demandas. (Alcaparras, atracos, gángsters, policías, detectives, tribunales, procesales) + + + Crimen + + + El género dramático se define por el conflicto y a menudo mira a la realidad en lugar del sensacionalismo. (Melodrama, Drama adolescente, Drama filosófico, Drama médico, Drama legal, Drama político, Drama antropológico, Drama religioso, Docudrama) + + + Drama + + + El género experimental a menudo se define por la idea de que la obra de arte y entretenimiento no encaja en un género o subgénero en particular, y se concibe como tal. (Surrealista, Absurdo) + + + Experimental + + + El género fantástico se define tanto por las circunstancias como por el entorno dentro de un universo ficticio con un conjunto poco realista de leyes naturales. (Fantasía Contemporánea, Fantasía Urbana, Fantasía Oscura, Fantasía Elevada, Mito) + + + Fantasía + + + El género histórico se puede dividir en dos secciones. Uno trata con representaciones precisas de relatos históricos, que pueden incluir biografías, autobiografías y memorias. La otra sección se compone de películas de ficción que se colocan dentro de una representación precisa de un entorno histórico. (Evento histórico, biografía, épica histórica, ficción histórica, pieza de época, historia alternativa) + + + Histórico + + + El género de terror se centra en la representación de eventos aterradores o macabros por el bien del entretenimiento. (Fantasma, Monstruo, Hombre lobo, Vampiro, Oculto, Slasher, Salpicaduras, Metraje encontrado, Zombie) + + + Horror + + + Los musicales pueden incorporar cualquier otro género, pero sí incorporan personajes que cantan canciones y realizan números de baile. + + + Musical + + + El género romántico se define por las relaciones íntimas. (drama romántico, thriller romántico, romance de época) + + + Romance + + + Las películas de ciencia ficción se definen por una mezcla de especulación y ciencia. (Post-apocalíptico, Utópico, Distópico, Cyberpunk, Steampunk, Tech Noir, Space Opera, Contemporáneo, Militar) + + + Ciencia ficción + + + Una historia de suspenso trata principalmente sobre el propósito emocional, que es provocar emociones fuertes, principalmente tratando de generar suspenso y ansiedad. (Psicológico, Misterio, Techno, Cine Negro) + + + Thriller + + + Las películas de guerra giran en torno a conflictos a gran escala entre fuerzas opuestas dentro de un universo que comparte las mismas leyes naturales que el nuestro. + + + Guerra + + + Los westerns se definen por su entorno y período de tiempo. La historia debe ambientarse en el oeste americano, que comienza en el extremo oriental de Missouri y se extiende hasta el Océano Pacífico. (Epic Western, Empire Western, Marshal Western, Outlaw Western, Revenge Western, Revisionist Western, Spaghetti Western) + + + Occidental + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/MusicGenre.es.resx b/MM.Shared/Enums/Resources/MusicGenre.es.resx new file mode 100644 index 0000000..5dff4ab --- /dev/null +++ b/MM.Shared/Enums/Resources/MusicGenre.es.resx @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Subgéneros: Rock Alternativo • Rock Universitario • Rock Experimental • Rock Gótico • Grunge • Hardcore Punk • Hard Rock • Indie Rock • New Wave • Rock Progresivo • Punk • Shoegaze • Steampunk + + + Alternativo + + + Subgéneros: Blues acústico • Chicago Blues • Blues clásico • Blues contemporáneo • Country Blues • Delta Blues • Electric Blues + + + Blues + + + Subgéneros: Canciones de cuna • Canto • Historias + + + Niños + + + Subgéneros: CCM • Christian Metal • Christian Pop • Christian Rap • Christian Rock • Classic Christian • Contemporary Gospel • Gospel • Christian & Gospel • Praise & Worship • Qawwali • Southern Gospel • Traditional Gospel + + + Cristiano + + + Subgéneros: Vanguardia • Barroco • Música de cámara • Canto • Coral • Clásico Crossover • Música antigua • Alta clásica • Impresionista • Medieval • Minimalismo • Composición moderna • Ópera • Orquestal • Renacimiento • Romántico • Música de boda + + + Clásico + + + Subgéneros: Country Alternativo • Americana • Bluegrass • Bluegrass Contemporáneo • Country Contemporáneo • Country Gospel • Honky Tonk • Outlaw Country • Bluegrass Tradicional • Country Tradicional • Vaquero Urbano + + + País + + + Subgéneros: Breakbeat • Dubstep • Ejercicio • Garaje • Hardcore • Hard Dance • Hi-NRG / Eurodance • House • Jackin House • Jungle • Drum N Bass • Techno • Trance + + + Electrónico + + + Subgéneros: Folk metal • Folk rock • Neo-folk • Anti-folk • Indie Folk • Folk punk • Folk contemporáneo • Progressive Folk • Folk country • Psychedelic Folk • Americana • Skiffle • Baladas + + + Gente + + + Subgéneros: Rap alternativo • Rebote • Sur sucio • Rap de la costa este • Gangsta Rap • Rap hardcore • Hip-Hop • Rap latino • Rap de la vieja escuela • Rap • Rap underground • Rap de la costa oeste • Mumble Rap + + + Hip-Hop/Rap + + + Subgéneros: Acid Jazz • Avant-Garde Jazz • Big Band • Blue Note • Contemporary Jazz • Easy Listening • Crossover Jazz • Dixieland • Ethio-Jazz Fusion • Hard Bop • Latin Jazz • Mainstream Jazz • Ragtime • Smooth Jazz • Trad Jazz + + + Jazz + + + Subgéneros: Alternativo & Rock Latino • Baladas y Boleros • Brasileño • Latino Contemporáneo • Jazz Latino • Pop Latino • Raíces • Reggaeton y Hip-Hop • Regional Mexicano • Salsa • Tropical • Bachata • Rumba • Tango + + + Latino + + + Subgéneros: Medio ambiente • Sanación • Meditación • Naturaleza • Relajación • Viajes + + + Nueva Era + + + Subgéneros: Pop barroco • Country Pop • RB contemporáneo • Cowboy Pop • Dancehall Pop • Electropop •emo Pop • Folk-Pop • Hip-Pop • Indie Pop • Pop Punk • Pop Rap • Ambient Pop • Pop Rock • Power Pop • Pop Psicodélico • Space Age Pop • Worldbeat • K Pop + + + Pop + + + Subgéneros: RB contemporáneo • Disco • Doo Wop • Funk • Motown • Neo-Soul • Quiet Storm • Soul + + + RB + + + Subgéneros: Dancehall • Dub • Roots Reggae • Ska • Mento • Reggaestep • Gospel Reggae • Reggae Contemporáneo + + + Reggae + + + Subgéneros: Alternativa para adultos • Rock americano • Arena Rock • Blues-Rock • Invasión británica • Death Metal/Black Metal • Glam Rock • Hair Metal • Hard Rock ! Metal • Jam Bands • Prog-Rock/Art Rock • Psicodélico • Rock & Roll • Rockabilly • Roots Rock • Cantante/Compositor • Rock Clásico • Rock Sureño + + + Roca + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/MyersBriggsTypeIndicator.es.resx b/MM.Shared/Enums/Resources/MyersBriggsTypeIndicator.es.resx new file mode 100644 index 0000000..d1cfa30 --- /dev/null +++ b/MM.Shared/Enums/Resources/MyersBriggsTypeIndicator.es.resx @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Las personas que comparten el tipo de personalidad Protagonista se sienten más en casa cuando están en una relación, y pocos tipos están más ansiosos por hacer un compromiso romántico con su pareja elegida. Los protagonistas se toman en serio las citas y las relaciones, seleccionando parejas con una visión a largo plazo en lugar del enfoque más informal que podría esperar de algunos tipos de exploradores. No hay mayor alegría para los Protagonistas que ayudar a alcanzar los objetivos de alguien que les importa, y el entrelazamiento de vidas que representa una relación comprometida es la oportunidad perfecta para hacer precisamente eso. + + + Diplomáticos + + + Protagonista (ENFJ) + + + Cuando se trata de relaciones, casi no hay nadie alrededor que esté más emocionado que los activistas de compartir con sus parejas la abundancia de ideas y experiencias perspicaces que la vida tiene para ofrecer. Para las personas con el tipo de personalidad de Activistas, las relaciones son un proceso alegre de exploración mutua e imaginación, una oportunidad para conectarse con otra alma. Los activistas toman en serio sus relaciones y son conocidos por su devoción desinhibida e inquebrantable a las personas a las que han comprometido sus corazones. + + + Diplomáticos + + + Activista (ENFP) + + + Al igual que en otras áreas de sus vidas, los comandantes abordan las citas y las relaciones con un conjunto de objetivos y un plan para alcanzarlos, y lo hacen con una energía y entusiasmo impresionantes. Las personas con el tipo de personalidad Comandante quieren ganar y con gusto asumirán roles de liderazgo en las relaciones desde el principio, asumiendo la responsabilidad personal de cómo van las cosas y trabajando activamente para garantizar una experiencia mutuamente gratificante. Las relaciones románticas son un asunto serio, y los comandantes han estado en ello durante mucho tiempo. + + + Analistas + + + Comandante (ENTJ) + + + Si hay algo en lo que los debatientes son buenos, es en crear un flujo interminable de innovaciones e ideas para que las cosas sigan avanzando, y eso también es evidente en sus relaciones románticas. Para las personas con el tipo de personalidad Breakthrough, el crecimiento es clave, e incluso antes de encontrar una pareja de citas, imaginan todas las formas en que pueden probar cosas nuevas juntos, para crecer juntos. Este puede ser un proceso abrumador si su pareja no responde, pero cuando los innovadores encuentren a alguien que comparta su amor por la exploración intelectual, tenga cuidado. + + + Analistas + + + Debatidor (ENTP) + + + Valorando tanto la validación social y el sentido de pertenencia, las relaciones románticas tienen un nivel especial de importancia para los cónsules. Ningún otro tipo de relación proporciona a las personas con el tipo de personalidad Cónsul el mismo nivel de apoyo y devoción, y los sentimientos de seguridad y estabilidad que acompañan a las fuertes relaciones románticas son extremadamente cálidos. + + + Centinelas + + + Cónsul (ESFJ) + + + Los artistas son personas sociables, amantes de la diversión y de espíritu libre que viven la vida en el momento y extraen cada pedacito de emoción de todo. Naturalmente, no escatiman nada de esa frescura y energía en las citas. Para las personas con el tipo de personalidad Entertainer, las relaciones no se tratan de construir lentamente las bases para el futuro o planificar una vida, son cosas burbujeantes e impredecibles para disfrutar siempre que haya placer. + + + Exploradores + + + Animador (ESFP) + + + Los ejecutivos son bastante únicos en el sentido de que sus relaciones realmente no cambian a medida que avanzan de la fase de citas a relaciones más estables y a largo plazo e incluso más en el matrimonio. Debido a que valoran tanto la honestidad y la franqueza, las personas con una personalidad ejecutiva tienden a tener claro quiénes son, cómo son y cuáles son sus objetivos desde el principio, y deben seguir adelante con estas declaraciones a largo plazo. Mientras su pareja pueda tomar su palabra y seguir su ejemplo, tienden a ser relaciones extremadamente estables. + + + Centinelas + + + Ejecutivo (ESTJ) + + + Cuando se trata de relaciones románticas, difícilmente se puede decir que las personas con el tipo de personalidad emprendedora se están perdiendo el día de su boda. La vida es divertida y llena de sorpresas (algo que los empresarios tienen una habilidad especial para entregar), y disfrutan de todo aquí y ahora. Es posible que los empresarios no pasen mucho tiempo planeando "algún día", pero su entusiasmo e imprevisibilidad los convierten en socios de citas emocionantes. + + + Exploradores + + + Emprendedor (ESTP) + + + Los defensores (INFJ) tienden a tomar en serio el proceso de encontrar una pareja romántica. Las personas con este tipo de personalidad buscan profundidad y significado en sus relaciones, prefiriendo no conformarse con una unión que se basa en nada menos que el amor verdadero. Puede tomar algún tiempo para que los defensores encuentren un socio compatible. Algunas personas pueden pensar que los defensores son demasiado exigentes y es cierto que estas personalidades pueden tener expectativas poco realistas. Algunos defensores pueden esperar una pareja o relación "perfecta" que finalmente no existe. + + + Diplomáticos + + + Abogado (INFJ) + + + Los mediadores (INFP) son soñadores e idealistas, especialmente cuando se trata de romance. El concepto de amor verdadero resuena con ellos, y es poco probable que sean felices en una relación basada en algo menos. Las personas con este tipo de personalidad pueden soñar despiertas con la relación perfecta, imaginando cómo sería compartir su ser más íntimo con otra persona. + + + Diplomáticos + + + Mediador (INFP) + + + Los arquitectos (INTJ) abordan el romance de la manera en que hacen la mayoría de los desafíos: estratégicamente, con objetivos claros y un plan para alcanzarlos. En un mundo puramente racional, este enfoque sería infalible. Por desgracia, el amor rara vez es racional, y los arquitectos corren el riesgo de pasar por alto o malinterpretar la imprevisibilidad de la naturaleza humana y el afecto. + + + Analistas + + + Arquitecto (INTJ) + + + Cuando se trata de relaciones románticas, los lógicos tienen una interesante mezcla de rasgos que a menudo sorprenden gratamente a sus parejas. Las personas con este tipo de personalidad siempre están llenas de ideas, pero tienen pocas oportunidades de explorar sus nociones más románticas. Al igual que con cualquiera de sus teorías, a los lógicos les encanta compartir con los demás, y cuando finalmente conocen a alguien donde los pensamientos románticos son apropiados, están emocionados, entusiastas e incluso juguetones, coqueteando con el juego de palabras y el juego intelectual. + + + Analistas + + + Lógico (INTP) + + + Cuando se trata de relaciones románticas, la amabilidad de los Defensores se convierte en una alegría que solo se encuentra en el cuidado de su familia y hogar, en estar allí para apoyo emocional y práctico cuando sea necesario. El hogar es donde está el corazón para las personas con el tipo de personalidad Defender, y en ninguna otra área de sus vidas se esfuerzan tanto por crear la armonía y la belleza que quieren ver en el mundo. + + + Centinelas + + + Defensor (ISFJ) + + + Los aventureros son bastante misteriosos y difíciles de conocer. Aunque son individuos muy emocionales, protegen este núcleo sensible cuidadosamente, prefiriendo escuchar en lugar de expresar. Las personas con el tipo de personalidad Aventurero se centran en sus parejas, con poco interés en dictar el estado de ánimo de una situación con sus propios sentimientos. Si bien esto a veces puede ser frustrante, si son aceptados por lo que son, los aventureros demuestran ser socios cálidos y entusiastas. + + + Exploradores + + + Aventurero (ISFP) + + + Los logísticos son totalmente confiables y este rasgo se expresa claramente cuando se trata de sus relaciones románticas. A menudo representando el epítome de los valores familiares, las personas con el tipo de personalidad de Logística se sienten cómodas con, y a menudo incluso alientan, los roles domésticos y de género tradicionales, y buscan una estructura familiar guiada por expectativas claras y honestidad. Si bien su naturaleza reservada a menudo hace que los logísticos de citas sean un desafío, son socios verdaderamente dedicados, dispuestos a pensar mucho y energía para garantizar relaciones estables y mutuamente satisfactorias. + + + Centinelas + + + Logista (ISTJ) + + + Cuando se trata de relaciones románticas con Virtuosos, es un poco como clavar gelatina en un árbol. Citas con personalidades Virtuoso es un tango, complejo e interesante, con alternancia de frialdad y desapego, y pasión, espontaneidad y placer del momento. Nada puede ser forzado en las relaciones virtuosas, pero siempre que se les dé el espacio que necesitan para ser ellos mismos, estarán felices de disfrutar de la comodidad de una pareja estable de por vida. + + + Exploradores + + + Virtuoso (ISTP) + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Neurodiversity.es.resx b/MM.Shared/Enums/Resources/Neurodiversity.es.resx new file mode 100644 index 0000000..9736fe4 --- /dev/null +++ b/MM.Shared/Enums/Resources/Neurodiversity.es.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + La neurodivergencia es el término para las personas cuyos cerebros funcionan de manera diferente en una o más formas de lo que se considera estándar o típico. Hay muchas formas diferentes en que se manifiesta la neurodivergencia, que van desde formas muy leves que la mayoría de la gente nunca notaría hasta formas más obvias que llevan a una persona a comportarse de manera diferente a lo que es estándar en nuestra sociedad. Varios tipos "reconocidos" de neurodivergencia, incluyen autismo, síndrome de Asperger, dislexia, discalculia, epilepsia, hiperlexia, dispraxia, TDAH, trastorno obsesivo-compulsivo (TOC) y síndrome de Tourette (ST). + + + Neurodivergente + + + Neurotípico es un descriptor que se refiere a alguien que tiene las funciones cerebrales, los comportamientos y el procesamiento considerados estándar o típicos. + + + Neurotípico + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/RaceCategory.es.resx b/MM.Shared/Enums/Resources/RaceCategory.es.resx new file mode 100644 index 0000000..ef6396b --- /dev/null +++ b/MM.Shared/Enums/Resources/RaceCategory.es.resx @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Una persona que tiene orígenes en cualquiera de los pueblos originarios de América del Norte y del Sur (incluida América Central) y que mantiene una afiliación tribal o un vínculo comunitario. + + + Indios americanos y nativos de Alaska + + + Una persona que tiene orígenes en cualquiera de los pueblos originales del Lejano Oriente, el sudeste asiático o el subcontinente indio, incluidos, por ejemplo, Camboya, China, India, Japón, Corea, Malasia, Pakistán, las Islas Filipinas, Tailandia y Vietnam. + + + Asiático + + + Una persona que tiene orígenes en cualquiera de los grupos raciales negros de África. + + + Negro o afroamericano + + + Una persona que tiene orígenes en cualquiera de los pueblos originales de Hawai, Guam, Samoa u otras islas del Pacífico. + + + Nativo de Hawái y otras islas del Pacífico + + + Una persona que no se identifica por ninguna de las razas enumeradas. + + + Otro + + + Una persona que puede identificarse por dos o más de las razas enumeradas. + + + Dos o más razas + + + Una persona que tiene orígenes en cualquiera de los pueblos originarios de Europa, Oriente Medio o África del Norte. + + + Blanco + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/ReadingGenre.es.resx b/MM.Shared/Enums/Resources/ReadingGenre.es.resx new file mode 100644 index 0000000..72fde64 --- /dev/null +++ b/MM.Shared/Enums/Resources/ReadingGenre.es.resx @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Una narrativa de la vida de una persona; Cuando el autor es también el tema principal, esta es una autobiografía o memoria. + + + Biografía + + + Una revista que presenta una historia serializada en forma de cómic, típicamente con las aventuras de un superhéroe. + + + Historietas + + + Una breve composición literaria que refleje la perspectiva o el punto de vista del autor + + + Ensayo + + + La ficción es generalmente una forma narrativa, en cualquier medio, que consiste en personas, eventos o lugares que son imaginarios, en otras palabras, no se basan estrictamente en la historia o los hechos. + + + Géneros de ficción + + + Reportajes de noticias y eventos actuales + + + Periodismo + + + Historia fáctica que se centra en una relación significativa entre el escritor y una persona, lugar u objeto; se lee como una pequeña novela + + + Memoria + + + Información objetiva sobre un evento significativo presentado en un formato que cuenta una historia + + + No ficción narrativa / narrativa personal + + + Como un diccionario, tesauro, enciclopedia, almanaque o atlas + + + Referencia + + + Informe de estudio científico, incluso en disciplinas sociales, naturales u otras disciplinas académicas + + + Artículo científico + + + Información destinada a instruir a los lectores en la solución de problemas personales + + + Autoayuda + + + Descripción fáctica confiable y detallada de una cosa + + + Libro de texto + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/RelationshipPersonality.es.resx b/MM.Shared/Enums/Resources/RelationshipPersonality.es.resx new file mode 100644 index 0000000..6881834 --- /dev/null +++ b/MM.Shared/Enums/Resources/RelationshipPersonality.es.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Los constructores son los tipos tradicionales, leales y equilibrados, impulsados por la serotonina (la hormona calmante). Estas personas están muy orientadas a la rutina y altamente planificadas, valorando la autoridad, las reglas y la precisión. Por lo general, están fundamentados y basados en hechos, son concienzudos y cautelosos. Los constructores quieren hacer un trabajo minucioso, y quieren hacerlo bien la primera vez. Reverencian el hogar y la familia y tienen un sentido de lo que "deberían" estar haciendo en todo momento. Los constructores a menudo se sienten atraídos por aquellos como ellos, prefiriendo iniciar relaciones y familias con otros que valoran la paz y la tradición. + + + Constructores + + + Los directores son impulsados por la testosterona. Son analíticos y lógicos, directos y directos. Están seguros de sí mismos, independientes, decididos y escépticos. Los directores son ingeniosos, competitivos y de tipo A, a menudo son excelentes líderes. Estos tipos tienden a ser atraídos por los negociadores orientados al estrógeno, sus opuestos; la combinación complementaria proporciona una combinación perfecta para la emotividad y las habilidades de las personas de las que carecen los directores. + + + Directores + + + Los exploradores son los hacedores, y son impulsados por la dopamina (un neurotransmisor involucrado en la búsqueda de placer y la motivación). Los exploradores buscan novedad y emoción, y les encanta aprender, viajar y conocer gente nueva. Son muy curiosos, orientados a objetivos y valoran su independencia. Viven en el momento y típicamente tienen una tonelada de energía. Los exploradores a menudo se sienten atraídos por aquellos que tienen una mentalidad similar. Sostienen que si quieres hacer, aprender, buscar y experimentar, no te iría bien con alguien que no compartiera esos deseos. + + + Exploradores + + + Los negociadores se caracterizan por el estrógeno. Son intuitivos, encantadores, perspicaces y cariñosos. Les va bien con la ambigüedad, y pueden leer entre líneas. Los negociadores son altamente empáticos y son hábiles para organizar y conectar a las personas. Les gusta cuando todos se llevan bien, y también son emocionalmente expresivos. Estos tipos a menudo se sienten atraídos por los directores dirigidos por la testosterona, sus opuestos; Los directores pueden prestar las habilidades de lógica, franqueza y decisión de las que a menudo carecen los negociadores. + + + Negociador + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Religion.es.resx b/MM.Shared/Enums/Resources/Religion.es.resx new file mode 100644 index 0000000..ca769e2 --- /dev/null +++ b/MM.Shared/Enums/Resources/Religion.es.resx @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + En general, estas tradiciones son orales en lugar de bíblicas y se transmiten de una generación a otra a través de cuentos populares, canciones y festivales, incluida la creencia en una cantidad de dioses superiores e inferiores, a veces incluyendo un creador o fuerza suprema, creencia en espíritus, veneración de los muertos, uso de magia y medicina tradicional africana. + + + Religiones tradicionales africanas + + + Filosofía o religión no teísta que surgió originalmente en la India alrededor del siglo 6 aC. y abarca diversas tradiciones, creencias y prácticas basadas en las enseñanzas, el Dharma, de Siddhartha Gautama, titulado Buda. + + + Budismo + + + La religión popular china, también conocida como religión popular china, es un término general que abarca una gama de prácticas religiosas tradicionales de los chinos Han, incluida la diáspora china. + + + Religión tradicional china + + + Es una religión abrahámica monoteísta centrada en la vida y las enseñanzas de Jesús de Nazaret como se presenta en el Nuevo Testamento. La fe cristiana esencialmente cree en Jesús como el Cristo, Hijo de Dios, Salvador y Señor. + + + Cristianismo + + + Religión étnica o religión indígena es un término que puede incluir religiones civiles oficialmente sancionadas organizadas con un clero organizado, pero que se caracterizan por el hecho de que sus adherentes a menudo se definen por una etnia común y la conversión equivale esencialmente a una asimilación cultural para las personas en cuestión. + + + Religiones étnicas + + + El hinduismo abarca el brahmanismo, es decir, la creencia en el "Alma Universal", Brahman; en un sentido más específico, el término se refiere al mundo cultural y religioso ordenado por castas de la India post-budista. + + + Hinduismo + + + Es una religión abrahámica monoteísta articulada por el Corán, un texto considerado por sus seguidores como la palabra literal de Dios, y por las enseñanzas normativas y ejemplos de Mahoma, considerado por los fieles como el último profeta de Dios. + + + Islam + + + El judaísmo es una religión abrahámica, monoteísta y étnica que comprende la tradición religiosa, cultural y legal colectiva y la civilización del pueblo judío. + + + Judaísmo + + + La irreligión (también conocida como incredulidad, ausencia de religión o personas sin religión) es la ausencia, indiferencia o no práctica de una religión. (Agnósticos, ateos, deístas) + + + No religioso / agnóstico / ateo + + + Puede incluir: Baháʼí, Jainismo, Shinto, Cao Dai, Zoroastrismo, Tenrikyo, Animismo, Neo-Paganismo, Universalismo Unitario, Rastafari, etc. + + + Otro + + + El sijismo enfatiza simran (ਸਿਮਰਨ, meditación y recuerdo de las enseñanzas de los Gurús), que puede expresarse musicalmente a través del kirtan, o internamente a través de naam japna ('meditación en Su nombre') como un medio para sentir la presencia de Dios. Enseña a los seguidores a transformar a los "Cinco Ladrones" (es decir, lujuria, rabia, codicia, apego y ego). + + + Sijismo + + + La filosofía espírita postula que los humanos, junto con todos los demás seres vivos, son esencialmente espíritus inmortales que habitan temporalmente cuerpos físicos para varias encarnaciones necesarias para alcanzar el mejoramiento moral e intelectual. + + + Espiritismo + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Section.es.resx b/MM.Shared/Enums/Resources/Section.es.resx new file mode 100644 index 0000000..bbe370d --- /dev/null +++ b/MM.Shared/Enums/Resources/Section.es.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Básico + + + Bio + + + Interés + + + Modo de vida + + + Personalidad + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/SexPersonality.es.resx b/MM.Shared/Enums/Resources/SexPersonality.es.resx new file mode 100644 index 0000000..ce5e223 --- /dev/null +++ b/MM.Shared/Enums/Resources/SexPersonality.es.resx @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ¡Esta personalidad sexual tiene que ver con el alivio del estrés! Digamos, por ejemplo, que uno tiene un trabajo de alto poder o está estresado por algo. Para el Descompresor, tener un poco de tiempo sexy es exactamente lo que buscan para desahogarse, relajarse y despejar su cabeza. A menudo conduce a dormir un poco. +Nota al margen: el orgasmo provoca la liberación de hormonas agradables: oxitocina, vasopresina y prolactina. Reducen el estrés, inducen el sueño y le dan una sensación general de bienestar. + + + Descompresor + + + ¡Para el Explorador, la intimidad física tiene que ver con la aventura! Este tipo de personas son curiosas, curiosas y listas para probar cosas nuevas en el dormitorio. En general, a un Explorer le encanta ser empujado fuera de su zona de confort, y no se toma demasiado en serio. +Probablemente han hecho un montón de investigación sobre el sexo, y están bien informados sobre el tema, listos para experimentarlo todo de primera mano. De hecho, incluso se ríen de algunas cosas incómodas que pueden tener lugar entre las sábanas. ¡Es todo diversión y juegos! + + + Explorador + + + Para el Fair-Trader, ¡el sexo tiene que ver con el equilibrio! Se trata de dar y recibir placer por igual, y estar abierto y listo para hablar sobre sus deseos, torceduras, gustos y disgustos. +Una persona con este tipo de personalidad sexual está dispuesta a comprometerse. Les encanta la idea de descubrir cuál es el tipo de estimulación favorito de su pareja, y luego proporcionarles dicha estimulación. Y, por supuesto, ¡que se le devuelva el favor! + + + Comerciante justo + + + ¡El Dador es, bueno, alguien que activamente obtiene placer al ver a su pareja retorcerse en la felicidad sexual! Para las personas de este tipo de personalidad sexual, no están tan enfocadas en sí mismas, sino que encuentran que el bienestar de su pareja es más importante. +Eso significa que están muy en sintonía con con quién están y se esfuerzan por hacerlos sentir bien. En el otro lado del espectro, el dador puede sentirse incómodo con recibir placer. + + + Dador + + + A The Guardian le encanta una buena sesión de sexo, ¡pero solo si dicha sesión es segura y cómoda para ambas partes! Este tipo de personalidad sexual siempre se asegurará de que su pareja se sienta segura y no permitirá que ninguna intimidad disminuya sin el consentimiento total. +Este tipo de amante puede tener esta personalidad sexual debido a traumas pasados, o simplemente les encanta tener intimidad cuando hay un gran nivel de confianza y seguridad. + + + Guardián + + + Si te gustan las sesiones de sexo animal, carnal y lujurioso, ¡entonces puedes ser un perseguidor de la pasión! Para las personas que tienen este tipo de estilo de personalidad sexual, el sexo se trata de intercambiar energía cruda y apasionada. Hay una sensación de realmente dejar ir y perderse en el momento para los Passion-Purserers. +Durante hacer el amor, es como si ambos miembros de la pareja fueran llevados a nuevas alturas de euforia. El tiempo no existe, creando oportunidades ilimitadas para que realmente sean quienes son sin juzgarlos. + + + Perseguidor de la pasión + + + ¡Esta personalidad sexual tiene que ver con sensaciones físicas! Para ellos, el sexo se siente bien, por lo que participan en todo tipo de diversión con una pareja o parejas. El pensamiento y el acto de tocar y ser tocado es completamente erótico. +Para los buscadores de placer, el sexo no es realmente una experiencia emocional, es algo para disfrutar por lo que es. De hecho, las personas de esta personalidad sexual pueden no requerir ninguna conexión emocional profunda para participar en todo tipo de éxtasis sexual. + + + Buscador de placer + + + Para el priorizador, ¡el sexo es su prioridad número uno! Es un acto que debe ser parte de la vida cotidiana, y no quitarse de la mesa cuando hay inconvenientes. Por ejemplo, si ha sido un día ocupado o uno o ambos miembros de la pareja se sienten cansados, el sexo no será descartado. En cambio, se priorizará. Se hacen sacrificios, y las pequeñas excusas no funcionarán cuando se trata de saltarse el sexo. +Las personas de esta personalidad sexual suelen centrarse en la rutina y quieren que su vida sexual sea consistente. + + + Priorizador + + + ¡La conexión emocional es el nombre del juego para el romántico! Si bien la intimidad física es igual de sensual e importante, sin emoción, el sexo no es muy memorable o significativo. +Si tu personalidad sexual es la romántica, disfrutas del contacto visual, el sexo más lento, la larga sesión de juegos previos y las palabras de afirmación. + + + Romántico + + + Si esta es tu personalidad sexual, descubres que la intimidad no es solo física y no es solo emocional. ¡Es una combinación de ambos, más una oportunidad de conectarse con un propósito superior! El sexo, para el espiritualista, es una experiencia trascendente. Es cuando dos personas realmente se conectan, las energías se entrelazan y la experiencia se siente casi palpable. +Un ejemplo de intimidad disfrutada por este tipo de personalidad sería el sexo tántrico. + + + Espiritualista + + + ¡Se trata del tabú, cariño! Los buscadores de emociones obtienen una prisa de todas las cosas que están prohibidas o son traviesas. Incluye actos de BDSM, como asumir roles dominantes o sumisos. O simplemente probar cosas en la cama que algunos pueden considerar intensas, extrañas o incluso locas. +Torceduras, fetiches y más... un Thrill-Seeker generalmente está listo para experimentarlo todo. + + + Buscador de emociones + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/SexualOrientation.es.resx b/MM.Shared/Enums/Resources/SexualOrientation.es.resx new file mode 100644 index 0000000..92ef96c --- /dev/null +++ b/MM.Shared/Enums/Resources/SexualOrientation.es.resx @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Estas son personas que se sienten atraídas por los géneros masculino y femenino, siempre que estas personas posean características femeninas y masculinas, es decir, son andróginas. La atracción depende principalmente de la apariencia de la persona, ya que necesitan verse tanto hombres como mujeres para que parezcan atractivos para una persona andrógina. + + + Androgynsexual + + + Término utilizado para comunicar atracción sexual o romántica hacia hombres, hombres o masculinidad. Este término incluye intencionalmente la atracción hacia aquellos que se identifican como hombres, hombres o hombres, independientemente de la biología, anatomía o sexo asignado al nacer. + + + Androsexual + + + Alguien que se identifica como miembro de la comunidad asexual experimenta poca o ninguna atracción sexual hacia otros de cualquier género. La asexualidad es un amplio espectro. Las personas que se identifican como asexuales también pueden identificarse con uno o más términos que pueden capturar más específicamente su relación con la atracción sexual. + + + Asexual + + + Una persona que se siente atraída sexualmente por sí misma. El deseo de alguien de participar en un comportamiento sexual como la masturbación no determina si es autosexual. + + + Autosexual + + + Una orientación sexual que describe a las personas que experimentan atracciones sexuales, románticas o emocionales hacia personas de más de un género. + + + Bisexual + + + En el espectro asexual, esta orientación sexual describe a las personas que experimentan atracción sexual solo en circunstancias específicas, como después de construir una relación romántica o emocional con una persona. + + + Demisexual + + + Graysexual se utiliza para reconocer el área gris en el espectro de la sexualidad para las personas que no se identifican explícita y exclusivamente como asexuales o arrománticos. + + + Graysexual + + + Un término utilizado para comunicar la atracción sexual o romántica hacia las mujeres, las mujeres o la feminidad. Este término incluye intencionalmente la atracción hacia aquellos que se identifican como mujeres, mujeres o mujeres, independientemente de su biología, anatomía o el sexo asignado al nacer. + + + Ginosexual + + + Un término que describe a las personas que experimentan atracción sexual, romántica o emocional hacia personas del género "opuesto" (por ejemplo, hombre vs. mujer, hombre vs. mujer) o un género diferente. + + + Heterosexual + + + Término que describe a las personas que experimentan atracción sexual, romántica o emocional hacia personas del mismo sexo o de un género similar. + + + Homosexual + + + Un término que describe a las personas que pueden experimentar atracción sexual, romántica o emocional hacia cualquier persona, independientemente del género, el sexo o la sexualidad de esa persona. + + + Pansexual + + + Un término que describe a las personas con una orientación sexual que implica atracción sexual o romántica hacia personas con diferentes géneros. Las orientaciones polisexuales incluyen bisexualidad, pansexualidad, omnisexualidad y queer, entre muchas otras. + + + Polisexual + + + Un término utilizado para referirse a las personas que rechazan las etiquetas de sexualidad o no se identifican con ninguna de ellas. Pomosexual no es necesariamente una identidad. + + + Pomosexual + + + Una palabra utilizada para describir a aquellos que experimentan atracción basada en la inteligencia, en lugar del sexo o el género. + + + Sapiosexual + + + Una orientación sexual que describe a las personas que se sienten atraídas sexualmente por personas con identidades de género no cisgénero, como las personas que no son binarias, genderqueer o trans. + + + Skoliosexual + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/SharedSpendingStyle.es.resx b/MM.Shared/Enums/Resources/SharedSpendingStyle.es.resx new file mode 100644 index 0000000..90329c7 --- /dev/null +++ b/MM.Shared/Enums/Resources/SharedSpendingStyle.es.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Este estilo de gasto implica que ambos socios contribuyan financieramente y dividan las facturas proporcionalmente en función de los ingresos o la situación financiera de cada persona. + + + Equilibrado + + + Este estilo de gasto implica que un socio pague por todo y con frecuencia ofrezca regalos a su pareja. + + + Bienhechor + + + Este estilo de gasto implica que ambos socios contribuyan financieramente, pero uno de los socios pague menos cosas y reciba regalos ocasionalmente. + + + Colaborador + + + Este estilo de gasto implica que un socio pague la mayoría de las cosas y ocasionalmente ofrezca regalos a su pareja. + + + Proveedor + + + Este estilo de gasto implica que una persona no contribuya financieramente y reciba regalos con frecuencia de su pareja. + + + Destinatario + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/SharedSpendingStyle.pt.resx b/MM.Shared/Enums/Resources/SharedSpendingStyle.pt.resx index 9bf49bc..f7b6e58 100644 --- a/MM.Shared/Enums/Resources/SharedSpendingStyle.pt.resx +++ b/MM.Shared/Enums/Resources/SharedSpendingStyle.pt.resx @@ -117,34 +117,34 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + Esse estilo de gasto envolve ambos os parceiros contribuindo financeiramente e dividindo as contas proporcionalmente com base na renda ou situação financeira de cada pessoa. - - + + Balanceado - - + + Esse estilo de gasto envolve um parceiro pagando por tudo e frequentemente oferecendo presentes ao parceiro. - - + + Benfeitor - - + + Esse estilo de gasto envolve ambos os parceiros contribuindo financeiramente, mas um parceiro pagando por menos coisas e recebendo presentes ocasionalmente. - - + + Contribuinte - - + + Esse estilo de gasto envolve um parceiro pagando pela maioria das coisas e, ocasionalmente, oferecendo presentes ao parceiro. - - + + Provedor - - + + Esse estilo de gasto envolve uma pessoa que não contribui financeiramente e recebe presentes frequentemente de seu parceiro. - - + + Recebedor \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Smoke.es.resx b/MM.Shared/Enums/Resources/Smoke.es.resx new file mode 100644 index 0000000..2f27f93 --- /dev/null +++ b/MM.Shared/Enums/Resources/Smoke.es.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + No + + + Sí (ocasionalmente) + + + Sí (a menudo) + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Sports.es.resx b/MM.Shared/Enums/Resources/Sports.es.resx new file mode 100644 index 0000000..0626923 --- /dev/null +++ b/MM.Shared/Enums/Resources/Sports.es.resx @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fútbol americano + + + Tiro con arco + + + Lucha de brazos + + + Automovilismo + + + Bádminton + + + Béisbol + + + Baloncesto + + + BMX + + + Trineo + + + Bodyboard + + + Bolos + + + Boxeo + + + Piragüismo + + + Baile competitivo + + + Grillo + + + Esquí de fondo + + + Curling + + + Ciclismo + + + Buceo + + + Dodgeball + + + Carreras de botes dragón + + + eSports + + + Hockey sobre hierba + + + Patinaje artístico + + + Pesca + + + Bolso (Hacky Sack) + + + Fútbol (Soccer) + + + Frisbee + + + Deslizamiento + + + Golf + + + Gimnasia + + + Ala delta + + + Excursionismo + + + Hipismo + + + Pesca en hielo + + + Hockey sobre hielo + + + Kayakismo + + + Lacrosse + + + Registro + + + Luge + + + Artes Marciales + + + Minigolf + + + Alpinismo + + + Parapente + + + Polo + + + Racquetball + + + Rafting + + + Ringette + + + Escalada + + + Patinaje sobre ruedas / Patinaje en línea + + + Remo + + + Rugby + + + Corriente + + + Navegación + + + Skate + + + Paracaidismo + + + Snorkel + + + Snowboard + + + Raquetas + + + Calabaza + + + Hockey callejero + + + Sumo + + + Surf + + + Natación + + + Ping-pong + + + Etiqueta + + + Tenis + + + Atletismo + + + Trampolín + + + Triatlón + + + Monociclismo + + + Voleibol + + + Wakesurf + + + Andante + + + Waterpolo + + + Halterofilia + + + Windsurf + + + Picado de madera + + + Lucha + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/TVGenre.es.resx b/MM.Shared/Enums/Resources/TVGenre.es.resx new file mode 100644 index 0000000..3b45ca3 --- /dev/null +++ b/MM.Shared/Enums/Resources/TVGenre.es.resx @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Un programa que cuenta con personajes animados. + + + Anime / Dibujos animados + + + Un programa de televisión que presenta la presentación de alimentos en un estudio de televisión de cocina. + + + Show de cocina + + + Un largometraje o casi largometraje que representa un evento o persona del mundo real, contado en un estilo periodístico. + + + Documental + + + Un tipo de programa que ayuda a los niños a aprender sus conceptos básicos para ir a la escuela. + + + Educativo + + + En los programas de juegos, los equipos de competidores o participantes convocados por la audiencia intentan resolver acertijos o responder preguntas de trivia, con premios otorgados si ganan. + + + Concurso + + + Programas de televisión producidos para niños. + + + Niños / Niños + + + Un programa de televisión que presenta temas como la moda, la dieta, el ejercicio, la salud y las actividades de ocio. + + + Modo de vida + + + Un programa donde la gente puede escuchar música en sus televisores. Esto es como una estación de radio. + + + Música Televisión + + + La programación de noticias incluye noticias nocturnas locales, transmisiones diurnas nacionales en redes de cable y programación semanal que generalmente se transmite los viernes o fines de semana. + + + Programa de Noticias + + + La televisión de realidad tiende a enfatizar a la gente común en lugar de las grandes estrellas. Algunos reality shows son competiciones, mientras que otros afirman mostrar rebanadas de la vida real. + + + Reality TV + + + Producido por organizaciones religiosas, generalmente con un mensaje religioso. Puede incluir servicios religiosos, programas de entrevistas / variedades y películas dramáticas. + + + Religioso + + + Programas de televisión telefónicos (a menudo en canales de compras), donde las personas pueden comprar artículos destacados o pujar por ellos. + + + Compras + + + Una serie dramática de televisión o radio que generalmente trata con eventos cotidianos en la vida del mismo grupo de personajes. + + + Telenovela + + + A diferencia de muchos otros formatos, los deportes a menudo se transmiten en vivo, lo que brinda una sensación de inmediatez y urgencia a la experiencia visual. + + + Deportivo + + + Los programas de entrevistas o programas de chat son programas de televisión basados en discusiones entre presentadores. + + + Talk show + + + Un grupo de episodios de un programa de televisión transmitido en intervalos regulares con un largo descanso entre cada grupo, generalmente con un año entre el comienzo de cada uno. + + + TV Series + + + Los programas de variedades resaltan el talento de sus invitados. Los espectáculos de variedades incluyen actos musicales, baile, actuaciones de comedia stand-up y sketches de comedia. + + + Show de variedades + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/TravelFrequency.es.resx b/MM.Shared/Enums/Resources/TravelFrequency.es.resx new file mode 100644 index 0000000..b5e1dbe --- /dev/null +++ b/MM.Shared/Enums/Resources/TravelFrequency.es.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Alguien que no viaja o viaja con poca frecuencia (generalmente de vacaciones o en situaciones específicas) + + + Nunca / Raramente + + + Una persona que viaja con cierta frecuencia (entre el 30% y el 70% de su tiempo), ya sea por trabajo o por ocio los fines de semana + + + A veces / con frecuencia + + + É alguém que está em constante movimento (muitas vezes não tem residência permanente), como uma estrela do rock que passa 365 dias por ano em ônibus de turismo e quartos de hotel ou mmm nômade digital que trabalha online e tem liberdade geográfica de viver onde quer. + + + Por lo general / siempre / nómada + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/Vacation.es.resx b/MM.Shared/Enums/Resources/Vacation.es.resx new file mode 100644 index 0000000..53532db --- /dev/null +++ b/MM.Shared/Enums/Resources/Vacation.es.resx @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tours de aventura (por ejemplo, rafting) + + + Agricultura (por ejemplo, estadías rurales) + + + Animales (por ejemplo, observación de aves) + + + Turismo de Arte + + + Es la recreación al aire libre de llevar cosas personales en la espalda mientras caminas durante más de un día. A menudo, pero no siempre, es un viaje largo y puede o no implicar acampar al aire libre. + + + Mochilero + + + Playa + + + Paseos en barco + + + Tours en autobús + + + Camping / Glamping + + + Una escapada a la ciudad es típicamente un tipo de vacaciones que dura 1-2 días. Como su nombre indica, eliges una ciudad donde viajar (generalmente durante el fin de semana) para ver algunas de sus principales atracciones. + + + Escapada a la ciudad + + + Clases (por ejemplo, clase de cocina) + + + Escalada y Montañismo + + + Conciertos + + + Conferencias + + + Cabañas + + + La práctica de viajar y alojarse con personas que no conoces, que anuncian sus casas en Internet + + + Sofá Surf + + + Trabajo creativo (por ejemplo, escritura) + + + Vacaciones en crucero + + + Turismo cultural + + + Tour en bicicleta + + + Buceo y Snorkeling + + + Proyectos de bricolaje (quédate en casa) + + + Visitas familiares (por ejemplo, padres) + + + Turismo cinematográfico (por ejemplo, localizaciones de rodaje) + + + Pesca + + + Vacaciones de fitness (por ejemplo, excursiones para correr) + + + Golf + + + Gourmet (por ejemplo, tours gastronómicos) + + + Alta cultura (por ejemplo, música clásica) + + + Excursionismo + + + Sitios Históricos + + + Pasatiempos (por ejemplo, leer) + + + Homecoming es la tradición de dar la bienvenida a antiguos alumnos y miembros y celebrar la existencia de una organización. Es una tradición en muchas escuelas secundarias, universidades e iglesias en los Estados Unidos y Canadá. + + + Regreso a casa + + + Mejoras para el hogar (quédese en casa) + + + Un acuerdo en el que dos familias cambian de casa de vacaciones + + + Intercambio de casas + + + Equitación + + + Viajes internacionales + + + Solo quedarse en casa + + + Los viajes de lujo son un segmento de nicho para las personas dispuestas a gastar dinero para sentirse mimadas. Este tipo de experiencias se ven en todo el mundo, pero no hay tantas como se podría pensar. Por su naturaleza, los viajes de lujo no tienen una restricción de tiempo, ya que puede quedarse de vacaciones siempre que tenga dinero o todo el tiempo que desee. + + + Viajes de lujo + + + Deportes de motor + + + Montañas / Lagos + + + Música / Eventos Festivales + + + Naturaleza / Parques Nacionales + + + Vida nocturna + + + Fotografía + + + Cultura pop (por ejemplo, eventos de cosplay) + + + Relajante / Wellness / SPA / Yoga + + + Religión y espiritualidad (por ejemplo, peregrinación) + + + Resorts + + + Retiros + + + Reuniones + + + Romántico + + + RV (Autocaravanas) / Viajes por carretera + + + Safaris + + + Navegación + + + Ciencia (por ejemplo, museos de ciencias, astronomía) + + + Compras (por ejemplo, capitales de la moda) + + + Visitas turísticas / Visitas guiadas + + + Snowboard y esquí + + + Viaje en solitario + + + Eventos Deportivos + + + Observación de estrellas + + + Parques temáticos + + + Viajar en tren + + + Voluntariado + + + Las vacaciones de trabajo tienden a ser la nueva forma de viajar para aquellos limitados a los ingresos disponibles. Los nómadas digitales son los más interesados en trabajar y viajar al mismo tiempo. Los nómadas digitales trabajan en línea y esto les da la máxima libertad para moverse por el mundo. + + + Laborable + + \ No newline at end of file diff --git a/MM.Shared/Enums/Resources/WantChildren.es.resx b/MM.Shared/Enums/Resources/WantChildren.es.resx new file mode 100644 index 0000000..abda115 --- /dev/null +++ b/MM.Shared/Enums/Resources/WantChildren.es.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Tal vez / Probablemente + + + No + + + + + \ No newline at end of file diff --git a/MM.Shared/AffinityVM.cs b/MM.Shared/Models/AffinityVM.cs similarity index 93% rename from MM.Shared/AffinityVM.cs rename to MM.Shared/Models/AffinityVM.cs index 52a6184..59ea18f 100644 --- a/MM.Shared/AffinityVM.cs +++ b/MM.Shared/Models/AffinityVM.cs @@ -1,4 +1,4 @@ -namespace MM.Shared +namespace MM.Shared.Models { public class AffinityVM { diff --git a/MM.Shared/JavascriptVM.cs b/MM.Shared/Models/JavascriptVM.cs similarity index 97% rename from MM.Shared/JavascriptVM.cs rename to MM.Shared/Models/JavascriptVM.cs index 2febd03..4dd6f8d 100644 --- a/MM.Shared/JavascriptVM.cs +++ b/MM.Shared/Models/JavascriptVM.cs @@ -1,4 +1,4 @@ -namespace MM.Shared +namespace MM.Shared.Models { public class GeoLocation { diff --git a/MM.Shared/Models/Profile/ProfileModel.cs b/MM.Shared/Models/Profile/ProfileModel.cs index f9b45da..8d96eb0 100644 --- a/MM.Shared/Models/Profile/ProfileModel.cs +++ b/MM.Shared/Models/Profile/ProfileModel.cs @@ -405,7 +405,7 @@ public class Partner { [Required] [EmailAddress] - [Custom(Name = "Convidar Parceiro", Prompt = "Email do parceiro", Description = "Precisa ser o mesmo e-mail que será usado no cadastro")] + [Custom(Name = "Convidar Parceiro", Prompt = "Email do parceiro", Description = "Precisa ser o mesmo e-mail que será usado no cadastro/login")] public string? Email { get; set; } public string? Id { get; set; } diff --git a/MM.Shared/Models/Profile/Resources/ProfileBasicModel.es.resx b/MM.Shared/Models/Profile/Resources/ProfileBasicModel.es.resx new file mode 100644 index 0000000..7178fe4 --- /dev/null +++ b/MM.Shared/Models/Profile/Resources/ProfileBasicModel.es.resx @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Sexo biológico + + + Situación actual + + + Descripción + + + Por su propia seguridad, no incluya información de contacto (móvil, correo electrónico, etc.) o su ubicación (donde se encuentra o ha estado). \n\nNOTA: La promoción de redes sociales, productos, servicios y/o contenidos que vulneren derechos de terceros será objeto de expulsión de la plataforma. + + + La opción más común seleccionada automáticamente (aplicable a la mayoría de las personas) + + + Identidad de género + + + Dependiendo de la selección, puede cambiar los campos obligatorios (elija hasta 2 opciones) + + + Intenciones + + + Elegido automáticamente según los idiomas vigentes en el país (si están disponibles) + + + Idiomas + + + No almacenamos su ubicación GPS, solo su ciudad. (El acceso a la ubicación del dispositivo debe ser liberado) + + + Ubicación + + + Por favor, haga clic en el botón al lado + + + Modalidad + + + Apodo + + + Ej: Pablo + + + La opción más común seleccionada automáticamente (aplicable a la mayoría de las personas) + + + Orientación sexual + + \ No newline at end of file diff --git a/MM.Shared/Models/Profile/Resources/ProfileBioModel.es.resx b/MM.Shared/Models/Profile/Resources/ProfileBioModel.es.resx new file mode 100644 index 0000000..25a6a02 --- /dev/null +++ b/MM.Shared/Models/Profile/Resources/ProfileBioModel.es.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Edad + + + Fecha de nacimiento + + + Cuerpo + + + Discapacidades + + + Altura + + + Neurodiversidad + + + Clasificación definida por US OMB + + + Raza + + + Zodiaco + + \ No newline at end of file diff --git a/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.es.resx b/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.es.resx new file mode 100644 index 0000000..a3e03a4 --- /dev/null +++ b/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.es.resx @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + La opción más común seleccionada automáticamente (aplicable a la mayoría de las personas) + + + Carrera + + + Dieta + + + Beber + + + Educación + + + Tiene hijos + + + Si tiene alguna duda, puede realizar una prueba en el sitio web original (solo en inglés) + + + Lenguaje del amor + + + Es necesario probar en un sitio de terceros (multilingüe) + + + Personalidad MBTI + + + Si tiene alguna duda, puede realizar una prueba en el sitio web original (solo en inglés) + + + Personalidad financiera + + + En caso de duda, puede realizar una prueba en un sitio de terceros (solo en inglés) + + + Personalidad en la relación + + + Religión + + + A diferencia de otras personalidades, la compatibilidad de esta es una preferencia personal. + + + Personalidad sexual + + + Si tiene alguna duda, puede realizar una prueba en el sitio web original (solo en inglés) + + + Personalidad sexual + + + Estilo de gasto compartido + + + Humo + + + Frecuencia de viaje + + + Quiero hijos + + \ No newline at end of file diff --git a/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.pt.resx b/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.pt.resx index 0810775..b87042c 100644 --- a/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.pt.resx +++ b/MM.Shared/Models/Profile/Resources/ProfileLifestyleModel.pt.resx @@ -163,7 +163,7 @@ Religião - Diferentemente das outras personalidades, a compatibilidade desta é uma preferência pessoal + Diferentemente das outras personalidades, a compatibilidade desta é uma preferência pessoal. Personalidade Sexual @@ -175,7 +175,7 @@ Personalidade Sexual - + Estilo de gastos compartilhados Fuma diff --git a/MM.Shared/Models/Support/TicketModel.cs b/MM.Shared/Models/Support/TicketModel.cs index c6629d8..d68d671 100644 --- a/MM.Shared/Models/Support/TicketModel.cs +++ b/MM.Shared/Models/Support/TicketModel.cs @@ -36,8 +36,10 @@ public void ChangeStatus(TicketStatus ticketStatus) Update(); } - public void Initialize(string idUserOwner) + public void Initialize(string? idUserOwner) { + if (string.IsNullOrEmpty(IdUserOwner)) throw new ArgumentNullException(nameof(idUserOwner)); + IdUserOwner = idUserOwner; var id = Guid.NewGuid().ToString(); diff --git a/MM.WEB/Core/AffinityCore.cs b/MM.WEB/Core/AffinityCore.cs index 22c9647..5b838c3 100644 --- a/MM.WEB/Core/AffinityCore.cs +++ b/MM.WEB/Core/AffinityCore.cs @@ -1,5 +1,4 @@ -using MM.Shared; -using MM.Shared.Models.Profile; +using MM.Shared.Models.Profile; namespace MM.WEB.Core { @@ -102,16 +101,16 @@ private static bool IsRangeMatch(this IReadOnlyList preferences, IReadOnlyL public static string GetLocation(ProfileModel user) { - var parts = user.Location.Split(" - "); + var parts = user.Location?.Split(" - ") ?? Array.Empty(); - return user.Preference.Region switch + return user.Preference?.Region switch { Region.City => user.Location, //level 3 Region.State => $"{parts[0]} - {parts[1]}", //level 2 Region.Country => $"{parts[0]}", //level 1 Region.World => "", _ => "", - }; + } ?? ""; } public static IReadOnlyList GetLanguages(ProfileModel user, ProfilePreferenceModel? pref = null) diff --git a/MM.WEB/Core/ComponenteCore.cs b/MM.WEB/Core/ComponenteCore.cs index 3118a41..daf4d8e 100644 --- a/MM.WEB/Core/ComponenteCore.cs +++ b/MM.WEB/Core/ComponenteCore.cs @@ -15,6 +15,11 @@ public abstract class ComponenteNoDataCore : ComponentBase where T : class [Inject] protected IResizeListener listener { get; set; } = default!; [Inject] protected PrincipalApi PrincipalApi { get; set; } = default!; + /// + /// if you implement the OnAfterRenderAsync method, call 'await base.OnAfterRenderAsync(firstRender);' + /// + /// + /// protected override void OnAfterRender(bool firstRender) { base.OnAfterRender(firstRender); @@ -38,17 +43,24 @@ private async void WindowResized(object? obj, BrowserWindowSize window) } /// - /// if you implement the OnInitializedAsync method, call 'await base.OnInitializedAsync();' + /// if you implement the OnAfterRenderAsync method, call 'await base.OnAfterRenderAsync(firstRender);' /// /// public abstract class ComponenteCore : ComponenteNoDataCore where T : class { protected abstract Task LoadData(); + /// + /// if you implement the OnAfterRenderAsync method, call 'await base.OnAfterRenderAsync(firstRender);' + /// + /// + /// protected override async Task OnAfterRenderAsync(bool firstRender) { try { + await base.OnAfterRenderAsync(firstRender); + if (firstRender) { await LoadData(); @@ -70,10 +82,16 @@ public abstract class PageCore : ComponenteCore where T : class { [Inject] protected NavigationManager Navigation { get; set; } = default!; + /// + /// if you implement the OnInitializedAsync method, call 'await base.OnInitializedAsync();' + /// + /// protected override async Task OnInitializedAsync() { try { + await base.OnInitializedAsync(); + if (await AppState.IsUserAuthenticated()) { var principal = await PrincipalApi.Get(); @@ -95,10 +113,16 @@ public abstract class PageNoDataCore : ComponenteNoDataCore where T : clas { [Inject] protected NavigationManager Navigation { get; set; } = default!; + /// + /// if you implement the OnInitializedAsync method, call 'await base.OnInitializedAsync();' + /// + /// protected override async Task OnInitializedAsync() { try { + await base.OnInitializedAsync(); + if (await AppState.IsUserAuthenticated()) { var principal = await PrincipalApi.Get(); diff --git a/MM.WEB/MM.WEB.csproj b/MM.WEB/MM.WEB.csproj index cd3a48d..c6f80de 100644 --- a/MM.WEB/MM.WEB.csproj +++ b/MM.WEB/MM.WEB.csproj @@ -44,19 +44,19 @@ - - - - + + + + - - - + + + - + diff --git a/MM.WEB/Modules/Index.razor b/MM.WEB/Modules/Index.razor index 562a4bb..da384ad 100644 --- a/MM.WEB/Modules/Index.razor +++ b/MM.WEB/Modules/Index.razor @@ -1,7 +1,7 @@ @page "/" @page "/Index" @using MM.Shared.Models.Profile; -@using MM.WEB.Modules.Profile.Component.Card +@using MM.WEB.Modules.Profile.Component @using MM.WEB.Modules.Profile.Core; @attribute [Authorize] @inherits PageCore diff --git a/MM.WEB/Modules/Profile/Component/btn/BtnBlink.razor b/MM.WEB/Modules/Profile/Component/Button/BtnBlink.razor similarity index 94% rename from MM.WEB/Modules/Profile/Component/btn/BtnBlink.razor rename to MM.WEB/Modules/Profile/Component/Button/BtnBlink.razor index cbb3e95..0dcc3ca 100644 --- a/MM.WEB/Modules/Profile/Component/btn/BtnBlink.razor +++ b/MM.WEB/Modules/Profile/Component/Button/BtnBlink.razor @@ -11,7 +11,7 @@ } @code { - [Parameter] public string IdUserView { get; set; } + [Parameter] public string? IdUserView { get; set; } [Parameter] public EventCallback OnClick { get; set; } private bool IsVisible => true; diff --git a/MM.WEB/Modules/Profile/Component/btn/BtnChat.razor b/MM.WEB/Modules/Profile/Component/Button/BtnChat.razor similarity index 85% rename from MM.WEB/Modules/Profile/Component/btn/BtnChat.razor rename to MM.WEB/Modules/Profile/Component/Button/BtnChat.razor index 2203d69..ccf8eb0 100644 --- a/MM.WEB/Modules/Profile/Component/btn/BtnChat.razor +++ b/MM.WEB/Modules/Profile/Component/Button/BtnChat.razor @@ -5,7 +5,7 @@ @code { - [Parameter] public string IdUserView { get; set; } + [Parameter] public string? IdUserView { get; set; } private void GoChat() { diff --git a/MM.WEB/Modules/Profile/Component/btn/BtnDeslike.razor b/MM.WEB/Modules/Profile/Component/Button/BtnDeslike.razor similarity index 92% rename from MM.WEB/Modules/Profile/Component/btn/BtnDeslike.razor rename to MM.WEB/Modules/Profile/Component/Button/BtnDeslike.razor index e16f0c7..102fb5f 100644 --- a/MM.WEB/Modules/Profile/Component/btn/BtnDeslike.razor +++ b/MM.WEB/Modules/Profile/Component/Button/BtnDeslike.razor @@ -8,7 +8,7 @@ } @code { - [Parameter] public string IdUserView { get; set; } + [Parameter] public string? IdUserView { get; set; } [Parameter] public EventCallback OnClick { get; set; } private bool IsVisible => true; diff --git a/MM.WEB/Modules/Profile/Component/btn/BtnLike.razor b/MM.WEB/Modules/Profile/Component/Button/BtnLike.razor similarity index 95% rename from MM.WEB/Modules/Profile/Component/btn/BtnLike.razor rename to MM.WEB/Modules/Profile/Component/Button/BtnLike.razor index 1574533..e244dd4 100644 --- a/MM.WEB/Modules/Profile/Component/btn/BtnLike.razor +++ b/MM.WEB/Modules/Profile/Component/Button/BtnLike.razor @@ -11,7 +11,7 @@ } @code { - [Parameter] public string IdUserView { get; set; } + [Parameter] public string? IdUserView { get; set; } [Parameter] public EventCallback OnClick { get; set; } private bool IsVisible => true; diff --git a/MM.WEB/Modules/Profile/Component/Card/CardCompatibility.razor b/MM.WEB/Modules/Profile/Component/CardCompatibility.razor similarity index 99% rename from MM.WEB/Modules/Profile/Component/Card/CardCompatibility.razor rename to MM.WEB/Modules/Profile/Component/CardCompatibility.razor index 9995a45..2ac8d91 100644 --- a/MM.WEB/Modules/Profile/Component/Card/CardCompatibility.razor +++ b/MM.WEB/Modules/Profile/Component/CardCompatibility.razor @@ -1,4 +1,5 @@ @using MM.Shared.Models.Profile; +@using MM.WEB.Modules.Shared.Popup; @inherits ComponenteNoDataCore @@ -94,19 +95,19 @@ } - +
  • O cálculo é baseado em pesquisas e estatísticas, podendo não refletir com precisão todos os casos e/ou contextos;
  • Caso tenha dúvidas e/ou sugestões de melhorias, favor abrir um ticket na nossa página de suporte;
-
+ @code { [Parameter] public ProfileModel? User { get; set; } [Parameter] public ProfileView? View { get; set; } [Parameter] public List Affinities { get; set; } = new(); - private Shared.modal.BasicModal? help; + private BasicModal? help; private int totPercAff => Affinities.GetPercentAffinity(null); //protected override async Task OnInitializedAsync() diff --git a/MM.WEB/Shared/ItemDataProfile.razor b/MM.WEB/Modules/Profile/Component/ItemDataProfile.razor similarity index 99% rename from MM.WEB/Shared/ItemDataProfile.razor rename to MM.WEB/Modules/Profile/Component/ItemDataProfile.razor index 66a91c6..b86dc35 100644 --- a/MM.WEB/Shared/ItemDataProfile.razor +++ b/MM.WEB/Modules/Profile/Component/ItemDataProfile.razor @@ -1,6 +1,5 @@ @using System.Linq.Expressions; @using MM.Shared.Models.Profile; -@using MM.WEB.Modules.Profile.Component.modal; @inherits ComponenteNoDataCore> @typeparam TValue @typeparam TValueUser diff --git a/MM.WEB/Modules/Profile/Component/MyRelationships.razor b/MM.WEB/Modules/Profile/Component/MyRelationships.razor index bf68e3c..720e615 100644 --- a/MM.WEB/Modules/Profile/Component/MyRelationships.razor +++ b/MM.WEB/Modules/Profile/Component/MyRelationships.razor @@ -1,8 +1,7 @@ @using FluentValidation; @using MM.Shared.Models.Profile; -@using MM.WEB.Modules.Profile.Component.Field @using MM.WEB.Modules.Profile.Core; -@using MM.WEB.Shared.Field; +@using MM.WEB.Modules.Shared.General; @using VerusDate.Web.Api; @inherits ComponenteCore @@ -88,33 +87,38 @@ { LoadingInvites?.Start(); var principal = await PrincipalApi.Get(); - if (principal != null) Invite = await InviteApi.Invite_Get(principal.Email); + if (principal != null) Invite = await InviteApi.Invite_Get(principal.Email ?? throw new ValidationException("invalid email")); var isEmpty = Invite == null || !Invite.Invites.Any(); LoadingInvites?.Finish(isEmpty, "Não existem convites pendentes"); } private void AddNewPartner() { + if (partner == null) return; + profile?.Partners.Add(partner); - NewInvites.Add(partner.Email); + NewInvites.Add(partner.Email ?? throw new ValidationException("invalid email")); partner = new(); } - private void RemovePartner(string email) + private void RemovePartner(string? email) { - var obj = profile.Partners.FirstOrDefault(x => x.Email == email); + if (string.IsNullOrEmpty(email)) return; + + var obj = profile?.Partners.FirstOrDefault(x => x.Email == email); - if (obj != null) profile.Partners.Remove(obj); + if (obj != null) profile?.Partners.Remove(obj); - RemovedInvites.Add(partner.Email); + RemovedInvites.Add(partner?.Email ?? throw new ValidationException("email not found")); } private async Task AcceptInvite(string userId) { try { + if (profile == null) return; var validator = new ProfileValidation(); if (validator.Validate(profile, options => options.IncludeRuleSets("BASIC", "BIO", "LIFESTYLE", "PERSONALITY", "INTEREST")).IsValid) diff --git a/MM.WEB/Shared/PhotoFace.razor b/MM.WEB/Modules/Profile/Component/PhotoFace.razor similarity index 90% rename from MM.WEB/Shared/PhotoFace.razor rename to MM.WEB/Modules/Profile/Component/PhotoFace.razor index 08f42e7..b4d6740 100644 --- a/MM.WEB/Shared/PhotoFace.razor +++ b/MM.WEB/Modules/Profile/Component/PhotoFace.razor @@ -18,9 +18,9 @@ else } @code { - [Parameter] public string IdFace { get; set; } + [Parameter] public string? IdFace { get; set; } [Parameter] public bool isCircle { get; set; } - [Parameter] public string Label { get; set; } + [Parameter] public string? Label { get; set; } private string GetPhotoFace() { diff --git a/MM.WEB/Modules/Profile/Component/Popup/PopupProfile.razor b/MM.WEB/Modules/Profile/Component/PopupProfile.razor similarity index 96% rename from MM.WEB/Modules/Profile/Component/Popup/PopupProfile.razor rename to MM.WEB/Modules/Profile/Component/PopupProfile.razor index bef4cd8..e2b8c31 100644 --- a/MM.WEB/Modules/Profile/Component/Popup/PopupProfile.razor +++ b/MM.WEB/Modules/Profile/Component/PopupProfile.razor @@ -1,5 +1,6 @@ @using MM.Shared.Models.Profile; @using MM.WEB.Modules.Profile.Core; +@using MM.WEB.Modules.Shared.General; @inherits ComponenteCore @attribute [Authorize] @@ -124,12 +125,12 @@ *@ - + - + @@ -164,7 +165,7 @@ string? selectedImage; string[] imageDataUriGallery = Array.Empty(); - private Component.modal.ProfileReport? report; + private ProfileReport? report; protected override async Task LoadData() { diff --git a/MM.WEB/Shared/ProfileBadge.razor b/MM.WEB/Modules/Profile/Component/ProfileBadge.razor similarity index 100% rename from MM.WEB/Shared/ProfileBadge.razor rename to MM.WEB/Modules/Profile/Component/ProfileBadge.razor diff --git a/MM.WEB/Modules/Profile/Component/modal/ProfileReport.razor b/MM.WEB/Modules/Profile/Component/ProfileReport.razor similarity index 97% rename from MM.WEB/Modules/Profile/Component/modal/ProfileReport.razor rename to MM.WEB/Modules/Profile/Component/ProfileReport.razor index f9b9b8a..2731c55 100644 --- a/MM.WEB/Modules/Profile/Component/modal/ProfileReport.razor +++ b/MM.WEB/Modules/Profile/Component/ProfileReport.razor @@ -42,7 +42,7 @@ public void ShowModal() { - modal.Show(); + modal?.Show(); } void OnCheckedValueChanged(int value) @@ -56,6 +56,6 @@ //delete match - modal.Hide(); + modal?.Hide(); } } \ No newline at end of file diff --git a/MM.WEB/Modules/Profile/Core/DataHelper.cs b/MM.WEB/Modules/Profile/Core/DataHelper.cs new file mode 100644 index 0000000..84764b5 --- /dev/null +++ b/MM.WEB/Modules/Profile/Core/DataHelper.cs @@ -0,0 +1,437 @@ +using MM.Shared.Models.Profile; + +namespace MM.WEB.Modules.Profile.Core +{ + public static class DataHelper + { + public static void AddLanguages(this ProfileModel profile, Country country) + { + //https://en.wikipedia.org/wiki/List_of_official_languages + //https://en.wikipedia.org/wiki/List_of_official_languages_by_country_and_territory + if (profile.Languages.Any()) return; + + switch (country) + { + case Country.CHN: + profile.Languages = new Language[] { Language.zh }; + break; + + case Country.IND: + profile.Languages = new Language[] { Language.HindiUrdu }; + break; + + case Country.USA: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.IDN: + profile.Languages = new Language[] { Language.ms }; //Indonesian = It is a standardized variety of Malay + break; + + case Country.PAK: + profile.Languages = new Language[] { Language.HindiUrdu }; + break; + + case Country.NGA: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.BRA: + profile.Languages = new Language[] { Language.pt }; + break; + + case Country.BGD: + //profile.Languages = new Language[] { Language.Bengali }; + break; + + case Country.RUS: + profile.Languages = new Language[] { Language.ru }; + break; + + case Country.MEX: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.JPN: + //profile.Languages = new Language[] { Language.Japanese }; + break; + + case Country.ETH: + //Oromo, Amharic + break; + + case Country.PHL: + //Filipino (Tagalog) + break; + + case Country.EGY: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.VNM: + //profile.Languages = new Language[] { Language.Vietnamese }; + break; + + case Country.COD: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.IRN: + profile.Languages = new Language[] { Language.fa }; + break; + + case Country.TUR: + profile.Languages = new Language[] { Language.Turkish }; + break; + + case Country.DEU: + profile.Languages = new Language[] { Language.de }; + break; + + case Country.FRA: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.GBR: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.THA: + //Thai + break; + + case Country.ZAF: + //Zulu, Xhosa, Afrikaans, English + break; + + case Country.TZA: + profile.Languages = new Language[] { Language.sw, Language.en }; + break; + + case Country.ITA: + profile.Languages = new Language[] { Language.it }; + break; + + case Country.MMR: + //Burmese + break; + + case Country.KOR: + profile.Languages = new Language[] { Language.Korean }; + break; + + case Country.COL: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.KEN: + profile.Languages = new Language[] { Language.sw, Language.en }; + break; + + case Country.ESP: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.ARG: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.DZA: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.SDN: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.UGA: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.IRQ: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.UKR: + //Ukrainian + break; + + case Country.CAN: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.POL: + //Polish + break; + + case Country.MAR: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.UZB: + //Uzbek + break; + + case Country.SAU: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.PER: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.AGO: + profile.Languages = new Language[] { Language.pt }; + break; + + case Country.AFG: + profile.Languages = new Language[] { Language.fa }; //Dari, which is a variety of and mutually intelligible with Persian + //Pashto, Dari + break; + + case Country.MYS: + profile.Languages = new Language[] { Language.ms }; + break; + + case Country.MOZ: + profile.Languages = new Language[] { Language.pt }; + break; + + case Country.GHA: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.YEM: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.NPL: + //Nepali + break; + + case Country.VEN: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.CIV: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.MDG: + //Malagasy (official, and national language), French (official). + break; + + case Country.AUS: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.PRK: + profile.Languages = new Language[] { Language.Korean }; + break; + + case Country.CMR: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.NER: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.TWN: + profile.Languages = new Language[] { Language.zh }; + break; + + case Country.LKA: + //Sinhala + break; + + case Country.BFA: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.MWI: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.MLI: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.CHL: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.KAZ: + //Kazakh, Russian + break; + + case Country.ROU: + profile.Languages = new Language[] { Language.ro }; + break; + + case Country.ZMB: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.SYR: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.ECU: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.NLD: + profile.Languages = new Language[] { Language.nl }; + break; + + case Country.SEN: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.GTM: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.TCD: + profile.Languages = new Language[] { Language.fr, Language.ar }; + break; + + case Country.SOM: + profile.Languages = new Language[] { Language.Somali }; + break; + + case Country.ZWE: + //Shona, English + break; + + case Country.KHM: + //Khmer + break; + + case Country.SSD: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.RWA: + //Kinyarwanda + break; + + case Country.GIN: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.BDI: + //Kirundi + break; + + case Country.BEN: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.BOL: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.TUN: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.HTI: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.BEL: + profile.Languages = new Language[] { Language.nl }; + break; + + case Country.JOR: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.CUB: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.GRC: + profile.Languages = new Language[] { Language.Greek }; + break; + + case Country.DOM: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.CZE: + //Czech + break; + + case Country.SWE: + profile.Languages = new Language[] { Language.Swedish }; + break; + + case Country.PRT: + profile.Languages = new Language[] { Language.pt }; + break; + + case Country.AZE: + //Azerbaijani + break; + + case Country.HUN: + //Hungarian + break; + + case Country.HND: + profile.Languages = new Language[] { Language.es }; + break; + + case Country.ISR: + //Hebrew + break; + + case Country.TJK: + profile.Languages = new Language[] { Language.ru }; + break; + + case Country.BLR: + profile.Languages = new Language[] { Language.ru }; + break; + + case Country.ARE: + profile.Languages = new Language[] { Language.ar }; + break; + + case Country.PNG: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.AUT: + profile.Languages = new Language[] { Language.de }; + break; + + case Country.CHE: + profile.Languages = new Language[] { Language.de }; + break; + + case Country.SLE: + profile.Languages = new Language[] { Language.en }; + break; + + case Country.TGO: + profile.Languages = new Language[] { Language.fr }; + break; + + case Country.HKG: + //Cantonese + break; + + case Country.PRY: + profile.Languages = new Language[] { Language.es }; + break; + + default: + break; + } + } + } +} \ No newline at end of file diff --git a/MM.WEB/Modules/Profile/Core/MapaApi.cs b/MM.WEB/Modules/Profile/Core/MapaApi.cs index 331968f..1aeedc4 100644 --- a/MM.WEB/Modules/Profile/Core/MapaApi.cs +++ b/MM.WEB/Modules/Profile/Core/MapaApi.cs @@ -1,5 +1,4 @@ using Microsoft.Extensions.Caching.Memory; -using MM.Shared; using System.Globalization; namespace MM.WEB.Modules.Profile.Core diff --git a/MM.WEB/Modules/Profile/ProfileData.razor b/MM.WEB/Modules/Profile/ProfileData.razor index 0f7d68d..c759ba6 100644 --- a/MM.WEB/Modules/Profile/ProfileData.razor +++ b/MM.WEB/Modules/Profile/ProfileData.razor @@ -1,8 +1,7 @@ @page "/Profile/Data" @using MM.Shared.Models.Profile; @using MM.WEB.Modules.Profile.Component -@using MM.WEB.Modules.Profile.Component.Field -@using MM.WEB.Shared.Field; +@using MM.WEB.Modules.Shared.Popup; @attribute [Authorize] @inherits PageCore @@ -51,6 +50,9 @@ } else if (SelectedTab == Tabs.Bio) { + + To ensure a positive atmosphere, we take harassment and prejudice seriously. If you encounter such behavior, please report the profile promptly. + - - Fazemos o possível para manter um ambiente saudável dentro da plataforma, mas não podemos garantir 100%. Então caso tenha dificuldades de interagir ou de identificar más intenções nas pessoas, não sinta vergonha de pedir ajuda a amigos ou familiares. E se sofrer qualquer tipo de assédio e/ou preconceito, denuncie o perfil imediatamente. + + If you find it challenging to interact or recognize harmful intentions, consider reaching out to friends or family for support. @@ -132,7 +134,7 @@ else if (SelectedTab == Tabs.Personality) { - Os campos deste tópico requerem um teste, mas alguns poderão facilmente ser escolhidos apenas lendo a descrição dos itens + For more complex personalities, explore tests on specialized sites. Some can be answered just by reading the item descriptions. @@ -156,7 +158,7 @@ else if (SelectedTab == Tabs.Interests) { - Escolha no máximo 3 itens para cada campo + Choose a maximum of 3 items for each field @@ -199,14 +201,14 @@ - +
  • Pedimos que leia nosso 'Termos de Uso' para ficar ciente de como seus dados serão tratados;
  • Seja honesto nas respostas dadas neste formulário. Todas as informações aqui contidas estão abertas a denúncias e poderão ser avaliadas;
-
+ - + Esta opção terá explicações de cada um dos itens disponíveis para escolha @@ -219,12 +221,12 @@ Esta opção solicitará localização para seu aparelho (precisa estar habilitada esta opção) - + @code { - private Shared.modal.BasicModal? privacy; - private Shared.modal.BasicModal? help; + private BasicModal? privacy; + private BasicModal? help; private FluentValidationValidator? _validator; private Loading? LoadingProfile; diff --git a/MM.WEB/Modules/Profile/ProfileData.razor.cs b/MM.WEB/Modules/Profile/ProfileData.razor.cs index ff9f02f..2223b96 100644 --- a/MM.WEB/Modules/Profile/ProfileData.razor.cs +++ b/MM.WEB/Modules/Profile/ProfileData.razor.cs @@ -2,7 +2,6 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Forms; using Microsoft.JSInterop; -using MM.Shared; using MM.Shared.Models.Profile; using MM.WEB.Modules.Profile.Core; using VerusDate.Web.Api; @@ -16,9 +15,9 @@ public partial class ProfileData : PageCore [Inject] protected MapApi MapApi { get; set; } = default!; [Inject] protected IJSRuntime JsRuntime { get; set; } = default!; - private ProfileModel? profile = new(); + private ProfileModel? profile { get; set; } - private GeoLocation? GPS = new(); + private GeoLocation? GPS { get; set; } protected override async Task LoadData() { @@ -49,6 +48,8 @@ private async Task SetLocation(ProfileModel profile) } else if (position.Location != null) { + GPS ??= new(); + GPS.Latitude = position.Location.Coords.Latitude; GPS.Longitude = position.Location.Coords.Longitude; GPS.Accuracy = position.Location.Coords.Accuracy; @@ -60,11 +61,13 @@ private async Task SetLocation(ProfileModel profile) var address = here.items[0].address; profile.Location = address.GetLocation(); - AddLanguages((Country)Enum.Parse(typeof(Country), address.countryCode)); + var country = (Country)Enum.Parse(typeof(Country), address.countryCode); + + profile.AddLanguages(country); } else { - profile.Location = "Localização Desconhecida"; + profile.Location = "Unknown Location"; } //profile.Longitude = GPS.Longitude; @@ -77,441 +80,11 @@ private async Task SetLocation(ProfileModel profile) } else { - await Toast.Warning($"Não foi possível detectar um sistema GPS no seu dispositivo. Favor, tentar novamente ou liberar acesso ao GPS do seu dispositivo."); + await Toast.Warning($"We were unable to detect a GPS system on your device. Please try again or release access to your device's GPS."); } } } - private void AddLanguages(Country country) - { - //https://en.wikipedia.org/wiki/List_of_official_languages - //https://en.wikipedia.org/wiki/List_of_official_languages_by_country_and_territory - if (profile.Languages.Any()) return; - - switch (country) - { - case Country.CHN: - profile.Languages = new Language[] { Language.zh }; - break; - - case Country.IND: - profile.Languages = new Language[] { Language.HindiUrdu }; - break; - - case Country.USA: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.IDN: - profile.Languages = new Language[] { Language.ms }; //Indonesian = It is a standardized variety of Malay - break; - - case Country.PAK: - profile.Languages = new Language[] { Language.HindiUrdu }; - break; - - case Country.NGA: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.BRA: - profile.Languages = new Language[] { Language.pt }; - break; - - case Country.BGD: - //profile.Languages = new Language[] { Language.Bengali }; - break; - - case Country.RUS: - profile.Languages = new Language[] { Language.ru }; - break; - - case Country.MEX: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.JPN: - //profile.Languages = new Language[] { Language.Japanese }; - break; - - case Country.ETH: - //Oromo, Amharic - break; - - case Country.PHL: - //Filipino (Tagalog) - break; - - case Country.EGY: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.VNM: - //profile.Languages = new Language[] { Language.Vietnamese }; - break; - - case Country.COD: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.IRN: - profile.Languages = new Language[] { Language.fa }; - break; - - case Country.TUR: - profile.Languages = new Language[] { Language.Turkish }; - break; - - case Country.DEU: - profile.Languages = new Language[] { Language.de }; - break; - - case Country.FRA: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.GBR: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.THA: - //Thai - break; - - case Country.ZAF: - //Zulu, Xhosa, Afrikaans, English - break; - - case Country.TZA: - profile.Languages = new Language[] { Language.sw, Language.en }; - break; - - case Country.ITA: - profile.Languages = new Language[] { Language.it }; - break; - - case Country.MMR: - //Burmese - break; - - case Country.KOR: - profile.Languages = new Language[] { Language.Korean }; - break; - - case Country.COL: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.KEN: - profile.Languages = new Language[] { Language.sw, Language.en }; - break; - - case Country.ESP: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.ARG: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.DZA: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.SDN: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.UGA: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.IRQ: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.UKR: - //Ukrainian - break; - - case Country.CAN: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.POL: - //Polish - break; - - case Country.MAR: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.UZB: - //Uzbek - break; - - case Country.SAU: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.PER: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.AGO: - profile.Languages = new Language[] { Language.pt }; - break; - - case Country.AFG: - profile.Languages = new Language[] { Language.fa }; //Dari, which is a variety of and mutually intelligible with Persian - //Pashto, Dari - break; - - case Country.MYS: - profile.Languages = new Language[] { Language.ms }; - break; - - case Country.MOZ: - profile.Languages = new Language[] { Language.pt }; - break; - - case Country.GHA: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.YEM: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.NPL: - //Nepali - break; - - case Country.VEN: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.CIV: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.MDG: - //Malagasy (official, and national language), French (official). - break; - - case Country.AUS: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.PRK: - profile.Languages = new Language[] { Language.Korean }; - break; - - case Country.CMR: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.NER: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.TWN: - profile.Languages = new Language[] { Language.zh }; - break; - - case Country.LKA: - //Sinhala - break; - - case Country.BFA: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.MWI: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.MLI: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.CHL: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.KAZ: - //Kazakh, Russian - break; - - case Country.ROU: - profile.Languages = new Language[] { Language.ro }; - break; - - case Country.ZMB: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.SYR: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.ECU: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.NLD: - profile.Languages = new Language[] { Language.nl }; - break; - - case Country.SEN: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.GTM: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.TCD: - profile.Languages = new Language[] { Language.fr, Language.ar }; - break; - - case Country.SOM: - profile.Languages = new Language[] { Language.Somali }; - break; - - case Country.ZWE: - //Shona, English - break; - - case Country.KHM: - //Khmer - break; - - case Country.SSD: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.RWA: - //Kinyarwanda - break; - - case Country.GIN: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.BDI: - //Kirundi - break; - - case Country.BEN: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.BOL: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.TUN: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.HTI: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.BEL: - profile.Languages = new Language[] { Language.nl }; - break; - - case Country.JOR: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.CUB: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.GRC: - profile.Languages = new Language[] { Language.Greek }; - break; - - case Country.DOM: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.CZE: - //Czech - break; - - case Country.SWE: - profile.Languages = new Language[] { Language.Swedish }; - break; - - case Country.PRT: - profile.Languages = new Language[] { Language.pt }; - break; - - case Country.AZE: - //Azerbaijani - break; - - case Country.HUN: - //Hungarian - break; - - case Country.HND: - profile.Languages = new Language[] { Language.es }; - break; - - case Country.ISR: - //Hebrew - break; - - case Country.TJK: - profile.Languages = new Language[] { Language.ru }; - break; - - case Country.BLR: - profile.Languages = new Language[] { Language.ru }; - break; - - case Country.ARE: - profile.Languages = new Language[] { Language.ar }; - break; - - case Country.PNG: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.AUT: - profile.Languages = new Language[] { Language.de }; - break; - - case Country.CHE: - profile.Languages = new Language[] { Language.de }; - break; - - case Country.SLE: - profile.Languages = new Language[] { Language.en }; - break; - - case Country.TGO: - profile.Languages = new Language[] { Language.fr }; - break; - - case Country.HKG: - //Cantonese - break; - - case Country.PRY: - profile.Languages = new Language[] { Language.es }; - break; - - default: - break; - } - } - private async Task HandleValidSubmit() { if (profile == null) throw new InvalidOperationException("profile is null"); diff --git a/MM.WEB/Modules/Profile/ProfilePreference.razor b/MM.WEB/Modules/Profile/ProfilePreference.razor index c080c41..46bc68a 100644 --- a/MM.WEB/Modules/Profile/ProfilePreference.razor +++ b/MM.WEB/Modules/Profile/ProfilePreference.razor @@ -1,13 +1,13 @@ @page "/Profile/Preference" @using MM.Shared.Models.Profile; -@using MM.WEB.Modules.Profile.Component.Field @using MM.WEB.Modules.Profile.Core; +@using MM.WEB.Modules.Shared.Popup; @attribute [Authorize] @inherits PageCore @inject ProfileApi ProfileApi - +
@@ -17,135 +17,138 @@
- @if (SelectedTab == Tabs.Basic) + @if (preference != null) { - - - - - - - - - - - - - - } - else if (SelectedTab == Tabs.Bio) - { - - - - - - - - - - @CustomAttributeHelper.GetCustomAttribute(() => preference.MinimalAge).Name -
*
- @CustomAttributeHelper.GetCustomAttribute(() => preference.MinimalAge).Description -
- - - - - - - - -
- - - @CustomAttributeHelper.GetCustomAttribute(() => preference.MinimalHeight).Name -
*
-
- - - - @foreach (var item in EnumHelper.GetArray()) - { - - } - - - - - - - @foreach (var item in EnumHelper.GetArray()) - { - - } - - - -
-
-
- - - - - - - - - } - else if (SelectedTab == Tabs.Lifestyle) - { - - - - - - - - - - - - - - - - } - else if (SelectedTab == Tabs.Personality) - { - - Esta seção não funciona como filtro, apenas complementa o cálculo de compatibilidade de perfis. - - - - - - - - - + @if (SelectedTab == Tabs.Basic) + { + + + + + + + + + + + + + + } + else if (SelectedTab == Tabs.Bio) + { + + + + + + + + + + @CustomAttributeHelper.GetCustomAttribute(() => preference.MinimalAge)?.Name +
*
+ @CustomAttributeHelper.GetCustomAttribute(() => preference.MinimalAge)?.Description +
+ + + + + + + + +
+ + + @CustomAttributeHelper.GetCustomAttribute(() => preference.MinimalHeight)?.Name +
*
+
+ + + + @foreach (var item in EnumHelper.GetArray()) + { + + } + + + + + + + @foreach (var item in EnumHelper.GetArray()) + { + + } + + + +
+
+
+ + + + + + + + + } + else if (SelectedTab == Tabs.Lifestyle) + { + + + + + + + + + + + + + + + + } + else if (SelectedTab == Tabs.Personality) + { + + This section does not work as a filter, it only complements the profile compatibility calculation. + + + + + + + + + + } } -
- +
  • Aqui você pode definir seu tipo ideal de perfil, para que possamos calcular adequadamente seu índice de compatibilidade
  • Quanto mais específico você for nos filtros, menos opções de perfis terá disponíveis
-
-
+ + @code { - private ProfileModel? profile = new(); - private ProfilePreferenceModel? preference = new(); + private ProfileModel? profile { get; set; } + private ProfilePreferenceModel? preference { get; set; } - private Shared.modal.BasicModal? help; + private BasicModal? help; - private bool ProfileLoading; + private Loading? Loading; //private Shared.modal.ProfileDataHelp ProfileDataHelp; protected override async Task LoadData() { - ProfileLoading = true; + Loading?.Start(); profile = await ProfileApi.Profile_Get(); @@ -199,7 +202,7 @@ await PopulateFields(); } - ProfileLoading = false; + Loading?.Finish(preference == null); } private async Task HandleValidSubmit() diff --git a/MM.WEB/Modules/Profile/Component/modal/AboutItemModal.razor b/MM.WEB/Modules/Shared/Field/AboutItemModal.razor similarity index 100% rename from MM.WEB/Modules/Profile/Component/modal/AboutItemModal.razor rename to MM.WEB/Modules/Shared/Field/AboutItemModal.razor diff --git a/MM.WEB/Shared/BaseCustomField.cs b/MM.WEB/Modules/Shared/Field/BaseCustomField.cs similarity index 84% rename from MM.WEB/Shared/BaseCustomField.cs rename to MM.WEB/Modules/Shared/Field/BaseCustomField.cs index 1350893..e449b4c 100644 --- a/MM.WEB/Shared/BaseCustomField.cs +++ b/MM.WEB/Modules/Shared/Field/BaseCustomField.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Components; using System.Linq.Expressions; -namespace MM.WEB.Shared +namespace MM.WEB.Modules.Shared.Field { public enum FieldType { @@ -20,6 +20,6 @@ public class BaseCustomField : ComponenteNoDataCore wher [Parameter] public bool Disabled { get; set; } [Parameter] public Expression>? For { get; set; } - public string Label => " " + For.GetCustomAttribute().Name; + public string Label => " " + For?.GetCustomAttribute()?.Name; } } \ No newline at end of file diff --git a/MM.WEB/Shared/CustomDate.razor b/MM.WEB/Modules/Shared/Field/CustomDate.razor similarity index 100% rename from MM.WEB/Shared/CustomDate.razor rename to MM.WEB/Modules/Shared/Field/CustomDate.razor diff --git a/MM.WEB/Modules/Profile/Component/Field/FieldSelect.razor b/MM.WEB/Modules/Shared/Field/FieldSelect.razor similarity index 98% rename from MM.WEB/Modules/Profile/Component/Field/FieldSelect.razor rename to MM.WEB/Modules/Shared/Field/FieldSelect.razor index e69b862..88774bb 100644 --- a/MM.WEB/Modules/Profile/Component/Field/FieldSelect.razor +++ b/MM.WEB/Modules/Shared/Field/FieldSelect.razor @@ -1,5 +1,4 @@ -@using MM.WEB.Shared.Field; -@inherits FormBase> +@inherits FormBase> @typeparam TValue @typeparam TEnum where TEnum : struct, Enum, IConvertible diff --git a/MM.WEB/Modules/Profile/Component/Field/FieldSelect.razor.cs b/MM.WEB/Modules/Shared/Field/FieldSelect.razor.cs similarity index 95% rename from MM.WEB/Modules/Profile/Component/Field/FieldSelect.razor.cs rename to MM.WEB/Modules/Shared/Field/FieldSelect.razor.cs index 56a8acf..f93e834 100644 --- a/MM.WEB/Modules/Profile/Component/Field/FieldSelect.razor.cs +++ b/MM.WEB/Modules/Shared/Field/FieldSelect.razor.cs @@ -1,10 +1,8 @@ using Blazorise; using Microsoft.AspNetCore.Components; -using MM.WEB.Modules.Profile.Component.modal; -using MM.WEB.Shared.Field; using System.Linq.Expressions; -namespace MM.WEB.Modules.Profile.Component.Field +namespace MM.WEB.Modules.Shared.Field { public partial class FieldSelect : FormBase> where TEnum : struct, Enum, IConvertible { diff --git a/MM.WEB/Modules/Profile/Component/Field/FieldText.razor b/MM.WEB/Modules/Shared/Field/FieldText.razor similarity index 96% rename from MM.WEB/Modules/Profile/Component/Field/FieldText.razor rename to MM.WEB/Modules/Shared/Field/FieldText.razor index 2dce0fa..58558fd 100644 --- a/MM.WEB/Modules/Profile/Component/Field/FieldText.razor +++ b/MM.WEB/Modules/Shared/Field/FieldText.razor @@ -1,5 +1,4 @@ -@using MM.WEB.Shared.Field; -@inherits FormBase +@inherits FormBase @if (Visible) { diff --git a/MM.WEB/Modules/Profile/Component/Field/FieldText.razor.cs b/MM.WEB/Modules/Shared/Field/FieldText.razor.cs similarity index 93% rename from MM.WEB/Modules/Profile/Component/Field/FieldText.razor.cs rename to MM.WEB/Modules/Shared/Field/FieldText.razor.cs index c2a3493..a093521 100644 --- a/MM.WEB/Modules/Profile/Component/Field/FieldText.razor.cs +++ b/MM.WEB/Modules/Shared/Field/FieldText.razor.cs @@ -1,7 +1,6 @@ using Microsoft.AspNetCore.Components; -using MM.WEB.Shared.Field; -namespace MM.WEB.Modules.Profile.Component.Field +namespace MM.WEB.Modules.Shared.Field { public partial class FieldText : FormBase { diff --git a/MM.WEB/Modules/Profile/Component/Field/FormBase.cs b/MM.WEB/Modules/Shared/Field/FormBase.cs similarity index 91% rename from MM.WEB/Modules/Profile/Component/Field/FormBase.cs rename to MM.WEB/Modules/Shared/Field/FormBase.cs index c83189d..c5d1b48 100644 --- a/MM.WEB/Modules/Profile/Component/Field/FormBase.cs +++ b/MM.WEB/Modules/Shared/Field/FormBase.cs @@ -3,7 +3,7 @@ using System.Linq.Expressions; using System.Reflection; -namespace MM.WEB.Shared.Field +namespace MM.WEB.Modules.Shared.Field { public enum LabelSize { @@ -14,7 +14,7 @@ public enum LabelSize public class FormBase : ComponenteNoDataCore where TClass : class { - [Parameter] public Expression> For { get; set; } + [Parameter] public Expression>? For { get; set; } [Parameter] public bool Disabled { get; set; } [Parameter] public LabelSize LabelSize { get; set; } = LabelSize.Normal; @@ -35,7 +35,7 @@ protected virtual Dictionary GetAttributes(string? customStyle) } } - dic.Add("placeholder", For.GetCustomAttribute().Prompt); + dic.Add("placeholder", For?.GetCustomAttribute()?.Prompt ?? ""); return dic; } diff --git a/MM.WEB/Modules/Profile/Component/modal/ProfileDataHelp.razor b/MM.WEB/Modules/Shared/Field/ProfileDataHelp.razor similarity index 100% rename from MM.WEB/Modules/Profile/Component/modal/ProfileDataHelp.razor rename to MM.WEB/Modules/Shared/Field/ProfileDataHelp.razor diff --git a/MM.WEB/Modules/Profile/Component/modal/ProfileDataSelect.razor b/MM.WEB/Modules/Shared/Field/ProfileDataSelect.razor similarity index 100% rename from MM.WEB/Modules/Profile/Component/modal/ProfileDataSelect.razor rename to MM.WEB/Modules/Shared/Field/ProfileDataSelect.razor diff --git a/MM.WEB/Shared/FeatureUnavailable.razor b/MM.WEB/Modules/Shared/General/FeatureUnavailable.razor similarity index 100% rename from MM.WEB/Shared/FeatureUnavailable.razor rename to MM.WEB/Modules/Shared/General/FeatureUnavailable.razor diff --git a/MM.WEB/Shared/GoogleAdsense.razor b/MM.WEB/Modules/Shared/General/GoogleAdsense.razor similarity index 100% rename from MM.WEB/Shared/GoogleAdsense.razor rename to MM.WEB/Modules/Shared/General/GoogleAdsense.razor diff --git a/MM.WEB/Shared/Loading.razor b/MM.WEB/Modules/Shared/General/Loading.razor similarity index 100% rename from MM.WEB/Shared/Loading.razor rename to MM.WEB/Modules/Shared/General/Loading.razor diff --git a/MM.WEB/Shared/SeoHeader.razor b/MM.WEB/Modules/Shared/General/SeoHeader.razor similarity index 92% rename from MM.WEB/Shared/SeoHeader.razor rename to MM.WEB/Modules/Shared/General/SeoHeader.razor index 91ee994..9ff1bc5 100644 --- a/MM.WEB/Shared/SeoHeader.razor +++ b/MM.WEB/Modules/Shared/General/SeoHeader.razor @@ -19,15 +19,16 @@ } @code { - private const string ProjectName = "Modern Matchmaker"; - private const string ProjectUrl = "https://www.modern-matchmaker.com"; - - [Parameter] public string? Title { get; set; } + [Parameter][EditorRequired] public string? Title { get; set; } [Parameter] public string? Description { get; set; } - [Parameter] public string? Url { get; set; } + [Parameter][EditorRequired] public string? Url { get; set; } + [Parameter] public IEnumerable Keywords { get; set; } = new List(); [Parameter] public bool ShowH1 { get; set; } = true; + private const string ProjectName = "Modern Matchmaker"; + private const string ProjectUrl = "https://www.modern-matchmaker.com"; + string GetTitle() => Title is null ? ProjectName : $"{ProjectName} | {Title}"; string GetDescription() diff --git a/MM.WEB/Shared/modal/BasicModal.razor b/MM.WEB/Modules/Shared/Popup/BasicModal.razor similarity index 100% rename from MM.WEB/Shared/modal/BasicModal.razor rename to MM.WEB/Modules/Shared/Popup/BasicModal.razor diff --git a/MM.WEB/Modules/Support/Component/AnnouncementComponent.razor b/MM.WEB/Modules/Support/Component/AnnouncementComponent.razor index a314d1b..5473c55 100644 --- a/MM.WEB/Modules/Support/Component/AnnouncementComponent.razor +++ b/MM.WEB/Modules/Support/Component/AnnouncementComponent.razor @@ -1,5 +1,5 @@ @using MM.Shared.Models.Support; -@using MM.WEB.Modules.Support.Core; +@using MM.WEB.Modules.Shared.General; @using MM.WEB.Modules.Support.Core; @inherits ComponenteCore @inject AnnouncementApi AnnouncementApi @@ -8,10 +8,10 @@ @foreach (var item in announcement?.Items.OrderByDescending(o => o.Date) ?? Enumerable.Empty()) { - + @item.Title - + @((MarkupString)(item.Description ?? "")) diff --git a/MM.WEB/Modules/Support/Component/DownloadComponent.razor b/MM.WEB/Modules/Support/Component/DownloadComponent.razor index 7d513fc..ab5e300 100644 --- a/MM.WEB/Modules/Support/Component/DownloadComponent.razor +++ b/MM.WEB/Modules/Support/Component/DownloadComponent.razor @@ -8,13 +8,13 @@ @foreach (var item in Downloads) { - + - - @item.name + + @item.name diff --git a/MM.WEB/Modules/Support/Component/FeedbackComponent.razor b/MM.WEB/Modules/Support/Component/FeedbackComponent.razor index 6b03105..73d1479 100644 --- a/MM.WEB/Modules/Support/Component/FeedbackComponent.razor +++ b/MM.WEB/Modules/Support/Component/FeedbackComponent.razor @@ -1,5 +1,5 @@ @using MM.Shared.Models.Support; -@using MM.WEB.Modules.Support.Core; +@using MM.WEB.Modules.Shared.General; @using MM.WEB.Modules.Support.Core; @inherits ComponenteCore @inject TicketApi TicketApi @@ -11,12 +11,12 @@ - - @foreach (var item in EnumHelper.GetArray()) { @item.GetName() @@ -29,13 +29,13 @@ - - - @foreach (var item in EnumHelper.GetArray()) { @@ -50,12 +50,12 @@ - - @foreach (var item in EnumHelper.GetArray()) { @item.GetName() @@ -67,7 +67,7 @@ - diff --git a/MM.WEB/Modules/Support/Component/NewTicket.razor b/MM.WEB/Modules/Support/Component/NewTicket.razor index da69d66..f8f13d0 100644 --- a/MM.WEB/Modules/Support/Component/NewTicket.razor +++ b/MM.WEB/Modules/Support/Component/NewTicket.razor @@ -4,14 +4,14 @@ @inject TicketApi TicketApi - @Resources.Translations.NewTicketTitle + @Resources.Translations.NewTicketTitle
- @foreach (var item in EnumHelper.GetArray()) { @item.GetName() @@ -20,16 +20,16 @@
- +
- +
- - - + + +
diff --git a/MM.WEB/Modules/Support/Index.razor b/MM.WEB/Modules/Support/Index.razor index 0d7cafe..4cdc765 100644 --- a/MM.WEB/Modules/Support/Index.razor +++ b/MM.WEB/Modules/Support/Index.razor @@ -11,10 +11,10 @@
- - - @**@ - + + + @**@ +
@if (SelectedTab == Tabs.Announcements) diff --git a/MM.WEB/Modules/Support/Resources/Translations.Designer.cs b/MM.WEB/Modules/Support/Resources/Translations.Designer.cs index 3406550..c3f2755 100644 --- a/MM.WEB/Modules/Support/Resources/Translations.Designer.cs +++ b/MM.WEB/Modules/Support/Resources/Translations.Designer.cs @@ -124,7 +124,7 @@ public static string OrderVoted { } /// - /// Looks up a localized string similar to Platform versions available. + /// Looks up a localized string similar to Platform versions available (click or scan). /// public static string PlatformVersionsAvailable { get { diff --git a/MM.WEB/Modules/Support/Resources/Translations.es.resx b/MM.WEB/Modules/Support/Resources/Translations.es.resx index b8e1464..bb9acc0 100644 --- a/MM.WEB/Modules/Support/Resources/Translations.es.resx +++ b/MM.WEB/Modules/Support/Resources/Translations.es.resx @@ -151,6 +151,6 @@ Descargas - Versiones de plataforma disponibles + Versiones de plataforma disponibles (clic o escaneo) \ No newline at end of file diff --git a/MM.WEB/Modules/Support/Resources/Translations.pt.resx b/MM.WEB/Modules/Support/Resources/Translations.pt.resx index 4414812..66d2ae3 100644 --- a/MM.WEB/Modules/Support/Resources/Translations.pt.resx +++ b/MM.WEB/Modules/Support/Resources/Translations.pt.resx @@ -151,6 +151,6 @@ Downloads - Versões de plataforma disponíveis + Versões de plataforma disponíveis (clique ou escaneie) \ No newline at end of file diff --git a/MM.WEB/Modules/Support/Resources/Translations.resx b/MM.WEB/Modules/Support/Resources/Translations.resx index 31c7be7..e763864 100644 --- a/MM.WEB/Modules/Support/Resources/Translations.resx +++ b/MM.WEB/Modules/Support/Resources/Translations.resx @@ -139,7 +139,7 @@ Voted - Platform versions available + Platform versions available (click or scan) Announcements diff --git a/MM.WEB/Resources/BuildDate.txt b/MM.WEB/Resources/BuildDate.txt index 3de21cc..6720aa4 100644 --- a/MM.WEB/Resources/BuildDate.txt +++ b/MM.WEB/Resources/BuildDate.txt @@ -1 +1 @@ -2023.06.11 +2023.08.15 diff --git a/MM.WEB/Resources/CardHeader.Designer.cs b/MM.WEB/Resources/CardHeader.Designer.cs index 7211f32..3fc9394 100644 --- a/MM.WEB/Resources/CardHeader.Designer.cs +++ b/MM.WEB/Resources/CardHeader.Designer.cs @@ -78,69 +78,6 @@ public static string EventMyEvents { } } - /// - /// Looks up a localized string similar to Apple. - /// - public static string IndexApple { - get { - return ResourceManager.GetString("IndexApple", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Diamond. - /// - public static string IndexDiamond { - get { - return ResourceManager.GetString("IndexDiamond", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Highlights of the Week ({0}). - /// - public static string IndexHighlights { - get { - return ResourceManager.GetString("IndexHighlights", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Popularity. - /// - public static string IndexPopularity { - get { - return ResourceManager.GetString("IndexPopularity", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Ranking. - /// - public static string IndexRanking { - get { - return ResourceManager.GetString("IndexRanking", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Actions. - /// - public static string ProfileAccountActions { - get { - return ResourceManager.GetString("ProfileAccountActions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Registration Data. - /// - public static string ProfileAccountRegistrationData { - get { - return ResourceManager.GetString("ProfileAccountRegistrationData", resourceCulture); - } - } - /// /// Looks up a localized string similar to Profile. /// diff --git a/MM.WEB/Resources/CardHeader.es.resx b/MM.WEB/Resources/CardHeader.es.resx new file mode 100644 index 0000000..81e4183 --- /dev/null +++ b/MM.WEB/Resources/CardHeader.es.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Eventos disponibles ({0}) + + + Mis Eventos + + + Perfil + + + Foto Principal + + + Galería + + + Logros + + + Interacciones + + + Preferencias + + + Errores + + + Sugerencias de mejora + + \ No newline at end of file diff --git a/MM.WEB/Resources/CardHeader.pt.resx b/MM.WEB/Resources/CardHeader.pt.resx index 3678233..b152343 100644 --- a/MM.WEB/Resources/CardHeader.pt.resx +++ b/MM.WEB/Resources/CardHeader.pt.resx @@ -123,27 +123,6 @@ Meus Eventos - - Maçã - - - Diamante - - - Destaques da Semana ({0}) - - - Popularidade - - - Classificação - - - Ações - - - Dados Cadastrais - Perfil diff --git a/MM.WEB/Resources/CardHeader.resx b/MM.WEB/Resources/CardHeader.resx index efbffd4..db8d245 100644 --- a/MM.WEB/Resources/CardHeader.resx +++ b/MM.WEB/Resources/CardHeader.resx @@ -123,27 +123,6 @@ My Events - - Apple - - - Diamond - - - Highlights of the Week ({0}) - - - Popularity - - - Ranking - - - Actions - - - Registration Data - Profile diff --git a/MM.WEB/Resources/GlobalTranslations.Designer.cs b/MM.WEB/Resources/GlobalTranslations.Designer.cs index ea63202..83368b2 100644 --- a/MM.WEB/Resources/GlobalTranslations.Designer.cs +++ b/MM.WEB/Resources/GlobalTranslations.Designer.cs @@ -105,6 +105,15 @@ public static string ButtonClose { } } + /// + /// Looks up a localized string similar to Load More. + /// + public static string ButtonLoadMore { + get { + return ResourceManager.GetString("ButtonLoadMore", resourceCulture); + } + } + /// /// Looks up a localized string similar to Login. /// diff --git a/MM.WEB/Resources/GlobalTranslations.es.resx b/MM.WEB/Resources/GlobalTranslations.es.resx index fb0268e..d7435e7 100644 --- a/MM.WEB/Resources/GlobalTranslations.es.resx +++ b/MM.WEB/Resources/GlobalTranslations.es.resx @@ -156,24 +156,6 @@ No hay datos para mostrar - - Anuncios - - - Comprar - - - Tasa fija - - - Tasa fija/Comprar - - - Gratis - - - Alquilar - Espera noticias... @@ -189,72 +171,18 @@ Apoyo - - Más información o Contribuciones - - - Proveedores favoritos ({0} artículos) - - - Ofrenda - - - Sobre - - - Catálogo - - - Detalles - ACTUALIZA AHORA Una nueva versión está disponible - - Desafortunadamente, este título no está disponible en su región - OK - - Sugerencias - - - Sobre - - - Streaming - - - Colección - - - Quitar colección - - - Últimas noticias - Leer más - - Ver todos los artículos - - - Elegir un elemento aleatorio para mí - - - Créditos - - - Elenco - - - Dirección - Guion @@ -267,25 +195,25 @@ Buscar - - Viendo - Películas ({0} artículos) + + Actualizar - - Mi lista - Películas ({0} artículos) + + Autenticación en curso... - - Viendo - Serie ({0} artículos) + + ¡Versión beta! - - Mi lista - Serie ({0} artículos) + + Cargar más - - Últimos Trailers + + Lo sentimos, no hay nada en esta dirección. - - Proveedores + + Producto aún en desarrollo, por lo que mucho mejorará. Si tiene sugerencias que hacer, pregunte en la sección de soporte de la aplicación. - - Actualizar + + No está autorizado a acceder a este recurso. \ No newline at end of file diff --git a/MM.WEB/Resources/GlobalTranslations.pt.resx b/MM.WEB/Resources/GlobalTranslations.pt.resx index b0d4257..ec5a5a6 100644 --- a/MM.WEB/Resources/GlobalTranslations.pt.resx +++ b/MM.WEB/Resources/GlobalTranslations.pt.resx @@ -213,4 +213,7 @@ Produto ainda em desenvolvimento, então muita coisa ainda vai melhorar. Se você tiver sugestões a fazer, favor solicitar na seção de suporte do aplicativo. + + Carregue mais + \ No newline at end of file diff --git a/MM.WEB/Resources/GlobalTranslations.resx b/MM.WEB/Resources/GlobalTranslations.resx index 04dbd28..de86a4b 100644 --- a/MM.WEB/Resources/GlobalTranslations.resx +++ b/MM.WEB/Resources/GlobalTranslations.resx @@ -132,6 +132,9 @@ Close + + Load More + Login diff --git a/MM.WEB/Shared/MainLayout.razor b/MM.WEB/Shared/MainLayout.razor index 57c4c30..3780704 100644 --- a/MM.WEB/Shared/MainLayout.razor +++ b/MM.WEB/Shared/MainLayout.razor @@ -50,14 +50,17 @@ - - - diff --git a/MM.WEB/_Imports.razor b/MM.WEB/_Imports.razor index 8096135..11dd030 100644 --- a/MM.WEB/_Imports.razor +++ b/MM.WEB/_Imports.razor @@ -1,7 +1,4 @@ -@using System.Net.Http -@using System.Net.Http.Json - -@using Microsoft.AspNetCore.Authorization +@using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Components.Authorization @using Microsoft.AspNetCore.Components.Forms @using Microsoft.AspNetCore.Components.Routing @@ -9,11 +6,15 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.AspNetCore.Components.WebAssembly.Http @using Microsoft.JSInterop +@using System.Net.Http +@using System.Net.Http.Json -@using MM.WEB -@using MM.WEB.Core -@using MM.WEB.Shared -@using MM.WEB.Shared.modal +@using Blazorise +@using Blazorise.Icons.FontAwesome +@using Blazorise.Components +@using Blazorise.Snackbar +@using BlazorPro.BlazorSize +@using Blazored.FluentValidation @using MM.Shared; @using MM.Shared.Core @@ -21,9 +22,9 @@ @using MM.Shared.Helper @using MM.Shared.Models -@using Blazorise -@using Blazorise.Icons.FontAwesome -@using Blazorise.Components -@using Blazorise.Snackbar -@using BlazorPro.BlazorSize -@using Blazored.FluentValidation \ No newline at end of file +@using MM.WEB +@using MM.WEB.Core +@using MM.WEB.Shared +@using MM.WEB.Modules.Shared.Field +@using MM.WEB.Modules.Shared.General +@using MM.WEB.Modules.Shared.Popup \ No newline at end of file diff --git a/MM.WEB/wwwroot/css/custom_app.css b/MM.WEB/wwwroot/css/custom_app.css index 6ae43d2..6122f65 100644 --- a/MM.WEB/wwwroot/css/custom_app.css +++ b/MM.WEB/wwwroot/css/custom_app.css @@ -79,8 +79,11 @@ border-color: #efe696; } -/*BLAZORIZE - BOOTSTRAP*/ +.badge { + padding: 0.15rem !important; +} +/*BLAZORIZE - BOOTSTRAP*/ /*.alert-primary { color: #004085 !important; background-color: #cce5ff !important; @@ -131,4 +134,14 @@ body .pwa-updater[b-pwa-updater] { --pwa-updater-bar-backcolor: forestgreen; +} + +dl, ol, ul { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +p { + margin-top: 0 !important; + margin-bottom: 0 !important; } \ No newline at end of file diff --git a/MM.WEB/wwwroot/css/custom_app.min.css b/MM.WEB/wwwroot/css/custom_app.min.css index 279d656..afe0eef 100644 --- a/MM.WEB/wwwroot/css/custom_app.min.css +++ b/MM.WEB/wwwroot/css/custom_app.min.css @@ -1 +1 @@ -::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#555}.b-layout-sider-content{z-index:4 !important}.b-layout-header-fixed{z-index:3 !important}.b-layout-footer{z-index:3 !important}.figure{text-align:center}.figure-img{max-height:100% !important}.card-header{padding:.5rem !important}.card-body{padding:.5rem !important}.card-footer{padding:.5rem !important}.modal-header{padding:.5rem !important}.modal-body{padding:.5rem !important;max-height:80vh;overflow-y:auto;overflow-x:hidden}.modal-footer{padding:.5rem !important}.alert{padding:.5rem !important;margin-bottom:.5rem !important}.alert-warning{border-color:#efe696}body .pwa-updater[b-pwa-updater]{--pwa-updater-bar-backcolor:#228b22} \ No newline at end of file +::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#555}.b-layout-sider-content{z-index:4!important}.b-layout-header-fixed{z-index:3!important}.b-layout-footer{z-index:3!important}.figure{text-align:center}.figure-img{max-height:100%!important}.card-header{padding:.5rem!important}.card-body{padding:.5rem!important}.card-footer{padding:.5rem!important}.modal-header{padding:.5rem!important}.modal-body{padding:.5rem!important;max-height:80vh;overflow-y:auto;overflow-x:hidden}.modal-footer{padding:.5rem!important}.alert{padding:.5rem!important;margin-bottom:.5rem!important}.alert-warning{border-color:#efe696}.badge{padding:.15rem!important}body .pwa-updater[b-pwa-updater]{--pwa-updater-bar-backcolor:#228b22}dl,ol,ul{margin-top:0!important;margin-bottom:0!important}p{margin-top:0!important;margin-bottom:0!important} \ No newline at end of file diff --git a/MM.WEB/wwwroot/icon-114.png b/MM.WEB/wwwroot/icon/icon-114.png similarity index 100% rename from MM.WEB/wwwroot/icon-114.png rename to MM.WEB/wwwroot/icon/icon-114.png diff --git a/MM.WEB/wwwroot/icon-192.png b/MM.WEB/wwwroot/icon/icon-192.png similarity index 100% rename from MM.WEB/wwwroot/icon-192.png rename to MM.WEB/wwwroot/icon/icon-192.png diff --git a/MM.WEB/wwwroot/icon-300.png b/MM.WEB/wwwroot/icon/icon-300.png similarity index 100% rename from MM.WEB/wwwroot/icon-300.png rename to MM.WEB/wwwroot/icon/icon-300.png diff --git a/MM.WEB/wwwroot/icon-512.png b/MM.WEB/wwwroot/icon/icon-512.png similarity index 100% rename from MM.WEB/wwwroot/icon-512.png rename to MM.WEB/wwwroot/icon/icon-512.png diff --git a/MM.WEB/wwwroot/manifest.json b/MM.WEB/wwwroot/manifest.json index 510eb0c..0dfed79 100644 --- a/MM.WEB/wwwroot/manifest.json +++ b/MM.WEB/wwwroot/manifest.json @@ -2,7 +2,7 @@ "name": "Modern Matchmaker", "short_name": "Modern Matchmaker", "description": "Site de relacionamento com recursos que garantem perfis e informações reais (a honestidade será nosso pilar e esperamos isso de todos) ▪ Para qualquer tipo de intenção, sexo, idade e orientação sexual ▪ Com gamificação para um ambiente mais divertido", - "lang": "pt-BR", + "lang": "en-US", "start_url": "/", "display": "standalone", "background_color": "#ffffff", @@ -63,22 +63,22 @@ ], "icons": [ { - "src": "/icon-114.png", + "src": "icon/icon-114.png", "type": "image/png", "sizes": "114x114" }, { - "src": "/icon-192.png", + "src": "icon/icon-192.png", "type": "image/png", "sizes": "192x192" }, { - "src": "/icon-300.png", + "src": "icon/icon-300.png", "type": "image/png", "sizes": "300x300" }, { - "src": "/icon-512.png", + "src": "icon/icon-512.png", "type": "image/png", "sizes": "512x512" }