Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

Также заметил, что цена в интерфейсе покупки/продажи переводится по-разному. В списке предметов ЗНАЧ. В сортировке ЗНЧ. В описании предмета ЦЕНА.
Я понимаю, что на англ это VALUE, чем обосновывается перевод “значение”, но думаю можно привести к чему-то общему.

Заодно заметил, что “вес” в списке сортировок не переведёт и оставлен как WT

Поделиться сообщением


Ссылка на сообщение
Только что, sergioberg сказал:

Похоже надо исключать названия всех кораблей, название планет и имена людей. 

Но ведь локализованные корабли из своего файла подтягиваются без проблем, по крайней мере стартовый — Фронтир.

Поделиться сообщением


Ссылка на сообщение
6 минут назад, sergioberg сказал:

Да заметил про корабли, не понятка как так, смотрю в других локализациях (японский) корабли переведены и всё ок, а тут перевод почему то дает такое

Хм, а в польской не переведено…. ну ок. Будем делать и в русификации названия кораблей без перевода.


Прокиньте проверку между английским и русским текстом.
Код должен проверять количество тэгов в английской и русской строке и выдавать ошибку при несоответствии.
В условиях гуглотаблиц, к примеру, делается так

(Прокидывается формула  =CheckSyntax(Английская ячейка ; русская ячейка)

function CheckSyntax(cell1Value, cell2Value) {
  const codes = [
  "[confirm]", //Первый тэг
  //Сюда тэги
  "[pdown]" // Завершающий тэг
                ];
  const errors = [];

  // Check cell 1 for code occurrences
  let matchCount = 0;
  codes.forEach(code => {
    const matches = cell1Value.match(new RegExp(escapeRegExp(code), "g")) || [];
    matchCount += matches.length;
  });

  // Check cell 2 for code occurrences
  let matchCount2 = 0;
  if (cell2Value) {
    codes.forEach(code => {
      const matches = cell2Value.match(new RegExp(escapeRegExp(code), "g")) || [];
      matchCount2 += matches.length;
    });
  }

  // Generate error message if counts do not match
  codes.forEach(code => {
    const count1 = (cell1Value.match(new RegExp(escapeRegExp(code), "g")) || []).length;
    const count2 = (cell2Value.match(new RegExp(escapeRegExp(code), "g")) || []).length;
    if (count1 !== count2) {
      errors.push(`You have ${count2}/${count1} of ${code}`);
    }
  });

  // Output result or error
  if (errors.length > 0) {
    return "!!! Error !!!\n" + errors.join("\n");
  } else {
    return "";
  }
}

// Function to escape regular expression characters in a string
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}


В первую очередь можно прокинуть проверку по следующим тэгам (убрал под спойлер). Главное обратить внимание на те, которые идут в <>
 

Скрытый текст

