Про языки....



  • Общая задача - в процессе работы - получать количество решенных - нерешенных нераспознанных каптч.
    столкнулся с тем что на 1 компе - логи на русском
    а на другом логи на английском .
    подскажите можно ли или принудительно устанавливать язык вывода логов. или его знать заранее и как то строить логику обработки

    1 комп -
    RuCaptcha Капч разгадано - 8
    Капч разгадано неверно - 0

    2 комп
    Messages:
    2 - ERROR_CAPTCHA_UNSOLVABLE

    RuCaptcha Solver Used - 9
    Solver Fails - 0

    aaa = await Api.GetScriptReport().then((ReportText) => {
    console.log(ReportText);

        try {
    
            result = ReportText.match(/Solver\sUsed\s\-\s(\d+)/gims);
            console.log(result)
            result = ReportText.match(/Solver\sFails\s\-\s(\d+)/gims);
            console.log(result)
    

    result = ReportText.match(/\s*(\d+)\s+-\s+ERROR_CAPTCHA_UNSOLVABLE/gims);
    console.log(result)

        } catch (e) {
            //  Log(e);
        }
    
    })


  • @vitsh1974 said in Про языки....:

    подскажите можно ли или принудительно устанавливать язык вывода логов
    0_1570007678002_2019-10-02_121326.png



  • @vitsh1974 А вот если они могут быть любыми, и вы не знаете как было установлен бас на другой машине, то продумывать логику, и мастырить переводчик
    я так думаю



  • забыл сказать - идет запуск сильно кастомизированного веб интерфейса.
    таких переключателей нету....

    возможно есть возможность как то просто выдрать ети переменные через апи функции вида
    Api.Get************ ==> ERROR_CAPTCHA_UNSOLVABLE = 27
    Api.Get************ ==> Solver Fails = 31
    Api.Get************ ==> Solver Used = 9



  • @vitsh1974 Тогда я хз. Мне веб вообще не интересен. как принцип.
    upd выдрать то конечно можно. split() и вперед. Вопрос надо продумать логику что бы он искал и понимал какой язык
    upd2 так например

    var content = "1 комп -
    RuCaptcha Капч разгадано - 8
    Капч разгадано неверно - 0
    
    2 комп
    Messages:
    2 - ERROR_CAPTCHA_UNSOLVABLE
    
    RuCaptcha Solver Used - 9
    Solver Fails - 0"
    content = content.replace(/\s*/, '')
    if((content.toLowerCase()).indexOf("rucaptchasolver")>=0){
    var miss = parseInt(content.split("solverfails-")[1])
    //и так далее
    }
    

    как то так например, выглядит конечно громоздко, но это из того что я вижу. Так то конечно надо ровнять и делать красивше. Это просто общее направление



  • направление понятно --- найти русскую букву а если есть то ру иначе en
    но хотелось бы элегантный код вида
    Api.Get************ ==> ERROR_CAPTCHA_UNSOLVABLE = 27
    Api.Get************ ==> Solver Fails = 31
    Api.Get************ ==> Solver Used = 9


    или Api.Get************ ==> en или ru





  • @vitsh1974, язык изменяется в файле settings.ini, вот тестовый скрипт ltest.xml если язык не указан устанавливает русский, если указан английский меняет его на русский. Добавить этот код в функцию OnApplicationStart и если при первом запуске язык был не русский то при следующих он уже будет русский.



  • как я понял - решения пока нету ... ( и надо искать букву а



  • @pavelduglas Их тут вроде целых два, жаль что вам ни одно не подошло xD



  • Api.Get************ ==> en или ru --> ???

    простой впопрос по сути -- узнать текущую локализацию клиента ...



  • @pavelduglas said in Про языки....:

    Api.Get************ ==> en или ru --> ???

    простой впопрос по сути -- узнать текущую локализацию клиента ...

    @artihorror said in Лайфхаки BAS:

    запущенная локализация проекта

    VAR_LANG = _K
    


  • @fox Да походу бесполезно...



  • я извиняюсь но _K -> андефайнед



  • @vitsh1974 said in Про языки....:

    я извиняюсь но _K -> андефайнед

    0_1570107048636_8db6ec16-da6b-4952-9d0d-b4252c3909e3-изображение.png


Log in to reply