Разумем ваш опис и ваш поен. Сада морамо да сазнамо како је требало да технички рад.
Једно питање ја видим овде је како ћемо препознати да смо већ граница на располагању после оних у којима достигао раније.
Ми једноставно не може сваки пут питати жељени добављача, а затим идите на следећу. Ове обавезе биће потребно перформансе - јер за сваки захтев на страну која захтева превод, ми ћемо маде неуспелог бирања на жељени провајдера, па онда следећи (тако да може да буде неколико неуспешних позиви када вБЕТ ће подржати више АПИ).
Друго решење би било да би сачувао информације које преферира провајдер није доступна и ићи директно на следећу. Ово ће бити много брже, јер провера локалне променљиве је много брже него чекају одговор од спољних сервера. Овај пут имамо друго питање - не знамо када преферира провајдер је на располагању. Можемо, наравно, направио неке планирани задатак који би питати за једноставне (кратко) превод на пример, једном на сат / дан да га провере. Дакле, у ову стратегију морамо да одлучимо колико често по дефаулту такав задатак требало да раде. Наравно да би то проверити само када неки провајдер ће бити означен као није доступан.
Такође ако ми знак услуга као недоступан - шта да радите када знамо да су сви провајдери нису доступни - додајте неке информације за крајњег корисника или само превод онога што је у кешу, а остатак као изворно, без икаквих додатних информација о привременом недостатку превода провајдера .
Без обзира на који начин ће бити урађено, Гоогле ће се третирати као један АПИ-ја (в1 или в2 у зависности од конфигурације) - нема смисла да га поделите, зато што Гоогле В1 ће бити затворена ускоро.
Друга ствар је да се омогући да се посебно конфигурише оператери ред за сваки језик пара. У овом тренутку вБЕТ већ омогућава да подесите провајдер превођења за сваки језик пару. Мислим да можемо да се промени из једне вредности у вредности раздвојене зарезима (ЦСВ). На овај начин ћемо знати за сваки језик странку која даваоци подрже овај превод и шта су преференције реда (само да би на ЦСВ листи).
НАПОМЕНА: То ће свакако имати неке утиче на перформансе. Уместо стварања једног објекта за превођење ћемо морати да створи низ таквих објеката и додатно паковање објекат (да би се транспарентно за остале делове кода и мање грешака, склона). Наравно, нећемо створити објекте за пружаоце знамо нису доступне у овом тренутку.
Решење за то би било за реконфигурацију за боље перформансе и уклоните провајдер ред - баш као што је сада - један провајдер по језику пара.
Ово не би требало да буде скупо за перформансе, али још увек неке додатне логике и меморије потрошње.
Молим вас реците које решење је пожељна.