diff --git a/core/resources/l10n/messages_tr.properties b/core/resources/l10n/messages_tr.properties
new file mode 100644
index 000000000..e6ff1e8d6
--- /dev/null
+++ b/core/resources/l10n/messages_tr.properties
@@ -0,0 +1,171 @@
+#
+# English base translation file
+#
+# Should you need to add new logical keys here is the proposed method
+#
+# className.ComponentType.componentName
+#
+#
+# Text tokens within braces should not be translated, e.g.
+# "The file '{filename}' exists."
+# They are pieces that are inserted dynamically.
+#
+
+
+! Set to the name of the current translation file (used for debugging
+purposes)
+debug.currentFile = messages.properties
+
+! RocketActions
+RocketActions.checkbox.Donotaskmeagain = Yeniden Tekrarlama
+RocketActions.lbl.Youcanchangedefop = Hatal\u0131 \u00c7al\u0131\u015fmay\u0131 De\u011fi\u015ftirebilirsin
+in the preferences.
+RocketActions.showConfirmDialog.lbl1 = Se\u00e7ili sim\u00fclasyonlar\u0131 silmek ister misiniz?
+RocketActions.showConfirmDialog.lbl2 = Bu \u00e7al\u0131\u015fma tamamlanmad\u0131.
+RocketActions.showConfirmDialog.title = Sim\u00fclasyonlar\u0131 Sil
+RocketActions.DelCompAct.Delete = Sil
+RocketActions.DelCompAct.ttip.Delete = Se\u00e7ili par\u00e7ay\u0131 sil.
+RocketActions.DelSimuAct.Delete = Sil
+RocketActions.DelSimuAct.ttip.Delete = Se\u00e7ili sim\u00fclasyonu sil.
+RocketActions.DelAct.Delete = Sil
+RocketActions.DelAct.ttip.Delete = Se\u00e7ilen par\u00e7ay\u0131 ya da sim\u00fclasyonu sil
+RocketActions.CutAction.Cut = Kes
+RocketActions.CutAction.ttip.Cut = Kes bu par\u00e7ay\u0131 yada sim\u00fclasyonun
+haf\u0131zadan ve kald\u0131r bu tasar\u0131mdan
+RocketActions.CopyAct.Copy = Kopyala
+RocketActions.CopyAct.ttip.Copy = Bu par\u00e7ay\u0131 kopyala (ve altpar\u00e7alar\u0131)
+haf\u0131zaya
+RocketActions.PasteAct.Paste = Yap\u0131\u015ft\u0131r
+RocketActions.PasteAct.ttip.Paste = Yap\u0131\u015ft\u0131r par\u00e7ay\u0131 ya da simulasyonu haf\u0131za \u00fczerinden
+tasar\u0131ma do\u011fru.
+RocketActions.EditAct.Edit = D\u00fczenle
+RocketActions.EditAct.ttip.Edit = Se\u00e7ilmi\u015f par\u00e7ay\u0131 d\u00fczenle .
+RocketActions.NewStageAct.Newstage = Yeni A\u015fama
+RocketActions.NewStageAct.ttip.Newstage = Yeni bir roket tasar\u0131m\u0131 ekle
+RocketActions.ActBoosterstage = Yard\u0131mc\u0131/Y\u00fckseltici A\u015fama
+RocketActions.MoveUpAct.Moveup = Yukar\u0131 \u00c7\u0131kar
+RocketActions.MoveUpAct.ttip.Moveup = Yukar\u0131ya do\u011fru bu par\u00e7ay\u0131 haraket ettir.
+RocketActions.MoveDownAct.Movedown = A\u015fa\u011f\u0131ya \u0130ndir
+RocketActions.MoveDownAct.ttip.Movedown = A\u015fa\u011f\u0131ya do\u011fru bu par\u00e7ay\u0131 haraket
+ettir.
+
+! RocketPanel
+RocketPanel.FigTypeAct.Sideview = Yandan G\u00f6r\u00fcn\u00fc\u015f
+RocketPanel.FigTypeAct.Backview = Arkadan G\u00f6r\u00fcn\u00fc\u015f
+RocketPanel.FigTypeAct.Figure3D = 3D Resimlendirme
+RocketPanel.FigTypeAct.Finished = 3D Bitmi\u015f
+RocketPanel.FigTypeAct.Unfinished = 3D Bitmemi\u015f
+
+
+RocketPanel.lbl.Flightcfg = U\u00e7u\u015f Bi\u00e7imi/Konumu:
+RocketPanel.lbl.infoMessage = Click to select Shift+Click
+to select other Double-click to edit Click+drag to
+move
+RocketPanel.lbl.ViewType = G\u00f6r\u00fcn\u00fc\u015f \u015eekli:
+
+! BasicFrame
+BasicFrame.tab.Rocketdesign = Roket Tasar\u0131m\u0131
+BasicFrame.tab.Flightconfig = Motorlar & Bi\u00e7imleri
+BasicFrame.tab.Flightsim = U\u00e7u\u015f Sim\u00fclasyonlar\u0131
+BasicFrame.title.Addnewcomp = Yeni par\u00e7a ekle
+BasicFrame.dlg.lbl1 = Tasar\u0131m '
+BasicFrame.dlg.lbl2 = ' Kaydedilmemi\u015f.
+BasicFrame.dlg.lbl3 = Kaydetmek ister misiniz?
+BasicFrame.dlg.title = Tasar\u0131m Kaydedilmedi
+BasicFrame.StageName.Sustainer = Devam Et
+BasicFrame.WarningDialog.txt1 = Problemler a\u00e7\u0131l\u0131rken d\u00fczenleniyor
+BasicFrame.WarningDialog.txt2 = Baz\u0131 tasar\u0131m par\u00e7alar\u0131 d\u00fczg\u00fcnce
+y\u00fcklenemedi.
+BasicFrame.WarningDialog.title = Dosya a\u00e7\u0131l\u0131rken Tehlike
+
+
+! General error messages used in multiple contexts
+error.fileExists.title = File exists
+error.fileExists.desc = File '{filename}' exists. \u00dczerine yazmak ister misiniz?
+
+error.writing.title = Hata Dosya Yaz\u0131l\u0131rken
+error.writing.desc = Bir hata dosya yaz\u0131l\u0131rken ortaya \u00e7\u0131kt\u0131:
+Configuration.lbl.override = Bu durum baz\u0131 u\u00e7u\u015f bi\u00e7imlerinde ge\u00e7ersizdir.
+
+
+! Labels used in buttons of dialog windows
+# TODO: Rename these to "btn.xxx"
+button.ok = Tamam
+button.cancel = \u00c7\u0131k\u0131\u015f
+button.close = Kapat
+
+! Common labels used in buttons of dialog windows
+dlg.but.ok = Tamam
+dlg.but.cancel = \u00c7\u0131k\u0131\u015f
+dlg.but.close = Kapat
+! General file type names
+filetypes.pdf = PDF files (*.pdf)
+BasicFrame.SimpleFileFilter1 = All rocket designs (*.ork; *.rkt)
+BasicFrame.SimpleFileFilter2 = OpenRocket designs (*.ork)
+BasicFrame.SimpleFileFilter3 = RockSim designs (*.rkt)
+BasicFrame.SimpleFileFilter4 = OpenRocket presets (*.orc)
+filetypes.images = Resim Dosyalar\u0131
+
+
+! Diyolog Hakk\u0131nda
+AboutDialog.lbl.version = Version
+! The texts below provide additional credits for the translation maintainer
+! - In AboutDialog.lbl.translation replace "English" with the current
+language.
+! - AboutDialog.lbl.translator is the translator / group name (may be empty)
+! - AboutDialog.lbl.translatorWebsite is a URL to the translator / group
+(may be empty)
+! - AboutDialog.lbl.translatorIcon is the file name of an icon under
+pix/translators/ (may be empty)
+AboutDialog.lbl.translation = English translation by:Turkish
+AboutDialog.lbl.translator =Batuhan Dereli
+AboutDialog.lbl.translatorWebsite =www.batuhandereli.com
+AboutDialog.lbl.translatorIcon =
+
+
+! Yaz\u0131c\u0131
+PrintDialog.title = Yazd\u0131r yada \u00c7\u0131kart
+PrintDialog.but.previewAndPrint = \u00c7\u0131kt\u0131 \u00d6ncesi Bak & Yaz
+PrintDialog.checkbox.showByStage = Par\u00e7a G\u00f6ster
+PrintDialog.lbl.selectElements = \u0130\u00e7eren gruplar\u0131 se\u00e7:
+printdlg.but.saveaspdf = Kaydet PDF Olarak
+printdlg.but.preview = \u00d6nceki
+printdlg.but.settings = Ayarlar
+PrintDialog.error.preview.title = \u00d6nceki g\u00f6r\u00fcnt\u00fc ula\u015f\u0131lmaz
+PrintDialog.error.preview.desc1 = Pdf g\u00f6r\u00fcnt\u00fc ula\u015f\u0131lmaz.
+PrintDialog.error.preview.desc2 = L\u00fctfen kullan "Pdf Olarak Kaydet" i\u00e7eren
+ayarlardan.
+
+
+!PrintSettingsDialog
+PrintSettingsDialog.title = Yaz\u0131c\u0131 Ayarlar\u0131
+PrintSettingsDialog.lbl.Templatefillcolor = Kal\u0131p Renkli Doldur:
+PrintSettingsDialog.lbl.Templatebordercolor = Kal\u0131b\u0131 S\u0131n\u0131rl\u0131 Doldur:
+PrintSettingsDialog.lbl.Papersize = Ka\u011f\u0131t Boyutu:
+PrintSettingsDialog.lbl.Paperorientation = Ka\u011f\u0131t Hizalama:
+PrintSettingsDialog.but.Reset = Yeniden Ba\u015flat
+PrintSettingsDialog.but.Close = Kapat
+
+
+! Bug Report dialog
+bugreport.dlg.title = Hata Raporu
+bugreport.dlg.but.Sendbugreport = Hata Raporu G\u00f6nder
+bugreport.dlg.but.Sendbugreport.Ttip = Atomatik olarak hata raporu g\u00f6nder OPEN ROCKET
+geli\u015ftiricilerine.
+bugreport.dlg.successmsg1 = Hata raporu sorunsuz yolland\u0131.
+bugreport.dlg.successmsg2 = Te\u015fekk\u00fcrler sizin sayenizde OPENROCKET daha iyi geli\u015ficek!
+bugreport.dlg.successmsg3 = Hata Raporu G\u00f6nderildi
+bugreport.dlg.connectedInternet = E\u011fer internet ba\u011flant\u0131n varsa,
+basit\u00e7e t\u0131klay\u0131pHata Raporu G\u00f6nder.
+bugreport.dlg.otherwise = Ba\u015fka \u015fekilde,adrese yollay\u0131n:
+bugreport.lbl.Theinformation = Genel hata raporlar\u0131hakk\u0131nda bilgi i\u00e7eriyor.Emin de\u011filsen ve
+hislerinden \u00f6t\u00fcr\u00fc koyuyorsan hata raporunu koyma .
+bugreport.dlg.failedmsg1 = OpenRocket hata raporunu g\u00f6ndermek i\u00e7in uygun de\u011fil:
+bugreport.dlg.failedmsg2 = L\u00fctfen manual bir yolla g\u00f6nder
+bugreport.dlg.failedmsg3 = Hata raporu g\u00f6nderiliyor
+bugreport.reportDialog.txt = OpenRocket i\u00e7erisindeki hatalar\u0131
+form doldurarak yollayabilirsiniz.
Hatta hatalar\u0131 dosyalay\u0131p internet sitesi
+\u00fczerinde proje sayfas\u0131na koyabilirsin.
+bugreport.reportDialog.txt2 = L\u00fctfen belirtiniz tam olarak nas\u0131l bir beklentiniz vard\u0131
+bugreport.dlg.provideDescription = L\u00fctfen Hatay\u0131 ilk ne zaman rastlad\u0131n\u0131z tam olarak a\u00e7\u0131klay\u0131n\u0131z
+bugreport.dlg.provideDescription.title = Hata tan\u0131m\u0131 kayboluyor
\ No newline at end of file
diff --git a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java
index 5b03fc056..50ef74b16 100644
--- a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java
+++ b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java
@@ -42,7 +42,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences {
private static final List SUPPORTED_LOCALES;
static {
List list = new ArrayList();
- for (String lang : new String[] { "en", "de", "es", "fr", "it", "ru", "cs", "pl", "ja", "pt" }) {
+ for (String lang : new String[] { "en", "de", "es", "fr", "it", "ru", "cs", "pl", "ja", "pt", "tr" }) {
list.add(new Locale(lang));
}
list.add(new Locale("zh","CN"));