Add indonesian translation & currency, add some refactoring#302
Add indonesian translation & currency, add some refactoring#302aldok10 wants to merge 3 commits into
Conversation
|
@coderabbitai full review |
✅ Actions performedFull review triggered. |
📝 WalkthroughWalkthroughThis PR adds Indonesia (ID) as a supported country with localized translations and currency configuration, while standardizing session flash messaging across all controllers and middleware by replacing Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 14
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
app/Http/Controllers/TasksController.php (1)
163-165:⚠️ Potential issue | 🟡 MinorUnreachable code after
returnstatement.Line 164 is never executed because the function returns on line 163. This appears to be leftover code from a previous implementation.
🧹 Suggested fix
//Hack to make dropzone js work, as it only called with AJAX and not form submit return response()->json(['task_external_id' => $task->external_id, 'project_external_id' => $project ? $project->external_id : null]); - return redirect()->route("tasks.show", $insertedExternalId); }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/Http/Controllers/TasksController.php` around lines 163 - 165, In TasksController remove the unreachable redirect or make the response conditional: the method currently returns response()->json(['task_external_id' => $task->external_id, 'project_external_id' => $project ? $project->external_id : null]) and then has a dead return redirect()->route("tasks.show", $insertedExternalId); — either delete the redirect()->route(...) line, or replace the single return with conditional logic (e.g. if ($request->wantsJson()) return response()->json(...); else return redirect()->route("tasks.show", $insertedExternalId)) so only one return executes; update references to $insertedExternalId/$task as needed.
🧹 Nitpick comments (7)
app/Http/Controllers/SettingsController.php (1)
17-17: Unused import:Sessionfacade is no longer used.The
use Session;import remains but all flash calls have been migrated tosession()->flash(). This import can be removed.🧹 Suggested cleanup
-use Session;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/Http/Controllers/SettingsController.php` at line 17, Remove the unused Session facade import from SettingsController: delete the line "use Session;" at the top of the SettingsController file since all flash calls were migrated to session()->flash() and no other references to Session exist; run a quick grep for "Session::" or "use Session" to confirm no remaining usages before committing.app/Http/Controllers/RolesController.php (1)
10-10: Unused import:Sessionfacade is no longer used.The
use Session;import is now dead code after migrating to thesession()helper.🧹 Suggested cleanup
-use Session;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/Http/Controllers/RolesController.php` at line 10, Remove the now-unused Session facade import by deleting the "use Session;" statement in RolesController (top of file) and verify there are no remaining references to the Session class in the controller (all code should use the session() helper); run static analysis/tests to confirm no unused-import warnings remain.app/Http/Controllers/DocumentsController.php (1)
8-8: Unused import:Sessionfacade is no longer used.The
use Session;import is now dead code after migrating to thesession()helper.🧹 Suggested cleanup
-use Session;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/Http/Controllers/DocumentsController.php` at line 8, Remove the dead import of the Session facade by deleting the "use Session;" statement in the DocumentsController file (the import at top of the DocumentsController class), and ensure there are no remaining references to the Session facade elsewhere in DocumentsController (use the session() helper where needed).app/Http/Controllers/UsersController.php (1)
7-7: Remove unusedSessionimport.The
use Session;import is no longer used since allSession::flash()calls have been refactored to use thesession()helper.♻️ Proposed fix
-use Session;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/Http/Controllers/UsersController.php` at line 7, Remove the unused import "use Session;" from UsersController.php: locate the top of the UsersController file where the import statements are declared (the "use Session;" line) and delete it, since all Session::flash() calls were refactored to the session() helper and the Session facade is no longer referenced.resources/lang/dk.json (1)
534-534: Missing trailing newline at end of file.The file lacks a trailing newline, which is a common convention for text files.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@resources/lang/dk.json` at line 534, The file resources/lang/dk.json is missing a trailing newline; open the file and add a single newline character at the end (after the final closing brace) so the file ends with a newline, then save and commit the change to satisfy POSIX/text-file conventions.app/Http/Controllers/CommentController.php (1)
4-4: Remove unusedSessionimport.The
use Session;import is no longer used since allSession::flash()calls have been refactored to use thesession()helper.♻️ Proposed fix
-use Session;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/Http/Controllers/CommentController.php` at line 4, The file still imports the Session facade via the unused "use Session;" statement; remove that import from CommentController.php (delete the "use Session;" line) and ensure no remaining references to the Session facade (all session usage should use the session() helper), keeping functions like any flash calls unchanged.resources/lang/es.json (1)
521-521: Missing trailing newline at end of file.The file lacks a trailing newline, which is a common convention for text files.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@resources/lang/es.json` at line 521, The file resources/lang/es.json ends with a closing brace but is missing a trailing newline; open resources/lang/es.json (look for the final "}" at the end of the file) and add a single newline character after that closing brace so the file ends with a newline.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@app/Http/Controllers/CommentController.php`:
- Around line 28-31: In CommentController (the method containing
session()->flash, throw new \Exception and return redirect()->back()), remove
the unreachable pattern by choosing one behavior: either remove the throw and
keep the user-friendly flow (keep session()->flash and return
redirect()->back()) or remove the session flash and return redirect and instead
just throw the exception for upstream handling/logging (keep throw new
\Exception and delete the return/flash). Ensure you delete the dead statement
(return redirect()->back() when throw remains) or delete the throw when
returning, keeping only the appropriate session/message or exception handling.
In `@app/Http/Controllers/DocumentsController.php`:
- Around line 83-84: Change the flash key used for file-size error messages from
'flash_message' to the error/styled key 'flash_message_warning' in
DocumentsController where session()->flash is called for the size limit check
(the three occurrences shown); update each session()->flash('flash_message',
...) to session()->flash('flash_message_warning', ...) so the error is styled as
a warning instead of a success.
In `@app/Http/Controllers/TasksController.php`:
- Around line 326-327: The flash message in TasksController uses a hard-coded
string in the session()->flash call (session()->flash('flash_message', 'New
deadline is set')) which breaks i18n; update that invocation to wrap the message
with Laravel's translation helper (use __('New deadline is set')) so the flash
message is translatable and consistent with other messages in the controller.
In `@app/Http/Controllers/UsersController.php`:
- Around line 305-306: In UsersController replace the incorrect "return
session()->flash(...)" (which returns void) with an explicit redirect that also
sets the flash so execution stops; specifically, in the super-admin deletion
check where session()->flash('flash_message_warning', __('Not allowed to delete
super admin')) is currently returned, change it to return
redirect()->back()->with('flash_message_warning', __('Not allowed to delete
super admin')) so the method exits consistently (matching other checks) and the
warning is preserved; locate the block referencing session()->flash in the
UsersController delete/destroy flow to apply this fix.
In `@app/Http/Middleware/Client/CanClientUpdate.php`:
- Line 19: The flash message in the CanClientUpdate middleware is incorrect:
update the session()->flash call in the CanClientUpdate class (where it
currently sets 'flash_message_warning') to use the correct wording "You don't
have permission to update a client" instead of "user" so the permission error
correctly refers to a client.
In `@app/Http/Middleware/Translation.php`:
- Line 20: The case-sensitive in_array check in the Translation middleware is
failing for uppercase stored values (e.g., "ID"); update the Translation class
(handle method) to normalize the incoming $language (use strtolower and
optionally trim) before the in_array validation so "ID" and "id" both pass, and
ensure the normalized value is then used for the rest of the logic; this is the
minimal fix versus changing the settings form—also verify consistency with
SettingsController::updateOverall handling of stored values.
In `@app/Http/Middleware/User/CanUserUpdate.php`:
- Line 19: The flash message in the CanUserUpdate middleware is incorrect:
locate the session()->flash call inside the CanUserUpdate middleware (e.g., in
the handle method) and change the translation string from "You don't have
permission to update a client" to "You don't have permission to update a user"
(update the __("...") argument so the translation key/text reflects "user"
rather than "client"); ensure the corrected string is used where
session()->flash('flash_message_warning', ...) is invoked.
In `@app/Repositories/Role/RoleRepository.php`:
- Around line 84-88: The deletion guard in RoleRepository.php incorrectly uses
OR (||) so ($role->name !== 'administrator' || $role->name !== 'owner') is
always true; change the condition to use AND (&&) so you only delete when
$role->name is neither 'administrator' nor 'owner' (i.e., $role->name !==
'administrator' && $role->name !== 'owner'), leaving the
session()->flash('flash_message_warning', ...) in the else branch to prevent
deletion of protected roles; ensure you reference the $role->delete() call and
the session flash path in the same method.
In `@resources/lang/en.json`:
- Line 228: The locale key "Lead deleted" in resources/lang/en.json currently
maps to the wrong string ("Task deleted"); update the value for the "Lead
deleted" key so it correctly reads "Lead deleted" (or the proper lead-specific
success text) to ensure lead flows display the correct message.
In `@resources/lang/es.json`:
- Line 14: Update the Spanish translations in resources/lang/es.json by
replacing English values with their Spanish equivalents for the listed keys:
change "Add new line" -> "Agregar nueva línea", "Based on" -> "Basado en",
"Indicator" -> "Indicador", "Indonesia" -> "Indonesia", "Lost offer" -> "Oferta
perdida", "New Offer" -> "Nueva oferta", "New product" -> "Nuevo producto", "No
overdue invoices" -> "Sin facturas vencidas", "No products" -> "Sin productos",
"Offer" -> "Oferta", "Overdue" -> "Vencido", "Products" -> "Productos", "Sales"
-> "Ventas", the offer won/lost messages on lines 402-403 -> their Spanish
equivalents (e.g., "Oferta ganada"/"Oferta perdida" or context-appropriate
sentences), "Won offer" -> "Oferta ganada", "management" -> "gestión", and
"offer" -> "oferta"; ensure each JSON value is properly quoted and the file
remains valid JSON after the edits.
In `@resources/lang/id.json`:
- Line 139: The Indonesian translation for the email template is missing the
:price placeholder present in the English source; update the translated value
for the key that starts with "Dear :name\n\nThank you, for being a customer at
:company\n\nHere is you Invoice on :price..." to include the :price token (e.g.,
"Berikut adalah faktur Anda sebesar :price") so the invoice amount is rendered
for Indonesian users; ensure the placeholder syntax remains exactly ":price" and
keep surrounding newlines and :company placeholder intact.
- Around line 1-536: The settings language selector uses "ID" (uppercase)
causing a mismatch with the translation key "id" used by the Translation
middleware (["en","dk","es","id"]) and other views like users/form.blade.php;
update the language option in resources/views/settings/index.blade.php so the
select option value uses lowercase "id" (value="id") and verify any other
occurrences in that view use the same lowercase key to ensure consistent locale
lookup.
In `@resources/views/settings/index.blade.php`:
- Line 64: The language option value for Indonesian is uppercase ("ID") which
won't match the case-sensitive check in Translation middleware; change the
option value in resources/views/settings/index.blade.php from "ID" to "id" (and
normalize other language option values to lowercase), and update the language
handling in SettingsController::updateOverall and/or
app/Http/Middleware/Translation.php to normalize incoming values (e.g., use
strtolower($language) before in_array($language, ["en","dk","es","id"]) or cast
the saved value to lowercase) so existing uppercase DB entries remain
compatible.
In `@resources/views/tasks/create.blade.php`:
- Around line 101-103: The dropdown currently renders both the translated label
and the raw key ("{{__($statusK)}} ({{ $statusK }})"); update the option text to
only show the translated status label by removing the raw key portion so the
option becomes just the translation (use $statuses, $status and $statusK to
locate the foreach and change the option inner text to only __($statusK)).
---
Outside diff comments:
In `@app/Http/Controllers/TasksController.php`:
- Around line 163-165: In TasksController remove the unreachable redirect or
make the response conditional: the method currently returns
response()->json(['task_external_id' => $task->external_id,
'project_external_id' => $project ? $project->external_id : null]) and then has
a dead return redirect()->route("tasks.show", $insertedExternalId); — either
delete the redirect()->route(...) line, or replace the single return with
conditional logic (e.g. if ($request->wantsJson()) return response()->json(...);
else return redirect()->route("tasks.show", $insertedExternalId)) so only one
return executes; update references to $insertedExternalId/$task as needed.
---
Nitpick comments:
In `@app/Http/Controllers/CommentController.php`:
- Line 4: The file still imports the Session facade via the unused "use
Session;" statement; remove that import from CommentController.php (delete the
"use Session;" line) and ensure no remaining references to the Session facade
(all session usage should use the session() helper), keeping functions like any
flash calls unchanged.
In `@app/Http/Controllers/DocumentsController.php`:
- Line 8: Remove the dead import of the Session facade by deleting the "use
Session;" statement in the DocumentsController file (the import at top of the
DocumentsController class), and ensure there are no remaining references to the
Session facade elsewhere in DocumentsController (use the session() helper where
needed).
In `@app/Http/Controllers/RolesController.php`:
- Line 10: Remove the now-unused Session facade import by deleting the "use
Session;" statement in RolesController (top of file) and verify there are no
remaining references to the Session class in the controller (all code should use
the session() helper); run static analysis/tests to confirm no unused-import
warnings remain.
In `@app/Http/Controllers/SettingsController.php`:
- Line 17: Remove the unused Session facade import from SettingsController:
delete the line "use Session;" at the top of the SettingsController file since
all flash calls were migrated to session()->flash() and no other references to
Session exist; run a quick grep for "Session::" or "use Session" to confirm no
remaining usages before committing.
In `@app/Http/Controllers/UsersController.php`:
- Line 7: Remove the unused import "use Session;" from UsersController.php:
locate the top of the UsersController file where the import statements are
declared (the "use Session;" line) and delete it, since all Session::flash()
calls were refactored to the session() helper and the Session facade is no
longer referenced.
In `@resources/lang/dk.json`:
- Line 534: The file resources/lang/dk.json is missing a trailing newline; open
the file and add a single newline character at the end (after the final closing
brace) so the file ends with a newline, then save and commit the change to
satisfy POSIX/text-file conventions.
In `@resources/lang/es.json`:
- Line 521: The file resources/lang/es.json ends with a closing brace but is
missing a trailing newline; open resources/lang/es.json (look for the final "}"
at the end of the file) and add a single newline character after that closing
brace so the file ends with a newline.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 9006ad95-397d-4681-bae1-a3c0cceff15f
📒 Files selected for processing (37)
app/Enums/Country.phpapp/Http/Controllers/AbsenceController.phpapp/Http/Controllers/ClientsController.phpapp/Http/Controllers/CommentController.phpapp/Http/Controllers/DepartmentsController.phpapp/Http/Controllers/DocumentsController.phpapp/Http/Controllers/InvoiceLinesController.phpapp/Http/Controllers/InvoicesController.phpapp/Http/Controllers/LeadsController.phpapp/Http/Controllers/ProjectsController.phpapp/Http/Controllers/RolesController.phpapp/Http/Controllers/SettingsController.phpapp/Http/Controllers/TasksController.phpapp/Http/Controllers/UsersController.phpapp/Http/Middleware/Client/CanClientCreate.phpapp/Http/Middleware/Client/CanClientUpdate.phpapp/Http/Middleware/Lead/CanLeadCreate.phpapp/Http/Middleware/Lead/CanLeadUpdateStatus.phpapp/Http/Middleware/Lead/IsLeadAssigned.phpapp/Http/Middleware/RedirectIfDemo.phpapp/Http/Middleware/RedirectIfNotAdmin.phpapp/Http/Middleware/RedirectIfNotSuperAdmin.phpapp/Http/Middleware/Task/CanTaskCreate.phpapp/Http/Middleware/Task/CanTaskUpdateStatus.phpapp/Http/Middleware/Task/IsTaskAssigned.phpapp/Http/Middleware/Translation.phpapp/Http/Middleware/User/CanUserCreate.phpapp/Http/Middleware/User/CanUserUpdate.phpapp/Repositories/Currency/Currency.phpapp/Repositories/Role/RoleRepository.phpresources/lang/dk.jsonresources/lang/en.jsonresources/lang/es.jsonresources/lang/id.jsonresources/views/settings/index.blade.phpresources/views/tasks/create.blade.phpresources/views/users/form.blade.php
| session()->flash('flash_message_warning', __('Could not create comment, type not found! Please contact Daybyday support')); | ||
| throw new \Exception("Could not create comment with type " . $request->type); | ||
| return redirect()->back(); | ||
| } |
There was a problem hiding this comment.
Unreachable code after throw statement.
Line 30 (return redirect()->back();) will never execute because the throw statement on line 29 terminates execution. Additionally, flashing a session message before throwing an exception is ineffective since the flash data won't be available after the exception is handled.
🐛 Proposed fix - either redirect or throw, not both
Option 1: Flash and redirect (user-friendly):
if (!array_key_exists($request->type, $modelsMapping)) {
session()->flash('flash_message_warning', __('Could not create comment, type not found! Please contact Daybyday support'));
- throw new \Exception("Could not create comment with type " . $request->type);
return redirect()->back();
}Option 2: Just throw (for logging/debugging):
if (!array_key_exists($request->type, $modelsMapping)) {
- session()->flash('flash_message_warning', __('Could not create comment, type not found! Please contact Daybyday support'));
throw new \Exception("Could not create comment with type " . $request->type);
- return redirect()->back();
}📝 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.
| session()->flash('flash_message_warning', __('Could not create comment, type not found! Please contact Daybyday support')); | |
| throw new \Exception("Could not create comment with type " . $request->type); | |
| return redirect()->back(); | |
| } | |
| session()->flash('flash_message_warning', __('Could not create comment, type not found! Please contact Daybyday support')); | |
| return redirect()->back(); | |
| } |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@app/Http/Controllers/CommentController.php` around lines 28 - 31, In
CommentController (the method containing session()->flash, throw new \Exception
and return redirect()->back()), remove the unreachable pattern by choosing one
behavior: either remove the throw and keep the user-friendly flow (keep
session()->flash and return redirect()->back()) or remove the session flash and
return redirect and instead just throw the exception for upstream
handling/logging (keep throw new \Exception and delete the return/flash). Ensure
you delete the dead statement (return redirect()->back() when throw remains) or
delete the throw when returning, keeping only the appropriate session/message or
exception handling.
| session()->flash('flash_message', __('File Size cannot be bigger than 15MB')); | ||
| return redirect()->back(); |
There was a problem hiding this comment.
Incorrect flash key for error condition.
File size limit exceeded is an error scenario, but flash_message (typically styled as success/green) is used instead of flash_message_warning. This may confuse users seeing an error styled as a success message.
🔧 Suggested fix
- session()->flash('flash_message', __('File Size cannot be bigger than 15MB'));
+ session()->flash('flash_message_warning', __('File Size cannot be bigger than 15MB'));Apply this change at lines 83, 133, and 183.
Also applies to: 133-134, 183-184
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@app/Http/Controllers/DocumentsController.php` around lines 83 - 84, Change
the flash key used for file-size error messages from 'flash_message' to the
error/styled key 'flash_message_warning' in DocumentsController where
session()->flash is called for the size limit check (the three occurrences
shown); update each session()->flash('flash_message', ...) to
session()->flash('flash_message_warning', ...) so the error is styled as a
warning instead of a success.
| session()->flash('flash_message', 'New deadline is set'); | ||
| return redirect()->back(); |
There was a problem hiding this comment.
Missing translation wrapper breaks i18n consistency.
The message 'New deadline is set' is not wrapped in __(), unlike all other flash messages in this controller. This will display untranslated text for non-English locales including the new Indonesian locale.
🌐 Suggested fix
- session()->flash('flash_message', 'New deadline is set');
+ session()->flash('flash_message', __('New deadline is set'));📝 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.
| session()->flash('flash_message', 'New deadline is set'); | |
| return redirect()->back(); | |
| session()->flash('flash_message', __('New deadline is set')); | |
| return redirect()->back(); |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@app/Http/Controllers/TasksController.php` around lines 326 - 327, The flash
message in TasksController uses a hard-coded string in the session()->flash call
(session()->flash('flash_message', 'New deadline is set')) which breaks i18n;
update that invocation to wrap the message with Laravel's translation helper
(use __('New deadline is set')) so the flash message is translatable and
consistent with other messages in the controller.
| return session()->flash('flash_message_warning', __('Not allowed to delete super admin')); | ||
| } |
There was a problem hiding this comment.
Incorrect return value from session()->flash().
session()->flash() returns void, so return session()->flash(...) will return null, not a proper response. This allows execution to continue past this point to line 325, which redirects to users.index. The intended behavior appears to be an early exit with just a flash message (no redirect), but this implementation is inconsistent with other similar checks in this controller that use redirect()->back().
🐛 Proposed fix - add redirect for consistency
if ($user->hasRole('owner')) {
- return session()->flash('flash_message_warning', __('Not allowed to delete super admin'));
+ session()->flash('flash_message_warning', __('Not allowed to delete super admin'));
+ return redirect()->back();
}📝 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.
| return session()->flash('flash_message_warning', __('Not allowed to delete super admin')); | |
| } | |
| if ($user->hasRole('owner')) { | |
| session()->flash('flash_message_warning', __('Not allowed to delete super admin')); | |
| return redirect()->back(); | |
| } |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@app/Http/Controllers/UsersController.php` around lines 305 - 306, In
UsersController replace the incorrect "return session()->flash(...)" (which
returns void) with an explicit redirect that also sets the flash so execution
stops; specifically, in the super-admin deletion check where
session()->flash('flash_message_warning', __('Not allowed to delete super
admin')) is currently returned, change it to return
redirect()->back()->with('flash_message_warning', __('Not allowed to delete
super admin')) so the method exits consistently (matching other checks) and the
warning is preserved; locate the block referencing session()->flash in the
UsersController delete/destroy flow to apply this fix.
| { | ||
| if (!auth()->user()->can('client-update')) { | ||
| Session()->flash('flash_message_warning', __("You don't have permission to update a user")); | ||
| session()->flash('flash_message_warning', __("You don't have permission to update a user")); |
There was a problem hiding this comment.
Incorrect message text: says "user" instead of "client".
This is CanClientUpdate middleware for client permissions, but the error message references "user". The message should read "You don't have permission to update a client" for consistency.
📝 Proposed fix
- session()->flash('flash_message_warning', __("You don't have permission to update a user"));
+ session()->flash('flash_message_warning', __("You don't have permission to update a client"));🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@app/Http/Middleware/Client/CanClientUpdate.php` at line 19, The flash message
in the CanClientUpdate middleware is incorrect: update the session()->flash call
in the CanClientUpdate class (where it currently sets 'flash_message_warning')
to use the correct wording "You don't have permission to update a client"
instead of "user" so the permission error correctly refers to a client.
| "Add Comment": "Añadir comentario", | ||
| "Add Note": "Añadir nota", | ||
| "Add new Role": "Añadir nuevo Rol", | ||
| "Add new line": "Add new line", |
There was a problem hiding this comment.
Multiple untranslated Spanish entries.
Several keys have English text as their Spanish translations, which will display in English for Spanish-speaking users. These should be translated:
| Line | Key | Current Value | Suggested |
|---|---|---|---|
| 14 | "Add new line" | "Add new line" | "Agregar nueva línea" |
| 52 | "Based on" | "Based on" | "Basado en" |
| 194 | "Indicator" | "Indicator" | "Indicador" |
| 195 | "Indonesia" | "Indonesian" | "Indonesia" |
| 230 | "Lost offer" | "Lost offer" | "Oferta perdida" |
| 243 | "New Offer" | "New Offer" | "Nueva Oferta" |
| 250 | "New product" | "New product" | "Nuevo producto" |
| 261 | "No overdue invoices" | "No overdue invoices" | "Sin facturas vencidas" |
| 262 | "No products" | "No products" | "Sin productos" |
| 278 | "Offer" | "Offer" | "Oferta" |
| 290 | "Overdue" | "Overdue" | "Vencido" |
| 313 | "Products" | "Products" | "Productos" |
| 336 | "Sales" | "Sales" | "Ventas" |
| 402-403 | Offer won/lost messages | (English) | (Spanish equivalents) |
| 454 | "Won offer" | "Won offer" | "Oferta ganada" |
| 502 | "management" | "management" | "gestión" |
| 509 | "offer" | "offer" | "oferta" |
Also applies to: 52-52, 194-195, 230-230, 243-243, 250-250, 261-262, 278-278, 290-290, 313-313, 336-336, 402-403, 454-454, 502-502, 509-509
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@resources/lang/es.json` at line 14, Update the Spanish translations in
resources/lang/es.json by replacing English values with their Spanish
equivalents for the listed keys: change "Add new line" -> "Agregar nueva línea",
"Based on" -> "Basado en", "Indicator" -> "Indicador", "Indonesia" ->
"Indonesia", "Lost offer" -> "Oferta perdida", "New Offer" -> "Nueva oferta",
"New product" -> "Nuevo producto", "No overdue invoices" -> "Sin facturas
vencidas", "No products" -> "Sin productos", "Offer" -> "Oferta", "Overdue" ->
"Vencido", "Products" -> "Productos", "Sales" -> "Ventas", the offer won/lost
messages on lines 402-403 -> their Spanish equivalents (e.g., "Oferta
ganada"/"Oferta perdida" or context-appropriate sentences), "Won offer" ->
"Oferta ganada", "management" -> "gestión", and "offer" -> "oferta"; ensure each
JSON value is properly quoted and the file remains valid JSON after the edits.
| { | ||
| "14 days": "14 hari", | ||
| "A short description, as to what is being billed": "Deskripsi singkat, tentang apa yang ditagih", | ||
| "Absence overview": "Peninjauan Kehadiran", | ||
| "Absence registered": "Daftar Kehadiran", | ||
| "Access Denied": "Akses Terlarang", | ||
| "Access not given, try again": "Tidak diberikan akses, coba lagi", | ||
| "Access": "Akses", | ||
| "Action": "Tindakan", | ||
| "Activity": "Aktifitas", | ||
| "Add Comment": "Tambah Komentar", | ||
| "Add Note": "Tambah Catatan", | ||
| "Add new Role": "Tambah Peran baru", | ||
| "Add new line": "Tambah baris baru", | ||
| "Add time": "Tambah waktu", | ||
| "Additional comments": "Komentar tambahan", | ||
| "Address": "Alamat", | ||
| "All Clients": "Semua Pelanggan", | ||
| "All Departments": "Semua Departmen", | ||
| "All Documents": "Semua Berkas", | ||
| "All Files": "Semua File", | ||
| "All Leads": "Semua Prospek", | ||
| "All Projects": "Semua Proyek", | ||
| "All projects": "Semua proyek", | ||
| "All Roles": "Semua Peran", | ||
| "All Tasks": "Semua Tugas", | ||
| "All Users": "Semua Pengguna", | ||
| "All clients": "Semua Pelanggan", | ||
| "All tasks": "Semua tugas", | ||
| "All users": "Semua pengguna", | ||
| "All your active clients will be shown here": "Semua pelanggan aktif Anda akan ditampilkan di sini", | ||
| "Allowed": "Diizinkan", | ||
| "Amount due": "Jumlah yg harus dibayar", | ||
| "Amount in": "Jumlah masuk ", | ||
| "Amount of users": "Jumlah pengguna", | ||
| "Amount": "Jumlah", | ||
| "Api key": "Api key", | ||
| "Appointments": "Janji temu", | ||
| "Are you sure you want to close the lead?": "Apakah Anda yakin ingin menutup prospek?", | ||
| "Are you sure you want to convert the lead to an order?": "Anda yakin ingin mengonversi prospek menjadi pesanan?", | ||
| "Are you sure?": "Apa kamu yakin?", | ||
| "Assign Client": "Tetapkan Pelanggan", | ||
| "Assign client": "Tetapkan pelanggan", | ||
| "Assign department": "Tetapkan departemen", | ||
| "Assign new user": "Tetapkan pengguna baru", | ||
| "Assign project": "Tetapkan proyek", | ||
| "Assign role": "Tetapkan peran", | ||
| "Assign user": "Tetapkan pengguna", | ||
| "Assigned to": "Ditetapkan untuk", | ||
| "Assigned user": "Pengguna yg ditetapkan", | ||
| "Assigned": "Ditetapkan", | ||
| "Attach invoice as PDF": "Lampirkan faktur sebagai PDF", | ||
| "Based on": "Berdasarkan", | ||
| "Billing integrations": "Integrasi penagihan", | ||
| "Billing": "Tagihan", | ||
| "Blocked": "Hambatan / Kendala", | ||
| "Blue": "Biru", | ||
| "Business hours only": "Jam kerja saja", | ||
| "Business hours": "Jam kerja", | ||
| "Business information": "Informasi bisnis", | ||
| "Calendar": "Kalender", | ||
| "Can not delete role": "Tidak dapat menghapus peran", | ||
| "Can't add payment on Invoice": "Tidak dapat menambahkan pembayaran pada faktur", | ||
| "Can't add payment where amount is equal to 0": "Tidak dapat menambahkan pembayaran dimana jumlahnya sama dengan 0", | ||
| "Can't delete department with users, please remove users": "Tidak dapat menghapus departemen dengan pengguna, silahkan hapus pengguna", | ||
| "Can't delete role with users, please remove users": "Tidak dapat menghapus peran pada pengguna, silahkan hapus pengguna", | ||
| "Can't insert new invoice line, to already sent invoice": "Tidak dapat memasukkan baris baru faktur, untuk faktur yang sudah dikirim", | ||
| "Can't pay an invoice with status draft. Send invoice first or force a new status": "Tidak dapat membayar faktur dengan status draft. Kirim faktur terlebih dahulu atau upaya status baru", | ||
| "Can't update an already send invoice": "Tidak dapat memperbarui faktur yang sudah dikirim", | ||
| "Cancel payment": "Batalkan pembayaran", | ||
| "Cancel": "Batal", | ||
| "Cancelled": "Dibatalkan", | ||
| "Card information is updated": "Info kartu diperbarui", | ||
| "Card information": "Informasi kartu", | ||
| "Change deadline": "Ganti tenggat waktu (deadline)", | ||
| "Change next number generated for a client. This will not affect previously created clients. Has to be higer then previously created client number": "Ganti nomor berikutnya yang dihasilkan untuk pelanggan. Ini tidak akan mempengaruhi pelanggan yang sudah dibuat sebelumnya. Harus lebih tinggi dari nomor pelanggan yang sebelumnya dibuat", | ||
| "Change next number generated for a invoice. This will not affect previously created invoices. Has to be higer then previously created invoice number": "Ganti nomor berikutnya yang dihasilkan untuk faktur. Ini tidak akan mempengaruhi faktur yang sudah dibuat sebelumnya. Harus lebih tinggi dari nomor faktur yang sebelumnya dibuat", | ||
| "Change status": "Ganti status", | ||
| "Choose Organization": "Piilih Organisasi", | ||
| "City": "Kota", | ||
| "Click the create new client button, and you're done": "Klik tombol buat pelanggan baru, dan kamu sudah selesai", | ||
| "Click the submit button": "Klik tombol submit", | ||
| "Client could not be deleted, contact Daybyday support": "Pelaanggan tidak dapat dihapus, hubungi Daybyday support", | ||
| "Client is required": "Pelanggan harus diisi", | ||
| "Client number invalid": "No. Pelanggan tidak valid", | ||
| "Client number": "No. Pelanggan", | ||
| "Client overview": "Uraian pelanggan", | ||
| "Client successfully added": "Pelanggan berhasil ditambahkan", | ||
| "Client successfully deleted": "Pelaanggan berhasil dihapus", | ||
| "Client successfully updated": "Pelanggan berhasil diperbarui", | ||
| "Client": "Pelanggan", | ||
| "Clients assigned": "Pelaanggan ditetapkan", | ||
| "Clients": "Pelanggan", | ||
| "Close lead": "Tutup prospek", | ||
| "Close task": "Tutup tugas", | ||
| "Close": "Tutup", | ||
| "Closed": "Tertutup", | ||
| "Collaborators": "Kolaborator", | ||
| "Color": "Warna", | ||
| "Comment by": "Dikomentar oleh", | ||
| "Comment successfully added": "Komentar berhasil ditambahkan", | ||
| "Company address": "Alamat perusahaan", | ||
| "Company name": "Nama perusahaan", | ||
| "Company type": "Tipe perusahaan", | ||
| "Company": "Perusahaan", | ||
| "Complete Lead": "Prospek yang selesai", | ||
| "Completed": "Rampung / Selesai", | ||
| "Confirm password": "Konfirmasi kata sandi", | ||
| "Confirm": "Konfirmasi", | ||
| "Contact information": "Informasi kontak", | ||
| "Contact person name": "Nama kontak", | ||
| "Contact": "Kontak", | ||
| "Control the percentage of vat calculated on invoices. If any billing integration is active, will the integration control the VAT, we will only send the full amount": "Kontrol persentase pajak yang dihitung pada faktur. Jika ada integrasi penagihan yang aktif, integrasi akan mengontrol pajak, kami akan mengirimkan jumlah penuh", | ||
| "Convert to order": "Konversi ke pesanan", | ||
| "Could not create comment. Type not found! Please contact Daybyday support": "Tidak dapat membuat komentar. Tipe tidak ditemukan! Silahkan hubungi Daybyday support", | ||
| "Could not find user": "Tidak dapat menemukan pengguna", | ||
| "Country": "Negara", | ||
| "Create Department": "Buat departemen", | ||
| "Create Lead": "Buat prospek", | ||
| "Create New Client": "Buat pelanggan baru", | ||
| "Create department": "Buat departemen", | ||
| "Create invoice": "Buat faktur", | ||
| "Create lead": "Buat prospek", | ||
| "Create new Lead": "Buat prospek baru", | ||
| "Create new appointment": "Buat janji baru", | ||
| "Create project": "Buat proyek", | ||
| "Create task": "Buat tugas", | ||
| "Create user": "Buat pengguna", | ||
| "Create": "Buat", | ||
| "Created at": "Dibuat pada", | ||
| "Created by": "Dibuat oleh", | ||
| "Created last 14 days": "Dibuat 14 hari terakhir", | ||
| "Currency": "Mata uang", | ||
| "Danish": "Denmark", | ||
| "Dashboard": "Dasbor", | ||
| "Date for receivement of payment": "Tanggal penerimaan pembayaran", | ||
| "Day": "Hari", | ||
| "Deadline": "Tenggat waktu (deadline)", | ||
| "Dear :name\n\nThank you, for being a customer at :company\n\nHere is you Invoice on :price\n\nClick the link below to download the invoice\n\n[link-to-pdf]\n\nRegards\n---\n:company": "Hai :name\n\nTerima kasih, karena telah menjadi pelanggan di :company\n\nBerikut adalah faktur Anda\n\n[link-to-pdf]\n\nRegards\n---\n:company", | ||
| "Delete client": "Hapus pelanggan", | ||
| "Delete invoice": "Hapus faktur", | ||
| "Delete user": "Hapus pengguna", | ||
| "Delete": "Hapus", | ||
| "Deletion of ": "Penghapusan ", | ||
| "Denmark": "Denmark", | ||
| "Department description": "Deskripsi departemen", | ||
| "Department name": "Nama departemen", | ||
| "Departments": "Departemen", | ||
| "Description is required": "Deskripsi harus diisi", | ||
| "Description": "Deskripsi", | ||
| "Do you have a medical certificate?": "Apakah Anda memiliki sertifikat medis?", | ||
| "Documents": "Dokumen", | ||
| "Draft": "Draft", | ||
| "Drop files here or click to upload": "Tarik file ke sini atau klik untuk mengunggah", | ||
| "Due date": "Tanggal jatuh tempo", | ||
| "Edit Client :client": "Edit pelanggan :client", | ||
| "Edit user": "Edit pengguna", | ||
| "Edit": "Edit", | ||
| "Email": "Email", | ||
| "End of business": "Akhir bisnis", | ||
| "End": "Akhir", | ||
| "English": "Inggris", | ||
| "Extra: Administrator is able to update and create departments, integrations, and settings": "NB: Administrator dapat memperbarui dan membuat departemen, integrasi, dan pengaturan", | ||
| "Extra: Owner is able to do the same as an administrator but also controls billing": "NB: Pemilik dapat melakukan yang sama seperti administrator tetapi juga mengontrol penagihan", | ||
| "False": "Salah", | ||
| "File Size cannot be bigger than 15MB": "Ukuran file tidak boleh lebih dari 15MB", | ||
| "File does not exists, make sure it has not been moved from dropbox (:path)": "File tidak ditemukan, pastikan file tidak dipindahkan dari dropbox (:path)", | ||
| "File does not exists, make sure it has not been moved from google drive (:path)": "File tidak ditemukan, pastikan file tidak dipindahkan dari google drive (:path)", | ||
| "File has been deleted": "File telah dihapus", | ||
| "File successfully uploaded": "File berhasil diunggah", | ||
| "File": "File", | ||
| "Filesystem integrations": "Integrasi filesystem", | ||
| "Fill out the form to get started, the only required fields are name, company name, and email": "Isi formulir untuk memulai, hanya field yang diperlukan adalah nama, nama perusahaan, dan email", | ||
| "Fill out the form": "Isi formulir", | ||
| "Flextime": "Flextime", | ||
| "Follow up": "Follow up", | ||
| "For which user are you registering absence?": "Untuk pengguna mana yang Anda daftarkan absen?", | ||
| "France": "Perancis", | ||
| "Full address": "Alamat lengkap", | ||
| "Germany": "Jerman", | ||
| "Go to client": "Ke pelanggan", | ||
| "Go to user": "Ke pengguna", | ||
| "Green": "Hijau", | ||
| "Here you can update the amount of users you wish to have active.": "Di sini Anda dapat memperbarui jumlah pengguna yang ingin Anda gunakan.", | ||
| "Hi": "Hai", | ||
| "Hourly price": "Harga per jam", | ||
| "Hours used": "Jam yang digunakan", | ||
| "Hours": "Jam", | ||
| "How long will the absence be for?": "Berapa lama absen ini?", | ||
| "ID": "ID", | ||
| "If Allowed only user who are assigned the task & the admin can complete the task.": "Jika diijinkan hanya pengguna yang ditugaskan tugas & admin dapat menyelesaikan tugas.", | ||
| "If Allowed only user who are assigned the task & the admin can assign another user.": "Jika diijinkan hanya pengguna yang ditugaskan tugas & admin dapat menugaskan pengguna lain.", | ||
| "If the currency is changed, the invoice will not be recalculated to the new currency, only the visual is changed, like the prefix, separator, symbol etc": "Jika mata uang diubah, faktur tidak akan dihitung ulang ke mata uang baru, hanya visual yang berubah, seperti prefix, pemisah, simbol, dll", | ||
| "If the invoice is not deleted it will be attached to the client, without a reference to the lead": "Jika faktur tidak dihapus, akan dilampirkan ke pelanggan, tanpa referensi ke lead", | ||
| "If the invoice is not deleted it will be attached to the client, without a reference to the task": "Jika faktur tidak dihapus, akan dilampirkan ke pelanggan, tanpa referensi ke tugas", | ||
| "If the tasks are not deleted, they will be attached to the client, without a reference to the project": "Jika tugas tidak dihapus, akan dilampirkan ke pelanggan, tanpa referensi ke proyek", | ||
| "Image": "Gambar", | ||
| "Images": "Gambar", | ||
| "In progress": "Dalam progress", | ||
| "In-progress": "Dalam progress", | ||
| "India": "India", | ||
| "Indicator": "Indikator", | ||
| "Indonesia": "Indonesia", | ||
| "Industry": "Industri", | ||
| "Information": "Informasi", | ||
| "Insert new invoice line": "Masukkan baris faktur baru", | ||
| "Insert task title (will be shown on invoice)": "Masukkan judul tugas (akan ditampilkan pada faktur)", | ||
| "Integrations": "Integrasi", | ||
| "Invalid source": "Sumber tidak valid", | ||
| "Invoice already sent": "Faktur sudah dikirim", | ||
| "Invoice date": "Tanggal faktur", | ||
| "Invoice from :company": "Faktur dari :company", | ||
| "Invoice line successfully deleted": "Baris faktur berhasil dihapus", | ||
| "Invoice number invalid": "Nomor faktur tidak valid", | ||
| "Invoice number": "Nomor faktur", | ||
| "Invoice paid date": "Tanggal faktur dibayar", | ||
| "Invoice sent": "Faktur dikirim", | ||
| "Invoice summary": "Ringkasan faktur", | ||
| "Invoice": "Faktur", | ||
| "Invoices assigned": "Faktur ditugaskan", | ||
| "Invoices": "Faktur", | ||
| "Irrelevant": "Tidak relevan", | ||
| "Item name": "Nama item", | ||
| "Item price": "Harga item", | ||
| "Keep in mind, every document, activity, appointment, and comment related will be deleted as well": "Ingat, setiap dokumen, aktivitas, janji, dan komentar yang terkait akan dihapus juga", | ||
| "Language": "Bahasa", | ||
| "Lead Information": "Informasi Prospek", | ||
| "Lead assigning": "Penugasan prospek", | ||
| "Lead completion": "Penyelesaian prospek", | ||
| "Lead deleted": "Prospek dihapus", | ||
| "Lead status is updated": "Status prospek diperbarui", | ||
| "Lead successfully added": "Prospek berhasil ditambahkan", | ||
| "Leads assigned": "Prospek ditugaskan", | ||
| "Leads completed this month": "Prospek yang telah selesai bulan ini", | ||
| "Leads completed today": "Prospek yang telah selesai hari ini", | ||
| "Leads created today": "Prospek yang dibuat hari ini", | ||
| "Leads each month": "Prospek setiap bulan", | ||
| "Leads": "Prospek", | ||
| "Let's take our first step, by creating a new client": "Kami akan memulai dengan membuat pelanggan baru", | ||
| "Lost offer": "Kalah Penawaran", | ||
| "Mail": "Mail", | ||
| "Max number of users reached": "Jumlah pengguna maksimal tercapai", | ||
| "Max size": "Ukuran maksimal", | ||
| "Message": "Pesan", | ||
| "Modified": "Diubah", | ||
| "More info": "Info lebih lanjut", | ||
| "Name on card": "Nama di kartu", | ||
| "Name": "Nama", | ||
| "Navigation": "Navigasi", | ||
| "New Client": "Pelanggan Baru", | ||
| "New Department": "Departemen Baru", | ||
| "New Lead": "Prospek Baru", | ||
| "New Offer": "Penarawan baru", | ||
| "New Project": "Proyek Baru", | ||
| "New Task": "Tugas Baru", | ||
| "New User": "Pengguna Baru", | ||
| "New deadline is set": "Deadline baru ditetapkan", | ||
| "New follow up date is set": "Tanggal follow up baru ditetapkan", | ||
| "New lead": "Prospek baru", | ||
| "New product": "Produk baru", | ||
| "New project": "Proyek baru", | ||
| "New task": "Tugas baru", | ||
| "New user is assigned": "Pengguna baru ditugaskan", | ||
| "Next client number": "Nomor pelanggan berikutnya", | ||
| "Next follow up": "Follow up berikutnya", | ||
| "Next invoice number": "Nomor faktur berikutnya", | ||
| "No Invoice to show. Add time to create an invoice": "Tidak ada faktur untuk ditampilkan. Tambahkan waktu untuk membuat faktur", | ||
| "No files": "Tidak ada berkas", | ||
| "No new actions": "Tidak ada aksi baru", | ||
| "No new notifications": "Tidak ada notifikasi baru", | ||
| "No overdue invoices": "Tidak ada faktur jatuh tempo", | ||
| "No products": "Tidak ada produk", | ||
| "No recent appointments for the last 3 months": "Tidak ada pertemuan terbaru dalam 3 bulan terakhir", | ||
| "No registered absences today": "Tidak ada absen terdaftar hari ini", | ||
| "No upcoming appointments": "Tidak ada pertemuan mendatang", | ||
| "No": "No", | ||
| "None found": "Tidak ditemukan", | ||
| "Not able to change owner role, please choose a new owner first": "Tidak dapat mengubah peran pemilik, silahkan pilih pemilik baru dulu", | ||
| "Not allowed to delete super admin": "Tidak diijinkan untuk menghapus super admin", | ||
| "Not allowed": "Tidak diijinkan", | ||
| "Not authorized": "Tidak diizinkan", | ||
| "Not interested": "Tidak tertarik", | ||
| "Not send": "Tidak dikirim", | ||
| "Not set": "Tidak ditetapkan", | ||
| "Note": "Catatan", | ||
| "Nothing selected": "Tidak ada yang dipilih", | ||
| "Number": "Nomor", | ||
| "O'clock": "Jam", | ||
| "Offer": "Penawaran", | ||
| "Once a invoice has been send, no new invoice lines can be added": "Setelah faktur dikirim, tidak dapat ditambahkan baris faktur baru", | ||
| "Once deleted, it is not possible to restore it. Are you sure?": "Sekali dihapus, tidak dapat dikembalikan. Anda yakin?", | ||
| "Online Users": "Pengguna Online", | ||
| "Only Allowed for admins": "Hanya diijinkan untuk admin", | ||
| "Only Allowed for the user who registered the CRM": "Hanya diijinkan untuk pengguna yang mendaftarkan CRM", | ||
| "Open": "Rencana & Permintaan", | ||
| "Order summary": "Ringkasan pesanan", | ||
| "Organization id": "ID organisasi", | ||
| "Other": "Lainnya", | ||
| "Overall Settings": "Pengaturan Umum", | ||
| "Overall settings successfully updated": "Pengaturan umum berhasil diperbarui", | ||
| "Overdue invoices": "Faktur Jatuh Tempo", | ||
| "Overdue": "Jatuh Tempo", | ||
| "Overview": "Tinjauan", | ||
| "Passowrd": "Kata sandi", | ||
| "Pay invoice": "Bayar faktur", | ||
| "Payment Received": "Pembayaran diterima", | ||
| "Payment date": "Tanggal pembayaran", | ||
| "Payment of Invoice": "Pembayaran faktur", | ||
| "Payment received": "Pembayaran diterima", | ||
| "Payment source": "Sumber pembayaran", | ||
| "Payment successfully added": "Pembayaran berhasil ditambahkan", | ||
| "Payment successfully deleted": "Pembayaran berhasil dihapus", | ||
| "Payments": "Pembayaran", | ||
| "Pending": "Tertunda", | ||
| "Pending:": "Tertunda:", | ||
| "Permission management": "Pengelolaan perizinan", | ||
| "Permissions": "Perizinan", | ||
| "Personal leave": "Cuti", | ||
| "Personal number": "Nomor pribadi", | ||
| "Phone numbers": "Nomor telepon", | ||
| "Please contact the adminstrator for this account, if you can't get in touch with the administrator. Contact us at info@daybyday.dk": "Silahkan hubungi administrator untuk akun ini, jika anda tidak bisa menghubungi administrator. Hubungi kami di info@daybyday.dk", | ||
| "Price": "Harga", | ||
| "Primary contact person": "Pemilik kontak utama", | ||
| "Primary number": "Nomor utama", | ||
| "Products": "Produk", | ||
| "Profile": "Profil", | ||
| "Project completion progress": "Progres penyelesaian proyek", | ||
| "Project deleted": "Proyek dihapus", | ||
| "Projects are used to keep track of tasks that might be related to a bigger assignment for the client. And gives the possibility of multiple people working various tasks and keep track of the tasks.": "Proyek digunakan untuk mengukur tugas yang mungkin terkait dengan penugasan besar untuk pelanggan. Dan memberikan kemungkinan banyak orang bekerja dengan beberapa tugas dan mengukur tugas.", | ||
| "Projects assigned": "Proyek ditugaskan", | ||
| "Projects": "Proyek", | ||
| "Quantity": "Kuantitas", | ||
| "Reason": "Alasan", | ||
| "Recent appointments": "Pertemuan terbaru", | ||
| "Recipient email": "Email penerima", | ||
| "Recipient": "Penerima", | ||
| "Red": "Merah", | ||
| "Reference": "Referensi", | ||
| "Register absence": "Daftarkan absen", | ||
| "Register payment": "Daftarkan pembayaran", | ||
| "Register time": "Daftarkan waktu", | ||
| "Role & Permissions Management": "Pengelolaan Perizinan & Peran", | ||
| "Role Management": "Pengelolaan Peran", | ||
| "Role created": "Peran dibuat", | ||
| "Role deleted": "Peran dihapus", | ||
| "Role is updated": "Peran diperbarui", | ||
| "Roles and Permissions Management": "Pengelolaan Perizinan & Peran", | ||
| "Russia": "Rusia", | ||
| "Sales": "Penjualan", | ||
| "Same as with clients you can create a new task. Tasks has a primary user assigned, and a client, it can also be related to a project": "Sama dengan pelanggan, anda dapat membuat tugas baru. Tugas memiliki pengguna utama, dan pelanggan, itu juga dapat terkait dengan proyek", | ||
| "Save Role": "Simpan Peran", | ||
| "Save overall settings": "Simpan pengaturan umum", | ||
| "Save settings": "Simpan pengaturan", | ||
| "Search term": "Kata kunci pencarian", | ||
| "Secondary number": "Nomor sekunder", | ||
| "Security": "Keamanan", | ||
| "Select an option": "Pilih opsi", | ||
| "Send invoice": "Kirim faktur", | ||
| "Send mail with invoice to Customer?(Cheked = Yes):": "Kirim email dengan faktur ke pelanggan?(Dipilih = Ya):", | ||
| "Set invoice as not paid": "Tetapkan faktur sebagai belum dibayar", | ||
| "Set invoice as paid": "Tetapkan faktur sebagai dibayar", | ||
| "Set invoice as sent": "Tetapkan faktur sebagai dikirim", | ||
| "Settings": "Pengaturan", | ||
| "Show invoice": "Tampilkan faktur", | ||
| "Show weekends": "Tampilkan hari libur", | ||
| "Sick leave": "Sakit", | ||
| "Sign Out": "Keluar", | ||
| "Size": "Ukuran", | ||
| "Something wen't wrong, we can't find the file on the cloud. But worry not, we delete what we know about the image": "Ada yang salah, kami tidak dapat menemukan file di cloud. Tetapi tidak khawatir, kami menghapus apa yang kami tahu tentang gambar", | ||
| "Source": "Sumber", | ||
| "Spanish": "Spanyol", | ||
| "Start of business": "Mulai bisnis", | ||
| "Start": "Mulai", | ||
| "Status": "Status", | ||
| "Sub Total": "Sub Total", | ||
| "Subject": "Subjek", | ||
| "Subtotal": "Subtotal", | ||
| "Successfully created new department": "Departemen baru berhasil dibuat", | ||
| "Sweden": "Swedia", | ||
| "Synchronize": "Sinkronisasi", | ||
| "Task assigning": "Penugasan tugas", | ||
| "Task completion": "Penyelesaian tugas", | ||
| "Task deleted": "Tugas dihapus", | ||
| "Task information": "Informasi tugas", | ||
| "Task project is updated": "Proyek tugas diperbarui", | ||
| "Task status is updated": "Status tugas diperbarui", | ||
| "Task successfully added": "Tugas berhasil ditambahkan", | ||
| "Tasks assigned": "Tugas ditugaskan", | ||
| "Tasks completed this month": "Tugas yang diselesaikan bulan ini", | ||
| "Tasks completed today": "Tugas yang diselesaikan hari ini", | ||
| "Tasks created today": "Tugas yang dibuat hari ini", | ||
| "Tasks each month": "Tugas setiap bulan", | ||
| "Tasks": "Tugas", | ||
| "Tax": "Pajak", | ||
| "The Mail will be send with your default settings and template from your billing integration.": "Email akan dikirim dengan pengaturan default dan template dari integrasi billing anda.", | ||
| "The Mail will be send with your default settings from your billing integration.": "Email akan dikirim dengan pengaturan default dari integrasi billing anda.", | ||
| "The amount can not be 0": "Jumlah tidak boleh 0", | ||
| "The amount is required": "Jumlah diperlukan", | ||
| "The amount must be an integer.": "Jumlah harus integer.", | ||
| "The color is required.": "Warna diperlukan.", | ||
| "The current card used is a": "Kartu yang digunakan saat ini adalah", | ||
| "The end date is not a valid date.": "Tanggal akhir tidak valid.", | ||
| "The end time is required.": "Waktu akhir diperlukan.", | ||
| "The payment date is not a valid date.": "Tanggal pembayaran tidak valid.", | ||
| "The payment date is required": "Tanggal pembayaran diperlukan", | ||
| "The source date is required": "Tanggal sumber diperlukan", | ||
| "The start date is not a valid date.": "Tanggal mulai tidak valid.", | ||
| "The start time is required.": "Waktu mulai diperlukan.", | ||
| "The title is required.": "Judul diperlukan.", | ||
| "The user is required.": "Pengguna diperlukan.", | ||
| "There are currently": "Saat ini", | ||
| "This information can always be changed in Settings": "Informasi ini dapat selalu diubah di Pengaturan", | ||
| "This is the default language for new users, the language can be changed for each user under their profile": "Ini adalah bahasa default untuk pengguna baru, bahasa dapat diubah untuk setiap pengguna di profil mereka", | ||
| "This is your dashboard, which you can use to get a fast and nice overview, of all your tasks, leads, etc.": "Ini adalah dashboard anda, yang anda dapat gunakan untuk mendapatkan overview cepat dan nyaman, dari semua tugas, lead, dll.", | ||
| "This is your primary navigation bar, which you can use to get around Daybyday CRM": "Ini adalah navigasi utama anda, yang anda dapat gunakan untuk mengambil jalan Daybyday CRM", | ||
| "This will set the offer as lost, and lose the offer.": "Ini akan menetapkan penawaran sebagai kalah, dan penawaran yang kalah.", | ||
| "This will set the offer as won, and convert it to a sale.": "Ini akan menetapkan penawaran sebagai menang, dan mengubahnya menjadi penjualan.", | ||
| "Time Management For This Invoice": "Pengelolaan Waktu Untuk Faktur Ini", | ||
| "Time management": "Pengelolaan waktu", | ||
| "Time off in lieu": "Libur kompensasi", | ||
| "Time off": "Libur", | ||
| "Time spend (Hours)": "Waktu yang dihabiskan (Jam)", | ||
| "Time spend": "Waktu yang dihabiskan", | ||
| "Time": "Waktu", | ||
| "Title is required": "Judul diperlukan", | ||
| "Title": "Judul", | ||
| "Total amount": "Jumlah total", | ||
| "Total clients": "Total pelanggan", | ||
| "Total hours registered": "Total jam yang terdaftar", | ||
| "Total leads": "Total lead", | ||
| "Total price": "Total harga", | ||
| "Total projects": "Total proyek", | ||
| "Total tasks": "Total tugas", | ||
| "Total": "Total", | ||
| "True": "Benar", | ||
| "United Kingdom": "Inggris", | ||
| "United States": "Amerika Serikat", | ||
| "Upcoming appointments": "Janji yang akan datang", | ||
| "Update Role": "Perbarui Peran", | ||
| "Update card information": "Perbarui informasi kartu", | ||
| "Update client": "Perbarui pelanggan", | ||
| "Update follow up": "Perbarui follow up", | ||
| "Update settings": "Perbarui pengaturan", | ||
| "Update task status": "Perbarui status tugas", | ||
| "Update user": "Perbarui pengguna", | ||
| "Update": "Perbarui", | ||
| "User can NOT have, leads, clients, or tasks assigned when deleted": "Pengguna tidak dapat memiliki, lead, pelanggan, atau tugas yang ditugaskan saat dihapus", | ||
| "User not found": "Pengguna tidak ditemukan", | ||
| "User successfully added": "Pengguna berhasil ditambahkan", | ||
| "User successfully deleted": "Pengguna berhasil dihapus", | ||
| "User successfully updated": "Pengguna berhasil diperbarui", | ||
| "User": "Pengguna", | ||
| "Users with this role": "Pengguna dengan peran ini", | ||
| "Users": "Pengguna", | ||
| "Vacation day": "Hari libur", | ||
| "Vacation": "Libur", | ||
| "Vat percentage": "Persentase PPN", | ||
| "Vat": "PPN", | ||
| "View lead": "Lihat lead", | ||
| "View": "Lihat", | ||
| "Waiting Client": "Menunggu Pelanggan", | ||
| "Waiting client": "Menunggu pelanggan", | ||
| "Want to update the credit card that we have on file? Provide the new details here": "Ingin memperbarui kartu kredit yang ada di berkas? Berikan detail baru di sini", | ||
| "We have found this contact from your billing integration, do you wish for us to create the invoice in your your billing system as well?, than please choose a contact below": "Kami menemukan kontak ini dari integrasi billing anda, apakah anda ingin kami membuat faktur di sistem billing anda juga?, maka silahkan pilih kontak di bawah ini", | ||
| "Week": "Minggu", | ||
| "What's the reason for the absence?": "Apa alasan absensi?", | ||
| "When does the absence start?": "Kapan absensi dimulai?", | ||
| "Where is your company located?": "Dimana kantor anda terletak?", | ||
| "Won offer": "Pemenang Penawaran", | ||
| "Work number": "Nomor pekerjaan", | ||
| "Yellow": "Kuning", | ||
| "Yes": "Ya", | ||
| "You do not have permission to change lead status": "Anda tidak memiliki izin untuk mengubah status lead", | ||
| "You do not have permission to change task deadline": "Anda tidak memiliki izin untuk mengubah batas waktu tugas", | ||
| "You do not have permission to change task status": "Anda tidak memiliki izin untuk mengubah status tugas", | ||
| "You do not have permission to delete a document": "Anda tidak memiliki izin untuk menghapus dokumen", | ||
| "You do not have permission to modify invoice lines": "Anda tidak memiliki izin untuk mengubah baris faktur", | ||
| "You do not have permission to send an invoice": "Anda tidak memiliki izin untuk mengirimkan faktur", | ||
| "You do not have permission to set an invoice as not paid": "Anda tidak memiliki izin untuk mengatur faktur sebagai tidak dibayar", | ||
| "You do not have permission to set an invoice as paid": "Anda tidak memiliki izin untuk mengatur faktur sebagai dibayar", | ||
| "You do not have permission to upload a document": "Anda tidak memiliki izin untuk mengunggah dokumen", | ||
| "You do not have permission to upload images": "Anda tidak memiliki izin untuk mengunggah gambar", | ||
| "You do not have permission to view this invoice": "Anda tidak memiliki izin untuk melihat faktur ini", | ||
| "You do not have permission to view this page": "Anda tidak memiliki izin untuk melihat halaman ini", | ||
| "You do not have sufficient privileges for this action": "Anda tidak memiliki hak cukup untuk tindakan ini", | ||
| "You do not have the correct permissions for this action": "Anda tidak memiliki izin yang benar untuk tindakan ini", | ||
| "You don't have permission to create a client": "Anda tidak memiliki izin untuk membuat pelanggan", | ||
| "You don't have permission to create a lead": "Anda tidak memiliki izin untuk membuat lead", | ||
| "You don't have permission to create a task": "Anda tidak memiliki izin untuk membuat tugas", | ||
| "You don't have permission to create a user": "Anda tidak memiliki izin untuk membuat pengguna", | ||
| "You don't have permission to delete a payment": "Anda tidak memiliki izin untuk menghapus pembayaran", | ||
| "You don't have permission to update a client": "Anda tidak memiliki izin untuk memperbarui pelanggan", | ||
| "You don't have permission to update a user": "Anda tidak memiliki izin untuk memperbarui pengguna", | ||
| "You don't have the right permission for this action": "Anda tidak memiliki izin yang benar untuk tindakan ini", | ||
| "You need to confirm your account. We have sent you an activation link, please check your email": "Anda perlu mengkonfirmasi akun anda. Kami telah mengirimkan link aktivasi, silahkan cek email anda", | ||
| "You will receive a confirmation email shortly, please confirm your payment": "Anda akan menerima email konfirmasi segera, silahkan konfirmasi pembayaran anda", | ||
| "Your business primary working working hours": "Jam kerja utama perusahaan anda", | ||
| "Your company's name": "Nama perusahaan anda", | ||
| "Zipcode": "Kode pos", | ||
| "[link-to-pdf], will be replaced when invoice is send, with the actual link to the PDF": "[link-to-pdf], akan diganti saat faktur dikirim, dengan link yang benar ke PDF", | ||
| "active users": "pengguna aktif", | ||
| "and ends on": "dan berakhir pada", | ||
| "assigned": "diberikan", | ||
| "blue": "biru", | ||
| "boxes": "kotak", | ||
| "clients": "pelanggan", | ||
| "company": "perusahaan", | ||
| "day": "hari", | ||
| "days": "hari", | ||
| "green": "hijau", | ||
| "hours": "jam", | ||
| "kg": "kg", | ||
| "kilometer": "kilometer", | ||
| "kvm": "kvm", | ||
| "leads": "prospek", | ||
| "mail": "mail", | ||
| "management": "pengelolaan", | ||
| "meters": "meter", | ||
| "monthly": "bulanan", | ||
| "name": "nama", | ||
| "no": "tidak", | ||
| "not authorized": "tidak diizinkan", | ||
| "number": "nomor", | ||
| "offer": "penawaran", | ||
| "package": "paket", | ||
| "pieces": "bagian", | ||
| "red": "merah", | ||
| "session": "sesi", | ||
| "sqm": "sqm", | ||
| "tasks": "tugas", | ||
| "title": "judul", | ||
| "vat": "ppn", | ||
| "week": "minggu", | ||
| "yellow": "kuning", | ||
| "yes": "ya" | ||
| } No newline at end of file |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify the case usage for Indonesian language in settings form
rg -n 'value="ID"' resources/views/settings/index.blade.php
rg -n 'value="id"' resources/views/users/form.blade.phpRepository: Bottelet/DaybydayCRM
Length of output: 349
Indonesian locale file is well-structured and comprehensive.
The translation file provides thorough coverage of UI strings. The filename id.json correctly matches the lowercase convention expected in the Translation middleware (["en", "dk", "es", "id"]).
However, verification confirms a case mismatch issue: resources/views/settings/index.blade.php (line 64) sends "ID" (uppercase) for the language selection, while resources/views/users/form.blade.php (line 143) and the middleware expect "id" (lowercase). This inconsistency will cause the Indonesian language option to fail in the settings form. Fix the case mismatch in settings/index.blade.php to use value="id" consistently.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@resources/lang/id.json` around lines 1 - 536, The settings language selector
uses "ID" (uppercase) causing a mismatch with the translation key "id" used by
the Translation middleware (["en","dk","es","id"]) and other views like
users/form.blade.php; update the language option in
resources/views/settings/index.blade.php so the select option value uses
lowercase "id" (value="id") and verify any other occurrences in that view use
the same lowercase key to ensure consistent locale lookup.
| "Date for receivement of payment": "Tanggal penerimaan pembayaran", | ||
| "Day": "Hari", | ||
| "Deadline": "Tenggat waktu (deadline)", | ||
| "Dear :name\n\nThank you, for being a customer at :company\n\nHere is you Invoice on :price\n\nClick the link below to download the invoice\n\n[link-to-pdf]\n\nRegards\n---\n:company": "Hai :name\n\nTerima kasih, karena telah menjadi pelanggan di :company\n\nBerikut adalah faktur Anda\n\n[link-to-pdf]\n\nRegards\n---\n:company", |
There was a problem hiding this comment.
Missing :price placeholder in translated string.
The English template includes the :price placeholder ("Here is you Invoice on :price"), but the Indonesian translation omits it. This will result in the invoice amount not being displayed in the email for Indonesian users.
🌐 Proposed fix
- "Dear :name\n\nThank you, for being a customer at :company\n\nHere is you Invoice on :price\n\nClick the link below to download the invoice\n\n[link-to-pdf]\n\nRegards\n---\n:company": "Hai :name\n\nTerima kasih, karena telah menjadi pelanggan di :company\n\nBerikut adalah faktur Anda\n\n[link-to-pdf]\n\nRegards\n---\n:company",
+ "Dear :name\n\nThank you, for being a customer at :company\n\nHere is you Invoice on :price\n\nClick the link below to download the invoice\n\n[link-to-pdf]\n\nRegards\n---\n:company": "Hai :name\n\nTerima kasih, karena telah menjadi pelanggan di :company\n\nBerikut adalah faktur Anda sebesar :price\n\n[link-to-pdf]\n\nRegards\n---\n:company",📝 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.
| "Dear :name\n\nThank you, for being a customer at :company\n\nHere is you Invoice on :price\n\nClick the link below to download the invoice\n\n[link-to-pdf]\n\nRegards\n---\n:company": "Hai :name\n\nTerima kasih, karena telah menjadi pelanggan di :company\n\nBerikut adalah faktur Anda\n\n[link-to-pdf]\n\nRegards\n---\n:company", | |
| "Dear :name\n\nThank you, for being a customer at :company\n\nHere is you Invoice on :price\n\nClick the link below to download the invoice\n\n[link-to-pdf]\n\nRegards\n---\n:company": "Hai :name\n\nTerima kasih, karena telah menjadi pelanggan di :company\n\nBerikut adalah faktur Anda sebesar :price\n\n[link-to-pdf]\n\nRegards\n---\n:company", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@resources/lang/id.json` at line 139, The Indonesian translation for the email
template is missing the :price placeholder present in the English source; update
the translated value for the key that starts with "Dear :name\n\nThank you, for
being a customer at :company\n\nHere is you Invoice on :price..." to include the
:price token (e.g., "Berikut adalah faktur Anda sebesar :price") so the invoice
amount is rendered for Indonesian users; ensure the placeholder syntax remains
exactly ":price" and keep surrounding newlines and :company placeholder intact.
| <option value="EN">@lang("English")</option> | ||
| <option value="DK" {{$settings->language == "DK" ? "selected" : ""}}>@lang("Danish")</option> | ||
| <option value="ES" {{$settings->language == "ES" ? "selected" : ""}}>@lang("Spanish")</option> | ||
| <option value="ID" {{$settings->language == "ID" ? "selected" : ""}}>@lang("Indonesia")</option> |
There was a problem hiding this comment.
Critical: Case sensitivity mismatch will break Indonesian language selection.
The option value uses uppercase "ID", but app/Http/Middleware/Translation.php line 20 checks for lowercase "id" using case-sensitive in_array($language, ["en", "dk", "es", "id"]). When users select Indonesian in settings, the uppercase value is stored directly by SettingsController::updateOverall() (line 161-162), but will never match the middleware's lowercase check, causing Indonesian users to always fall back to English.
The users form (resources/views/users/form.blade.php lines 133-144) correctly uses lowercase values ("dk", "en", "es", "id") that match the middleware's expectations.
🔧 Proposed fix: Use lowercase to match middleware expectations
- <option value="ID" {{$settings->language == "ID" ? "selected" : ""}}>@lang("Indonesia")</option>
+ <option value="id" {{strtolower($settings->language) == "id" ? "selected" : ""}}>@lang("Indonesia")</option>Also update other language options for consistency:
- <option value="EN">@lang("English")</option>
- <option value="DK" {{$settings->language == "DK" ? "selected" : ""}}>@lang("Danish")</option>
- <option value="ES" {{$settings->language == "ES" ? "selected" : ""}}>@lang("Spanish")</option>
+ <option value="en" {{strtolower($settings->language) == "en" ? "selected" : ""}}>@lang("English")</option>
+ <option value="dk" {{strtolower($settings->language) == "dk" ? "selected" : ""}}>@lang("Danish")</option>
+ <option value="es" {{strtolower($settings->language) == "es" ? "selected" : ""}}>@lang("Spanish")</option>Note: The strtolower() comparison ensures backward compatibility with any existing uppercase values in the database.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@resources/views/settings/index.blade.php` at line 64, The language option
value for Indonesian is uppercase ("ID") which won't match the case-sensitive
check in Translation middleware; change the option value in
resources/views/settings/index.blade.php from "ID" to "id" (and normalize other
language option values to lowercase), and update the language handling in
SettingsController::updateOverall and/or app/Http/Middleware/Translation.php to
normalize incoming values (e.g., use strtolower($language) before
in_array($language, ["en","dk","es","id"]) or cast the saved value to lowercase)
so existing uppercase DB entries remain compatible.
| @foreach($statuses as $status => $statusK) | ||
| <option value="{{$status}}">{{$statusK}}</option> | ||
| <option value="{{$status}}">{{__($statusK)}} ({{ $statusK }})</option> | ||
| @endforeach |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if status titles have Indonesian translations in id.json
echo "Checking for status title translations in Indonesian locale..."
rg -n '"(Open|In-progress|Pending|Waiting client|Closed)"' resources/lang/id.jsonRepository: Bottelet/DaybydayCRM
Length of output: 305
🏁 Script executed:
# Search for similar pattern in Blade files - displaying both translated and raw keys
echo "=== Looking for similar dual-display patterns in other Blade files ==="
rg -t blade '__\(' resources/views/ -A 1 | grep -E '\{\{_+\(|{{[^}]*\}\}' | head -40Repository: Bottelet/DaybydayCRM
Length of output: 181
🏁 Script executed:
# Check the full context around the status dropdown to understand intent
echo "=== Full context of the file around lines 101-103 ==="
sed -n '90,110p' resources/views/tasks/create.blade.phpRepository: Bottelet/DaybydayCRM
Length of output: 1407
🏁 Script executed:
# Search for other dropdown/select options in this file to see if they follow same pattern
echo "=== Searching for option tags in the same file ==="
grep -n '<option' resources/views/tasks/create.blade.php | head -20Repository: Bottelet/DaybydayCRM
Length of output: 747
🏁 Script executed:
# Search for other status dropdowns or similar dual-display patterns in views
echo "=== Searching for other status option patterns in views ==="
rg -n '<option.*statusK' resources/views/ --type=phpRepository: Bottelet/DaybydayCRM
Length of output: 532
🏁 Script executed:
# Search broadly for the dual-display pattern across Blade files
echo "=== Searching for other instances of dual-display in parentheses ==="
rg -n '\{\{__\(\$[^}]+\)\}\s*\(\{\{' resources/views/ --type=phpRepository: Bottelet/DaybydayCRM
Length of output: 132
🏁 Script executed:
# Check the edit view to see how status is displayed there
echo "=== Checking edit task view for status display ==="
fd -n 'edit\.blade\.php' resources/views/tasks/ -exec grep -n 'status' {} \;Repository: Bottelet/DaybydayCRM
Length of output: 362
Remove the raw status key from the status dropdown display.
The status option now displays both the translation and raw key: {{__($statusK)}} ({{ $statusK }}). This is inconsistent with how status dropdowns are rendered in other views (projects/create.blade.php and leads/create.blade.php), which show only the raw key without this dual-display format. This appears to be debug output that was not intended for end-user display.
🔧 Suggested fix
- <option value="{{$status}}">{{__($statusK)}} ({{ $statusK }})</option>
+ <option value="{{$status}}">{{__($statusK)}}</option>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@resources/views/tasks/create.blade.php` around lines 101 - 103, The dropdown
currently renders both the translated label and the raw key ("{{__($statusK)}}
({{ $statusK }})"); update the option text to only show the translated status
label by removing the raw key portion so the option becomes just the translation
(use $statuses, $status and $statusK to locate the foreach and change the option
inner text to only __($statusK)).
Summary by CodeRabbit
Release Notes
New Features
Enhancements