[ ]
[ > 100%]
[ LD Master Quest ]
[_Dpad_None]
[!]
[...]
[$CONTAINER]
[$OWNER]
[00:00]
[00:18]
[00:21]
[00:58]
[00:59]
[01:00]
[01:34]
[01:55]
[01:56]
[02:05]
[02:20]
[02:21]
[02:27]
[04:28]
[04:50]
[05:00]
[06:35]
[08:00]
[0u849[pqisvwqer]
[10 kW]
[20 kW]
[3 NPC + Scene]
[3:45 PM]
[3:46 PM]
[3:47 PM]
[3:48 PM]
[30 kW]
[4:08 PM]
[A]
[Accept:13]
[Accept]
[Activate]
[Add]
[All]
[AltAttack]
[ApplyCritical]
[Attack]
[Back]
[Boosters]
[Cancel:13]
[Cancel:14]
[Cancel]
[CANCELED]
[CargoHold]
[ChangeMode:14]
[ChangeMode]
[Click]
[Commerce]
[Commitment]
[Confirm:14]
[Confirm]
[Crew]
[CRITICAL]
[Cyberneticist]
[D]
[DataMenu]
[DELETED]
[Deleted]
[DELIVERED]
[Diplomat]
[Distraction]
[Down]
[E:14]
[Edit]
[Evidence]
[ExecuteJump]
[Exit]
[FastTravelShip]
[FlightCheck]
[Flirt]
[Forward]
[Friendship]
[gl]
[H:50]
[H:All]
[Hunter]
[Industrialist]
[Intimidation]
[Jump]
[L3]
[Left]
[LeftStick]
[Lie]
[Look]
[LShoulder:14]
[LShoulder]
[LTrigger]
[Maintenance]
[Melee]
[Monocle]
[Mouse2]
[Move]
[MoveDown:32]
[MoveUp:32]
[Name]
[NextTarget]
[No]
[Optional]
[PARTICULATES]
[Persuade]
[Pick]
[Piracy]
[PlaceBeacon]
[PlaceMarker]
[PrevTarget]
[PrimaryAttack]
[Q:14]
[QuickInventory]
[Quickkey10]
[QuickkeyDown]
[R3]
[ReadyWeapon]
[Redacted]
[REDACTED]
[Reject]
[Repair]
[RepairShip]
[Right]
[RightStick]
[Robotics]
[Romance]
[RotateLock]
[RotatePick]
[RShoulder:14]
[RShoulder]
[RTrigger]
[S]
[s0dk[-pwekori0394-0q2i30if]
[Sakharov]
[SecondaryAttack]
[Security]
[SelectTarget]
[ShipBuilder]
[ShipTransaction]
[SHMonocle]
[Signed]
[Sneak]
[Soldier]
[Space]
[Speech]
[Sprint]
[Starborn]
[StarbornPower]
[StartWait]
[Steady]
[StrafeLeft]
[StrafeRight]
[Strikers]
[TakeOff]
[Temporary]
[TogglePOV]
[ToggleView]
[Unfinished]
[Unknown]
[Up]
[Vasco]
[VATS]
[W]
[WeaponGroup1]
[WeaponGroup2]
[WeaponGroup3]
[WeaponReadyReload]
[X]
[x]
[XButton]
[Xenobiologist]
[Yes]
[ZoomIn:13]
{      }
{ACTIVE}
{CLASSIFIED}
{Cmdr.}
{DEN}
{Dr.}
{GAGARIN}
{Maj.}
{Maj}
{MARS}
{N/A}
{SOL}
{UNAVAILABLE}
{WOLF}
</b>
</B>
</font>
</i>
</p>
</u>
<<NO REF LOCATION>
<0.Name>
<0.ValueInt=>
<0.ValueInt>
<1.Name>
<1.Title>
<1.ValueInt>
<2.Name>
<2.Title>
<3.Name>
<3.Title>
<4.Name>
<Alias.CurrentName=Boss>
<Alias.CurrentName=DerelictCaptain>
<Alias.CurrentName=Family>
<Alias.CurrentName=GenericCorpses[1]
<Alias.CurrentName=QuestGiver>
<Alias.CurrentName=Recipient>
<Alias.Name=Boss>
<Alias.Name=QuestGiver>
<Alias.Name=TargetNPC>
<Alias.Name=WoundedPerson>
<Alias.Obj=NPC>
<Alias.PluralName=QuestGiver>
<Alias.PluralName=TestActor>
<Alias.Pronoun=DerelictCaptain>
<Alias.Pronoun=QuestGiver>
<Alias.Pronoun=TargetNPC>
<Alias.Pronoun=WoundedPerson>
<Alias.PronounCap=DerelictCaptain>
<Alias.PronounCap=WoundedPerson>
<Alias.PronounObj=CaptiveTarget>
<Alias.PronounObj=DerelictCaptain>
<Alias.PronounObj=QuestGiver>
<Alias.PronounObj=WoundedPerson>
<Alias.PronounPosObj=CaptiveTarget>
<Alias.PronounPosObj=QuestGiver>
<Alias.ShortName=QuestGiver>
<Alias=Adversary01Ship>
<Alias=AlbanOrbitLocation>
<Alias=AllyShip>
<Alias=BandaOrbitLocation>
<alias=BarrettDungeonPlanetLocation>
<Alias=Base>
<Alias=BossRef>
<Alias=CaptiveTarget>
<Alias=CargoTargetRef>
<Alias=CF02_MarineEscort>
<Alias=ChosenLocation_Planet>
<Alias=ChosenLocation_System>
<Alias=ChosenLocation>
<Alias=ChosenPlanetLocation>
<Alias=ChosenSystemLocation>
<Alias=ChunksLoc>
<Alias=Colonist>
<Alias=Companion>
<Alias=CompanionWhoDies>
<Alias=CrashedShipPlanetLocation>
<Alias=DerelictCaptain>
<Alias=DerelictShipName>
<Alias=DestinationLocation>
<Alias=Dungeon>
<Alias=DungeonLocation>
<Alias=EnemyPlanet>
<Alias=EnemyType>
<Alias=GasSensor>
<Alias=HailingShip>
<Alias=Homeship>
<Alias=InteractionObject>
<Alias=Item>
<Alias=Leader>
<Alias=LemaireOrbitLocation>
<Alias=Loc01_SpaceCell>
<Alias=Location_TemplePlanet>
<Alias=Location01Planet>
<Alias=Location02Planet>
<Alias=Location03Planet>
<Alias=LocationPlanet01>
<Alias=LocationPlanet02>
<Alias=LocationPlanet03>
<Alias=LocationPlanet04>
<Alias=LocationPlanet05>
<Alias=LocationPlanet06>
<Alias=MessageTextReplaceActor>
<Alias=MessageTextReplaceActorr>
<Alias=MessageTextReplaceRef>
<Alias=Miner>
<Alias=MineralLocation>
<Alias=NPC>
<Alias=OE_Location>
<Alias=Operative>
<Alias=OrbitLocation>
<alias=OtherPlayer>
<Alias=OverlayLocation>
<Alias=OverlayMapMarker>
<Alias=PassengerDestination>
<Alias=Planet>
<Alias=PlanetLocation>
<Alias=PlanetReferencePlanetLocation>
<Alias=PlanetTraitCategory>
<Alias=PlanetTraitName>
<Alias=PlanetWithTrait>
<Alias=Player>
<alias=player>
<Alias=PlayerShip>
<Alias=PreviousHomeShip>
<Alias=PrimaryRef>
<Alias=Prisoner>
<Alias=QuestGiver>
<Alias=Questgiver>
<Alias=QuestGiverLocation>
<Alias=RadiantLocation_PlanetLocation>
<Alias=RadiantLocation_SystemLocation>
<Alias=RadiantLocation>
<Alias=ResourceAlias>
<Alias=ResourceName>
<Alias=ReturnLocation>
<Alias=Robots[0]
<Alias=ScanTarget>
<Alias=ScanTargetName>
<Alias=ScanTargets[0]
<Alias=SourceObject>
<Alias=SpacerContact01OrbitLocation>
<Alias=SpacerContact02OrbitLocation>
<Alias=StarstationOrbitLocation>
<Alias=SurveySiteMarker>
<Alias=SurveySlate>
<Alias=SystemLocation>
<Alias=Target>
<Alias=TargetContainerLocation>
<Alias=TargetLocation>
<Alias=TargetMapMarker>
<Alias=TargetNPC>
<Alias=TargetObject>
<Alias=TargetPlanet>
<Alias=TargetPlanetLocation>
<Alias=TargetPlanetOrbitLocation>
<Alias=targetSystem>
<Alias=TargetSystemLocation>
<Alias=TemplePlanet>
<Alias=TextReplacementRefAlias>
<Alias=Trait>
<Alias=TraitCategory>
<Alias=Treasure>
<Alias=Vanguard>
<Alias=VanguardCommander>
<Alias=VanguardInjured>
<Alias=WenOrbitLocation>
<area>
<asl:./<?l<werok_I09I8-0@E-0I-0as<:>
<b>
<B>
<BaseName>
<br>
<dur>
<ENGINEERING>
<font color="#009933">
<font color="#FF0000">
<font size='20'>
<font size='30'>
<font size='50'>
<font size='70'>
<font size='80'>
<Global=AkilaLife05_RocksCurrent>
<Global=CF01_KarlDebt>
<Global=CF01_KarlDebt>
<Global=CF02RaganaValue>
<Global=CF02RaganaValue>
<Global=CF02SuppliesValue>
<Global=CF02SuppliesValue>
<Global=CF06_EstelleShareHigh>
<Global=CF06_EstelleShareLow>
<Global=CF06_EstelleShareMedium>
<Global=City_AC_LowHouseDonation>
<Global=City_CY_RedTape01Resource01Count>
<Global=City_CY_RedTape01Resource01Total>
<Global=City_CY_RedTape02HurstBribe>
<Global=City_CY_Runaway01_WhiskeyPriceNormal>
<Global=City_CY_Runaway01_WhiskeyPriceReduced>
<Global=City_NA_Botany01_WenPayment>
<Global=City_NA_Botany03_EarlPayment>
<Global=City_NA_Viewport02_InvestAmount>
<Global=City_NA_Z_SuspiciousGlobal>
<Global=COM_SMQ01_GenetagsCollected>
<Global=COM_SMQ01_GenetagsTotal>
<Global=Cora_BookFund>
<Global=Crew_Elite_Lin_HireCost_Discount>
<Global=Crew_Elite_Lin_HireCost>
<Global=Crew_RecruitCost_TextReplacementValue>
<Global=Crew_RecruitCost_TextReplacementValue>
<Global=Crew_RecruitCost_TextReplacementValue>
<Global=CrimeAllowBribePlayerCreditsRequired>
<Global=CrimeBountyAmount>
<Global=CrimeBountyAmount>
<Global=CY_Anna_CreditsAmount>
<Global=CY_Hurst_Donation>
<Global=DR017_DataCreditsHigh>
<Global=EnhancePrice>
<Global=ER_Exorcism_HunterBribeCredits>
<Global=ER_Exorcism_HunterBribeCredits>
<Global=FC_Neon_BeggarDonationGlobal>
<Global=FC_Neon_BeggarDonationGlobal>
<Global=FC09_PayoffAmountBig>
<Global=FC09_PayoffAmountSmall>
<Global=FCNeon_KosmosOrgMaterialCount_Biosuppressant>
<Global=FCNeon_KosmosOrgMaterialCount_GastronomicDelight>
<Global=FCNeon_KosmosOrgMaterialCount_Hypercatalyst>
<Global=FCNeon_KosmosOrgMaterialCount_Lubricant>
<Global=FCNeon_KosmosOrgMaterialCount_Polymer>
<Global=FCNeon_KosmosOrgMaterialCount_Solvent>
<Global=FCNeon_KosmosOrgMaterialCount_Stimulant>
<Global=FCNeon_SleepcrateHomeGlobal>
<Global=FCNeon_TradeTowerHomeGlobal>
<Global=FFClinicR02ItemCount>
<Global=FFClinicR02ItemTotal>
<Global=FFConstantZ04_Debt>
<Global=FFConstantZ05_Food>
<Global=FFCydoniaR02_EquipmentNeededCount>
<Global=FFCydoniaZ04_DrawingsPosted>
<Global=FFCydoniaZ04_DrawingsTotal>
<Global=FFNeonZ06_TevinPayment>
<Global=FFNeonZ07FlyersHandedOut>
<Global=FFNeonZ08_FrankiePayment>
<Global=FFNeonZ09_PapersCollected>
<Global=FFNeonZ10_SidestarValue>
<Global=FFNewAtlantis05_Credits_Small>
<Global=FFNewHomesteadR04_IceCleared>
<Global=FFNewHomesteadR04_IceTotal>
<Global=FFNewHomesteadZ01_TourTip>
<Global=FFParadisoZ03_BribePrice>
<Global=Gang01_IntroBribe>
<Global=Gang02_GuardBribe>
<global=Gang03_HangoutsCleared>
<Global=Gang03_NewillArmor>
<Global=Gang03_NewillArmorCheaper>
<Global=MissionBoardCargo01Amount>
<Global=MissionBoardCargo01PlayerCargoSpaceCurrent>
<Global=MissionBoardCargo01PlayerCargoSpaceTotal>
<Global=MissionBoardCargo01TimeRemainingDays>
<Global=MissionBoardCargo01TimeRemainingHours>
<Global=MissionBoardCargo02Amount>
<Global=MissionBoardCargo02PlayerCargoSpaceCurrent>
<Global=MissionBoardCargo02PlayerCargoSpaceTotal>
<Global=MissionBoardCargo02TimeRemainingDays>
<Global=MissionBoardCargo02TimeRemainingHours>
<Global=MissionBoardHunt01Amount>
<Global=MissionBoardHunt01AmountCurrent>
<Global=MissionBoardPassenger01Amount>
<Global=MissionBoardPassenger01PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger01PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger01TimeRemainingDays>
<Global=MissionBoardPassenger01TimeRemainingHours>
<Global=MissionBoardPassenger02Amount>
<Global=MissionBoardPassenger02PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger02PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger02TimeRemainingDays>
<Global=MissionBoardPassenger02TimeRemainingHours>
<Global=MissionBoardPassenger03Amount>
<Global=MissionBoardPassenger03PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger03PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger03TimeRemainingDays>
<Global=MissionBoardPassenger03TimeRemainingHours>
<Global=MissionBoardPassenger04Amount>
<Global=MissionBoardPassenger04PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger04PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger04TimeRemainingDays>
<Global=MissionBoardPassenger04TimeRemainingHours>
<Global=MissionBoardPassenger05Amount>
<Global=MissionBoardPassenger05PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger05PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger05TimeRemainingDays>
<Global=MissionBoardPassenger05TimeRemainingHours>
<Global=MissionBoardPassenger06Amount>
<Global=MissionBoardPassenger06PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger06PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger06TimeRemainingDays>
<Global=MissionBoardPassenger06TimeRemainingHours>
<Global=MissionBoardPassenger07Amount>
<Global=MissionBoardPassenger07PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger07PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger07TimeRemainingDays>
<Global=MissionBoardPassenger07TimeRemainingHours>
<Global=MissionBoardPassenger08Amount>
<Global=MissionBoardPassenger08PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger08PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger08TimeRemainingDays>
<Global=MissionBoardPassenger08TimeRemainingHours>
<Global=MissionBoardPassenger09Amount>
<Global=MissionBoardPassenger09PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger09PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger09TimeRemainingDays>
<Global=MissionBoardPassenger09TimeRemainingHours>
<Global=MissionBoardPassenger10Amount>
<Global=MissionBoardPassenger10PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger10PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger10TimeRemainingDays>
<Global=MissionBoardPassenger10TimeRemainingHours>
<Global=MissionBoardPassenger11Amount>
<Global=MissionBoardPassenger11PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger11PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger11TimeRemainingDays>
<Global=MissionBoardPassenger11TimeRemainingHours>
<Global=MissionBoardPassenger12Amount>
<Global=MissionBoardPassenger12PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger12PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger12TimeRemainingDays>
<Global=MissionBoardPassenger12TimeRemainingHours>
<Global=MissionBoardPiracy01Amount>
<Global=MissionBoardPiracy01PlayerCargoSpaceCurrent>
<Global=MissionBoardPiracy01PlayerCargoSpaceTotal>
<Global=MissionBoardPiracy02Amount>
<Global=MissionBoardPiracy02PlayerCargoSpaceCurrent>
<Global=MissionBoardPiracy02PlayerCargoSpaceTotal>
<Global=MissionBoardPiracy03Amount>
<Global=MissionBoardPiracy03PlayerCargoSpaceCurrent>
<Global=MissionBoardPiracy03PlayerCargoSpaceTotal>
<Global=MissionBoardSmuggle01Amount>
<Global=MissionBoardSmuggle01PlayerCargoSpaceCurrent>
<Global=MissionBoardSmuggle01PlayerCargoSpaceTotal>
<Global=MissionBoardSupply01Amount>
<Global=MissionBoardSupply01Amount01>
<Global=MissionBoardSupply01AmountCurrent>
<Global=MissionBoardSupply01AmountCurrent01>
<Global=MissionBoardSupply02Amount>
<Global=MissionBoardSupply02Amount01>
<Global=MissionBoardSupply02AmountCurrent>
<Global=MissionBoardSupply02AmountCurrent01>
<Global=MissionBoardSupply03Amount>
<Global=MissionBoardSupply03AmountCurrent>
<Global=MissionBoardSupply04Amount>
<Global=MissionBoardSupply04AmountCurrent>
<Global=MissionBoardSupply05Amount>
<Global=MissionBoardSupply05AmountCurrent>
<Global=MissionBoardSupply06Amount>
<Global=MissionBoardSupply06AmountCurrent>
<Global=MissionBoardSupply07Amount>
<Global=MissionBoardSupply07AmountCurrent>
<Global=MissionBoardSupply08Amount>
<Global=MissionBoardSupply08AmountCurrent>
<Global=MissionBoardSupply09Amount>
<Global=MissionBoardSupply09AmountCurrent>
<Global=MissionBoardSupply10Amount>
<Global=MissionBoardSupply10AmountCurrent>
<Global=MissionBoardSupply11Amount>
<Global=MissionBoardSupply11AmountCurrent>
<Global=MissionBoardSurvey01Current>
<Global=MissionBoardSurvey02Current>
<Global=MissionBoardSurvey03Current>
<Global=MissionBoardSurvey04Current>
<Global=MQ206AMemorialDays>
<Global=MQ207CCurrentInterlockCountGlobal>
<Global=MQ207CTotalInterlockCountGlobal>
<Global=MQ401E_ArtifactPrice>
<Global=MS02_CluesCollected>
<Global=MS05BudgetPlayerPay>
<Global=MS06_GravDriveCreditsAmount>
<Global=MS06_GravDriveCreditsAmount>
<Global=MS06_GravDriveCreditsAmountLess>
<Global=MS06Resource01Count>
<Global=MS06Resource01Total>
<Global=MS06Resource02Count>
<Global=MS06Resource02Total>
<Global=MS06Resource03Count>
<Global=MS06Resource03Total>
<Global=MS06Resource04Count>
<Global=MS06Resource04Total>
<Global=Neon_Chem03_BeggarBribe>
<Global=Neon_Euphorika_LoungeCost>
<Global=Neon_VoliiHotel_RentCost>
<Global=NH_AdrianCredits>
<Global=NPCDemandMoney_ExtraLarge>
<Global=NPCDemandMoney_Large>
<Global=NPCDemandMoney_Large>
<Global=NPCDemandMoney_Large>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Small>
<Global=NPCDemandMoney_Small>
<Global=NPCDemandMoney_Small>
<Global=NPCDemandMoney_Small>
<Global=OE_Credit_BribeMedium>
<Global=OE_Credit_ExtortionMedium>
<Global=OE_Credit_FalseContactCredits>
<Global=OE_KMK_Supply01Amount>
<Global=OE_KMK_Supply01AmountCurrent>
<Global=OE_KMK_Supply01AmountHalf>
<Global=OE_KMK_Supply01AmountThird>
<Global=OE_KMK_Supply01RewardActual>
<Global=OE_KMK_Supply01RewardHalf>
<Global=OE_KMK_Supply01RewardThird>
<Global=OE_KT_IncomingStormGenA_Global>
<Global=OE_KT_IncomingStormGenB_Global>
<Global=OE_KT_IncomingStormGenC_Global>
<Global=OE_KT_IncomingStormTotalMoves_Global>
<Global=PD_EnhanceSpecialPrice>
<Global=PlayerCompletedRedMile>
<Global=PlayerHouse_AC_CoreCost>
<Global=PlayerHouse_AC_CoreCost>
<Global=PlayerHouse_AC_MidtownCost>
<Global=PlayerHouse_AC_MidtownCost>
<Global=PlayerHouse_NA_WellCost>
<Global=Rad01_Convo_Credits>
<Global=Rad01_PamphletCost>
<Global=RAD05_Mercenary_Debt>
<Global=RAD06_CurrentQuantity>
<Global=RI03_Simon_AndrejaCredits>
<Global=RI03_Simon_Credits>
<Global=RI03_Simon_LessCredits>
<Global=RI03_Simon_MoreCredits>
<Global=RI05_Bayu_Credits>
<Global=RI05_Frankie_LargeCredits>
<Global=RI05_Frankie_SmallCredits>
<Global=RI05_Imogene_Credits>
<Global=RI06_Bribe>
<Global=RI06_Extort>
<Global=RI07_Masako_Credits>
<Global=RI08_BoardMemberCount>
<Global=RI08_BoardMemberTotal>
<Global=RI08_InfinityNayCount>
<Global=RI08_InfinityYayCount>
<Global=RI08_MasakoNayCount>
<Global=RI08_MasakoYayCount>
<Global=RI08_NeuroampNayCount>
<Global=RI08_NeuroampYayCount>
<Global=RIR06_Operative_CreditsLarge>
<Global=RIR06_Operative_CreditsSmall>
<Global=RIR06_Tomo_CreditsLarge>
<Global=RIR06_Tomo_CreditsSmall>
<Global=RIR07_Bribe>
<Global=RQ_KillCreature_01_CurrentCount>
<Global=RQ_KillCreature_01_MaxCount>
<Global=RQ_KillHostileHumans02_BossBribe>
<Global=RQ_OE_Scan01_Txt_Percentage>
<Global=RQ_OE_Scan02_Txt_Percentage>
<Global=RQ_Settlement_BribeAmount_Medium>
<Global=RQ_Settlement_HarvestMiner_01_CurrentCount>
<Global=RQ_Settlement_HarvestMiner_01_MaxCount>
<Global=RQ_Settlement_PlaceObject_01_CurrentCount>
<Global=RQ_Settlement_PlaceObject_01_MaxCount>
<Global=RQ_Settlement_Scan01_Txt_Percentage>
<Global=RQ_Settlement_Scan02_Txt_Percentage>
<Global=SE_AF02_CreditsLarge>
<Global=SE_AF02_CreditsMedium>
<Global=SE_AF02_CreditsSmall>
<Global=SE_AF03_CreditsRansomLarge>
<Global=SE_AF03_CreditsRansomSmall>
<Global=SE_FAB25_LemonadeLargeGlobal>
<Global=SE_FAB25_LemonadeSmallGlobal>
<Global=SE_GenericDerelict_CrewGlobal>
<Global=ShipServicesFuelCost>
<Global=ShipServicesRepairCost>
<Global=SpeechChallengeBribeHighImportance_Cheap>
<Global=SpeechChallengeBribeHighImportance_Expensive>
<Global=SpeechChallengeBribeLowImportance_Cheap>
<Global=SpeechChallengeBribeLowImportance_Expensive>
<Global=SQ_Doctors_Price_Addictions>
<Global=SQ_Doctors_Price_Afflictions>
<Global=SQ_Doctors_Price_Everything>
<Global=SQ_Doctors_Price_Wounds>
<Global=SQ_Hoteliers_RoomCost_Daily_TextReplacementValue>
<Global=SQ_Hoteliers_RoomCost_Weekly_TextReplacementValue>
<Global=Trait_Credit_ExtortionSmall>
<Global=Trait_Credit_WantedMedium>
<Global=Trait_Credit_WantedMedium>
<Global=Trait_Credit_WantedMedium>
<Global=Trait_Credit_WantedSmall>
<Global=Trait_StarterHome_Interest>
<Global=Trait_StarterHome_Mortgage>
<Global=Trait_StarterHome_Mortgage>
<Global=Trait_WantedPerkRemovalCost>
<Global=TraitQuest_RemoveTrait_CreditValue>
<Global=UC_GG_Connect_StopsCompleted>
<Global=UC_GG_Connect_TotalStops>
<Global=UC_GG_Marines_DropoffsCompleted>
<Global=UC_GG_Marines_LizzyBribe>
<Global=UC_GG_Marines_TotalDropoffs>
<Global=UC01_SectorReleaseCountActivated>
<Global=UC01_ShipSim_CurrentWaveEnemyCountDefeated>
<Global=UC01_ShipSim_CurrentWaveEnemyCountTotal>
<Global=UC01_UCCrimeGold_VanguardTerminal>
<Global=UC02_PowerBoxesActivated>
<Global=UC02_PowerBoxesTotal>
<Global=UC03_JakobsDebtAmount>
<Global=UC07_GelFee>
<Global=UCR04_SamplesHarvested>
<Global=UCR04_SamplesTotalRequired>
<i>
<i>
<image name='BookImage_SlaytonLogo' caption='Slayton Aerospace'>
<lf>
<mag>
<Mag>
<null>
<p align='center'>
<repetitions>
<Shuttered>
<Token.Name=ClearBounty>
<Token.Name=ClearBountyCost>
<Token.Name=ClearFaction>
<Token.Name=Faction0>
<Token.Name=Faction1>
<Token.Name=Faction2>
<Token.Name=Faction3>
<Token.Name=Faction4>
<Token.Name=Faction5>
<Token.Name=Faction6>
<Token.Name=Faction7>
<Token.Name=MiscItem0>
<Token.Name=MiscItem1>
<Token.Name=MiscItem2>
<Token.Name=MiscItem3>
<Token.Name=MiscItem4>
<Token.Name=MiscItem5>
<Token.Name=MiscItem6>
<Token.Name=MiscItem7>
<Token.Name=MiscItem8>
<Token.Name=MiscItem9>
<Token.Name=MiscText00>
<Token.Name=MIscText00>
<Token.Name=MiscText01>
<Token.Name=MiscText02>
<Token.Name=MiscText03>
<Token.Name=MIscText03>
<Token.Name=MiscText04>
<Token.Name=PlayerLabel>
<Token.Name=SaleItem>
<Token.Title=MiscText00>
<Token.Title=MiscText01>
<Token.Title=MiscText02>
<Token.Title=MiscText03>
<Token.Title=MiscText04>
<Token.Title=MiscText05>
<Token.Title=myName>
<Token.Title=RandomInt03>
<Token.Value=RandomInt00>
<Token.Value=RandomInt01>
<Token.Value=RandomInt02>
<Token.Value=RandomInt03>
<Token.Value=RandomInt04>
<Token.Value=RandomInt05>
<Token=CrimeGold>
<Token=CurrentDebt>
<Token=Debt00>
<Token=Debt01>
<Token=Debt02>
<Token=Debt03>
<Token=Debt04>
<Token=Debt05>
<Token=Degauss1>
<Token=Degauss2>
<Token=Degauss3>
<Token=Degauss4>
<Token=Faction0Bounty>
<Token=Faction1Bounty>
<Token=Faction2Bounty>
<Token=Faction3Bounty>
<Token=Faction4Bounty>
<Token=Faction5Bounty>
<Token=Faction6Bounty>
<Token=Faction7Bounty>
<Token=IntakeFrequency>
<Token=MiscItem0Value>
<Token=MiscItem1Value>
<Token=MiscItem2Value>
<Token=MiscItem3Value>
<Token=MiscItem4Value>
<Token=MiscItem5Value>
<Token=MiscItem6Value>
<Token=MiscItem7Value>
<Token=MiscItem8Value>
<Token=MiscItem9Value>
<Token=OutputFrequency>
<u>

 

 

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, SamhainWarlock сказал:

Но ведь локализованные корабли из своего файла подтягиваются без проблем, по крайней мере стартовый — Фронтир.

Вот именно что Фронтир — не подтягивается https://imgur.com/a/ZSh79sr

 

1 минуту назад, 0wn3df1x сказал:


Прокиньте проверку между английским и русским текстом.
Код должен проверять количество тэгов в английской и русской строке и выдавать ошибку при несоответствии.
В условиях гуглотаблиц, к примеру, делается так

(Прокидывается формула  =CheckSyntax(Английская ячейка ; русская ячейка)


function CheckSyntax(cell1Value, cell2Value) {
  const codes = [
  "[confirm]", //Первый тэг
  //Сюда тэги
  "[pdown]" // Завершающий тэг
                ];
  const errors = [];

  // Check cell 1 for code occurrences
  let matchCount = 0;
  codes.forEach(code => {
    const matches = cell1Value.match(new RegExp(escapeRegExp(code), "g")) || [];
    matchCount += matches.length;
  });

  // Check cell 2 for code occurrences
  let matchCount2 = 0;
  if (cell2Value) {
    codes.forEach(code => {
      const matches = cell2Value.match(new RegExp(escapeRegExp(code), "g")) || [];
      matchCount2 += matches.length;
    });
  }

  // Generate error message if counts do not match
  codes.forEach(code => {
    const count1 = (cell1Value.match(new RegExp(escapeRegExp(code), "g")) || []).length;
    const count2 = (cell2Value.match(new RegExp(escapeRegExp(code), "g")) || []).length;
    if (count1 !== count2) {
      errors.push(`You have ${count2}/${count1} of ${code}`);
    }
  });

  // Output result or error
  if (errors.length > 0) {
    return "!!! Error !!!\n" + errors.join("\n");
  } else {
    return "";
  }
}

// Function to escape regular expression characters in a string
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}


В первую очередь можно прокинуть проверку по следующим тэгам (убрал под спойлер). Главное обратить внимание на те, которые идут в <>
 

  Checkup (Показать содержимое)


[ ]
[ > 100%]
[ LD Master Quest ]
[_Dpad_None]
[!]
[...]
[$CONTAINER]
[$OWNER]
[00:00]
[00:18]
[00:21]
[00:58]
[00:59]
[01:00]
[01:34]
[01:55]
[01:56]
[02:05]
[02:20]
[02:21]
[02:27]
[04:28]
[04:50]
[05:00]
[06:35]
[08:00]
[0u849[pqisvwqer]
[10 kW]
[20 kW]
[3 NPC + Scene]
[3:45 PM]
[3:46 PM]
[3:47 PM]
[3:48 PM]
[30 kW]
[4:08 PM]
[A]
[Accept:13]
[Accept]
[Activate]
[Add]
[All]
[AltAttack]
[ApplyCritical]
[Attack]
[Back]
[Boosters]
[Cancel:13]
[Cancel:14]
[Cancel]
[CANCELED]
[CargoHold]
[ChangeMode:14]
[ChangeMode]
[Click]
[Commerce]
[Commitment]
[Confirm:14]
[Confirm]
[Crew]
[CRITICAL]
[Cyberneticist]
[D]
[DataMenu]
[DELETED]
[Deleted]
[DELIVERED]
[Diplomat]
[Distraction]
[Down]
[E:14]
[Edit]
[Evidence]
[ExecuteJump]
[Exit]
[FastTravelShip]
[FlightCheck]
[Flirt]
[Forward]
[Friendship]
[gl]
[H:50]
[H:All]
[Hunter]
[Industrialist]
[Intimidation]
[Jump]
[L3]
[Left]
[LeftStick]
[Lie]
[Look]
[LShoulder:14]
[LShoulder]
[LTrigger]
[Maintenance]
[Melee]
[Monocle]
[Mouse2]
[Move]
[MoveDown:32]
[MoveUp:32]
[Name]
[NextTarget]
[No]
[Optional]
[PARTICULATES]
[Persuade]
[Pick]
[Piracy]
[PlaceBeacon]
[PlaceMarker]
[PrevTarget]
[PrimaryAttack]
[Q:14]
[QuickInventory]
[Quickkey10]
[QuickkeyDown]
[R3]
[ReadyWeapon]
[Redacted]
[REDACTED]
[Reject]
[Repair]
[RepairShip]
[Right]
[RightStick]
[Robotics]
[Romance]
[RotateLock]
[RotatePick]
[RShoulder:14]
[RShoulder]
[RTrigger]
[S]
[s0dk[-pwekori0394-0q2i30if]
[Sakharov]
[SecondaryAttack]
[Security]
[SelectTarget]
[ShipBuilder]
[ShipTransaction]
[SHMonocle]
[Signed]
[Sneak]
[Soldier]
[Space]
[Speech]
[Sprint]
[Starborn]
[StarbornPower]
[StartWait]
[Steady]
[StrafeLeft]
[StrafeRight]
[Strikers]
[TakeOff]
[Temporary]
[TogglePOV]
[ToggleView]
[Unfinished]
[Unknown]
[Up]
[Vasco]
[VATS]
[W]
[WeaponGroup1]
[WeaponGroup2]
[WeaponGroup3]
[WeaponReadyReload]
[X]
[x]
[XButton]
[Xenobiologist]
[Yes]
[ZoomIn:13]
{      }
{ACTIVE}
{CLASSIFIED}
{Cmdr.}
{DEN}
{Dr.}
{GAGARIN}
{Maj.}
{Maj}
{MARS}
{N/A}
{SOL}
{UNAVAILABLE}
{WOLF}
</b>
</B>
</font>
</i>
</p>
</u>
<<NO REF LOCATION>
<0.Name>
<0.ValueInt=>
<0.ValueInt>
<1.Name>
<1.Title>
<1.ValueInt>
<2.Name>
<2.Title>
<3.Name>
<3.Title>
<4.Name>
<Alias.CurrentName=Boss>
<Alias.CurrentName=DerelictCaptain>
<Alias.CurrentName=Family>
<Alias.CurrentName=GenericCorpses[1]
<Alias.CurrentName=QuestGiver>
<Alias.CurrentName=Recipient>
<Alias.Name=Boss>
<Alias.Name=QuestGiver>
<Alias.Name=TargetNPC>
<Alias.Name=WoundedPerson>
<Alias.Obj=NPC>
<Alias.PluralName=QuestGiver>
<Alias.PluralName=TestActor>
<Alias.Pronoun=DerelictCaptain>
<Alias.Pronoun=QuestGiver>
<Alias.Pronoun=TargetNPC>
<Alias.Pronoun=WoundedPerson>
<Alias.PronounCap=DerelictCaptain>
<Alias.PronounCap=WoundedPerson>
<Alias.PronounObj=CaptiveTarget>
<Alias.PronounObj=DerelictCaptain>
<Alias.PronounObj=QuestGiver>
<Alias.PronounObj=WoundedPerson>
<Alias.PronounPosObj=CaptiveTarget>
<Alias.PronounPosObj=QuestGiver>
<Alias.ShortName=QuestGiver>
<Alias=Adversary01Ship>
<Alias=AlbanOrbitLocation>
<Alias=AllyShip>
<Alias=BandaOrbitLocation>
<alias=BarrettDungeonPlanetLocation>
<Alias=Base>
<Alias=BossRef>
<Alias=CaptiveTarget>
<Alias=CargoTargetRef>
<Alias=CF02_MarineEscort>
<Alias=ChosenLocation_Planet>
<Alias=ChosenLocation_System>
<Alias=ChosenLocation>
<Alias=ChosenPlanetLocation>
<Alias=ChosenSystemLocation>
<Alias=ChunksLoc>
<Alias=Colonist>
<Alias=Companion>
<Alias=CompanionWhoDies>
<Alias=CrashedShipPlanetLocation>
<Alias=DerelictCaptain>
<Alias=DerelictShipName>
<Alias=DestinationLocation>
<Alias=Dungeon>
<Alias=DungeonLocation>
<Alias=EnemyPlanet>
<Alias=EnemyType>
<Alias=GasSensor>
<Alias=HailingShip>
<Alias=Homeship>
<Alias=InteractionObject>
<Alias=Item>
<Alias=Leader>
<Alias=LemaireOrbitLocation>
<Alias=Loc01_SpaceCell>
<Alias=Location_TemplePlanet>
<Alias=Location01Planet>
<Alias=Location02Planet>
<Alias=Location03Planet>
<Alias=LocationPlanet01>
<Alias=LocationPlanet02>
<Alias=LocationPlanet03>
<Alias=LocationPlanet04>
<Alias=LocationPlanet05>
<Alias=LocationPlanet06>
<Alias=MessageTextReplaceActor>
<Alias=MessageTextReplaceActorr>
<Alias=MessageTextReplaceRef>
<Alias=Miner>
<Alias=MineralLocation>
<Alias=NPC>
<Alias=OE_Location>
<Alias=Operative>
<Alias=OrbitLocation>
<alias=OtherPlayer>
<Alias=OverlayLocation>
<Alias=OverlayMapMarker>
<Alias=PassengerDestination>
<Alias=Planet>
<Alias=PlanetLocation>
<Alias=PlanetReferencePlanetLocation>
<Alias=PlanetTraitCategory>
<Alias=PlanetTraitName>
<Alias=PlanetWithTrait>
<Alias=Player>
<alias=player>
<Alias=PlayerShip>
<Alias=PreviousHomeShip>
<Alias=PrimaryRef>
<Alias=Prisoner>
<Alias=QuestGiver>
<Alias=Questgiver>
<Alias=QuestGiverLocation>
<Alias=RadiantLocation_PlanetLocation>
<Alias=RadiantLocation_SystemLocation>
<Alias=RadiantLocation>
<Alias=ResourceAlias>
<Alias=ResourceName>
<Alias=ReturnLocation>
<Alias=Robots[0]
<Alias=ScanTarget>
<Alias=ScanTargetName>
<Alias=ScanTargets[0]
<Alias=SourceObject>
<Alias=SpacerContact01OrbitLocation>
<Alias=SpacerContact02OrbitLocation>
<Alias=StarstationOrbitLocation>
<Alias=SurveySiteMarker>
<Alias=SurveySlate>
<Alias=SystemLocation>
<Alias=Target>
<Alias=TargetContainerLocation>
<Alias=TargetLocation>
<Alias=TargetMapMarker>
<Alias=TargetNPC>
<Alias=TargetObject>
<Alias=TargetPlanet>
<Alias=TargetPlanetLocation>
<Alias=TargetPlanetOrbitLocation>
<Alias=targetSystem>
<Alias=TargetSystemLocation>
<Alias=TemplePlanet>
<Alias=TextReplacementRefAlias>
<Alias=Trait>
<Alias=TraitCategory>
<Alias=Treasure>
<Alias=Vanguard>
<Alias=VanguardCommander>
<Alias=VanguardInjured>
<Alias=WenOrbitLocation>
<area>
<asl:./<?l<werok_I09I8-0@E-0I-0as<:>
<b>
<B>
<BaseName>
<br>
<dur>
<ENGINEERING>
<font color="#009933">
<font color="#FF0000">
<font size='20'>
<font size='30'>
<font size='50'>
<font size='70'>
<font size='80'>
<Global=AkilaLife05_RocksCurrent>
<Global=CF01_KarlDebt>
<Global=CF01_KarlDebt>
<Global=CF02RaganaValue>
<Global=CF02RaganaValue>
<Global=CF02SuppliesValue>
<Global=CF02SuppliesValue>
<Global=CF06_EstelleShareHigh>
<Global=CF06_EstelleShareLow>
<Global=CF06_EstelleShareMedium>
<Global=City_AC_LowHouseDonation>
<Global=City_CY_RedTape01Resource01Count>
<Global=City_CY_RedTape01Resource01Total>
<Global=City_CY_RedTape02HurstBribe>
<Global=City_CY_Runaway01_WhiskeyPriceNormal>
<Global=City_CY_Runaway01_WhiskeyPriceReduced>
<Global=City_NA_Botany01_WenPayment>
<Global=City_NA_Botany03_EarlPayment>
<Global=City_NA_Viewport02_InvestAmount>
<Global=City_NA_Z_SuspiciousGlobal>
<Global=COM_SMQ01_GenetagsCollected>
<Global=COM_SMQ01_GenetagsTotal>
<Global=Cora_BookFund>
<Global=Crew_Elite_Lin_HireCost_Discount>
<Global=Crew_Elite_Lin_HireCost>
<Global=Crew_RecruitCost_TextReplacementValue>
<Global=Crew_RecruitCost_TextReplacementValue>
<Global=Crew_RecruitCost_TextReplacementValue>
<Global=CrimeAllowBribePlayerCreditsRequired>
<Global=CrimeBountyAmount>
<Global=CrimeBountyAmount>
<Global=CY_Anna_CreditsAmount>
<Global=CY_Hurst_Donation>
<Global=DR017_DataCreditsHigh>
<Global=EnhancePrice>
<Global=ER_Exorcism_HunterBribeCredits>
<Global=ER_Exorcism_HunterBribeCredits>
<Global=FC_Neon_BeggarDonationGlobal>
<Global=FC_Neon_BeggarDonationGlobal>
<Global=FC09_PayoffAmountBig>
<Global=FC09_PayoffAmountSmall>
<Global=FCNeon_KosmosOrgMaterialCount_Biosuppressant>
<Global=FCNeon_KosmosOrgMaterialCount_GastronomicDelight>
<Global=FCNeon_KosmosOrgMaterialCount_Hypercatalyst>
<Global=FCNeon_KosmosOrgMaterialCount_Lubricant>
<Global=FCNeon_KosmosOrgMaterialCount_Polymer>
<Global=FCNeon_KosmosOrgMaterialCount_Solvent>
<Global=FCNeon_KosmosOrgMaterialCount_Stimulant>
<Global=FCNeon_SleepcrateHomeGlobal>
<Global=FCNeon_TradeTowerHomeGlobal>
<Global=FFClinicR02ItemCount>
<Global=FFClinicR02ItemTotal>
<Global=FFConstantZ04_Debt>
<Global=FFConstantZ05_Food>
<Global=FFCydoniaR02_EquipmentNeededCount>
<Global=FFCydoniaZ04_DrawingsPosted>
<Global=FFCydoniaZ04_DrawingsTotal>
<Global=FFNeonZ06_TevinPayment>
<Global=FFNeonZ07FlyersHandedOut>
<Global=FFNeonZ08_FrankiePayment>
<Global=FFNeonZ09_PapersCollected>
<Global=FFNeonZ10_SidestarValue>
<Global=FFNewAtlantis05_Credits_Small>
<Global=FFNewHomesteadR04_IceCleared>
<Global=FFNewHomesteadR04_IceTotal>
<Global=FFNewHomesteadZ01_TourTip>
<Global=FFParadisoZ03_BribePrice>
<Global=Gang01_IntroBribe>
<Global=Gang02_GuardBribe>
<global=Gang03_HangoutsCleared>
<Global=Gang03_NewillArmor>
<Global=Gang03_NewillArmorCheaper>
<Global=MissionBoardCargo01Amount>
<Global=MissionBoardCargo01PlayerCargoSpaceCurrent>
<Global=MissionBoardCargo01PlayerCargoSpaceTotal>
<Global=MissionBoardCargo01TimeRemainingDays>
<Global=MissionBoardCargo01TimeRemainingHours>
<Global=MissionBoardCargo02Amount>
<Global=MissionBoardCargo02PlayerCargoSpaceCurrent>
<Global=MissionBoardCargo02PlayerCargoSpaceTotal>
<Global=MissionBoardCargo02TimeRemainingDays>
<Global=MissionBoardCargo02TimeRemainingHours>
<Global=MissionBoardHunt01Amount>
<Global=MissionBoardHunt01AmountCurrent>
<Global=MissionBoardPassenger01Amount>
<Global=MissionBoardPassenger01PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger01PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger01TimeRemainingDays>
<Global=MissionBoardPassenger01TimeRemainingHours>
<Global=MissionBoardPassenger02Amount>
<Global=MissionBoardPassenger02PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger02PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger02TimeRemainingDays>
<Global=MissionBoardPassenger02TimeRemainingHours>
<Global=MissionBoardPassenger03Amount>
<Global=MissionBoardPassenger03PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger03PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger03TimeRemainingDays>
<Global=MissionBoardPassenger03TimeRemainingHours>
<Global=MissionBoardPassenger04Amount>
<Global=MissionBoardPassenger04PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger04PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger04TimeRemainingDays>
<Global=MissionBoardPassenger04TimeRemainingHours>
<Global=MissionBoardPassenger05Amount>
<Global=MissionBoardPassenger05PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger05PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger05TimeRemainingDays>
<Global=MissionBoardPassenger05TimeRemainingHours>
<Global=MissionBoardPassenger06Amount>
<Global=MissionBoardPassenger06PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger06PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger06TimeRemainingDays>
<Global=MissionBoardPassenger06TimeRemainingHours>
<Global=MissionBoardPassenger07Amount>
<Global=MissionBoardPassenger07PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger07PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger07TimeRemainingDays>
<Global=MissionBoardPassenger07TimeRemainingHours>
<Global=MissionBoardPassenger08Amount>
<Global=MissionBoardPassenger08PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger08PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger08TimeRemainingDays>
<Global=MissionBoardPassenger08TimeRemainingHours>
<Global=MissionBoardPassenger09Amount>
<Global=MissionBoardPassenger09PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger09PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger09TimeRemainingDays>
<Global=MissionBoardPassenger09TimeRemainingHours>
<Global=MissionBoardPassenger10Amount>
<Global=MissionBoardPassenger10PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger10PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger10TimeRemainingDays>
<Global=MissionBoardPassenger10TimeRemainingHours>
<Global=MissionBoardPassenger11Amount>
<Global=MissionBoardPassenger11PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger11PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger11TimeRemainingDays>
<Global=MissionBoardPassenger11TimeRemainingHours>
<Global=MissionBoardPassenger12Amount>
<Global=MissionBoardPassenger12PlayerPassengerSpaceCurrent>
<Global=MissionBoardPassenger12PlayerPassengerSpaceTotal>
<Global=MissionBoardPassenger12TimeRemainingDays>
<Global=MissionBoardPassenger12TimeRemainingHours>
<Global=MissionBoardPiracy01Amount>
<Global=MissionBoardPiracy01PlayerCargoSpaceCurrent>
<Global=MissionBoardPiracy01PlayerCargoSpaceTotal>
<Global=MissionBoardPiracy02Amount>
<Global=MissionBoardPiracy02PlayerCargoSpaceCurrent>
<Global=MissionBoardPiracy02PlayerCargoSpaceTotal>
<Global=MissionBoardPiracy03Amount>
<Global=MissionBoardPiracy03PlayerCargoSpaceCurrent>
<Global=MissionBoardPiracy03PlayerCargoSpaceTotal>
<Global=MissionBoardSmuggle01Amount>
<Global=MissionBoardSmuggle01PlayerCargoSpaceCurrent>
<Global=MissionBoardSmuggle01PlayerCargoSpaceTotal>
<Global=MissionBoardSupply01Amount>
<Global=MissionBoardSupply01Amount01>
<Global=MissionBoardSupply01AmountCurrent>
<Global=MissionBoardSupply01AmountCurrent01>
<Global=MissionBoardSupply02Amount>
<Global=MissionBoardSupply02Amount01>
<Global=MissionBoardSupply02AmountCurrent>
<Global=MissionBoardSupply02AmountCurrent01>
<Global=MissionBoardSupply03Amount>
<Global=MissionBoardSupply03AmountCurrent>
<Global=MissionBoardSupply04Amount>
<Global=MissionBoardSupply04AmountCurrent>
<Global=MissionBoardSupply05Amount>
<Global=MissionBoardSupply05AmountCurrent>
<Global=MissionBoardSupply06Amount>
<Global=MissionBoardSupply06AmountCurrent>
<Global=MissionBoardSupply07Amount>
<Global=MissionBoardSupply07AmountCurrent>
<Global=MissionBoardSupply08Amount>
<Global=MissionBoardSupply08AmountCurrent>
<Global=MissionBoardSupply09Amount>
<Global=MissionBoardSupply09AmountCurrent>
<Global=MissionBoardSupply10Amount>
<Global=MissionBoardSupply10AmountCurrent>
<Global=MissionBoardSupply11Amount>
<Global=MissionBoardSupply11AmountCurrent>
<Global=MissionBoardSurvey01Current>
<Global=MissionBoardSurvey02Current>
<Global=MissionBoardSurvey03Current>
<Global=MissionBoardSurvey04Current>
<Global=MQ206AMemorialDays>
<Global=MQ207CCurrentInterlockCountGlobal>
<Global=MQ207CTotalInterlockCountGlobal>
<Global=MQ401E_ArtifactPrice>
<Global=MS02_CluesCollected>
<Global=MS05BudgetPlayerPay>
<Global=MS06_GravDriveCreditsAmount>
<Global=MS06_GravDriveCreditsAmount>
<Global=MS06_GravDriveCreditsAmountLess>
<Global=MS06Resource01Count>
<Global=MS06Resource01Total>
<Global=MS06Resource02Count>
<Global=MS06Resource02Total>
<Global=MS06Resource03Count>
<Global=MS06Resource03Total>
<Global=MS06Resource04Count>
<Global=MS06Resource04Total>
<Global=Neon_Chem03_BeggarBribe>
<Global=Neon_Euphorika_LoungeCost>
<Global=Neon_VoliiHotel_RentCost>
<Global=NH_AdrianCredits>
<Global=NPCDemandMoney_ExtraLarge>
<Global=NPCDemandMoney_Large>
<Global=NPCDemandMoney_Large>
<Global=NPCDemandMoney_Large>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Medium>
<Global=NPCDemandMoney_Small>
<Global=NPCDemandMoney_Small>
<Global=NPCDemandMoney_Small>
<Global=NPCDemandMoney_Small>
<Global=OE_Credit_BribeMedium>
<Global=OE_Credit_ExtortionMedium>
<Global=OE_Credit_FalseContactCredits>
<Global=OE_KMK_Supply01Amount>
<Global=OE_KMK_Supply01AmountCurrent>
<Global=OE_KMK_Supply01AmountHalf>
<Global=OE_KMK_Supply01AmountThird>
<Global=OE_KMK_Supply01RewardActual>
<Global=OE_KMK_Supply01RewardHalf>
<Global=OE_KMK_Supply01RewardThird>
<Global=OE_KT_IncomingStormGenA_Global>
<Global=OE_KT_IncomingStormGenB_Global>
<Global=OE_KT_IncomingStormGenC_Global>
<Global=OE_KT_IncomingStormTotalMoves_Global>
<Global=PD_EnhanceSpecialPrice>
<Global=PlayerCompletedRedMile>
<Global=PlayerHouse_AC_CoreCost>
<Global=PlayerHouse_AC_CoreCost>
<Global=PlayerHouse_AC_MidtownCost>
<Global=PlayerHouse_AC_MidtownCost>
<Global=PlayerHouse_NA_WellCost>
<Global=Rad01_Convo_Credits>
<Global=Rad01_PamphletCost>
<Global=RAD05_Mercenary_Debt>
<Global=RAD06_CurrentQuantity>
<Global=RI03_Simon_AndrejaCredits>
<Global=RI03_Simon_Credits>
<Global=RI03_Simon_LessCredits>
<Global=RI03_Simon_MoreCredits>
<Global=RI05_Bayu_Credits>
<Global=RI05_Frankie_LargeCredits>
<Global=RI05_Frankie_SmallCredits>
<Global=RI05_Imogene_Credits>
<Global=RI06_Bribe>
<Global=RI06_Extort>
<Global=RI07_Masako_Credits>
<Global=RI08_BoardMemberCount>
<Global=RI08_BoardMemberTotal>
<Global=RI08_InfinityNayCount>
<Global=RI08_InfinityYayCount>
<Global=RI08_MasakoNayCount>
<Global=RI08_MasakoYayCount>
<Global=RI08_NeuroampNayCount>
<Global=RI08_NeuroampYayCount>
<Global=RIR06_Operative_CreditsLarge>
<Global=RIR06_Operative_CreditsSmall>
<Global=RIR06_Tomo_CreditsLarge>
<Global=RIR06_Tomo_CreditsSmall>
<Global=RIR07_Bribe>
<Global=RQ_KillCreature_01_CurrentCount>
<Global=RQ_KillCreature_01_MaxCount>
<Global=RQ_KillHostileHumans02_BossBribe>
<Global=RQ_OE_Scan01_Txt_Percentage>
<Global=RQ_OE_Scan02_Txt_Percentage>
<Global=RQ_Settlement_BribeAmount_Medium>
<Global=RQ_Settlement_HarvestMiner_01_CurrentCount>
<Global=RQ_Settlement_HarvestMiner_01_MaxCount>
<Global=RQ_Settlement_PlaceObject_01_CurrentCount>
<Global=RQ_Settlement_PlaceObject_01_MaxCount>
<Global=RQ_Settlement_Scan01_Txt_Percentage>
<Global=RQ_Settlement_Scan02_Txt_Percentage>
<Global=SE_AF02_CreditsLarge>
<Global=SE_AF02_CreditsMedium>
<Global=SE_AF02_CreditsSmall>
<Global=SE_AF03_CreditsRansomLarge>
<Global=SE_AF03_CreditsRansomSmall>
<Global=SE_FAB25_LemonadeLargeGlobal>
<Global=SE_FAB25_LemonadeSmallGlobal>
<Global=SE_GenericDerelict_CrewGlobal>
<Global=ShipServicesFuelCost>
<Global=ShipServicesRepairCost>
<Global=SpeechChallengeBribeHighImportance_Cheap>
<Global=SpeechChallengeBribeHighImportance_Expensive>
<Global=SpeechChallengeBribeLowImportance_Cheap>
<Global=SpeechChallengeBribeLowImportance_Expensive>
<Global=SQ_Doctors_Price_Addictions>
<Global=SQ_Doctors_Price_Afflictions>
<Global=SQ_Doctors_Price_Everything>
<Global=SQ_Doctors_Price_Wounds>
<Global=SQ_Hoteliers_RoomCost_Daily_TextReplacementValue>
<Global=SQ_Hoteliers_RoomCost_Weekly_TextReplacementValue>
<Global=Trait_Credit_ExtortionSmall>
<Global=Trait_Credit_WantedMedium>
<Global=Trait_Credit_WantedMedium>
<Global=Trait_Credit_WantedMedium>
<Global=Trait_Credit_WantedSmall>
<Global=Trait_StarterHome_Interest>
<Global=Trait_StarterHome_Mortgage>
<Global=Trait_StarterHome_Mortgage>
<Global=Trait_WantedPerkRemovalCost>
<Global=TraitQuest_RemoveTrait_CreditValue>
<Global=UC_GG_Connect_StopsCompleted>
<Global=UC_GG_Connect_TotalStops>
<Global=UC_GG_Marines_DropoffsCompleted>
<Global=UC_GG_Marines_LizzyBribe>
<Global=UC_GG_Marines_TotalDropoffs>
<Global=UC01_SectorReleaseCountActivated>
<Global=UC01_ShipSim_CurrentWaveEnemyCountDefeated>
<Global=UC01_ShipSim_CurrentWaveEnemyCountTotal>
<Global=UC01_UCCrimeGold_VanguardTerminal>
<Global=UC02_PowerBoxesActivated>
<Global=UC02_PowerBoxesTotal>
<Global=UC03_JakobsDebtAmount>
<Global=UC07_GelFee>
<Global=UCR04_SamplesHarvested>
<Global=UCR04_SamplesTotalRequired>
<i>
<i>
<image name='BookImage_SlaytonLogo' caption='Slayton Aerospace'>
<lf>
<mag>
<Mag>
<null>
<p align='center'>
<repetitions>
<Shuttered>
<Token.Name=ClearBounty>
<Token.Name=ClearBountyCost>
<Token.Name=ClearFaction>
<Token.Name=Faction0>
<Token.Name=Faction1>
<Token.Name=Faction2>
<Token.Name=Faction3>
<Token.Name=Faction4>
<Token.Name=Faction5>
<Token.Name=Faction6>
<Token.Name=Faction7>
<Token.Name=MiscItem0>
<Token.Name=MiscItem1>
<Token.Name=MiscItem2>
<Token.Name=MiscItem3>
<Token.Name=MiscItem4>
<Token.Name=MiscItem5>
<Token.Name=MiscItem6>
<Token.Name=MiscItem7>
<Token.Name=MiscItem8>
<Token.Name=MiscItem9>
<Token.Name=MiscText00>
<Token.Name=MIscText00>
<Token.Name=MiscText01>
<Token.Name=MiscText02>
<Token.Name=MiscText03>
<Token.Name=MIscText03>
<Token.Name=MiscText04>
<Token.Name=PlayerLabel>
<Token.Name=SaleItem>
<Token.Title=MiscText00>
<Token.Title=MiscText01>
<Token.Title=MiscText02>
<Token.Title=MiscText03>
<Token.Title=MiscText04>
<Token.Title=MiscText05>
<Token.Title=myName>
<Token.Title=RandomInt03>
<Token.Value=RandomInt00>
<Token.Value=RandomInt01>
<Token.Value=RandomInt02>
<Token.Value=RandomInt03>
<Token.Value=RandomInt04>
<Token.Value=RandomInt05>
<Token=CrimeGold>
<Token=CurrentDebt>
<Token=Debt00>
<Token=Debt01>
<Token=Debt02>
<Token=Debt03>
<Token=Debt04>
<Token=Debt05>
<Token=Degauss1>
<Token=Degauss2>
<Token=Degauss3>
<Token=Degauss4>
<Token=Faction0Bounty>
<Token=Faction1Bounty>
<Token=Faction2Bounty>
<Token=Faction3Bounty>
<Token=Faction4Bounty>
<Token=Faction5Bounty>
<Token=Faction6Bounty>
<Token=Faction7Bounty>
<Token=IntakeFrequency>
<Token=MiscItem0Value>
<Token=MiscItem1Value>
<Token=MiscItem2Value>
<Token=MiscItem3Value>
<Token=MiscItem4Value>
<Token=MiscItem5Value>
<Token=MiscItem6Value>
<Token=MiscItem7Value>
<Token=MiscItem8Value>
<Token=MiscItem9Value>
<Token=OutputFrequency>
<u>

 

 

Причем тут теги? В строках с названием кораблей нет ни каких тегов. У меня с тегами всё хорошо.

Поделиться сообщением


Ссылка на сообщение
3 минуты назад, sergioberg сказал:

Вот именно что Фронтир — не подтягивается https://imgur.com/a/ZSh79sr

 

Перевод Segnetofaza последний: https://imgur.com/a/yHhpsAt

Единственное что, мне кажется, что все файлы strings, даже пустые, должны быть на месте — .ilstings, .strings, .dlstrings.

Поделиться сообщением


Ссылка на сообщение
14 минут назад, OldinN сказал:

На последней (сегодняшней) версии от  @Segnetofaza всё еще нахожу любимые названия))

https://ibb.co/fGZ0yyD   тут у нас лукап

https://ibb.co/7V8L2pn  тут тоже

https://ibb.co/1vjBrkV  бывает что само название квеста или его доп. задачи (названия ) не переведены, хотя описание переведено

 

 

 

Можете переключиться на EN версию и сказать названия этих модов? Для переключения достаточно в StarfieldCustom.ini (доки\My Games\Starfield) заменить sLanguage=ru на sLanguage=en

Поделиться сообщением


Ссылка на сообщение
23 минуты назад, 0wn3df1x сказал:

чтобы точно передать смысл и стилистику оригинала.

Это невозможно. Где-то видел видео где был разбор “шуток” гуся из первого дополнения Атомик на английском и большая часть из них вообще непонятна “англосаксам”.

Изменено пользователем Star_Wiking

Поделиться сообщением


Ссылка на сообщение

Скажите, Падение — это выкинуть что ль? Вроде да, ...нажал, всё на земле лежит.

Начал только играть, разбираюсь в тонкостях перевода))

