Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions GameData/Benjee10_shuttleOrbiter/Localization/en-us.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
Localization
{
en-us
{
#LOC_benjee10_shuttle_aftFuselage_title = OV-100 Aft Fuselage Module
#LOC_benjee10_shuttle_aftFuselage_description = This module forms the rear of the Shuttle Orbiter, attaching aft of the payload bay. It features integrated RCS thrusters divided into three arrays, allowing precision control of each thruster group. Attachment points are also provided for the OMS engines and main engines, as well as containing an RCS & OMS fuel reserve for orbital flight.

#LOC_benjee10_shuttle_airlock-inline_title = OV-100 Payload Bay Inline Airlock
#LOC_benjee10_shuttle_airlock-inline_description = A crew tube with an integrated hatch to allow EVA from non-standard locations or when the normal airlock hatch is blocked. Only room for one Kerbal.

#LOC_benjee10_shuttle_bodyFlap_title = OV-100 Body Flap
#LOC_benjee10_shuttle_bodyFlap_description = This aerodynamic surface provides additional pitch control and thermal protection to the main engines during re-entry.

#LOC_benjee10_shuttle_crewTube1_title = OV-100 Payload Bay Crew Tunnel A
#LOC_benjee10_shuttle_crewTube1_description = This extra-large tin can provides crew access within the payload bay. 0.937m diameter.

#LOC_benjee10_shuttle_crewTube2_title = OV-100 Payload Bay Crew Tunnel B
#LOC_benjee10_shuttle_crewTube2_description = An elongated crew tunnel for use in the Orbiter's payload bay, complete with supports.

#LOC_benjee10_shuttle_crewTubeAdapter_title = OV-100 Payload Bay Crew Tunnel Adapter
#LOC_benjee10_shuttle_crewTubeAdapter_description = This adapter unit converts between 1.25m and 0.9375m bulkhead sizes.

#LOC_benjee10_shuttle_crewTubeT_title = OV-100 Payload Bay Crew Tunnel T
#LOC_benjee10_shuttle_crewTubeT_description = This access tunnel splits into a T-shape to allow additional configurations.

#LOC_benjee10_shuttle_crewTubeZ_title = OV-100 Payload Bay Crew Tunnel Z
#LOC_benjee10_shuttle_crewTubeZ_description = This crew tunnel has a built-in offset to allow the mounting of pressurised modules inline with the payload bay.

#LOC_benjee10_shuttle_deltaWing_title = OV-100 Delta Wing
#LOC_benjee10_shuttle_deltaWing_description = These large wing elements help to provide lift to the Shuttle Orbiter as it performs an atmospheric landing.

#LOC_benjee10_shuttle_elevon1_title = OV-100 Outer Elevon
#LOC_benjee10_shuttle_elevon1_description = These elevons provide pitch and roll control during re-entry and landing.

#LOC_benjee10_shuttle_elevon2_title = OV-100 Inner Elevon
#LOC_benjee10_shuttle_elevon2_description = The elevons provide pitch control during re-entry and landing.

#LOC_benjee10_shuttle_forwardFuselage_title = OV-100 Forward Fuselage Module
#LOC_benjee10_shuttle_forwardFuselage_description = The forward fuselage module contains the pressurised crew cabin of the Shuttle Orbiter. It also features four groups of integrated RCS thrusters, reaction wheels and fuel reserves. There are two primary hatches, one on the side (for entry/egress on the ground) and one aft, facing into the payload bay for EVA activity. Additionally, one of the top observation windows provides an overhead escape route in an emergency. All of the hatches can be locked or unlocked as necessary. Due to the complexity of operating the spacecraft, the OV-100 requires a minimum of two pilots to control.

#LOC_benjee10_shuttle_kuBand_title = OV-100 Ku Band Antenna
#LOC_benjee10_shuttle_kuBand_description = This short-range antenna allows the Orbiter to communicate with & track rendezvous targets and payloads.

#LOC_benjee10_shuttle_longeron_title = OV-100 Payload Bay Longeron Attachment Point
#LOC_benjee10_shuttle_longeron_description = This small structural element allows the attachment of equipment to the side of the Orbiter's payload bay.

#LOC_benjee10_shuttle_mainGear_title = OV-100 Main Gear
#LOC_benjee10_shuttle_mainGear_description = The Shuttle Orbiter's main gear are equipped to bring it to a stop safely after touchdown.

#LOC_benjee10_shuttle_midFuselage_title = OV-100 Mid Fuselage Section
#LOC_benjee10_shuttle_midFuselage_description = The mid fuselage is the backbone of the Shuttle Orbiter, comprising mainly of a large 2.5m diameter payload bay with integrated thermal radiators. The mid fuselage also contains fuel cells to power the Orbiter during flight. Additional nodes in the payload bay can be toggled on or off in order to provide additional attachment points for payloads.

#LOC_benjee10_shuttle_noseGear_title = OV-100 Nose Gear
#LOC_benjee10_shuttle_noseGear_description = These gear fit flush with the nose of the Shuttle Orbiter, and include a heat shield for thermal protection.

#LOC_benjee10_shuttle_ODS_title = OV-100 Payload Bay Docking Adapter
#LOC_benjee10_shuttle_ODS_description = This pressurised compartment attaches aft of the Shuttle Orbiter's crew cabin, and provides an attachment point for a 0.9375m docking mechanism, as well as EVA access to the payload bay. Available in multiple configurations (not all have hatches!)

#LOC_benjee10_shuttle_payloadTruss_title = OV-100 Payload Bay Structural Truss
#LOC_benjee10_shuttle_payloadTruss_description = This structural girder element attaches to nodes at the bottom of the Shuttle Orbiter's payload bay in order to provide additional attachment points for cargo and payloads.

#LOC_benjee10_shuttle_rudder_title = OV-100 Vertical Stabilizer
#LOC_benjee10_shuttle_rudder_description = This vertical control surface features a split-rudder design which can be deployed upon landing to slow the Orbiter down.

#LOC_benjee10_shuttle_spaceLab_title = OV-100 Payload Bay Research Module Type A
#LOC_benjee10_shuttle_spaceLab_description = This pressurised module is designed to fit within the Shuttle Orbiter's payload bay, providing advanced research capabilities while on orbit.

#LOC_benjee10_shuttle_spaceLab_Short_title = OV-100 Payload Bay Research Module Type B
#LOC_benjee10_shuttle_spaceLab_Short_description = A truncated version of the Type A research module with a smaller footprint and mass, but lower potential science output.

}
}
72 changes: 72 additions & 0 deletions GameData/Benjee10_shuttleOrbiter/Localization/zh-cn.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
Localization
{
zh-cn
{
#LOC_benjee10_shuttle_aftFuselage_title = OV-100 机身后部模块
#LOC_benjee10_shuttle_aftFuselage_description = 这个模块构成了航天飞机轨道器的后部,位于有效载荷舱的后面。它具有集成的RCS推进器,分为三个阵列,允许精确控制每个推进器组。还提供了OMS发动机和主发动机的连接点,以及包含用于轨道飞行的RCS和OMS燃料储备。

#LOC_benjee10_shuttle_airlock-inline_title = OV-100 有效载荷舱内嵌气闸
#LOC_benjee10_shuttle_airlock-inline_description = 一个带有集成舱口的机组人员通道,允许从非标准位置或正常气闸舱口被阻塞时进行EVA。只有一个Kerbal的空间。

#LOC_benjee10_shuttle_bodyFlap_title = OV-100 襟翼
#LOC_benjee10_shuttle_bodyFlap_description = 这个气动面在再入过程中为主发动机提供额外的俯仰控制和热防护。

#LOC_benjee10_shuttle_crewTube1_title = OV-100 有效载荷舱乘员通道 A
#LOC_benjee10_shuttle_crewTube1_description = 这个超大的罐头盒为机组人员在有效载荷舱内提供通道。直径0.937m。

#LOC_benjee10_shuttle_crewTube2_title = OV-100 有效载荷舱乘员通道 B
#LOC_benjee10_shuttle_crewTube2_description = 这是一个加长的机组人员通道,用于轨道器的有效载荷舱,配有支架。

#LOC_benjee10_shuttle_crewTubeAdapter_title = OV-100 有效载荷舱乘员通道适配器
#LOC_benjee10_shuttle_crewTubeAdapter_description = 这个适配器单元在1.25m和0.9375m的隔板尺寸之间进行转换。

#LOC_benjee10_shuttle_crewTubeT_title = OV-100 有效载荷舱乘员通道 T
#LOC_benjee10_shuttle_crewTubeT_description = 该通道分成T形,可进行更多配置。

#LOC_benjee10_shuttle_crewTubeZ_title = OV-100 有效载荷舱乘员通道 Z
#LOC_benjee10_shuttle_crewTubeZ_description = 这个乘员舱通道有一个内置偏置,以便在有效载荷舱内安装加压舱。

#LOC_benjee10_shuttle_deltaWing_title = OV-100 三角翼
#LOC_benjee10_shuttle_deltaWing_description = 这些大型机翼元素有助于为航天飞机轨道器在大气降落时提供升力。

#LOC_benjee10_shuttle_elevon1_title = OV-100 外部升降舵
#LOC_benjee10_shuttle_elevon1_description = 这些升降舵在再入和着陆过程中提供俯仰和滚转控制。

#LOC_benjee10_shuttle_elevon2_title = OV-100 内部升降舵
#LOC_benjee10_shuttle_elevon2_description = 升降舵在再入和着陆过程中提供俯仰控制。

#LOC_benjee10_shuttle_forwardFuselage_title = OV-100 机身舱前部模块
#LOC_benjee10_shuttle_forwardFuselage_description = 前机身舱包含航天飞机轨道器的加压乘员舱。它还装有四组集成的 RCS 推进器、反应轮和燃料储备。舱内有两个主舱门,一个位于侧面(用于在地面上进出),另一个位于舱尾,面向有效载荷舱,用于舱外活动。此外,顶部的一个观察窗在紧急情况下提供了一条高空逃生通道。所有舱门都可以根据需要锁定或解锁。由于航天器操作的复杂性,OV-100 至少需要两名飞行员来控制。

#LOC_benjee10_shuttle_kuBand_title = OV-100 Ku 波段天线
#LOC_benjee10_shuttle_kuBand_description = 这种短程天线允许轨道器与交会目标和有效载荷进行通信和跟踪。

#LOC_benjee10_shuttle_longeron_title = OV-100 有效载荷舱纵梁连接点
#LOC_benjee10_shuttle_longeron_description = 这个小型结构元件允许将设备连接到轨道器有效载荷舱的侧面。

#LOC_benjee10_shuttle_mainGear_title = OV-100 主轮
#LOC_benjee10_shuttle_mainGear_description = 航天飞机轨道器的主起落架装备了使其在着陆后安全停止的装置。

#LOC_benjee10_shuttle_midFuselage_title = OV-100 机身中部
#LOC_benjee10_shuttle_midFuselage_description = 中间机身是航天飞机轨道飞行器的支柱,主要由一个直径为2.5m的大型有效载荷舱和集成的散热器组成。中间机身还包含燃料电池,用于在飞行过程中为轨道飞行器供电。有效载荷舱内的附加节点可以打开或关闭,以便为有效载荷提供额外的连接点。

#LOC_benjee10_shuttle_noseGear_title = OV-100 鼻轮
#LOC_benjee10_shuttle_noseGear_description = 这些鼻轮与航天飞机轨道器的机头齐平,包括一个热防护罩。

#LOC_benjee10_shuttle_ODS_title = OV-100 有效载荷舱对接适配器
#LOC_benjee10_shuttle_ODS_description = 这个加压舱室连接在航天飞机轨道器的机组人员舱后部,提供了一个0.9375m对接机构的连接点,以及EVA进入货舱的通道。有多种配置可供选择(并非所有配置都有舱门!)

#LOC_benjee10_shuttle_payloadTruss_title = OV-100 有效载荷舱结构桁架
#LOC_benjee10_shuttle_payloadTruss_description = 这种结构梁元件连接在航天飞机轨道器货舱底部的节点上,以提供额外的货物和有效载荷的连接点。

#LOC_benjee10_shuttle_rudder_title = OV-100 垂尾
#LOC_benjee10_shuttle_rudder_description = 该垂直控制面采用分瓣舵设计,在着陆时可以展开以减慢轨道器的速度。

#LOC_benjee10_shuttle_spaceLab_title = OV-100 有效载荷舱研究模块类型 A
#LOC_benjee10_shuttle_spaceLab_description = 这个加压模块旨在适应航天飞机轨道器的货舱,提供在轨道上进行高级研究的能力。

#LOC_benjee10_shuttle_spaceLab_Short_title = OV-100 有效载荷舱研究模块类型 B
#LOC_benjee10_shuttle_spaceLab_Short_description = 这是A型研究模块的缩短版本,具有较小的占地面积和质量,但研究产出潜力较低。

}
}
38 changes: 38 additions & 0 deletions program_changeFile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#Modify the cfg text for each part.
import os

