Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When starting the program, among other things, it checks the Language and Text setting for Mac OS X and determines the language for work. "If the program supports language, standing first in the list, it will be used for menus and messages in the program. If your first language is not supported, will be used a second language".

How to make the program appealed only to a certain (second) language from the list?

Example:

  • whole system works with the English language, when you start "program", it works with English and do not understand Russian.
  • whole system works with the Russian language, if you run a "program", it works with English and Russian languages.

Requires a system in English, but for "program" the Russian.

'Language switcher' don't work, because it is only english by default. Thanks-

share|improve this question

3 Answers 3

I have the following two functions in my .bash_profile:

# default language order: German, Swiss German, Swiss French, French, ...
langreset() { defaults write NSGlobalDomain AppleLanguages "(de, de-CH, fr-CH, fr, en, es, it, en-US)"; }
langfoo() { defaults write NSGlobalDomain AppleLanguages "($1, de, de-CH, fr-CH, fr, en, es, it, en-US)"; }

There are obvious holes in the logic of the 2nd function, but it works well enough. If I want to launch an application in Italian, I type

langfoo it
# run the app, either as a unix command, 
# double-click, QuickSilver, "open /path/to/app"...

# To return to the default language order, type
langreset

This doesn't modify the LANG shell environment variable, but unix programs seem to work with the new language just fine. If you don't want to operate this via the command line you can of course wrap these commands in AppleScript, turn it into an app, and launch it that way. Applescripts can prompt for input with a small dialog box.

If you have one specific app you want launched in one specific language all the time:

defaults write ch.sudo.cyberduck AppleLanguages "(Dutch,English)"

You can find the app prefs (i.e. ch.sudo.cyberduck) file by searching through ~/Library/Preferences/

share|improve this answer

EDIT:

It's not longer supported to switch for one application in 10.6.4 in Finder.

The "recommended workaround" is to switch languages before that application. If Language Switcher doesn't work (and it has Russian support as of Feb of this year!) you may have to manually switch.

From what I can tell Language Switcher SHOULD work for you though.

share|improve this answer
    
Sorry, but how to assign? (young user) –  scilix Sep 9 '10 at 19:01
    
Set the second language, log out then back in, select the program in your applications folder, File->get info, click "languages" in the info window, uncheck the default language (english for you i think), then change system language back. It's all described in the link. –  JNK Sep 9 '10 at 19:05
    
I have not Languages disclosure triangle in the Info window. OSX 10.6.4 Snow Leo –  scilix Sep 9 '10 at 19:10
    
AHHHHHHHHHHHHH this is no longer supported in 10.6.4. –  JNK Sep 9 '10 at 19:13
    
It changed in 10.6 according to Wikipedia -- any information if it was actually 10.6.4? –  Daniel Beck Jan 24 '11 at 16:31

Language Switcher just adds AppleLanguages arrays like this to the property lists of applications:

defaults write com.apple.TextEdit AppleLanguages -array ru

You can open an application with another language temporarily by using an -AppleLanguages argument:

/Applications/TextEdit.app/Contents/MacOS/TextEdit -AppleLanguages '(ru)'

You can see a list of the identifiers with defaults read -g AppleLanguages.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.