ASP.NET MVC псевдолокализация - PullRequest
       3

ASP.NET MVC псевдолокализация

8 голосов
/ 06 октября 2011

Можно ли использовать какой-либо инструмент для выполнения псевдолокализации в приложении ASP.NET MVC (с использованием механизма представления Razor), чтобы помочь в тестировании локализуемости?

Ответы [ 3 ]

8 голосов
/ 06 октября 2011

Я написал небольшое служебное приложение, которое позволяет мне преобразовывать текст в «псевдо».

Он основан на простой функции, которая просматривает каждый символ в строке.Если символ IsAlpha , тогда я добавляю к нему акцент.

Я добавляю акцент, добавляя символ с случайной диакритической меткой между U + 0300 и U + 036F * 1008.* (диапазон диакритических знаков).

enter image description here

Так что теперь я просто локализую свое приложение / веб-сайт, как будто я был одним из голландских говорящих локализаторов.


1017 * я написал небольшую утилиту приложение, которое позволяет мне преобразования текста в «псевдо». 1019 * подмигнули основана на простой функции, которая рассматривает каждый символ в строке.Если символ IsAlpha потом добавляю ударение на него. * +1023 * я добавляю ударение Добавляя персонаж с СЛУЧАЙНЫМ диакритическим Mark между U + 0300 и + 036F͓ * +1025* (t̯͉hͪ͟eͮ d͓i͉aͣc͕̬r͜i͒t́i͓c̯a͚l̼ m̓a̅r̝̜k͎s̯ r͋ăn̪̒g̟e̱̮).

Существует также возможность добавления отступов к тексту, поэтому допускается использование других языков, не использующих столько же места, что и английский

, для других языков, не использующих такой же объем пространства, как английский *1030*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;

Обновление Мой псевдолокализатор:

enter image description here

Моя следующая задача - заставить его работатьна *.resx, но исключить *.xx-yy.resx, чтобы он мог работать и в приложениях WinForms.

И, конечно, заполните Размер , Атрибуты , получите правильный значок для Папки .

Тогда, возможно, естьон выделяет часть имен файлов fr-FR или qps-ploc.

2 голосов
/ 27 апреля 2012

В загрузках для этой статьи есть инструмент "псевдоайзер": http://msdn.microsoft.com/en-us/magazine/cc163991.aspx

Включает в себя как источник (winforms), так и двоичный файл, если вы ленивый

1 голос
/ 25 мая 2014

Не найдя ничего быстрого, бесплатного и легкого, я построил Pseudolocalize.com !Просто скопируйте / вставьте / щелкните, и вы получите псевдолокализованную версию ваших строк!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...