folder_path = r'C:\Games\KSP\1.12.5 Stock\GameData\Benjee10_shuttleOrbiter\Parts'
field_name_1 = 'title'
field_name_2 = 'description'
field_name_3 = 'name'

for dirpath, dirnames, filenames in os.walk(folder_path):
folder_name = os.path.basename(dirpath)
for filename in filenames:
if filename.endswith('.cfg'):
with open(os.path.join(dirpath, filename), 'r') as file:
content = file.read()
lines = content.split('\n')
field_value_3 = ''
found_field_1 = False
found_field_2 = False
found_field_3 = False
flag = False
for i, line in enumerate(lines):
if field_name_1 in line and not found_field_1:
lines[i] = f'\ttitle = #LOC_{field_value_3}_title'
found_field_1 = True
if field_name_2 in line and not found_field_2:
lines[i] = f'\tdescription = #LOC_{field_value_3}_description'
found_field_2 = True
if flag == False:
if field_name_3 in line and not found_field_3:
field_value_3 = line.split('=')[1].strip()
found_field_3 = True
flag = True
if found_field_1 and found_field_2 and found_field_3:
break
content = '\n'.join(lines)
with open(os.path.join(dirpath, filename), 'w') as file:
file.write(content)

41 changes: 41 additions & 0 deletions program_en-us.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#Extraction of titles and abstracts.
import os

