Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:localizacion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
apuntes:localizacion [2021/03/10 13:12] – created Santiago Faciapuntes:localizacion [2023/05/28 10:26] (current) Santiago Faci
Line 1: Line 1:
 ====== Localización ====== ====== Localización ======
  
-\section{¿Qué es la localización?}+===== ¿Qué es la localización? =====
  
 La localización, también conocida como \emph{l10n} (por el número de caracteres de la propia palabra), es el mecanismo por el que una La localización, también conocida como \emph{l10n} (por el número de caracteres de la propia palabra), es el mecanismo por el que una
Line 12: Line 12:
 Podemos conocer la localización que, por defecto, tenga asignado nuestro equipo: Podemos conocer la localización que, por defecto, tenga asignado nuestro equipo:
  
-\begin{lstlisting}[language=java]+<code java>
 Locale locale = Locale.getDefault(); Locale locale = Locale.getDefault();
 System.out.println(locale.getCountry());            // US System.out.println(locale.getCountry());            // US
Line 18: Line 18:
 System.out.println(locale.getLanguage());           // en System.out.println(locale.getLanguage());           // en
 System.out.println(locale.getDisplayLanguage());    // English System.out.println(locale.getDisplayLanguage());    // English
-\end{lstlisting}+</code>
  
 También podemos definir la localización para una aplicación, instanciando un objeto de tipo \emph{Locale} especificando el idioma o el También podemos definir la localización para una aplicación, instanciando un objeto de tipo \emph{Locale} especificando el idioma o el
 idioma y el páis: idioma y el páis:
  
-\begin{lstlisting}[language=java]+<code java>
 Locale locale = new Locale("es");           // Define localización para idioma español Locale locale = new Locale("es");           // Define localización para idioma español
 Locale locale = new Locale("es", "ES");     // Define localización para idioma español en España Locale locale = new Locale("es", "ES");     // Define localización para idioma español en España
-\end{lstlisting}+</code>
  
 Asi, podemos utilizar la localización, para representar las fechas siempre acorde con el idioma que el usuario haya seleccionado para la Asi, podemos utilizar la localización, para representar las fechas siempre acorde con el idioma que el usuario haya seleccionado para la
Line 32: Line 32:
 utilizar dicho objeto para representar las fechas como corresponda: utilizar dicho objeto para representar las fechas como corresponda:
  
-\begin{lstlisting}[language=java]+<code java>
 Locale locale = new Locale("en", "UK"); Locale locale = new Locale("en", "UK");
 DayOfWeek dia = LocalDate.now().getDayOfWeek(); DayOfWeek dia = LocalDate.now().getDayOfWeek();
 System.out.println(dia.getDisplayName(TextStyle.FULL, locale)); System.out.println(dia.getDisplayName(TextStyle.FULL, locale));
-\end{lstlisting}+</code>
  
-\subsection{Internacionalización}+===== Internacionalización =====
  
 La localización está relacionada con el concepto de internacionalización, que permite que la aplicación se adapte al idioma de la La localización está relacionada con el concepto de internacionalización, que permite que la aplicación se adapte al idioma de la
Line 46: Line 46:
  
 Se puede definir un fichero con los mensajes para un idioma y región Se puede definir un fichero con los mensajes para un idioma y región
-\begin{lstlisting}[language=java]+<code java>
 # Fichero textos_es_ES.properties # Fichero textos_es_ES.properties
 hola = hola hola = hola
 adios = adios adios = adios
-\end{lstlisting}+</code>
  
 También para otro idioma y región También para otro idioma y región
-\begin{lstlisting}[language=java]+<code java>
 # Fichero textos_en_UK.properties # Fichero textos_en_UK.properties
 hola = hi hola = hi
 adios = bye adios = bye
-\end{lstlisting}+</code>
  
 Quizás nos interese definirlo para todo un idioma, independientemente de la región Quizás nos interese definirlo para todo un idioma, independientemente de la región
-\begin{lstlisting}[language=java]+<code java>
 # Fichero textos_es.properties # Fichero textos_es.properties
 hola = hola hola = hola
 adios = adios adios = adios
-\end{lstlisting}+</code>
  
 E incluso definir cómo queremos que se muestran los mensajes si la localización del usuario no está definida de forma particular, lo que E incluso definir cómo queremos que se muestran los mensajes si la localización del usuario no está definida de forma particular, lo que
 sería la opción por defecto: sería la opción por defecto:
-\begin{lstlisting}[language=java]+<code java>
 # Fichero textos.properties # Fichero textos.properties
 hola = hi hola = hi
 adios = bye adios = bye
-\end{lstlisting}+</code>
  
-Finalmente, a la hora de mostrar mensajes al usuario, lo haríamos a través del objeto \emph{ResourceBundle}, que seleccionaría el texto que+Finalmente, a la hora de mostrar mensajes al usuario, lo haríamos a través del objeto //ResourceBundle//, que seleccionaría el texto que
 mejor se adapte a la localización definida en la aplicación: mejor se adapte a la localización definida en la aplicación:
  
-\begin{lstlisting}[language=java]+<code java>
 Locale locale = new Locale("en", "UK"); Locale locale = new Locale("en", "UK");
 . . . . . .
 ResourceBundle res = ResourceBundle.getBundle("textos", locale); ResourceBundle res = ResourceBundle.getBundle("textos", locale);
 System.out.println(res.getString("hola"));          // hi System.out.println(res.getString("hola"));          // hi
-\end{lstlisting}+</code> 
 + 
 +---- 
 + 
 +(c) 2021-2023 Santiago Faci
apuntes/localizacion.1615381966.txt.gz · Last modified: 2021/03/10 13:12 by Santiago Faci