none
COmo crear una web multilenguaje RRS feed

  • Pregunta

  • miren este es un ejemplo de lo busco

    https://docs.microsoft.com/en-us/dotnet/

    https://docs.microsoft.com/es-mx/dotnet/

    al cambiar la url, cambia el lenguaje de la web 

    si yo tengo un modelo así por ejemplo

    public class Continent
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public virtual List<ContinentCountry> Countries { get; set; }
            public string Description { get; set; }
        }

    y este modelo se crea en la base de datos yo guardaria por ejemplo

    id = 1

    Name = "america",

    Descripcion  = "Es un conocido como el nuevo continente mide bla bla bla y se divide en en 3 centrar sur y norte ble bla bla

    esos datos estaran en mi base de datos como le cambio el lenguaje segun la url 

    lunes, 15 de junio de 2020 2:17

Respuestas

  • hola

    vas a tener que crear tablas de traduccion

    Continent (tabla)
      Id
      NameTranslateId          (relacion con el Id de Translate)
      DescriptionTranslateId  (relacion con Id de Translate)
      //otros campos
    
     Translate (tabla)
        Id
    
      TranslateText
        Id
        TranslateId  (relacion con el Id de Translate)
        culture
        Text

    la idea es que no tenga el texto en la tabla de Continent sino que el NameTranslateId se relacione con un registro en la tabla de Translate

    como necesitas varios idiomas para una misma traduccion es porque eso que se debe definir dos niveles, entonces con la cultura podria tener en-us, es-mx, etc

    Sino quiere manajar esto desde la db tambien hay otras formas, no tener el texto en tablas sino guardar un codigo en el campo y despues asignar este segun la cultura del sitio desde un Resource

    Create Multi Language WebSite in Asp.Net MVC – Localization

    Nota: el collation de la db no tiene nada que ver con definir difernetes idiomas en tu aplicacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta niqel martes, 16 de junio de 2020 2:52
    lunes, 15 de junio de 2020 22:13

Todas las respuestas

  • Hola niqel, 

      

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comparto el siguiente enlace que contiene un documento oficial con información sobre el caso que reportas 

    https://docs.microsoft.com/es-es/powerapps/developer/common-data-service/create-solutions-support-multiple-languages

     

     Andres Aguilar

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    lunes, 15 de junio de 2020 19:11
    Moderador
  • Muchas gracias loq ue no encontre en ese sitio

    Es si es posible manejar los diferentes idiomas desde la base de datos

    lo que pasa es que quizas los componentes o objetos de la presentacion si se pueden manejar asi como en un archivo resx pero la informacion contenida en la base de datos como se manejaria

    lunes, 15 de junio de 2020 21:18
  • lunes, 15 de junio de 2020 21:51
    Moderador
  • hola

    vas a tener que crear tablas de traduccion

    Continent (tabla)
      Id
      NameTranslateId          (relacion con el Id de Translate)
      DescriptionTranslateId  (relacion con Id de Translate)
      //otros campos
    
     Translate (tabla)
        Id
    
      TranslateText
        Id
        TranslateId  (relacion con el Id de Translate)
        culture
        Text

    la idea es que no tenga el texto en la tabla de Continent sino que el NameTranslateId se relacione con un registro en la tabla de Translate

    como necesitas varios idiomas para una misma traduccion es porque eso que se debe definir dos niveles, entonces con la cultura podria tener en-us, es-mx, etc

    Sino quiere manajar esto desde la db tambien hay otras formas, no tener el texto en tablas sino guardar un codigo en el campo y despues asignar este segun la cultura del sitio desde un Resource

    Create Multi Language WebSite in Asp.Net MVC – Localization

    Nota: el collation de la db no tiene nada que ver con definir difernetes idiomas en tu aplicacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta niqel martes, 16 de junio de 2020 2:52
    lunes, 15 de junio de 2020 22:13
  • Si quiero manejar la informacion de la base de datos de esta manera 

    Por que la infirmacion de la DB alguna debe ser multilenguaje tambien.

    una duda mas leandro ojala y me puedas ayudar

    por ejemplo en mi codigo

    [Route("Locations/[controller]")]
        [ApiController]
        public class ContinentsController : ControllerBase
        {
            private readonly LocationDbContext locationDbContext;
            public ContinentsController(LocationDbContext locationDbContext)
                : base()
            {
                this.locationDbContext = locationDbContext;
            }
    
            [HttpGet("GetAll", Name = "GetAllContinents")]

    la linea donde dice route viene Location/Controller hay se define la ruta y se complementa con esa linea

    HttpGet("GetAll", Name = "GetAllContinents"

    como meto la Cultura en mi direccion Ruteo??

    martes, 16 de junio de 2020 0:16
  • Hola niqel

    Gracias por confirmar que se ha encontrado una solución a la consulta realizada. Debido a ello, este hilo será cerrado. 

    Si es necesario, por favor abra un nuevo hilo. 

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

     

     Andres Aguilar

    ____________________________ 


    martes, 16 de junio de 2020 16:32
    Moderador
  • hola

    >>la linea donde dice route viene Location/Controller hay se define la ruta y se complementa con esa linea

    no necesariamente

    Necesitas que el action se llame GetAllContinents ? porque solo podrias definir

    [HttpGet]
    public ActionResult GetAllContinents(){
    
    }

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 16 de junio de 2020 17:58