Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
¿Existe una forma integrada de seguridad de tipos para localizar una aplicación .NET (Core)?

He estado trabajando en .NET (Framework y Core) durante años y estoy buscando portar una aplicación de .NET Framework a .NET Core.

En esta aplicación de .NET Framework, tenemos archivos .resx con miles de etiquetas, traducidos a 5 idiomas. Estos archivos .resx han generado un código fuente de C# que nos permite acceder a ellos de forma estática y segura. La cultura actual de la interfaz de usuario se respeta al hacerlo.

Cuando busco la documentación para la localización en .NET Core (que se encuentra aquí ), las reglas del juego han cambiado enormemente:

  • Debe inyectar ILocalizer, IHtmlLocalizer o IViewLocalizer
  • Los archivos de recursos se buscan en función de dónde y cómo inyecte estos localizadores
  • Las etiquetas se recuperan usando cadenas mágicas

¿Soy el único que piensa que esto es masiva e innecesariamente más complejo que lo que teníamos en .NET Framework? Puedo entender de dónde provienen ILocalizer y sus amigos, porque ahora todo debe pasar por una inyección de dependencia. ¿Pero cuerdas mágicas? ¿Archivos Resx por todos lados?

Para ser honesto, estoy constantemente impresionado con la maquinaria subyacente de .NET Core, pero el aspecto de la localización me ha dejado completamente decepcionado. ¿Hay alguien por ahí con una solución sólida y productiva para este problema? Tener etiquetas de tipo seguro es probablemente mi requisito número 1.

¡Gracias por adelantado!

Editar: este es el mensaje de recompensa con mejor formato:

Estoy buscando una solución para la localización en C# que

  • proporciona la opción de tener un solo archivo resx por aplicación (o al menos, NO un archivo resx por controlador/vista/...)
  • proporciona seguridad en el tiempo de compilación para que mi aplicación no pueda fallar/comportarse mal en el tiempo de ejecución debido a un error tipográfico en una de las claves de recursos
  • tiene un ciclo de retroalimentación mínimo al agregar una nueva etiqueta (por ejemplo, agregar una etiqueta a un archivo .resx, esto actualiza inmediatamente el código C# generado, y ahora la etiqueta se puede usar de inmediato en mi otro código C# sin tener que compilar toda la aplicación primero)
  • no es una solución hacky

Si la única solución a estos requisitos es el flujo de trabajo .resx existente, entonces también aceptaría una respuesta autorizada que se base en la documentación oficial o una declaración de una figura con autoridad dentro de Microsoft que mencione explícitamente los archivos de recursos con código C# generado como aceptable, alternativa compatible a la historia de ILocalizer.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede continuar usando el estilo antiguo de crear aplicaciones en varios idiomas con .NET Core al tener varios archivos 'resx', aunque la forma preferida de administrar recursos en varios idiomas es usando las interfaces que mencionó. Pero no pude encontrar un documento que mencione que los archivos 'resx' quedarán obsoletos en el futuro.

Creé una API web .Net Core de muestra que usa dos archivos de recursos separados para proporcionar sus cadenas. utiliza un parámetro para determinar su Thread.CurrentThread.CurrentUICulture mediante este código:

 [HttpGet] public ActionResult<string> Get(string lang) { Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang); return Resource.Test; }

como puede ver en estas imágenes, obtengo dos resultados diferentes según mi idioma preferido.

para 'en': ingrese la descripción de la imagen aquí

para 'fa': ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda