Localizations is an OS X app that manages your Xcode project localization files (.strings)

Overview

Localizations 0.2

Localizations is an OS X app that manages your Xcode project localization files (.strings).

It focuses on keeping .strings files in sync with the code (NSLocalizedString) and the UI files (storyboards & xib).

It is the missing link that prevents obsolete keys to persists in .strings files and newly introduced to be missed.

You will find Localizations particularly useful when working on a new version of your app or when adding a full new language to your app.

The removal of obselete translations strings will save you money in translations costs.

How it works

1/ Choose a root folder containing an xcode project, source code (.h, .m and/or .swift files), ui files (.xib and/or .storyboard files) and eventually existing .string files in their *.lproj folders.

2/ Localization dives in the file system to find all of these files and store both their content and locations

3/ It regenerate fresh .strings files using ibtool and genstrings and store the generated files in a cache directory (automatically generated inside /tmp

4/ It compares the existing and the new files and creates a diff

5/ It shows the diff in the detail view

Important: Before saving changes, you should stash your local changes and work with a fresh commit so you can revert the results eventually

6/ If you likes the changes, you can review and save them

7/ Localizations will erase, overwrite and create all necessary files and folders.

By default, all brand new files will be created as a development language (picked from the pbxproj) folder.

Intentions & License

When it comes to handle your string files, Xcode has been leaving a void which is yet to be filled. My intentions with this app are to fill this void and, by making it open source, enable developers to alter it up to the very need their specific situation may present. It is my hope that users of the app will share their improvements so that all can be enjoying them.

This project is completely open source and under the MIT license. So enjoy and have fun. For full details please see license.md

Screenshots

Screenshot Screenshot

Special Thanks

Sebastien Del Grosso - For the app icon.

Questions & Contact

If you have any questions, reach out to me on twitter @athiercelin or drop an issue on github.

You might also like...
Localize is a framework writed in swift to localize your projects easier improves i18n, including storyboards and strings.
Localize is a framework writed in swift to localize your projects easier improves i18n, including storyboards and strings.

Localize Localize is a framework written in swift to help you localize and pluralize your projects. It supports both storyboards and strings. Features

The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

SwiftGen SwiftGen is a tool to automatically generate Swift code for resources of your projects (like images, localised strings, etc), to make them ty

Super lightweight library that helps you to localize strings, even directly in storyboards!
Super lightweight library that helps you to localize strings, even directly in storyboards!

Translatio Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 9 or higher. Swi

Minification of localized strings

SmallStrings Reducing localized .strings file sizes by 80% How it works The library consists of two main components: A tool that converts the .strings

An application to convert strings to diffirent formats
An application to convert strings to diffirent formats

Localized An application to convert strings to diffirent formats This app will help developers to convert strings from application in one platform to

Localize iOS apps in a smarter way using JSON files. Swift framework.
Localize iOS apps in a smarter way using JSON files. Swift framework.

Swifternalization Swift library that helps in localizing apps in a different, better, simpler, more powerful way than system localization does. It use

Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately
Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately

Crowdin iOS SDK Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately. So there is no need to update this

Demo project of Swift language crash using Release build on iOS 14

Demo project of Swift language crash using Release build on iOS 14 Repro steps O

A Kotlin multiplatform base project
A Kotlin multiplatform base project

PraxisKMM Minimal Kotlin Multiplatform project with SwiftUI, Jetpack Compose, Compose for Wear OS,. Currently running on Android (Jetpack Compose) 🚧

Comments
  • Fix broken headings in Markdown files

    Fix broken headings in Markdown files

    GitHub changed the way Markdown headings are parsed, so this change fixes it.

    See bryant1410/readmesfix for more information.

    Tackles bryant1410/readmesfix#1

    opened by bryant1410 1
  • unexpectedly found nil while unwrapping an Optional value

    unexpectedly found nil while unwrapping an Optional value

    let cellView = self.changesTableView.viewAtColumn(0, row: index, makeIfNecessary: false) as! ChangeStepCellView

    Line 79 of SaveViewController.swift. Don't have time to submit a fix at the moment. Will come back to this later tonight if someone hasn't solved it by then.

    bug 
    opened by brennanjaymalone 4
  • Ignore Pods/Pods.xcodeproj/project.pbxproj

    Ignore Pods/Pods.xcodeproj/project.pbxproj

    I tried out your app and it's failing whenever there's two *.pbxproj files in the project root directory. My second pbxproj file is used by cocoapods. I think you should just ignore the Pods directory when searching for localized strings.

    enhancement 
    opened by mjjimenez 1
  • Read the development region and known region from pbxproj

    Read the development region and known region from pbxproj

    developmentRegion = English;
    knownRegions = (
                    en,
                    Base,
                );
    

    are the keys we are interested in getting out of the *.xcodeproj/project.pbxproj

    • It's necessary for completely new files which don't have any localization destinations. • We would need to show it somehow in the details view. • We would need to show that these files would be added to each languages.

    enhancement 
    opened by e7711bbear 2
Releases(0.2)
Owner
Arnaud Thiercelin
I work on software & robots
Arnaud Thiercelin
Will Powell 1.2k Dec 29, 2022
A CLI tool for localization resource management on Xcode. Built with Google Translator.

Supported by Jetbrains Open Source License Program Automatically translate and synchronize '.strings' files from the defined base language The basic c

gitmerge 164 May 4, 2022
iOS localization swift code generation project

code-gen-library - localization-swift module code-gen-library - localization-swift module with Python bash script execute to localization swift files(

umut boz 0 Oct 26, 2021
Swift friendly localization and i18n with in-app language switching

Localize-Swift Localize-Swift is a simple framework that improves i18n and localization in Swift iOS apps - providing cleaner syntax and in-app langua

Roy Marmelstein 2.9k Dec 29, 2022
Localizable.strings files generator

Localizable.strings files generator When we want to internationalize our project always is a headache to maintain the Localizable.strings files. This

humdrum 30 Dec 18, 2022
Check Localizable.strings files of iOS Apps

Rubustrings Check the format and consistency of the Localizable.strings files of iOS Apps with multi-language support Rubustrings is also available fo

David Cordero 110 Nov 12, 2022
Lists missing keys from .strings files.

strings-check A simple command line utility to check if translation strings are missing, or if extra translations are present in a set of .strings fil

Dave Clayton-Wagner 3 Nov 22, 2022
Localization of the application with ability to change language "on the fly" and support for plural form in any language.

L10n-swift is a simple framework that improves localization in swift app, providing cleaner syntax and in-app language switching. Overview ?? Features

Adrian Bobrowski 287 Dec 24, 2022
transai is a localization tool on Android and iOS.

transai transai is a command line tool to help you do Android and iOS translation management. You can extract string files to csv format, or generate

Jintin 56 Nov 12, 2022
Xcode plugin for quickly creating localized strings

Extractor Localizable Strings Extractor Localizable Strings is a open source plug-in for Xcode. It lets you extract localizable strings without openin

Vinícius Oliveira 220 Jun 29, 2022