mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
`vlan <id> mgmt` existed on the CLI, but nothing reported which VLAN currently carries management, so the setting was invisible from the web UI - the only way to find out was to read the startup config. Report it in information.json and offer it where the other switch-wide addressing settings live, between Gateway and Language, as a picker filled from the configured VLANs. When management is untagged there is no VLAN to select, so that state shows as a disabled entry rather than inventing an id the switch would reject. Confirm before applying, and say what will happen rather than echoing the action back: the switch starts tagging its own frames, and if the port you came in on does not carry that VLAN the page becomes unreachable and the way back is the console. Cancelling puts the picker back where it was.
601 lines
20 KiB
JavaScript
601 lines
20 KiB
JavaScript
var LANG = {
|
|
en: {
|
|
nav_overview: 'Overview',
|
|
nav_port_config: 'Port Configuration',
|
|
nav_port_stat: 'Port Statistics',
|
|
nav_l2: 'L2 Configuration',
|
|
nav_mirror: 'Mirroring',
|
|
nav_lag: 'Link Aggregation',
|
|
nav_eee: 'EEE',
|
|
nav_bandwidth: 'Bandwidth Limits',
|
|
nav_system: 'System Settings',
|
|
nav_fw_update: 'Firmware Update',
|
|
|
|
port_name: 'Name',
|
|
port_status: 'Status',
|
|
port_not_enabled: 'Not enabled.',
|
|
port_link_speed: 'Link speed',
|
|
port_vendor: 'Vendor',
|
|
port_model: 'Model',
|
|
port_serial: 'Serial',
|
|
port_temp: 'Temp',
|
|
port_vcc: 'Vcc',
|
|
port_tx_fault: 'TX-Fault',
|
|
port_tx_disabled: 'TX-Disabled',
|
|
port_tx_bias: 'TX-Bias',
|
|
port_tx_power: 'TX-Power',
|
|
port_rx_power: 'RX-Power',
|
|
port_rx_los: 'RX-LOS',
|
|
|
|
speed_disabled: 'Disabled',
|
|
speed_down: 'Down',
|
|
|
|
port_title: 'FreeSwitchOS Port Configuration',
|
|
port_heading: 'Port Configuration',
|
|
port_col_port: 'Port',
|
|
port_col_name: 'Name',
|
|
port_col_speed: 'Current Link Speed',
|
|
port_col_set_speed: 'Set Speed',
|
|
port_col_disabled: 'Disabled',
|
|
port_col_apply: 'Apply',
|
|
port_mtu_heading: 'Configure Maximum Frame Size (MTU) forwarded at Port',
|
|
port_auto: 'Auto',
|
|
port_2500m: '2500MBit/Full',
|
|
port_1000m: '1000MBit/Full',
|
|
port_100m_f: '100MBit/Full',
|
|
port_100m_h: '100MBit/Half',
|
|
port_10m_f: '10MBit/Full',
|
|
port_10m_h: '10MBit/Half',
|
|
port_apply: 'Apply',
|
|
|
|
stat_title: 'FreeSwitchOS Port Statistics',
|
|
stat_heading: 'Port Statistics',
|
|
stat_detailed: 'Detailed Port Statistics',
|
|
stat_close: 'Close',
|
|
stat_col_port: 'Port',
|
|
stat_col_name: 'Name',
|
|
stat_col_link: 'link',
|
|
stat_col_tx_good: 'TX Good',
|
|
stat_col_tx_bad: 'TX Bad',
|
|
stat_col_rx_good: 'RX Good',
|
|
stat_col_rx_bad: 'RX Bad',
|
|
stat_col_all: 'All Counters',
|
|
stat_counter: 'Counter',
|
|
stat_value: 'Value',
|
|
stat_show: 'Show',
|
|
|
|
vlan_title: 'FreeSwitchOS VLAN Configuration',
|
|
vlan_heading: 'VLAN Configuration',
|
|
vlan_select: 'VLAN Select:',
|
|
vlan_choose: '— VLAN Choose —',
|
|
vlan_id: 'VLAN ID:',
|
|
vlan_get_config: 'Get Configuration',
|
|
vlan_name: 'VLAN Name:',
|
|
vlan_tagged: 'Tagged Ports',
|
|
vlan_untagged: 'Untagged Ports',
|
|
vlan_select_all: 'Select all',
|
|
vlan_pvid: 'Use as default VLAN for incoming traffic (PVID)',
|
|
vlan_update: 'Update / Create',
|
|
vlan_configured: 'Configured VLANs',
|
|
vlan_col_name: 'Name',
|
|
vlan_col_member: 'Member Ports',
|
|
vlan_col_tagged: 'Tagged Ports',
|
|
vlan_col_untagged: 'Untagged Ports',
|
|
vlan_col_pvid: 'PVID Ports',
|
|
vlan_col_delete: 'Delete',
|
|
vlan_set_id_first: 'Set VLAN ID first',
|
|
vlan_delete_confirm: 'Delete VLAN ',
|
|
|
|
lag_title: 'Link Aggregation Configuration',
|
|
lag_heading: 'Link Aggregation Groups Configuration',
|
|
lag_update: 'Update / Create',
|
|
|
|
mirror_title: 'Mirror Configuration',
|
|
mirror_heading: 'Mirror Configuration',
|
|
mirror_enabled: 'Enabled:',
|
|
mirror_port: 'Mirroring Port:',
|
|
mirror_tx: 'Mirrored Ports (TX)',
|
|
mirror_rx: 'Mirrored Ports (RX)',
|
|
mirror_update: 'Update / Create',
|
|
mirror_disable: 'Disable Mirroring',
|
|
mirror_set_port_first: 'Set Mirroring Port first',
|
|
mirror_select_ports: 'Select Mirrored Ports',
|
|
|
|
eee_title: 'EEE Configuration',
|
|
eee_heading: 'EEE Status',
|
|
eee_advertising: 'Advertising',
|
|
eee_partner: 'Link-Partner advertises',
|
|
eee_port: 'Port',
|
|
eee_active: 'Active?',
|
|
eee_enable: 'Enable EEE',
|
|
eee_disable: 'Disable EEE',
|
|
eee_on: 'ON',
|
|
eee_off: 'OFF',
|
|
|
|
l2_title: 'FreeSwitchOS L2 Configuration',
|
|
l2_heading: 'L2 Configuration',
|
|
l2_col_port: 'Port',
|
|
l2_col_type: 'Type',
|
|
l2_col_remove: 'Remove Entry',
|
|
l2_delete: 'Delete',
|
|
l2_static: 'static',
|
|
l2_learned: 'learned',
|
|
|
|
bw_title: 'Ingress and Egress Bandwidth',
|
|
bw_heading: 'Ingress and Egress Bandwidth',
|
|
bw_ingress: 'Ingress',
|
|
bw_egress: 'Egress',
|
|
bw_col_port: 'Port',
|
|
bw_col_limit: 'Limit',
|
|
bw_col_bandwidth: 'Bandwidth [kBit/s]',
|
|
bw_col_flow: 'Flow Control',
|
|
bw_col_apply: 'Apply',
|
|
bw_unlimited: 'UNLIMITED',
|
|
|
|
sys_title: 'System Settings',
|
|
sys_tab_system: 'System',
|
|
sys_tab_advanced: 'Advanced',
|
|
sys_tab_console: 'Console',
|
|
sys_heading: 'System Settings',
|
|
sys_ip: 'IP address:',
|
|
sys_model: 'Model:',
|
|
sys_hostname: 'Hostname:',
|
|
sys_apply: 'Apply',
|
|
sys_netmask: 'Netmask:',
|
|
sys_gateway: 'Gateway:',
|
|
sys_language: 'Language:',
|
|
sys_mgmt_vlan: 'Management VLAN:',
|
|
sys_mgmt_untagged: 'untagged',
|
|
sys_mgmt_confirm: 'Move switch management to VLAN ',
|
|
sys_mgmt_warn: 'The switch will start tagging its own traffic with that VLAN. If the port you are connected through does not carry it, this page becomes unreachable and the setting can only be undone over the console. Continue?',
|
|
sys_ip_note: 'When updating the above settings, remember to point your browser to the new IP afterwards:',
|
|
sys_update: 'Update Settings',
|
|
sys_save_label: 'Save all current settings to Flash:',
|
|
sys_save: 'Save Settings to Flash',
|
|
sys_advanced: 'Advanced Settings',
|
|
sys_startup_config: 'Startup configuration:',
|
|
sys_startup_warn: 'Be careful when saving the directly edited startup configuration, you can lock yourself out:',
|
|
sys_clear_config: 'Clear Startup Config',
|
|
sys_save_startup: 'Save Startup Settings to Flash',
|
|
sys_reset: 'Reset Switch',
|
|
sys_console: 'Console Command',
|
|
sys_enter_cmd: 'Enter command:',
|
|
sys_send_cmd: 'Send Command',
|
|
sys_console_warn: 'Be careful when entering console commands, you can lock yourself out!',
|
|
sys_invalid_ip: 'Invalid ip:',
|
|
sys_reset_confirm: 'Are you sure you want to reset the switch?',
|
|
sys_resetting: 'Switch is resetting. Please wait and refresh the page.',
|
|
|
|
login_title: 'RTL Switch Login',
|
|
login_heading: 'RTL Switch Login',
|
|
login_wrong: 'Wrong password!',
|
|
login_password: 'Password',
|
|
login_login: 'Login',
|
|
|
|
index_title: 'FreeSwitchOS Main Page',
|
|
index_heading: 'Switch Configuration',
|
|
index_settings: 'Settings',
|
|
|
|
update_title: 'Firmware update',
|
|
update_heading: 'Firmware Update',
|
|
update_instruction: 'Choose a firmware update file to upload:',
|
|
update_upload: 'Upload File',
|
|
|
|
common_port: 'Port ',
|
|
common_pkts: ' pkts',
|
|
},
|
|
|
|
ja: {
|
|
nav_overview: '概要',
|
|
nav_port_config: 'ポート設定',
|
|
nav_port_stat: 'ポート統計',
|
|
nav_l2: 'L2 設定',
|
|
nav_mirror: 'ミラーリング',
|
|
nav_lag: 'リンクアグリゲーション',
|
|
nav_eee: 'EEE',
|
|
nav_bandwidth: '帯域制限',
|
|
nav_system: 'システム設定',
|
|
nav_fw_update: 'ファームウェア更新',
|
|
|
|
port_name: '名前',
|
|
port_status: '状態',
|
|
port_not_enabled: '無効',
|
|
port_link_speed: 'リンク速度',
|
|
port_vendor: 'ベンダー',
|
|
port_model: 'モデル',
|
|
port_serial: 'シリアル',
|
|
port_temp: '温度',
|
|
port_vcc: '電圧',
|
|
port_tx_fault: 'TX 障害',
|
|
port_tx_disabled: 'TX 無効',
|
|
port_tx_bias: 'TX バイアス',
|
|
port_tx_power: 'TX 電力',
|
|
port_rx_power: 'RX 電力',
|
|
port_rx_los: 'RX 信号ロス',
|
|
|
|
speed_disabled: '無効',
|
|
speed_down: 'リンクダウン',
|
|
|
|
port_title: 'FreeSwitchOS ポート設定',
|
|
port_heading: 'ポート設定',
|
|
port_col_port: 'ポート',
|
|
port_col_name: '名前',
|
|
port_col_speed: '現在のリンク速度',
|
|
port_col_set_speed: '速度設定',
|
|
port_col_disabled: '無効',
|
|
port_col_apply: '適用',
|
|
port_mtu_heading: 'ポートの最大フレームサイズ (MTU) 設定',
|
|
port_auto: '自動',
|
|
port_2500m: '2500Mbps/全二重',
|
|
port_1000m: '1000Mbps/全二重',
|
|
port_100m_f: '100Mbps/全二重',
|
|
port_100m_h: '100Mbps/半二重',
|
|
port_10m_f: '10Mbps/全二重',
|
|
port_10m_h: '10Mbps/半二重',
|
|
port_apply: '適用',
|
|
|
|
stat_title: 'FreeSwitchOS ポート統計',
|
|
stat_heading: 'ポート統計',
|
|
stat_detailed: '詳細ポート統計',
|
|
stat_close: '閉じる',
|
|
stat_col_port: 'ポート',
|
|
stat_col_name: '名前',
|
|
stat_col_link: 'リンク',
|
|
stat_col_tx_good: 'TX 正常',
|
|
stat_col_tx_bad: 'TX 異常',
|
|
stat_col_rx_good: 'RX 正常',
|
|
stat_col_rx_bad: 'RX 異常',
|
|
stat_col_all: '全カウンタ',
|
|
stat_counter: 'カウンタ',
|
|
stat_value: '値',
|
|
stat_show: '表示',
|
|
|
|
vlan_title: 'FreeSwitchOS VLAN 設定',
|
|
vlan_heading: 'VLAN 設定',
|
|
vlan_select: 'VLAN 選択:',
|
|
vlan_choose: '— VLAN 選択 —',
|
|
vlan_id: 'VLAN ID:',
|
|
vlan_get_config: '設定取得',
|
|
vlan_name: 'VLAN 名:',
|
|
vlan_tagged: 'タグ付きポート',
|
|
vlan_untagged: 'タグ無しポート',
|
|
vlan_select_all: 'すべて選択',
|
|
vlan_pvid: '受信トラフィックのデフォルト VLAN (PVID)',
|
|
vlan_update: '更新 / 作成',
|
|
vlan_configured: '設定済み VLAN',
|
|
vlan_col_name: '名前',
|
|
vlan_col_member: 'メンバーポート',
|
|
vlan_col_tagged: 'タグ付きポート',
|
|
vlan_col_untagged: 'タグ無しポート',
|
|
vlan_col_pvid: 'PVID ポート',
|
|
vlan_col_delete: '削除',
|
|
vlan_set_id_first: 'VLAN ID を先に設定してください',
|
|
vlan_delete_confirm: 'VLAN 削除 ',
|
|
|
|
lag_title: 'リンクアグリゲーション設定',
|
|
lag_heading: 'リンクアグリゲーショングループ設定',
|
|
lag_update: '更新 / 作成',
|
|
|
|
mirror_title: 'ミラーリング設定',
|
|
mirror_heading: 'ミラーリング設定',
|
|
mirror_enabled: '有効:',
|
|
mirror_port: 'ミラーポート:',
|
|
mirror_tx: 'ミラー元ポート (TX)',
|
|
mirror_rx: 'ミラー元ポート (RX)',
|
|
mirror_update: '更新 / 作成',
|
|
mirror_disable: 'ミラーリング無効化',
|
|
mirror_set_port_first: 'ミラーポートを先に設定してください',
|
|
mirror_select_ports: 'ミラー元ポートを選択してください',
|
|
|
|
eee_title: 'EEE 設定',
|
|
eee_heading: 'EEE 状態',
|
|
eee_advertising: 'EEE アドバタイジング',
|
|
eee_partner: 'リンクパートナー広告',
|
|
eee_port: 'ポート',
|
|
eee_active: '有効?',
|
|
eee_enable: 'EEE 有効化',
|
|
eee_disable: 'EEE 無効化',
|
|
eee_on: 'オン',
|
|
eee_off: 'オフ',
|
|
|
|
l2_title: 'FreeSwitchOS L2 設定',
|
|
l2_heading: 'L2 設定',
|
|
l2_col_port: 'ポート',
|
|
l2_col_type: 'タイプ',
|
|
l2_col_remove: 'エントリ削除',
|
|
l2_delete: '削除',
|
|
l2_static: '静的',
|
|
l2_learned: '学習',
|
|
|
|
bw_title: '入力/出力帯域制限',
|
|
bw_heading: '入力/出力帯域制限',
|
|
bw_ingress: '入力',
|
|
bw_egress: '出力',
|
|
bw_col_port: 'ポート',
|
|
bw_col_limit: '制限',
|
|
bw_col_bandwidth: '帯域 [kbps]',
|
|
bw_col_flow: 'フロー制御',
|
|
bw_col_apply: '適用',
|
|
bw_unlimited: '制限無し',
|
|
|
|
sys_title: 'システム設定',
|
|
sys_tab_system: 'システム',
|
|
sys_tab_advanced: '詳細設定',
|
|
sys_tab_console: 'コンソール',
|
|
sys_heading: 'システム設定',
|
|
sys_ip: 'IP アドレス:',
|
|
sys_model: 'モデル:',
|
|
sys_hostname: 'ホスト名:',
|
|
sys_apply: '適用',
|
|
sys_netmask: 'ネットマスク:',
|
|
sys_gateway: 'ゲートウェイ:',
|
|
sys_language: '言語:',
|
|
sys_mgmt_vlan: 'Management VLAN:',
|
|
sys_mgmt_untagged: 'untagged',
|
|
sys_mgmt_confirm: 'Move switch management to VLAN ',
|
|
sys_mgmt_warn: 'The switch will start tagging its own traffic with that VLAN. If the port you are connected through does not carry it, this page becomes unreachable and the setting can only be undone over the console. Continue?',
|
|
sys_ip_note: '上記設定を変更した場合は、ブラウザで新しい IP にアクセスしてください:',
|
|
sys_update: '設定更新',
|
|
sys_save_label: '現在の設定をフラッシュに保存:',
|
|
sys_save: '設定をフラッシュに保存',
|
|
sys_advanced: '詳細設定',
|
|
sys_startup_config: '起動設定:',
|
|
sys_startup_warn: '起動設定を直接編集する際は注意してください。ロックアウトされる可能性があります:',
|
|
sys_clear_config: '起動設定クリア',
|
|
sys_save_startup: '起動設定をフラッシュに保存',
|
|
sys_reset: 'スイッチ再起動',
|
|
sys_console: 'コンソールコマンド',
|
|
sys_enter_cmd: 'コマンド入力:',
|
|
sys_send_cmd: 'コマンド送信',
|
|
sys_console_warn: 'コンソールコマンドは注意して入力してください。ロックアウトされる可能性があります!',
|
|
sys_invalid_ip: '無効な IP: ',
|
|
sys_reset_confirm: 'スイッチを再起動してもよろしいですか?',
|
|
sys_resetting: 'スイッチを再起動中です。しばらく待ってからページをリロードしてください。',
|
|
|
|
login_title: 'RTL スイッチ ログイン',
|
|
login_heading: 'RTL スイッチ ログイン',
|
|
login_wrong: 'パスワードが違います!',
|
|
login_password: 'パスワード',
|
|
login_login: 'ログイン',
|
|
|
|
index_title: 'FreeSwitchOS メインページ',
|
|
index_heading: 'スイッチ設定',
|
|
index_settings: '設定',
|
|
|
|
update_title: 'ファームウェア更新',
|
|
update_heading: 'ファームウェア更新',
|
|
update_instruction: 'アップロードするファームウェアファイルを選択:',
|
|
update_upload: 'ファイルをアップロード',
|
|
|
|
common_port: 'ポート ',
|
|
common_pkts: ' pkts',
|
|
},
|
|
|
|
zh: {
|
|
nav_overview: '概览',
|
|
nav_port_config: '端口配置',
|
|
nav_port_stat: '端口统计',
|
|
nav_l2: 'L2 配置',
|
|
nav_mirror: '端口镜像',
|
|
nav_lag: '链路聚合',
|
|
nav_eee: 'EEE',
|
|
nav_bandwidth: '带宽限制',
|
|
nav_system: '系统设置',
|
|
nav_fw_update: '固件升级',
|
|
|
|
port_name: '名称',
|
|
port_status: '状态',
|
|
port_not_enabled: '未启用。',
|
|
port_link_speed: '链路速率',
|
|
port_vendor: '厂商',
|
|
port_model: '型号',
|
|
port_serial: '序列号',
|
|
port_temp: '温度',
|
|
port_vcc: '供电电压',
|
|
port_tx_fault: 'TX 故障',
|
|
port_tx_disabled: 'TX 禁用',
|
|
port_tx_bias: 'TX 偏置电流',
|
|
port_tx_power: 'TX 光功率',
|
|
port_rx_power: 'RX 光功率',
|
|
port_rx_los: 'RX 信号丢失',
|
|
|
|
speed_disabled: '禁用',
|
|
speed_down: '未连接',
|
|
|
|
port_title: 'FreeSwitchOS 端口配置',
|
|
port_heading: '端口配置',
|
|
port_col_port: '端口',
|
|
port_col_name: '名称',
|
|
port_col_speed: '当前链路速率',
|
|
port_col_set_speed: '设置速率',
|
|
port_col_disabled: '禁用',
|
|
port_col_apply: '应用',
|
|
port_mtu_heading: '配置端口转发的最大帧大小 (MTU)',
|
|
port_auto: '自动',
|
|
port_2500m: '2500Mbps/全双工',
|
|
port_1000m: '1000Mbps/全双工',
|
|
port_100m_f: '100Mbps/全双工',
|
|
port_100m_h: '100Mbps/半双工',
|
|
port_10m_f: '10Mbps/全双工',
|
|
port_10m_h: '10Mbps/半双工',
|
|
port_apply: '应用',
|
|
|
|
stat_title: 'FreeSwitchOS 端口统计',
|
|
stat_heading: '端口统计',
|
|
stat_detailed: '详细端口统计',
|
|
stat_close: '关闭',
|
|
stat_col_port: '端口',
|
|
stat_col_name: '名称',
|
|
stat_col_link: '链路',
|
|
stat_col_tx_good: 'TX 正常包',
|
|
stat_col_tx_bad: 'TX 错误包',
|
|
stat_col_rx_good: 'RX 正常包',
|
|
stat_col_rx_bad: 'RX 错误包',
|
|
stat_col_all: '所有计数器',
|
|
stat_counter: '计数器',
|
|
stat_value: '值',
|
|
stat_show: '查看',
|
|
|
|
vlan_title: 'FreeSwitchOS VLAN 配置',
|
|
vlan_heading: 'VLAN 配置',
|
|
vlan_select: 'VLAN 选择:',
|
|
vlan_choose: '-- 请选择 VLAN --',
|
|
vlan_id: 'VLAN ID:',
|
|
vlan_get_config: '获取配置',
|
|
vlan_name: 'VLAN 名称:',
|
|
vlan_tagged: 'Tagged 端口',
|
|
vlan_untagged: 'Untagged 端口',
|
|
vlan_select_all: '全选',
|
|
vlan_pvid: '作为入方向流量的默认 VLAN (PVID)',
|
|
vlan_update: '更新 / 创建',
|
|
vlan_configured: '已配置 VLAN',
|
|
vlan_col_name: '名称',
|
|
vlan_col_member: '成员端口',
|
|
vlan_col_tagged: 'Tagged 端口',
|
|
vlan_col_untagged: 'Untagged 端口',
|
|
vlan_col_pvid: 'PVID 端口',
|
|
vlan_col_delete: '删除',
|
|
vlan_set_id_first: '请先设置 VLAN ID',
|
|
vlan_delete_confirm: '删除 VLAN ',
|
|
|
|
lag_title: '链路聚合配置',
|
|
lag_heading: '链路聚合组配置',
|
|
lag_update: '更新 / 创建',
|
|
|
|
mirror_title: '端口镜像配置',
|
|
mirror_heading: '端口镜像配置',
|
|
mirror_enabled: '启用:',
|
|
mirror_port: '镜像目的端口:',
|
|
mirror_tx: '被镜像端口 (TX)',
|
|
mirror_rx: '被镜像端口 (RX)',
|
|
mirror_update: '更新 / 创建',
|
|
mirror_disable: '禁用端口镜像',
|
|
mirror_set_port_first: '请先设置镜像目的端口',
|
|
mirror_select_ports: '请选择被镜像端口',
|
|
|
|
eee_title: 'EEE 配置',
|
|
eee_heading: 'EEE 状态',
|
|
eee_advertising: '本端通告',
|
|
eee_partner: '链路伙伴通告',
|
|
eee_port: '端口',
|
|
eee_active: '已生效?',
|
|
eee_enable: '启用 EEE',
|
|
eee_disable: '禁用 EEE',
|
|
eee_on: '开',
|
|
eee_off: '关',
|
|
|
|
l2_title: 'FreeSwitchOS L2 配置',
|
|
l2_heading: 'L2 配置',
|
|
l2_col_port: '端口',
|
|
l2_col_type: '类型',
|
|
l2_col_remove: '删除条目',
|
|
l2_delete: '删除',
|
|
l2_static: '静态',
|
|
l2_learned: '动态学习',
|
|
|
|
bw_title: '入方向/出方向带宽限制',
|
|
bw_heading: '入方向/出方向带宽限制',
|
|
bw_ingress: '入方向',
|
|
bw_egress: '出方向',
|
|
bw_col_port: '端口',
|
|
bw_col_limit: '限速',
|
|
bw_col_bandwidth: '带宽 [kbit/s]',
|
|
bw_col_flow: '流量控制',
|
|
bw_col_apply: '应用',
|
|
bw_unlimited: '不限速',
|
|
|
|
sys_title: '系统设置',
|
|
sys_tab_system: '系统',
|
|
sys_tab_advanced: '高级',
|
|
sys_tab_console: '控制台',
|
|
sys_heading: '系统设置',
|
|
sys_ip: 'IP 地址:',
|
|
sys_model: '型号:',
|
|
sys_hostname: '主机名:',
|
|
sys_apply: '应用',
|
|
sys_netmask: '子网掩码:',
|
|
sys_gateway: '网关:',
|
|
sys_language: '语言:',
|
|
sys_mgmt_vlan: 'Management VLAN:',
|
|
sys_mgmt_untagged: 'untagged',
|
|
sys_mgmt_confirm: 'Move switch management to VLAN ',
|
|
sys_mgmt_warn: 'The switch will start tagging its own traffic with that VLAN. If the port you are connected through does not carry it, this page becomes unreachable and the setting can only be undone over the console. Continue?',
|
|
sys_ip_note: '更新上述设置后,请使用新的 IP 地址重新访问管理界面:',
|
|
sys_update: '更新设置',
|
|
sys_save_label: '将当前全部设置保存到 Flash:',
|
|
sys_save: '保存设置到 Flash',
|
|
sys_advanced: '高级设置',
|
|
sys_startup_config: '启动配置:',
|
|
sys_startup_warn: '直接编辑启动配置时请谨慎,错误配置可能导致无法访问设备:',
|
|
sys_clear_config: '清除启动配置',
|
|
sys_save_startup: '保存启动配置到 Flash',
|
|
sys_reset: '重启交换机',
|
|
sys_console: '控制台命令',
|
|
sys_enter_cmd: '输入命令:',
|
|
sys_send_cmd: '发送命令',
|
|
sys_console_warn: '输入控制台命令时请谨慎,错误命令可能导致无法访问设备!',
|
|
sys_invalid_ip: '无效 IP: ',
|
|
sys_reset_confirm: '确定要重启交换机吗?',
|
|
sys_resetting: '交换机正在重启。请稍候并刷新页面。',
|
|
|
|
login_title: 'RTL 交换机登录',
|
|
login_heading: 'RTL 交换机登录',
|
|
login_wrong: '密码错误!',
|
|
login_password: '密码',
|
|
login_login: '登录',
|
|
|
|
index_title: 'FreeSwitchOS 主页',
|
|
index_heading: '交换机配置',
|
|
index_settings: '设置',
|
|
|
|
update_title: '固件升级',
|
|
update_heading: '固件升级',
|
|
update_instruction: '请选择要上传的固件文件:',
|
|
update_upload: '上传文件',
|
|
|
|
common_port: '端口 ',
|
|
common_pkts: ' 个包',
|
|
}
|
|
};
|
|
|
|
var rtlLang = (function() {
|
|
var saved = localStorage.getItem('rtl_lang');
|
|
if (saved && LANG[saved]) return saved;
|
|
var browser = (navigator.language || navigator.userLanguage || 'en').substring(0, 2);
|
|
return LANG[browser] ? browser : 'en';
|
|
})();
|
|
|
|
function t(key) {
|
|
return LANG[rtlLang][key] || LANG['en'][key] || key;
|
|
}
|
|
|
|
function setLang(lang) {
|
|
if (LANG[lang]) {
|
|
localStorage.setItem('rtl_lang', lang);
|
|
rtlLang = lang;
|
|
document.querySelectorAll('[data-i18n]').forEach(function(el) {
|
|
applyTranslation(el);
|
|
});
|
|
}
|
|
}
|
|
|
|
function applyTranslation(el) {
|
|
var key = el.getAttribute('data-i18n');
|
|
if (!key) return;
|
|
if (el.tagName === 'INPUT' && (el.type === 'submit' || el.type === 'button')) {
|
|
el.value = t(key);
|
|
} else if (el.tagName === 'OPTION') {
|
|
el.textContent = t(key);
|
|
} else if (el.tagName === 'TITLE') {
|
|
el.textContent = t(key);
|
|
} else {
|
|
el.innerHTML = t(key);
|
|
}
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
document.querySelectorAll('[data-i18n]').forEach(function(el) {
|
|
applyTranslation(el);
|
|
});
|
|
});
|