Initial commit from monorepo
This commit is contained in:
6
i18n/locales/en/about.json
Normal file
6
i18n/locales/en/about.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"about": {
|
||||
"title": "Raw Materials & Services Marketplace",
|
||||
"description": "Digital platform connecting producers, buyers, logistics companies, financial organizations and quality control services in a unified ecosystem."
|
||||
}
|
||||
}
|
||||
29
i18n/locales/en/aiAssistants.json
Normal file
29
i18n/locales/en/aiAssistants.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"aiAssistants": {
|
||||
"header": {
|
||||
"title": "AI agent"
|
||||
},
|
||||
"view": {
|
||||
"fallbackName": "AI assistant",
|
||||
"not_found": "Assistant not found",
|
||||
"agentTitle": "Optovia AI agent",
|
||||
"agentSubtitle": "Routes, offers, orders and delivery status. Powered by LangGraph + MCP.",
|
||||
"you": "You",
|
||||
"agentName": "Optovia",
|
||||
"typing": "Agent is thinking...",
|
||||
"placeholder": "Ask about offers, routes or an order status",
|
||||
"send": "Send",
|
||||
"reset": "Reset",
|
||||
"welcome": "Hi! I can find offers with routes to your destination, get order status, and list logistics nodes.",
|
||||
"error": "Failed to get a reply from the agent.",
|
||||
"emptyResponse": "No response from agent."
|
||||
},
|
||||
"assistants": {
|
||||
"optovia": {
|
||||
"name": "Logistics agent",
|
||||
"role": "Optovia AI assistant",
|
||||
"description": "Agent for routes, offers and order statuses."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
i18n/locales/en/auth.json
Normal file
17
i18n/locales/en/auth.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"register": "Sign Up",
|
||||
"logout": "Sign Out",
|
||||
"welcome_back": "Welcome Back",
|
||||
"login_description": "Sign in to your Optovia account",
|
||||
"email": "Email",
|
||||
"email_placeholder": "Your email",
|
||||
"password": "Password",
|
||||
"password_placeholder": "Enter password",
|
||||
"login_button": "Sign In",
|
||||
"logging_in": "Signing in...",
|
||||
"no_account": "Don't have an account?",
|
||||
"register_link": "Sign up"
|
||||
}
|
||||
}
|
||||
28
i18n/locales/en/billing.json
Normal file
28
i18n/locales/en/billing.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"billing": {
|
||||
"header": {
|
||||
"title": "Balance"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading balance..."
|
||||
},
|
||||
"errors": {
|
||||
"title": "Loading error",
|
||||
"load_failed": "Failed to load balance",
|
||||
"retry": "Retry"
|
||||
},
|
||||
"balance": {
|
||||
"label": "Current balance",
|
||||
"credits": "Credits",
|
||||
"debits": "Debits"
|
||||
},
|
||||
"transactions": {
|
||||
"title": "Transaction history",
|
||||
"empty": "No transactions yet",
|
||||
"date": "Date",
|
||||
"reason": "Reason",
|
||||
"amount": "Amount",
|
||||
"status": "Status"
|
||||
}
|
||||
}
|
||||
}
|
||||
19
i18n/locales/en/breadcrumbs.json
Normal file
19
i18n/locales/en/breadcrumbs.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"breadcrumbs": {
|
||||
"cabinet": "Cabinet",
|
||||
"orders": "Orders",
|
||||
"addresses": "Addresses",
|
||||
"profile": "Profile",
|
||||
"team": "Company",
|
||||
"kyc": "Verification",
|
||||
"offers": "Offers",
|
||||
"new": "New",
|
||||
"russia": "Russia",
|
||||
"ai": "AI Assistant",
|
||||
"goods": "Goods",
|
||||
"locations": "Locations",
|
||||
"request": "Request",
|
||||
"companySwitch": "Company switch",
|
||||
"tokens": "Tokens"
|
||||
}
|
||||
}
|
||||
11
i18n/locales/en/cabinetNav.json
Normal file
11
i18n/locales/en/cabinetNav.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"cabinetNav": {
|
||||
"orders": "My orders",
|
||||
"addresses": "My addresses",
|
||||
"billing": "Balance",
|
||||
"profile": "Profile",
|
||||
"team": "Company",
|
||||
"offers": "My offers",
|
||||
"ai": "AI assistant"
|
||||
}
|
||||
}
|
||||
7
i18n/locales/en/catalogAddress.json
Normal file
7
i18n/locales/en/catalogAddress.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"catalogAddress": {
|
||||
"badges": {
|
||||
"default": "Default"
|
||||
}
|
||||
}
|
||||
}
|
||||
47
i18n/locales/en/catalogHub.json
Normal file
47
i18n/locales/en/catalogHub.json
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"catalogHub": {
|
||||
"states": {
|
||||
"loading": "Loading hub info..."
|
||||
},
|
||||
"not_found": {
|
||||
"title": "Logistics hub not found",
|
||||
"subtitle": "The page may have been removed or the address is incorrect"
|
||||
},
|
||||
"actions": {
|
||||
"back_to_catalog": "Back to catalog"
|
||||
},
|
||||
"sections": {
|
||||
"offers": {
|
||||
"title": "Offers in this hub"
|
||||
},
|
||||
"suppliers": {
|
||||
"title": "Suppliers working through this hub"
|
||||
},
|
||||
"products": {
|
||||
"title": "Available products"
|
||||
}
|
||||
},
|
||||
"empty": {
|
||||
"offers": {
|
||||
"title": "No offers yet",
|
||||
"subtitle": "There are no active offers in this logistics hub yet. You can publish yours!"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"default_supplier": "Supplier"
|
||||
},
|
||||
"badges": {
|
||||
"offers": "{count} offers"
|
||||
},
|
||||
"meta": {
|
||||
"title": "Logistics hub | Optovia",
|
||||
"title_with_name": "{name} — Logistics hub | Optovia",
|
||||
"description": "Logistics hub {name}, {country} — {offers} offers from {suppliers} suppliers"
|
||||
},
|
||||
"nearbyHubs": {
|
||||
"byRoad": "By Road",
|
||||
"byRail": "By Rail",
|
||||
"empty": "No connections available"
|
||||
}
|
||||
}
|
||||
}
|
||||
20
i18n/locales/en/catalogHubsSection.json
Normal file
20
i18n/locales/en/catalogHubsSection.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"catalogHubsSection": {
|
||||
"header": {
|
||||
"title": "Key hubs and countries"
|
||||
},
|
||||
"actions": {
|
||||
"view_all": "View all"
|
||||
},
|
||||
"empty": {
|
||||
"no_hubs": "No hubs available"
|
||||
},
|
||||
"filters": {
|
||||
"all": "All",
|
||||
"auto": "Auto",
|
||||
"rail": "Rail",
|
||||
"sea": "Sea",
|
||||
"air": "Air"
|
||||
}
|
||||
}
|
||||
}
|
||||
13
i18n/locales/en/catalogLanding.json
Normal file
13
i18n/locales/en/catalogLanding.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"catalogLanding": {
|
||||
"states": {
|
||||
"loading": "Loading catalog data..."
|
||||
},
|
||||
"actions": {
|
||||
"open_map": "Open map"
|
||||
},
|
||||
"labels": {
|
||||
"distance_km": "{km} km"
|
||||
}
|
||||
}
|
||||
}
|
||||
29
i18n/locales/en/catalogMap.json
Normal file
29
i18n/locales/en/catalogMap.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"catalogMap": {
|
||||
"states": {
|
||||
"loading": "Loading locations...",
|
||||
"no_hubs": "No hubs available",
|
||||
"no_suppliers": "No suppliers available",
|
||||
"no_offers": "No offers available"
|
||||
},
|
||||
"actions": {
|
||||
"list_view": "Back to catalog"
|
||||
},
|
||||
"tabs": {
|
||||
"hubs": "Hubs",
|
||||
"suppliers": "Suppliers",
|
||||
"offers": "Offers"
|
||||
},
|
||||
"empty": {
|
||||
"hubs": "No hubs available",
|
||||
"offers": "No offers available",
|
||||
"suppliers": "No suppliers available"
|
||||
},
|
||||
"labels": {
|
||||
"country_unknown": "Country not specified",
|
||||
"distance_from_moscow": "{km} km from Moscow"
|
||||
},
|
||||
"hubsTab": "Hubs",
|
||||
"noHubs": "No hubs"
|
||||
}
|
||||
}
|
||||
41
i18n/locales/en/catalogOffer.json
Normal file
41
i18n/locales/en/catalogOffer.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"catalogOffer": {
|
||||
"states": {
|
||||
"loading": "Loading offer..."
|
||||
},
|
||||
"not_found": {
|
||||
"title": "Offer not found",
|
||||
"subtitle": "The page may have been removed or the address is incorrect"
|
||||
},
|
||||
"actions": {
|
||||
"back_to_catalog": "Back to catalog"
|
||||
},
|
||||
"sections": {
|
||||
"description": {
|
||||
"title": "Description"
|
||||
},
|
||||
"supplier": {
|
||||
"title": "Supplier"
|
||||
},
|
||||
"location": {
|
||||
"title": "Location"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"per_unit": "per {unit}",
|
||||
"quantity_with_unit": "{quantity} {unit}",
|
||||
"valid_until": "Valid until {date}"
|
||||
},
|
||||
"badges": {
|
||||
"valid_until": "until {date}"
|
||||
},
|
||||
"units": {
|
||||
"ton_short": "t"
|
||||
},
|
||||
"meta": {
|
||||
"title": "Offer | Optovia",
|
||||
"title_with_name": "{title} | Optovia",
|
||||
"description": "Offer {title}"
|
||||
}
|
||||
}
|
||||
}
|
||||
9
i18n/locales/en/catalogOfferCard.json
Normal file
9
i18n/locales/en/catalogOfferCard.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"catalogOfferCard": {
|
||||
"labels": {
|
||||
"quantity_with_unit": "{quantity} {unit}",
|
||||
"default_unit": "t",
|
||||
"country_unknown": "Not specified"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
i18n/locales/en/catalogOffersSection.json
Normal file
17
i18n/locales/en/catalogOffersSection.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"catalogOffersSection": {
|
||||
"header": {
|
||||
"title": "Offers"
|
||||
},
|
||||
"actions": {
|
||||
"view_all": "View all"
|
||||
},
|
||||
"filters": {
|
||||
"all": "All",
|
||||
"active": "Active"
|
||||
},
|
||||
"empty": {
|
||||
"no_offers": "No active offers"
|
||||
}
|
||||
}
|
||||
}
|
||||
59
i18n/locales/en/catalogProduct.json
Normal file
59
i18n/locales/en/catalogProduct.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"catalogProduct": {
|
||||
"states": {
|
||||
"loading": "Loading product info..."
|
||||
},
|
||||
"not_found": {
|
||||
"title": "Product not found",
|
||||
"subtitle": "The page may have been removed or the address is incorrect"
|
||||
},
|
||||
"actions": {
|
||||
"back_to_catalog": "Back to catalog"
|
||||
},
|
||||
"labels": {
|
||||
"category_unknown": "Category not specified",
|
||||
"offers_count": "{count} offers",
|
||||
"valid_until": "Valid until {date}",
|
||||
"default_supplier": "Supplier",
|
||||
"supplier_offers": "{count} offers",
|
||||
"in_stock": "In stock",
|
||||
"per_unit": "per {unit}",
|
||||
"price_single": "${price}",
|
||||
"price_range": "${min} - ${max}"
|
||||
},
|
||||
"stats": {
|
||||
"offers": "Active offers",
|
||||
"suppliers": "Suppliers",
|
||||
"locations": "Locations",
|
||||
"price_range": "Price range"
|
||||
},
|
||||
"sections": {
|
||||
"offers": {
|
||||
"title": "Current offers"
|
||||
},
|
||||
"suppliers": {
|
||||
"title": "Suppliers for this product"
|
||||
},
|
||||
"locations": {
|
||||
"title": "Where this product is available"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"draft": "Draft",
|
||||
"cancelled": "Cancelled",
|
||||
"closed": "Closed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"cta": {
|
||||
"title": "Need this product?",
|
||||
"subtitle": "Create a request and get offers from verified suppliers",
|
||||
"action": "Create request"
|
||||
},
|
||||
"meta": {
|
||||
"title": "Product | Optovia",
|
||||
"title_with_name": "{name} | Optovia",
|
||||
"description": "{name} — {offers} offers from {suppliers} suppliers"
|
||||
}
|
||||
}
|
||||
}
|
||||
40
i18n/locales/en/catalogSupplier.json
Normal file
40
i18n/locales/en/catalogSupplier.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"catalogSupplier": {
|
||||
"states": {
|
||||
"loading": "Loading supplier info..."
|
||||
},
|
||||
"not_found": {
|
||||
"title": "Supplier not found",
|
||||
"subtitle": "The page may have been removed or the address is incorrect"
|
||||
},
|
||||
"actions": {
|
||||
"back_to_catalog": "Back to catalog"
|
||||
},
|
||||
"sections": {
|
||||
"offers": {
|
||||
"title": "Active offers"
|
||||
},
|
||||
"products": {
|
||||
"title": "Products"
|
||||
},
|
||||
"locations": {
|
||||
"title": "Supply geography"
|
||||
}
|
||||
},
|
||||
"badges": {
|
||||
"verified": "Verified",
|
||||
"offers": "{count} offers"
|
||||
},
|
||||
"labels": {
|
||||
"on_time": "{percent}% on time",
|
||||
"on_time_default": "89% on time",
|
||||
"trusted_partner": "Trusted partner"
|
||||
},
|
||||
"meta": {
|
||||
"title": "Supplier | Optovia",
|
||||
"title_with_name": "{name} — Supplier | Optovia",
|
||||
"description": "Supplier information",
|
||||
"description_with_name": "Supplier information for {name}"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
i18n/locales/en/catalogSuppliersSection.json
Normal file
17
i18n/locales/en/catalogSuppliersSection.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"catalogSuppliersSection": {
|
||||
"header": {
|
||||
"title": "Verified companies"
|
||||
},
|
||||
"actions": {
|
||||
"view_all": "View all"
|
||||
},
|
||||
"filters": {
|
||||
"all": "All",
|
||||
"verified": "Verified"
|
||||
},
|
||||
"empty": {
|
||||
"no_suppliers": "No registered companies"
|
||||
}
|
||||
}
|
||||
}
|
||||
40
i18n/locales/en/clientOfferForm.json
Normal file
40
i18n/locales/en/clientOfferForm.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"clientOfferForm": {
|
||||
"header": {
|
||||
"title": "Product details"
|
||||
},
|
||||
"actions": {
|
||||
"back": "Back to selection",
|
||||
"chooseAnother": "Choose another product",
|
||||
"save": "Save",
|
||||
"saving": "Saving..."
|
||||
},
|
||||
"error": {
|
||||
"title": "Error",
|
||||
"retry": "Try again",
|
||||
"load": "Failed to load data",
|
||||
"save": "Failed to save data"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading data..."
|
||||
},
|
||||
"noSchema": {
|
||||
"title": "Schema not configured",
|
||||
"description": "The product \"{name}\" has no characteristics schema in TerminusDB. Contact administrator."
|
||||
},
|
||||
"errors": {
|
||||
"productNotFound": "Product with UUID {uuid} not found",
|
||||
"schemaNotFound": "Schema \"{schema}\" not found in TerminusDB"
|
||||
},
|
||||
"labels": {
|
||||
"location": "Location",
|
||||
"location_empty": "No locations available"
|
||||
},
|
||||
"success": {
|
||||
"saved": "Data saved!\\n\\n{payload}"
|
||||
},
|
||||
"debug": {
|
||||
"schema_missing": "not specified"
|
||||
}
|
||||
}
|
||||
}
|
||||
39
i18n/locales/en/clientOffersList.json
Normal file
39
i18n/locales/en/clientOffersList.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"clientOffersList": {
|
||||
"header": {
|
||||
"title": "My offers"
|
||||
},
|
||||
"actions": {
|
||||
"add": "Add",
|
||||
"addOffer": "Add offer"
|
||||
},
|
||||
"error": {
|
||||
"title": "Error",
|
||||
"retry": "Try again",
|
||||
"load": "Failed to load offers"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading offers..."
|
||||
},
|
||||
"labels": {
|
||||
"untitled": "Untitled",
|
||||
"quantity": "Quantity",
|
||||
"price": "Price",
|
||||
"location": "Location",
|
||||
"valid_until": "Valid until",
|
||||
"not_specified": "Not specified",
|
||||
"invalid_date": "Invalid date"
|
||||
},
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"draft": "Draft",
|
||||
"expired": "Expired",
|
||||
"sold": "Sold",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"empty": {
|
||||
"title": "No offers",
|
||||
"subtitle": "Create your first offer"
|
||||
}
|
||||
}
|
||||
}
|
||||
20
i18n/locales/en/clientProfile.json
Normal file
20
i18n/locales/en/clientProfile.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"clientProfile": {
|
||||
"actions": {
|
||||
"debugTokens": "Debug tokens"
|
||||
},
|
||||
"debugTokens": {
|
||||
"title": "Debug tokens",
|
||||
"idToken": "ID Token",
|
||||
"claims": "Claims",
|
||||
"error": "Unable to load tokens"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading profile..."
|
||||
},
|
||||
"error": {
|
||||
"load": "Failed to load profile",
|
||||
"save": "Failed to save profile"
|
||||
}
|
||||
}
|
||||
}
|
||||
7
i18n/locales/en/clientRedirect.json
Normal file
7
i18n/locales/en/clientRedirect.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"clientRedirect": {
|
||||
"status": {
|
||||
"redirecting": "Redirecting to home..."
|
||||
}
|
||||
}
|
||||
}
|
||||
82
i18n/locales/en/clientTeam.json
Normal file
82
i18n/locales/en/clientTeam.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"clientTeam": {
|
||||
"header": {
|
||||
"title": "Your company",
|
||||
"createTitle": "Create company"
|
||||
},
|
||||
"actions": {
|
||||
"switch": "Switch company",
|
||||
"add": "Add",
|
||||
"addCompany": "Add company",
|
||||
"inviteWip": "Member invitation is in development"
|
||||
},
|
||||
"error": {
|
||||
"title": "Error",
|
||||
"retry": "Retry",
|
||||
"load": "Failed to load companies"
|
||||
},
|
||||
"loading": {
|
||||
"message": "Loading companies..."
|
||||
},
|
||||
"empty": {
|
||||
"title": "You have no company",
|
||||
"subtitle": "Create a company to work on the platform",
|
||||
"cta": "Become a member"
|
||||
},
|
||||
"kyc": {
|
||||
"notice": "To work on the platform, complete company verification (KYC)",
|
||||
"button": "Complete verification →",
|
||||
"pending": {
|
||||
"title": "Application under review",
|
||||
"description": "Your verification request is being reviewed. We will notify you of the result."
|
||||
},
|
||||
"approved": {
|
||||
"title": "Verification complete",
|
||||
"description": "Your company is being created. Please refresh the page in a few seconds."
|
||||
},
|
||||
"empty": {
|
||||
"title": "Company verification",
|
||||
"description": "To work on the platform, you need to complete company verification (KYC)",
|
||||
"cta": "Start verification"
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
"title": "Members",
|
||||
"invited": "Invited"
|
||||
},
|
||||
"inviteCard": {
|
||||
"title": "Invite"
|
||||
},
|
||||
"invitations": {
|
||||
"pending": "Pending response",
|
||||
"sent": "Invitation sent"
|
||||
},
|
||||
"membersLocked": {
|
||||
"title": "🔒 Members",
|
||||
"subtitle": "Member management will be available after verification"
|
||||
},
|
||||
"kycStatus": {
|
||||
"approved": "Verified",
|
||||
"inReview": "Under review",
|
||||
"pending": "Verification required",
|
||||
"rejected": "Verification rejected",
|
||||
"default": "Verification required"
|
||||
},
|
||||
"roles": {
|
||||
"owner": "Owner",
|
||||
"admin": "Administrator",
|
||||
"manager": "Manager",
|
||||
"member": "Member"
|
||||
},
|
||||
"invite": {
|
||||
"title": "Invite member",
|
||||
"email": "Email",
|
||||
"emailPlaceholder": "Enter email address",
|
||||
"role": "Role",
|
||||
"submit": "Send invitation",
|
||||
"cancel": "Cancel",
|
||||
"error": "Failed to send invitation",
|
||||
"success": "Invitation sent"
|
||||
}
|
||||
}
|
||||
}
|
||||
11
i18n/locales/en/clientTeamSwitch.json
Normal file
11
i18n/locales/en/clientTeamSwitch.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"clientTeamSwitch": {
|
||||
"loading": {
|
||||
"message": "Loading teams..."
|
||||
},
|
||||
"error": {
|
||||
"load": "Failed to load teams",
|
||||
"switch": "Failed to switch team"
|
||||
}
|
||||
}
|
||||
}
|
||||
23
i18n/locales/en/common.json
Normal file
23
i18n/locales/en/common.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"common": {
|
||||
"loading": "Loading...",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"refresh": "Refresh",
|
||||
"error": "Error",
|
||||
"success": "Success",
|
||||
"retry": "Retry",
|
||||
"actions": {
|
||||
"load_more": "Load more"
|
||||
},
|
||||
"pagination": {
|
||||
"showing": "Showing {shown} of {total}"
|
||||
},
|
||||
"selectLocation": "Select location",
|
||||
"theme_dark": "Dark mode",
|
||||
"theme_light": "Light mode",
|
||||
"values": {
|
||||
"not_available": "Not available"
|
||||
}
|
||||
}
|
||||
}
|
||||
8
i18n/locales/en/cta.json
Normal file
8
i18n/locales/en/cta.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"cta": {
|
||||
"title": "Ready to Start Trading?",
|
||||
"description": "Join thousands of companies already using Optovia for their deals",
|
||||
"start_selling": "Start Selling",
|
||||
"start_buying": "Start Buying"
|
||||
}
|
||||
}
|
||||
34
i18n/locales/en/dashboard.json
Normal file
34
i18n/locales/en/dashboard.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
"home": "Home",
|
||||
"profile": "Profile",
|
||||
"team": "Team",
|
||||
"orders": "My Orders",
|
||||
"favorites": "Favorites",
|
||||
"products": "My Products",
|
||||
"analytics": "Analytics",
|
||||
"welcome": "Welcome to your Optovia personal dashboard",
|
||||
"profile_info": "Profile Information",
|
||||
"activity": "Activity",
|
||||
"quick_actions": "Quick Actions",
|
||||
"new_calculation": "New calculation",
|
||||
"notifications": "Notifications",
|
||||
"visits_today": "Visits today",
|
||||
"product_views": "Product views",
|
||||
"last_login": "Last login",
|
||||
"find_products": "Find Products",
|
||||
"search_marketplace": "Search marketplace",
|
||||
"materials": "Materials",
|
||||
"catalog": "Product catalog",
|
||||
"profile_settings": "Account settings",
|
||||
"pass_kyc": "Complete KYC Verification",
|
||||
"pass_kyc_desc": "Verify your identity to access all features",
|
||||
"add_team_member": "Add Team Member",
|
||||
"add_team_member_desc": "Invite colleagues to collaborate",
|
||||
"complete_profile": "Complete Profile",
|
||||
"complete_profile_desc": "Add company information and contacts",
|
||||
"switch_company": "Switch Company",
|
||||
"locations_description": "Warehouses and delivery points"
|
||||
}
|
||||
}
|
||||
11
i18n/locales/en/footer.json
Normal file
11
i18n/locales/en/footer.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"footer": {
|
||||
"buyers": "For Buyers",
|
||||
"suppliers": "For Suppliers",
|
||||
"services": "For Service Companies",
|
||||
"rights": "All rights reserved",
|
||||
"privacy": "Privacy Policy",
|
||||
"terms": "Terms of Service",
|
||||
"support": "Support"
|
||||
}
|
||||
}
|
||||
36
i18n/locales/en/ganttTimeline.json
Normal file
36
i18n/locales/en/ganttTimeline.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"ganttTimeline": {
|
||||
"states": {
|
||||
"loading": "Loading timeline..."
|
||||
},
|
||||
"legend": {
|
||||
"title": "Delivery stages",
|
||||
"auto": "Road transport",
|
||||
"sea": "Sea transport",
|
||||
"rail": "Rail transport",
|
||||
"services": "Services"
|
||||
},
|
||||
"modal": {
|
||||
"title": "Trip details",
|
||||
"company": {
|
||||
"title": "Company",
|
||||
"tax_id": "Tax ID:"
|
||||
},
|
||||
"dates": {
|
||||
"title": "Dates",
|
||||
"planned_loading": "Planned loading:",
|
||||
"actual_loading": "Actual loading:",
|
||||
"planned_unloading": "Planned unloading:",
|
||||
"actual_unloading": "Actual unloading:"
|
||||
},
|
||||
"weight": {
|
||||
"title": "Weight",
|
||||
"planned": "Planned:",
|
||||
"at_loading": "At loading:",
|
||||
"at_unloading": "At unloading:",
|
||||
"unit": "t"
|
||||
},
|
||||
"not_specified": "Not specified"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
i18n/locales/en/goods.json
Normal file
27
i18n/locales/en/goods.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"goods": {
|
||||
"title": "Goods",
|
||||
"back": "Back to Search",
|
||||
"filter_placeholder": "Search materials",
|
||||
"all_categories": "All Categories",
|
||||
"metals": "Metals",
|
||||
"energy": "Energy Resources",
|
||||
"chemicals": "Chemicals",
|
||||
"per_ton": "per ton",
|
||||
"filters": "Filters",
|
||||
"search": "Search",
|
||||
"category": "Category",
|
||||
"price_range": "Price Range",
|
||||
"grid_view": "Grid",
|
||||
"list_view": "List",
|
||||
"description": "Materials and products available on the platform",
|
||||
"error": {
|
||||
"title": "Failed to load",
|
||||
"retry": "Try again"
|
||||
},
|
||||
"empty": {
|
||||
"title": "No products",
|
||||
"description": "Products have not been added to the platform yet"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
i18n/locales/en/howto.json
Normal file
17
i18n/locales/en/howto.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"howto": {
|
||||
"title": "How It Works",
|
||||
"step1": {
|
||||
"title": "Find Materials",
|
||||
"description": "Select the raw materials you need, specify quantity and delivery location"
|
||||
},
|
||||
"step2": {
|
||||
"title": "Compare Offers",
|
||||
"description": "Get offers from verified suppliers with various logistics options"
|
||||
},
|
||||
"step3": {
|
||||
"title": "Choose Services",
|
||||
"description": "Add financing, insurance and quality control to your deal"
|
||||
}
|
||||
}
|
||||
}
|
||||
8
i18n/locales/en/kyc.json
Normal file
8
i18n/locales/en/kyc.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"kyc": {
|
||||
"verification_status": "Verification Status",
|
||||
"team_verification_description": "Complete team verification to create orders",
|
||||
"start_verification": "Start Verification",
|
||||
"check_status_in_odoo": "Status is being reviewed by administrator"
|
||||
}
|
||||
}
|
||||
63
i18n/locales/en/kycOverview.json
Normal file
63
i18n/locales/en/kycOverview.json
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"kycOverview": {
|
||||
"header": {
|
||||
"title": "KYC verification"
|
||||
},
|
||||
"errors": {
|
||||
"title": "Error",
|
||||
"retry": "Retry",
|
||||
"not_authenticated": "User not authenticated",
|
||||
"load_failed": "Failed to load KYC data"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading verification status..."
|
||||
},
|
||||
"labels": {
|
||||
"approved_at": "Approved {date}"
|
||||
},
|
||||
"actions": {
|
||||
"retry": "Retry verification",
|
||||
"back_to_team": "Back to team"
|
||||
},
|
||||
"choose_country": {
|
||||
"title": "Select a country for verification",
|
||||
"subtitle": "Complete company verification to access all platform features."
|
||||
},
|
||||
"countries": {
|
||||
"russia": {
|
||||
"title": "Russia",
|
||||
"description": "Verification via INN with auto-fill from FTS database",
|
||||
"badge": "Available"
|
||||
},
|
||||
"kazakhstan": {
|
||||
"title": "Kazakhstan",
|
||||
"description": "Verification via BIN (soon)",
|
||||
"badge": "Coming soon"
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"title": "About verification",
|
||||
"point1": "Verification takes 1-2 business days",
|
||||
"point2": "Data auto-filled from official sources",
|
||||
"point3": "Full platform access after verification"
|
||||
},
|
||||
"status": {
|
||||
"title": {
|
||||
"pending": "Application under review",
|
||||
"in_review": "Documents are being checked",
|
||||
"approved": "Verification passed",
|
||||
"rejected": "Verification rejected",
|
||||
"expired": "Application expired",
|
||||
"unknown": "Unknown status"
|
||||
},
|
||||
"description": {
|
||||
"pending": "Your application is processing. Expect results within 1-2 business days.",
|
||||
"in_review": "Specialists are checking documents and company data.",
|
||||
"approved": "Congratulations! The company has passed verification.",
|
||||
"rejected": "Verification rejected. Check data and try again.",
|
||||
"expired": "Application expired. Submit a new one.",
|
||||
"unknown": "Unknown application status"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23
i18n/locales/en/kycRussia.json
Normal file
23
i18n/locales/en/kycRussia.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"kycRussia": {
|
||||
"header": {
|
||||
"title": "Verification for Russia",
|
||||
"subtitle": "Fill in your organization data. Fields will be auto-filled via INN lookup."
|
||||
},
|
||||
"states": {
|
||||
"submitting": "Submitting verification request..."
|
||||
},
|
||||
"errors": {
|
||||
"title": "Submission error",
|
||||
"not_authenticated": "User not authenticated",
|
||||
"no_team": "Please create a company first",
|
||||
"create_failed": "Failed to create request",
|
||||
"submit_failed": "An error occurred while submitting the request"
|
||||
},
|
||||
"success": {
|
||||
"title": "Request sent successfully",
|
||||
"description": "Your verification request has been accepted. Result will be ready within 1-2 business days.",
|
||||
"cta": "View request status →"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
i18n/locales/en/locations.json
Normal file
14
i18n/locales/en/locations.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"locations": {
|
||||
"title": "Select Delivery Location",
|
||||
"back": "Back to Search",
|
||||
"list_view": "List",
|
||||
"map_view": "Map",
|
||||
"filters": "Filters",
|
||||
"search": "Search City",
|
||||
"search_placeholder": "City name",
|
||||
"regions": "Federal Districts",
|
||||
"all_regions": "All Regions",
|
||||
"all_countries": "All countries"
|
||||
}
|
||||
}
|
||||
8
i18n/locales/en/nav.json
Normal file
8
i18n/locales/en/nav.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"nav": {
|
||||
"search": "Search",
|
||||
"offers": "Offers",
|
||||
"suppliers": "Suppliers",
|
||||
"hubs": "Hubs"
|
||||
}
|
||||
}
|
||||
22
i18n/locales/en/offersNew.json
Normal file
22
i18n/locales/en/offersNew.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"offersNew": {
|
||||
"header": {
|
||||
"title": "Select a product"
|
||||
},
|
||||
"actions": {
|
||||
"back": "Back"
|
||||
},
|
||||
"errors": {
|
||||
"title": "Error",
|
||||
"retry": "Try again",
|
||||
"load_failed": "Failed to load products"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading products..."
|
||||
},
|
||||
"empty": {
|
||||
"title": "No products available",
|
||||
"description": "Contact the administrator to add products"
|
||||
}
|
||||
}
|
||||
}
|
||||
31
i18n/locales/en/orderCalendar.json
Normal file
31
i18n/locales/en/orderCalendar.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"orderCalendar": {
|
||||
"header": {
|
||||
"title": "Trips calendar"
|
||||
},
|
||||
"filters": {
|
||||
"loading": "Loading",
|
||||
"unloading": "Unloading"
|
||||
},
|
||||
"labels": {
|
||||
"loading": "Loading",
|
||||
"unloading": "Unloading",
|
||||
"weight_unit": "t",
|
||||
"service": "Service",
|
||||
"service_stage": "Service stage"
|
||||
},
|
||||
"months": "Aug 2024|Sep 2024|Oct 2024",
|
||||
"stats": {
|
||||
"title": "Period stats:",
|
||||
"trips": "Trips:",
|
||||
"companies": "Companies:",
|
||||
"weight": "Weight:"
|
||||
},
|
||||
"transport": {
|
||||
"auto": "Road transport",
|
||||
"rail": "Rail transport",
|
||||
"sea": "Sea transport",
|
||||
"air": "Air transport"
|
||||
}
|
||||
}
|
||||
}
|
||||
12
i18n/locales/en/orderMap.json
Normal file
12
i18n/locales/en/orderMap.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"orderMap": {
|
||||
"header": {
|
||||
"title": "Logistics route"
|
||||
},
|
||||
"stats": {
|
||||
"distance_value": "{km} km",
|
||||
"distance_label": "approximate distance",
|
||||
"countries_label": "countries in route"
|
||||
}
|
||||
}
|
||||
}
|
||||
7
i18n/locales/en/orders.json
Normal file
7
i18n/locales/en/orders.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"orders": {
|
||||
"no_orders": "No orders",
|
||||
"no_orders_desc": "Start by creating a new calculation",
|
||||
"create_new": "Create new calculation"
|
||||
}
|
||||
}
|
||||
51
i18n/locales/en/ordersDetail.json
Normal file
51
i18n/locales/en/ordersDetail.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"ordersDetail": {
|
||||
"header": {
|
||||
"title": "Order #{id}"
|
||||
},
|
||||
"errors": {
|
||||
"title": "Error",
|
||||
"retry": "Try again",
|
||||
"load_failed": "Failed to load order"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading order details..."
|
||||
},
|
||||
"labels": {
|
||||
"unit_tons": "tons",
|
||||
"product_unknown": "Product",
|
||||
"delivery_days": "delivery days",
|
||||
"weight_unit": "t",
|
||||
"trips": "trips",
|
||||
"company_unknown": "Company not specified",
|
||||
"price_zero": "0 ₽",
|
||||
"dates_undefined": "Dates not set"
|
||||
},
|
||||
"sections": {
|
||||
"stages": {
|
||||
"title": "Route stages",
|
||||
"companies": {
|
||||
"title": "Companies",
|
||||
"empty": "No companies assigned"
|
||||
},
|
||||
"route_title": "Stage route",
|
||||
"empty": "Route stages are not defined"
|
||||
},
|
||||
"map": {
|
||||
"title": "Overall route map"
|
||||
},
|
||||
"timeline": {
|
||||
"title": "Delivery timeline",
|
||||
"empty": "No data for timeline"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"in_transit": "In transit",
|
||||
"delivered": "Delivered",
|
||||
"cancelled": "Cancelled",
|
||||
"unknown": "Unknown"
|
||||
}
|
||||
}
|
||||
}
|
||||
29
i18n/locales/en/ordersList.json
Normal file
29
i18n/locales/en/ordersList.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"ordersList": {
|
||||
"actions": {
|
||||
"new_calc": "New calculation"
|
||||
},
|
||||
"errors": {
|
||||
"retry": "Try again"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading orders..."
|
||||
},
|
||||
"filters": {
|
||||
"all": "All",
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"in_transit": "In Transit",
|
||||
"delivered": "Delivered"
|
||||
},
|
||||
"card": {
|
||||
"order_label": "Order",
|
||||
"route": "Route",
|
||||
"product": "Product",
|
||||
"product_loading": "Loading...",
|
||||
"unit_tons": "tons",
|
||||
"status": "Status",
|
||||
"stages_completed": "Stages completed: {done} / {total}"
|
||||
}
|
||||
}
|
||||
}
|
||||
30
i18n/locales/en/profile.json
Normal file
30
i18n/locales/en/profile.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"profile": {
|
||||
"description": "Manage your profile data and account settings",
|
||||
"personal_info": "Personal Information",
|
||||
"account_settings": "Account Settings",
|
||||
"username": "Username",
|
||||
"first_name": "First Name",
|
||||
"first_name_placeholder": "Enter first name",
|
||||
"last_name": "Last Name",
|
||||
"last_name_placeholder": "Enter last name",
|
||||
"phone": "Phone",
|
||||
"phone_placeholder": "+1 XXX XXX XXXX",
|
||||
"avatar": "Avatar",
|
||||
"regenerate_avatar": "Regenerate avatar",
|
||||
"save": "Save",
|
||||
"saving": "Saving",
|
||||
"role": "Role",
|
||||
"language": "Interface language",
|
||||
"notifications_settings": "Notifications",
|
||||
"email_notifications": "Email notifications about new offers",
|
||||
"order_notifications": "Order update notifications",
|
||||
"security": "Security",
|
||||
"two_factor": "Two-factor authentication",
|
||||
"not_configured": "Not configured",
|
||||
"last_login": "Last login",
|
||||
"status": "Status",
|
||||
"active": "Active",
|
||||
"not_specified": "Not specified"
|
||||
}
|
||||
}
|
||||
46
i18n/locales/en/profileAddresses.json
Normal file
46
i18n/locales/en/profileAddresses.json
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"profileAddresses": {
|
||||
"header": {
|
||||
"title": "My addresses"
|
||||
},
|
||||
"actions": {
|
||||
"add": "Add address",
|
||||
"confirm_delete": "Delete this address?",
|
||||
"delete": "Delete"
|
||||
},
|
||||
"form": {
|
||||
"title": "New address",
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "e.g. Office, Warehouse, Production"
|
||||
},
|
||||
"address": {
|
||||
"label": "Address",
|
||||
"placeholder": "Full address"
|
||||
},
|
||||
"latitude": {
|
||||
"label": "Latitude",
|
||||
"placeholder": "55.7558"
|
||||
},
|
||||
"longitude": {
|
||||
"label": "Longitude",
|
||||
"placeholder": "37.6173"
|
||||
},
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"mapLabel": "Select a point on the map"
|
||||
},
|
||||
"states": {
|
||||
"loading": "Loading addresses..."
|
||||
},
|
||||
"labels": {
|
||||
"default": "Default"
|
||||
},
|
||||
"empty": {
|
||||
"description": "You have no saved addresses yet",
|
||||
"cta": "Add first address",
|
||||
"title": "No addresses"
|
||||
},
|
||||
"status": {}
|
||||
}
|
||||
}
|
||||
34
i18n/locales/en/roles.json
Normal file
34
i18n/locales/en/roles.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"roles": {
|
||||
"title": "Who Our Platform Is For",
|
||||
"producers": {
|
||||
"title": "Producers",
|
||||
"description": "Sell raw materials directly to buyers through our platform",
|
||||
"benefit1": "Sales bulletin board",
|
||||
"benefit2": "Auction tender participation",
|
||||
"benefit3": "Access to financing",
|
||||
"benefit4": "Logistics solutions",
|
||||
"cta": "Start Selling"
|
||||
},
|
||||
"buyers": {
|
||||
"title": "Buyers",
|
||||
"description": "Find and purchase raw materials with quality and delivery guarantees",
|
||||
"benefit1": "Search and compare offers",
|
||||
"benefit2": "Purchase financing",
|
||||
"benefit3": "Deal insurance",
|
||||
"benefit4": "Product quality control",
|
||||
"cta": "Start Buying"
|
||||
},
|
||||
"services": {
|
||||
"title": "Service Companies",
|
||||
"description": "Provide services to marketplace participants and expand your client base",
|
||||
"benefit1": "Logistics companies",
|
||||
"benefit2": "Financial organizations",
|
||||
"benefit3": "Quality control laboratories",
|
||||
"benefit4": "Insurance companies",
|
||||
"cta": "Become a Partner"
|
||||
},
|
||||
"buyer": "Buyer",
|
||||
"seller": "Seller"
|
||||
}
|
||||
}
|
||||
15
i18n/locales/en/routeMap.json
Normal file
15
i18n/locales/en/routeMap.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"routeMap": {
|
||||
"states": {
|
||||
"loading": "Loading map..."
|
||||
},
|
||||
"popup": {
|
||||
"companies": "Companies:"
|
||||
},
|
||||
"points": {
|
||||
"source": "Departure point",
|
||||
"destination": "Destination point",
|
||||
"service": "Service point"
|
||||
}
|
||||
}
|
||||
}
|
||||
81
i18n/locales/en/search.json
Normal file
81
i18n/locales/en/search.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"search": {
|
||||
"title": "Find Raw Materials",
|
||||
"subtitle": "& Industrial Services",
|
||||
"description": "Connect with suppliers, get competitive prices, and streamline your procurement process",
|
||||
"product_label": "What are you looking for?",
|
||||
"product_placeholder": "Select material type",
|
||||
"quantity_label": "Quantity",
|
||||
"quantity_placeholder": "Amount",
|
||||
"location_label": "Delivery to",
|
||||
"location_placeholder": "City or region",
|
||||
"search_button": "Search",
|
||||
"order_created": "Order Created",
|
||||
"order_number": "Number",
|
||||
"verified_suppliers": "verified suppliers",
|
||||
"verified_logistics": "verified logistics companies",
|
||||
"verified_banks": "verified banks",
|
||||
"verified_insurance": "verified insurance companies",
|
||||
"delivery": "delivery",
|
||||
"annual": "annually",
|
||||
"from_deal": "of deal value",
|
||||
"suppliers_geography": "Suppliers Geography",
|
||||
"total_cost": "Total Cost",
|
||||
"material": "Material",
|
||||
"delivery_cost": "Delivery",
|
||||
"insurance_cost": "Insurance",
|
||||
"optional": "opt.",
|
||||
"total": "Total",
|
||||
"implementation_time": "Implementation time",
|
||||
"savings": "Savings",
|
||||
"geography": "Geography",
|
||||
"need_help": "Need help?",
|
||||
"manager_title": "Raw materials market expert",
|
||||
"presentation": "Presentation",
|
||||
"presentation_duration": "1 hour",
|
||||
"any_language": "In any language",
|
||||
"contact": "Contact",
|
||||
"continue": "Continue",
|
||||
"results": "Search Results",
|
||||
"delivery_options": "Delivery Options",
|
||||
"new_search": "New Search",
|
||||
"logistics_cost": "logistics cost",
|
||||
"choose_supplier": "Choose Supplier",
|
||||
"filters": "Filters",
|
||||
"supplier_filter": "Search Supplier",
|
||||
"supplier_placeholder": "Company name",
|
||||
"logistics_type": "Logistics Type",
|
||||
"all_logistics": "All Options",
|
||||
"auto_only": "Auto Only",
|
||||
"multimodal": "Multimodal",
|
||||
"list_view": "List",
|
||||
"map_view": "Map",
|
||||
"placeholder": "Search products, suppliers...",
|
||||
"error": "Error!",
|
||||
"units": {
|
||||
"tons_short": "t"
|
||||
},
|
||||
"popular_requests": "Popular requests",
|
||||
"examples": {
|
||||
"metal_sheet": {
|
||||
"product": "Sheet metal",
|
||||
"location": "Moscow"
|
||||
},
|
||||
"green_coffee": {
|
||||
"product": "Green coffee",
|
||||
"location": "Vladivostok"
|
||||
},
|
||||
"wheat": {
|
||||
"product": "Wheat",
|
||||
"location": "Rostov-on-Don"
|
||||
},
|
||||
"cocoa": {
|
||||
"product": "Cocoa beans",
|
||||
"location": "Novorossiysk"
|
||||
}
|
||||
},
|
||||
"validation": {
|
||||
"fill_product_location": "Fill in product and location"
|
||||
}
|
||||
}
|
||||
}
|
||||
12
i18n/locales/en/searchPage.json
Normal file
12
i18n/locales/en/searchPage.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"searchPage": {
|
||||
"hero": {
|
||||
"title": "Search and select supplies",
|
||||
"subtitle": "Enter product, quantity, and location — search without authorization. You can complete in your cabinet."
|
||||
},
|
||||
"cta": {
|
||||
"catalog": "Catalog",
|
||||
"orders": "My orders"
|
||||
}
|
||||
}
|
||||
}
|
||||
11
i18n/locales/en/sidebar.json
Normal file
11
i18n/locales/en/sidebar.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sidebar": {
|
||||
"exchange": "Exchange",
|
||||
"ordersLogistics": "Orders & Logistics",
|
||||
"seller": "Seller",
|
||||
"aiTools": "AI & Tools",
|
||||
"settings": "Settings",
|
||||
"createCompany": "Create company",
|
||||
"joinCompany": "Join company"
|
||||
}
|
||||
}
|
||||
9
i18n/locales/en/stats.json
Normal file
9
i18n/locales/en/stats.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"stats": {
|
||||
"title": "Optovia in Numbers",
|
||||
"suppliers": "Suppliers",
|
||||
"transactions": "Transaction Volume",
|
||||
"service_companies": "Service Companies",
|
||||
"support": "Support"
|
||||
}
|
||||
}
|
||||
14
i18n/locales/en/supplier.json
Normal file
14
i18n/locales/en/supplier.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"supplier": {
|
||||
"delivery_time": "Delivery Time",
|
||||
"logistics": "Logistics Companies",
|
||||
"financing": "Financing",
|
||||
"insurance": "Insurance",
|
||||
"quality_control": "Quality Control",
|
||||
"total_summary": "Total Amount",
|
||||
"all_services_selected": "All services selected",
|
||||
"final_cost": "Final Cost",
|
||||
"back_to_suppliers": "Back to Suppliers",
|
||||
"place_order": "Place Order"
|
||||
}
|
||||
}
|
||||
30
i18n/locales/en/supplierFlow.json
Normal file
30
i18n/locales/en/supplierFlow.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"supplierFlow": {
|
||||
"breadcrumb": {
|
||||
"home": "Home",
|
||||
"search_results": "Search results",
|
||||
"select_services": "Select service companies"
|
||||
},
|
||||
"sections": {
|
||||
"logistics": {
|
||||
"title": "Logistics",
|
||||
"subtitle": "Choose a carrier"
|
||||
},
|
||||
"financing": {
|
||||
"title": "Financing",
|
||||
"subtitle": "Choose a bank"
|
||||
},
|
||||
"insurance": {
|
||||
"title": "Insurance",
|
||||
"subtitle": "Choose an insurance company"
|
||||
},
|
||||
"quality": {
|
||||
"title": "Quality control",
|
||||
"subtitle": "Choose a laboratory"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"rating_reviews": "★ {rating} ({reviews})"
|
||||
}
|
||||
}
|
||||
}
|
||||
40
i18n/locales/en/teams.json
Normal file
40
i18n/locales/en/teams.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"teams": {
|
||||
"create_team": "Create Team",
|
||||
"team_name": "Team Name",
|
||||
"team_name_placeholder": "Enter team name",
|
||||
"creating": "Creating...",
|
||||
"no_team": "You don't have a team",
|
||||
"no_team_description": "Create a team for collaboration and KYC verification",
|
||||
"create_first_team": "Become a Member",
|
||||
"your_teams": "Your Teams",
|
||||
"create_new_team": "Create New Team",
|
||||
"members": "Members",
|
||||
"invite_member": "Invite member",
|
||||
"kyc_verification": "KYC verification",
|
||||
"created": "Created",
|
||||
"view_details": "View Details",
|
||||
"start_kyc": "Start KYC",
|
||||
"retry_kyc": "Retry KYC",
|
||||
"description": "Manage teams and pass verification",
|
||||
"status": {
|
||||
"pending_kyc": "KYC Required",
|
||||
"kyc_in_review": "KYC Under Review",
|
||||
"kyc_approved": "KYC Approved",
|
||||
"kyc_rejected": "KYC Rejected",
|
||||
"suspended": "Suspended"
|
||||
},
|
||||
"company_type": {
|
||||
"label": "Company type",
|
||||
"buyer": "Buyer",
|
||||
"seller": "Seller"
|
||||
},
|
||||
"errors": {
|
||||
"create_failed": "Failed to create team"
|
||||
},
|
||||
"active": "Active",
|
||||
"create_description": "Add a team for work",
|
||||
"switch_description": "Choose a team to work with or create a new one",
|
||||
"switch_to": "Switch to"
|
||||
}
|
||||
}
|
||||
13
i18n/locales/en/testMap.json
Normal file
13
i18n/locales/en/testMap.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"testMap": {
|
||||
"title": "Mapbox test — space flight",
|
||||
"controls": {
|
||||
"duration": "Duration (ms):",
|
||||
"min_zoom": "Min. zoom (altitude):",
|
||||
"min_zoom_hint": "(lower = higher into space)",
|
||||
"target_zoom": "Target zoom:",
|
||||
"style": "Map style:",
|
||||
"globe": "Globe projection (3D globe)"
|
||||
}
|
||||
}
|
||||
}
|
||||
5
i18n/locales/en/testimonials.json
Normal file
5
i18n/locales/en/testimonials.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"testimonials": {
|
||||
"title": "Client Testimonials"
|
||||
}
|
||||
}
|
||||
7
i18n/locales/en/timelineStages.json
Normal file
7
i18n/locales/en/timelineStages.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"timelineStages": {
|
||||
"labels": {
|
||||
"trips": "{count} trips"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user