openproject icon indicating copy to clipboard operation
openproject copied to clipboard

[53466] Check for inconsistent interpolations in all i18n files

Open cbliard opened this issue 1 year ago • 3 comments

https://community.openproject.org/wp/53466

AppSignal can sometimes detect missing interpolation in i18n strings in SaaS: https://appsignal.com/openproject-gmbh/sites/62b06dacd2a5e41321946fcf/exceptions/incidents/877/samples/timestamp/2024-03-07T13:29:18Z

It can be detected earlier with i18n-tasks gem:

i18n-tasks check-consistent-interpolations

This pull request modifies the existing i18n_spec and introduces another configuration file to not mess with the other i18n checks done.

Now there are 130 interpolations to fix. They have to be fixed in Crowdin directly.

cbliard avatar Mar 07 '24 16:03 cbliard

71 inconsistent interpolations remaining

i18n-tasks check-consistent-interpolations --config config/i18n-tasks-all-files.yml

output
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| Locale | Key                                                                              | Value                                                                                                                                   |
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
|   ar   | js.storages.file_links.selection.zero                                            | Link %{count} files                                                                                                                     |
|   cs   | js.clipboard.browser_error                                                       | Váš prohlížeč nepodporuje, kopírování do schránky. Ručně zkopírujte vybraný text.                                                       |
|   cs   | js.storages.file_links.success_create.other                                      | Odkazů na soubor byl úspěšně vytvořen.                                                                                                  |
|   cs   | js.storages.link_files_in_storage                                                | Prolinkovat soubory v                                                                                                                   |
|   cs   | label_x_files.other                                                              | {count} souborů                                                                                                                         |
|   cs   | mail.work_packages.more_to_see.one                                               | Existuje ještě %{count} pracovní balíček s notifikací.                                                                                  |
|   cs   | storages.instructions.nextcloud.provider_configuration                           | Ujistěte se prosím, že máte oprávnění administrace v Nextcloud instanci a máte nainstalovanou následující aplikaci:                     |
|   cs   | storages.instructions.oauth_application_details                                  | Tajná hodnota klienta nebude po zavření tohoto okna přístupná. Zkopírujte tyto hodnoty do Nextcloud OpenProject Integration nastavení:  |
|   cs   | text_journal_file_link_deleted                                                   | %{label} odkaz na %{value} (%{storage}) přidán                                                                                          |
|   de   | activerecord.errors.messages.error_enterprise_only                               | ist nur in OpenProject Enterprise on-premises verfügbar                                                                                 |
|   de   | activity.item.time_entry.hour.one                                                | Eine Stunde                                                                                                                             |
|   es   | js.storages.drop_files                                                           | Arrastra archivos aquí para cargarlos a %{storageType}.                                                                                 |
|   es   | js.storages.drop_or_click_files                                                  | Arrastra archivos o haz clic aquí para cargarlos a %{storageType}.                                                                      |
|   es   | working_days.journal_note.dates.non_working                                      | %{day} es ahora no laboral                                                                                                              |
|   et   | datetime.distance_in_words.about_x_hours.one                                     | umbes %{count} tundi                                                                                                                    |
|   fa   | label_budget_id                                                                  | بودجه                                                                                                                                   |
|   he   | boards.board_types.action                                                        | לוח פעולות                                                                                                                              |
|   he   | js.boards.board_type.action_by_attribute                                         | לוח פעולות                                                                                                                              |
|   hu   | boards.board_types.action                                                        | Feladattábla                                                                                                                            |
|   hu   | datetime.distance_in_words.about_x_hours.one                                     | körülbelül %{count} óra                                                                                                                 |
|   hu   | datetime.distance_in_words.about_x_months.one                                    | körülbelül %{count} hónap                                                                                                               |
|   hu   | datetime.distance_in_words.less_than_x_minutes.one                               | kevesebb, mint %{count} perc                                                                                                            |
|   hu   | js.calendar.too_many                                                             | Összesen %{százalék_szám} munkacsomag van, de csak %{maximum} jeleníthető meg.                                                          |
|   hu   | js.units.day.one                                                                 | %{count} nap                                                                                                                            |
|   id   | activerecord.errors.models.custom_actions.not_an_integer                         | (%{nama}) bukan bilangan bulat.                                                                                                         |
|   id   | custom_actions.execute                                                           | Jalankan %{nama}                                                                                                                        |
|   it   | settings.antivirus.modes.clamav_host_html                                        | Immettere il nome host e la porta del daemon clamd separati dai due punti. Ad esempio, %{esempio}                                       |
|   lv   | js.storages.file_links.selection.zero                                            | Link %{count} files                                                                                                                     |
|   lv   | js.units.day.one                                                                 | %{count} dienas                                                                                                                         |
|   ms   | activerecord.attributes.meeting.participant.other                                | 1 Peserta                                                                                                                               |
|   ms   | activerecord.errors.models.user.attributes.password.reused.other                 | telah digunakan sebelum ini. SIla pilih yang berbeza daripada yang terakhir.                                                            |
|   ms   | activerecord.errors.template.header.other                                        | 1 ralat menghalang %{model} ini daripada disimpan                                                                                       |
|   ms   | error_in_new_dependent                                                           | Ralat dalam cubaan untuk mencipta objek yang bergantung: %{dependent_class} - %{related_subject}                                        |
|   ms   | js.notifications.center.and_more_users.other                                     | dan 1 yang lain                                                                                                                         |
|   ms   | js.storages.file_links.selection.other                                           | Pautkan 1 file                                                                                                                          |
|   ms   | js.storages.file_links.success_create.other                                      | 1 pautan fail berjaya dicipta.                                                                                                          |
|   ms   | mail.work_packages.more_to_see.other                                             | Terdapat 1 lagi pakej kerja dengan pemberitahuan.                                                                                       |
|   ms   | notice_custom_options_deleted                                                    | Pilihan '%{option_value}' dan kejadiannya telah dipadamkan.                                                                             |
|   ms   | oauth.x_active_tokens.other                                                      | satu token aktif                                                                                                                        |
|   ms   | user.blocked_num_failed_logins.other                                             | dikunci sementara (satu percubaan log masuk gagal)                                                                                      |
|   ms   | work_packages.x_descendants.other                                                | Satu keturunan pakej kerja                                                                                                              |
|   nl   | activerecord.errors.models.user.attributes.password.reused.one                   | is reeds eerder gebruikt. Kies er één die verschilt van uw laatste %{count}.                                                            |
|   no   | activerecord.errors.models.user.attributes.password.reused.one                   | har blitt brukt tidligere. Vennligst velg en som er forskjellig fra den forrige %{count}.                                               |
|   pl   | js.storages.file_links.selection.one                                             | Połącz %{count} plik                                                                                                                    |
|   pl   | js.storages.file_links.success_create.one                                        | Pomyślnie utworzono %{count} połączenie plików.                                                                                         |
|   pl   | storages.oauth_grant_nudge_modal.confirm_button_aria_label                       | Zaloguj się do %{storageType}                                                                                                           |
| pt-BR  | text_journal_file_link_deleted                                                   | Link de %{label} para %{value} (%{storage}) removido                                                                                    |
| pt-PT  | js.notifications.center.and_more_users.one                                       | e %{count} outros                                                                                                                       |
| pt-PT  | label_x_files.other                                                              | {count} ficheiros                                                                                                                       |
| pt-PT  | storages.oauth_grant_nudge_modal.confirm_button_aria_label                       | Iniciar sessão em %{storageType}                                                                                                        |
|   ro   | backlogs.positions_could_not_be_rebuilt                                          | Nu s-a putut verifica etapa '%{stage}'.                                                                                                 |
|   ro   | js.notifications.center.empty_state.no_notification_with_current_filter          | Se pare că v-ați pus la punct cu proiectul selectat.                                                                                    |
|   ru   | activity.item.updated_on_time_entry                                              | зарегистрированное время обновлено в %{дата-время}                                                                                      |
|   ru   | js.notifications.center.empty_state.no_notification_with_current_filter          | Похоже, в отфильтрованном вы все сделали.                                                                                               |
|   ru   | meeting.email.rescheduled.header                                                 | Встреча %{title} была перенесена %{actor}                                                                                               |
|   tr   | activerecord.errors.models.project.attributes.enabled_modules.dependency_missing | '%{dependency}' modülü buna bağlı olduğundan, '%{dependency}' modülünün de etkinleştirilmesi gerekiyor.                                 |
|   tr   | activity.item.created_by_on                                                      | %{user} tarafından %{date} tarihinde oluşturuldu                                                                                        |
|   tr   | activity.item.created_on                                                         | Oluşturulma tarihi: {dateTime}                                                                                                          |
|   tr   | activity.item.updated_by_on                                                      | %{date} tarihinde %{user} tarafından güncellendi                                                                                        |
|   tr   | activity.item.updated_on                                                         | Güncellenme tarihi: {dateTime}                                                                                                          |
|   tr   | js.notifications.center.and_more_users.other                                     | ve 1 diğer                                                                                                                              |
|   tr   | mail_body_incoming_email_error_in_reply_to                                       | %{required_at} adresinde %{from_email} yazdı                                                                                            |
|   uk   | activity.item.updated_by_on                                                      | оновлено %{date} користувачем %{user}                                                                                                   |
|   uk   | journals.cause_descriptions.working_days_changed.dates.non_working               | %{day} – зараз неробочий день                                                                                                           |
|   uk   | journals.cause_descriptions.working_days_changed.dates.working                   | %{day} – зараз робочий день                                                                                                             |
|   uk   | members.delete_work_package_shares_dialog.revoke_all_or_with_role                | Хочете відкликати доступ до всіх спільних пакетів робіт чи тільки до тих, доступ до яких надано з дозволами ролі %«{shared_role_name}»? |
|   uk   | members.delete_work_package_shares_dialog.shared_with_this_group_html.other      | Цій групі надано доступ до %{shared_work_packages_link}.                                                                                |
| zh-CN  | activerecord.attributes.meeting.participant.other                                | 1位参与者                                                                                                                               |
| zh-TW  | activerecord.errors.models.work_package.attributes.assigned_to.format            | %訊息                                                                                                                                   |
| zh-TW  | js.storages.login_to                                                             | 登入到 %{storage}                                                                                                                       |
| zh-TW  | storages.delete_warning.storage                                                  |                                                                                                                                         |
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+

