2011-10-06 20 views

Respuesta

2

Hay una herramienta "pseudoizer" en las descargas de este artículo: http://msdn.microsoft.com/en-us/magazine/cc163991.aspx

Incluye tanto la fuente (WinForms) y binario si usted es perezoso

+0

¡Gracias por el gran descubrimiento! Nosotros escribimos el nuestro desde entonces, pero bueno saber de todos modos. – Clafou

8

escribí una pequeña aplicación de utilidad que me permite convertir texto en "pseudo".

Se basa en una función simple que examina cada carácter de la cadena. Si el personaje IsAlpha le agrego un acento.

agrego un acento al agregar el carácter con un random diacritic mark between U+0300 and U+036F (el rango de marcas diacríticas).

enter image description here

Así que ahora yo sólo localizan mi aplicación/sitio web como si fuera uno de los localizadores de habla holandesa.


escribí una pequeña utilidad aplicación que le permite ME convertir el texto en "pseudo".

Está basa en una simple función que ve a unos de carácter en la cadena. I̳fͣ t͋e̿ c͋h͖a̟c̟t̼e̞rͪ Ìs̀A̒l͒p̷h̗a̲ ţh̽e͚nͥ i̡ a͙d͙d̬ a̅n̊ a̒c̒c̤͞e̤͞n̜t̽ t̽o͑ i̬t̬ t̬o̬ i̽t͑.

agrego un acento añadiendo el carácter con un r͙a͋nͅd̃o͞m̚ dͬi̠a͚c̸r̾iͩt͖i͋c̭ m̓ḁr̵k̡ b̞ë́t̼w̓e̬ë́n̨ U̵+0300 a̢n͙d͜ U͕+036F͓ (la diacrítica marcas de rango).


También hay una opción para agregar relleno al texto, por lo permita para otros idiomas que no utilizan la misma cantidad de espacio como Inglés

  • Today ->[T̀oͨd̼a͈̹y̭ !!]
  • Control Panel ->[C̊ȍńt̪r͗o͂l͇ P̈ȁñeͮl͢ !!!!!]
  • Oxydative Decarboxilation ->[Ŏx͞y̠dͥa͂t̿i̚v͙eͪ D̼e̖c̿aͤr͖b̐o̼x̹i͂l͖a̠t̮i̓o̧n̰ !!!!!!!!!]

Y mi PsuedoLocalizeText función:

function TForm1.PsuedoLocalizeText(s: WideString; AddPadding: Boolean): WideString; 
var 
    i: Integer; 
    sb: TWideStringBuilder; 
    x: Integer; 
    tiny: WideString; 
const 
    n: WideString = ''; //n=nothing 
begin 
    //Code is public domain. No attribution required. 
    sb := TWideStringBuilder.Create; 
    try 
     for i := 1 to Length(s) do 
     begin 
      //http://www.fileformat.info/info/unicode/block/combining_diacritical_marks/list.htm 
      //U+0300 .. U+36F are combining diacritic marks 
      x := $300+Random($36f-$300); 

      if Windows.IsCharAlphaW(s[i]) then 
      begin 
       tiny := n+ s[i] + WideChar(x); 
       if Random(10) < 1 then 
        tiny := n+tiny+WideChar($300+Random($36f-$300)); 
       sb.Append(tiny); 
      end 
      else 
       sb.Append(s[i]); 
     end; 

     Result := sb.ToString; 

    finally 
     sb.Free; 
    end; 

    if AddPadding then 
    begin 
     Result := '['+Result+' '; 

     for i := 1 to Ceil(Length(s)/3) do 
     begin 
      Result := n+Result+'!'; 
     end; 
     Result := Result+']'; 
    end; 
end; 

actualización Mi psuedolocalizer:

enter image description here

Mi siguiente tarea es tener que trabajar en *.resx, pero excluyen *.xx-yy.resx, por lo también puede funcionar en aplicaciones WinForms.

Y, por supuesto, rellene Tamaño, Atributos, obtener el icono adecuado para carpetas.

Entonces quizás tenga que resaltar la fr-FR o qps-ploc parte de los nombres de los archivos.

+0

Luce increíble! ¿Es público? Realmente estoy buscando una herramienta que pueda ejecutar en archivos .resx (o tal vez en ensamblajes satelitales) para producir versiones pseudolocalizadas. – Clafou

+0

Puede tomar el código y traducirlo al idioma que desee. Probablemente haya incluso sitios web que puedan hacer lo mismo (leet-ify, tu nombre o algo así) –

+0

Espero que haya una herramienta que pueda hacer todo el trabajo al pseudo-localizar la aplicación. Esto se ejecutará en múltiples archivos de resx (o ensamblajes satelitales) varias veces durante el proceso de desarrollo, por lo que debe ser fácil de integrar en el proceso de desarrollo. Algo que se puede soltar en el proceso de compilación de construcción de integración continua sería ideal. Lamentablemente, tengo la sensación de que estoy esperando demasiado. :) – Clafou

1

Después de no encontrar nada rápido, fácil y gratuito , Construí Pseudolocalize.com! ¡Solo copie/pegue/haga clic y obtendrá la versión pseudolocalizada de sus cadenas!

+1

¡Bien hecho, gran idea! – Clafou