Скрытый текст

 

_8cdb38838a64534f04d8ebb64aeb6369.jpeg _3e7d6b192cb316dfc7934e4ee1f0bfd4.jpeg


 

 

Поделиться сообщением


Ссылка на сообщение
2 минуты назад, Evalionce сказал:

Можете переключиться на EN версию и сказать названия этих модов? Для переключения достаточно в StarfieldCustom.ini (доки\My Games\Starfield) заменить sLanguage=ru на sLanguage=en

Да, конечно

https://ibb.co/QFdRzZS   судя по всему название скина вещи не переводит

 

Поделиться сообщением


Ссылка на сообщение

Также заметил, что часто в конце диалогов (по ощущениям процентов 20) встречается одинарная кавычка и после точка, на скриншоте пример https://ibb.co/m69YpX6.
В целом такие строки можно найти регуляркой 

(?<!')^([^']+)'(\.?)$

и заменить на $1$2 если JS и \1\2 если python

Вот пример использования регулярки https://regex101.com/r/DsyENv/1

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

Можно сделать так

'([^']+)'

на 

“$1”

 

Изменено пользователем Vitallick
Дополнил, для более правильного изменения текста в русификаторе.

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, OldinN сказал:

Да, конечно

https://ibb.co/QFdRzZS   судя по всему название скина вещи не переводит

 

