<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Internacionalizaci%C3%B3n</id>
	<title>Internacionalización - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Internacionalizaci%C3%B3n"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Internacionalizaci%C3%B3n&amp;action=history"/>
	<updated>2026-10-26T03:31:40Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Internacionalizaci%C3%B3n&amp;diff=57136&amp;oldid=prev</id>
		<title>Angelfg en 08:12 28 jul 2015</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Internacionalizaci%C3%B3n&amp;diff=57136&amp;oldid=prev"/>
		<updated>2015-07-28T08:12:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Introdución==&lt;br /&gt;
*Tamén temos outras formas de &amp;#039;&amp;#039;personalizar&amp;#039;&amp;#039; as nosas aplicacións en base a unha serie de sufixos.&lt;br /&gt;
*Se queremos que as cadeas de constantes estean traducidas a varios idiomas, só temos que crear un cartafol novo de nome &amp;#039;&amp;#039;&amp;#039;values-??&amp;#039;&amp;#039;&amp;#039; onde ?? é o idioma.&lt;br /&gt;
*Para o inglés teriamos &amp;#039;&amp;#039;&amp;#039;/res/values-en&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;/res/values-es&amp;#039;&amp;#039;&amp;#039; para o español,....&lt;br /&gt;
*O idioma por defecto será o que estea gardado en &amp;#039;&amp;#039;&amp;#039;/res/values&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*So se deben cambiar os valores das contanstes, os identificadores deben ser os mesmos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Referencias&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
**Localización: http://developer.android.com/guide/topics/resources/localization.html&lt;br /&gt;
&lt;br /&gt;
==Caso práctico==&lt;br /&gt;
*Crear un novo proxecto: &amp;#039;&amp;#039;&amp;#039;U2_41_Internacional&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Imos en &amp;#039;&amp;#039;&amp;#039;/res/values&amp;#039;&amp;#039;&amp;#039; definimos as cadeas de texto en galego e esas mesmas cadeas as definimos en inglés en /res/values-en&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Para probar a aplicación hai que cambiar o idioma do sistema como se viu na Unidade 1.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;TableLayout Dinánico&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Android_2013_U2_41_Internacional_01.jpg| Cartafois de recursos: values e values-en. cada un co seu ficheiro de strings.&lt;br /&gt;
Image:Android_2013_U2_41_Internacional_02.jpg| A aplicación está en galego, tanto no layout como no código (Toast).&lt;br /&gt;
Image:Android_2013_U2_41_Internacional_03.jpg| E o mesmo pasa en inglés. O layout e o código Java é o mesmo para os dous casos.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strings.xml de /res/values===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;U2_41_Internacional&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;action_settings&amp;quot;&amp;gt;Settings&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;idioma&amp;quot;&amp;gt;Esta aplicación, por defecto, está en galego!&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string name=&amp;quot;boton&amp;quot;&amp;gt;Preme aquí&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;mensaxe_toast&amp;quot;&amp;gt;Premeches o botón!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===strings.xml de /res/values-en===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string name=&amp;quot;app_name&amp;quot;&amp;gt;U2_41_Internacional&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;action_settings&amp;quot;&amp;gt;Settings&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;idioma&amp;quot;&amp;gt;This app is by default in galician language!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;boton&amp;quot;&amp;gt;Click here&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;string name=&amp;quot;mensaxe_toast&amp;quot;&amp;gt;You have clicked on the button!&amp;lt;/string&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===O XML do layout===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;10,15,16&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;@string/idioma&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Button&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;@string/boton&amp;quot;&lt;br /&gt;
        android:onClick=&amp;quot;onBotonClick&amp;quot; /&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liñas 10 e 15&amp;#039;&amp;#039;&amp;#039;: Agora temos que traballar con constantes, non podemos poñer o texto a &amp;#039;&amp;#039;lume&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===O código Java===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;25&amp;quot; &amp;gt;&lt;br /&gt;
package com.example.u2_41_internacional;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class U2_41_Internacional extends Activity {&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_u2_41__internacional);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.u2_41__internacional, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public void onBotonClick(View v) {&lt;br /&gt;
		Toast.makeText(this, R.string.mensaxe_toast, Toast.LENGTH_SHORT).show();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 25&amp;#039;&amp;#039;&amp;#039; observar como o toast tamén colle a cadea de texto dos recursos tipo string.&lt;br /&gt;
&lt;br /&gt;
==Consideracións a ter en conta==&lt;br /&gt;
&lt;br /&gt;
Estes sufixos que estamos a utilizar (-land; -es) poden ser combinados entre eles e con outros moitos diferentes.&lt;br /&gt;
&lt;br /&gt;
No seguinte [http://developer.android.com/guide/topics/resources/providing-resources.html#table2 enlace] aparece dita orde de prefixos.&lt;br /&gt;
&lt;br /&gt;
Por exemplo:&lt;br /&gt;
*res/values-en-rUS/strings.xml&lt;br /&gt;
*res/values-en-rUK/strings.xml&lt;br /&gt;
&lt;br /&gt;
Onde o segundo sufixo fai referencia a inglés ‘americano’ (en-rUS) ou ‘ inglés’ do Reino Unido (en-rUK).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota&amp;lt;/u&amp;gt;: a letra r fai referencia á rexión.&lt;br /&gt;
&lt;br /&gt;
Para facilitarnos o traballo, Eclipse dispón dunha pantalla na que podemos indicar que &amp;#039;características&amp;#039; queremos que teña o noso arquivo de recursos e automaticamente xa engade por nós os sufixos necesarios.&lt;br /&gt;
&lt;br /&gt;
Cando creamos un arquivo de recursos aparece a seguinte pantalla:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Android_2013_U2_41_Internacional_04.jpg|300px|thumb|left]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se prememos o botón &amp;#039;Next&amp;#039; pasamos á pantalla comentada anteriormente. Neste exemplo estamos a crear un recurso de tipo layout para pantallas de 7-10 pulgadas (tamaño x-large), entón teríamos que crear un layout nun cartafol ‘layout-xlarge’:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Android_2013_U2_41_Internacional_05.jpg|300px|thumb|left]] &lt;br /&gt;
&lt;br /&gt;
* Debemos pasar a &amp;#039;propiedade&amp;#039; SIZE dende a lista da esquerda á dereita (premendo o botón coa dirección dereita). Unha vez pasada debemos darlle un valor, no noso caso x-large.&lt;br /&gt;
* Ó facelo, podedes observar como na parte baixa aparece o nome co sufixo correcto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos combinar moitas máis &amp;#039;propiedades&amp;#039;. Así, no seguinte exemplo, estamos a crear un arquivo de recursos de tipo &amp;#039;Values&amp;#039; que se cargará cando utilicemos un dispositivo Android, co idioma Español, nunha pantalla de tipo Small e cunha densidade Media.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Android_2013_U2_41_Internacional_06.jpg|300px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
* O sufixo que crea neste caso será: -es-small-mdpi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Na versión &amp;#039;&amp;#039;&amp;#039;Lollipop&amp;#039;&amp;#039;&amp;#039; (API 21, android 5.0) xa se inclúe o idioma galego.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2015).&lt;/div&gt;</summary>
		<author><name>Angelfg</name></author>
	</entry>
</feed>