背景图
Extract translatable strings from JSON

2025年10月25日 作者头像 作者头像 ArnoX 编辑

title1.webp

A general-purpose recursive method for extracting all translatable string values from a nested JSON structure.

import json

def extract_strings(obj, path=""):
    strings = []
    if isinstance(obj, dict):
        for k, v in obj.items():
            new_path = f"{path}.{k}" if path else k
            strings.extend(extract_strings(v, new_path))
    elif isinstance(obj, list):
        for i, item in enumerate(obj):
            strings.extend(extract_strings(item, f"{path}[{i}]"))
    elif isinstance(obj, str):
        strings.append((path, obj))
    return strings

with open("xxxx.json", "r", encoding="utf-8") as f:
    data = json.load(f)

pairs = extract_strings(data)

for p, text in pairs:
    print(f"{p}\t{text}")