Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,4 @@ _* Third party plugins_
## Language Packs

- [Pirate Language](/pirate-language) - Turns yer site's lingo into pirate talk, matey!
- [Czech Language](/czech-language) - Adds Czech translation
26 changes: 26 additions & 0 deletions czech-language/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Czech Language Plugin (by Hampap)

This language pack provides a Czech translation for the main parts of the Pelican panel interface.

Some newly introduced sections of the panel may still appear in English. Missing translations will be added progressively.

## Features

- Translation of the main interface sections (dashboard, servers, profiles, administration)
- Localized system messages, buttons, and forms
- Terminology adapted for Czech hosting providers and gaming communities
- Easy activation via user language settings
- Overrides the default language strings where applicable

## Installation

1. Copy the `czech-language` plugin folder into the `plugins/` directory.
2. In the Pelican Panel administration, navigate to **Settings → Plugins**.
3. Enable the **Czech Language** plugin and save changes.
4. Go to **Settings → Languages** and select Czech as the default panel language.

## Contributing & Reporting Issues

If you find an untranslated string or a typo, please open an issue with details.

Suggestions are welcome.
125 changes: 125 additions & 0 deletions czech-language/lang/cs/activity.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
<?php

/**
* Contains all of the translation strings for different activity log
* events. These should be keyed by the value in front of the colon (:)
* in the event name. If there is no colon present, they should live at
* the top level.
*/
return [
'auth' => [
'fail' => 'Přihlášení se nezdařilo',
'success' => 'Přihlášen/a',
'password-reset' => 'Obnovit heslo',
'checkpoint' => 'Požadováno dvoufaktorové ověření',
'recovery-token' => 'Použitý dvoufázový obnovovací token',
'token' => 'Vyřešená dvoufaktorová výzva',
'ip-blocked' => 'Zablokován požadavek z neuvedené IP adresy pro <b>:identifier</b>',
'sftp' => [
'fail' => 'Selhalo přihlášení SFTP',
],
],
'user' => [
'account' => [
'username-changed' => 'Změněno uživatelské jméno z <b>:old</b> na <b>:new</b>',
'email-changed' => 'Změněný e-mail z <b>:old</b> na <b>:new</b>',
'password-changed' => 'Změněné heslo',
],
'api-key' => [
'create' => 'Vytvořen nový API klíč <b>:identifier</b>',
'delete' => 'Smazán API klíč <b>:identifier</b>',
],
'ssh-key' => [
'create' => 'Přidán SSH klíč <b>:fingerprint</b> k účtu',
'delete' => 'Odstraněn SSH klíč <b>:fingerprint</b> z účtu',
],
'two-factor' => [
'create' => 'Povoleno dvoufaktorové ověření',
'delete' => 'Zakázáno dvoufaktorové ověření',
],
],
'server' => [
'console' => [
'command' => 'Proveden příkaz "<b>:command</b>“ na serveru',
],
'power' => [
'start' => 'Server byl spuštěn',
'stop' => 'Server byl vypnut',
'restart' => 'Server byl restartován',
'kill' => 'Ukončen proces serveru',
],
'backup' => [
'download' => 'Stáhnuto <b>:name</b> zálohu',
'delete' => 'Smazána záloha <b>:name</b>',
'restore' => 'Obnovena záloha <b>:name</b> (smazané soubory: <b>:truncate</b>)',
'restore-complete' => 'Dokončená obnova zálohy <b>:name</b>',
'restore-failed' => 'Nepodařilo se dokončit obnovení zálohy <b>:name</b>',
'start' => 'Nová záloha byla spuštěna <b>:name</b>',
'complete' => 'Označil <b>:name</b> záloha jako kompletní',
'fail' => 'Záloha označena jako neúspěšná <b>:name</b>',
'lock' => 'Uzamčeno <b>:name</b> záloha',
'unlock' => 'Odemknul <b>:name</b> zálohu',
'rename' => 'Záloha přejmenovaná z "<b>:old_name</b>" na "<b>:new_name</b>"',
],
'database' => [
'create' => 'Vytvořena nová databáze <b>:name</b>',
'rotate-password' => 'Heslo pro databázi <b>:name</b>',
'delete' => 'Smazána databáze <b>:name</b><b>',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Broken HTML closing tag — renders dangling <b> in the UI.

The database delete string ends with <b> instead of </b>, leaving an unclosed bold tag that will corrupt surrounding text rendering.

🐛 Proposed fix
-            'delete' => 'Smazána databáze <b>:name</b><b>',
+            'delete' => 'Smazána databáze <b>:name</b>',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'delete' => 'Smazána databáze <b>:name</b><b>',
'delete' => 'Smazána databáze <b>:name</b>',
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@czech-language/lang/cs/activity.php` at line 67, The activity translation
entry with key 'delete' contains a malformed HTML tag ("Smazána databáze
<b>:name</b><b>") leaving an unclosed <b>; edit the 'delete' value in
cs/activity.php to replace the trailing "<b>" with the proper closing tag "</b>"
so the string becomes "Smazána databáze <b>:name</b>".

],
'file' => [
'compress' => 'Komprimováno <b>:directory:files</b>|Komprimováno <b>:count</b> souborů v <b>:directory</b>',
'read' => 'Zobrazen obsah <b>:file</b>',
'copy' => 'Vytvořena kopie <b>:file</b>',
'create-directory' => 'Vytvořený adresář <b>:directory:name</b>',
'decompress' => 'Dekomprimován <b>:file</b> v <b>:directory</b>',
'delete' => 'Smazáno <b>:directory:files</b>|Smazáno <b>:count</b> souborů v <b>:directory</b>',
'download' => 'Staženo <b>:file</b>',
'pull' => 'Stáhnout vzdálený soubor z <b>:url</b> do <b>:directory</b>',
'rename' => 'Přesunuto / přejmenováno <b>:from</b> to <b>:to</b>|Moved/ přejmenováno <b>:count</b> souborů v <b>:directory</b>',
'write' => 'Přepsaný nový obsah v <b>:file</b>',
'upload' => 'Zahájeno nahrávání souboru',
'uploaded' => 'Nahráno <b>:directory:file</b>',
],
'sftp' => [
'denied' => 'Zablokován přístup SFTP z důvodu oprávnění',
'create' => 'Vytvořeno <b>:files</b>|Vytvořeno <b>:count</b> nových souborů',
'write' => 'Upravil obsah <b>:files</b>|Upravil obsah <b>:count</b> souborů',
'delete' => 'Smazáno <b>:files</b>|Smazáno <b>:count</b> souborů',
'create-directory' => 'Vytvořil adresář <b>:files</b> | Vytvořil <b>:count</b> adresáře',
'rename' => 'Přejmenováno <b>:z</b> na <b>:to</b>|přejmenováno nebo přesunuto <b>:count</b> souborů',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# First, let's verify the current state of the Czech activity translation file
rg -n "rename" czech-language/lang/cs/activity.php -A 1 -B 1

Repository: pelican-dev/plugins

Length of output: 970


🏁 Script executed:

# Now search for where the rename activity translation is used in the source code
# Look for references to :from, :z, :to, and rename placeholders
rg -n "sftp.*rename\|rename.*sftp\|:from\|:to\|:count" --type php -A 2 -B 2 | head -100

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Search more broadly for activity translation usage patterns
fd . -name "*.php" -type f | xargs rg -l "rename.*:from\|rename.*:z" | head -20

Repository: pelican-dev/plugins

Length of output: 293


🏁 Script executed:

# Search for WordPress activity class/handler to find the placeholder names
rg -n "wordpress\|WordPress" --type php -i | grep -i "rename\|activity" | head -20

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Search for the activity class that provides rename placeholders
rg -n "class.*Activity\|function.*rename" --type php -B 2 -A 5 | head -150

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Look for where :z and :from are used in the source code
rg -n "':z'|\":z\"|:from|:to" --type php -B 3 -A 3 | head -150

Repository: pelican-dev/plugins

Length of output: 12418


🏁 Script executed:

# Find the WordPress activity class and its rename handler
fd . -name "*.php" -type f | xargs rg -l "wordpress" -i | head -20

Repository: pelican-dev/plugins

Length of output: 293


🏁 Script executed:

# Search for activity classes and their implementations
rg -n "class.*Activity\|function.*rename" --type php -B 1 -A 8 | grep -A 8 -B 1 "wordpress\|WordPress" -i

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Look for where activity translations are called/used in the source
rg -n "activity\[.*rename" --type php -B 3 -A 3

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Find PHP files related to WordPress activities
fd "Activity\|activity" --type f --extension php | head -30

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Search for files in the codebase that might define activity handlers
find . -name "*.php" -type f | xargs grep -l "wordpress.*rename\|rename.*placeholder\|':z'" 2>/dev/null | head -20

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Look for the structure of the codebase
find . -maxdepth 2 -type d | grep -i wordpress | head -20

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Find all directories to understand the structure
ls -la

Repository: pelican-dev/plugins

Length of output: 2525


🏁 Script executed:

# Search for wordpress-related files in the plugins
find . -type d -name "*wordpress*"

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Search all PHP files for activity rename translations and their sources
rg "rename.*:from|rename.*:z" --type php -B 10 -A 2

Repository: pelican-dev/plugins

Length of output: 2514


🏁 Script executed:

# Look for where activity logs/translations are generated or used
rg "activity\|Activity" --type php -l | head -20

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Check what plugins exist
git ls-files | grep -E "^[^/]+/$" | sort | uniq

Repository: pelican-dev/plugins

Length of output: 45


🏁 Script executed:

# Check if there's a reference to the main source in this repository
cat README.md

Repository: pelican-dev/plugins

Length of output: 3226


🏁 Script executed:

# Look for any imports or references to activity-related classes
rg "ActivityLog\|activity.*rename\|ActivityRepository" --type php

Repository: pelican-dev/plugins

Length of output: 45


🌐 Web query:

Pelican Panel SFTP activity rename placeholder :from :z

💡 Result:

In Pelican Panel, the SFTP activity “rename” translation expects the placeholders :from and :to (and a plural form for multiple files). In the upstream English file it is:

  • server.sftp.renameRenamed :from to :to|Renamed or moved :count files  [1]

So if your activity log shows something like Renamed :from :z, that :z is not a valid placeholder—it’s almost certainly a typo in the translation file for the language you’re using (e.g., lang/<your-locale>/activity.php), and it should be changed to :to to match the data Pelican/Wings provides. [1]

Also note: Pelican had a specific fix related to the activity log on the rename API endpoint in a beta release; updating may resolve related rename-log formatting issues. [2]

What to do

  1. Check lang/<locale>/activity.php['server']['sftp']['rename'] and replace :z with :to.
  2. Clear/rebuild caches (Laravel) after changing translations.
  3. If you’re on an older panel version, update to a version that includes the “Fix activity log on rename api endpoint” change. [2]

Sources:
[1] Pelican Panel lang/en/activity.php (raw) shows :from and :to placeholders. (raw.githubusercontent.com)
[2] Pelican Panel release notes mention “Fix activity log on rename api endpoint”. (github.com)

Citations:


Replace :z with :from in the SFTP rename activity translation.

The placeholder :z is incorrect and will display as a literal string. The Pelican Panel SFTP activity rename handler provides the original filename under the key :from, not :z. Update line 89 to match the upstream English template: Renamed :from to :to|Renamed or moved :count files.

Additionally, capitalize the second part of the plural form for consistency: Přejmenováno instead of přejmenováno.

Proposed fix
-            'rename' => 'Přejmenováno <b>:z</b> na <b>:to</b>|přejmenováno nebo přesunuto <b>:count</b> souborů',
+            'rename' => 'Přejmenováno <b>:from</b> na <b>:to</b>|Přejmenováno nebo přesunuto <b>:count</b> souborů',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'rename' => 'Přejmenováno <b>:z</b> na <b>:to</b>|přejmenováno nebo přesunuto <b>:count</b> souborů',
'rename' => 'Přejmenováno <b>:from</b> na <b>:to</b>|Přejmenováno nebo přesunuto <b>:count</b> souborů',
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@czech-language/lang/cs/activity.php` at line 89, In the 'rename' translation
entry in cs/activity.php replace the incorrect placeholder :z with :from and
update the plural variant to use a capitalized "Přejmenováno" for consistency;
locate the array key 'rename' and change its value so it matches the upstream
template (original placeholder :from and capitalized second plural sentence).

],
'allocation' => [
'create' => 'Přidáno <b>:allocace</b> na server',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# First, locate and examine the file
fd -t f "activity.php" | head -20

Repository: pelican-dev/plugins

Length of output: 189


🏁 Script executed:

# Check if the file exists and read the relevant section
if [ -f "czech-language/lang/cs/activity.php" ]; then
  wc -l "czech-language/lang/cs/activity.php"
fi

Repository: pelican-dev/plugins

Length of output: 102


🏁 Script executed:

# Search for the specific line and context around line 92
rg -n "allocace|allocation" --type php -B 3 -A 3 -i

Repository: pelican-dev/plugins

Length of output: 43010


Fix placeholder name on line 92: use :allocation instead of :allocace.

The placeholder :allocace (Czech for "allocation") will not be substituted — it breaks the application's variable substitution mechanism. The correct placeholder is :allocation, as used consistently in lines 93–95 within the same allocation section.

Proposed fix
-            'create' => 'Přidáno <b>:allocace</b> na server',
+            'create' => 'Přidáno <b>:allocation</b> na server',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'create' => 'Přidáno <b>:allocace</b> na server',
'create' => 'Přidáno <b>:allocation</b> na server',
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@czech-language/lang/cs/activity.php` at line 92, The 'create' translation
entry for the allocation activity uses the wrong placeholder ':allocace' which
prevents substitution; update the 'create' array value entry (the key 'create'
in the allocation/activity translations) to use ':allocation' instead of
':allocace' so it matches the other allocation placeholders and the substitution
mechanism.

'notes' => 'Aktualizovány poznámky pro <b>:allocation</b> z "<b>:old</b>" na "<b>:new</b>"',
'primary' => 'Nastavil <b>:allocation</b> jako primární rozvržení serveru',
'delete' => 'Smazáno <b>:allocation</b> alokace',
],
'schedule' => [
'create' => 'Vytvořil/a plán <b>:name</b>',
'update' => 'Aktualizován plán <b>:name</b>',
'execute' => 'Manuálně provést plán <b>:name</b>',
'delete' => 'Smazán plán <b>:name</b>',
],
'task' => [
'create' => 'Vytvořil nový úkol "<b>:action</b>" pro <b>:name</b> plán',
'update' => 'Aktualizoval úkol "<b>:action</b>" pro plán <b>:name</b>',
'delete' => 'Odstraněna akce "<b>:action</b>" pro plán <b>:name</b>',
],
'settings' => [
'rename' => 'Přejmenoval server z "<b>:old</b>" na "<b>:new</b>"',
'description' => 'Změnil popis serveru z "<b>:old</b>" na "<b>:new</b>"',
'reinstall' => 'Server přeinstalován',
],
'startup' => [
'edit' => 'Změnil proměnnou <b>:variable</b> z "<b>:old</b>" na "<b>:new</b>"',
'image' => 'Aktualizoval Docker Image pro server z <b>:old</b> na <b>:new</b>',
'command' => 'Aktualizován příkaz pro spuštění pro server z <b>:old</b> na <b>:new</b>',
],
'subuser' => [
'create' => 'Přidáno <b>:email</b> jako poduživatel',
'update' => 'Aktualizována oprávnění poduživatele pro <b>:email</b>',
'delete' => 'Odstraněno <b>:email</b> jako poduživatel',
],
'crashed' => 'Server havaroval',
],
];
29 changes: 29 additions & 0 deletions czech-language/lang/cs/admin/apikey.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

return [
'title' => 'API klíče aplikace',
'empty' => 'Žádné API klíče',
'whitelist' => 'Povolené IPv4 adresy',
'whitelist_help' => 'API klíče mohou být omezeny pouze na práci z konkrétních IPv4 adres. Zadejte každou adresu na novém řádku.',
'whitelist_placeholder' => 'Příklad: 127.0.0.1 nebo 192.168.1.1',
'description' => 'Popis:',
'description_help' => 'Stručný popis toho, k čemu tento klíč je.',
'nav_title' => 'API klíče',
'model_label' => 'API klíče aplikace',
'model_label_plural' => 'API klíče aplikace',
'table' => [
'key' => 'Klíč',
'description' => 'Popis:',
'last_used' => 'Naposledy použito',
'created' => 'Vytvořeno',
'created_by' => 'Vytvořil:',
'never_used' => 'Nikdy nepoužito',
],
'permissions' => [
'all' => 'Nastavit všechna oprávnění',
'all_description' => 'Nastavit všechna níže uvedená oprávnění na stejnou úroveň.',
'none' => 'Žádný',
'read' => 'Přečteno',
'read_write' => 'Čtení / zápis',
],
];
45 changes: 45 additions & 0 deletions czech-language/lang/cs/admin/dashboard.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

return [
'heading' => 'Vítejte v Pelican!',
'version' => 'Verze: :version',
'advanced' => 'Pokročilé',
'server' => 'Server',
'user' => 'Uživatel',
'sections' => [
'intro-developers' => [
'heading' => 'Inofmace o vývojářích',
'content' => 'Děkujeme za zkoušení naší vývojářské verze',
'extra_note' => 'Pokud naleznete bugy nahlaste je přes GitHub',
'button_issues' => 'Vytvořit problém',
'button_features' => 'Diskutujte o funkcích',
],
'intro-update-available' => [
'heading' => 'K dispozici je aktualizace',
'content' => ':latestVersion je nyní dostupná! Přečtěte si dokumentaci jak aktualizovat váš panel.',
'button_changelog' => 'Co je nového?',
],
'intro-no-update' => [
'heading' => 'Máte nejnovější verzy panelu',
'content' => 'Právě používáte verzy :version. Váš panel je aktuální',
],
'intro-first-node' => [
'heading' => 'Nebyly nalezeny žádné uzly',
'content' => "Vypadá to že nemáš nastavené žádné Uzly, ale kliknutím na tlačítko akce můžete vytvořit váš první!",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Double-quoted string is the direct cause of the Pint CI failure.

The pipeline reports a single_quote style violation. Line 28 is the only string in the file using double quotes; converting it to a single-quoted string (escaping the inner apostrophe) fixes the lint failure.

🔧 Proposed fix
-            'content' => "Vypadá to že nemáš nastavené žádné Uzly, ale kliknutím na tlačítko akce můžete vytvořit váš první!",
+            'content' => 'Vypadá to, že nemáš nastavené žádné uzly, ale kliknutím na tlačítko akce můžete vytvořit váš první!',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'content' => "Vypadá to že nemáš nastavené žádné Uzly, ale kliknutím na tlačítko akce můžete vytvořit váš první!",
'content' => 'Vypadá to, že nemáš nastavené žádné uzly, ale kliknutím na tlačítko akce můžete vytvořit váš první!',
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@czech-language/lang/cs/admin/dashboard.php` at line 28, The array entry with
key 'content' uses a double-quoted string which triggers the Pint single_quote
rule; change it to a single-quoted string and escape the embedded apostrophe
inside the Czech text so the value for 'content' uses single quotes (update the
string where 'content' => "Vypadá to že nemáš..."), ensuring no other characters
are changed.

'extra_note' => 'Pokud naleznete bugy nahlaste je na GitHub',
'button_label' => 'Vytvořit první uzel v Pelican',
],
'intro-support' => [
'heading' => 'Podpořte Pelican!',
'content' => 'Děkujeme za používání Pelican, toto je možné vytvářet jen díky vaší podpoře, přespěvatelům a dalším podporovatelům!',
'extra_note' => 'Vážíme si jaké koliv podpory od kohokoliv.',
'button_translate' => 'Pomocte Přeložit',
'button_donate' => 'Darovat přímo',
],
'intro-help' => [
'heading' => 'Potřebujete pomoc?',
'content' => 'Nejdříve se podívejte na dokumentaci! Pokud stále potřebujete pomoc, přejděte na náš Discord server!',
'button_docs' => 'Přečtěte si dokumentaci',
],
],
];
74 changes: 74 additions & 0 deletions czech-language/lang/cs/admin/databasehost.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php