folder_path = r'C:\Games\KSP\1.12.5 Stock\GameData\Benjee10_shuttleOrbiter\Parts'
field_name_1 = 'title'
field_name_2 = 'description'
field_name_3 = 'name'
output_file = 'en-us.cfg'

with open(output_file, 'w') as out:
out.write('Localization\n{\n\ten-us\n\t{\n')
for dirpath, dirnames, filenames in os.walk(folder_path):
folder_name = os.path.basename(dirpath)
for filename in filenames:
if filename.endswith('.cfg'):
with open(os.path.join(dirpath, filename), 'r') as file:
found_field_1 = False
found_field_2 = False
found_field_3 = False
field_value_3 = ''
flag = False
for line in file:
if field_name_1 in line:
field_value = line.split('=')[1].strip()
out.write(f'\t\t#LOC_{field_value_3}_title = {field_value}\n')
found_field_1 = True
if field_name_2 in line:
field_value = line.split('=')[1].strip()
out.write(f'\t\t#LOC_{field_value_3}_description = {field_value}\n\n')
found_field_2 = True
if flag == False:
if field_name_3 in line:
field_value_3 = line.split('=')[1].strip()
found_field_3 = True
flag = True
if found_field_1 and found_field_2 and found_field_3:
break
out.write('\t}\n}')