From 25dac9b91a3cabc8a360b5d976532f16fdeceb9d Mon Sep 17 00:00:00 2001 From: Rael Monge Date: Thu, 13 Jun 2024 10:56:04 -0600 Subject: [PATCH] Adding translate variable to all the Pricing List page --- api/graph/schema.resolvers.go | 2 +- core/routes.go | 71 ++++++++++++++- templates/pricing_list.html | 166 +++++++++++++++++++--------------- 3 files changed, 164 insertions(+), 75 deletions(-) diff --git a/api/graph/schema.resolvers.go b/api/graph/schema.resolvers.go index 6c38535..f849c38 100644 --- a/api/graph/schema.resolvers.go +++ b/api/graph/schema.resolvers.go @@ -2406,7 +2406,7 @@ func (r *mutationResolver) AddListing(ctx context.Context, input *model.AddListi return nil, err } if len(listings) >= 1 { - validator.Error(lt.Translate("This function is only allowed for paid users.")). + validator.Error(lt.Translate("Free accounts are only allowed 1 link listing.")). WithCode(valid.ErrRestrictedCode) return nil, nil } diff --git a/core/routes.go b/core/routes.go index f846d3d..55d83cd 100644 --- a/core/routes.go +++ b/core/routes.go @@ -335,8 +335,77 @@ func (s *Service) Homepage(c echo.Context) error { func (s *Service) PricingList(c echo.Context) error { lt := localizer.GetSessionLocalizer(c) - pd := localizer.NewPageData(lt.Translate("Pricing List")) + pd := localizer.NewPageData(lt.Translate("Pricing")) pd.Data["organizations"] = lt.Translate("Organizations") + pd.Data["organizations_definition"] = lt.Translate( + "Every account can create unlimited organizations. Each organization can has it's own bookmarks, listings, analytics, etc. All of the features below belong to each organization. Each has their own URL's, groupings, etc. ") + + pd.Data["feature"] = lt.Translate("Feature") + pd.Data["free"] = lt.Translate("Free") + pd.Data["personal"] = lt.Translate("Personal") + pd.Data["business"] = lt.Translate("Business") + pd.Data["price"] = lt.Translate("Price") + pd.Data["per_year"] = lt.Translate("per year") + pd.Data["per_month"] = lt.Translate("per month") + pd.Data["months"] = lt.Translate("months") + pd.Data["unlimited"] = lt.Translate("Unlimited") + pd.Data["public_only"] = lt.Translate("Public only") + + pd.Data["bookmarks"] = lt.Translate("Bookmarks") + pd.Data["feature_bookmarks_1"] = lt.Translate("Save public/private links") + pd.Data["feature_bookmarks_2"] = lt.Translate("Save public/private notes") + pd.Data["feature_bookmarks_3"] = lt.Translate("Follow other organizations (social)") + pd.Data["feature_bookmarks_4"] = lt.Translate("Organize by tags") + pd.Data["feature_bookmarks_5"] = lt.Translate("Advanced filtering/search") + pd.Data["feature_bookmarks_6"] = lt.Translate("Full RSS feeds") + pd.Data["domain_ssl"] = lt.Translate("Custom domain + SSL") + + pd.Data["link_listings"] = lt.Translate("Link Listings") + pd.Data["feature_link_listings_1"] = lt.Translate("Create link listings (ie, social media bios, etc.)") + pd.Data["feature_link_listings_2"] = lt.Translate("Organize listings by tag") + pd.Data["feature_link_listings_3"] = lt.Translate("Filter/Search listings") + pd.Data["feature_link_listings_4"] = lt.Translate("Unlimited QR codes per listing") + pd.Data["full_analytics"] = lt.Translate("Full Analytics") + pd.Data["listing"] = lt.Translate("Listing") + + pd.Data["link_short"] = lt.Translate("Link Shortening") + pd.Data["feature_link_short_1"] = lt.Translate("Unlimited short links") + pd.Data["feature_link_short_2"] = lt.Translate("Organize shorts by tags") + pd.Data["feature_link_short_3"] = lt.Translate("Filter/Search shorts") + pd.Data["feature_link_short_4"] = lt.Translate("Unlimited QR codes per short") + + pd.Data["analytics"] = lt.Translate("Analytics") + pd.Data["feature_analytics_1"] = lt.Translate("Full analytics history") + pd.Data["feature_analytics_2"] = lt.Translate("QR Code specific analytics") + pd.Data["feature_analytics_3"] = lt.Translate("Click analytics") + pd.Data["feature_analytics_4"] = lt.Translate("Referer analyitcs") + pd.Data["feature_analytics_5"] = lt.Translate("Country analytics") + pd.Data["feature_analytics_6"] = lt.Translate("City analytics") + pd.Data["feature_analytics_7"] = lt.Translate("Device analytics") + + pd.Data["collaboration_integrations"] = lt.Translate("Collaboration / Integrations") + pd.Data["feature_collab_integrat_1"] = lt.Translate("Add unlimited members to organization") + pd.Data["feature_collab_integrat_2"] = lt.Translate("Slack Integration") + pd.Data["feature_collab_integrat_3"] = lt.Translate("MatterMost Integration") + pd.Data["feature_collab_integrat_4"] = lt.Translate("Build Your Own Integration") + + pd.Data["import_export"] = lt.Translate("Import / Export") + pd.Data["feature_import_export_1"] = lt.Translate("Import from Pinboard") + pd.Data["feature_import_export_2"] = lt.Translate("Import from Firefox") + pd.Data["feature_import_export_3"] = lt.Translate("Import from Chrome") + pd.Data["feature_import_export_4"] = lt.Translate("Import from Safari") + pd.Data["feature_import_export_5"] = lt.Translate("Export in JSON or HTML") + + pd.Data["api_powered"] = lt.Translate("API Powered") + pd.Data["feature_api_powered_1"] = lt.Translate("Full GraphQL API Access") + pd.Data["feature_api_powered_2"] = lt.Translate("GraphQL Playground") + pd.Data["feature_api_powered_3"] = lt.Translate("OAuth2 Support") + pd.Data["feature_api_powered_4"] = lt.Translate("Personal Access Tokens") + + pd.Data["self_hosting"] = lt.Translate("Self Hosting") + pd.Data["feature_self_hosting_1"] = lt.Translate("Fully open source") + pd.Data["feature_self_hosting_2"] = lt.Translate("Host your own version of Link Taco") + pd.Data["feature_self_hosting_3"] = lt.Translate("Documentation") gmap := gobwebs.Map{ "pd": pd, diff --git a/templates/pricing_list.html b/templates/pricing_list.html index 0e5e8e5..f85a79f 100644 --- a/templates/pricing_list.html +++ b/templates/pricing_list.html @@ -7,29 +7,26 @@

{{.pd.Data.organizations}}

-

- Every account can create unlimited organizations. Each organization can has it's own bookmarks, - listings, analytics, etc. All of the features below belong to each organization. Each has their - own URL's, groupings, etc. -

+

{{.pd.Data.organizations_definition}}

- - - - + + + + - + - + + + + + + + - - + + + - + - + - + - + - + - - - - + + + + - + - + - + - - + + - + - + - - - - + + + + + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + +
FeatureFreePersonalBusiness{{.pd.Data.feature}}{{.pd.Data.free}}{{.pd.Data.personal}}{{.pd.Data.business}}
Bookmarks{{.pd.Data.bookmarks}}
Save public/private links{{.pd.Data.feature_bookmarks_1}}{{ .pd.Data.public_only }} @@ -40,14 +37,23 @@
{{.pd.Data.feature_bookmarks_2}}{{ .pd.Data.public_only }} + + + +
Save public/private notes
{{.pd.Data.feature_bookmarks_3}} @@ -64,8 +70,9 @@
Organize by tags{{.pd.Data.feature_bookmarks_4}} @@ -83,7 +90,7 @@
Advanced filtering/search{{.pd.Data.feature_bookmarks_5}} @@ -101,7 +108,7 @@
Full RSS feeds{{.pd.Data.feature_bookmarks_6}} @@ -119,7 +126,7 @@
Custom domain + SSL{{.pd.Data.domain_ssl}} @@ -136,17 +143,17 @@
Link LIstings{{.pd.Data.link_listings}}
Save custom link listings
(ie, for use in social media bios, etc.)
1 monthsUnlimitedUnlimited{{.pd.Data.feature_link_listings_1}}1 {{.pd.Data.listing}}{{.pd.Data.unlimited}}{{.pd.Data.unlimited}}
Organize listings by tags{{.pd.Data.feature_link_listings_2}} @@ -164,7 +171,7 @@
Filter/Search listings{{.pd.Data.feature_link_listings_3}} @@ -182,7 +189,7 @@
Unlimited QR codes per listing{{.pd.Data.feature_link_listings_4}} @@ -200,8 +207,8 @@
Full Analytics2 months{{.pd.Data.full_analytics}}2 {{.pd.Data.months}} @@ -214,7 +221,7 @@
Custom domain + SSL{{.pd.Data.domain_ssl}} @@ -231,17 +238,30 @@
Link Shortening{{.pd.Data.link_short}}
Unlimited short links{{.pd.Data.feature_link_short_1}} + + + + + + + + + + + +
Organize shorts by tags{{.pd.Data.feature_link_short_2}} @@ -259,7 +279,7 @@
Filter/Search shorts{{.pd.Data.feature_link_short_3}} @@ -277,7 +297,7 @@
Unlimited QR codes per short{{.pd.Data.feature_link_short_4}} @@ -295,8 +315,8 @@
Full Analytics2 months{{.pd.Data.full_analytics}}2 {{.pd.Data.months}} @@ -309,7 +329,7 @@
Custom domain + SSL{{.pd.Data.domain_ssl}} @@ -326,12 +346,12 @@
Analytics{{.pd.Data.analytics}}
Full analytics history2 months{{.pd.Data.feature_analytics_1}}2 {{.pd.Data.months}} @@ -344,7 +364,7 @@
QR Code specific analyt{{.pd.Data.feature_analytics_2}} @@ -362,7 +382,7 @@
Click analytics{{.pd.Data.feature_analytics_3}} @@ -380,7 +400,7 @@
Referer analyitcs{{.pd.Data.feature_analytics_4}} @@ -398,7 +418,7 @@
Country analytics{{.pd.Data.feature_analytics_5}} @@ -416,7 +436,7 @@
City analytics{{.pd.Data.feature_analytics_6}} @@ -433,7 +453,7 @@
Device analytics{{.pd.Data.feature_analytics_7}} @@ -450,11 +470,11 @@
Collaboration / Integrations{{.pd.Data.collaboration_integrations}}
Add unlimited members to organization{{.pd.Data.feature_collab_integrat_1}} @@ -470,7 +490,7 @@
Slack Integration{{.pd.Data.feature_collab_integrat_2}} @@ -486,7 +506,7 @@
MatterMost Integration{{.pd.Data.feature_collab_integrat_3}} @@ -502,7 +522,7 @@
Build Your Own Integration{{.pd.Data.feature_collab_integrat_4}} @@ -520,11 +540,11 @@
Import / Export{{.pd.Data.import_export}}
Import from Pinboard{{.pd.Data.feature_import_export_1}} @@ -542,7 +562,7 @@
Import from Firefox{{.pd.Data.feature_import_export_2}} @@ -560,7 +580,7 @@
Import from Chrome{{.pd.Data.feature_import_export_3}} @@ -578,7 +598,7 @@
Import from Safari{{.pd.Data.feature_import_export_4}} @@ -596,7 +616,7 @@
Export in JSON or HTML{{.pd.Data.feature_import_export_5}} @@ -614,11 +634,11 @@
API Powered{{.pd.Data.api_powered}}
Full GraphQL API Access{{.pd.Data.feature_api_powered_1}} @@ -636,7 +656,7 @@
GraphQL Playground{{.pd.Data.feature_api_powered_2}} @@ -654,7 +674,7 @@
OAuth2 Support{{.pd.Data.feature_api_powered_3}} @@ -672,7 +692,7 @@
Personal Access Tokens{{.pd.Data.feature_api_powered_4}} @@ -690,11 +710,11 @@
Self Hosting{{.pd.Data.self_hosting}}
Fully open source{{.pd.Data.feature_self_hosting_1}} @@ -712,7 +732,7 @@
Host your own version o{{.pd.Data.feature_self_hosting_2}} @@ -730,7 +750,7 @@
Documentation{{.pd.Data.feature_self_hosting_3}} @@ -748,11 +768,11 @@
PriceFree$25 per year$25 per month{{.pd.Data.price}}{{.pd.Data.free}}$25 {{.pd.Data.per_year}}$25 {{.pd.Data.per_month}}
-
\ No newline at end of file + -- 2.45.2