return [
'nav_title' => 'Hostitelé databáze',
'model_label' => 'Hostitel databáze',
'model_label_plural' => 'Hostitelé databáze',
'table' => [
'database' => 'Databáze',
'name' => 'Název',
'host' => 'Hostitel',
'port' => 'Port',
'name_helper' => 'Ponecháním tohoto prázdného bude automaticky generováno náhodné jméno',
'username' => 'Uživatelské jméno',
'password' => 'Heslo',
'remote' => 'Připojení od',
'remote_helper' => 'Kde by mělo být povoleno připojení. Ponechte prázdné pro povolení připojení odkudkoliv.',
'max_connections' => 'Maximální počet připojení',
'created_at' => 'Vytvořeno v',
'connection_string' => 'JDBC Connection String',
],
'error' => 'Chyba při připojování k serveru',
'host' => 'Hostitel',
'host_help' => 'IP adresa nebo název domény, které by měly být použity při pokusu o připojení k tomuto MySQL hostiteli z tohoto panelu pro vytvoření nových databází.',
'port' => 'Port',
'port_help' => 'Port který MySQL používá na hostiteli',
'max_database' => 'Maximální počet databází',
'max_databases_help' => 'Maximální počet databází, které mohou být vytvořeny na tomto serveru. Pokud je dosaženo limitu, na tomto hostiteli nelze vytvořit žádné nové databáze. Prázdné je neomezené.',
'display_name' => 'Zobrazené jméno',
'display_name_help' => 'Krátký identifikátor používaný k odlišení tohoto umístění od ostatních. Musí mít 1 až 60 znaků, například us.nyc.lvl3.',
'username' => 'Uživatelské jméno',
'username_help' => 'Uživatelské jméno účtu, který má dostatečná oprávnění pro vytvoření nových uživatelů a databází v systému.',
'password' => 'Heslo',
'password_help' => 'Heslo pro uživatele databáze.',
'linked_nodes' => 'Propojené uzly',
'linked_nodes_help' => 'Toto nastavení je výchozí pouze pro tuto databázi hostitele při přidání databáze na server vybraného uzlu.',
'connection_error' => 'Chyba při připojování k serveru',
'no_database_hosts' => 'Žádné hostitele databáze',
'no_nodes' => 'Žádné uzly',
'delete_help' => 'Databáze hostitel má databáze',
'unlimited' => 'Neomezené',
'anywhere' => 'Kdekoliv',

'rotate' => 'Otočit',
'rotate_password' => 'Změnit heslo',
'rotated' => 'Heslo změněné',
'rotate_error' => 'Změna hesla se nezdařila',
'databases' => 'Databáze',

'setup' => [
'preparations' => 'Přípravy',
'database_setup' => 'Nastavení databáze',
'panel_setup' => 'Nastavení panelu',

'note' => 'V současné době jsou podporovány pouze databáze MySQL/ MariaDB!',
'different_server' => 'Jsou panel a databáze <i>ne</i> na stejném serveru?',

'database_user' => 'Uživatel databáze',
'cli_login' => 'Použijte <code>mysql -u root -p</code> pro přístup mysql CLI.',
'command_create_user' => 'Příkaz k vytvoření uživatele',
'command_assign_permissions' => 'Příkaz k přiřazení oprávnění',
'cli_exit' => 'Pro ukončení mysql cli spusťte <code>exit</code>.',
'external_access' => 'Externí přístup',
'allow_external_access' => '
<p>Šance budete muset povolit externí přístup k této instanci MySQL, abyste se k ní mohli připojit.</p>
<br>
<p>otevřít <code>my. nf</code>, které se liší v umístění v závislosti na vašem OS a jak byl MySQL nainstalován. Můžete napsat <code>/etc -iname my.cnf</code> a najít ji.</p>
<br>
<p>Open <code>my. nf</code>, přidejte text níže do spodní části souboru a uložte jej:<br>
<code>[mysqld]<br>bind-address=0. .0.</code></p>
<br>
<p>Restart MySQL/ MariaDB, aby se tyto změny použily. Toto přepíše výchozí konfiguraci MySQL, která bude ve výchozím nastavení přijímat pouze žádosti od localhost. Aktualizace umožní připojení na všech rozhraních, a tedy i externí připojení. Ujistěte se, že povolíte MySQL port (výchozí 3306) ve vaší firewall.</p>
',
Comment on lines +63 to +72
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Corrupted commands inside allow_external_access HTML — wrong filename, missing find, broken IP address.

Three distinct copy-paste/OCR artifacts will mislead users:

  1. my. nf (×2, lines 66 & 68) — should be my.cnf
  2. /etc -iname my.cnf (line 66) — missing find; should be find /etc -iname my.cnf
  3. bind-address=0. .0. (line 69) — should be bind-address=0.0.0.0
  4. "Open" (line 68) — left in English; should be "Otevřít"
✏️ Proposed fix
-                                    <p>otevřít <code>my. nf</code>, které se liší v umístění v závislosti na vašem OS a jak byl MySQL nainstalován. Můžete napsat <code>/etc -iname my.cnf</code> a najít ji.</p>
+                                    <p>Otevřít <code>my.cnf</code>, které se liší v umístění v závislosti na vašem OS a jak byl MySQL nainstalován. Můžete napsat <code>find /etc -iname my.cnf</code> a najít ji.</p>
                                    <br>
-                                    <p>Open <code>my. nf</code>, přidejte text níže do spodní části souboru a uložte jej:<br>
-                                    <code>[mysqld]<br>bind-address=0. .0.</code></p>
+                                    <p>Otevřít <code>my.cnf</code>, přidejte text níže do spodní části souboru a uložte jej:<br>
+                                    <code>[mysqld]<br>bind-address=0.0.0.0</code></p>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
'allow_external_access' => '
<p>Šance budete muset povolit externí přístup k této instanci MySQL, abyste se k ní mohli připojit.</p>
<br>
<p>otevřít <code>my. nf</code>, které se liší v umístění v závislosti na vašem OS a jak byl MySQL nainstalován. Můžete napsat <code>/etc -iname my.cnf</code> a najít ji.</p>
<br>
<p>Open <code>my. nf</code>, přidejte text níže do spodní části souboru a uložte jej:<br>
<code>[mysqld]<br>bind-address=0. .0.</code></p>
<br>
<p>Restart MySQL/ MariaDB, aby se tyto změny použily. Toto přepíše výchozí konfiguraci MySQL, která bude ve výchozím nastavení přijímat pouze žádosti od localhost. Aktualizace umožní připojení na všech rozhraních, a tedy i externí připojení. Ujistěte se, že povolíte MySQL port (výchozí 3306) ve vaší firewall.</p>
',
'allow_external_access' => '
<p>Šance budete muset povolit externí přístup k této instanci MySQL, abyste se k ní mohli připojit.</p>
<br>
<p>Otevřít <code>my.cnf</code>, které se liší v umístění v závislosti na vašem OS a jak byl MySQL nainstalován. Můžete napsat <code>find /etc -iname my.cnf</code> a najít ji.</p>
<br>
<p>Otevřít <code>my.cnf</code>, přidejte text níže do spodní části souboru a uložte jej:<br>
<code>[mysqld]<br>bind-address=0.0.0.0</code></p>
<br>
<p>Restart MySQL/ MariaDB, aby se tyto změny použily. Toto přepíše výchozí konfiguraci MySQL, která bude ve výchozím nastavení přijímat pouze žádosti od localhost. Aktualizace umožní připojení na všech rozhraních, a tedy i externí připojení. Ujistěte se, že povolíte MySQL port (výchozí 3306) ve vaší firewall.</p>
',
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@czech-language/lang/cs/admin/databasehost.php` around lines 63 - 72, In the
'allow_external_access' string replace the corrupted artifacts: change every
"my. nf" to "my.cnf", change "/etc -iname my.cnf" to "find /etc -iname my.cnf",
change "bind-address=0. .0." to "bind-address=0.0.0.0", and change the English
"Open" to Czech "Otevřít"; ensure the code blocks remain wrapped in
<code>...</code> and remove extra stray spaces so the commands and IP are
correct in the allow_external_access message.

],
];
Loading
Loading