TotalTerminal internationalization
Ruby Shell AppleScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

TotalFinder Internationalization (

TotalFinder is a plugin for Apples's which brings tabs, dual panels and more! This project gathers localizable resources.

Do you want to translate TotalFinder into your language?

TotalFinder is not an open-source, but you should be still able to easily tweak resource files and add your preferred language.

The idea is to install TotalFinder and then sym-link its Resources folder to the copy of this repository where you can edit it. When you are satisfied with your work, you should push your changes back to GitHub. I will then incorporate your work into next TotalFinder release.

You may want to read TotalFinder opened for localization blog post to get an idea why I like GitHub for this.

Where to start?

  1. Read something about git version control system. Here is the best place to start.
  2. Get familiar with GitHub. They have also nice docs.
  3. Create GitHub user and don't forget to setup your local git so your commits are linked to your GitHub account.
  4. See how others are working on TotalFinder localization.

The Workflow

Initial step

  1. fork this project on GitHub
  2. clone your fork (let's assume you have it in ~/totalfinder-i18n)
  3. make sure you have installed latest TotalFinder version
  4. cd ~/totalfinder-i18n and run ./


  1. edit files
  2. validate your changes with rake validate (before first run execute sudo gem install cmess to install supporting library)
  3. use ./ to restart TotalFinder to reflect your changes
  4. commit if needed - you can ./
  5. goto 1

Final step

  1. push to github and send a pull request
  2. (optional) run ./ to return to unaltered TotalFinder state (this won't delete your files, it will just unlink sym-linked folder)


What encoding should I use for my files?

Please use always UTF-8. Other encodings will probably fail to load or you will see wrong characters. If you are unsure please run rake validate task to check your files.

I have created MYLANGUAGE.lproj and modified string files.
I've restarted the, but I don't see my localization. What's wrong?

And do you see in MYLANGUAGE? First, double check you have MYLANGUAGE as top-most language in the System Preferences > Language & Text > Language list. Second, please note that TotalFinder is a plugin for and it inherits preferred language from does not pick MYLANGUAGE in case there is not language folder present here /System/Library/CoreServices/ You may create empty folder by hand or you may fix this by running sudo rake normalize task, which will create missing folders in /System/Library/CoreServices/ according to language folders available in TotalFinder's Resources. Hope this helped.

How do I keep my fork in sync with binaryage/totalfinder-i18n?

You can use the automatic sync file like this:

cd /path/to/local/git/repo

or alternatively define new remote server pointing to my repo (which will be read-only for you). Then you may pull from it and merge it into your repo as you wish.

cd /path/to/git/local/repo
Initial step: `git remote add ba git://`
Fetch + merge: `git fetch ba && git merge ba/master`

Please note that it may end in conflict if you modified same files as I did. Please consult git docs how to resolve it.

I want to modify the UI. How can I compile XIB files?

TotalFinder uses NIBs, to compile them from source XIBs please run ./ (you have to have installed XCode4 command line tools from Apple)

May I alter dimensions in the UI to fit my language?

Although it is possible to copy XIB into language folder and make it language-specific I prefer to keep one shared XIB file for all languages. I'm using technique for defining flexible areas to fit different languages as described here. Please see the TotalFinder.xib where it is already used on several places in the Preferences Window.

Thank you!

Each contributor in will get a free TotalFinder license. Please note that you will appear there with delay and only if your commits are properly recognized as authored by your github's account. You have to setup your local git user properly.

To be clear. Please note that:

  1. I may not accept changes in your fork
  2. You are contributing your work under MIT license
  3. You may want to explore Network Graph to see if someone has not already been working on your language

License: MIT-Style