Kanta

Przyjazny menedżer tłumaczeń dla projektów Elixir/Phoenix. Uprość proces zarządzania tłumaczeniami dzięki intuicyjnemu interfejsowi do dodawania, edytowania i usuwania tłumaczeń z integracją na żywo.

Zarządzanie tłumaczeniami dla Elixir/Phoenix
PO Writer plugin for Kanta. Generate PO files from Kanta translations.
Synchronizuj tłumaczenia między środowiskami deweloperskim, testowym i produkcyjnym.
DeepL translation integration for Kanta.

Ściągawka

Szybka ściągawka instalacji, konfiguracji i użycia Kanta.

Dodaj do mix.exs
Instalacja

def deps do
  [
    {:kanta, "~> 0.4.2"},
    {:gettext, git: "git@github.com:ravensiris/gettext.git", branch: "runtime-gettext"}
  ]
end
                  
Uruchom polecenie migracji
Instalacja

mix ecto.gen.migration add_kanta_translations_table
                  
Konfiguracja w config.exs
Konfiguracja

# config/config.exs
config :my_app, Kanta,
  endpoint: MyAppWeb.Endpoint, # Your app Endpoint module
  repo: MyApp.Repo, # Your app Repo module
  otp_name: :my_app, # Name of your OTP app
  plugins: []
                  
Konfiguracja migracji bazy danych
Konfiguracja

defmodule MyApp.Repo.Migrations.AddKantaTranslationsTable do
  use Ecto.Migration

  def up do
    Kanta.Migration.up(version: 3)
  end

  def down do
    Kanta.Migration.down(version: 3)
  end
end
                  
Konfiguracja modułu Gettext
Konfiguracja

defmodule MyAppWeb.Gettext do
  use Gettext, otp_app: :kanta_landing, repo: KantaLandingWeb.GettextRepo
end
                  
Dodaj do drzewa nadzorującego aplikację
Konfiguracja

# application.ex
def start(_type, _args) do
  children = [
    ...
    {Kanta, Application.fetch_env!(:my_app, Kanta)}
    ...
  ]
  ...
end
                  
Dodaj trasy dla interfejsu Kanta
Konfiguracja

# router.ex
import KantaWeb.Router

scope "/" do
  pipe_through :browser

  kanta_dashboard("/kanta")
end
                  
Integracja z DeepL
Wtyczka

# Add to deps in mix.exs
{:kanta_deep_l_plugin, "~> 0.1.1"}

# Configure in config.exs
config :kanta,
  plugins: [
    {Kanta.DeepL.Plugin, api_key: "YOUR_DEEPL_API_KEY"}
  ]
                  
Wtyczka PO Writer
Wtyczka

# Add to deps in mix.exs
{:kanta_po_writer_plugin, git: "https://github.com/curiosum-dev/kanta_po_writer_plugin"}

# Configure in config.exs
config :kanta,
  plugins: [
    Kanta.POWriter.Plugin
  ]
                  
KantaSync plugin - Dependencies & Migration
Wtyczka

# Add to deps in mix.exs
{:kanta_sync_plugin, "~> 0.1.0"}

# Create migration file
defmodule MyApp.Repo.Migrations.AddKantaSyncTables do
  use Ecto.Migration

  def up do
    Kanta.Sync.Migration.up(version: 1)
  end

  def down do
    Kanta.Sync.Migration.down(version: 1)
  end
end
                  
KantaSync plugin - Configuration & Environment
Wtyczka

# Add API routes in router.ex
scope "/" do
  kanta_api("/kanta-api")
end

# Environment variables (required)
KANTA_API_ENDPOINT="https://production-app.com/kanta-api"
KANTA_SECRET_TOKEN="$(mix phx.gen.secret 256)"

# Optional: Disable default authorization
config :kanta,
  disable_api_authorization: true
                  

Funkcje

  • Ekstrakcja z plików PO

    Automatycznie analizuje pliki .po i konwertuje je do formatu bazy danych dla wygodnego użycia.

  • Przechowywanie w bazie danych

    Wiadomości i tłumaczenia są przechowywane w tabelach bazy danych dla łatwego przeglądania i modyfikacji.

  • Postęp tłumaczeń

    Śledź postęp tłumaczeń w różnych językach z wizualnym pulpitem i opcjami filtrowania.

  • Przyjazny interfejs użytkownika

    Intuicyjny interfejs WWW do dodawania, edytowania i usuwania tłumaczeń z aktualizacjami na żywo.

  • Integracja z DeepL

    Wsparcie tłumaczenia maszynowego z API DeepL dla szybkiej pomocy w tłumaczeniach.

  • Synchronizacja środowisk

    Synchronizuj tłumaczenia między środowiskami deweloperskim, testowym i produkcyjnym.

Rozwój Kanta zależy od ciebie.

Zapraszamy do dyskusji, współtworzenia i dzielenia się Kanta z innymi.

Wesprzyj Kanta

Kanał Slack

Dołącz do #kanta, aby zadawać pytania i dzielić się opiniami.

Dyskusje na GitHubie

Otwarte rozmowy o funkcjach i użyciu.

Zgłoszenia GitHub

Zgłaszaj błędy i proś o funkcje.

Przewodnik współtworzenia

Jak skonfigurować, programować i przesyłać wkłady.

Dołącz do naszego serwera Discord

Dołącz do społeczności Curiosum.

Podziel się informacją

Udostępnij Kanta w swojej sieci.