cbliard avatar Apr 30 '24 07:04 cbliard

51 inconsistent interpolations remaining

i18n-tasks check-consistent-interpolations --config config/i18n-tasks-all-files.yml

output
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| Locale | Key                                                                              | Value                                                                                                                                   |
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
|   ar   | js.storages.file_links.selection.zero                                            | Link %{count} files                                                                                                                     |
|   cs   | js.storages.file_links.success_create.other                                      | Odkazů na soubor byl úspěšně vytvořen.                                                                                                  |
|   cs   | js.storages.link_files_in_storage                                                | Prolinkovat soubory v                                                                                                                   |
|   cs   | mail.work_packages.more_to_see.one                                               | Existuje ještě %{count} pracovní balíček s notifikací.                                                                                  |
|   cs   | storages.instructions.nextcloud.provider_configuration                           | Ujistěte se prosím, že máte oprávnění administrace v Nextcloud instanci a máte nainstalovanou následující aplikaci:                     |
|   cs   | storages.instructions.oauth_application_details                                  | Tajná hodnota klienta nebude po zavření tohoto okna přístupná. Zkopírujte tyto hodnoty do Nextcloud OpenProject Integration nastavení:  |
|   cs   | text_journal_file_link_deleted                                                   | %{label} odkaz na %{value} (%{storage}) přidán                                                                                          |
|   de   | activerecord.errors.messages.error_enterprise_only                               | ist nur in OpenProject Enterprise on-premises verfügbar                                                                                 |
|   de   | activity.item.time_entry.hour.one                                                | Eine Stunde                                                                                                                             |
|   es   | js.storages.drop_files                                                           | Arrastra archivos aquí para cargarlos a %{storageType}.                                                                                 |
|   es   | js.storages.drop_or_click_files                                                  | Arrastra archivos o haz clic aquí para cargarlos a %{storageType}.                                                                      |
|   es   | working_days.journal_note.dates.non_working                                      | %{day} es ahora no laboral                                                                                                              |
|   et   | datetime.distance_in_words.about_x_hours.one                                     | umbes %{count} tundi                                                                                                                    |
|   fa   | label_budget_id                                                                  | بودجه                                                                                                                                   |
|   he   | boards.board_types.action                                                        | לוח פעולות                                                                                                                              |
|   he   | js.boards.board_type.action_by_attribute                                         | לוח פעולות                                                                                                                              |
|   hu   | boards.board_types.action                                                        | Feladattábla                                                                                                                            |
|   hu   | datetime.distance_in_words.less_than_x_minutes.one                               | kevesebb, mint %{count} perc                                                                                                            |
|   hu   | js.calendar.too_many                                                             | Összesen %{százalék_szám} munkacsomag van, de csak %{maximum} jeleníthető meg.                                                          |
|   id   | activerecord.errors.models.custom_actions.not_an_integer                         | (%{nama}) bukan bilangan bulat.                                                                                                         |
|   id   | custom_actions.execute                                                           | Jalankan %{nama}                                                                                                                        |
|   it   | settings.antivirus.modes.clamav_host_html                                        | Immettere il nome host e la porta del daemon clamd separati dai due punti. Ad esempio, %{esempio}                                       |
|   lv   | js.storages.file_links.selection.zero                                            | Link %{count} files                                                                                                                     |
|   lv   | js.units.day.one                                                                 | %{count} dienas                                                                                                                         |
|   ms   | activerecord.attributes.meeting.participant.other                                | 1 Peserta                                                                                                                               |
|   ms   | activerecord.errors.models.user.attributes.password.reused.other                 | telah digunakan sebelum ini. SIla pilih yang berbeza daripada yang terakhir.                                                            |
|   ms   | activerecord.errors.template.header.other                                        | 1 ralat menghalang %{model} ini daripada disimpan                                                                                       |
|   ms   | error_in_new_dependent                                                           | Ralat dalam cubaan untuk mencipta objek yang bergantung: %{dependent_class} - %{related_subject}                                        |
|   ms   | js.notifications.center.and_more_users.other                                     | dan 1 yang lain                                                                                                                         |
|   ms   | js.storages.file_links.selection.other                                           | Pautkan 1 file                                                                                                                          |
|   ms   | js.storages.file_links.success_create.other                                      | 1 pautan fail berjaya dicipta.                                                                                                          |
|   ms   | mail.work_packages.more_to_see.other                                             | Terdapat 1 lagi pakej kerja dengan pemberitahuan.                                                                                       |
|   ms   | notice_custom_options_deleted                                                    | Pilihan '%{option_value}' dan kejadiannya telah dipadamkan.                                                                             |
|   ms   | oauth.x_active_tokens.other                                                      | satu token aktif                                                                                                                        |
|   ms   | user.blocked_num_failed_logins.other                                             | dikunci sementara (satu percubaan log masuk gagal)                                                                                      |
|   ms   | work_packages.x_descendants.other                                                | Satu keturunan pakej kerja                                                                                                              |
|   nl   | activerecord.errors.models.user.attributes.password.reused.one                   | is reeds eerder gebruikt. Kies er één die verschilt van uw laatste %{count}.                                                            |
|   no   | activerecord.errors.models.user.attributes.password.reused.one                   | har blitt brukt tidligere. Vennligst velg en som er forskjellig fra den forrige %{count}.                                               |
|   pl   | js.storages.file_links.selection.one                                             | Połącz %{count} plik                                                                                                                    |
|   pl   | js.storages.file_links.success_create.one                                        | Pomyślnie utworzono %{count} połączenie plików.                                                                                         |
|   pl   | storages.oauth_grant_nudge_modal.confirm_button_aria_label                       | Zaloguj się do %{storageType}                                                                                                           |
| pt-PT  | js.notifications.center.and_more_users.one                                       | e %{count} outros                                                                                                                       |
| pt-PT  | storages.oauth_grant_nudge_modal.confirm_button_aria_label                       | Iniciar sessão em %{storageType}                                                                                                        |
|   ro   | backlogs.positions_could_not_be_rebuilt                                          | Nu s-a putut verifica etapa '%{stage}'.                                                                                                 |
|   ro   | js.notifications.center.empty_state.no_notification_with_current_filter          | Se pare că v-ați pus la punct cu proiectul selectat.                                                                                    |
|   ru   | activity.item.updated_on_time_entry                                              | зарегистрированное время обновлено в %{дата-время}                                                                                      |
|   ru   | js.notifications.center.empty_state.no_notification_with_current_filter          | Похоже, в отфильтрованном вы все сделали.                                                                                               |
|   ru   | meeting.email.rescheduled.header                                                 | Встреча %{title} была перенесена %{actor}                                                                                               |
|   tr   | activerecord.errors.models.project.attributes.enabled_modules.dependency_missing | '%{dependency}' modülü buna bağlı olduğundan, '%{dependency}' modülünün de etkinleştirilmesi gerekiyor.                                 |
|   tr   | js.notifications.center.and_more_users.other                                     | ve 1 diğer                                                                                                                              |
|   tr   | mail_body_incoming_email_error_in_reply_to                                       | %{required_at} adresinde %{from_email} yazdı                                                                                            |
|   uk   | activity.item.updated_by_on                                                      | оновлено %{date} користувачем %{user}                                                                                                   |
|   uk   | journals.cause_descriptions.working_days_changed.dates.non_working               | %{day} – зараз неробочий день                                                                                                           |
|   uk   | journals.cause_descriptions.working_days_changed.dates.working                   | %{day} – зараз робочий день                                                                                                             |
|   uk   | members.delete_work_package_shares_dialog.revoke_all_or_with_role                | Хочете відкликати доступ до всіх спільних пакетів робіт чи тільки до тих, доступ до яких надано з дозволами ролі %«{shared_role_name}»? |
|   uk   | members.delete_work_package_shares_dialog.shared_with_this_group_html.other      | Цій групі надано доступ до %{shared_work_packages_link}.                                                                                |
| zh-CN  | activerecord.attributes.meeting.participant.other                                | 1位参与者                                                                                                                               |
| zh-TW  | activerecord.errors.models.work_package.attributes.assigned_to.format            | %訊息                                                                                                                                   |
| zh-TW  | js.storages.login_to                                                             | 登入到 %{storage}                                                                                                                       |
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+