По второму тот же самый Old Mars Skin?

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, Evalionce сказал:

По второму тот же самый Old Mars Skin?

Второй тоже Марс да, а вот нашел еще скин на оружие, уже другой, там такой же лукап в переводе

https://ibb.co/7QmCY7w

Поделиться сообщением


Ссылка на сообщение

@Segnetofaza слушай, а “багровые флоты” итп так и останутся? как по мне легче вернуть им оригинальные названия, “Crimson Fleed” и так далее. а то немного нелепо звучат все эти названия переведенные) просто интересуюсь. и можно ли переименовать “падение” в инвентаре (и далее) в, например, “бросить”?

  • +1 1
  • -1 2

Поделиться сообщением


Ссылка на сообщение

kaicasades прогнал мой перевод через свои проверки и там одна незначительная ошибка (недостает переноса строки в одной строке)

Тогда тем более странно что не отображаются названия кораблей. 

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Dark_Sonic

       
      Год выпуска: 1998, 2004, 2010
      Жанр: Action-adventure, Platform
      Разработчик: Sonic Team
      Издательство: Sega
      Платформы: Dreamcast, GameCube, PS3, Xbox 360, PC
       
      Культовая классика, самая первая игра по Сонику, где можно играть за шесть разных персонажей! Повествование сюжета идёт с разных сторон, где между собой пересекается, новый геймплей впервые в 3D перспективе, а также невероятный саундтрек, который запомнится надолго, и конечно же полноценная озвучка на двух языках — английская и японская.
      В России до сих пор считается одной из лучших частей по Сонику! Пираты в своё время выпустили несколько озвучек, но все они далеки до того уровня, что сделали сами разработчики. И теперь, пора сделать по-настоящему достойный дубляж игры, который все так давно ждали!
      На фестивале Sonic's Awesome Saturday мы показали первую демонстрацию озвучки! Приятного всем просмотра!
      video  
      ⚡️Напоминаем, что при поддержке от 500 руб, вы попадëте в титры игры, на которые мы делаем полный дубляж.
      А поддержать можно как раз "Sonic Heroes", "Shadow The Hedgehog" и "Соник Бум - Восстание Лирика".⚡️
      Ссылку можете увидеть в нашей группе ВК.

  • Продвигаемые темы

  • Последние сообщения

  • Изменения статусов

    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 0 ответов
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
  • Лучшие авторы


×