Как найти дубликаты ключей в файлах локализации - PullRequest
0 голосов
/ 23 марта 2020

У меня есть несколько файлов локализации, которые я использую в нашем проекте, и я хотел бы найти дубликаты ключей во всех них.

Я попытался использовать этот код, и он не возвращает ничего, что могло бы Я делаю неправильно:


folders_array=("MainProject" "StandaloneProject")

for folder in ${folders_array[*]}
do
    STRINGS_TMP="strings.tmp"
    mkdir -p "$STRINGS_TMP"
    FILES=`find "$folder" -name "Localizations*swift"`

    for FILE in $FILES
    do
        echo $FILE
        DUPES=`cut -d' ' -f1 "$FILE" | sort | uniq -d`

        while read -r line; do
            if [[ $line == "\""* ]] ;
            then
                echo "warning: $line used multiple times -"
            fi
        done <<< "$DUPES"
    done
done

Пример файла Plist содержит ключи, подобные этому:

Localizable.strings

"facebook_lgn_btn" = "Login";

"youTube_video" = "Sponsored";

"video_say" = "Test";

1 Ответ

1 голос
/ 23 марта 2020

Вы должны изменить:

FILES=`find "$folder" -name "Localizations*swift"`

на:

FILES=`find "$folder" -name "Localizable*strings"`

Поскольку ключи локализаций находятся в каждом Localizable.strings в таких папках, как it.lproj, en.lproj .. .

Сценарий работает нормально, если вы используете правильный файл для проверки, в этом случае проверяются все файлы Localizable.strings.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...