{"id":18074227,"url":"https://github.com/ferdzz/swiftlocalevalidator","last_synced_at":"2026-05-01T13:32:02.104Z","repository":{"id":82050926,"uuid":"96953038","full_name":"Ferdzz/SwiftLocaleValidator","owner":"Ferdzz","description":"A lightweight CLI utility to help Swift developers make sure that all the strings in NSLocalizedString are present in their locale and vice-versa","archived":false,"fork":false,"pushed_at":"2021-10-25T14:02:09.000Z","size":1371,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T15:59:55.843Z","etag":null,"topics":["hacktoberfest","java","localization-management","localization-tool","swift"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ferdzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-12T01:40:27.000Z","updated_at":"2021-10-25T14:02:12.000Z","dependencies_parsed_at":"2023-03-07T11:30:31.379Z","dependency_job_id":null,"html_url":"https://github.com/Ferdzz/SwiftLocaleValidator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdzz%2FSwiftLocaleValidator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdzz%2FSwiftLocaleValidator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdzz%2FSwiftLocaleValidator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferdzz%2FSwiftLocaleValidator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ferdzz","download_url":"https://codeload.github.com/Ferdzz/SwiftLocaleValidator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247385504,"owners_count":20930595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","java","localization-management","localization-tool","swift"],"created_at":"2024-10-31T10:11:49.319Z","updated_at":"2026-05-01T13:31:57.074Z","avatar_url":"https://github.com/Ferdzz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Features\n\nSwiftLocaleValidator will validate the localized strings in the following ways:\n - Looks for strings that are defined multiple times in the Localizable.strings\n - Looks for strings that are requested in the code using NSLocalizedString, but aren't found in the Localizable.strings\n - Looks for strings that are defined in the Localizable.strings, but aren't requested in the code using NSLocalizedString\n\n## How to use SwiftLocaleValidator\n\nTo use SwiftLocaleValidator, first grab the .jar file available [here](https://github.com/Ferdzz/SwiftLocaleValidator/blob/master/SwiftLocaleValidator.jar) and use the following CLI command to validate your strings. It's as simple as that.\n\n```\njava -jar SwiftLocaleValidator.jar -directory \"path/to the project/directory\" -locale \"path/to/the/Localizable.strings\"\n```\n\nNote that the lack of support of multiple locale files is intentional. All locale files should be validated one by one to ensure the best quality control possible.\n\nIf your project uses custom formats instead of `NSLocalizedString`, you can specify this using the `-substring` argument. For example, if your\nproject uses a pattern such as `\"Localizable.Key\".localized()`, you should specify the following:\n\n```\njava -jar SwiftLocaleValidator.jar -directory \"path/to the project/directory\" -locale \"path/to/the/Localizable.strings\" -substring \"\\\"\" \"\\\".localized(\"\n```\n\n### Sample output:\n```\nParsing the project...\n\n --- Starting parsing locale file --- \n'Label.DuplicatedKey' key was defined multiple times\n --- Done parsing locale file --- \n\n --- Parsing code for Localized String references --- \n --- Done parsing code for Localized String references --- \n\n --- Comparing code and locale file --- \n'ErrorMessage.NoWifi.Title' was defined in the locale but not used in code! \n'ErrorMessage.NoWifi.Message' was defined in the locale but not used in code! \n------\n'ErrorMessage.Unreachable.Title' was used in the code but never defined in the locale! \n'ErrorMessage.Unreachable.Message' was used in the code but never defined in the locale! \n --- Done comparing code and locale file, tasks finished --- \n\nDone parsing the project!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferdzz%2Fswiftlocalevalidator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferdzz%2Fswiftlocalevalidator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferdzz%2Fswiftlocalevalidator/lists"}