LogoLogo
  • ๐Ÿ‘‹Welcome
  • ๐ŸŽ“Academy
    • Getting Started
    • Connecting Data Sources
      • Jet Database
      • Google Sheet
      • Airtable
      • Custom API Action (Zapier)
      • Firebase
    • Data Editor
      • Data Editor Interface
      • Data Source Settings
      • Prepare & Organize Data
      • Edit Data
      • Field Types
      • Related Data
      • Lookups & Rollups
      • Files & Storages
      • Data Blending Intro
    • App Builder
      • Builder and User Modes
      • Pages and Overlays
      • UI Builder
      • Bind Data to UI
      • Bind Filter to Table
      • Bind Input Field to Table
      • Bind Form to Table
      • Bind Related Tables
      • Bind across Pages
      • Bind from Page to Modal
      • Calculcation & Formulas
    • Team & Users Permissions
    • Automations
    • Environments
    • Custom API Collection
    • Nested Filters
    • Built-in Approval Flow
    • Create Multi-Step Forms
    • Component Designer
    • Build Apps Together
      • Custom CRM
      • Internal Tool
      • Customer portal
      • Supabase CRM
    • Import Figma design to Jet
    • Authentication
      • Supabase Auth
      • Firebase Auth
      • Xano Auth
  • ๐Ÿ“ฃWhat's new
  • ๐Ÿ”Data Privacy & Security
  • ๐Ÿ™ŒJoin the Community
  • ๐ŸžFAQ and Troubleshooting
    • A data resource is failing to sync
    • Data is not loading
    • How to clone the whole app?
    • Why new SQL tables are not showing?
    • How to restrict input in a text field?
    • Troubleshooting Django integration
    • How to Connect to Slack Channel
  • Guides
    • โšกQuickstart
    • ๐Ÿ› ๏ธBuilding an Internal Tool
      • Connect your Data
      • Configure Data
      • Build UI
      • Run Actions
      • App Customization
      • Publish your App
    • ๐Ÿ‘ฅCreating a Customer Portal
      • Prepare your Data
      • Generate the App
      • Set the Layout
      • Link Related Tables
      • Customize your Portal
      • Users & Permissions
    • ๐Ÿคฟ Deep dives
      • Single relations
      • Conditional Visibility
      • Reading data from API
      • Reading data from SQL
      • Generate Invoice or Document
        • Document
    • ๐Ÿ“งSend Emails
    • ๐ŸŽจPixel Perfect App
      • Designing your component
      • Adding Images
      • Apply Frame to Image
      • Pass values to Image
      • Pass values to Text Field
      • Binding data
      • Hide elements
      • Support multi-screens
    • ๐Ÿš€UI in seconds
    • ๐Ÿช…Figma design into a web app
  • AI Custom Components
    • Enhance Your Prompts with AI Assistance
    • Enhancing Your Prompts with Images
    • Auto-Generate Parameters and Actions
    • Edit Your Custom Code with the Custom Component Builder
    • Import and Iterate on Your Existing Components
  • References
    • ๐Ÿฆ„Core concept
      • Jet UI
        • App settings
          • Appearance Settings
          • Adding Custom Fonts
          • Theme & Styles
          • Menu
          • App Info
          • Custom Domain and Transactional Emails
          • Sign Up
          • Features
          • Custom Scripts & Styles
      • Intro to Data
      • Navigation
      • Menu Conditional Enabled
      • Set Variable Action in Menu
      • Sharing your app
        • Invite by Email
        • Invite by Link
        • Creating a Public Page
    • ๐ŸงฐData Sources
      • Database resources
        • Instant Installation
        • Docker Installation
        • Python app Installation
      • Jet Tables
        • Storage & Files
      • Rest API
        • Basic Authentication
        • Bearer Token
        • OAuth 2.0
        • Jet Requests Auth
      • Firebase / Firestore
        • Syncing Firebase Data Using Functions
        • Firestore
        • Import CSV into Firebase
        • Firebase Cloud Storage
        • Realtime DB
        • Visualize Subcollection
      • Google Sheets
        • Working with Data
      • Airtable
      • MongoDB
      • Amazon Athena (AWS Athena)
      • Databricks
      • CockroachDB
      • ClickHouse
      • GraphQL
      • Supabase
      • Django
      • MySQL
      • MariaDB
      • Xano
        • Create APIs on top of your Xano database
        • Connect Xano to Jet Admin
        • Upload files to Xano
      • SmartSuite
      • Stripe
      • Hubspot
      • Intercom
      • Zendesk
      • Salesforce
      • Slack
      • Zapier
      • Webflow
      • Amazon S3 and S3 compatible storage
      • Google Cloud Storage
      • SendGrid
      • Twilio
      • Mixpanel
      • Snowflake
      • OpenAI and Jet Admin
      • Supabase Storage
    • ๐Ÿ”—Binding & Values
      • Binding Components
      • Extract & Pass Values
      • Binding two related Tables
      • Binding Form to Table
      • Binding Filter to Table
      • Binding Field to Table
      • Binding across Pages
      • Binding across Overlays
    • ๐Ÿ” Variables
    • ๐ŸŒˆBasic Columns
    • ๐Ÿ”ขComputed Column
      • Relations
      • Rollup Column
      • Lookup Column
      • Formula
        • Setting up promotional email
        • Create Custom fields using Formulas
        • Parse JSON Fields
        • Math Column
        • List of Functions
      • JavaScript Column
      • Calculated values in column
    • ๐ŸŽจDesign & Structure
      • Customizing Pages
        • Create a New Page
        • Copy the Page
        • Customize the Page
        • Page Values
        • Link Pages
        • Load Data (Page Query)
        • Page Opens Action
        • Home Page
      • Components
        • Lists
          • Table
            • Grouping records
            • Filters (built-in)
            • Table Actions
          • Map
          • Kanban
          • Calendar
          • Gallery
          • Carousel
          • Timeline
        • Filters
        • Form
          • Create a Form
          • Customize a Form View
          • Examples
          • Page
          • Select
          • Multiple Select
        • Fields
          • File
          • Multiselect / Chips
          • Checkbox
          • Date & Time
          • Date Range
          • Image
          • Text
          • Password
          • Number
          • Rating
          • Slider
          • Range Slider
          • Steps
          • URL
        • Charts
          • How to Set Up a Chart
            • Chart Appearance
            • Drill Down
          • Line
          • Bar
          • Pie
          • Doughnut
          • Single value
        • Text
        • Buttons
        • Button Group
        • Custom Notifications
        • Component Actions
        • Detail
        • Layouts
          • Containers
          • Accordion
          • Collapse
          • Columns
          • Overlays
            • Customizing Overlay
            • Overlay Parameters
            • Building dynamic workflows
          • Slideout
          • Tabs
          • Vertical Tabs
        • HTML Component
        • JavaScript component
          • Create a JavaScript Component
          • Set JavaScript Component Inputs
          • Use JavaScript Component Outputs
        • File PDF Viewer
        • QR Code
        • Bar Code
        • Scanner
        • Signature
        • IFrame
        • Alert
        • Accordion
        • Chips
      • Field Values
        • Extract values from components on the Page
      • Nested Filters
      • Advanced Filters
      • Sort
      • Group
      • Actions
      • Dropdown Popups
      • Export
      • App Theming
      • Global CSS & JS
      • Analytics or Live chats
    • ๐ŸงฎData Editor
      • Syncing Schema and Data
      • Managing Columns
      • Making API requests
        • Endpoint Response Outputs
        • Response Transformer
        • Sorting data
        • Pagination
          • Page-based pagination
          • Offset pagination
          • Cursor based pagination
      • Making SQL queries
      • Text to SQL
      • Storages
      • File Storage and Uploading
        • Jet Admin Storage
        • Data Source Storage
      • Cache Frequency
      • Many-to-many relationship
    • ๐Ÿงžโ€โ™‚๏ธVisibility rules
    • โ„น๏ธConditionals
      • Conditional Visibility
        • Examples
          • Hiding a component until a row is selected
          • Hiding a component until a row with a certain value is selected
          • Hiding a component using the Page Value, User, or Team Property value
          • Hiding a component using multiple conditions
      • Conditional Disable
      • Conditional read, add, edit & delete
    • ๐Ÿ”Users & Permissions
      • Sign In/Sign Up
        • Auth0 SSO OAuth 2.0
        • Auth0 SSO SAML2
        • Azure AD SSO OAuth 2.0
        • Okta SSO
        • Google SSO OAuth 2.0
        • Google SSO SAML2
        • Custom SSO OAuth 2.0
        • API calls with SSO token
      • Roles in Permissions
      • User-specific Permissions
    • โ–ถ๏ธPreview & Publish
      • Embed Apps
        • Embedding App using a generated link
        • Embedding App using iFrame/HTML
    • โš™๏ธ Automations & Workflow
      • Triggers
      • Steps
        • Actions
        • Rules
      • Inputs, Outputs, Parameters
      • Test & Debug
      • Approval Workflow
      • Success/Error Actions
      • Iterators
      • Zapier Workflows
    • ๐Ÿ‘จโ€๐Ÿ’ปJavascript
    • ๐Ÿ’ 360 Data/Data Blending
      • Sync Connection
      • Blending the Data
      • Sync Options
    • ๐Ÿ”คLocalization
      • Account Settings
      • Adding Language to Jet Admin
      • End-user Localization
    • ๐ŸŽš๏ธVersion Control
      • Cross-Instance Backup Restoration
    • ๐Ÿ“–Logs
    • ๐Ÿช‚Other Features
      • Environments
        • Merge Environments: Jet Tables and Custom Components
      • Audit logs
      • Manage your subscription
      • Custom domain
      • Update to a new version
    • ๐Ÿ›ซJet Admin API
      • Interacting with Jet Admin API
        • Get API Token
      • Users API
      • Teams API
      • Projects API
      • Pages API
      • HTTP requests API
    • ๐Ÿ”Authentication systems
      • Jet Auth
      • Firebase Auth
      • Auth0
      • Supabase Auth
      • Token-based Auth
      • Xano Auth
    • ๐ŸŽ‡Integrations
  • ๐Ÿ–๏ธComponent Designer
    • How to use pixel-perfect components
    • How to work with component designer
    • Right sidebar
      • Layout
      • Auto Layout
      • Conditional Visibility
      • Component Responsiveness / Constraints
      • Fills
      • Borders
      • Shadows
      • Interactions
    • Frames and Groups
    • Action components
    • Component and layer states
  • ๐Ÿ–ผ๏ธImport Figma Design
    • Install Plugin
  • DEPLOYMENT
    • โ›…Cloud
    • ๐ŸŽ๏ธSelf-hosted
      • SSO on self-deployed Jet Bridge
      • Using self-deployed HTTP proxy
      • Common Problems
      • Configuration
    • ๐Ÿ–ฅ๏ธOn-premise
      • Deploy On-Premise Jet Admin with Docker
      • Update
      • .env configuration (local host)
        • Custom Domain Configuration on-premise
        • Email Sending Configuration
        • Nginx Configuration
      • Service Health Check
      • Common Problems
      • Superuser access
    • โ›บ๏ธ Database Heroku deployment