cbliard avatar May 02 '24 12:05 cbliard

64 inconsistent interpolations remaining

i18n-tasks check-consistent-interpolations --config config/i18n-tasks-all-files.yml

output
Inconsistent interpolations (64) | i18n-tasks v1.0.14
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Locale | Key                                                                              | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|   ar   | js.storages.file_links.selection.zero                                            | Link %{count} files                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|   cs   | js.storages.file_links.success_create.other                                      | Odkazů na soubor byl úspěšně vytvořen.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|   cs   | js.storages.link_files_in_storage                                                | Prolinkovat soubory v                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|   cs   | storages.instructions.nextcloud.provider_configuration                           | Ujistěte se prosím, že máte oprávnění administrace v Nextcloud instanci a máte nainstalovanou následující aplikaci:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|   cs   | storages.instructions.oauth_application_details                                  | Tajná hodnota klienta nebude po zavření tohoto okna přístupná. Zkopírujte tyto hodnoty do Nextcloud OpenProject Integration nastavení:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|   cs   | text_journal_file_link_deleted                                                   | %{label} odkaz na %{value} (%{storage}) přidán                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|   de   | activity.item.time_entry.hour.one                                                | Eine Stunde                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|   es   | js.storages.drop_files                                                           | Arrastra archivos aquí para cargarlos a %{storageType}.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|   es   | js.storages.drop_or_click_files                                                  | Arrastra archivos o haz clic aquí para cargarlos a %{storageType}.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|   es   | working_days.journal_note.dates.non_working                                      | %{day} es ahora no laboral                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|   et   | datetime.distance_in_words.about_x_hours.one                                     | umbes %{count} tundi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|   fa   | boards.board_types.action                                                        | تابلوی اکشن                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|   fa   | label_budget_id                                                                  | بودجه                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|   he   | boards.board_types.action                                                        | לוח פעולות                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|   he   | js.boards.board_type.action_by_attribute                                         | לוח פעולות                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|   hu   | activerecord.errors.messages.type_mismatch_nested                                | nem '%{type}' típusú az '%%{path}' elérési útvonalon.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|   hu   | boards.board_types.action                                                        | Feladattábla                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|   hu   | datetime.distance_in_words.less_than_x_minutes.one                               | kevesebb, mint %{count} perc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|   hu   | js.calendar.too_many                                                             | Összesen %{százalék_szám} munkacsomag van, de csak %{maximum} jeleníthető meg.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|   id   | activerecord.errors.models.custom_actions.not_an_integer                         | (%{nama}) bukan bilangan bulat.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|   id   | custom_actions.execute                                                           | Jalankan %{nama}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|   id   | todo_work_package_description                                                    | %{total}: %{url}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|        |                                                                                  | %{keterangan}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|   it   | error_can_not_delete_in_use_archived_work_packages                               | Ci sono macro-attività anche nei progetti archiviati. Devi prima riattivare i seguenti progetti, prima di poter modificare l'attributo delle rispettive macro-attività: %%{archived_projects_urls}                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|   it   | settings.antivirus.modes.clamav_host_html                                        | Immettere il nome host e la porta del daemon clamd separati dai due punti. Ad esempio, %{esempio}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|   lv   | js.storages.file_links.selection.zero                                            | Link %{count} files                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|   lv   | js.units.day.one                                                                 | %{count} dienas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|   ms   | activerecord.attributes.meeting.participant.other                                | 1 Peserta                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|   ms   | activerecord.errors.models.user.attributes.password.reused.other                 | telah digunakan sebelum ini. SIla pilih yang berbeza daripada yang terakhir.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|   ms   | activerecord.errors.template.header.other                                        | 1 ralat menghalang %{model} ini daripada disimpan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|   ms   | error_in_new_dependent                                                           | Ralat dalam cubaan untuk mencipta objek yang bergantung: %{dependent_class} - %{related_subject}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|   ms   | js.notifications.center.and_more_users.other                                     | dan 1 yang lain                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|   ms   | js.storages.file_links.selection.other                                           | Pautkan 1 file                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|   ms   | js.storages.file_links.success_create.other                                      | 1 pautan fail berjaya dicipta.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|   ms   | js.units.child_work_packages.other                                               | satu pakej kerja anak                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|   ms   | mail.work_packages.more_to_see.other                                             | Terdapat 1 lagi pakej kerja dengan pemberitahuan.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|   ms   | notice_custom_options_deleted                                                    | Pilihan '%{option_value}' dan kejadiannya telah dipadamkan.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|   ms   | oauth.x_active_tokens.other                                                      | satu token aktif                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|   ms   | text_notice_security_badge_displayed_html                                        | Nota: jika dibenarkan, ini akan paparkan lambang bersertaan status pemasangan di <a href="%{information_panel_path}"></a> panel pentadbiran, dan di halaman utama. Ia hanya akan dipaparkan ke para pentadbir sahaja. <br/> Lambang tersebut akan menyemak versi OpenProject terkini terhadap pangkalan data keluaran rasmi OpenProject untuk memaklumkan anda tentang sebarang kemas kini atau kelemahan yang diketahui. Untuk maklumat lanjut bagi penyediaan semakan, data apa yang diperlukan untuk menyediakan kemas kini tersedia, and bagaimana untuk menyahaktifkan semakan ini, sila kunjungi <a href="%{more_info_url}"> dokumentasi konfigurasi</a>. |
|   ms   | user.blocked_num_failed_logins.other                                             | dikunci sementara (satu percubaan log masuk gagal)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|   ms   | work_packages.x_descendants.other                                                | Satu keturunan pakej kerja                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|   nl   | activerecord.errors.models.user.attributes.password.reused.one                   | is reeds eerder gebruikt. Kies er één die verschilt van uw laatste %{count}.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|   no   | activerecord.errors.models.user.attributes.password.reused.one                   | har blitt brukt tidligere. Vennligst velg en som er forskjellig fra den forrige %{count}.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|   pl   | js.storages.file_links.selection.one                                             | Połącz %{count} plik                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|   pl   | js.storages.file_links.success_create.one                                        | Pomyślnie utworzono %{count} połączenie plików.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|   pl   | storages.oauth_grant_nudge_modal.confirm_button_aria_label                       | Zaloguj się do %{storageType}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|   pl   | text_journal_attachment_deleted                                                  | %{label} %{value} usunięto jako załącznik                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|   pl   | working_days.journal_note.dates.non_working                                      | %{day} jest teraz wolnym od pracy                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| pt-PT  | js.notifications.center.and_more_users.one                                       | e %{count} outros                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| pt-PT  | storages.oauth_grant_nudge_modal.confirm_button_aria_label                       | Iniciar sessão em %{storageType}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|   ro   | backlogs.positions_could_not_be_rebuilt                                          | Nu s-a putut verifica etapa '%{stage}'.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|   ro   | js.notifications.center.empty_state.no_notification_with_current_filter          | Se pare că v-ați pus la punct cu proiectul selectat.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|   ru   | activity.item.updated_on_time_entry                                              | зарегистрированное время обновлено в %{дата-время}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|   ru   | js.notifications.center.empty_state.no_notification_with_current_filter          | Похоже, в отфильтрованном вы все сделали.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|   ru   | meeting.email.rescheduled.header                                                 | Встреча %{title} была перенесена %{actor}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|   tr   | activerecord.errors.models.project.attributes.enabled_modules.dependency_missing | '%{dependency}' modülü buna bağlı olduğundan, '%{dependency}' modülünün de etkinleştirilmesi gerekiyor.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|   tr   | js.notifications.center.and_more_users.other                                     | ve 1 diğer                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|   tr   | mail_body_incoming_email_error_in_reply_to                                       | %{required_at} adresinde %{from_email} yazdı                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|   uk   | activity.item.updated_by_on                                                      | оновлено %{date} користувачем %{user}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|   uk   | journals.cause_descriptions.working_days_changed.dates.non_working               | %{day} – зараз неробочий день                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|   uk   | journals.cause_descriptions.working_days_changed.dates.working                   | %{day} – зараз робочий день                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|   uk   | members.delete_work_package_shares_dialog.revoke_all_or_with_role                | Хочете відкликати доступ до всіх спільних пакетів робіт чи тільки до тих, доступ до яких надано з дозволами ролі %«{shared_role_name}»?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|   uk   | members.delete_work_package_shares_dialog.shared_with_this_group_html.other      | Цій групі надано доступ до %{shared_work_packages_link}.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| zh-CN  | activerecord.attributes.meeting.participant.other                                | 1位参与者                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| zh-TW  | js.storages.login_to                                                             | 登入到 %{storage}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
+--------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

