10189 Commits

Author SHA1 Message Date
g
f794afe2d8 standard file extension name 2025-04-11 10:12:06 -07:00
g
63ccdf2cff fix in capital letters 2025-04-11 10:12:06 -07:00
g
c19f2aa1bc Add pt-BR translations to ghostty 2025-04-11 10:12:06 -07:00
Mitchell Hashimoto
9751f43529
Add Spanish translations (419 = Latin America) (#6940)
Hi!
I have followed the instructions and added translations for Spanish,
Country Latin America 419 according to
[this](https://localizely.com/locale-code/es-419/) and other online
sources.
In the provided links there was no references to 419, but I created it
via the suggested command:
`msginit -i po/com.mitchellh.ghostty.pot -l es_419.UTF-8 -o
"po/es_419.UTF-8.po" `
Glad to be able to contribute to this excellent product!
Cheers!
2025-04-11 10:11:26 -07:00
MiguelElGallo
5bbed046f6 add Spanish (Bolivia) translations and locale support 2025-04-11 10:09:05 -07:00
MiguelElGallo
a9f9abd615 add Spanish (Latin America) locale support 2025-04-11 10:08:44 -07:00
MiguelElGallo
e5de000895 add Spanish translations (419 = Latin America) for com.mitchellh.ghostty package 2025-04-11 10:08:22 -07:00
Mitchell Hashimoto
9cd3d3826a
feat: Add Turkish translations (#6898) 2025-04-11 10:01:29 -07:00
Emir SARI
913c6dc7df feat: Add Turkish translations 2025-04-11 09:57:19 -07:00
Mitchell Hashimoto
17b7920f65
Add nl_NL (Dutch) translations (#6894) 2025-04-11 09:52:33 -07:00
Mitchell Hashimoto
14cac67b98
CODEOWNERS 2025-04-11 09:51:18 -07:00
Nico Geesink
b0b09bf034 Fix spell errors 2025-04-11 09:51:04 -07:00
Nico Geesink
059caef118 Use informal 'you' and change verander to wijzig 2025-04-11 09:51:04 -07:00
Nico Geesink
960fcc275f Fix typos and make sentences more fluent 2025-04-11 09:51:04 -07:00
Nico Geesink
e415b6db42 Merge branch 'main' into main 2025-04-11 09:51:04 -07:00
Nico Geesink
cd6a8f6a65 Fix typo 2025-04-11 09:50:44 -07:00
Nico Geesink
7db64b8e34 Add name and don't use title case 2025-04-11 09:50:44 -07:00
Nico Geesink
e52aad5dea Add nl_NL (Dutch) translations 2025-04-11 09:50:44 -07:00
Mitchell Hashimoto
6899e9d984
Added Russian translation for Ghostty (#6889) 2025-04-11 09:48:50 -07:00
Mitchell Hashimoto
52ac670913
CODEOWNERS 2025-04-11 09:47:11 -07:00
blackzeshi
077ae6a098 Update po/ru_RU.UTF-8.po
Co-authored-by: TicClick <ya@ticclick.ch>
2025-04-11 09:45:55 -07:00
blackzeshi
0d226d139b Update po/ru_RU.UTF-8.po
Co-authored-by: TicClick <ya@ticclick.ch>
2025-04-11 09:45:55 -07:00
blackzeshi
d0403021a4 Update po/ru_RU.UTF-8.po
2 line fixed

Co-authored-by: TicClick <ya@ticclick.ch>
2025-04-11 09:45:55 -07:00
blackzeshi
f4054daf0d Update po/ru_RU.UTF-8.po
262 line about debug build fixed

Co-authored-by: TicClick <ya@ticclick.ch>
2025-04-11 09:45:55 -07:00
blackzeshi
0d23f7af31 Update po/ru_RU.UTF-8.po
248 line changed

Co-authored-by: TicClick <ya@ticclick.ch>
2025-04-11 09:45:55 -07:00
blackzeshi
2b0a81d982 Merge branch 'main' into add_russian 2025-04-11 09:45:55 -07:00
blackzeshi
91f9fdb1be some fixes to adding russian translation (i.e. emoji) 2025-04-11 09:45:37 -07:00
blackzeshi
df5dd1858a add russian translation 2025-04-11 09:45:37 -07:00
Mitchell Hashimoto
444352418c
i18n: Add French translation (#6868)
Hi ! 
This is just to add a first version of a french translation !
2025-04-11 09:44:38 -07:00
Mitchell Hashimoto
5be4b0de6b
CODEOWNERS 2025-04-11 09:42:48 -07:00
Nicolas G
ca336f5310 Merge branch 'main' into main 2025-04-11 09:42:12 -07:00
Kirwiisp
5ca5afb13d fix: spelling and typo 2025-04-11 09:41:49 -07:00
Kirwiisp
930079ca01 fix: spelling mistakes 2025-04-11 09:41:49 -07:00
Nicolas G
1aa16cdf6b Fix ponctuation and Warning translation
Fix: missing ponctuations on various lines.

Change "Warning" to "Attention", might change in the futur if it does not perfectly match  common practice.

Fix: Multiline on config errors dialog
2025-04-11 09:41:49 -07:00
Kirwiisp
e2a8a3243c i18n: Add French translation 2025-04-11 09:41:49 -07:00
Mitchell Hashimoto
8d1a57cde3
i18n: Add Japanese translations (#6866)
This pull request adds Japanese(ja_JP.UTF-8) translations.
2025-04-11 09:39:51 -07:00
Lon Sagisawa
10a90b5b67 fix: inconsistency around space 2025-04-11 09:38:37 -07:00
Lon Sagisawa
20ef2150de i18n: Add Japanese translations 2025-04-11 09:38:37 -07:00
Mitchell Hashimoto
028759e8f6
Add Indonesian id_ID translations. (#6836)
Add the Indonesian id_ID translations.
2025-04-11 09:33:40 -07:00
Mitchell Hashimoto
7adc2954c3
update CODEOWNERS 2025-04-11 09:27:04 -07:00
halosatrio
561a0e3897 i18n: fix capitalization and some translation 2025-04-11 09:26:00 -07:00
halosatrio
1222e80eb1 i18n: add id_ID code locale 2025-04-11 09:26:00 -07:00
halosatrio
d903cc9827 i18n: fix translation 2025-04-11 09:25:35 -07:00
halosatrio
02bb81ad44 i18n: add indonesian translation 2025-04-11 09:25:35 -07:00
Mitchell Hashimoto
b16324ef0b
ci: add a script and workflow for requesting i18n review (#7053)
Some checks are pending
Test / build-bench (push) Blocked by required conditions
Test / build-flatpak (push) Blocked by required conditions
Test / build-linux (namespace-profile-ghostty-md) (push) Blocked by required conditions
Test / build-linux (namespace-profile-ghostty-md-arm64) (push) Blocked by required conditions
Test / build-linux-libghostty (push) Blocked by required conditions
Test / build-nix (namespace-profile-ghostty-md) (push) Blocked by required conditions
Test / build-nix (namespace-profile-ghostty-md-arm64) (push) Blocked by required conditions
Test / build-dist (push) Blocked by required conditions
Test / build-macos (push) Blocked by required conditions
Test / build-macos-matrix (push) Blocked by required conditions
Test / build-snap (namespace-profile-ghostty-snap-arm64) (push) Blocked by required conditions
Test / build-windows (push) Blocked by required conditions
Test / build-windows-cross (namespace-profile-ghostty-md, x86-windows-gnu) (push) Blocked by required conditions
Test / build-windows-cross (namespace-profile-ghostty-md, x86_64-windows-gnu) (push) Blocked by required conditions
Test / test (push) Waiting to run
Test / GTK x11=false wayland=false (push) Blocked by required conditions
Test / GTK x11=true wayland=false (push) Blocked by required conditions
Test / GTK x11=false wayland=true (push) Blocked by required conditions
Test / GTK x11=true wayland=true (push) Blocked by required conditions
Test / Build -Dsentry=false (push) Blocked by required conditions
Test / Build -Dsentry=true (push) Blocked by required conditions
Test / test-macos (push) Blocked by required conditions
Test / zig-fmt (push) Waiting to run
Test / prettier (push) Waiting to run
Test / alejandra (push) Waiting to run
Test / typos (push) Waiting to run
Test / translations (push) Waiting to run
Test / blueprint-compiler (push) Waiting to run
Test / Test pkg/wuffs (push) Blocked by required conditions
Test / Test build on Debian 12 (push) Blocked by required conditions
From #7052, but for some reason I couldn't push there:

> This helps get around the `CODEOWNERS` file requiring that
contributors need to have write access to the repo in order to be
requested for review. The mechanism is (for any new PR):
> 1. List the changed files
> 2. Fetch and parse the CODEOWNERS file to get a path:owner mapping
> 3. See if any changed file matches the CODEOWNERS mapping
> 4. Fetch team members for affected localization teams
> 5. Request review from individual accounts
2025-04-10 19:46:27 -04:00
trag1c
f0ade53fd2 ci: add a script and workflow for requesting i18n review 2025-04-10 16:40:28 -07:00
taylrfnt
49a97a589c
fix typo - exiting to existing
Co-authored-by: Leah Amelia Chen <github@acc.pluie.me>
2025-04-10 17:45:35 -05:00
Mitchell Hashimoto
d7f75b348d
config: allow commands to specify whether they shell expand or not (#7044)
Fixes #7032 

This introduces a syntax for `command` and `initial-command` that allows
the user to specify whether it should be run via `/bin/sh -c` or not.
The syntax is a prefix `direct:` or `shell:` prior to the command, with
no prefix implying a default behavior as documented.

Previously, we unconditionally ran commands via `/bin/sh -c`, primarily
to avoid having to do any shell expansion ourselves. We also leaned on
it as a crutch for PATH-expansion but this is an easy problem compared
to shell expansion.

For the principle of least surprise, this worked well for configurations
specified via the config file, and is still the default. However, these
configurations are also set via the `-e` special flag to the CLI, and it
is very much not the principle of least surprise to have the command run
via `/bin/sh -c` in that scenario since a shell has already expanded all
the arguments and given them to us in a nice separated format. But we
had no way to toggle this behavior.

This commit introduces the ability to do this, and changes the defaults
so that `-e` doesn't shell expand. Further, we also do PATH lookups
ourselves for the non-shell expanded case because thats easy (using
execvpe style extensions but implemented as part of the Zig stdlib). We
don't do path expansion (e.g. `~/`) because thats a shell expansion.

So to be clear, there are no two polar opposite behavioes here with
clear semantics:

1. Direct commands are passed to `execvpe` directly, space separated.
This will not handle quoted strings, environment variables, path
expansion (e.g. `~/`), command expansion (e.g. `$()`), etc.

2. Shell commands are passed to `/bin/sh -c` and will be shell expanded
as per the shell's rules. This will handle everything that `sh`
supports.

In doing this work, I also stumbled upon a variety of smaller
improvements that could be made:

- A number of allocations have been removed from the startup path that
only existed to add a null terminator to various strings. We now have
null terminators from the beginning since we are almost always on a
system that's going to need it anyways.

- For bash shell integration, we no longer wrap the new bash command in
a shell since we've formed a full parsed command line.

- The process of creating the command to execute by termio is now unit
tested, so we can test the various complex cases particularly on macOS
of wrapping commands in the login command.

- `xdg-terminal-exec` on Linux uses the `direct:` method by default
since it is also assumed to be executed via a shell environment.
2025-04-10 16:32:18 -04:00
Mitchell Hashimoto
d4a5e5f88e
elvish: use kitty-shell-cwd:// to report pwd (#7033)
OSC 7's standard body is a percent-encoded file:// URL. There isn't an
easy way for us to percent-encode the path ($pwd) component here without
implementing a custom function.

Instead, switch to the kitty-shell-cwd:// scheme, which Kitty introduced
to ease this implementation challenge in shell scripts. It accepts the
path string verbatim, without an encoding.

In Ghostty, we accept both the file:// and kitty-shell-cwd:// schemes,
and we attempt to URI-decode them both, so in practice this is more
about the "correctness" of this protocol than a functional change. It's
also possible we might decide to treat these schemes differently in the
runtime, like Kitty does.

Also, fix the `platform:hostname` function call syntax.
2025-04-10 16:19:26 -04:00
Mitchell Hashimoto
722d41a359
config: allow commands to specify whether they shell expand or not
This introduces a syntax for `command` and `initial-command` that allows
the user to specify whether it should be run via `/bin/sh -c` or not.
The syntax is a prefix `direct:` or `shell:` prior to the command,
with no prefix implying a default behavior as documented.

Previously, we unconditionally ran commands via `/bin/sh -c`, primarily
to avoid having to do any shell expansion ourselves. We also leaned on
it as a crutch for PATH-expansion but this is an easy problem compared
to shell expansion.

For the principle of least surprise, this worked well for configurations
specified via the config file, and is still the default. However, these
configurations are also set via the `-e` special flag to the CLI, and it
is very much not the principle of least surprise to have the command run via
`/bin/sh -c` in that scenario since a shell has already expanded all the
arguments and given them to us in a nice separated format. But we had no
way to toggle this behavior.

This commit introduces the ability to do this, and changes the defaults
so that `-e` doesn't shell expand. Further, we also do PATH lookups
ourselves for the non-shell expanded case because thats easy (using
execvpe style extensions but implemented as part of the Zig stdlib). We don't
do path expansion (e.g. `~/`) because thats a shell expansion.

So to be clear, there are no two polar opposite behavioes here with
clear semantics:

  1. Direct commands are passed to `execvpe` directly, space separated.
     This will not handle quoted strings, environment variables, path
     expansion (e.g. `~/`), command expansion (e.g. `$()`), etc.

  2. Shell commands are passed to `/bin/sh -c` and will be shell expanded
     as per the shell's rules. This will handle everything that `sh`
     supports.

In doing this work, I also stumbled upon a variety of smaller
improvements that could be made:

  - A number of allocations have been removed from the startup path that
    only existed to add a null terminator to various strings. We now
    have null terminators from the beginning since we are almost always
    on a system that's going to need it anyways.

  - For bash shell integration, we no longer wrap the new bash command
    in a shell since we've formed a full parsed command line.

  - The process of creating the command to execute by termio is now unit
    tested, so we can test the various complex cases particularly on
    macOS of wrapping commands in the login command.

  - `xdg-terminal-exec` on Linux uses the `direct:` method by default
    since it is also assumed to be executed via a shell environment.
2025-04-10 13:15:14 -07:00