Powered by GitBook
On this page
  • Accessing GitHub Files:
  • Understanding File Structure:
  • Translating Content:
  • Email Templates:
  • Scope of Work:
  • Localization Submission:

Was this helpful?

Export as PDF
  1. References
  2. Localization

Adding Language to Jet Admin

To add a new language to Jet Admin, follow these steps:

PreviousAccount SettingsNextEnd-user Localization

Last updated 1 year ago

Was this helpful?

Requirements: Ensure you have a good understanding of both the source language (English) and the target language. Familiarity with GitHub and version control systems is also beneficial for submitting changes via Pull Requests.

Accessing GitHub Files:

Access the necessary files from the . You'll need to create new files, and push them as a 'Pull Request'. Our GitHub repository hosts a collection of files used for localization.

Understanding File Structure:

In the root folder, you'll find a folder containing files for email templates and individual files for each language. Each language file is named in the format locale.xx.ts, where "xx" represents the language code (e.g., locale.en.ts for English, locale.fr.ts for French).

Translating Content:

Open the desired language file (e.g., locale.es.ts for Spanish). These files contain lines with the English term followed by its translation in the respective language. For example:

{ source: 'Save', target: 'sauvegarder' },
{ source: 'Create', target: 'Crรฉer' },
...

Simply copy this file, rename it to locale.xx.ts (replace "xx" with the language code of your choice), and replace the Spanish translations with the corresponding translations in the new language.

Email Templates:

Apart from the main localization file, there are additional pages for email templates that need translation. These pages are named "email_verification", "project_user_invitation", and "user_restore".

Scope of Work:

The translation task may involve numerous lines of text. For instance, the Spanish file contains 557 lines, although not all may require translation. Use this as a reference for the scope of work.

Localization Submission:

Once you've finished translating the files, feel free to send us your work through a 'Pull Request' on GitHub. Don't forget to include a description of what you've changed. Although we're not actively creating new translations ourselves, we'd still love to see your localization and add it! Looking forward to seeing what you've got!

By following these steps, you can effectively add a new language to Jet Admin.

๐Ÿ”ค
Jet Admin Localization GitHub Repository