diff --git a/frontend/src/locale/lang/fa.json b/frontend/src/locale/lang/fa.json index 6ef9baa3..410208d9 100644 --- a/frontend/src/locale/lang/fa.json +++ b/frontend/src/locale/lang/fa.json @@ -1,29 +1,29 @@ { - "access-list": "Access List", + "access-list": "لیست دسترسی", "access-list.access-count": "{count} {count, plural, one {Rule} other {Rules}}", "access-list.auth-count": "{count} {count, plural, one {User} other {Users}}", "access-list.help-rules-last": "When at least 1 rule exists, this deny all rule will be added last", - "access-list.help.rules-order": "Note that the allow and deny directives will be applied in the order they are defined.", - "access-list.pass-auth": "Pass Auth to Upstream", - "access-list.public": "Publicly Accessible", - "access-list.public.subtitle": "No basic auth required", + "access-list.help.rules-order": "توجه داشته باشید که دستورات allow و deny به ترتیب تعریف‌شده اعمال خواهند شد.", + "access-list.pass-auth": "ارسال احراز هویت به سرور بالادستی", + "access-list.public": "قابل دسترسی برای عموم", + "access-list.public.subtitle": "نیازی به احراز هویت پایه نیست", "access-list.satisfy-any": "Satisfy Any", "access-list.subtitle": "{users} {users, plural, one {User} other {Users}}, {rules} {rules, plural, one {Rule} other {Rules}} - Created: {date}", - "access-lists": "Access Lists", - "action.add": "Add", - "action.add-location": "Add Location", - "action.close": "Close", - "action.delete": "Delete", - "action.disable": "Disable", - "action.download": "Download", - "action.edit": "Edit", - "action.enable": "Enable", - "action.permissions": "Permissions", - "action.renew": "Renew", - "action.view-details": "View Details", - "auditlogs": "Audit Logs", - "cancel": "Cancel", - "certificate": "Certificate", + "access-lists": "لیست‌های دسترسی", + "action.add": "افزودن", + "action.add-location": "افزودن مکان", + "action.close": "بستن", + "action.delete": "حذف", + "action.disable": "غیرفعال", + "action.download": "دانلود", + "action.edit": "ویرایش", + "action.enable": "فعال‌سازی", + "action.permissions": "مجوزها", + "action.renew": "تجدید", + "action.view-details": "مشاهده جزئیات", + "auditlogs": "لاگ‌های بررسی", + "cancel": "لغو", + "certificate": "گواهی‌نامه", "certificate.custom-certificate": "Certificate", "certificate.custom-certificate-key": "Certificate Key", "certificate.custom-intermediate": "Intermediate Certificate", @@ -76,7 +76,7 @@ "column.ssl": "SSL", "column.status": "Status", "created-on": "Created: {date}", - "dashboard": "داشبورد", + "dashboard": "خانه", "dead-host": "404 Host", "dead-hosts": "404 Hosts", "dead-hosts.count": "{count} {count, plural, one {404 Host} other {404 Hosts}}", @@ -91,15 +91,15 @@ "domains.hsts-subdomains": "HSTS Sub-domains", "domains.http2-support": "HTTP/2 Support", "domains.use-dns": "Use DNS Challenge", - "email-address": "Email address", - "empty-search": "No results found", - "empty-subtitle": "Why don't you create one?", - "enabled": "Enabled", + "email-address": "نشانی ایمیل", + "empty-search": "هیچ نتیجه‌ای یافت نشد", + "empty-subtitle": "چرا یکی ایجاد نمی‌کنید؟", + "enabled": "فعال", "error.access.at-least-one": "Either one Authorization or one Access Rule is required", "error.access.duplicate-usernames": "Authorization Usernames must be unique", - "error.invalid-auth": "Invalid email or password", + "error.invalid-auth": "ایمیل یا رمز عبور نامعتبر است", "error.invalid-domain": "Invalid domain: {domain}", - "error.invalid-email": "Invalid email address", + "error.invalid-email": "نشانی ایمیل نامعتبر است", "error.max-character-length": "Maximum length is {max} character{max, plural, one {} other {s}}", "error.max-domains": "Too many domains, max is {max}", "error.maximum": "Maximum is {max}", @@ -137,7 +137,7 @@ "notification.object-saved": "{object} has been saved", "notification.success": "Success", "object.actions-title": "{object} #{id}", - "object.add": "Add {object}", + "object.add": "{object} افزودن", "object.delete": "Delete {object}", "object.delete.content": "Are you sure you want to delete this {object}?", "object.edit": "Edit {object}", @@ -195,20 +195,20 @@ "streams.tcp": "TCP", "streams.udp": "UDP", "test": "Test", - "user": "User", + "user": "کاربر", "user.change-password": "Change Password", "user.confirm-password": "Confirm Password", - "user.current-password": "Current Password", - "user.edit-profile": "Edit Profile", - "user.full-name": "Full Name", + "user.current-password": "رمز عبور فعلی", + "user.edit-profile": "ویرایش پروفایل", + "user.full-name": "نام کامل", "user.login-as": "Sign in as {name}", - "user.logout": "Logout", - "user.new-password": "New Password", - "user.nickname": "Nickname", - "user.set-password": "Set Password", + "user.logout": "خروج", + "user.new-password": "رمز عبور جدید", + "user.nickname": "نام مستعار", + "user.set-password": "تنظیم رمز عبور", "user.set-permissions": "Set Permissions for {name}", - "user.switch-dark": "Switch to Dark mode", - "user.switch-light": "Switch to Light mode", - "username": "Username", - "users": "Users" + "user.switch-dark": "تغییر به حالت تاریک", + "user.switch-light": "تغییر به حالت روشن", + "username": "نام کاربری", + "users": "کاربران" } \ No newline at end of file diff --git a/frontend/src/locale/src/HelpDoc/fa/AccessLists.md b/frontend/src/locale/src/HelpDoc/fa/AccessLists.md new file mode 100644 index 00000000..cef58263 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/AccessLists.md @@ -0,0 +1,7 @@ +## What is an Access List? + +Access Lists provide a blacklist or whitelist of specific client IP addresses along with authentication for the Proxy Hosts via Basic HTTP Authentication. + +You can configure multiple client rules, usernames and passwords for a single Access List and then apply that to one or more _Proxy Hosts_. + +This is most useful for forwarded web services that do not have authentication mechanisms built in or when you want to protect from unknown clients. diff --git a/frontend/src/locale/src/HelpDoc/fa/Certificates.md b/frontend/src/locale/src/HelpDoc/fa/Certificates.md new file mode 100644 index 00000000..d79dd04b --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/Certificates.md @@ -0,0 +1,32 @@ +## Certificates Help + +### HTTP Certificate + +A HTTP validated certificate means Let's Encrypt servers will +attempt to reach your domains over HTTP (not HTTPS!) and if successful, they +will issue your certificate. + +For this method, you will have to have a _Proxy Host_ created for your domains(s) that +is accessible with HTTP and pointing to this Nginx installation. After a certificate +has been given, you can modify the _Proxy Host_ to also use this certificate for HTTPS +connections. However, the _Proxy Host_ will still need to be configured for HTTP access +in order for the certificate to renew. + +This process _does not_ support wildcard domains. + +### DNS Certificate + +A DNS validated certificate requires you to use a DNS Provider plugin. This DNS +Provider will be used to create temporary records on your domain and then Let's +Encrypt will query those records to be sure you're the owner and if successful, they +will issue your certificate. + +You do not need a _Proxy Host_ to be created prior to requesting this type of +certificate. Nor do you need to have your _Proxy Host_ configured for HTTP access. + +This process _does_ support wildcard domains. + +### Custom Certificate + +Use this option to upload your own SSL Certificate, as provided by your own +Certificate Authority. diff --git a/frontend/src/locale/src/HelpDoc/fa/DeadHosts.md b/frontend/src/locale/src/HelpDoc/fa/DeadHosts.md new file mode 100644 index 00000000..ef4f3bc4 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/DeadHosts.md @@ -0,0 +1,10 @@ +## What is a 404 Host? + +A 404 Host is simply a host setup that shows a 404 page. + +This can be useful when your domain is listed in search engines and you want +to provide a nicer error page or specifically to tell the search indexers that +the domain pages no longer exist. + +Another benefit of having this host is to track the logs for hits to it and +view the referrers. diff --git a/frontend/src/locale/src/HelpDoc/fa/ProxyHosts.md b/frontend/src/locale/src/HelpDoc/fa/ProxyHosts.md new file mode 100644 index 00000000..e9630d05 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/ProxyHosts.md @@ -0,0 +1,7 @@ +## What is a Proxy Host? + +A Proxy Host is the incoming endpoint for a web service that you want to forward. + +It provides optional SSL termination for your service that might not have SSL support built in. + +Proxy Hosts are the most common use for the Nginx Proxy Manager. diff --git a/frontend/src/locale/src/HelpDoc/fa/RedirectionHosts.md b/frontend/src/locale/src/HelpDoc/fa/RedirectionHosts.md new file mode 100644 index 00000000..e57b1b80 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/RedirectionHosts.md @@ -0,0 +1,7 @@ +## What is a Redirection Host? + +A Redirection Host will redirect requests from the incoming domain and push the +viewer to another domain. + +The most common reason to use this type of host is when your website changes +domains but you still have search engine or referrer links pointing to the old domain. diff --git a/frontend/src/locale/src/HelpDoc/fa/Streams.md b/frontend/src/locale/src/HelpDoc/fa/Streams.md new file mode 100644 index 00000000..358f3e5a --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/Streams.md @@ -0,0 +1,6 @@ +## What is a Stream? + +A relatively new feature for Nginx, a Stream will serve to forward TCP/UDP +traffic directly to another computer on the network. + +If you're running game servers, FTP or SSH servers this can come in handy. diff --git a/frontend/src/locale/src/HelpDoc/fa/index.ts b/frontend/src/locale/src/HelpDoc/fa/index.ts new file mode 100644 index 00000000..a9bb46ba --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/fa/index.ts @@ -0,0 +1,6 @@ +export * as AccessLists from "./AccessLists.md"; +export * as Certificates from "./Certificates.md"; +export * as DeadHosts from "./DeadHosts.md"; +export * as ProxyHosts from "./ProxyHosts.md"; +export * as RedirectionHosts from "./RedirectionHosts.md"; +export * as Streams from "./Streams.md"; diff --git a/frontend/src/locale/src/HelpDoc/index.ts b/frontend/src/locale/src/HelpDoc/index.ts index 40ca1b52..a78da95c 100644 --- a/frontend/src/locale/src/HelpDoc/index.ts +++ b/frontend/src/locale/src/HelpDoc/index.ts @@ -1,17 +1,22 @@ -// import * as de from "./de/index"; -// import * as fa from "./fa/index"; import * as en from "./en/index"; +import * as fa from "./fa/index"; -const items: any = { en }; +const items: any = { en, fa }; const fallbackLang = "en"; export const getHelpFile = (lang: string, section: string): string => { - if (typeof items[lang] !== "undefined" && typeof items[lang][section] !== "undefined") { + if ( + typeof items[lang] !== "undefined" && + typeof items[lang][section] !== "undefined" + ) { return items[lang][section].default; } // Fallback to English - if (typeof items[fallbackLang] !== "undefined" && typeof items[fallbackLang][section] !== "undefined") { + if ( + typeof items[fallbackLang] !== "undefined" && + typeof items[fallbackLang][section] !== "undefined" + ) { return items[fallbackLang][section].default; } throw new Error(`Cannot load help doc for ${lang}-${section}`); diff --git a/frontend/src/locale/src/fa.json b/frontend/src/locale/src/fa.json index 22b9fdd3..1e3fd1b0 100644 --- a/frontend/src/locale/src/fa.json +++ b/frontend/src/locale/src/fa.json @@ -1,6 +1,6 @@ { "access-list": { - "defaultMessage": "Access List" + "defaultMessage": "لیست دسترسی" }, "access-list.access-count": { "defaultMessage": "{count} {count, plural, one {Rule} other {Rules}}" @@ -12,16 +12,16 @@ "defaultMessage": "When at least 1 rule exists, this deny all rule will be added last" }, "access-list.help.rules-order": { - "defaultMessage": "Note that the allow and deny directives will be applied in the order they are defined." + "defaultMessage": "توجه داشته باشید که دستورات allow و deny به ترتیب تعریف‌شده اعمال خواهند شد." }, "access-list.pass-auth": { - "defaultMessage": "Pass Auth to Upstream" + "defaultMessage": "ارسال احراز هویت به سرور بالادستی" }, "access-list.public": { - "defaultMessage": "Publicly Accessible" + "defaultMessage": "قابل دسترسی برای عموم" }, "access-list.public.subtitle": { - "defaultMessage": "No basic auth required" + "defaultMessage": "نیازی به احراز هویت پایه نیست" }, "access-list.satisfy-any": { "defaultMessage": "Satisfy Any" @@ -30,49 +30,49 @@ "defaultMessage": "{users} {users, plural, one {User} other {Users}}, {rules} {rules, plural, one {Rule} other {Rules}} - Created: {date}" }, "access-lists": { - "defaultMessage": "Access Lists" + "defaultMessage": "لیست‌های دسترسی" }, "action.add": { - "defaultMessage": "Add" + "defaultMessage": "افزودن" }, "action.add-location": { - "defaultMessage": "Add Location" + "defaultMessage": "افزودن مکان" }, "action.close": { - "defaultMessage": "Close" + "defaultMessage": "بستن" }, "action.delete": { - "defaultMessage": "Delete" + "defaultMessage": "حذف" }, "action.disable": { - "defaultMessage": "Disable" + "defaultMessage": "غیرفعال" }, "action.download": { - "defaultMessage": "Download" + "defaultMessage": "دانلود" }, "action.edit": { - "defaultMessage": "Edit" + "defaultMessage": "ویرایش" }, "action.enable": { - "defaultMessage": "Enable" + "defaultMessage": "فعال‌سازی" }, "action.permissions": { - "defaultMessage": "Permissions" + "defaultMessage": "مجوزها" }, "action.renew": { - "defaultMessage": "Renew" + "defaultMessage": "تجدید" }, "action.view-details": { - "defaultMessage": "View Details" + "defaultMessage": "مشاهده جزئیات" }, "auditlogs": { - "defaultMessage": "Audit Logs" + "defaultMessage": "لاگ‌های بررسی" }, "cancel": { - "defaultMessage": "Cancel" + "defaultMessage": "لغو" }, "certificate": { - "defaultMessage": "Certificate" + "defaultMessage": "گواهی‌نامه" }, "certificate.custom-certificate": { "defaultMessage": "Certificate" @@ -231,7 +231,7 @@ "defaultMessage": "Created: {date}" }, "dashboard": { - "defaultMessage": "داشبورد" + "defaultMessage": "خانه" }, "dead-host": { "defaultMessage": "404 Host" @@ -276,16 +276,16 @@ "defaultMessage": "Use DNS Challenge" }, "email-address": { - "defaultMessage": "Email address" + "defaultMessage": "نشانی ایمیل" }, "empty-search": { - "defaultMessage": "No results found" + "defaultMessage": "هیچ نتیجه‌ای یافت نشد" }, "empty-subtitle": { - "defaultMessage": "Why don't you create one?" + "defaultMessage": "چرا یکی ایجاد نمی‌کنید؟" }, "enabled": { - "defaultMessage": "Enabled" + "defaultMessage": "فعال" }, "error.access.at-least-one": { "defaultMessage": "Either one Authorization or one Access Rule is required" @@ -294,13 +294,13 @@ "defaultMessage": "Authorization Usernames must be unique" }, "error.invalid-auth": { - "defaultMessage": "Invalid email or password" + "defaultMessage": "ایمیل یا رمز عبور نامعتبر است" }, "error.invalid-domain": { "defaultMessage": "Invalid domain: {domain}" }, "error.invalid-email": { - "defaultMessage": "Invalid email address" + "defaultMessage": "نشانی ایمیل نامعتبر است" }, "error.max-character-length": { "defaultMessage": "Maximum length is {max} character{max, plural, one {} other {s}}" @@ -414,7 +414,7 @@ "defaultMessage": "{object} #{id}" }, "object.add": { - "defaultMessage": "Add {object}" + "defaultMessage": "{object} افزودن" }, "object.delete": { "defaultMessage": "Delete {object}" @@ -588,7 +588,7 @@ "defaultMessage": "Test" }, "user": { - "defaultMessage": "User" + "defaultMessage": "کاربر" }, "user.change-password": { "defaultMessage": "Change Password" @@ -597,42 +597,42 @@ "defaultMessage": "Confirm Password" }, "user.current-password": { - "defaultMessage": "Current Password" + "defaultMessage": "رمز عبور فعلی" }, "user.edit-profile": { - "defaultMessage": "Edit Profile" + "defaultMessage": "ویرایش پروفایل" }, "user.full-name": { - "defaultMessage": "Full Name" + "defaultMessage": "نام کامل" }, "user.login-as": { "defaultMessage": "Sign in as {name}" }, "user.logout": { - "defaultMessage": "Logout" + "defaultMessage": "خروج" }, "user.new-password": { - "defaultMessage": "New Password" + "defaultMessage": "رمز عبور جدید" }, "user.nickname": { - "defaultMessage": "Nickname" + "defaultMessage": "نام مستعار" }, "user.set-password": { - "defaultMessage": "Set Password" + "defaultMessage": "تنظیم رمز عبور" }, "user.set-permissions": { "defaultMessage": "Set Permissions for {name}" }, "user.switch-dark": { - "defaultMessage": "Switch to Dark mode" + "defaultMessage": "تغییر به حالت تاریک" }, "user.switch-light": { - "defaultMessage": "Switch to Light mode" + "defaultMessage": "تغییر به حالت روشن" }, "username": { - "defaultMessage": "Username" + "defaultMessage": "نام کاربری" }, "users": { - "defaultMessage": "Users" + "defaultMessage": "کاربران" } }