2011-06-07 6 views

Respuesta

26

Tienes que crear una carpeta para cada idioma que estés utilizando en el formato "language.lproj" (ej. En.lproj, de.proj) - allí tienes que crear un archivo llamado Localizable.strings (Compile Action : contenido)

El archivo se ve así:

"Name For Your String"="Translation For Your String";  // don't forget the semicolon! 

entonces se puede llamar NSBundle.MainBundle.LocalizedString ("de nombres para SuCadena", "", "")

Aquí es una extensión a corto método que hace la traducción un poco más fácil:

public static class Extension 
{ 
    public static string t(this string translate) 
    { 
     return NSBundle.MainBundle.LocalizedString(translate, "", ""); 
    } 
} 

que lo utilice de esa manera:

// don't forget the using 

"My String".t(); 
+0

Gracias Thomas. Así que necesito traducir todas las palabras en inglés manualmente para esto. ¿derecho? ¿Hay alguna otra manera? ¿Qué hay de google translate? – bharath

+0

Puede copiar solo la cadena sin traducir y traducirlos, pero yo solo usaría el inglés en lugar de las traducciones de Google Para la traducción por palabra, hay varios servicios de traducción que paga por palabra que traducen. –

+0

Utilicé palabras dinámicas. Básicamente, todos los valores provienen solo del servidor. Si el usuario desea cambiar el idioma, significa que debo cambiar dentro de la aplicación. No quiero llamar al servidor nuevamente para esto. – bharath

Cuestiones relacionadas