diff --git a/debian/changelog b/debian/changelog index 8bdabb46..c8eb5821 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,24 @@ moulinette (12.0.0) unstable; urgency=low -- Alexandre Aubin Thu, 04 May 2023 20:30:19 +0200 +moulinette (11.2) stable; urgency=low + + - [i18n] Translations updated for Japanese + + Thanks to all contributors <3 ! (motcha) + + -- Alexandre Aubin Mon, 17 Jul 2023 16:32:34 +0200 + +moulinette (11.1.5) stable; urgency=low + + - setup.py: fix version specifier in python_requires, python tooling not happy with * i guess (2373a7fa) + - auth: prevent stupid issue where outdated cookie usage would trigger error 500 intead of 401, resulting in a ~bug after Yunohost self-upgrade and the webadmin is confused about the API not being up again (c06e1a91) + - i18n: Translations updated for Chinese (Simplified), Indonesian, Japanese + + Thanks to all contributors <3 ! (liimee, motcha, Neko Nekowazarashi, Poesty Li) + + -- Alexandre Aubin Mon, 10 Jul 2023 21:32:20 +0200 + moulinette (11.1.4) stable; urgency=low - Releasing as stable diff --git a/locales/id.json b/locales/id.json index ac55a468..dfd66b6b 100644 --- a/locales/id.json +++ b/locales/id.json @@ -1,19 +1,46 @@ { "argument_required": "Argumen '{argument}' dibutuhkan", - "authentication_required": "Otentikasi dibutuhkan", + "authentication_required": "Autentikasi dibutuhkan", "deprecated_command": "'{prog} {command}' sudah usang dan akan dihapus nanti", "logged_out": "Berhasil keluar", "password": "Kata sandi", - "deprecated_command_alias": "'{prog} {old}' sudah usang dan akan dihapus nanti, gunakan '{prog} {new}' saja", + "deprecated_command_alias": "'{prog} {old}' sudah usang dan akan dihapus nanti, gunakan '{prog} {new}'", "info": "Informasi:", - "instance_already_running": "Sudah ada operasi YunoHost yang sedang berjalan. Tunggu itu selesai sebelum menjalankan yang lain.", + "instance_already_running": "Sudah ada tindakan YunoHost yang sedang berjalan. Tunggu itu selesai sebelum menjalankan yang lain.", "logged_in": "Berhasil masuk", "warning": "Peringatan:", "cannot_open_file": "Tidak dapat membuka berkas {file} (alasan: {error})", - "error_removing": "Terjadi kesalahan ketika menghapus {path}: {error}", + "error_removing": "Terjadi galat ketika menghapus {path}: {error}", "success": "Berhasil!", "warn_the_user_about_waiting_lock": "Perintah YunoHost lain sedang berjalan saat ini, kami sedang menunggu itu selesai sebelum menjalankan yang ini", "warn_the_user_about_waiting_lock_again": "Masih menunggu...", - "unable_authenticate": "Tidak dapat mengotentikasi", - "warn_the_user_that_lock_is_acquired": "Perintah yang tadi baru saja selesai, akan memulai perintah ini" + "unable_authenticate": "Tidak dapat mengautentikasi", + "warn_the_user_that_lock_is_acquired": "Perintah yang tadi baru saja selesai, akan memulai perintah ini", + "server_already_running": "Sebuah peladen telah berjalan di porta tersebut", + "unknown_group": "Kelompok '{group}' tidak diketahui", + "unknown_user": "Pengguna '{user}' tidak diketahui", + "values_mismatch": "Tidak sama", + "cannot_write_file": "Tidak dapat menyimpan berkas {file} (alasan: {error})", + "unknown_error_reading_file": "Galat yang tidak diketahui ketika membaca berkas {file} (alasan: {error})", + "invalid_url": "Gagal terhubung dengan {url} ... mungkin layanan tersebut sedang tidak berjalan atau Anda tidak terhubung ke internet di IPv4/IPv6.", + "download_timeout": "{url} memakan waktu yang lama untuk menjawab, menyerah.", + "download_unknown_error": "Galat ketika mengunduh data dari {url}: {error}", + "download_bad_status_code": "{url} menjawab dengan kode status {code}", + "confirm": "Konfirmasi {prompt}", + "edit_text_question": "{}. Sunting teks ini ? [yN]: ", + "error": "Galat:", + "file_not_exist": "Berkas tidak ada: '{path}'", + "folder_exists": "Berkas sudah ada: '{path}'", + "invalid_argument": "Argumen tidak valid '{argument}': {error}", + "invalid_usage": "Tidak valid, ikutkan --help untuk melihat bantuan", + "not_logged_in": "Anda belum masuk", + "operation_interrupted": "Tindakan terganggu", + "error_writing_file": "Galat ketika menyimpan berkas {file}: {error}", + "error_changing_file_permissions": "Galat ketika mengubah izin untuk {path}: {error}", + "download_ssl_error": "Galat SSL ketika menghubungi {url}", + "pattern_not_match": "Tidak cocok dengan pola", + "root_required": "Anda harus berada di root untuk melakukan tindakan ini", + "corrupted_yaml": "Pembacaan rusak untuk YAML {ressource} (alasan: {error})", + "corrupted_toml": "Pembacaan rusak untuk TOML {ressource} (alasan: {error})", + "corrupted_json": "Pembacaan rusak untuk JSON {ressource} (alasan: {error})" } diff --git a/locales/ja.json b/locales/ja.json new file mode 100644 index 00000000..e55d18c3 --- /dev/null +++ b/locales/ja.json @@ -0,0 +1,47 @@ +{ + "logged_out": "ログアウトしました", + "password": "パスワード", + "argument_required": "引数 '{argument}' が必要です", + "authentication_required": "認証が必要", + "confirm": "{prompt}の確認", + "deprecated_command": "'{prog} {command}' は非推奨であり、将来削除される予定です", + "deprecated_command_alias": "'{prog} {old}' は非推奨であり、今後削除される予定です。代わりに '{prog} {new}' を使用してください", + "edit_text_question": "{}.このテキストを編集しますか?[yN]: ", + "error": "エラー:", + "info": "インフォメーション:", + "download_unknown_error": "{url}からデータをダウンロードする際のエラー:{error}", + "download_bad_status_code": "{url}は状態コード {code} を返しました", + "warn_the_user_about_waiting_lock": "別のYunoHostコマンドが現在実行されているため、完了するのを待っています", + "warn_the_user_about_waiting_lock_again": "まだ待っています...", + "warn_the_user_that_lock_is_acquired": "他のコマンドが完了しました。このコマンドが開始されました", + "file_not_exist": "ファイルが存在しません: '{path}'", + "folder_exists": "フォルダは既に存在します: '{path}'", + "instance_already_running": "YunoHost 操作が既に実行されています。他の操作が完了するのを待ってください。", + "invalid_argument": "無効な引数 '{argument}': {error}", + "invalid_usage": "無効な使用法です。--help を渡してヘルプを表示します", + "logged_in": "ログイン済み", + "not_logged_in": "ログインしていません", + "operation_interrupted": "操作が中断されました", + "pattern_not_match": "パターンと一致しない", + "root_required": "このアクションを実行するには、rootである必要があります", + "server_already_running": "サーバーはそのポートで既に実行されています", + "success": "成功!", + "unable_authenticate": "認証できません", + "unknown_group": "不明な '{group}' グループ", + "unknown_user": "不明な '{user}' ユーザー", + "values_mismatch": "値が一致しない", + "warning": "警告:", + "websocket_request_expected": "WebSocket 要求が必要です", + "cannot_open_file": "ファイル{file}を開けませんでした(理由:{error})", + "cannot_write_file": "ファイル {file}を書き込めませんでした (理由: {error})", + "unknown_error_reading_file": "ファイル{file}を読み取ろうとしているときに不明なエラーが発生しました(理由:{error})", + "corrupted_json": "{ressource}から読み取られたJSONは破損していました(理由:{error})", + "corrupted_yaml": "破損した YAML が{ressource}から読み取られました (理由: {error})", + "corrupted_toml": "破損した TOML が{ressource}から読み取られました (理由: {error})", + "error_writing_file": "ファイル{file}書き込み時のエラー:{error}", + "error_removing": "{path}を削除するときのエラー:{error}", + "error_changing_file_permissions": "{path}のアクセス許可変更時のエラー: {error}", + "invalid_url": "{url}に接続できませんでした...サービスがダウンしているか、IPv4 / IPv6でインターネットに正しく接続されていない可能性があります。", + "download_ssl_error": "{url}への接続時のSSLエラー", + "download_timeout": "{url}は応答に時間がかかりすぎたため、あきらめました。" +} diff --git a/moulinette/interfaces/api.py b/moulinette/interfaces/api.py index 14ba0b54..34b51143 100644 --- a/moulinette/interfaces/api.py +++ b/moulinette/interfaces/api.py @@ -388,7 +388,7 @@ class _ActionsMapPlugin: try: authenticator.get_session_cookie() - except KeyError: + except Exception: raise HTTPResponse(m18n.g("not_logged_in"), 401) else: # Delete cookie and clean the session