Vienīgais, ko es varu iedomāties. Pārtaisi visu tiešām uz masīviem (vai vienalga kā glabā tos stringus).
Izveido funkciju, kurai tu padod stringu (tāpat kā gettext gadijumā) un vairanta nr. Piemēram:
__('Login', 1);
Ja masīvā netiks atrasts Login tulkojuma variants 1, tad izdrukā padoto stringu. Tādejādi varēsi taisīt vienam eng. stringam vairākus tulkojumus. Protams, vari funkciju arī veidot, ka nav variantu. function(str, variant = 0) {}
Tad varēsi:
__('Login')
Un ja vēlāk parādīsies cits tulkojums šim pašam, tad citur kodā:
__('Login', 1);
Cerams, ka saprati. Es zinu, ka nedaudz murgaini skaidroju :)
Tipa doma tāda, ka tulkojuma masīvā visiem stringiem var būt vairāki varianti. Defaultais variants ir 0. Bet ir iespēja pievienot 1,2,3 utt.