2011-10-06 111 views

回答

8

我写了一个小工具程序,让我把文本转换成“伪”。

它基于一个简单的函数,它查看字符串中的每个字符。如果字符IsAlpha那么我给它添加一个口音。

我通过追加字符random diacritic mark between U+0300 and U+036F(变音标记范围)来增加口音。

enter image description here

所以我现在只是我的本地化应用程序/ Web站点就像我是荷兰人讲本地化之一。


我写了一个小工具,应用程序,让 我转换文本转换成“伪”。

I͔t͒'sͪ基于一个简单的功能, 着眼于每一个字符的字符串。 I̳fͣt̰ĥe̿c͋h͡a͖r̸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ͪ。

我添加一个口音通过附加 字符与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͓(所述 区别标记范围)。


还有添加填充到文本,所以允许其他语言不使用的空间相同数量的英语

  • 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̰ !!!!!!!!!]

而且我PsuedoLocalizeText功能:

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; 

更新我psuedolocalizer:

enter image description here

我的下一个任务是有它*.resx工作,但不包括*.xx-yy.resx,所以它也可以在WinForms应用程序上工作。

当然,填写大小属性,得到正确的图标文件夹

然后可能会突出显示fr-FRqps-ploc部分文件名。

+0

看起来不错!它是公开的吗?我真的正在寻找一种可以运行在.resx文件(或者可能在卫星组件上)的工具来生成伪本地化版本。 – Clafou

+0

你可以把代码拿来翻译成你喜欢的任何语言。甚至可能有网站可以做同样的事情(leet-ify你的名字或其他什么) –

+0

我希望有一个工具可以完成伪本地化应用的所有工作。这将通过开发过程多次在多个resx文件(或卫星程序集)上运行,因此它需要易于集成到开发过程中。可以放入持续集成构建过程中的东西将是理想的!不幸的是我有一种感觉我期待太多了! :) – Clafou

1

没有找到任何东西快,洒脱后,我建了Pseudolocalize.com!只需复制/粘贴/点击,即可获得字符串的伪本地化版本!

+1

干得好,好主意! – Clafou