jaru01

jaru01

I’m likely missing something here. When I run:

mix gettext.extract

it just generates a file with a few default strings from core components like “Actions” and “Attempting to reconnect”.

I created a Backend as per the Github page like such:

ct@mt:~/path/to/file$ cat lib/myapp/gettext.exdefmodule MyApp.Gettext douse Gettext.Backend, otp_app: :my_append

And just for testing:

defmodule MyAppWeb.EscortLive.Index do
  use MyAppWeb, :live_view
  use Gettext, backend: MyApp.Gettext

  @impl true
  def mount(_params, _session, socket) do
    gettext("A simple test")
#...
end

But that string doesn’t get picked up. Also tried in other files with no result.

Showing Posts 1 to 7

BartOtten

BartOtten

Try adding the flag —mergeso the lines will appear in the translation files.

jaru01

jaru01 OP

The problem seems to be that it only reads files from lib/myapp_web/components, while my files reside under lib/myapp_web/live. Is there a way to change that? Or is that intentional?

BartOtten

BartOtten

Phoenix comes with a Gettext backend generated by default. This one is also included in every view you created.

If you don’t have this line you need to include Gettext everywhere yourself.

https://github.com/BartOtten/routex_example/blob/ca65a2efffe0ed2b45cebef5626463829a6ddbdc/lib/example_web.ex#L95

If you do have that line but with another backend than you manually add in the view modules, I think you have a conflict.

jaru01

jaru01 OP

Thanks, finally working! The backend I created did apparently created some conflict. Just one more question. It doesn’t seem to extract from heex files, only from ex files. I tried adding the use directive in the heex file, but that didn’t seem to work. What do I need to do?

BartOtten

BartOtten

In your Live View files you have something like use ExampleWeb, :live_view

This calls the live_view function in ExampleWeb which should include a call to html_helpers which should include use Gettext, backend: ExampleWeb.Gettext.

Notice that the Gettext usage is also part of controller
https://github.com/BartOtten/routex_example/blob/ca65a2efffe0ed2b45cebef5626463829a6ddbdc/lib/example_web.ex#L50

You say you added the use directive yourself in the Live Views. That should not be necessary as that is exactly what use ExampleWeb, :live_view does (if correct, see above)

LostKobrakai

LostKobrakai

Are you sure those heex files are captured by some embed_templates call? Template files by themselves are not read by anything.

jaru01

jaru01 OP

Ok, everything solved. I forgot to include the gettext call in <%= %>. Thanks everyone for their help!

— All posts loaded —

Where Next? Top

Trending in Questions Top

Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
jaybe78
Hello, I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter). The diffic...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
matt-savvy
Anyone here using Honeybadger? My Honeybadger account is being overwhelmed with noise from some bots. Seeing a lot of Bandit.HTTPError...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews