Show the list of available language translations

This commit is contained in:
Alexander Kojevnikov 2011-03-26 22:16:53 +08:00
parent fabf59fd68
commit 5dacc190eb
2 changed files with 21 additions and 2 deletions

View File

@ -20,6 +20,8 @@ using Gtk;
namespace Spek {
public class PreferencesDialog : Gtk.Dialog {
private Preferences prefs = new Preferences ();
public PreferencesDialog () {
title = _("Preferences");
modal = true;
@ -45,8 +47,9 @@ namespace Spek {
var language_label = new Label.with_mnemonic (_("_Language:"));
language_box.pack_start (language_label, false, false, 0);
var language_combo = new ComboBox.text ();
language_combo.append_text (_("(system default)"));
language_combo.append_text ("English");
for (int i = 0; i < prefs.languages.length[0]; i++) {
language_combo.append_text (prefs.languages[i,1]);
}
language_label.mnemonic_widget = language_combo;
language_box.pack_start (language_combo, false, false, 0);
general_subbox.pack_start(language_box, false, false, 0);

View File

@ -20,7 +20,23 @@ namespace Spek {
public class Preferences {
private KeyFile key_file;
private string file_name;
// List all languages with a decent (e.g. 80%) number of translated
// strings. Don't translate language names. Keep the first line intact.
public string[,] languages = {
{"", null},
{"de", "Deutsch"},
{"es", "Español"},
{"fr", "Français"},
{"nl", "Nederlands"},
{"pl", "Polski"},
{"ru", "Русский"},
{"sv", "Svenska"},
{"uk", "Українська"}
};
public Preferences () {
languages[0,1] = _("(system default)");
file_name = Path.build_filename (Environment.get_user_config_dir (), "spek");
DirUtils.create_with_parents (file_name, 0755);
file_name = Path.build_filename (file_name, "config.ini");