cbliard avatar May 10 '24 12:05 cbliard

8 inconsistent interpolations remaining

i18n-tasks check-consistent-interpolations --config config/i18n-tasks-all-files.yml

output
Inconsistent interpolations (64) | i18n-tasks v1.0.14
+--------+-----------------------------------------------------------------------+---------------------------------------------------------+
| Locale | Key                                                                   | Value                                                   |
+--------+-----------------------------------------------------------------------+---------------------------------------------------------+
|   ar   | js.storages.file_links.selection.zero                                 | ربط %{count} من الملفات                                 |
|   cs   | mail.work_packages.more_to_see.one                                    | Existuje ještě %{count} pracovní balíček s notifikací.  |
|   de   | activerecord.errors.messages.error_enterprise_only                    | ist nur in OpenProject Enterprise on-premises verfügbar |
|   lv   | js.storages.file_links.selection.zero                                 | Link %{count} files                                     |
|   lv   | js.units.day.one                                                      | %{count} dienas                                         |
|   ms   | oauth.x_active_tokens.other                                           | satu token aktif                                        |
|   ru   | meeting.email.rescheduled.header                                      | Встреча %{title} была перенесена %{actor}               |
| zh-TW  | activerecord.errors.models.work_package.attributes.assigned_to.format | %訊息                                                   |
+--------+-----------------------------------------------------------------------+---------------------------------------------------------+

cbliard avatar May 13 '24 06:05 cbliard

3 inconsistent interpolations remaining! They should now all be fixed at next run.

i18n-tasks check-consistent-interpolations --config config/i18n-tasks-all-files.yml

output
Inconsistent interpolations (3) | i18n-tasks v1.0.14
+--------+--------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Locale | Key                                                    | Value                                                                                                                                                 |
+--------+--------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
|   ar   | js.storages.file_links.selection.zero                  | ربط %{count} من الملفات                                                                                                                               |
|   lv   | js.storages.file_links.selection.zero                  | Link %{count} files                                                                                                                                   |
|   ms   | storages.instructions.nextcloud.provider_configuration | Sila pastikan anda mempunyai hak keistimewaan pentadbir di, contohnya, Nextcloud, dan mempunyai aplikasi berikut dipasang sebelum membuat penyediaan: |
+--------+--------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+```

</details>

cbliard avatar May 15 '24 07:05 cbliard

🎉

❯ i18n-tasks check-consistent-interpolations --config config/i18n-tasks-all-files.yml
#StandWithUkraine
Good job! No inconsistent interpolations found.

cbliard avatar May 17 '24 07:05 cbliard