diff --git a/config.json b/config.json
index ff0976c6..7ce909ec 100644
--- a/config.json
+++ b/config.json
@@ -3,7 +3,8 @@
"listen_url" : "0.0.0.0:3333",
"use_tls" : false,
"cert_path" : "gophish_admin.crt",
- "key_path" : "gophish_admin.key"
+ "key_path" : "gophish_admin.key",
+ "languge": "tr-TR"
},
"phish_server" : {
"listen_url" : "0.0.0.0:80",
@@ -13,5 +14,6 @@
},
"db_name" : "sqlite3",
"db_path" : "gophish.db",
- "migrations_prefix" : "db/db_"
+ "migrations_prefix" : "db/db_",
+ "language": "tr"
}
diff --git a/config/config.go b/config/config.go
index 74588b9f..78d3c137 100644
--- a/config/config.go
+++ b/config/config.go
@@ -12,6 +12,7 @@ type AdminServer struct {
UseTLS bool `json:"use_tls"`
CertPath string `json:"cert_path"`
KeyPath string `json:"key_path"`
+ Language string `json:"languge"`
}
// PhishServer represents the Phish server configuration details
diff --git a/controllers/api.go b/controllers/api.go
index cb8f08a1..ad4828bd 100644
--- a/controllers/api.go
+++ b/controllers/api.go
@@ -435,7 +435,7 @@ func API_Pages_Id(w http.ResponseWriter, r *http.Request) {
p.UserId = ctx.Get(r, "user_id").(int64)
err = models.PutPage(&p)
if err != nil {
- JSONResponse(w, models.Response{Success: false, Message: util.T("Error updating page: " + err.Error())}, http.StatusInternalServerError)
+ JSONResponse(w, models.Response{Success: false, Message: util.T("Error updating page:") + " " + err.Error()}, http.StatusInternalServerError)
return
}
JSONResponse(w, p, http.StatusOK)
diff --git a/controllers/route.go b/controllers/route.go
index e08167cc..bced8891 100644
--- a/controllers/route.go
+++ b/controllers/route.go
@@ -429,7 +429,7 @@ func Settings(w http.ResponseWriter, r *http.Request) {
getTemplate(w, "settings").ExecuteTemplate(w, "base", params)
case r.Method == "POST":
err := auth.ChangePassword(r)
- msg := models.Response{Success: true, Message: "Settings Updated Successfully"}
+ msg := models.Response{Success: true, Message: util.T("Settings Updated Successfully")}
if err == auth.ErrInvalidPassword {
msg.Message = "Invalid Password"
msg.Success = false
@@ -480,7 +480,7 @@ func Login(w http.ResponseWriter, r *http.Request) {
session.Save(r, w)
http.Redirect(w, r, "/", 302)
} else {
- Flash(w, r, "danger", "Invalid Username/Password")
+ Flash(w, r, "danger", util.T("Invalid Username/Password"))
http.Redirect(w, r, "/login", 302)
}
}
@@ -492,14 +492,14 @@ func Logout(w http.ResponseWriter, r *http.Request) {
// Now that we are all registered, we can log the user in
session := ctx.Get(r, "session").(*sessions.Session)
delete(session.Values, "id")
- Flash(w, r, "success", "You have successfully logged out")
+ Flash(w, r, "success", util.T("You have successfully logged out"))
http.Redirect(w, r, "/login", 302)
}
// Preview allows for the viewing of page html in a separate browser window
func Preview(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
- http.Error(w, "Method not allowed", http.StatusBadRequest)
+ http.Error(w, util.T("Method not allowed"), http.StatusBadRequest)
return
}
fmt.Fprintf(w, "%s", r.FormValue("html"))
@@ -509,13 +509,13 @@ func Preview(w http.ResponseWriter, r *http.Request) {
func Clone(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
if r.Method != "POST" {
- http.Error(w, "Method not allowed", http.StatusBadRequest)
+ http.Error(w, util.T("Method not allowed"), http.StatusBadRequest)
return
}
if url, ok := vars["url"]; ok {
Logger.Println(url)
}
- http.Error(w, "No URL given.", http.StatusBadRequest)
+ http.Error(w, util.T("No URL given."), http.StatusBadRequest)
}
func getTemplate(w http.ResponseWriter, tmpl string) *template.Template {
diff --git a/gophish.go b/gophish.go
index 0b9e0de0..c860ba22 100644
--- a/gophish.go
+++ b/gophish.go
@@ -35,25 +35,26 @@ import (
"github.com/NYTimes/gziphandler"
"github.com/gophish/gophish/auth"
- "github.com/gophish/gophish/config"
+ "./config"
"./controllers"
"github.com/gophish/gophish/models"
"./util"
"github.com/gorilla/handlers"
- "github.com/nicksnyder/go-i18n/i18n"
+// "github.com/nicksnyder/go-i18n/i18n"
)
var Logger = log.New(os.Stdout, " ", log.Ldate|log.Ltime|log.Lshortfile)
func main() {
// Setup the global variables and settings
- i18n.MustLoadTranslationFile("translations/en-US.all.json")
err := models.Setup()
if err != nil {
fmt.Println(err)
}
wg := &sync.WaitGroup{}
wg.Add(1)
+
+ util.ChangeLang(config.Conf.AdminConf.Language)
// Start the web servers
go func() {
defer wg.Done()
diff --git a/middleware/middleware.go b/middleware/middleware.go
index 5756caa1..018a9b50 100644
--- a/middleware/middleware.go
+++ b/middleware/middleware.go
@@ -10,6 +10,7 @@ import (
ctx "github.com/gophish/gophish/context"
"github.com/gophish/gophish/models"
"github.com/gorilla/csrf"
+ "../util"
)
var CSRFExemptPrefixes = []string{
@@ -36,7 +37,7 @@ func GetContext(handler http.Handler) http.HandlerFunc {
// Parse the request form
err := r.ParseForm()
if err != nil {
- http.Error(w, "Error parsing request", http.StatusInternalServerError)
+ http.Error(w, util.T("Error parsing request"), http.StatusInternalServerError)
}
// Set the context appropriately here.
// Set the session
@@ -77,7 +78,7 @@ func RequireAPIKey(handler http.Handler) http.HandlerFunc {
} else {
u, err := models.GetUserByAPIKey(ak)
if err != nil {
- JSONError(w, 400, "Invalid API Key")
+ JSONError(w, 400, util.T("Invalid API Key"))
return
}
r = ctx.Set(r, "user_id", u.Id)
diff --git a/static/js/src/app/dashboard.js b/static/js/src/app/dashboard.js
index 7aa0709b..1c41cd02 100644
--- a/static/js/src/app/dashboard.js
+++ b/static/js/src/app/dashboard.js
@@ -135,7 +135,7 @@ $(document).ready(function() {
var $point = $(this)
value = $point.attr('ct:value') || 0
cidx = $point.attr('ct:meta')
- $toolTip.html(campaigns[cidx].name + '
' + T("Successes:" + " " + value.toString() + "%").show();
+ $toolTip.html(campaigns[cidx].name + '
' + T("Successes:") + " " + value.toString() + "%").show();
});
$chart.on('mouseleave', '.ct-point', function() {
diff --git a/templates/campaign_results.html b/templates/campaign_results.html
index 5e5442dd..37bcc19f 100644
--- a/templates/campaign_results.html
+++ b/templates/campaign_results.html
@@ -32,7 +32,7 @@
-
+
diff --git a/templates/users.html b/templates/users.html
index 0dde962d..a9c2a466 100644
--- a/templates/users.html
+++ b/templates/users.html
@@ -130,5 +130,5 @@
"Error fetching groups": "{{T "Error fetching groups"}}"
}
-
+
{{end}}
diff --git a/translations/en-us.all.json b/translations/en-us.all.json
new file mode 100644
index 00000000..dc9a0bf3
--- /dev/null
+++ b/translations/en-us.all.json
@@ -0,0 +1,1070 @@
+[
+ {
+ "id": "Invalid Username/Password",
+ "translation": "CHANGED - Invalid Username/Password"
+ },
+ {
+ "id": "You have successfully logged out",
+ "translation": "CHANGED - You have successfully logged out"
+ },
+ {
+ "id": "Method not allowed",
+ "translation": "CHANGED - Method not allowed"
+ },
+ {
+ "id": "Settings Updated Successfully",
+ "translation": "CHANGED - Settings Updated Successfully"
+ },
+ {
+ "id": "Error parsing request",
+ "translation": "CHANGED - Error parsing request"
+ },
+ {
+ "id": "Add",
+ "translation": "CHANGED - Add"
+ },
+ {
+ "id": "Add Files",
+ "translation": "CHANGED - Add Files"
+ },
+ {
+ "id": "Add Tracking Image",
+ "translation": "CHANGED - Add Tracking Image"
+ },
+ {
+ "id": "Add User",
+ "translation": "CHANGED - Add User"
+ },
+ {
+ "id": "API Documentation",
+ "translation": "CHANGED - API Documentation"
+ },
+ {
+ "id": "API Key",
+ "translation": "CHANGED - API Key"
+ },
+ {
+ "id": "Average Phishing Results",
+ "translation": "CHANGED - Average Phishing Results"
+ },
+ {
+ "id": "Back",
+ "translation": "CHANGED - Back"
+ },
+ {
+ "id": "Bulk Import Users",
+ "translation": "CHANGED - Bulk Import Users"
+ },
+ {
+ "id": "Warning: Credentials are currently not encrypted. This means that captured passwords are stored in the database as cleartext. Be careful with this!",
+ "translation": "CHANGED - Warning: Credentials are currently not encrypted. This means that captured passwords are stored in the database as cleartext. Be careful with this!"
+ },
+ {
+ "id": "Campaign name",
+ "translation": "CHANGED - Campaign name"
+ },
+ {
+ "id": "Campaigns",
+ "translation": "CHANGED - Campaigns"
+ },
+ {
+ "id": "Campaign Timeline",
+ "translation": "CHANGED - Campaign Timeline"
+ },
+ {
+ "id": "Cancel",
+ "translation": "CHANGED - Cancel"
+ },
+ {
+ "id": "Capture Passwords",
+ "translation": "CHANGED - Capture Passwords"
+ },
+ {
+ "id": "Capture Submitted Data",
+ "translation": "CHANGED - Capture Submitted Data"
+ },
+ {
+ "id": "Change Links to Point to Landing Page",
+ "translation": "CHANGED - Change Links to Point to Landing Page"
+ },
+ {
+ "id": "Close",
+ "translation": "CHANGED - Close"
+ },
+ {
+ "id": "Complete",
+ "translation": "CHANGED - Complete"
+ },
+ {
+ "id": "Confirm New Password",
+ "translation": "CHANGED - Confirm New Password"
+ },
+ {
+ "id": "Content",
+ "translation": "CHANGED - Content"
+ },
+ {
+ "id": "Created Date",
+ "translation": "CHANGED - Created Date"
+ },
+ {
+ "id": "Dashboard",
+ "translation": "CHANGED - Dashboard"
+ },
+ {
+ "id": "Delete",
+ "translation": "CHANGED - Delete"
+ },
+ {
+ "id": "Details",
+ "translation": "CHANGED - Details"
+ },
+ {
+ "id": "Email",
+ "translation": "CHANGED - Email"
+ },
+ {
+ "id": "Email Content",
+ "translation": "CHANGED - Email Content"
+ },
+ {
+ "id": "Email Status",
+ "translation": "CHANGED - Email Status"
+ },
+ {
+ "id": "Email Subject",
+ "translation": "CHANGED - Email Subject"
+ },
+ {
+ "id": "Email Template",
+ "translation": "CHANGED - Email Template"
+ },
+ {
+ "id": "Email Templates",
+ "translation": "CHANGED - Email Templates"
+ },
+ {
+ "id": "Export CSV",
+ "translation": "CHANGED - Export CSV"
+ },
+ {
+ "id": "First Last ",
+ "translation": "CHANGED - First Last "
+ },
+ {
+ "id": "First Name",
+ "translation": "CHANGED - First Name"
+ },
+ {
+ "id": "From",
+ "translation": "CHANGED - From"
+ },
+ {
+ "id": "Gophish version",
+ "translation": "CHANGED - Gophish version"
+ },
+ {
+ "id": "Group name",
+ "translation": "CHANGED - Group name"
+ },
+ {
+ "id": "Groups",
+ "translation": "CHANGED - Groups"
+ },
+ {
+ "id": "Host",
+ "translation": "CHANGED - Host"
+ },
+ {
+ "id": "HTML",
+ "translation": "CHANGED - HTML"
+ },
+ {
+ "id": "http://example.com",
+ "translation": "CHANGED - http://example.com"
+ },
+ {
+ "id": "http://google.com",
+ "translation": "CHANGED - http://google.com"
+ },
+ {
+ "id": "If the landing page contains a form, submitted input (except passwords!) will be captured.",
+ "translation": "CHANGED - If the landing page contains a form, submitted input (except passwords!) will be captured."
+ },
+ {
+ "id": "Ignore Certificate Errors",
+ "translation": "CHANGED - Ignore Certificate Errors"
+ },
+ {
+ "id": "Ignore common certificate errors such as self-signed certs (exposes you to MiTM attacks - use carefully!)",
+ "translation": "CHANGED - Ignore common certificate errors such as self-signed certs (exposes you to MiTM attacks - use carefully!)"
+ },
+ {
+ "id": "Import",
+ "translation": "CHANGED - Import"
+ },
+ {
+ "id": "Import Email",
+ "translation": "CHANGED - Import Email"
+ },
+ {
+ "id": "Import Site",
+ "translation": "CHANGED - Import Site"
+ },
+ {
+ "id": "Interface Type",
+ "translation": "CHANGED - Interface Type"
+ },
+ {
+ "id": "Landing Page",
+ "translation": "CHANGED - Landing Page"
+ },
+ {
+ "id": "Landing Pages",
+ "translation": "CHANGED - Landing Pages"
+ },
+ {
+ "id": "Last Modified Date",
+ "translation": "CHANGED - Last Modified Date"
+ },
+ {
+ "id": "Last Name",
+ "translation": "CHANGED - Last Name"
+ },
+ {
+ "id": "Launch Campaign",
+ "translation": "CHANGED - Launch Campaign"
+ },
+ {
+ "id": "Location of gophish listener (must be reachable by targets!)",
+ "translation": "CHANGED - Location of gophish listener (must be reachable by targets!)"
+ },
+ {
+ "id": "Login",
+ "translation": "CHANGED - Login"
+ },
+ {
+ "id": "Modified Date",
+ "translation": "CHANGED - Modified Date"
+ },
+ {
+ "id": "Name",
+ "translation": "CHANGED - Name"
+ },
+ {
+ "id": "New Campaign",
+ "translation": "CHANGED - New Campaign"
+ },
+ {
+ "id": "New Group",
+ "translation": "CHANGED - New Group"
+ },
+ {
+ "id": "New Landing Page",
+ "translation": "CHANGED - New Landing Page"
+ },
+ {
+ "id": "New Page",
+ "translation": "CHANGED - New Page"
+ },
+ {
+ "id": "New Password",
+ "translation": "CHANGED - New Password"
+ },
+ {
+ "id": "New Profile",
+ "translation": "CHANGED - New Profile"
+ },
+ {
+ "id": "New Sending Profile",
+ "translation": "CHANGED - New Sending Profile"
+ },
+ {
+ "id": "New Template",
+ "translation": "CHANGED - New Template"
+ },
+ {
+ "id": "No campaigns created yet. Let's create one!",
+ "translation": "CHANGED - No campaigns created yet. Let's create one!"
+ },
+ {
+ "id": "No groups created yet. Let's create one!",
+ "translation": "CHANGED - No groups created yet. Let's create one!"
+ },
+ {
+ "id": "No pages created yet. Let's create one!",
+ "translation": "CHANGED - No pages created yet. Let's create one!"
+ },
+ {
+ "id": "No profiles created yet. Let's create one!",
+ "translation": "CHANGED - No profiles created yet. Let's create one!"
+ },
+ {
+ "id": "No templates yet. Let's create one!",
+ "translation": "CHANGED - No templates yet. Let's create one!"
+ },
+ {
+ "id": "# of Members",
+ "translation": "CHANGED - # of Members"
+ },
+ {
+ "id": "Old Password",
+ "translation": "CHANGED - Old Password"
+ },
+ {
+ "id": "Overview",
+ "translation": "CHANGED - Overview"
+ },
+ {
+ "id": "Page name",
+ "translation": "CHANGED - Page name"
+ },
+ {
+ "id": "Password",
+ "translation": "CHANGED - Password"
+ },
+ {
+ "id": "Phishing Success Overview",
+ "translation": "CHANGED - Phishing Success Overview"
+ },
+ {
+ "id": "Plaintext",
+ "translation": "CHANGED - Plaintext"
+ },
+ {
+ "id": "Please register below",
+ "translation": "CHANGED - Please register below"
+ },
+ {
+ "id": "Please sign in",
+ "translation": "CHANGED - Please sign in"
+ },
+ {
+ "id": "Position",
+ "translation": "CHANGED - Position"
+ },
+ {
+ "id": "Raw Email Source",
+ "translation": "CHANGED - Raw Email Source"
+ },
+ {
+ "id": "Raw Events",
+ "translation": "CHANGED - Raw Events"
+ },
+ {
+ "id": "Recent Campaigns",
+ "translation": "CHANGED - Recent Campaigns"
+ },
+ {
+ "id": "Redirect to",
+ "translation": "CHANGED - Redirect to"
+ },
+ {
+ "id": "Refreshing",
+ "translation": "CHANGED - Refreshing"
+ },
+ {
+ "id": "Register",
+ "translation": "CHANGED - Register"
+ },
+ {
+ "id": "Register a New User",
+ "translation": "CHANGED - Register a New User"
+ },
+ {
+ "id": "Reset",
+ "translation": "CHANGED - Reset"
+ },
+ {
+ "id": "Result ID",
+ "translation": "CHANGED - Result ID"
+ },
+ {
+ "id": "Results",
+ "translation": "CHANGED - Results"
+ },
+ {
+ "id": "Results for campaign.name",
+ "translation": "CHANGED - Results for campaign.name"
+ },
+ {
+ "id": "Save",
+ "translation": "CHANGED - Save"
+ },
+ {
+ "id": "Save changes",
+ "translation": "CHANGED - Save changes"
+ },
+ {
+ "id": "Save Page",
+ "translation": "CHANGED - Save Page"
+ },
+ {
+ "id": "Save Profile",
+ "translation": "CHANGED - Save Profile"
+ },
+ {
+ "id": "Save Template",
+ "translation": "CHANGED - Save Template"
+ },
+ {
+ "id": "Schedule",
+ "translation": "CHANGED - Schedule"
+ },
+ {
+ "id": "Select a Landing Page",
+ "translation": "CHANGED - Select a Landing Page"
+ },
+ {
+ "id": "Send",
+ "translation": "CHANGED - Send"
+ },
+ {
+ "id": "Sending Profile",
+ "translation": "CHANGED - Sending Profile"
+ },
+ {
+ "id": "Sending Profiles",
+ "translation": "CHANGED - Sending Profiles"
+ },
+ {
+ "id": "Send Test Email",
+ "translation": "CHANGED - Send Test Email"
+ },
+ {
+ "id": "Send Test Email to",
+ "translation": "CHANGED - Send Test Email to"
+ },
+ {
+ "id": "Settings",
+ "translation": "CHANGED - Settings"
+ },
+ {
+ "id": "Sign in",
+ "translation": "CHANGED - Sign in"
+ },
+ {
+ "id": "SMTP",
+ "translation": "CHANGED - SMTP"
+ },
+ {
+ "id": "smtp.example.com:25",
+ "translation": "CHANGED - smtp.example.com:25"
+ },
+ {
+ "id": "Status",
+ "translation": "CHANGED - Status"
+ },
+ {
+ "id": "Subject",
+ "translation": "CHANGED - Subject"
+ },
+ {
+ "id": "Successful Phishes",
+ "translation": "CHANGED - Successful Phishes"
+ },
+ {
+ "id": "Supports CSV files",
+ "translation": "CHANGED - Supports CSV files"
+ },
+ {
+ "id": "Targets Map",
+ "translation": "CHANGED - Targets Map"
+ },
+ {
+ "id": "Template Name",
+ "translation": "CHANGED - Template Name"
+ },
+ {
+ "id": "Text",
+ "translation": "CHANGED - Text"
+ },
+ {
+ "id": "This option lets you redirect the user to a page after credentials are submitted.",
+ "translation": "CHANGED - This option lets you redirect the user to a page after credentials are submitted."
+ },
+ {
+ "id": "Toggle navigation",
+ "translation": "CHANGED - Toggle navigation"
+ },
+ {
+ "id": "Type",
+ "translation": "CHANGED - Type"
+ },
+ {
+ "id": "Unsuccessful Phishes",
+ "translation": "CHANGED - Unsuccessful Phishes"
+ },
+ {
+ "id": "URL",
+ "translation": "CHANGED - URL"
+ },
+ {
+ "id": "User Guide",
+ "translation": "CHANGED - User Guide"
+ },
+ {
+ "id": "Username",
+ "translation": "CHANGED - Username"
+ },
+ {
+ "id": "Users & Groups",
+ "translation": "CHANGED - Users & Groups"
+ },
+ {
+ "id": "View All",
+ "translation": "CHANGED - View All"
+ },
+ {
+ "id": "Are you sure?",
+ "translation": "CHANGED - Are you sure?"
+ },
+ {
+ "id": "Campaign Completed!",
+ "translation": "CHANGED - Campaign Completed!"
+ },
+ {
+ "id": "Campaign Created",
+ "translation": "CHANGED - Campaign Created"
+ },
+ {
+ "id": "Campaign Deleted!",
+ "translation": "CHANGED - Campaign Deleted!"
+ },
+ {
+ "id": "Campaign not found!",
+ "translation": "CHANGED - Campaign not found!"
+ },
+ {
+ "id": "Campaign Scheduled!",
+ "translation": "CHANGED - Campaign Scheduled!"
+ },
+ {
+ "id": "Clicked Link",
+ "translation": "CHANGED - Clicked Link"
+ },
+ {
+ "id": "Complete Campaign",
+ "translation": "CHANGED - Complete Campaign"
+ },
+ {
+ "id": "Completed!",
+ "translation": "CHANGED - Completed!"
+ },
+ {
+ "id": "Completed",
+ "translation": "CHANGED - Completed"
+ },
+ {
+ "id": "Copy Campaign",
+ "translation": "CHANGED - Copy Campaign"
+ },
+ {
+ "id": "Copy of",
+ "translation": "CHANGED - Copy of"
+ },
+ {
+ "id": "Copy Page",
+ "translation": "CHANGED - Copy Page"
+ },
+ {
+ "id": "Copy Profile",
+ "translation": "CHANGED - Copy Profile"
+ },
+ {
+ "id": "Copy Template",
+ "translation": "CHANGED - Copy Template"
+ },
+ {
+ "id": "Delete",
+ "translation": "CHANGED - Delete"
+ },
+ {
+ "id": "Delete Campaign",
+ "translation": "CHANGED - Delete Campaign"
+ },
+ {
+ "id": "Delete Page",
+ "translation": "CHANGED - Delete Page"
+ },
+ {
+ "id": "Delete Profile",
+ "translation": "CHANGED - Delete Profile"
+ },
+ {
+ "id": "Delete Template",
+ "translation": "CHANGED - Delete Template"
+ },
+ {
+ "id": "Edit Page",
+ "translation": "CHANGED - Edit Page"
+ },
+ {
+ "id": "Edit Profile",
+ "translation": "CHANGED - Edit Profile"
+ },
+ {
+ "id": "Edit Template",
+ "translation": "CHANGED - Edit Template"
+ },
+ {
+ "id": "Email:",
+ "translation": "CHANGED - Email:"
+ },
+ {
+ "id": "Email",
+ "translation": "CHANGED - Email"
+ },
+ {
+ "id": "Email Opened",
+ "translation": "CHANGED - Email Opened"
+ },
+ {
+ "id": "Email Sent!",
+ "translation": "CHANGED - Email Sent!"
+ },
+ {
+ "id": "Email Sent",
+ "translation": "CHANGED - Email Sent"
+ },
+ {
+ "id": "Emails Sent",
+ "translation": "CHANGED - Emails Sent"
+ },
+ {
+ "id": "Error",
+ "translation": "CHANGED - Error"
+ },
+ {
+ "id": "Error fetching campaigns",
+ "translation": "CHANGED - Error fetching campaigns"
+ },
+ {
+ "id": "Error fetching group",
+ "translation": "CHANGED - Error fetching group"
+ },
+ {
+ "id": "Error fetching groups",
+ "translation": "CHANGED - Error fetching groups"
+ },
+ {
+ "id": "Error fetching pages",
+ "translation": "CHANGED - Error fetching pages"
+ },
+ {
+ "id": "Error fetching profiles",
+ "translation": "CHANGED - Error fetching profiles"
+ },
+ {
+ "id": "Error fetching templates",
+ "translation": "CHANGED - Error fetching templates"
+ },
+ {
+ "id": "Error Sending Email",
+ "translation": "CHANGED - Error Sending Email"
+ },
+ {
+ "id": "Events",
+ "translation": "CHANGED - Events"
+ },
+ {
+ "id": "Gophish will stop processing events for this campaign",
+ "translation": "CHANGED - Gophish will stop processing events for this campaign"
+ },
+ {
+ "id": "Group added successfully!",
+ "translation": "CHANGED - Group added successfully!"
+ },
+ {
+ "id": "Group updated successfully!",
+ "translation": "CHANGED - Group updated successfully!"
+ },
+ {
+ "id": "http://example.com/login",
+ "translation": "CHANGED - http://example.com/login"
+ },
+ {
+ "id": "In progress",
+ "translation": "CHANGED - In progress"
+ },
+ {
+ "id": "Invalid URL.",
+ "translation": "CHANGED - Invalid URL."
+ },
+ {
+ "id": "No Content Specified!",
+ "translation": "CHANGED - No Content Specified!"
+ },
+ {
+ "id": "No groups found!",
+ "translation": "CHANGED - No groups found!"
+ },
+ {
+ "id": "No pages found!",
+ "translation": "CHANGED - No pages found!"
+ },
+ {
+ "id": "No profiles found!",
+ "translation": "CHANGED - No profiles found!"
+ },
+ {
+ "id": "No URL Specified!",
+ "translation": "CHANGED - No URL Specified!"
+ },
+ {
+ "id": "Page added successfully!",
+ "translation": "CHANGED - Page added successfully!"
+ },
+ {
+ "id": "Page edited successfully!",
+ "translation": "CHANGED - Page edited successfully!"
+ },
+ {
+ "id": "Parameter",
+ "translation": "CHANGED - Parameter"
+ },
+ {
+ "id": "Profile added successfully!",
+ "translation": "CHANGED - Profile added successfully!"
+ },
+ {
+ "id": "Profile edited successfully!",
+ "translation": "CHANGED - Profile edited successfully!"
+ },
+ {
+ "id": "Queued",
+ "translation": "CHANGED - Queued"
+ },
+ {
+ "id": "Replay Credentials",
+ "translation": "CHANGED - Replay Credentials"
+ },
+ {
+ "id": "Select a Landing Page",
+ "translation": "CHANGED - Select a Landing Page"
+ },
+ {
+ "id": "Select a Sending Profile",
+ "translation": "CHANGED - Select a Sending Profile"
+ },
+ {
+ "id": "Select a Template",
+ "translation": "CHANGED - Select a Template"
+ },
+ {
+ "id": "Select Groups",
+ "translation": "CHANGED - Select Groups"
+ },
+ {
+ "id": "Sending",
+ "translation": "CHANGED - Sending"
+ },
+ {
+ "id": "Submitted Data",
+ "translation": "CHANGED - Submitted Data"
+ },
+ {
+ "id": "Success",
+ "translation": "CHANGED - Success"
+ },
+ {
+ "id": "Successes",
+ "translation": "CHANGED - Successes"
+ },
+ {
+ "id": "Successful Phishes",
+ "translation": "CHANGED - Successful Phishes"
+ },
+ {
+ "id": "Template added successfully!",
+ "translation": "CHANGED - Template added successfully!"
+ },
+ {
+ "id": "Template edited successfully!",
+ "translation": "CHANGED - Template edited successfully!"
+ },
+ {
+ "id": "This campaign has been deleted!",
+ "translation": "CHANGED - This campaign has been deleted!"
+ },
+ {
+ "id": "This campaign has been scheduled for launch!",
+ "translation": "CHANGED - This campaign has been scheduled for launch!"
+ },
+ {
+ "id": "This will delete the campaign. This can't be undone!",
+ "translation": "CHANGED - This will delete the campaign. This can't be undone!"
+ },
+ {
+ "id": "This will schedule the campaign to be launched.",
+ "translation": "CHANGED - This will schedule the campaign to be launched."
+ },
+ {
+ "id": "Timeline for",
+ "translation": "CHANGED - Timeline for"
+ },
+ {
+ "id": "Unknown",
+ "translation": "CHANGED - Unknown"
+ },
+ {
+ "id": "Unsuccessful Phishes",
+ "translation": "CHANGED - Unsuccessful Phishes"
+ },
+ {
+ "id": "Unsupported file extension (use .csv or .txt)",
+ "translation": "CHANGED - Unsupported file extension (use .csv or .txt)"
+ },
+ {
+ "id": "Value(s)",
+ "translation": "CHANGED - Value(s)"
+ },
+ {
+ "id": "View Details",
+ "translation": "CHANGED - View Details"
+ },
+ {
+ "id": "View Results",
+ "translation": "CHANGED - View Results"
+ },
+ {
+ "id": "Where do you want the credentials submitted to?",
+ "translation": "CHANGED - Where do you want the credentials submitted to?"
+ },
+ {
+ "id": "username already taken",
+ "translation": "CHNAGED - username already taken"
+ },
+ {
+ "id": "Page Name not specified",
+ "translation": "CHNAGED - Page Name not specified"
+ },
+ {
+ "id": "username already taken",
+ "translation": "CHNAGED - username already taken"
+ },
+ {
+ "id": "Page Name not specified",
+ "translation": "CHNAGED - Page Name not specified"
+ },
+ {
+ "id": "No email address specified",
+ "translation": "CHNAGED - No email address specified"
+ },
+ {
+ "id": "Group name not specified",
+ "translation": "CHNAGED - Group name not specified"
+ },
+ {
+ "id": "No targets specified",
+ "translation": "CHNAGED - No targets specified"
+ },
+ {
+ "id": "Campaign name not specified",
+ "translation": "CHNAGED - Campaign name not specified"
+ },
+ {
+ "id": "No groups specified",
+ "translation": "CHNAGED - No groups specified"
+ },
+ {
+ "id": "No email template specified",
+ "translation": "CHNAGED - No email template specified"
+ },
+ {
+ "id": "No landing page specified",
+ "translation": "CHNAGED - No landing page specified"
+ },
+ {
+ "id": "No sending profile specified",
+ "translation": "CHNAGED - No sending profile specified"
+ },
+ {
+ "id": "Template not found",
+ "translation": "CHNAGED - Template not found"
+ },
+ {
+ "id": "Group not found",
+ "translation": "CHNAGED - Group not found"
+ },
+ {
+ "id": "Page not found",
+ "translation": "CHNAGED - Page not found"
+ },
+ {
+ "id": "Sending profile not found",
+ "translation": "CHNAGED - Sending profile not found"
+ },
+ {
+ "id": "Template name not specified",
+ "translation": "CHNAGED - Template name not specified"
+ },
+ {
+ "id": "Need to specify at least plaintext or HTML content",
+ "translation": "CHNAGED - Need to specify at least plaintext or HTML content"
+ },
+ {
+ "id": "No From Address specified",
+ "translation": "CHNAGED - No From Address specified"
+ },
+ {
+ "id": "No SMTP Host specified",
+ "translation": "CHNAGED - No SMTP Host specified"
+ },
+ {
+ "id": "Invalid SMTP server address",
+ "translation": "CHNAGED - Invalid SMTP server address"
+ },
+ {
+ "id": "API Key successfully reset!",
+ "translation": "CHNAGED - API Key successfully reset!"
+ },
+ {
+ "id": "Binary file gophish matches",
+ "translation": "CHNAGED - Binary file gophish matches"
+ },
+ {
+ "id": "Campaign completed successfully!",
+ "translation": "CHNAGED - Campaign completed successfully!"
+ },
+ {
+ "id": "Campaign deleted successfully!",
+ "translation": "CHNAGED - Campaign deleted successfully!"
+ },
+ {
+ "id": "Campaign not found",
+ "translation": "CHNAGED - Campaign not found"
+ },
+ {
+ "id": "Email Sent",
+ "translation": "CHNAGED - Email Sent"
+ },
+ {
+ "id": "Error completing campaign",
+ "translation": "CHNAGED - Error completing campaign"
+ },
+ {
+ "id": "Error decoding JSON Request",
+ "translation": "CHNAGED - Error decoding JSON Request"
+ },
+ {
+ "id": "Error deleting campaign",
+ "translation": "CHNAGED - Error deleting campaign"
+ },
+ {
+ "id": "Error deleting group",
+ "translation": "CHNAGED - Error deleting group"
+ },
+ {
+ "id": "Error deleting page",
+ "translation": "CHNAGED - Error deleting page"
+ },
+ {
+ "id": "Error deleting SMTP",
+ "translation": "CHNAGED - Error deleting SMTP"
+ },
+ {
+ "id": "Error deleting template",
+ "translation": "CHNAGED - Error deleting template"
+ },
+ {
+ "id": "Error: /:id and group_id mismatch",
+ "translation": "CHNAGED - Error: /:id and group_id mismatch"
+ },
+ {
+ "id": "Error: /:id and template_id mismatch",
+ "translation": "CHNAGED - Error: /:id and template_id mismatch"
+ },
+ {
+ "id": "Error inserting template into database",
+ "translation": "CHNAGED - Error inserting template into database"
+ },
+ {
+ "id": "Error parsing CSV",
+ "translation": "CHNAGED - Error parsing CSV"
+ },
+ {
+ "id": "Error setting API Key",
+ "translation": "CHNAGED - Error setting API Key"
+ },
+ {
+ "id": "Error updating page",
+ "translation": "CHNAGED - Error updating page"
+ },
+ {
+ "id": "Error updating page:",
+ "translation": "CHNAGED - Error updating page:"
+ },
+ {
+ "id": "Group deleted successfully!",
+ "translation": "CHNAGED - Group deleted successfully!"
+ },
+ {
+ "id": "Group name already in use",
+ "translation": "CHNAGED - Group name already in use"
+ },
+ {
+ "id": "Group not found",
+ "translation": "CHNAGED - Group not found"
+ },
+ {
+ "id": "/:id and /:page_id mismatch",
+ "translation": "CHNAGED - /:id and /:page_id mismatch"
+ },
+ {
+ "id": "/:id and /:smtp_id mismatch",
+ "translation": "CHNAGED - /:id and /:smtp_id mismatch"
+ },
+ {
+ "id": "Invalid JSON structure",
+ "translation": "CHNAGED - Invalid JSON structure"
+ },
+ {
+ "id": "Invalid request",
+ "translation": "CHNAGED - Invalid request"
+ },
+ {
+ "id": "Method not allowed",
+ "translation": "CHNAGED - Method not allowed"
+ },
+ {
+ "id": "No groups found",
+ "translation": "CHNAGED - No groups found"
+ },
+ {
+ "id": "Page Deleted Successfully",
+ "translation": "CHNAGED - Page Deleted Successfully"
+ },
+ {
+ "id": "Page name already in use",
+ "translation": "CHNAGED - Page name already in use"
+ },
+ {
+ "id": "Page not found",
+ "translation": "CHNAGED - Page not found"
+ },
+ {
+ "id": "SMTP Deleted Successfully",
+ "translation": "CHNAGED - SMTP Deleted Successfully"
+ },
+ {
+ "id": "SMTP name already in use",
+ "translation": "CHNAGED - SMTP name already in use"
+ },
+ {
+ "id": "SMTP not found",
+ "translation": "CHNAGED - SMTP not found"
+ },
+ {
+ "id": "Template deleted successfully!",
+ "translation": "CHNAGED - Template deleted successfully!"
+ },
+ {
+ "id": "Template name already in use",
+ "translation": "CHNAGED - Template name already in use"
+ },
+ {
+ "id": "Template not found",
+ "translation": "CHNAGED - Template not found"
+ }
+]
diff --git a/translations/tr-tr.all.json b/translations/tr-tr.all.json
new file mode 100644
index 00000000..4eded9af
--- /dev/null
+++ b/translations/tr-tr.all.json
@@ -0,0 +1,1062 @@
+[
+ {
+ "id": "Invalid Username/Password",
+ "translation": "Hatalı Kullanıcı Adı / Şifre"
+ },
+ {
+ "id": "You have successfully logged out",
+ "translation": "Başarı ile çıkış yaptınız"
+ },
+ {
+ "id": "Method not allowed",
+ "translation": "Bu HTTP methoduna izin verilmemekte"
+ },
+ {
+ "id": "Settings Updated Successfully",
+ "translation": "Ayarlarınız başarı ile güncellendi"
+ },
+ {
+ "id": "Error parsing request",
+ "translation": "HTTP Talebi işlenemedi"
+ },
+ {
+ "id": "Add",
+ "translation": "Ekle"
+ },
+ {
+ "id": "Add Files",
+ "translation": "Dosya(lar) Ekle"
+ },
+ {
+ "id": "Add Tracking Image",
+ "translation": "Takip İmajı Ekle"
+ },
+ {
+ "id": "Add User",
+ "translation": "Kullanıcı Ekle"
+ },
+ {
+ "id": "API Documentation",
+ "translation": "API Dökümantasyonu"
+ },
+ {
+ "id": "API Key",
+ "translation": "API Anahatrı"
+ },
+ {
+ "id": "Average Phishing Results",
+ "translation": "Ortalama Phishing Sonuçları"
+ },
+ {
+ "id": "Back",
+ "translation": "Geri"
+ },
+ {
+ "id": "Bulk Import Users",
+ "translation": "Toplu Kullanıcı Yükleme"
+ },
+ {
+ "id": "Warning: Credentials are currently not encrypted. This means that captured passwords are stored in the database as cleartext. Be careful with this!",
+ "translation": "Uyarı: Yakalnmış şifreler açık metin olarak saklanacaktır. Bu özellik ile dikkatli olunuz!"
+ },
+ {
+ "id": "Campaign name",
+ "translation": "Kampanya ismi"
+ },
+ {
+ "id": "Campaigns",
+ "translation": "Kampanyalar"
+ },
+ {
+ "id": "Campaign Timeline",
+ "translation": "Kampanya Zaman Çizelgesi"
+ },
+ {
+ "id": "Cancel",
+ "translation": "İptal"
+ },
+ {
+ "id": "Capture Passwords",
+ "translation": "Şifreleri de Yakala"
+ },
+ {
+ "id": "Capture Submitted Data",
+ "translation": "Gönderilmiş Verileri Yakala"
+ },
+ {
+ "id": "Change Links to Point to Landing Page",
+ "translation": "Website Temasının Adresini İçerikteki İle Değiştir"
+ },
+ {
+ "id": "Close",
+ "translation": "Kapat"
+ },
+ {
+ "id": "Complete",
+ "translation": "Tamamla"
+ },
+ {
+ "id": "Confirm New Password",
+ "translation": "Yeni Şifrenin Tekrarı"
+ },
+ {
+ "id": "Content",
+ "translation": "İçerik"
+ },
+ {
+ "id": "Created Date",
+ "translation": "Yaratılma Tarihi"
+ },
+ {
+ "id": "Dashboard",
+ "translation": "Dashboard"
+ },
+ {
+ "id": "Delete",
+ "translation": "Kaldır"
+ },
+ {
+ "id": "Details",
+ "translation": "Detaylar"
+ },
+ {
+ "id": "Email",
+ "translation": "E-posta"
+ },
+ {
+ "id": "Email Content",
+ "translation": "E-posta İçeriği"
+ },
+ {
+ "id": "Email Status",
+ "translation": "E-posa Durumu"
+ },
+ {
+ "id": "Email Subject",
+ "translation": "E-posta Konusu"
+ },
+ {
+ "id": "Email Template",
+ "translation": "E-posta Teması"
+ },
+ {
+ "id": "Email Templates",
+ "translation": "E-posta Temaları"
+ },
+ {
+ "id": "Export CSV",
+ "translation": "CSV Olarak Dışarı Aktar"
+ },
+ {
+ "id": "First Last ",
+ "translation": "İsim Soyad "
+ },
+ {
+ "id": "First Name",
+ "translation": "İsim"
+ },
+ {
+ "id": "From",
+ "translation": "Gönderici"
+ },
+ {
+ "id": "Gophish version",
+ "translation": "Gophish versiyonu"
+ },
+ {
+ "id": "Group name",
+ "translation": "Grup ismi"
+ },
+ {
+ "id": "Groups",
+ "translation": "Gruplar"
+ },
+ {
+ "id": "Host",
+ "translation": "Sunucu"
+ },
+ {
+ "id": "HTML",
+ "translation": "HTML"
+ },
+ {
+ "id": "http://example.com",
+ "translation": "http://ornek.com"
+ },
+ {
+ "id": "http://google.com",
+ "translation": "http://google.com"
+ },
+ {
+ "id": "If the landing page contains a form, submitted input (except passwords!) will be captured.",
+ "translation": "Website temasından gönderilen veriler kayıt edilecektir (şifreler hariç)."
+ },
+ {
+ "id": "Ignore Certificate Errors",
+ "translation": "Sertifika Hatasını Görmezden Gel"
+ },
+ {
+ "id": "Ignore common certificate errors such as self-signed certs (exposes you to MiTM attacks - use carefully!)",
+ "translation": "Genel sertifika hatalarını (örneğin: kendinden imzalanmış sertifika) görmezden gel. Bu özelliği kullanırken dikkatli olun MiTM saldırılarına karşı dayanıksız hale geleceksiniz."
+ },
+ {
+ "id": "Import",
+ "translation": "İçeri Aktar"
+ },
+ {
+ "id": "Import Email",
+ "translation": "E-postayı İçeri Aktar"
+ },
+ {
+ "id": "Import Site",
+ "translation": "Websitesini İçeri Aktar"
+ },
+ {
+ "id": "Interface Type",
+ "translation": "Bağlantı Birimi Tipi"
+ },
+ {
+ "id": "Landing Page",
+ "translation": "Website Teması"
+ },
+ {
+ "id": "Landing Pages",
+ "translation": "Website Temaları"
+ },
+ {
+ "id": "Last Modified Date",
+ "translation": "Son Güncellenme Zamanı"
+ },
+ {
+ "id": "Last Name",
+ "translation": "Soyad"
+ },
+ {
+ "id": "Launch Campaign",
+ "translation": "Kampanyayı Başlat"
+ },
+ {
+ "id": "Location of gophish listener (must be reachable by targets!)",
+ "translation": "Gophish servisinin adresi (hedefler tarafından ulaşılabilir olmalıdır)"
+ },
+ {
+ "id": "Login",
+ "translation": "Giriş"
+ },
+ {
+ "id": "Modified Date",
+ "translation": "Güncellenme Zamanı"
+ },
+ {
+ "id": "Name",
+ "translation": "İsim"
+ },
+ {
+ "id": "New Campaign",
+ "translation": "Yeni Kampanya"
+ },
+ {
+ "id": "New Group",
+ "translation": "Yeni Hedef Grup"
+ },
+ {
+ "id": "New Landing Page",
+ "translation": "Yeni Website Teması"
+ },
+ {
+ "id": "New Page",
+ "translation": "Yeni Website Teması"
+ },
+ {
+ "id": "New Password",
+ "translation": "Yeni Şifre"
+ },
+ {
+ "id": "New Profile",
+ "translation": "Yeni Profil"
+ },
+ {
+ "id": "New Sending Profile",
+ "translation": "Yeni Gönderici Profili"
+ },
+ {
+ "id": "New Template",
+ "translation": "Yeni Tema"
+ },
+ {
+ "id": "No campaigns created yet. Let's create one!",
+ "translation": "Hiçbir kampanya yaratılmamış, hadi yenisini yaratalım."
+ },
+ {
+ "id": "No groups created yet. Let's create one!",
+ "translation": "Hiçbir hedef grup yaratılmamış, hadi yenisini yaratalım."
+ },
+ {
+ "id": "No pages created yet. Let's create one!",
+ "translation": "Hiçbir website teması yaratılmamış, hadi yenisini yaratalım."
+ },
+ {
+ "id": "No profiles created yet. Let's create one!",
+ "translation": "Hiçbir gönderici profili yaratılmamış, hadi yenisini yaratalım."
+ },
+ {
+ "id": "No templates yet. Let's create one!",
+ "translation": "Hiçbir e-posta teması yaratılmamış, hadi yenisini yaratalım."
+ },
+ {
+ "id": "# of Members",
+ "translation": "# Uye Sayısı"
+ },
+ {
+ "id": "Old Password",
+ "translation": "Eski Şifre"
+ },
+ {
+ "id": "Overview",
+ "translation": "Özet"
+ },
+ {
+ "id": "Page name",
+ "translation": "Sayfa İsmi"
+ },
+ {
+ "id": "Password",
+ "translation": "Şifre"
+ },
+ {
+ "id": "Phishing Success Overview",
+ "translation": "Özel Başarı Oranı"
+ },
+ {
+ "id": "Plaintext",
+ "translation": "Açık Metin"
+ },
+ {
+ "id": "Please register below",
+ "translation": "Bilgileri aşağıda bulabilirsiniz"
+ },
+ {
+ "id": "Please sign in",
+ "translation": "Lütfen giriş yapınız"
+ },
+ {
+ "id": "Position",
+ "translation": "Ünvan"
+ },
+ {
+ "id": "Raw Email Source",
+ "translation": "Ham E-posta Kaynağı"
+ },
+ {
+ "id": "Raw Events",
+ "translation": "Ham İşlemler"
+ },
+ {
+ "id": "Recent Campaigns",
+ "translation": "Güncel Kampanyalar"
+ },
+ {
+ "id": "Redirect to",
+ "translation": "Yönlendirilecek Adres"
+ },
+ {
+ "id": "Refreshing",
+ "translation": "Güncelleniyor"
+ },
+ {
+ "id": "Register",
+ "translation": "Kaydet"
+ },
+ {
+ "id": "Register a New User",
+ "translation": "Yeni Kullanıcı Yarat"
+ },
+ {
+ "id": "Reset",
+ "translation": "Yenile"
+ },
+ {
+ "id": "Result ID",
+ "translation": "Sonuç ID"
+ },
+ {
+ "id": "Results",
+ "translation": "Sonçlar"
+ },
+ {
+ "id": "Results for",
+ "translation": "Sonuçlar"
+ },
+ {
+ "id": "Save",
+ "translation": "Kaydet"
+ },
+ {
+ "id": "Save changes",
+ "translation": "Değişiklikleri kaydet"
+ },
+ {
+ "id": "Save Page",
+ "translation": "Sayfayı Kaydet"
+ },
+ {
+ "id": "Save Profile",
+ "translation": "Profili Kaydet"
+ },
+ {
+ "id": "Save Template",
+ "translation": "Temayı Kaydet"
+ },
+ {
+ "id": "Schedule",
+ "translation": "Zamanla"
+ },
+ {
+ "id": "Select a Landing Page",
+ "translation": "Ulaşılacak Website Teması"
+ },
+ {
+ "id": "Send",
+ "translation": "Gönder"
+ },
+ {
+ "id": "Sending Profile",
+ "translation": "Gönderici Profili"
+ },
+ {
+ "id": "Sending Profiles",
+ "translation": "Gönderici Profilleri"
+ },
+ {
+ "id": "Send Test Email",
+ "translation": "Test E-postası Gönder"
+ },
+ {
+ "id": "Send Test Email to",
+ "translation": "Test E-postası Alıcısı"
+ },
+ {
+ "id": "Settings",
+ "translation": "Ayarlar"
+ },
+ {
+ "id": "Sign in",
+ "translation": "Giriş Yap"
+ },
+ {
+ "id": "SMTP",
+ "translation": "SMTP"
+ },
+ {
+ "id": "smtp.example.com:25",
+ "translation": "smtp.ornek.com:25"
+ },
+ {
+ "id": "Status",
+ "translation": "Durum"
+ },
+ {
+ "id": "Subject",
+ "translation": "Konu"
+ },
+ {
+ "id": "Successful Phishes",
+ "translation": "Başarılı Phishingler"
+ },
+ {
+ "id": "Supports CSV files",
+ "translation": "CSV Dosyaları Desteklenmektedir"
+ },
+ {
+ "id": "Targets Map",
+ "translation": "Hedefler Haritası"
+ },
+ {
+ "id": "Template Name",
+ "translation": "Tema İsmi"
+ },
+ {
+ "id": "Text",
+ "translation": "Metin"
+ },
+ {
+ "id": "This option lets you redirect the user to a page after credentials are submitted.",
+ "translation": "Bu opsiyon form gönderiminden sonra hedefin bir adrese yönlendirilmesini sağlanmaktadır."
+ },
+ {
+ "id": "Toggle navigation",
+ "translation": "Navigasyonu Aç/Kapa"
+ },
+ {
+ "id": "Type",
+ "translation": "Tip"
+ },
+ {
+ "id": "Unsuccessful Phishes",
+ "translation": "Başarısız Phishingler"
+ },
+ {
+ "id": "URL",
+ "translation": "URL"
+ },
+ {
+ "id": "User Guide",
+ "translation": "Kullanıcı Kılavuzu"
+ },
+ {
+ "id": "Username",
+ "translation": "Kullanıcı Adı"
+ },
+ {
+ "id": "Users & Groups",
+ "translation": "Hedef Gruplar"
+ },
+ {
+ "id": "View All",
+ "translation": "Tümünü Gör"
+ },
+ {
+ "id": "Are you sure?",
+ "translation": "Emin Misiniz?"
+ },
+ {
+ "id": "Campaign Completed!",
+ "translation": "Kampanya Tamamlandı!"
+ },
+ {
+ "id": "Campaign Created",
+ "translation": "Kampanya Yaratıldı"
+ },
+ {
+ "id": "Campaign Deleted!",
+ "translation": "Kampanya Silindi!"
+ },
+ {
+ "id": "Campaign not found!",
+ "translation": "Kampanya bulunamadı!"
+ },
+ {
+ "id": "Campaign Scheduled!",
+ "translation": "Kampanya Zamanlandı!"
+ },
+ {
+ "id": "Clicked Link",
+ "translation": "Tıklanılan Adres"
+ },
+ {
+ "id": "Complete Campaign",
+ "translation": "Kampanyayı Tamamla"
+ },
+ {
+ "id": "Completed!",
+ "translation": "Tamamlandı!"
+ },
+ {
+ "id": "Completed",
+ "translation": "Tamamlandı"
+ },
+ {
+ "id": "Copy Campaign",
+ "translation": "Kampanyayı Klonla"
+ },
+ {
+ "id": "Copy of",
+ "translation": "Kopya"
+ },
+ {
+ "id": "Copy Page",
+ "translation": "Kopya Websitesi"
+ },
+ {
+ "id": "Copy Profile",
+ "translation": "Kopya Profil"
+ },
+ {
+ "id": "Copy Template",
+ "translation": "Kopya Tema"
+ },
+ {
+ "id": "Delete",
+ "translation": "Sil"
+ },
+ {
+ "id": "Delete Campaign",
+ "translation": "Kampanyayı Sil"
+ },
+ {
+ "id": "Delete Page",
+ "translation": "Websitesini Sil"
+ },
+ {
+ "id": "Delete Profile",
+ "translation": "Profili Sil"
+ },
+ {
+ "id": "Delete Template",
+ "translation": "Temayı Sil"
+ },
+ {
+ "id": "Edit Page",
+ "translation": "Temayı Güncelle"
+ },
+ {
+ "id": "Edit Profile",
+ "translation": "Profili Güncelle"
+ },
+ {
+ "id": "Edit Template",
+ "translation": "Temayı Güncelle"
+ },
+ {
+ "id": "Email:",
+ "translation": "E-posta:"
+ },
+ {
+ "id": "Email",
+ "translation": "E-psta"
+ },
+ {
+ "id": "Email Opened",
+ "translation": "E-posta Açıldı"
+ },
+ {
+ "id": "Email Sent!",
+ "translation": "E-posta Gönderildi!"
+ },
+ {
+ "id": "Email Sent",
+ "translation": "E-posta Gönderildi"
+ },
+ {
+ "id": "Emails Sent",
+ "translation": "E-postalar Gönderildi"
+ },
+ {
+ "id": "Error",
+ "translation": "Hata"
+ },
+ {
+ "id": "Error fetching campaigns",
+ "translation": "Kampanyalar yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error fetching group",
+ "translation": "Hedef grup yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error fetching groups",
+ "translation": "Hedef gruplar yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error fetching pages",
+ "translation": "Website temaları yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error fetching profiles",
+ "translation": "Gönderici profilleri yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error fetching templates",
+ "translation": "E-posta temaları yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error Sending Email",
+ "translation": "E-post Gönderim Hatası"
+ },
+ {
+ "id": "Events",
+ "translation": "Etkinlikler"
+ },
+ {
+ "id": "Gophish will stop processing events for this campaign",
+ "translation": "Gophish bu kampanyanın etkinliğini durduracak"
+ },
+ {
+ "id": "Group added successfully!",
+ "translation": "Grup başarıyla eklendi!"
+ },
+ {
+ "id": "Group updated successfully!",
+ "translation": "Grup başarıyla güncellendi!"
+ },
+ {
+ "id": "http://example.com/login",
+ "translation": "http://ornek.com/giris"
+ },
+ {
+ "id": "In progress",
+ "translation": "İşlemde"
+ },
+ {
+ "id": "Invalid URL.",
+ "translation": "Geçersi URL."
+ },
+ {
+ "id": "No Content Specified!",
+ "translation": "İçerik Tanımlanmadı!"
+ },
+ {
+ "id": "No groups found!",
+ "translation": "Grup bulunamadı!"
+ },
+ {
+ "id": "No pages found!",
+ "translation": "Website bulunamadı!"
+ },
+ {
+ "id": "No profiles found!",
+ "translation": "Gönderici profili bulunamadı!"
+ },
+ {
+ "id": "No URL Specified!",
+ "translation": "URL Adresi bulunamadı!"
+ },
+ {
+ "id": "Page added successfully!",
+ "translation": "Websitesi başarıyla eklendi!"
+ },
+ {
+ "id": "Page edited successfully!",
+ "translation": "Websitesi başarıyla güncellendi!"
+ },
+ {
+ "id": "Parameter",
+ "translation": "Parametre"
+ },
+ {
+ "id": "Profile added successfully!",
+ "translation": "Profil başarıyla eklendi!"
+ },
+ {
+ "id": "Profile edited successfully!",
+ "translation": "Profil başarıyla güncellendi!"
+ },
+ {
+ "id": "Queued",
+ "translation": "Sıraya Alındı"
+ },
+ {
+ "id": "Replay Credentials",
+ "translation": "Bilgileri Tekrarla"
+ },
+ {
+ "id": "Select a Landing Page",
+ "translation": "Ulaşılacak Websitesi Teması Seçin"
+ },
+ {
+ "id": "Select a Sending Profile",
+ "translation": "Gönderici Profili Seçin"
+ },
+ {
+ "id": "Select a Template",
+ "translation": "E-posta Teması Seçin"
+ },
+ {
+ "id": "Select Groups",
+ "translation": "Hedef Grupları Seçin"
+ },
+ {
+ "id": "Sending",
+ "translation": "Gönderiliyor"
+ },
+ {
+ "id": "Submitted Data",
+ "translation": "Formla İletilen Veri"
+ },
+ {
+ "id": "Success",
+ "translation": "Başarı"
+ },
+ {
+ "id": "Successes",
+ "translation": "Başarılar"
+ },
+ {
+ "id": "Successful Phishes",
+ "translation": "Başarılı Saldırılar"
+ },
+ {
+ "id": "Template added successfully!",
+ "translation": "Tema başarıyla eklendi!"
+ },
+ {
+ "id": "Template edited successfully!",
+ "translation": "Tema başarıyla güncellendi!"
+ },
+ {
+ "id": "This campaign has been deleted!",
+ "translation": "Bu kampanya silindi!"
+ },
+ {
+ "id": "This campaign has been scheduled for launch!",
+ "translation": "Bu kampanya zamanlandı!"
+ },
+ {
+ "id": "This will delete the campaign. This can't be undone!",
+ "translation": "Bu işlem kampanyayı silecek, bu işlem geri alınamaz!"
+ },
+ {
+ "id": "This will schedule the campaign to be launched.",
+ "translation": "Kampanya zamanı geldiğinde başlatlmak üzere programlanacak."
+ },
+ {
+ "id": "Timeline for",
+ "translation": "Zaman Çizelgesi"
+ },
+ {
+ "id": "Unknown",
+ "translation": "Bilinmeyen"
+ },
+ {
+ "id": "Unsuccessful Phishes",
+ "translation": "Başarısız Phishingler"
+ },
+ {
+ "id": "Unsupported file extension (use .csv or .txt)",
+ "translation": "Desteklenmeyen dosya uzantısı (.csv veya .txt kullanın)"
+ },
+ {
+ "id": "Value(s)",
+ "translation": "Değer(ler)"
+ },
+ {
+ "id": "View Details",
+ "translation": "Detaylara Gözat"
+ },
+ {
+ "id": "View Results",
+ "translation": "Sonuçlara Gözat"
+ },
+ {
+ "id": "Where do you want the credentials submitted to?",
+ "translation": "Şifre bilgileri nereye postalansın?"
+ },
+ {
+ "id": "username already taken",
+ "translation": "Kullanıcı adı çoktan alınmış"
+ },
+ {
+ "id": "Page Name not specified",
+ "translation": "Sayfa ismi belirlenmemiş"
+ },
+ {
+ "id": "No email address specified",
+ "translation": "E-posta adresi belirlenmemiş"
+ },
+ {
+ "id": "Group name not specified",
+ "translation": "Grup ismi belirlenmemiş"
+ },
+ {
+ "id": "No targets specified",
+ "translation": "Hiçbir hedef belirlenmemiş"
+ },
+ {
+ "id": "Campaign name not specified",
+ "translation": "Kampanya ismi belirlenmemiş"
+ },
+ {
+ "id": "No groups specified",
+ "translation": "Hedef gruplar belirlenmemiş"
+ },
+ {
+ "id": "No email template specified",
+ "translation": "E-posta teması belirlenmemiş"
+ },
+ {
+ "id": "No landing page specified",
+ "translation": "Erişilecek website teması belirlenmemiş"
+ },
+ {
+ "id": "No sending profile specified",
+ "translation": "Gönderici profili belirlenmemiş"
+ },
+ {
+ "id": "Template not found",
+ "translation": "Tema bulunamadı"
+ },
+ {
+ "id": "Group not found",
+ "translation": "Grup bulunamadı"
+ },
+ {
+ "id": "Page not found",
+ "translation": "Websitesi bulunamadı"
+ },
+ {
+ "id": "Sending profile not found",
+ "translation": "Gönderici profili bulunamadı"
+ },
+ {
+ "id": "Template name not specified",
+ "translation": "Tema ismi belirlenmemiş"
+ },
+ {
+ "id": "Need to specify at least plaintext or HTML content",
+ "translation": "Metin veya HTML içeriği belirlenmeli"
+ },
+ {
+ "id": "No From Address specified",
+ "translation": "Gönderici adresi belirlenmemiş"
+ },
+ {
+ "id": "No SMTP Host specified",
+ "translation": "SMTP sunucu adresi belirlenmemiş"
+ },
+ {
+ "id": "Invalid SMTP server address",
+ "translation": "Geçersiz SMTP sunucu adresi"
+ },
+ {
+ "id": "API Key successfully reset!",
+ "translation": "API anahtarı başarıyla yenilendi!"
+ },
+ {
+ "id": "Binary file gophish matches",
+ "translation": "Binary dosya formatı bulundu"
+ },
+ {
+ "id": "Campaign completed successfully!",
+ "translation": "Kampanya başarıyla tamamlandı!"
+ },
+ {
+ "id": "Campaign deleted successfully!",
+ "translation": "Kampanya başarıyla silindi!"
+ },
+ {
+ "id": "Campaign not found",
+ "translation": "Kampanya bulunamadı"
+ },
+ {
+ "id": "Email Sent",
+ "translation": "E-posta Gönderildi"
+ },
+ {
+ "id": "Error completing campaign",
+ "translation": "Kampanya Tamamlama Esnasında Hata Alındı"
+ },
+ {
+ "id": "Error decoding JSON Request",
+ "translation": "JSON paketi açılamadı"
+ },
+ {
+ "id": "Error deleting campaign",
+ "translation": "Kampanya silinirken hata oluştu"
+ },
+ {
+ "id": "Error deleting group",
+ "translation": "Grup silinirken hata oluştu"
+ },
+ {
+ "id": "Error deleting page",
+ "translation": "Websitesi silinirken hata oluştu"
+ },
+ {
+ "id": "Error deleting SMTP",
+ "translation": "SMTP Silinirken hata oluştu"
+ },
+ {
+ "id": "Error deleting template",
+ "translation": "Tema silinirken hata oluştu"
+ },
+ {
+ "id": "Error: /:id and group_id mismatch",
+ "translation": "Hata: /:id ve group_id uyuşmamakta"
+ },
+ {
+ "id": "Error: /:id and template_id mismatch",
+ "translation": "Hata: /:id ve template_id uyuşmamakta"
+ },
+ {
+ "id": "Error inserting template into database",
+ "translation": "Veri tabanı şablonu yüklenirken hata oluştu"
+ },
+ {
+ "id": "Error parsing CSV",
+ "translation": "CSV dosyayı işlenemedi"
+ },
+ {
+ "id": "Error setting API Key",
+ "translation": "API anahtarı belirlenirken hata oluştu"
+ },
+ {
+ "id": "Error updating page",
+ "translation": "Sayfa güncellenirken hata oluştu"
+ },
+ {
+ "id": "Error updating page:",
+ "translation": "Sayfa güncellenirken hata oluştu:"
+ },
+ {
+ "id": "Group deleted successfully!",
+ "translation": "Grup başarıyla silindi!"
+ },
+ {
+ "id": "Group name already in use",
+ "translation": "Grup ismi daha evel kullanılmış"
+ },
+ {
+ "id": "Group not found",
+ "translation": "Grup bulunamadı"
+ },
+ {
+ "id": "/:id and /:page_id mismatch",
+ "translation": "/:id ve /:page_id uyuşmamakta"
+ },
+ {
+ "id": "/:id and /:smtp_id mismatch",
+ "translation": "/:id ve /:smtp_id uyuşmamakta"
+ },
+ {
+ "id": "Invalid JSON structure",
+ "translation": "Geçersiz JSON formatı"
+ },
+ {
+ "id": "Invalid request",
+ "translation": "Geçersiz talep"
+ },
+ {
+ "id": "Method not allowed",
+ "translation": "Methoda izin verilmedi"
+ },
+ {
+ "id": "No groups found",
+ "translation": "Grup bulunamadı"
+ },
+ {
+ "id": "Page Deleted Successfully",
+ "translation": "Sayfa Başarıyla Silindi"
+ },
+ {
+ "id": "Page name already in use",
+ "translation": "Sayfa ismi daha önce kullanılmış"
+ },
+ {
+ "id": "Page not found",
+ "translation": "Sayfa bulunamadı"
+ },
+ {
+ "id": "SMTP Deleted Successfully",
+ "translation": "SMTP başarıyla silindi"
+ },
+ {
+ "id": "SMTP name already in use",
+ "translation": "SMTP ismi daha önce kullanılmış"
+ },
+ {
+ "id": "SMTP not found",
+ "translation": "SMTP bulunamadı"
+ },
+ {
+ "id": "Template deleted successfully!",
+ "translation": "Tema başarıyla silindi!"
+ },
+ {
+ "id": "Template name already in use",
+ "translation": "Tema ismi daha önce kullanılmış"
+ },
+ {
+ "id": "Template not found",
+ "translation": "Tema bulunamadı"
+ }
+]
diff --git a/util/util.go b/util/util.go
index 6a6185e1..b5d9497d 100644
--- a/util/util.go
+++ b/util/util.go
@@ -18,6 +18,7 @@ import (
"net/mail"
"os"
"time"
+ "strings"
"github.com/gophish/gophish/models"
"github.com/jordan-wright/email"
@@ -26,14 +27,21 @@ import (
// Logger is used to send logging messages to stdout.
var Logger = log.New(os.Stdout, " ", log.Ldate|log.Ltime|log.Lshortfile)
+var B i18n.TranslateFunc
+var Lang = "en-US"
func T(text string) string{
- T, _ := i18n.Tfunc("en-US", "en-US")
- result := T(text)
- if result == text {
- fmt.Println("NON-TRANSLATION %s", text)
- }
- return result
+ if B == nil {
+ i18n.MustLoadTranslationFile("translations/" + strings.ToLower(Lang) + ".all.json")
+ B, _ = i18n.Tfunc(Lang)
+ }
+
+ return B(text)
+}
+
+func ChangeLang(lang string) {
+ Lang = lang
+ B = nil
}
// ParseMail takes in an HTTP Request and returns an Email object