功能:词条去重

Aperta
#551 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
javascript, python

Direzione di ricerca

The issue proposes a Python script to remove duplicate entries from static sections in locals.js. Start by checking how the localization files are structured and whether duplicate keys are present. The example script is only a proposal; done means the intended duplicate entries are removed without losing comments or other content.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

目前打算使用 python 脚本自动检测并去除重复词条
这是示例脚本:

import re

def remove_duplicates(file_path):
    # 读取文件内容
    with open(file_path, 'r', encoding='utf-8') as file:
        content = file.read()

    # 匹配所有 "static" 部分
    static_matches = re.finditer(r'"static": \{([\s\S]*?)\}', content)
    if not static_matches:
        print('未找到 "static" 部分。')
        return

    new_content = content  # 用于存储整体替换后的内容
    for match in static_matches:
        static_content = match.group(1)
        lines = static_content.split('\n')

        seen = set()  # 用于存储已出现的键名
        unique_lines = []  # 存储去重后的行

        # 遍历每一行,检查重复
        for line in lines:
            stripped_line = line.strip()
            if stripped_line and not stripped_line.startswith('//'):  # 排除注释和空行
                key_match = re.match(r'"(.*?)":', stripped_line)  # 提取键名
                if key_match:
                    key = key_match.group(1)
                    if key in seen:
                        print(f'重复项:{key}')
                        continue
                    seen.add(key)
            unique_lines.append(line)  # 保留非重复项、注释和空行

        # 将去重后的内容重新组装
        unique_content = '\n'.join(unique_lines)
        new_content = new_content.replace(static_content, unique_content)

    # 写入去重后的文件
    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(new_content)
    print('所有重复项已移除并保存至文件。')


if __name__ == "__main__":
    # 文件路径
    file_path = './locals.js'  # 替换为你的文件路径
    remove_duplicates(file_path)
Lingua principale
JavaScript
Stelle
35.1k
Fork
2k
Merge medio
2g 1h
PR unite (30g)
9

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di maboloshi/github-chinese

Tutte le issue di maboloshi/github-chinese

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.