Merge ~renanrodrigo/ubuntu/+source/ubuntu-advantage-tools:upload-30-mantic into ubuntu/+source/ubuntu-advantage-tools:ubuntu/devel
- Git
- lp:~renanrodrigo/ubuntu/+source/ubuntu-advantage-tools
- upload-30-mantic
- Merge into ubuntu/devel
Status: | Merged |
---|---|
Merge reported by: | Andreas Hasenack |
Merged at revision: | af525f1830824cdf8132346a0f166f51fb8c0f7f |
Proposed branch: | ~renanrodrigo/ubuntu/+source/ubuntu-advantage-tools:upload-30-mantic |
Merge into: | ubuntu/+source/ubuntu-advantage-tools:ubuntu/devel |
Diff against target: |
36851 lines (+18318/-4441) 220 files modified
.github/ISSUE_TEMPLATE/bug_report.md (+35/-0) .github/ISSUE_TEMPLATE/feature_request.md (+23/-0) .github/ISSUE_TEMPLATE/question.md (+18/-0) .github/workflows/ci-base.yaml (+6/-2) apport/source_ubuntu-advantage-tools.py (+1/-4) apt-hook/json-hook-main.cc (+4/-0) apt-hook/json-hook.cc (+285/-77) apt-hook/json-hook.hh (+3/-3) debian/changelog (+72/-0) debian/control (+9/-0) debian/po/Makefile (+10/-0) debian/po/POTFILES.in (+2/-0) debian/po/pt_BR.po (+3428/-0) debian/po/ubuntu-pro.pot (+3056/-0) debian/rules (+1/-0) debian/tests/control (+1/-1) debian/ubuntu-advantage-tools.maintscript (+1/-0) debian/ubuntu-pro-client-l10n.install (+1/-0) dev/null (+0/-10) features/airgapped.feature (+3/-3) features/anbox.feature (+8/-10) features/api.feature (+20/-18) features/api_fix_execute.feature (+273/-0) features/api_fix_plan.feature (+42/-26) features/api_magic_attach.feature (+1/-1) features/api_packages.feature (+1/-1) features/api_unattended_upgrades.feature (+6/-0) features/apt_messages.feature (+25/-25) features/attach_invalidtoken.feature (+3/-3) features/attach_validtoken.feature (+10/-7) features/attached_commands.feature (+435/-103) features/attached_enable.feature (+78/-65) features/attached_status.feature (+18/-12) features/cloud.py (+11/-2) features/cloud_pro_clone.feature (+1/-0) features/collect_logs.feature (+4/-12) features/daemon.feature (+37/-36) features/docker.feature (+6/-6) features/enable_fips_cloud.feature (+55/-4) features/enable_fips_container.feature (+4/-3) features/enable_fips_pro.feature (+9/-9) features/enable_fips_vm.feature (+70/-13) features/environment.py (+7/-0) features/fix.feature (+15/-9) features/i18n.feature (+84/-4) features/landscape.feature (+5/-11) features/livepatch.feature (+61/-0) features/motd_messages.feature (+12/-17) features/proxy_config.feature (+1/-1) features/realtime_kernel.feature (+13/-10) features/retry_auto_attach.feature (+2/-2) features/schemas/cve_fix_execute.json (+73/-0) features/schemas/cve_fix_plan.json (+12/-0) features/schemas/ua_status.json (+0/-6) features/schemas/usn_fix_execute.json (+89/-0) features/schemas/usn_fix_plan.json (+28/-2) features/steps/machines.py (+11/-0) features/steps/packages.py (+19/-4) features/steps/ubuntu_advantage_tools.py (+11/-4) features/ubuntu_pro.feature (+72/-63) features/ubuntu_pro_fips.feature (+59/-55) features/ubuntu_upgrade.feature (+3/-3) features/ubuntu_upgrade_unattached.feature (+2/-2) features/unattached_commands.feature (+20/-21) features/unattached_status.feature (+69/-43) features/util.py (+77/-5) integration-requirements.txt (+1/-1) lib/daemon.py (+10/-39) lib/migrate_user_config.py (+0/-2) lib/patch_status_json.py (+4/-6) lib/reboot_cmds.py (+5/-11) lib/timer.py (+17/-28) lib/upgrade_lts_contract.py (+1/-1) preferences.d/ubuntu-pro-esm-apps (+11/-0) preferences.d/ubuntu-pro-esm-infra (+10/-0) setup.py (+2/-1) sru/release-30/test-status-output-when-translated.sh (+94/-0) systemd/ubuntu-advantage.service (+0/-2) test-requirements.txt (+5/-0) tools/README.md (+0/-1) tools/create-lp-release-branches.sh (+1/-1) tools/test-in-lxd.sh (+6/-3) tools/test-in-multipass.sh (+10/-5) tools/update-pos.sh (+9/-0) tox.ini (+4/-35) uaclient-devel.conf (+0/-2) uaclient/actions.py (+10/-45) uaclient/api/api.py (+18/-47) uaclient/api/errors.py (+27/-15) uaclient/api/exceptions.py (+5/-9) uaclient/api/tests/test_api.py (+44/-46) uaclient/api/tests/test_api_u_pro_attach_auto_full_auto_attach_v1.py (+24/-14) uaclient/api/tests/test_api_u_pro_attach_auto_should_auto_attach.py (+4/-4) uaclient/api/tests/test_api_u_pro_packages_updates.py (+1/-1) uaclient/api/tests/test_api_u_pro_security_fix_execute.py (+345/-0) uaclient/api/tests/test_api_u_pro_version.py (+5/-5) uaclient/api/tests/test_api_u_unattended_upgrades_status_v1.py (+28/-0) uaclient/api/tests/test_fix.py (+356/-277) uaclient/api/u/pro/attach/auto/full_auto_attach/v1.py (+4/-3) uaclient/api/u/pro/packages/updates/v1.py (+2/-2) uaclient/api/u/pro/security/fix/__init__.py (+302/-94) uaclient/api/u/pro/security/fix/_common/__init__.py (+47/-0) uaclient/api/u/pro/security/fix/_common/execute/__init__.py (+0/-0) uaclient/api/u/pro/security/fix/_common/execute/v1.py (+273/-0) uaclient/api/u/pro/security/fix/cve/execute/__init__.py (+0/-0) uaclient/api/u/pro/security/fix/cve/execute/v1.py (+77/-0) uaclient/api/u/pro/security/fix/cve/plan/v1.py (+2/-23) uaclient/api/u/pro/security/fix/usn/execute/__init__.py (+0/-0) uaclient/api/u/pro/security/fix/usn/execute/v1.py (+108/-0) uaclient/api/u/pro/security/fix/usn/plan/v1.py (+2/-23) uaclient/api/u/pro/version/v1.py (+3/-2) uaclient/api/u/unattended_upgrades/status/v1.py (+22/-3) uaclient/apt.py (+292/-111) uaclient/apt_news.py (+8/-5) uaclient/cli/__init__.py (+202/-473) uaclient/cli/constants.py (+8/-0) uaclient/cli/fix.py (+921/-0) uaclient/cli/tests/test_cli.py (+88/-92) uaclient/cli/tests/test_cli_api.py (+4/-3) uaclient/cli/tests/test_cli_attach.py (+41/-33) uaclient/cli/tests/test_cli_auto_attach.py (+9/-8) uaclient/cli/tests/test_cli_collect_logs.py (+16/-9) uaclient/cli/tests/test_cli_config.py (+4/-3) uaclient/cli/tests/test_cli_config_set.py (+6/-4) uaclient/cli/tests/test_cli_config_unset.py (+1/-0) uaclient/cli/tests/test_cli_detach.py (+9/-4) uaclient/cli/tests/test_cli_disable.py (+72/-17) uaclient/cli/tests/test_cli_enable.py (+77/-29) uaclient/cli/tests/test_cli_fix.py (+10/-13) uaclient/cli/tests/test_cli_refresh.py (+6/-6) uaclient/cli/tests/test_cli_security_status.py (+2/-1) uaclient/cli/tests/test_cli_status.py (+53/-42) uaclient/clouds/aws.py (+12/-11) uaclient/clouds/azure.py (+1/-1) uaclient/clouds/gcp.py (+6/-9) uaclient/clouds/identity.py (+10/-6) uaclient/clouds/tests/test_aws.py (+7/-7) uaclient/clouds/tests/test_azure.py (+3/-3) uaclient/clouds/tests/test_gcp.py (+5/-9) uaclient/clouds/tests/test_identity.py (+1/-1) uaclient/config.py (+25/-36) uaclient/conftest.py (+14/-14) uaclient/contract.py (+67/-70) uaclient/daemon/__init__.py (+2/-2) uaclient/daemon/poll_for_pro_license.py (+2/-3) uaclient/daemon/retry_auto_attach.py (+10/-6) uaclient/daemon/tests/test_daemon.py (+2/-2) uaclient/daemon/tests/test_poll_for_pro_license.py (+7/-6) uaclient/daemon/tests/test_retry_auto_attach.py (+13/-7) uaclient/data_types.py (+45/-41) uaclient/defaults.py (+3/-15) uaclient/entitlements/__init__.py (+7/-6) uaclient/entitlements/anbox.py (+6/-4) uaclient/entitlements/base.py (+96/-45) uaclient/entitlements/cc.py (+8/-12) uaclient/entitlements/cis.py (+12/-22) uaclient/entitlements/entitlement_status.py (+2/-0) uaclient/entitlements/esm.py (+8/-6) uaclient/entitlements/fips.py (+99/-29) uaclient/entitlements/landscape.py (+20/-18) uaclient/entitlements/livepatch.py (+47/-17) uaclient/entitlements/realtime.py (+21/-15) uaclient/entitlements/repo.py (+215/-44) uaclient/entitlements/ros.py (+10/-5) uaclient/entitlements/tests/conftest.py (+1/-0) uaclient/entitlements/tests/test_base.py (+45/-12) uaclient/entitlements/tests/test_cc.py (+7/-9) uaclient/entitlements/tests/test_cis.py (+10/-10) uaclient/entitlements/tests/test_entitlements.py (+3/-1) uaclient/entitlements/tests/test_fips.py (+58/-30) uaclient/entitlements/tests/test_livepatch.py (+113/-13) uaclient/entitlements/tests/test_repo.py (+311/-20) uaclient/exceptions.py (+383/-374) uaclient/files/data_types.py (+2/-2) uaclient/files/files.py (+18/-28) uaclient/files/notices.py (+15/-13) uaclient/files/tests/test_notices.py (+4/-2) uaclient/gpg.py (+2/-4) uaclient/http/__init__.py (+20/-23) uaclient/http/tests/test_http.py (+7/-11) uaclient/livepatch.py (+18/-30) uaclient/lock.py (+2/-4) uaclient/log.py (+9/-0) uaclient/messages/__init__.py (+2524/-0) uaclient/messages/urls.py (+48/-0) uaclient/security.py (+128/-119) uaclient/security_status.py (+98/-106) uaclient/snap.py (+26/-16) uaclient/status.py (+102/-60) uaclient/system.py (+57/-27) uaclient/testing/fakes.py (+5/-1) uaclient/tests/test_actions.py (+10/-75) uaclient/tests/test_apt.py (+343/-67) uaclient/tests/test_apt_news.py (+4/-4) uaclient/tests/test_config.py (+11/-58) uaclient/tests/test_contract.py (+68/-49) uaclient/tests/test_data_types.py (+112/-51) uaclient/tests/test_esm_cache.py (+6/-6) uaclient/tests/test_gpg.py (+2/-2) uaclient/tests/test_lib_auto_attach.py (+1/-1) uaclient/tests/test_lock.py (+14/-6) uaclient/tests/test_reboot_cmds.py (+10/-4) uaclient/tests/test_security.py (+40/-44) uaclient/tests/test_security_status.py (+48/-77) uaclient/tests/test_snap.py (+44/-1) uaclient/tests/test_status.py (+3/-3) uaclient/tests/test_system.py (+106/-8) uaclient/tests/test_ua_timer.py (+3/-1) uaclient/tests/test_upgrade_lts_contract.py (+13/-19) uaclient/tests/test_util.py (+4/-92) uaclient/tests/test_version.py (+16/-22) uaclient/timer/__init__.py (+2/-2) uaclient/timer/tests/test_update_messaging.py (+18/-14) uaclient/timer/update_contract_info.py (+6/-6) uaclient/timer/update_messaging.py (+12/-7) uaclient/upgrade_lts_contract.py (+21/-15) uaclient/util.py (+31/-70) uaclient/version.py (+8/-12) uaclient/yaml.py (+9/-6) ubuntu-advantage.1 (+2/-10) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Bryce Harrington (community) | Approve | ||
Andreas Hasenack | Approve | ||
Canonical Server Reporter | Pending | ||
Review via email: mp+452846@code.launchpad.net |
Commit message
Description of the change
This is the release of ubuntu-
See the CHANGELOG and related bug for more information.
Renan Rodrigo (renanrodrigo) wrote (last edit ): | # |
You are correct, 154 commits should be part of the MR... I wonder what did happen here - will try to fix it up
Renan Rodrigo (renanrodrigo) wrote : | # |
Nothing to fix it seems \_("/)_/
Bryce Harrington (bryce) wrote : | # |
Thanks for doublechecking, I suppose Launchpad is the thing needing fixed in this case...
Bryce Harrington (bryce) wrote : | # |
I've performed the required commit-by-commit review, in particular focusing on the types of changes identified by https:/
https:/
Hopefully this works ok for you. I have flagged all the actual notes with 'FIXME' tags for your search convenience, though as you'll see in some cases it's just questions or reminders on things to do or check later.
There were >180 commits in the branch to be reviewed. I reduced this list somewhat by using this command:
last_
# Exclude commits that *only* touch translations, tests, gpg keys, and
# team internal tooling.
git log pkg/import/
I understand Robie used a similar approach, and he may have a more extensive set of excludes than me. This would be a good thing to add to the review docs for future reviewers. In my case, for R30.0 this reduced the number of commits by only 30. Despite that, I think this could be a good approach to help narrow the scope of work for review; as it was it ate the better part of 2 days just to glance through the 150 commits to find the ones needing deeper review. Being able to further filter the list of items requiring our review would be super helpful.
Renan Rodrigo (renanrodrigo) wrote : | # |
Thanks again for the review, Bryce.
I will be working on the FIXME items, and posting answers here when that's the case.
There is a new (small) set of commits to add to this branch, most tests and fixes for the purge things. I will add everything before asking for a new review.
Renan Rodrigo (renanrodrigo) wrote : | # |
Added 9 new commits adressing test changes and fixes related to those tests.
Renan Rodrigo (renanrodrigo) wrote (last edit ): | # |
Added 14 commits addressing Bryce's 'Needs Fixing' review.
Besides that, I have a reply to the pastebin with some answers and excuses for those changes added here:
Bryce Harrington (bryce) wrote : | # |
5f0434a6b578254
LGTM, +1
f126a05dcfaf3fb
LGTM, +1
67f8d1c4f8219d8
"test(aws): include deprecated aws pro fips images (CPC-3030)"
Verified that pycloudlib 5.6.0 updates the api to add the include_deprecated param
https:/
https:/
I don't fully understand the original problem that this is solving, or if there might be any side effects from the fix. The original bug report is terse, is there another discussion somewhere that could be referenced?
Moreover, if I understand the pycloudlib commit correctly the include_deprecated parameter only applies to the EC2 Cloud Class and classes derived from it, but here in uatools it's being used in uatool's Cloud base class which I assume is intended to work not just with EC2 clouds but others as well? Is that true, or can you help clear my misunderstanding?
Test case coverage would be nice to have as well, if at all possible...
bd8089d7f06661b
"apt: change algorithm to look for valid versions"
This looks like a good refactoring, particularly in that it eliminates the extra looping for exclude_origin.
The first paragraph of the commit message is a bit confusing, and I don't quite understand the condition that leads to the issue, however shouldn't whatever that was also have a corresponding check added in the test cases?
I notice that one of the changes is an added check for `file.component != "now"`, which may be a bit obscure (I didn't know it offhand, at least), so may be worth a comment in either the code or commit message. I don't know if there is an Apt reference doc explaining it, but https:/
4a73dd2a4fe4f56
LGTM, +1
0e5d48afbbc2bb3
LGTM, +1
The commit messages Real-time kernel as an exception but I don't see anything about that in the code; hopefully that doesn't indicate anything is missing?
fdc278965eb7980
LGTM, +1
Great to see the extra tests for the kernel purge case!
7dde9c533c07fba
po update, +1
ee1e66de621ad98
tests ftw, +1
Andreas Hasenack (ahasenack) wrote : | # |
#: ../../uaclient/
#, python-brace-format
msgid ""
"This machine is receiving security patching for Ubuntu Main/Restricted\n"
"repository until {date}."
msgstr ""
"Esta máquina está recebendo patches de segurança para o repositório\n"
"Main/Restricted do Ubuntu até"
The pt_BR translation is missing the "{date}." variable.
Andreas Hasenack (ahasenack) wrote : | # |
There are a few fuzzy pt_BR translations still:
$ grep fuzzy -r debian/po/ | grep -v \\.pot
debian/
debian/
debian/
debian/
debian/
debian/
debian/
debian/
Andreas Hasenack (ahasenack) wrote : | # |
We talked about this already, but just so we don't forget (as there won't be bionic-specific MPs here in LP):
bionic doesn't support systemd's type exec:
/lib/systemd/
Andreas Hasenack (ahasenack) wrote : | # |
I filed https:/
Andreas Hasenack (ahasenack) wrote : | # |
Also a reminder about https:/
Andreas Hasenack (ahasenack) wrote : | # |
misaligned columns in translated status output: https:/
Andreas Hasenack (ahasenack) wrote : | # |
unattached status output has untranslated pt_BR strings:
# pro status
SERVIÇO DISPONÍVEL DESCRIÇÃO
anbox-cloud yes Android escalável na nuvem
esm-apps yes Expanded Security Maintenance for Applications
esm-infra yes Expanded Security Maintenance for Infrastructure
livepatch yes Canonical Livepatch service
realtime-kernel yes Ubuntu kernel with PREEMPT_RT patches integrated
usg yes Security compliance and audit tools
That "yes" needs to be handled carefully: there are places where it must not be translated I heard, like machine-parsable output (json).
Andreas Hasenack (ahasenack) wrote : | # |
There seem to be different encodings at play in the `pro status --format` output, at least for json and yaml.
json:
"execution_
yaml:
execution_details: "Nenhuma opera\xE7\xE3o Ubuntu Pro est\xE1 sendo executada"
Unsure if this is a problem. I quickly imported those into python using json and yaml, and nothing crashed at least.
Grant Orndorff (orndorffgrant) wrote : | # |
On the unicode character encoding differences: we use python stdlib json, and pyyaml without any customization, so all should be fine. And I went ahead and checked the JSON and YAML specs and this is the correct encoding for each, respectively.
JSON requires the "\u1234" encoding even for codepoints < 0xFF. See "9 String" here: https:/
YAML allows different encoding for 8-bit, 16-bit and 32-bit codepoints. The 8-bit encoding looks like "\x12" and that is what is being used here. See "rule-ns-esc-8-bit" here: https:/
Renan Rodrigo (renanrodrigo) wrote : | # |
@bryce:
> 67f8d1c4f8219d8
> I don't fully understand the original problem that this is
> solving, or if there might be any side effects from the
> fix. The original bug report is terse, is there another
> discussion somewhere that could be referenced?
The referenced Jira ticket is the best we have
https:/
There should be no side effects: when testing, we include deprecated images in the search for the daily image.
That is pretty much it.
It happens because AWS is (incorrectly) setting some valid images as deprecated, and it was breaking us.
CPC is now aware and monitoring those things with AWS.
> Moreover, if I understand the pycloudlib commit correctly
> the include_deprecated parameter only applies to the EC2
> Cloud Class and classes derived from it, but here in
> uatools it's being used in uatool's Cloud base class which
> I assume is intended to work not just with EC2 clouds but
> others as well? Is that true, or can you help clear my
> misunderstanding?
Yes, this is currently only implemented on EC2, and could be implemented in the respective module... However, we only use this for our own test suite - we may change it if something breaks but it is unlikely.
> Test case coverage would be nice to have as well, if at all possible...
This is mostly a pycloudlib change that we adapted, and it is only part of our test suite - does not affect the package at all, so we don't have tests for these changes.
> 0e5d48afbbc2bb3
> The commit messages Real-time kernel as an exception but
> I don't see anything about that in the code; hopefully
> that doesn't indicate anything is missing?
I double checked that, and supports_purge is set to False in Real-time kernel - so we should be good here, all set.
Renan Rodrigo (renanrodrigo) wrote : | # |
Added 21 more commits, addressing Andreas' review, and rounding up integration tests and PO file structure. This MP should be ready for another round now.
Bryce Harrington (bryce) wrote : | # |
Thanks for adding the test case I flagged.
I still think you should leave some breadcrumbs for the deprecated images issue, since that seems like one of those weird glitchy corner cases that'll pop up some day, and a future engineer might appreciate pointers. And I also still think that using it from the base Cloud class will eventually cause problems. However, you're right this is only affecting test code, so irrelevant for the release as long as the test cases pass, and can be addressed/ignored at your discretion.
I don't spot anything in the new complaints to raise any concerns about.
Renan Rodrigo (renanrodrigo) wrote : | # |
Thanks for the approval, Andreas!
We still need to coordinate uploads, because of pkgbinarymangler (https:/
- af525f1... by Renan Rodrigo
-
changelog backport to mantic
Bryce Harrington (bryce) wrote : | # |
The two code changes and changelog entry LGTM, rest are just test updates.
Andreas Hasenack (ahasenack) wrote : | # |
This landed already. For some reason the bot didn't pick up the approval votes.
I'm marking this MP as merged to reflect the current status.
Preview Diff
1 | diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md |
2 | new file mode 100644 |
3 | index 0000000..4ed9ebf |
4 | --- /dev/null |
5 | +++ b/.github/ISSUE_TEMPLATE/bug_report.md |
6 | @@ -0,0 +1,35 @@ |
7 | +--- |
8 | +name: Report a bug |
9 | +about: Create a report to help us fix or improve the Pro Client |
10 | +title: 'Bug: ' |
11 | +labels: 'bug' |
12 | + |
13 | +--- |
14 | + |
15 | +**Description of the bug** |
16 | + |
17 | +A clear and concise description of what the bug is. |
18 | + |
19 | +**Expected behavior** |
20 | + |
21 | +A clear and concise description of what you expected to happen. |
22 | + |
23 | +**Current behavior** |
24 | + |
25 | +A clear and concise description of what is happening now |
26 | +Feel free to include screenshots or quoted output if relevant. |
27 | + |
28 | +**To Reproduce** |
29 | + |
30 | +Please include details on how to reproduce the bug. |
31 | +1. Launch a VM/Container |
32 | +2. Run ... |
33 | + |
34 | +**System information:** |
35 | + |
36 | +- Ubuntu release: <!-- $ grep 'VERSION=' /etc/os-release --> |
37 | +- Pro Client version: <!-- $ pro version --> |
38 | + |
39 | +**Additional context** |
40 | + |
41 | +Add any other context about the problem here. |
42 | diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md |
43 | new file mode 100644 |
44 | index 0000000..93b941f |
45 | --- /dev/null |
46 | +++ b/.github/ISSUE_TEMPLATE/feature_request.md |
47 | @@ -0,0 +1,23 @@ |
48 | +--- |
49 | +name: Suggest a new feature |
50 | +about: Suggest an idea for the Pro Client |
51 | +title: 'Feature: ' |
52 | +labels: 'feature' |
53 | + |
54 | +--- |
55 | + |
56 | +**Please describe the scenario where the new feature would be useful** |
57 | + |
58 | +What is the situation that made you realize this feature is necessary? |
59 | + |
60 | +**Describe the solution you'd like** |
61 | + |
62 | +A clear and concise description of what you want to happen. |
63 | + |
64 | +**Current behavior** |
65 | + |
66 | +Is this partially implemented somehow? Is there any alternative way to solve the problem? |
67 | + |
68 | +**Additional context** |
69 | + |
70 | +Add any other context about the feature request here. |
71 | diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md |
72 | new file mode 100644 |
73 | index 0000000..d6db408 |
74 | --- /dev/null |
75 | +++ b/.github/ISSUE_TEMPLATE/question.md |
76 | @@ -0,0 +1,18 @@ |
77 | +--- |
78 | +name: Ask for guidance / documentation |
79 | +about: Ask questions, and potentially help us improve our docs |
80 | +title: 'Question: ' |
81 | +labels: 'docs' |
82 | + |
83 | +--- |
84 | + |
85 | +**What is the subject you need more information on?** |
86 | + |
87 | +Let us know how can we help. |
88 | + |
89 | +**Did you check the documentation first?** |
90 | + |
91 | +After looking for guidance in [the Pro Client documentation](https://canonical-ubuntu-pro-client.readthedocs-hosted.com/en/latest/), mark one of the following checkboxes: |
92 | + |
93 | + - [ ] There is documentation about this, but it needs improvement |
94 | + - [ ] There is no documentation about this |
95 | diff --git a/.github/workflows/ci-base.yaml b/.github/workflows/ci-base.yaml |
96 | index 59174bf..b1dd0f1 100644 |
97 | --- a/.github/workflows/ci-base.yaml |
98 | +++ b/.github/workflows/ci-base.yaml |
99 | @@ -18,7 +18,7 @@ jobs: |
100 | - name: Install dependencies |
101 | run: | |
102 | sudo DEBIAN_FRONTEND=noninteractive apt-get -qy update |
103 | - sudo DEBIAN_FRONTEND=noninteractive apt-get -qy install tox |
104 | + sudo DEBIAN_FRONTEND=noninteractive apt-get -qy install tox libapt-pkg-dev intltool |
105 | - name: Git checkout |
106 | uses: actions/checkout@v3 |
107 | - name: Formatting |
108 | @@ -29,6 +29,10 @@ jobs: |
109 | run: tox -e mypy |
110 | - name: Version Consistency |
111 | run: python3 ./tools/check-versions-are-consistent.py |
112 | + - name: Translation Template Updated |
113 | + run: | |
114 | + ./tools/update-pos.sh |
115 | + [ $(git diff --ignore-matching-lines="POT-Creation-Date" | wc -c) = "0" ] |
116 | unit-tests: |
117 | name: Unit Tests |
118 | runs-on: ubuntu-22.04 |
119 | @@ -36,7 +40,7 @@ jobs: |
120 | - name: Install dependencies |
121 | run: | |
122 | sudo DEBIAN_FRONTEND=noninteractive apt-get -qy update |
123 | - sudo DEBIAN_FRONTEND=noninteractive apt-get -qy install tox |
124 | + sudo DEBIAN_FRONTEND=noninteractive apt-get -qy install tox libapt-pkg-dev |
125 | - name: Git checkout |
126 | uses: actions/checkout@v3 |
127 | - name: Unit |
128 | diff --git a/apport/source_ubuntu-advantage-tools.py b/apport/source_ubuntu-advantage-tools.py |
129 | index f2c4f1a..6489d1d 100644 |
130 | --- a/apport/source_ubuntu-advantage-tools.py |
131 | +++ b/apport/source_ubuntu-advantage-tools.py |
132 | @@ -20,14 +20,11 @@ def add_info(report, ui=None): |
133 | "ua-status.json-error", |
134 | "livepatch-status.txt", |
135 | "livepatch-status.txt-error", |
136 | + "pro-journal.txt", |
137 | os.path.basename(cfg.cfg_path), |
138 | os.path.basename(cfg.log_file), |
139 | - os.path.basename(cfg.timer_log_file), |
140 | - os.path.basename(cfg.daemon_log_file), |
141 | os.path.basename(cfg.data_path("jobs-status")), |
142 | os.path.basename(defaults.CONFIG_DEFAULTS["log_file"]), |
143 | - os.path.basename(defaults.CONFIG_DEFAULTS["timer_log_file"]), |
144 | - os.path.basename(defaults.CONFIG_DEFAULTS["daemon_log_file"]), |
145 | } |
146 | for f in auto_include_log_files: |
147 | attach_file_if_exists(report, os.path.join(output_dir, f), key=f) |
148 | diff --git a/apt-hook/json-hook-main.cc b/apt-hook/json-hook-main.cc |
149 | index 50f4935..30e770d 100644 |
150 | --- a/apt-hook/json-hook-main.cc |
151 | +++ b/apt-hook/json-hook-main.cc |
152 | @@ -1,8 +1,12 @@ |
153 | +#include <libintl.h> |
154 | + |
155 | #include "json-hook.hh" |
156 | |
157 | int main(int argc, char *argv[]) |
158 | { |
159 | (void) argc; |
160 | (void) argv; |
161 | + setlocale(LC_ALL, ""); |
162 | + textdomain("ubuntu-pro"); |
163 | return run(); |
164 | } |
165 | diff --git a/apt-hook/json-hook.cc b/apt-hook/json-hook.cc |
166 | index 61548b7..30f9791 100644 |
167 | --- a/apt-hook/json-hook.cc |
168 | +++ b/apt-hook/json-hook.cc |
169 | @@ -2,6 +2,7 @@ |
170 | #include <fstream> |
171 | #include <iostream> |
172 | #include <json-c/json.h> |
173 | +#include <libintl.h> |
174 | #include <sstream> |
175 | #include <string> |
176 | #include <vector> |
177 | @@ -146,57 +147,213 @@ bool count_security_packages_from_apt_stats_json(json_object *stats, security_pa |
178 | return true; |
179 | } |
180 | |
181 | +#define MAX_COUNT_MESSAGE_LEN 256 |
182 | std::string create_count_message(security_package_counts &counts) { |
183 | - std::vector<std::string> count_msgs; |
184 | - |
185 | - if (counts.standard + counts.esm_infra + counts.esm_apps == 0) { |
186 | - return ""; |
187 | - } |
188 | - |
189 | - if (counts.standard > 0) { |
190 | - std::stringstream ss; |
191 | - ss << counts.standard << " standard LTS security update"; |
192 | - if (counts.standard != 1) { |
193 | - ss << "s"; |
194 | - } |
195 | - count_msgs.push_back(ss.str()); |
196 | - } |
197 | - if (counts.esm_infra > 0) { |
198 | - std::stringstream ss; |
199 | - ss << counts.esm_infra << " esm-infra security "; |
200 | - ss << "update"; |
201 | - if (counts.esm_infra != 1) { |
202 | - ss << "s"; |
203 | + char buf[MAX_COUNT_MESSAGE_LEN] = {0}; |
204 | + |
205 | + if (counts.esm_apps == 0) { |
206 | + if (counts.esm_infra == 0) { |
207 | + if (counts.standard == 0) { |
208 | + return ""; |
209 | + } else if (counts.standard == 1) { |
210 | + return std::string(gettext("1 standard LTS security update")); |
211 | + } else if (counts.standard > 1) { |
212 | + std::snprintf( |
213 | + buf, |
214 | + MAX_COUNT_MESSAGE_LEN, |
215 | + gettext("%lu standard LTS security updates"), |
216 | + counts.standard |
217 | + ); |
218 | + return std::string(buf); |
219 | + } |
220 | + } else if (counts.esm_infra == 1) { |
221 | + if (counts.standard == 0) { |
222 | + return std::string(gettext("1 esm-infra security update")); |
223 | + } else if (counts.standard == 1) { |
224 | + return std::string(gettext("1 standard LTS security update and 1 esm-infra security update")); |
225 | + } else if (counts.standard > 1) { |
226 | + std::snprintf( |
227 | + buf, |
228 | + MAX_COUNT_MESSAGE_LEN, |
229 | + gettext("%lu standard LTS security updates and 1 esm-infra security update"), |
230 | + counts.standard |
231 | + ); |
232 | + return std::string(buf); |
233 | + } |
234 | + } else if (counts.esm_infra > 1) { |
235 | + if (counts.standard == 0) { |
236 | + std::snprintf( |
237 | + buf, |
238 | + MAX_COUNT_MESSAGE_LEN, |
239 | + gettext("%lu esm-infra security updates"), |
240 | + counts.esm_infra |
241 | + ); |
242 | + return std::string(buf); |
243 | + } else if (counts.standard == 1) { |
244 | + std::snprintf( |
245 | + buf, |
246 | + MAX_COUNT_MESSAGE_LEN, |
247 | + gettext("1 standard LTS security update and %lu esm-infra security updates"), |
248 | + counts.esm_infra |
249 | + ); |
250 | + return std::string(buf); |
251 | + } else if (counts.standard > 1) { |
252 | + std::snprintf( |
253 | + buf, |
254 | + MAX_COUNT_MESSAGE_LEN, |
255 | + gettext("%lu standard LTS security updates and %lu esm-infra security updates"), |
256 | + counts.standard, |
257 | + counts.esm_infra |
258 | + ); |
259 | + return std::string(buf); |
260 | + } |
261 | } |
262 | - count_msgs.push_back(ss.str()); |
263 | - } |
264 | - if (counts.esm_apps > 0) { |
265 | - std::stringstream ss; |
266 | - ss << counts.esm_apps << " esm-apps security "; |
267 | - ss << "update"; |
268 | - if (counts.esm_apps != 1) { |
269 | - ss << "s"; |
270 | + } else if (counts.esm_apps == 1) { |
271 | + if (counts.esm_infra == 0) { |
272 | + if (counts.standard == 0) { |
273 | + return std::string(gettext("1 esm-apps security update")); |
274 | + } else if (counts.standard == 1) { |
275 | + return std::string(gettext("1 standard LTS security update and 1 esm-apps security update")); |
276 | + } else if (counts.standard > 1) { |
277 | + std::snprintf( |
278 | + buf, |
279 | + MAX_COUNT_MESSAGE_LEN, |
280 | + gettext("%lu standard LTS security updates and 1 esm-apps security update"), |
281 | + counts.standard |
282 | + ); |
283 | + return std::string(buf); |
284 | + } |
285 | + } else if (counts.esm_infra == 1) { |
286 | + if (counts.standard == 0) { |
287 | + return std::string(gettext("1 esm-infra security update and 1 esm-apps security update")); |
288 | + } else if (counts.standard == 1) { |
289 | + return std::string(gettext("1 standard LTS security update, 1 esm-infra security update and 1 esm-apps security update")); |
290 | + } else if (counts.standard > 1) { |
291 | + std::snprintf( |
292 | + buf, |
293 | + MAX_COUNT_MESSAGE_LEN, |
294 | + gettext("%lu standard LTS security updates, 1 esm-infra security update and 1 esm-apps security update"), |
295 | + counts.standard |
296 | + ); |
297 | + return std::string(buf); |
298 | + } |
299 | + } else if (counts.esm_infra > 1) { |
300 | + if (counts.standard == 0) { |
301 | + std::snprintf( |
302 | + buf, |
303 | + MAX_COUNT_MESSAGE_LEN, |
304 | + gettext("%lu esm-infra security updates and 1 esm-apps security update"), |
305 | + counts.esm_infra |
306 | + ); |
307 | + return std::string(buf); |
308 | + } else if (counts.standard == 1) { |
309 | + std::snprintf( |
310 | + buf, |
311 | + MAX_COUNT_MESSAGE_LEN, |
312 | + gettext("1 standard LTS security update, %lu esm-infra security updates and 1 esm-apps security update"), |
313 | + counts.esm_infra |
314 | + ); |
315 | + return std::string(buf); |
316 | + } else if (counts.standard > 1) { |
317 | + std::snprintf( |
318 | + buf, |
319 | + MAX_COUNT_MESSAGE_LEN, |
320 | + gettext("%lu standard LTS security updates, %lu esm-infra security updates and 1 esm-apps security update"), |
321 | + counts.standard, |
322 | + counts.esm_infra |
323 | + ); |
324 | + return std::string(buf); |
325 | + } |
326 | } |
327 | - count_msgs.push_back(ss.str()); |
328 | - } |
329 | - |
330 | - std::stringstream message_ss; |
331 | - for (uint i = 0; i < count_msgs.size(); i++) { |
332 | - if (count_msgs.size() == 3) { |
333 | - if (i == 1) { |
334 | - message_ss << ", "; |
335 | - } else if (i == 2) { |
336 | - message_ss << " and "; |
337 | + } else if (counts.esm_apps > 1) { |
338 | + if (counts.esm_infra == 0) { |
339 | + if (counts.standard == 0) { |
340 | + std::snprintf( |
341 | + buf, |
342 | + MAX_COUNT_MESSAGE_LEN, |
343 | + gettext("%lu esm-apps security updates"), |
344 | + counts.esm_apps |
345 | + ); |
346 | + return std::string(buf); |
347 | + } else if (counts.standard == 1) { |
348 | + std::snprintf( |
349 | + buf, |
350 | + MAX_COUNT_MESSAGE_LEN, |
351 | + gettext("1 standard LTS security update and %lu esm-apps security updates"), |
352 | + counts.esm_apps |
353 | + ); |
354 | + return std::string(buf); |
355 | + } else if (counts.standard > 1) { |
356 | + std::snprintf( |
357 | + buf, |
358 | + MAX_COUNT_MESSAGE_LEN, |
359 | + gettext("%lu standard LTS security updates and %lu esm-apps security updates"), |
360 | + counts.standard, |
361 | + counts.esm_apps |
362 | + ); |
363 | + return std::string(buf); |
364 | + } |
365 | + } else if (counts.esm_infra == 1) { |
366 | + if (counts.standard == 0) { |
367 | + std::snprintf( |
368 | + buf, |
369 | + MAX_COUNT_MESSAGE_LEN, |
370 | + gettext("1 esm-infra security update and %lu esm-apps security updates"), |
371 | + counts.esm_apps |
372 | + ); |
373 | + return std::string(buf); |
374 | + } else if (counts.standard == 1) { |
375 | + std::snprintf( |
376 | + buf, |
377 | + MAX_COUNT_MESSAGE_LEN, |
378 | + gettext("1 standard LTS security update, 1 esm-infra security update and %lu esm-apps security updates"), |
379 | + counts.esm_apps |
380 | + ); |
381 | + return std::string(buf); |
382 | + } else if (counts.standard > 1) { |
383 | + std::snprintf( |
384 | + buf, |
385 | + MAX_COUNT_MESSAGE_LEN, |
386 | + gettext("%lu standard LTS security updates, 1 esm-infra security update and %lu esm-apps security updates"), |
387 | + counts.standard, |
388 | + counts.esm_apps |
389 | + ); |
390 | + return std::string(buf); |
391 | } |
392 | - } else if (count_msgs.size() == 2) { |
393 | - if (i == 1) { |
394 | - message_ss << " and "; |
395 | + } else if (counts.esm_infra > 1) { |
396 | + if (counts.standard == 0) { |
397 | + std::snprintf( |
398 | + buf, |
399 | + MAX_COUNT_MESSAGE_LEN, |
400 | + gettext("%lu esm-infra security updates and %lu esm-apps security updates"), |
401 | + counts.esm_infra, |
402 | + counts.esm_apps |
403 | + ); |
404 | + return std::string(buf); |
405 | + } else if (counts.standard == 1) { |
406 | + std::snprintf( |
407 | + buf, |
408 | + MAX_COUNT_MESSAGE_LEN, |
409 | + gettext("1 standard LTS security update, %lu esm-infra security updates and %lu esm-apps security updates"), |
410 | + counts.esm_infra, |
411 | + counts.esm_apps |
412 | + ); |
413 | + return std::string(buf); |
414 | + } else if (counts.standard > 1) { |
415 | + std::snprintf( |
416 | + buf, |
417 | + MAX_COUNT_MESSAGE_LEN, |
418 | + gettext("%lu standard LTS security updates, %lu esm-infra security updates and %lu esm-apps security updates"), |
419 | + counts.standard, |
420 | + counts.esm_infra, |
421 | + counts.esm_apps |
422 | + ); |
423 | + return std::string(buf); |
424 | } |
425 | } |
426 | - message_ss << count_msgs[i]; |
427 | } |
428 | |
429 | - return message_ss.str(); |
430 | + return ""; |
431 | } |
432 | |
433 | enum CloudID {AWS, AZURE, GCE, NONE}; |
434 | @@ -235,61 +392,113 @@ ESMInfraSeries get_esm_infra_series() { |
435 | return ret; |
436 | } |
437 | |
438 | -struct ESMContext { |
439 | - std::string context; |
440 | - std::string url; |
441 | -}; |
442 | - |
443 | -ESMContext get_esm_context() { |
444 | +void print_learn_more_with_context() { |
445 | CloudID cloud_id = get_cloud_id(); |
446 | ESMInfraSeries esm_infra_series = get_esm_infra_series(); |
447 | |
448 | - ESMContext ret; |
449 | - ret.context = ""; |
450 | - ret.url = "https://ubuntu.com/pro"; |
451 | - |
452 | if (esm_infra_series == XENIAL) { |
453 | if (cloud_id == AZURE) { |
454 | - ret.context = " for 16.04 on Azure"; |
455 | - ret.url = "https://ubuntu.com/16-04/azure"; |
456 | + printf( |
457 | + gettext( |
458 | + "Learn more about Ubuntu Pro for 16.04 on Azure at %s" |
459 | + ), |
460 | + "https://ubuntu.com/16-04/azure" |
461 | + ); |
462 | + printf("\n"); |
463 | + return; |
464 | } else { |
465 | - ret.context = " for 16.04"; |
466 | - ret.url = "https://ubuntu.com/16-04"; |
467 | + printf( |
468 | + gettext( |
469 | + "Learn more about Ubuntu Pro for 16.04 at %s" |
470 | + ), |
471 | + "https://ubuntu.com/16-04" |
472 | + ); |
473 | + printf("\n"); |
474 | + return; |
475 | } |
476 | } else if (esm_infra_series == BIONIC) { |
477 | if (cloud_id == AZURE) { |
478 | - ret.context = " for 18.04 on Azure"; |
479 | - ret.url = "https://ubuntu.com/18-04/azure"; |
480 | + printf( |
481 | + gettext( |
482 | + "Learn more about Ubuntu Pro for 18.04 on Azure at %s" |
483 | + ), |
484 | + "https://ubuntu.com/18-04/azure" |
485 | + ); |
486 | + printf("\n"); |
487 | + return; |
488 | } else { |
489 | - ret.context = " for 18.04"; |
490 | - ret.url = "https://ubuntu.com/18-04"; |
491 | + printf( |
492 | + gettext( |
493 | + "Learn more about Ubuntu Pro for 18.04 at %s" |
494 | + ), |
495 | + "https://ubuntu.com/18-04" |
496 | + ); |
497 | + printf("\n"); |
498 | + return; |
499 | } |
500 | } else { |
501 | if (cloud_id == AZURE) { |
502 | - ret.context = " on Azure"; |
503 | - ret.url = "https://ubuntu.com/azure/pro"; |
504 | + printf( |
505 | + gettext( |
506 | + "Learn more about Ubuntu Pro on Azure at %s" |
507 | + ), |
508 | + "https://ubuntu.com/azure/pro" |
509 | + ); |
510 | + printf("\n"); |
511 | + return; |
512 | } else if (cloud_id == AWS) { |
513 | - ret.context = " on AWS"; |
514 | - ret.url = "https://ubuntu.com/aws/pro"; |
515 | + printf( |
516 | + gettext( |
517 | + "Learn more about Ubuntu Pro on AWS at %s" |
518 | + ), |
519 | + "https://ubuntu.com/aws/pro" |
520 | + ); |
521 | + printf("\n"); |
522 | + return; |
523 | } else if (cloud_id == GCE) { |
524 | - ret.context = " on GCP"; |
525 | - ret.url = "https://ubuntu.com/gcp/pro"; |
526 | + printf( |
527 | + gettext( |
528 | + "Learn more about Ubuntu Pro on GCP at %s" |
529 | + ), |
530 | + "https://ubuntu.com/gcp/pro" |
531 | + ); |
532 | + printf("\n"); |
533 | + return; |
534 | } |
535 | } |
536 | |
537 | - return ret; |
538 | + printf( |
539 | + gettext( |
540 | + "Learn more about Ubuntu Pro at %s" |
541 | + ), |
542 | + "https://ubuntu.com/pro" |
543 | + ); |
544 | + printf("\n"); |
545 | + return; |
546 | } |
547 | |
548 | -void print_esm_packages(ESMType esm_type, std::vector<std::string> package_names, ESMContext &esm_context) { |
549 | +void print_esm_packages(ESMType esm_type, std::vector<std::string> package_names) { |
550 | |
551 | if (esm_type == APPS) { |
552 | - std::cout << "Get more security updates through Ubuntu Pro with 'esm-apps' enabled:"; |
553 | + printf( |
554 | + ngettext( |
555 | + "Get another security update through Ubuntu Pro with 'esm-apps' enabled:", |
556 | + "Get more security updates through Ubuntu Pro with 'esm-apps' enabled:", |
557 | + package_names.size() |
558 | + ) |
559 | + ); |
560 | + printf("\n"); |
561 | } else { |
562 | - std::cout << "The following security updates require Ubuntu Pro with 'esm-infra' enabled:"; |
563 | + printf( |
564 | + ngettext( |
565 | + "The following security update requires Ubuntu Pro with 'esm-infra' enabled:", |
566 | + "The following security updates require Ubuntu Pro with 'esm-infra' enabled:", |
567 | + package_names.size() |
568 | + ) |
569 | + ); |
570 | + printf("\n"); |
571 | } |
572 | |
573 | - std::cout << std::endl; |
574 | - |
575 | std::string curr_line = " "; |
576 | for (std::string &name : package_names) { |
577 | if ((curr_line.length() + 1 + name.length()) >= 79) { |
578 | @@ -302,7 +511,7 @@ void print_esm_packages(ESMType esm_type, std::vector<std::string> package_names |
579 | std::cout << curr_line << std::endl; |
580 | } |
581 | |
582 | - std::cout << "Learn more about Ubuntu Pro" << esm_context.context << " at " << esm_context.url << std::endl; |
583 | + print_learn_more_with_context(); |
584 | } |
585 | |
586 | int run() |
587 | @@ -384,11 +593,10 @@ int run() |
588 | ESMUpdates esm_updates; |
589 | bool success = get_potential_esm_updates(esm_updates); |
590 | if (success) { |
591 | - ESMContext esm_context = get_esm_context(); |
592 | if (!esm_updates.infra_packages.empty()) { |
593 | - print_esm_packages(INFRA, esm_updates.infra_packages, esm_context); |
594 | + print_esm_packages(INFRA, esm_updates.infra_packages); |
595 | } else if (!esm_updates.apps_packages.empty()) { |
596 | - print_esm_packages(APPS, esm_updates.apps_packages, esm_context); |
597 | + print_esm_packages(APPS, esm_updates.apps_packages); |
598 | } |
599 | } |
600 | |
601 | diff --git a/apt-hook/json-hook.hh b/apt-hook/json-hook.hh |
602 | index ee99ed2..b6ed504 100644 |
603 | --- a/apt-hook/json-hook.hh |
604 | +++ b/apt-hook/json-hook.hh |
605 | @@ -9,9 +9,9 @@ struct jsonrpc_request { |
606 | json_object *params; |
607 | }; |
608 | struct security_package_counts { |
609 | - int64_t standard; |
610 | - int64_t esm_infra; |
611 | - int64_t esm_apps; |
612 | + long unsigned int standard; |
613 | + long unsigned int esm_infra; |
614 | + long unsigned int esm_apps; |
615 | }; |
616 | |
617 | enum ESMType {APPS, INFRA}; |
618 | diff --git a/debian/changelog b/debian/changelog |
619 | index e37337b..1bc8b2c 100644 |
620 | --- a/debian/changelog |
621 | +++ b/debian/changelog |
622 | @@ -1,3 +1,75 @@ |
623 | +ubuntu-advantage-tools (30~23.10) mantic; urgency=medium |
624 | + |
625 | + * Backport new upstream release to mantic (LP: #2038461) |
626 | + |
627 | + -- Renan Rodrigo <renanrodrigo@canonical.com> Tue, 07 Nov 2023 16:23:34 +0200 |
628 | + |
629 | +ubuntu-advantage-tools (30) noble; urgency=medium |
630 | + |
631 | + * d/control: |
632 | + - add python3-apt as a build dependency |
633 | + - add the new ubuntu-pro-client-l10n binary package |
634 | + - recommend installing ubuntu-pro-client-l10n |
635 | + |
636 | + * d/po/*: |
637 | + - Makefile to build localization files to debian/po/usr/share/locale/ |
638 | + - update POTFILES.in to cover all translatable messages |
639 | + - remove old unused pot file |
640 | + - add new complete pot file for "ubuntu-pro" domain |
641 | + - add first Brazilian Portuguese translations |
642 | + |
643 | + * d/rules: |
644 | + - add step to build the translations |
645 | + |
646 | + * d/tests/control: |
647 | + - mark autopkgtests as superficial (GH: #2609) |
648 | + |
649 | + * d/ubuntu-advantage-tools.maintscript: |
650 | + - remove /etc/ubuntu-advantage/help_data.yaml |
651 | + |
652 | + * d/ubuntu-pro-client-l10n.install: |
653 | + - add install file for the new binary package |
654 | + |
655 | + * New upstream release 30 (LP: #2038461) |
656 | + - api: |
657 | + + add new backwards compatible plan steps to the v1 fix plan endpoints |
658 | + + improve information returned from the fix plan endpoints |
659 | + + new endpoint: u.pro.security.fix.cve.execute.v1 |
660 | + + new endpoint: u.pro.security.fix.usn.execute.v1 |
661 | + - apt: improve performance and consistency by refactoring the code to use |
662 | + the apt_pkg module |
663 | + - auto-attach: add newline to the MOTD message to separate it from other |
664 | + MOTD messages |
665 | + - contract: send information about variants to the contracts server |
666 | + - enable: update only service specific apt sources when enabling a service |
667 | + (GH: #1311) (GH: #1482) |
668 | + - esm: create static files to pin packages from esm-infra and esm-apps with |
669 | + higher priority (GH: #2580) |
670 | + - disable: |
671 | + + (experimental) add the --purge flag to the disable command, so users |
672 | + can remove all service related packages when disabling a service |
673 | + + show extra warnings when kernels are involved in the purge operation |
674 | + - files: Reduce race window when creating new files (LP: #2024204) |
675 | + - fips: add support to Jammy to prepare for when it is available |
676 | + - fips-preview: |
677 | + + add fips-preview as a new entitlement |
678 | + - github: add issue templates (GH: #2646) |
679 | + - internationalization: |
680 | + + add general internationalization support and templates |
681 | + + add initial sentence set for Brazilian Portuguese |
682 | + - logging: |
683 | + + add journald logging for the daemon and systemd timer |
684 | + + remove daemon and timer log files |
685 | + + standardize the logging calls through the codebase (GH: #2632) |
686 | + - systemd: change ubuntu-advantage.service type from 'notify' to 'simple', |
687 | + dropping the dependency on python3-systemd (LP: #2038417) (GH: #2692) |
688 | + - tests: |
689 | + + add scenarios where cloud-init is present but disabled (LP: #1938208) |
690 | + + change 'permission' to 'priority' when checking apt priority in tests |
691 | + (GH: #2719) |
692 | + |
693 | + -- Renan Rodrigo <renanrodrigo@canonical.com> Tue, 07 Nov 2023 08:35:37 -0300 |
694 | + |
695 | ubuntu-advantage-tools (29.4) mantic; urgency=medium |
696 | |
697 | * esm: remove static config file that pin packages from esm-infra |
698 | diff --git a/debian/control b/debian/control |
699 | index 51f0549..e747391 100644 |
700 | --- a/debian/control |
701 | +++ b/debian/control |
702 | @@ -15,6 +15,7 @@ Build-Depends: bash-completion, |
703 | gettext, |
704 | git, |
705 | libapt-pkg-dev, |
706 | + python3-apt, |
707 | libjson-c-dev, |
708 | libboost-test-dev, |
709 | po-debconf, |
710 | @@ -38,6 +39,7 @@ Depends: ${misc:Depends}, |
711 | python3-apt, |
712 | python3-pkg-resources, |
713 | ${extra:Depends} |
714 | +Recommends: ubuntu-pro-client-l10n |
715 | Description: management tools for Ubuntu Pro |
716 | Ubuntu Pro is the professional package of tooling, technology |
717 | and expertise from Canonical, helping organisations around the world |
718 | @@ -46,6 +48,13 @@ Description: management tools for Ubuntu Pro |
719 | Subscribers to Ubuntu Pro will find helpful tools for accessing |
720 | services in this package. |
721 | |
722 | +Package: ubuntu-pro-client-l10n |
723 | +Architecture: any |
724 | +Depends: ${misc:Depends}, ubuntu-advantage-tools (>=30~) |
725 | +Description: Translations for Ubuntu Pro Client |
726 | + This package delivers translations of Ubuntu Pro Client for various |
727 | + languages. |
728 | + |
729 | Package: ubuntu-advantage-pro |
730 | Architecture: all |
731 | Depends: ${misc:Depends}, ubuntu-advantage-tools (>=20.2) |
732 | diff --git a/debian/po/Makefile b/debian/po/Makefile |
733 | new file mode 100644 |
734 | index 0000000..a1a72db |
735 | --- /dev/null |
736 | +++ b/debian/po/Makefile |
737 | @@ -0,0 +1,10 @@ |
738 | +all: build |
739 | + |
740 | +POS=$(wildcard *.po) |
741 | +MOS=$(POS:.po=.mo) |
742 | + |
743 | +%.mo: %.po |
744 | + mkdir -p usr/share/locale/$*/LC_MESSAGES |
745 | + msgfmt --check-format $< -o usr/share/locale/$*/LC_MESSAGES/ubuntu-pro.mo |
746 | + |
747 | +build: $(MOS) |
748 | diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in |
749 | index 986f7cc..71d0224 100644 |
750 | --- a/debian/po/POTFILES.in |
751 | +++ b/debian/po/POTFILES.in |
752 | @@ -1 +1,3 @@ |
753 | +../apt-hook/json-hook.cc |
754 | [type: gettext/rfc822deb] ubuntu-advantage-tools.templates |
755 | +../uaclient/messages/__init__.py |
756 | diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po |
757 | new file mode 100644 |
758 | index 0000000..ddec174 |
759 | --- /dev/null |
760 | +++ b/debian/po/pt_BR.po |
761 | @@ -0,0 +1,3428 @@ |
762 | +# Portuguese translations for ubuntu-advantage-tools package. |
763 | +# Copyright (C) 2023 THE PACKAGE'S COPYRIGHT HOLDER |
764 | +# This file is distributed under the same license as the ubuntu-advantage-tools package. |
765 | +# Lucas Moura <lucas.moura@canonical.com>, 2023. |
766 | +# |
767 | +msgid "" |
768 | +msgstr "" |
769 | +"Project-Id-Version: PACKAGE VERSION\n" |
770 | +"Report-Msgid-Bugs-To: \n" |
771 | +"POT-Creation-Date: 2023-10-27 11:01-0400\n" |
772 | +"PO-Revision-Date: 2023-09-25 12:29-0400\n" |
773 | +"Last-Translator: Lucas Moura <lucas.moura@canonical.com>\n" |
774 | +"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." |
775 | +"net>\n" |
776 | +"Language: pt_BR\n" |
777 | +"MIME-Version: 1.0\n" |
778 | +"Content-Type: text/plain; charset=UTF-8\n" |
779 | +"Content-Transfer-Encoding: 8bit\n" |
780 | +"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
781 | + |
782 | +#: ../../apt-hook/json-hook.cc:159 |
783 | +msgid "1 standard LTS security update" |
784 | +msgstr "1 atualização de segurança de LTS" |
785 | + |
786 | +#: ../../apt-hook/json-hook.cc:164 |
787 | +#, c-format |
788 | +msgid "%lu standard LTS security updates" |
789 | +msgstr "%lu atualizações de segurança de LTS" |
790 | + |
791 | +#: ../../apt-hook/json-hook.cc:171 |
792 | +msgid "1 esm-infra security update" |
793 | +msgstr "1 atualização de segurança do esm-infra" |
794 | + |
795 | +#: ../../apt-hook/json-hook.cc:173 |
796 | +msgid "1 standard LTS security update and 1 esm-infra security update" |
797 | +msgstr "" |
798 | +"1 atualização de segurança de LTS e 1 atualização de segurança do esm-infra" |
799 | + |
800 | +#: ../../apt-hook/json-hook.cc:178 |
801 | +#, c-format |
802 | +msgid "%lu standard LTS security updates and 1 esm-infra security update" |
803 | +msgstr "" |
804 | +"%lu atualizações de segurança de LTS e 1 atualização de segurança do esm-" |
805 | +"infra" |
806 | + |
807 | +#: ../../apt-hook/json-hook.cc:188 |
808 | +#, c-format |
809 | +msgid "%lu esm-infra security updates" |
810 | +msgstr "%lu atualizações de segurança do esm-infra" |
811 | + |
812 | +#: ../../apt-hook/json-hook.cc:196 |
813 | +#, c-format |
814 | +msgid "1 standard LTS security update and %lu esm-infra security updates" |
815 | +msgstr "" |
816 | +"1 atualização de segurança de LTS e %lu atualizações de segurança do esm-" |
817 | +"infra" |
818 | + |
819 | +#: ../../apt-hook/json-hook.cc:204 |
820 | +#, c-format |
821 | +msgid "%lu standard LTS security updates and %lu esm-infra security updates" |
822 | +msgstr "" |
823 | +"%lu atualizações de segurança de LTS e %lu atualizações de segurança do esm-" |
824 | +"infra" |
825 | + |
826 | +#: ../../apt-hook/json-hook.cc:214 |
827 | +msgid "1 esm-apps security update" |
828 | +msgstr "1 atualização de segurança do esm-apps" |
829 | + |
830 | +#: ../../apt-hook/json-hook.cc:216 |
831 | +msgid "1 standard LTS security update and 1 esm-apps security update" |
832 | +msgstr "" |
833 | +"1 atualização de segurança de LTS e 1 atualização de segurança do esm-apps" |
834 | + |
835 | +#: ../../apt-hook/json-hook.cc:221 |
836 | +#, c-format |
837 | +msgid "%lu standard LTS security updates and 1 esm-apps security update" |
838 | +msgstr "" |
839 | +"%lu atualizações de segurança de LTS e 1 atualização de segurança do esm-apps" |
840 | + |
841 | +#: ../../apt-hook/json-hook.cc:228 |
842 | +msgid "1 esm-infra security update and 1 esm-apps security update" |
843 | +msgstr "" |
844 | +"1 atualização de segurança do esm-infra e 1 atualização de segurança do esm-" |
845 | +"apps" |
846 | + |
847 | +#: ../../apt-hook/json-hook.cc:230 |
848 | +msgid "" |
849 | +"1 standard LTS security update, 1 esm-infra security update and 1 esm-apps " |
850 | +"security update" |
851 | +msgstr "" |
852 | +"1 atualização de segurança de LTS, 1 atualização de segurança do esm-infra e " |
853 | +"1 atualização de segurança do esm-apps" |
854 | + |
855 | +#: ../../apt-hook/json-hook.cc:235 |
856 | +#, c-format |
857 | +msgid "" |
858 | +"%lu standard LTS security updates, 1 esm-infra security update and 1 esm-" |
859 | +"apps security update" |
860 | +msgstr "" |
861 | +"%lu atualizações de segurança de LTS, 1 atualização de segurança do esm-" |
862 | +"infra e 1 atualização de segurança do esm-apps" |
863 | + |
864 | +#: ../../apt-hook/json-hook.cc:245 |
865 | +#, c-format |
866 | +msgid "%lu esm-infra security updates and 1 esm-apps security update" |
867 | +msgstr "" |
868 | +"%lu atualizações de segurança do esm-infra e 1 atualização de segurança do " |
869 | +"esm-apps" |
870 | + |
871 | +#: ../../apt-hook/json-hook.cc:253 |
872 | +#, c-format |
873 | +msgid "" |
874 | +"1 standard LTS security update, %lu esm-infra security updates and 1 esm-" |
875 | +"apps security update" |
876 | +msgstr "" |
877 | +"1 atualização de segurança de LTS, %lu atualizações de segurança do esm-" |
878 | +"infra e 1 atualização de segurança do esm-apps" |
879 | + |
880 | +#: ../../apt-hook/json-hook.cc:261 |
881 | +#, c-format |
882 | +msgid "" |
883 | +"%lu standard LTS security updates, %lu esm-infra security updates and 1 esm-" |
884 | +"apps security update" |
885 | +msgstr "" |
886 | +"%lu atualizações de segurança de LTS, %lu atualizações de segurança do esm-" |
887 | +"infra e 1 atualização de segurança do esm-apps" |
888 | + |
889 | +#: ../../apt-hook/json-hook.cc:274 |
890 | +#, c-format |
891 | +msgid "%lu esm-apps security updates" |
892 | +msgstr "%lu atualizações de segurança do esm-apps" |
893 | + |
894 | +#: ../../apt-hook/json-hook.cc:282 |
895 | +#, c-format |
896 | +msgid "1 standard LTS security update and %lu esm-apps security updates" |
897 | +msgstr "" |
898 | +"1 atualização de segurança de LTS e %lu atualizações de segurança do esm-apps" |
899 | + |
900 | +#: ../../apt-hook/json-hook.cc:290 |
901 | +#, c-format |
902 | +msgid "%lu standard LTS security updates and %lu esm-apps security updates" |
903 | +msgstr "" |
904 | +"%lu atualizações de segurança de LTS and %lu atualizações de segurança do " |
905 | +"esm-apps" |
906 | + |
907 | +#: ../../apt-hook/json-hook.cc:301 |
908 | +#, c-format |
909 | +msgid "1 esm-infra security update and %lu esm-apps security updates" |
910 | +msgstr "" |
911 | +"1 atualização de segurança do esm-infra e %lu atualizações de segurança do " |
912 | +"esm-apps" |
913 | + |
914 | +#: ../../apt-hook/json-hook.cc:309 |
915 | +#, c-format |
916 | +msgid "" |
917 | +"1 standard LTS security update, 1 esm-infra security update and %lu esm-apps " |
918 | +"security updates" |
919 | +msgstr "" |
920 | +"1 atualização de segurança de LTS, 1 atualização de segurança do esm-infra e " |
921 | +"%lu atualizações de segurança do esm-apps" |
922 | + |
923 | +#: ../../apt-hook/json-hook.cc:317 |
924 | +#, c-format |
925 | +msgid "" |
926 | +"%lu standard LTS security updates, 1 esm-infra security update and %lu esm-" |
927 | +"apps security updates" |
928 | +msgstr "" |
929 | +"%lu atualizações de segurança de LTS, 1 atualização de segurança de esm-" |
930 | +"infra e%lu atualizações de segurança do esm-apps" |
931 | + |
932 | +#: ../../apt-hook/json-hook.cc:328 |
933 | +#, c-format |
934 | +msgid "%lu esm-infra security updates and %lu esm-apps security updates" |
935 | +msgstr "" |
936 | +"%lu atualizações de segurança do esm-infra e %lu atualizações de segurança " |
937 | +"do esm-apps" |
938 | + |
939 | +#: ../../apt-hook/json-hook.cc:337 |
940 | +#, c-format |
941 | +msgid "" |
942 | +"1 standard LTS security update, %lu esm-infra security updates and %lu esm-" |
943 | +"apps security updates" |
944 | +msgstr "" |
945 | +"1 atualização de segurança de LTS, %lu atualizações de segurança do esm-" |
946 | +"infra e%lu atualizações de segurança do esm-apps" |
947 | + |
948 | +#: ../../apt-hook/json-hook.cc:346 |
949 | +#, c-format |
950 | +msgid "" |
951 | +"%lu standard LTS security updates, %lu esm-infra security updates and %lu " |
952 | +"esm-apps security updates" |
953 | +msgstr "" |
954 | +"%lu atualizações de segurança de LTS, %lu atualizações de segurança do esm-" |
955 | +"infra e %lu atualizações de segurança do esm-apps" |
956 | + |
957 | +#: ../../apt-hook/json-hook.cc:403 |
958 | +#, c-format |
959 | +msgid "Learn more about Ubuntu Pro for 16.04 on Azure at %s" |
960 | +msgstr "Saiba mais sobre o Ubuntu Pro para a versão 16.04 no Azure em %s" |
961 | + |
962 | +#: ../../apt-hook/json-hook.cc:412 |
963 | +#, c-format |
964 | +msgid "Learn more about Ubuntu Pro for 16.04 at %s" |
965 | +msgstr "Saiba mais sobre o Ubuntu Pro para a versão 16.04 em %s" |
966 | + |
967 | +#: ../../apt-hook/json-hook.cc:423 |
968 | +#, c-format |
969 | +msgid "Learn more about Ubuntu Pro for 18.04 on Azure at %s" |
970 | +msgstr "Saiba mais sobre o Ubuntu Pro para a versão 18.04 no Azure em %s" |
971 | + |
972 | +#: ../../apt-hook/json-hook.cc:432 |
973 | +#, c-format |
974 | +msgid "Learn more about Ubuntu Pro for 18.04 at %s" |
975 | +msgstr "Saiba mais sobre o Ubuntu Pro para a versão 18.04 em %s" |
976 | + |
977 | +#: ../../apt-hook/json-hook.cc:443 |
978 | +#, c-format |
979 | +msgid "Learn more about Ubuntu Pro on Azure at %s" |
980 | +msgstr "Saiba mais sobre o Ubuntu Pro no Azure em %s" |
981 | + |
982 | +#: ../../apt-hook/json-hook.cc:452 |
983 | +#, c-format |
984 | +msgid "Learn more about Ubuntu Pro on AWS at %s" |
985 | +msgstr "Saiba mais sobre o Ubuntu Pro na AWS em %s" |
986 | + |
987 | +#: ../../apt-hook/json-hook.cc:461 |
988 | +#, c-format |
989 | +msgid "Learn more about Ubuntu Pro on GCP at %s" |
990 | +msgstr "Saiba mais sobre o Ubuntu Pro no GCP em %s" |
991 | + |
992 | +#: ../../apt-hook/json-hook.cc:472 |
993 | +#, c-format |
994 | +msgid "Learn more about Ubuntu Pro at %s" |
995 | +msgstr "Saiba mais sobre o Ubuntu Pro em %s" |
996 | + |
997 | +#: ../../apt-hook/json-hook.cc:485 |
998 | +#, c-format |
999 | +msgid "Get another security update through Ubuntu Pro with 'esm-apps' enabled:" |
1000 | +msgid_plural "" |
1001 | +"Get more security updates through Ubuntu Pro with 'esm-apps' enabled:" |
1002 | +msgstr[0] "" |
1003 | +"Obtenha mais uma atualização de segurança através do Ubuntu Pro com 'esm-" |
1004 | +"apps' habilitado:" |
1005 | +msgstr[1] "" |
1006 | +"Obtenha mais atualizações de segurança através do Ubuntu Pro com 'esm-apps' " |
1007 | +"habilitado:" |
1008 | + |
1009 | +#: ../../apt-hook/json-hook.cc:494 |
1010 | +#, c-format |
1011 | +msgid "" |
1012 | +"The following security update requires Ubuntu Pro with 'esm-infra' enabled:" |
1013 | +msgid_plural "" |
1014 | +"The following security updates require Ubuntu Pro with 'esm-infra' enabled:" |
1015 | +msgstr[0] "" |
1016 | +"A seguinte atualização de segurança requer o Ubuntu Pro com 'esm-infra' " |
1017 | +"habilitado:" |
1018 | +msgstr[1] "" |
1019 | +"As seguintes atualizações de segurança requerem o Ubuntu Pro com 'esm-infra' " |
1020 | +"habilitado:" |
1021 | + |
1022 | +#. Description |
1023 | +#: ../ubuntu-advantage-tools.templates:3 |
1024 | +msgid "Ubuntu Pro support now requires ubuntu-advantage-pro" |
1025 | +msgstr "O suporte ao Ubuntu Pro agora requer o pacote ubuntu-advantage-pro" |
1026 | + |
1027 | +#. Description |
1028 | +#: ../ubuntu-advantage-tools.templates:3 |
1029 | +msgid "To install run the following:" |
1030 | +msgstr "Para instalar, execute:" |
1031 | + |
1032 | +#. Description |
1033 | +#: ../ubuntu-advantage-tools.templates:3 |
1034 | +msgid "sudo apt install ubuntu-advantage-pro" |
1035 | +msgstr "" |
1036 | + |
1037 | +#: ../../uaclient/messages/__init__.py:43 |
1038 | +msgid "yes" |
1039 | +msgstr "sim" |
1040 | + |
1041 | +#: ../../uaclient/messages/__init__.py:44 |
1042 | +msgid "no" |
1043 | +msgstr "não" |
1044 | + |
1045 | +#: ../../uaclient/messages/__init__.py:50 |
1046 | +msgid "Are you sure? (y/N) " |
1047 | +msgstr "Tem certeza? (y/N) " |
1048 | + |
1049 | +#: ../../uaclient/messages/__init__.py:51 |
1050 | +msgid "Do you want to proceed? (y/N) " |
1051 | +msgstr "Você quer prosseguir? (y/N) " |
1052 | + |
1053 | +#: ../../uaclient/messages/__init__.py:53 |
1054 | +msgid "Interrupt received; exiting." |
1055 | +msgstr "Sinal de interrupção recebido; saindo." |
1056 | + |
1057 | +#: ../../uaclient/messages/__init__.py:55 |
1058 | +#, python-brace-format |
1059 | +msgid "Operation in progress: {lock_holder} (pid:{pid})" |
1060 | +msgstr "Operação em andamento: {lock_holder} (pid:{pid})" |
1061 | + |
1062 | +#: ../../uaclient/messages/__init__.py:58 |
1063 | +msgid "Successfully refreshed your subscription." |
1064 | +msgstr "Sua assinatura foi atualizada com sucesso." |
1065 | + |
1066 | +#: ../../uaclient/messages/__init__.py:61 |
1067 | +msgid "Successfully processed your pro configuration." |
1068 | +msgstr "Sua configuração do pro foi processada com sucesso" |
1069 | + |
1070 | +#: ../../uaclient/messages/__init__.py:64 |
1071 | +msgid "Successfully updated Ubuntu Pro related APT and MOTD messages." |
1072 | +msgstr "" |
1073 | +"suas messagens de APT e MOTD relacionadas ao Ubuntu Pro foram atualizadas " |
1074 | +"com sucesso" |
1075 | + |
1076 | +#: ../../uaclient/messages/__init__.py:68 |
1077 | +msgid "Failed running reboot_cmds script. See: /var/log/ubuntu-advantage.log" |
1078 | +msgstr "" |
1079 | +"Falha ao executar o script reboot_cmds. Veja mais em: /var/log/ubuntu-" |
1080 | +"advantage.log" |
1081 | + |
1082 | +#: ../../uaclient/messages/__init__.py:72 |
1083 | +msgid "" |
1084 | +"APT lock is held. Ubuntu Pro configuration will wait until it is released" |
1085 | +msgstr "" |
1086 | +"O APT está ocupado. A configuração do Ubuntu Pro aguardará até que esteja " |
1087 | +"disponível." |
1088 | + |
1089 | +#: ../../uaclient/messages/__init__.py:75 |
1090 | +#, python-brace-format |
1091 | +msgid "Could not find past release for {release}" |
1092 | +msgstr "Não foi possível encontrar a versão anterior a {release}" |
1093 | + |
1094 | +#: ../../uaclient/messages/__init__.py:78 |
1095 | +msgid "Starting upgrade of Ubuntu Pro service configuration" |
1096 | +msgstr "Começando atualização das configurações de serviço do Ubuntu Pro" |
1097 | + |
1098 | +#: ../../uaclient/messages/__init__.py:81 |
1099 | +msgid "Finished upgrade of Ubuntu Pro service configuration" |
1100 | +msgstr "Atualização das configurações de serviço do Ubuntu Pro concluída" |
1101 | + |
1102 | +#: ../../uaclient/messages/__init__.py:85 |
1103 | +msgid "" |
1104 | +"Couldn't import the YAML module.\n" |
1105 | +"Make sure the 'python3-yaml' package is installed correctly\n" |
1106 | +"and /usr/lib/python3/dist-packages is in your PYTHONPATH." |
1107 | +msgstr "" |
1108 | +"Não foi possível importar o módulo YAML. Certifique-se que o pacote 'python3-" |
1109 | +"yaml' está corretamente instalada\n" |
1110 | +"e que /usr/lib/python3/dist-packages está no seu PYTHONPATH." |
1111 | + |
1112 | +#: ../../uaclient/messages/__init__.py:91 |
1113 | +#, python-brace-format |
1114 | +msgid "Error while trying to parse a yaml file using 'yaml' from {path}" |
1115 | +msgstr "Erro ao analisar um arquivo yaml usando 'yaml' em {path}" |
1116 | + |
1117 | +#: ../../uaclient/messages/__init__.py:95 |
1118 | +msgid "" |
1119 | +"snapd does not have a wait command.\n" |
1120 | +"Enabling Livepatch can fail under this scenario.\n" |
1121 | +"Please, upgrade snapd if Livepatch enable fails and try again." |
1122 | +msgstr "" |
1123 | +"snapd não tem o comando wait.\n" |
1124 | +"Habilitar o Livepatch pode falhar neste cenário.\n" |
1125 | +"Por favor, atualize o snapd caso a habilitação do Livepatch falhe e tente " |
1126 | +"novamente." |
1127 | + |
1128 | +#: ../../uaclient/messages/__init__.py:104 |
1129 | +#, python-brace-format |
1130 | +msgid "" |
1131 | +" A new version is available: {version}\n" |
1132 | +"Please run:\n" |
1133 | +" sudo apt-get install ubuntu-advantage-tools\n" |
1134 | +"to get the latest bug fixes and new features." |
1135 | +msgstr "" |
1136 | +" Uma nova versão está disponível: {version}\n" |
1137 | +"Por favor, execute:\n" |
1138 | +" sudo apt-get install ubuntu-advantage-tools\n" |
1139 | +"para obter as últimas correções de erros e novas funcionalides." |
1140 | + |
1141 | +#. ############################################################################## |
1142 | +#. GENERIC SYSTEM OPERATIONS # |
1143 | +#. ############################################################################## |
1144 | +#: ../../uaclient/messages/__init__.py:118 |
1145 | +#, python-brace-format |
1146 | +msgid "Executing `{command}`" |
1147 | +msgstr "Executando `{command}`" |
1148 | + |
1149 | +#: ../../uaclient/messages/__init__.py:119 |
1150 | +#, python-brace-format |
1151 | +msgid "Executing `{command}` failed." |
1152 | +msgstr "O comando `{command}` falhou" |
1153 | + |
1154 | +#: ../../uaclient/messages/__init__.py:120 |
1155 | +#, python-brace-format |
1156 | +msgid "Invalid command specified '{cmd}'." |
1157 | +msgstr "Comando inválido especificado: {cmd}" |
1158 | + |
1159 | +#: ../../uaclient/messages/__init__.py:122 |
1160 | +#, python-brace-format |
1161 | +msgid "Failed running command '{cmd}' [exit({exit_code})]. Message: {stderr}" |
1162 | +msgstr "" |
1163 | +"Falha ao executar comando '{cmd}' [exit({exit_code})]. Mensagem: {stderr}" |
1164 | + |
1165 | +#: ../../uaclient/messages/__init__.py:125 |
1166 | +#, python-brace-format |
1167 | +msgid "Installing {packages}" |
1168 | +msgstr "Instalando {packages}" |
1169 | + |
1170 | +#: ../../uaclient/messages/__init__.py:126 |
1171 | +#, python-brace-format |
1172 | +msgid "Installing {title} packages" |
1173 | +msgstr "Instalando pacotes do {title}" |
1174 | + |
1175 | +#: ../../uaclient/messages/__init__.py:127 |
1176 | +msgid "Installing required snaps" |
1177 | +msgstr "Instalando snaps necessários" |
1178 | + |
1179 | +#: ../../uaclient/messages/__init__.py:129 |
1180 | +#, python-brace-format |
1181 | +msgid "Installing required snap: {snap}" |
1182 | +msgstr "Instalando snap necessário: {snap}" |
1183 | + |
1184 | +#: ../../uaclient/messages/__init__.py:132 |
1185 | +#, python-brace-format |
1186 | +msgid "Skipping installing packages: {packages}" |
1187 | +msgstr "Não instalando os pacotes: {packages}" |
1188 | + |
1189 | +#: ../../uaclient/messages/__init__.py:134 |
1190 | +#, python-brace-format |
1191 | +msgid "Uninstalling {packages}" |
1192 | +msgstr "Desinstalando {packages}" |
1193 | + |
1194 | +#: ../../uaclient/messages/__init__.py:136 |
1195 | +#, python-brace-format |
1196 | +msgid "Failure when uninstalling {packages}" |
1197 | +msgstr "Falha ao desinstalar {packages}" |
1198 | + |
1199 | +#: ../../uaclient/messages/__init__.py:139 |
1200 | +#, python-brace-format |
1201 | +msgid "Cannot install package {package} version {version}" |
1202 | +msgstr "Não foi possível instalar o pacote {package} versão {version}" |
1203 | + |
1204 | +#: ../../uaclient/messages/__init__.py:142 |
1205 | +msgid "Failure checking APT policy." |
1206 | +msgstr "Falha ao verificar 'APT policy'" |
1207 | + |
1208 | +#: ../../uaclient/messages/__init__.py:143 |
1209 | +msgid "Updating package lists" |
1210 | +msgstr "Atualizando lista de pacotes" |
1211 | + |
1212 | +#: ../../uaclient/messages/__init__.py:144 |
1213 | +#, python-brace-format |
1214 | +msgid "Updating {name} package lists" |
1215 | +msgstr "Atualizando lista de pacotes: {name}" |
1216 | + |
1217 | +#: ../../uaclient/messages/__init__.py:145 |
1218 | +msgid "APT update failed." |
1219 | +msgstr "APT update falhou" |
1220 | + |
1221 | +#: ../../uaclient/messages/__init__.py:146 |
1222 | +msgid "APT install failed." |
1223 | +msgstr "APT install falhou" |
1224 | + |
1225 | +#: ../../uaclient/messages/__init__.py:148 |
1226 | +#, python-brace-format |
1227 | +msgid "Backing up {original} as {backup}" |
1228 | +msgstr "Salvando {original} como {backup}" |
1229 | + |
1230 | +#: ../../uaclient/messages/__init__.py:149 |
1231 | +msgid "The following package(s) will be REMOVED:" |
1232 | +msgstr "" |
1233 | + |
1234 | +#: ../../uaclient/messages/__init__.py:151 |
1235 | +msgid "The following package(s) will be reinstalled from the archive:" |
1236 | +msgstr "O(s) pacote(s) à seguir serão reinstalados:" |
1237 | + |
1238 | +#: ../../uaclient/messages/__init__.py:162 |
1239 | +#, python-brace-format |
1240 | +msgid "" |
1241 | +"*Your Ubuntu Pro subscription has EXPIRED*\n" |
1242 | +"{{pkg_num}} additional security update(s) require Ubuntu Pro with " |
1243 | +"'{{service}}' enabled.\n" |
1244 | +"Renew your service at {url}" |
1245 | +msgid_plural "" |
1246 | +"*Your Ubuntu Pro subscription has EXPIRED*\n" |
1247 | +"{{pkg_num}} additional security update(s) require Ubuntu Pro with " |
1248 | +"'{{service}}' enabled.\n" |
1249 | +"Renew your service at {url}" |
1250 | +msgstr[0] "" |
1251 | +"*Sua assinatura do Ubuntu Pro EXPIROU*\n" |
1252 | +"{{pkg_num}} atualização de segurança necessitam do ubuntu Pro com " |
1253 | +"'{{service}}' habilitado.\n" |
1254 | +"Renove sua assinatura em {url}" |
1255 | +msgstr[1] "" |
1256 | +"*Sua assinatura do Ubuntu Pro EXPIROU*\n" |
1257 | +"{{pkg_num}} atualizações de segurança necessitam do ubuntu Pro com " |
1258 | +"'{{service}}' habilitado.\n" |
1259 | +"Renove sua assinatura em {url}" |
1260 | + |
1261 | +#: ../../uaclient/messages/__init__.py:175 |
1262 | +#, python-brace-format |
1263 | +msgid "" |
1264 | +"CAUTION: Your Ubuntu Pro subscription will expire in {{remaining_days}} " |
1265 | +"day.\n" |
1266 | +"Renew your subscription at {url} to ensure\n" |
1267 | +"continued security coverage for your applications." |
1268 | +msgid_plural "" |
1269 | +"CAUTION: Your Ubuntu Pro subscription will expire in {{remaining_days}} " |
1270 | +"days.\n" |
1271 | +"Renew your subscription at {url} to ensure\n" |
1272 | +"continued security coverage for your applications." |
1273 | +msgstr[0] "" |
1274 | +"ATENÇÃO: Sua assinatura do Ubuntu Pro irá expirar em {{remaining_days}} " |
1275 | +"dias.\n" |
1276 | +"Renove sua assinatura em {url} para garantir a\n" |
1277 | +"continuidade da cobertura de segurança para suas aplicações." |
1278 | +msgstr[1] "" |
1279 | +"ATENÇÃO: Sua assinatura do Ubuntu Pro irá expirar em {{remaining_days}} " |
1280 | +"dias.\n" |
1281 | +"Renove sua assinatura em {url} para garantir a\n" |
1282 | +"continuidade da cobertura de segurança para suas aplicações." |
1283 | + |
1284 | +#: ../../uaclient/messages/__init__.py:188 |
1285 | +#, python-brace-format |
1286 | +msgid "" |
1287 | +"CAUTION: Your Ubuntu Pro subscription expired on {{expired_date}}.\n" |
1288 | +"Renew your subscription at {url} to ensure\n" |
1289 | +"continued security coverage for your applications.\n" |
1290 | +"Your grace period will expire in {{remaining_days}} day." |
1291 | +msgid_plural "" |
1292 | +"CAUTION: Your Ubuntu Pro subscription expired on {{expired_date}}.\n" |
1293 | +"Renew your subscription at {url} to ensure\n" |
1294 | +"continued security coverage for your applications.\n" |
1295 | +"Your grace period will expire in {{remaining_days}} days." |
1296 | +msgstr[0] "" |
1297 | +"ATENÇÃO: sua assinatura do Ubuntu Pro expirou em {{expired_date}}.\n" |
1298 | +"Renove sua assinatura em {url} para garantir a\n" |
1299 | +"continuidade da cobertura de segurança para suas aplicações. Seu período de " |
1300 | +"carência vai expirar em {{remaining_days}} dias" |
1301 | +msgstr[1] "" |
1302 | +"ATENÇÃO: sua assinatura do Ubuntu Pro expirou em {{expired_date}}.\n" |
1303 | +"Renove sua assinatura em {url} para garantir a\n" |
1304 | +"continuidade da cobertura de segurança para suas aplicações. Seu período de " |
1305 | +"carência vai expirar em {{remaining_days}} dias" |
1306 | + |
1307 | +#: ../../uaclient/messages/__init__.py:202 |
1308 | +#, python-brace-format |
1309 | +msgid "" |
1310 | +"*Your Ubuntu Pro subscription has EXPIRED*\n" |
1311 | +"Renew your service at {url}" |
1312 | +msgstr "" |
1313 | +"*Sua assinatura do Ubuntu PRO EXPIROU*\n" |
1314 | +"Renove sua assinatura em {url}" |
1315 | + |
1316 | +#. ############################################################################## |
1317 | +#. CONFIGURATION # |
1318 | +#. ############################################################################## |
1319 | +#: ../../uaclient/messages/__init__.py:213 |
1320 | +#, python-brace-format |
1321 | +msgid "Setting {service} proxy" |
1322 | +msgstr "Definindo proxy para {service}" |
1323 | + |
1324 | +#: ../../uaclient/messages/__init__.py:215 |
1325 | +#, python-brace-format |
1326 | +msgid "" |
1327 | +"No proxy set in config; however, proxy is configured for: {{services}}.\n" |
1328 | +"See {url} for more information on pro proxy configuration.\n" |
1329 | +msgstr "" |
1330 | +"Nenhum proxy configurado; entrentato, um proxy está configurado para: " |
1331 | +"{{services}}.\n" |
1332 | +"Veja {url} para mais informações sobre configuração de proxy no pro.\n" |
1333 | + |
1334 | +#: ../../uaclient/messages/__init__.py:220 |
1335 | +#, python-brace-format |
1336 | +msgid "Setting {scope} APT proxy" |
1337 | +msgstr "Configurando APT proxy {scope}" |
1338 | + |
1339 | +#: ../../uaclient/messages/__init__.py:222 |
1340 | +msgid "" |
1341 | +"\n" |
1342 | +"Error: Setting global apt proxy and pro scoped apt proxy at the same time is " |
1343 | +"unsupported. No apt proxy is set." |
1344 | +msgstr "" |
1345 | +"\n" |
1346 | +"Erro: A definição do proxy apt em escopo global e no escopo 'pro' ao mesmo " |
1347 | +"tempo não é suportada. Nenhum proxy apt alterado." |
1348 | + |
1349 | +#: ../../uaclient/messages/__init__.py:226 |
1350 | +#, python-brace-format |
1351 | +msgid "Warning: {old} has been renamed to {new}." |
1352 | +msgstr "Atenção: {old} foi renomeado para {new}." |
1353 | + |
1354 | +#: ../../uaclient/messages/__init__.py:230 |
1355 | +#, python-brace-format |
1356 | +msgid "" |
1357 | +"Warning: Setting the {current_proxy} proxy will overwrite the " |
1358 | +"{previous_proxy}\n" |
1359 | +"proxy previously set via `pro config`.\n" |
1360 | +msgstr "" |
1361 | +"Atenção: Definir o proxy {current_proxy} irá sobrescrever o proxy " |
1362 | +"{previous_proxy},\n" |
1363 | +"previamente definido via `pro config`.\n" |
1364 | + |
1365 | +#: ../../uaclient/messages/__init__.py:236 |
1366 | +#, python-brace-format |
1367 | +msgid "" |
1368 | +"Using deprecated \"{old}\" config field.\n" |
1369 | +"Please migrate to using \"{new}\"\n" |
1370 | +msgstr "" |
1371 | + |
1372 | +#: ../../uaclient/messages/__init__.py:243 |
1373 | +msgid "Migrating /etc/ubuntu-advantage/uaclient.conf" |
1374 | +msgstr "Migrando /etc/ubuntu-advantage/uaclient.conf" |
1375 | + |
1376 | +#: ../../uaclient/messages/__init__.py:246 |
1377 | +msgid "" |
1378 | +"Warning: Failed to load /etc/ubuntu-advantage/uaclient.conf.preinst-backup\n" |
1379 | +" No automatic migration will occur.\n" |
1380 | +" You may need to use \"pro config set\" to re-set your settings." |
1381 | +msgstr "" |
1382 | +"Atenção: Falha ao ler /etc/ubuntu-advantage/uaclient.conf.preinst-backup\n" |
1383 | +" Nenhuma migração automática irá ocorrer.\n" |
1384 | +" Você talvez precise do comando \"pro config set\" para resetar suas " |
1385 | +"configurações." |
1386 | + |
1387 | +#: ../../uaclient/messages/__init__.py:253 |
1388 | +msgid "" |
1389 | +"Warning: Failed to migrate user_config from /etc/ubuntu-advantage/uaclient." |
1390 | +"conf\n" |
1391 | +" Please run the following to keep your custom settings:" |
1392 | +msgstr "" |
1393 | +"Atenção: Falha ao migrar configuração de usuário de /etc/ubuntu-advantage/" |
1394 | +"uaclient.conf\n" |
1395 | +" Por favor, execute os seguintes comandos para manter sua " |
1396 | +"configuração atual:" |
1397 | + |
1398 | +#: ../../uaclient/messages/__init__.py:259 |
1399 | +msgid "" |
1400 | +"Warning: Failed to migrate /etc/ubuntu-advantage/uaclient.conf\n" |
1401 | +" Please add following to uaclient.conf to keep your config:" |
1402 | +msgstr "" |
1403 | +"Atenção: Falha ao migrar /etc/ubuntu-advantage/uaclient.conf\n" |
1404 | +" Adicione o seguinte conteúdo a uaclient.conf para manter sua " |
1405 | +"configuração:" |
1406 | + |
1407 | +#: ../../uaclient/messages/__init__.py:272 |
1408 | +msgid "" |
1409 | +"Currently attempting to automatically attach this machine to Ubuntu Pro " |
1410 | +"services" |
1411 | +msgstr "" |
1412 | +"Tentando agora vincular automaticamente essa máquina aos serviços do Ubuntu " |
1413 | +"Pro" |
1414 | + |
1415 | +#: ../../uaclient/messages/__init__.py:276 |
1416 | +#, python-brace-format |
1417 | +msgid "This machine is now attached to '{contract_name}'\n" |
1418 | +msgstr "Esta máquina está agora vinculada a '{contract_name}'\n" |
1419 | + |
1420 | +#: ../../uaclient/messages/__init__.py:281 |
1421 | +msgid "This machine is now successfully attached'\n" |
1422 | +msgstr "Esta máquina foi vinculada com sucesso\n" |
1423 | + |
1424 | +#: ../../uaclient/messages/__init__.py:285 |
1425 | +#, python-brace-format |
1426 | +msgid "Enabling default service {name}" |
1427 | +msgstr "Habilitando serviço {name}" |
1428 | + |
1429 | +#: ../../uaclient/messages/__init__.py:287 |
1430 | +#, python-brace-format |
1431 | +msgid "Service {name} is recommended by default. Run: sudo pro enable {name}" |
1432 | +msgstr "" |
1433 | +"O serviço {name} é recomendado por padrão. Execute: sudo pro enable {name}" |
1434 | + |
1435 | +#: ../../uaclient/messages/__init__.py:290 |
1436 | +msgid "Initiating attach operation..." |
1437 | +msgstr "Começando a operação de vínculo..." |
1438 | + |
1439 | +#: ../../uaclient/messages/__init__.py:291 |
1440 | +msgid "Failed to perform attach..." |
1441 | +msgstr "Falha ao vincular" |
1442 | + |
1443 | +#: ../../uaclient/messages/__init__.py:293 |
1444 | +#, python-brace-format |
1445 | +msgid "" |
1446 | +"Please sign in to your Ubuntu Pro account at this link:\n" |
1447 | +"{url}\n" |
1448 | +"And provide the following code: {bold}{{user_code}}{end_bold}" |
1449 | +msgstr "" |
1450 | +"Por favor, entre na sua conta do Ubuntu Pro neste link:\n" |
1451 | +"{url}\n" |
1452 | +"E forneça o código: {bold}{{user_code}}{end_bold}" |
1453 | + |
1454 | +#: ../../uaclient/messages/__init__.py:302 |
1455 | +msgid "Attaching the machine..." |
1456 | +msgstr "Vinculando a máquina..." |
1457 | + |
1458 | +#: ../../uaclient/messages/__init__.py:307 |
1459 | +msgid "Detach will disable the following service:" |
1460 | +msgid_plural "Detach will disable the following services:" |
1461 | +msgstr[0] "Desvincular vai desabilitar o serviço:" |
1462 | +msgstr[1] "Desvincular vai desabilitar os serviços:" |
1463 | + |
1464 | +#: ../../uaclient/messages/__init__.py:312 |
1465 | +msgid "This machine is now detached." |
1466 | +msgstr "Esta máquina está desvinculada" |
1467 | + |
1468 | +#: ../../uaclient/messages/__init__.py:316 |
1469 | +msgid "One moment, checking your subscription first" |
1470 | +msgstr "Um momento, checando a sua assinatura" |
1471 | + |
1472 | +#: ../../uaclient/messages/__init__.py:318 |
1473 | +#, python-brace-format |
1474 | +msgid "{title} enabled" |
1475 | +msgstr "{title} habilitado" |
1476 | + |
1477 | +#: ../../uaclient/messages/__init__.py:319 |
1478 | +#, python-brace-format |
1479 | +msgid "{title} access enabled" |
1480 | +msgstr "acesso habilitado para {title}" |
1481 | + |
1482 | +#: ../../uaclient/messages/__init__.py:320 |
1483 | +#, python-brace-format |
1484 | +msgid "Could not enable {title}." |
1485 | +msgstr "Não foi possível habilitar {title}" |
1486 | + |
1487 | +#: ../../uaclient/messages/__init__.py:322 |
1488 | +#, python-brace-format |
1489 | +msgid "" |
1490 | +"{service_being_enabled} cannot be enabled with {incompatible_service}.\n" |
1491 | +"Disable {incompatible_service} and proceed to enable " |
1492 | +"{service_being_enabled}? (y/N) " |
1493 | +msgstr "" |
1494 | +"{service_being_enabled} não pode ser habilitado ao mesmo tempo que " |
1495 | +"{incompatible_service}.\n" |
1496 | +"Desabilitar {incompatible_service} e prosseguir com a habilitação do " |
1497 | +"{service_being_enabled}? (y/N) " |
1498 | + |
1499 | +#: ../../uaclient/messages/__init__.py:328 |
1500 | +#, python-brace-format |
1501 | +msgid "Disabling incompatible service: {service}" |
1502 | +msgstr "Desabilitando serviço incompatível: {service}" |
1503 | + |
1504 | +#: ../../uaclient/messages/__init__.py:331 |
1505 | +#, python-brace-format |
1506 | +msgid "" |
1507 | +"{service_being_enabled} cannot be enabled with {required_service} disabled.\n" |
1508 | +"Enable {required_service} and proceed to enable {service_being_enabled}? (y/" |
1509 | +"N) " |
1510 | +msgstr "" |
1511 | +"{service_being_enabled} não pode ser habilitado se {required_service} " |
1512 | +"estiver desabilitado.\n" |
1513 | +"Habilitar {required_service} e prosseguir com a habilitação do " |
1514 | +"{service_being_enabled}? (y/N) " |
1515 | + |
1516 | +#: ../../uaclient/messages/__init__.py:336 |
1517 | +#, python-brace-format |
1518 | +msgid "Enabling required service: {service}" |
1519 | +msgstr "Habilitando serviço necessário: {service}" |
1520 | + |
1521 | +#: ../../uaclient/messages/__init__.py:338 |
1522 | +#, python-brace-format |
1523 | +msgid "A reboot is required to complete {operation}." |
1524 | +msgstr "É necessário reiniciar a máquina para completar a operação {operation}" |
1525 | + |
1526 | +#. DISABLE |
1527 | +#: ../../uaclient/messages/__init__.py:343 |
1528 | +#, python-brace-format |
1529 | +msgid "Could not disable {title}." |
1530 | +msgstr "Não foi possível desabilitar {title}." |
1531 | + |
1532 | +#: ../../uaclient/messages/__init__.py:345 |
1533 | +#, python-brace-format |
1534 | +msgid "" |
1535 | +"{dependent_service} depends on {service_being_disabled}.\n" |
1536 | +"Disable {dependent_service} and proceed to disable {service_being_disabled}? " |
1537 | +"(y/N) " |
1538 | +msgstr "" |
1539 | +"{dependent_service} depende do {service_being_disabled}.\n" |
1540 | +"Desabilitar {dependent_service} e prosseguir com a desabilitação do " |
1541 | +"{service_being_disabled}? (y/N) " |
1542 | + |
1543 | +#: ../../uaclient/messages/__init__.py:351 |
1544 | +#, python-brace-format |
1545 | +msgid "Disabling dependent service: {required_service}" |
1546 | +msgstr "Desabilitando serviço dependente: {required_service}" |
1547 | + |
1548 | +#: ../../uaclient/messages/__init__.py:354 |
1549 | +#, python-brace-format |
1550 | +msgid "Removing apt source file: {filename}" |
1551 | +msgstr "Removendo arquivo do apt: {filename}" |
1552 | + |
1553 | +#: ../../uaclient/messages/__init__.py:356 |
1554 | +#, python-brace-format |
1555 | +msgid "Removing apt preferences file: {filename}" |
1556 | +msgstr "Removendo arquivo de preferência do apt: {filename}" |
1557 | + |
1558 | +#: ../../uaclient/messages/__init__.py:361 |
1559 | +msgid "(The --purge flag is still experimental - use with caution)" |
1560 | +msgstr "" |
1561 | + |
1562 | +#: ../../uaclient/messages/__init__.py:364 |
1563 | +#, python-brace-format |
1564 | +msgid "Purging the {service} packages would uninstall the following kernel(s):" |
1565 | +msgstr "" |
1566 | + |
1567 | +#: ../../uaclient/messages/__init__.py:367 |
1568 | +#, python-brace-format |
1569 | +msgid "{kernel_version} is the current running kernel." |
1570 | +msgstr "" |
1571 | + |
1572 | +#: ../../uaclient/messages/__init__.py:370 |
1573 | +msgid "" |
1574 | +"No other valid Ubuntu kernel was found in the system.\n" |
1575 | +"Removing the package would potentially make the system unbootable.\n" |
1576 | +"Aborting.\n" |
1577 | +msgstr "" |
1578 | + |
1579 | +#: ../../uaclient/messages/__init__.py:377 |
1580 | +msgid "" |
1581 | +"If you cannot guarantee that other kernels in this system are bootable and\n" |
1582 | +"working properly, *do not proceed*. You may end up with an unbootable " |
1583 | +"system.\n" |
1584 | +msgstr "" |
1585 | + |
1586 | +#: ../../uaclient/messages/__init__.py:386 |
1587 | +#, python-brace-format |
1588 | +msgid "" |
1589 | +"Failed to automatically attach to Ubuntu Pro services {num_attempts} " |
1590 | +"time(s).\n" |
1591 | +"The failure was due to: {reason}.\n" |
1592 | +"The next attempt is scheduled for {next_run_datestring}.\n" |
1593 | +"You can try manually with `sudo pro auto-attach`." |
1594 | +msgstr "" |
1595 | +"{num_attempts} falha(s) ao vincular automaticamente aos serviços do Ubuntu " |
1596 | +"Pro.\n" |
1597 | +"A falha ocorreu devido a: {reason}.\n" |
1598 | +"A próxima tentativa está agendada para {next_run_datestring}.\n" |
1599 | +"Você pode tentar manualmente executando `sudo pro auto-attach`." |
1600 | + |
1601 | +#: ../../uaclient/messages/__init__.py:394 |
1602 | +#, python-brace-format |
1603 | +msgid "" |
1604 | +"Failed to automatically attach to Ubuntu Pro services {num_attempts} " |
1605 | +"time(s).\n" |
1606 | +"The most recent failure was due to: {reason}.\n" |
1607 | +"Try re-launching the instance or report this issue by running `ubuntu-bug " |
1608 | +"ubuntu-advantage-tools`\n" |
1609 | +"You can try manually with `sudo pro auto-attach`." |
1610 | +msgstr "" |
1611 | +"{num_attempts} falha(s) ao vincular automaticamente aos serviços do Ubuntu " |
1612 | +"Pro.\n" |
1613 | +"A falha mais recente ocorreu devido a: {reason}.\n" |
1614 | +"Tenter criar uma nova instância ou reporte esse problema executando `ubuntu-" |
1615 | +"bug ubuntu-advantage-tools`\n" |
1616 | +"Você pode tentar manualmente executando `sudo pro auto-attach`." |
1617 | + |
1618 | +#: ../../uaclient/messages/__init__.py:402 |
1619 | +#, python-brace-format |
1620 | +msgid "" |
1621 | +"Canonical servers did not recognize this machine as Ubuntu Pro: \"{detail}\"" |
1622 | +msgstr "" |
1623 | +"Os servidores da Canonical não reconheceram essa máquina como sendo " |
1624 | +"associada ao Ubuntu Pro: \"{detail}\"" |
1625 | + |
1626 | +#: ../../uaclient/messages/__init__.py:406 |
1627 | +msgid "Canonical servers did not recognize this image as Ubuntu Pro" |
1628 | +msgstr "" |
1629 | +"Os servidores da Canonical não reconheceram essa imagem como sendo associada " |
1630 | +"ao Ubuntu Pro" |
1631 | + |
1632 | +#: ../../uaclient/messages/__init__.py:408 |
1633 | +#, python-brace-format |
1634 | +msgid "the pro lock was held by pid {pid}" |
1635 | +msgstr "A lock do pro está sendo mantida pelo pid {pid}" |
1636 | + |
1637 | +#: ../../uaclient/messages/__init__.py:410 |
1638 | +#, python-brace-format |
1639 | +msgid "an error from Canonical servers: \"{error_msg}\"" |
1640 | +msgstr "um erro dos servidores da Canonical: \"{error_msg}\"" |
1641 | + |
1642 | +#: ../../uaclient/messages/__init__.py:412 |
1643 | +msgid "a connectivity error" |
1644 | +msgstr "um erro de conexão" |
1645 | + |
1646 | +#: ../../uaclient/messages/__init__.py:413 |
1647 | +#, python-brace-format |
1648 | +msgid "an error while reaching {url}" |
1649 | +msgstr "um error ao acessar {url}" |
1650 | + |
1651 | +#: ../../uaclient/messages/__init__.py:414 |
1652 | +msgid "an unknown error" |
1653 | +msgstr "um erro desconhecido" |
1654 | + |
1655 | +#: ../../uaclient/messages/__init__.py:418 |
1656 | +#, python-brace-format |
1657 | +msgid "Due to contract refresh, '{service}' is now disabled." |
1658 | +msgstr "Devido à atualização de contrato, '{service}' está agora desabilitado" |
1659 | + |
1660 | +#: ../../uaclient/messages/__init__.py:421 |
1661 | +#, python-brace-format |
1662 | +msgid "" |
1663 | +"Unable to disable '{service}' as recommended during contract refresh. " |
1664 | +"Service is still active. See `pro status`" |
1665 | +msgstr "" |
1666 | +"Falha ao desabilitar '{service}' conforme esperado após atualização do seu " |
1667 | +"contrato. O serviço ainda está ativo. Execute `pro status` para confirmar" |
1668 | + |
1669 | +#: ../../uaclient/messages/__init__.py:426 |
1670 | +#, python-brace-format |
1671 | +msgid "Updating '{service}' on changed directives." |
1672 | +msgstr "Atualizando '{service}' baseado nas novas diretivas" |
1673 | + |
1674 | +#: ../../uaclient/messages/__init__.py:429 |
1675 | +#, python-brace-format |
1676 | +msgid "Updating '{service}' apt sources list on changed directives." |
1677 | +msgstr "" |
1678 | +"Atualizando a lista de apt sources do '{service}' baseado nas novas diretivas" |
1679 | + |
1680 | +#: ../../uaclient/messages/__init__.py:432 |
1681 | +#, python-brace-format |
1682 | +msgid "Installing packages on changed directives: {packages}" |
1683 | +msgstr "Instalando pacotes baseado nas novas diretivas: {packages}" |
1684 | + |
1685 | +#: ../../uaclient/messages/__init__.py:442 |
1686 | +#, python-brace-format |
1687 | +msgid "Choose: [S]ubscribe at {url} [A]ttach existing token [C]ancel" |
1688 | +msgstr "" |
1689 | +"Escolha: [S] para vincular através de {url}; [A] para vincular usando um " |
1690 | +"token existente; [C] para cancelar:" |
1691 | + |
1692 | +#: ../../uaclient/messages/__init__.py:446 |
1693 | +#, python-brace-format |
1694 | +msgid "Choose: [E]nable {service} [C]ancel" |
1695 | +msgstr "Escolha: [E] para habilitar {service}; [C] para cancelar:" |
1696 | + |
1697 | +#: ../../uaclient/messages/__init__.py:450 |
1698 | +#, python-brace-format |
1699 | +msgid "Choose: [R]enew your subscription (at {url}) [C]ancel" |
1700 | +msgstr "Escolha: [R]enovar sua assinatura (em {url}); [C]ancelar" |
1701 | + |
1702 | +#: ../../uaclient/messages/__init__.py:453 |
1703 | +#, python-brace-format |
1704 | +msgid "A fix is available in {fix_stream}." |
1705 | +msgstr "Uma solução está disponível em {fix_stream}." |
1706 | + |
1707 | +#: ../../uaclient/messages/__init__.py:454 |
1708 | +msgid "The update is not yet installed." |
1709 | +msgstr "A atualização ainda não está instalada" |
1710 | + |
1711 | +#: ../../uaclient/messages/__init__.py:456 |
1712 | +msgid "" |
1713 | +"The update is not installed because this system is not attached to a\n" |
1714 | +"subscription.\n" |
1715 | +msgstr "" |
1716 | +"A atualização não pode ser instalada porque o sistema não está vinculado a\n" |
1717 | +"uma assinatura.\n" |
1718 | + |
1719 | +#: ../../uaclient/messages/__init__.py:462 |
1720 | +msgid "" |
1721 | +"The update is not installed because this system is attached to an\n" |
1722 | +"expired subscription.\n" |
1723 | +msgstr "" |
1724 | +"A atualização não pode ser instalada porque o sistema está vinculado a uma\n" |
1725 | +"assinatura vencida.\n" |
1726 | + |
1727 | +#: ../../uaclient/messages/__init__.py:468 |
1728 | +#, python-brace-format |
1729 | +msgid "" |
1730 | +"The update is not installed because this system does not have\n" |
1731 | +"{service} enabled.\n" |
1732 | +msgstr "" |
1733 | +"A atualização não pode ser instalada porque o sistema não tem o serviço " |
1734 | +"{service}\n" |
1735 | +"habilitado.\n" |
1736 | + |
1737 | +#: ../../uaclient/messages/__init__.py:473 |
1738 | +msgid "The update is already installed." |
1739 | +msgstr "A atualização já está instalada." |
1740 | + |
1741 | +#: ../../uaclient/messages/__init__.py:475 |
1742 | +#, python-brace-format |
1743 | +msgid "" |
1744 | +"For easiest security on {title}, use Ubuntu Pro instances.\n" |
1745 | +"Learn more at {cloud_specific_url}" |
1746 | +msgstr "" |
1747 | +"Para segurança de forma mais conveniente no(a) {title}, use instâncias " |
1748 | +"Ubuntu Pro.\n" |
1749 | +"Aprenda mais em {cloud_specific_url}" |
1750 | + |
1751 | +#: ../../uaclient/messages/__init__.py:480 |
1752 | +msgid "requested" |
1753 | +msgstr "requisitado" |
1754 | + |
1755 | +#: ../../uaclient/messages/__init__.py:481 |
1756 | +msgid "related" |
1757 | +msgstr "relacionado" |
1758 | + |
1759 | +#: ../../uaclient/messages/__init__.py:482 |
1760 | +#, python-brace-format |
1761 | +msgid " {issue} is resolved." |
1762 | +msgstr " {issue} resolvida" |
1763 | + |
1764 | +#: ../../uaclient/messages/__init__.py:484 |
1765 | +#, python-brace-format |
1766 | +msgid " {issue} [{context}] is resolved." |
1767 | +msgstr "{issue} [{context}] foi resolvida" |
1768 | + |
1769 | +#: ../../uaclient/messages/__init__.py:486 |
1770 | +#, python-brace-format |
1771 | +msgid " {issue} is not resolved." |
1772 | +msgstr " {issue} não foi resolvida" |
1773 | + |
1774 | +#: ../../uaclient/messages/__init__.py:488 |
1775 | +#, python-brace-format |
1776 | +msgid " {issue} [{context}] is not resolved." |
1777 | +msgstr " {issue} [{context}] não foi resolvida" |
1778 | + |
1779 | +#: ../../uaclient/messages/__init__.py:491 |
1780 | +#, python-brace-format |
1781 | +msgid " {issue} does not affect your system." |
1782 | +msgstr " {issue} não afeta o seu sistema." |
1783 | + |
1784 | +#: ../../uaclient/messages/__init__.py:494 |
1785 | +#, python-brace-format |
1786 | +msgid " {issue} [{context}] does not affect your system." |
1787 | +msgstr " {issue} [{context}] não afeta o seu sistema." |
1788 | + |
1789 | +#: ../../uaclient/messages/__init__.py:498 |
1790 | +#, python-brace-format |
1791 | +msgid "{num_pkgs} package is still affected: {pkgs}" |
1792 | +msgid_plural "{num_pkgs} packages are still affected: {pkgs}" |
1793 | +msgstr[0] "{num_pkgs} pacote ainda está afetado: {pkgs}" |
1794 | +msgstr[1] "{num_pkgs} pacotes ainda estão afetados: {pkgs}" |
1795 | + |
1796 | +#: ../../uaclient/messages/__init__.py:505 |
1797 | +#, python-brace-format |
1798 | +msgid "{count} affected source package is installed: {pkgs}" |
1799 | +msgid_plural "{count} affected source packages are installed: {pkgs}" |
1800 | +msgstr[0] "{count} pacote fonte afetado está instalado: {pkgs}" |
1801 | +msgstr[1] "{count} pacotes fonte afetados estão instalados: {pkgs}" |
1802 | + |
1803 | +#: ../../uaclient/messages/__init__.py:511 |
1804 | +msgid "No affected source packages are installed." |
1805 | +msgstr "Nenhum pacote fonte afetado está instalado" |
1806 | + |
1807 | +#: ../../uaclient/messages/__init__.py:513 |
1808 | +#, python-brace-format |
1809 | +msgid "{issue} is resolved." |
1810 | +msgstr "{issue} foi resolvida" |
1811 | + |
1812 | +#: ../../uaclient/messages/__init__.py:515 |
1813 | +#, python-brace-format |
1814 | +msgid " {issue} is resolved by livepatch patch version: {version}." |
1815 | +msgstr " {issue} for resolvida pelo patch {version} do livepatch." |
1816 | + |
1817 | +#: ../../uaclient/messages/__init__.py:518 |
1818 | +#, python-brace-format |
1819 | +msgid "" |
1820 | +"{bold}Ubuntu Pro service: {{service}} is not enabled.\n" |
1821 | +"To proceed with the fix, a prompt would ask permission to automatically " |
1822 | +"enable\n" |
1823 | +"this service.\n" |
1824 | +"{{{{ pro enable {{service}} }}}}{end_bold}" |
1825 | +msgstr "" |
1826 | +"{bold}O serviço Ubuntu Pro: {{service}} não está habilitado.\n" |
1827 | +"Para continuar com a correção, um prompt irá te perdir permissão para " |
1828 | +"automaticamente habilitar\n" |
1829 | +"este serviço.\n" |
1830 | +"{{{{ pro enable {{service}} }}}}{end_bold}" |
1831 | + |
1832 | +#: ../../uaclient/messages/__init__.py:525 |
1833 | +#, python-brace-format |
1834 | +msgid "" |
1835 | +"{bold}The machine is not attached to an Ubuntu Pro subscription.\n" |
1836 | +"To proceed with the fix, a prompt would ask for a valid Ubuntu Pro token.\n" |
1837 | +"{{ pro attach TOKEN }}{end_bold}" |
1838 | +msgstr "" |
1839 | +"{bold}Essa máquina não está vinculada a uma assinatura do Ubuntu Pro.\n" |
1840 | +"Para continuar com a correção, um prompt irá te requisitar um token válido " |
1841 | +"para o Ubuntu Pro.\n" |
1842 | +"{{ pro attach TOKEN }}{end_bold}" |
1843 | + |
1844 | +#: ../../uaclient/messages/__init__.py:531 |
1845 | +#, python-brace-format |
1846 | +msgid "" |
1847 | +"{bold}The machine has an expired subscription.\n" |
1848 | +"To proceed with the fix, a prompt would ask for a new Ubuntu Pro\n" |
1849 | +"token to renew the subscription.\n" |
1850 | +"{{ pro detach --assume-yes }}\n" |
1851 | +"{{ pro attach NEW_TOKEN }}{end_bold}" |
1852 | +msgstr "" |
1853 | +"{bold}A máquina possui uma assinatura vencida.\n" |
1854 | +"Para continuar com a correção, um prompt irá pedir por um novo token\n" |
1855 | +"para renovar a sua assinatura Ubuntu Pro.\n" |
1856 | +"{{ pro detach --assume-yes }}\n" |
1857 | +"{{ pro attach NEW_TOKEN }}{end_bold}" |
1858 | + |
1859 | +#: ../../uaclient/messages/__init__.py:539 |
1860 | +#, python-brace-format |
1861 | +msgid "" |
1862 | +"{bold}WARNING: The option --dry-run is being used.\n" |
1863 | +"No packages will be installed when running this command.{end_bold}" |
1864 | +msgstr "" |
1865 | +"{bold}ATENÇÂO: a opção --dry-run está sendo usada.\n" |
1866 | +"Nenhum pacote será instalado na execução deste comando.{end_bold}" |
1867 | + |
1868 | +#: ../../uaclient/messages/__init__.py:544 |
1869 | +#, python-brace-format |
1870 | +msgid "" |
1871 | +"Error: Ubuntu Pro service: {service} is not enabled.\n" |
1872 | +"Without it, we cannot fix the system." |
1873 | +msgstr "" |
1874 | +"Erro: o serviço Ubuntu Pro: {service} não está habilitado.\n" |
1875 | +"Sem o serviço, não podemos corrigir o sistema." |
1876 | + |
1877 | +#: ../../uaclient/messages/__init__.py:549 |
1878 | +#, python-brace-format |
1879 | +msgid "" |
1880 | +"Error: The current Ubuntu Pro subscription is not entitled to: {service}.\n" |
1881 | +"Without it, we cannot fix the system." |
1882 | +msgstr "" |
1883 | +"Erro: O serviço {service} não está disponível para a atual assinatura do " |
1884 | +"Ubuntu Pro.\n" |
1885 | +"Sem o serviço, não podemos corrigir o sistema." |
1886 | + |
1887 | +#: ../../uaclient/messages/__init__.py:554 |
1888 | +#, python-brace-format |
1889 | +msgid "{service} is required for upgrade." |
1890 | +msgstr "{service} é necessário para atualização." |
1891 | + |
1892 | +#: ../../uaclient/messages/__init__.py:558 |
1893 | +#, python-brace-format |
1894 | +msgid "{service} is required for upgrade, but current subscription is expired." |
1895 | +msgstr "" |
1896 | +"{service} é necessário para atualização, mas a atual assinatura está vencida" |
1897 | + |
1898 | +#: ../../uaclient/messages/__init__.py:562 |
1899 | +#, python-brace-format |
1900 | +msgid "{service} is required for upgrade, but it is not enabled." |
1901 | +msgstr "" |
1902 | +"{service} é necessário para atualização, mas o serviço está desabilitado." |
1903 | + |
1904 | +#: ../../uaclient/messages/__init__.py:566 |
1905 | +msgid "APT failed to install the package.\n" |
1906 | +msgstr "APT falhou ao instalar o pacote.\n" |
1907 | + |
1908 | +#: ../../uaclient/messages/__init__.py:571 |
1909 | +msgid "Sorry, no fix is available yet." |
1910 | +msgstr "Desculpe, não existe uma correção disponível ainda." |
1911 | + |
1912 | +#: ../../uaclient/messages/__init__.py:575 |
1913 | +msgid "Ubuntu security engineers are investigating this issue." |
1914 | +msgstr "Engenheiros de segurança do Ubuntu estão investigando o problema." |
1915 | + |
1916 | +#: ../../uaclient/messages/__init__.py:579 |
1917 | +msgid "A fix is coming soon. Try again tomorrow." |
1918 | +msgstr "Uma correção será entregue em breve. Tente de novo amanhã." |
1919 | + |
1920 | +#: ../../uaclient/messages/__init__.py:583 |
1921 | +msgid "Sorry, no fix is available." |
1922 | +msgstr "Desculpe, não existe uma correção disponível." |
1923 | + |
1924 | +#: ../../uaclient/messages/__init__.py:587 |
1925 | +msgid "Source package does not exist on this release." |
1926 | +msgstr "O pacote fonte não existe para esta versão do Ubuntu." |
1927 | + |
1928 | +#: ../../uaclient/messages/__init__.py:591 |
1929 | +msgid "Source package is not affected on this release." |
1930 | +msgstr "O pacote fonte não é afetado nesta versão do Ubuntu." |
1931 | + |
1932 | +#: ../../uaclient/messages/__init__.py:595 |
1933 | +#, python-brace-format |
1934 | +msgid "UNKNOWN: {status}" |
1935 | +msgstr "DESCONHECIDO: {status}" |
1936 | + |
1937 | +#: ../../uaclient/messages/__init__.py:599 |
1938 | +msgid "Found CVEs:" |
1939 | +msgstr "CVEs encontradas:" |
1940 | + |
1941 | +#: ../../uaclient/messages/__init__.py:600 |
1942 | +msgid "Found Launchpad bugs:" |
1943 | +msgstr "Bugs do Launchpad encontrados:" |
1944 | + |
1945 | +#: ../../uaclient/messages/__init__.py:602 |
1946 | +#, python-brace-format |
1947 | +msgid "Fixing requested {issue_id}" |
1948 | +msgstr "Corrigindo {issue_id}" |
1949 | + |
1950 | +#: ../../uaclient/messages/__init__.py:606 |
1951 | +msgid "Fixing related USNs:" |
1952 | +msgstr "Corrigindo USNs relacionados" |
1953 | + |
1954 | +#: ../../uaclient/messages/__init__.py:610 |
1955 | +#, python-brace-format |
1956 | +msgid "" |
1957 | +"Found related USNs:\n" |
1958 | +"- {related_usns}" |
1959 | +msgstr "" |
1960 | +"USNs relacionadas foram encontradas:\n" |
1961 | +"- {related_usns}" |
1962 | + |
1963 | +#: ../../uaclient/messages/__init__.py:614 |
1964 | +msgid "Summary:" |
1965 | +msgstr "Sumário:" |
1966 | + |
1967 | +#: ../../uaclient/messages/__init__.py:618 |
1968 | +#, python-brace-format |
1969 | +msgid "" |
1970 | +"Even though a related USN failed to be fixed, note\n" |
1971 | +"that {{issue_id}} was fixed. Related USNs do not\n" |
1972 | +"affect the original USN. Learn more about the related\n" |
1973 | +"USNs, please refer to this page:\n" |
1974 | +"\n" |
1975 | +"{url}\n" |
1976 | +msgstr "" |
1977 | +"Mesmo que tenha acontecido uma falha ao corrigir uma USN relacionada, note\n" |
1978 | +"que {{issue_id}} for corrigida. USNs relacionadas não afetam a USN\n" |
1979 | +"original. Para saber mais sobre USNs relacionadas, por favor entre na " |
1980 | +"página:\n" |
1981 | +"\n" |
1982 | +"{url}\n" |
1983 | + |
1984 | +#: ../../uaclient/messages/__init__.py:627 |
1985 | +msgid "Ubuntu standard updates" |
1986 | +msgstr "Atualizações padrão do Ubuntu" |
1987 | + |
1988 | +#: ../../uaclient/messages/__init__.py:628 |
1989 | +#: ../../uaclient/messages/__init__.py:1220 |
1990 | +msgid "Ubuntu Pro: ESM Infra" |
1991 | +msgstr "" |
1992 | + |
1993 | +#: ../../uaclient/messages/__init__.py:629 |
1994 | +#: ../../uaclient/messages/__init__.py:1206 |
1995 | +msgid "Ubuntu Pro: ESM Apps" |
1996 | +msgstr "" |
1997 | + |
1998 | +#: ../../uaclient/messages/__init__.py:632 |
1999 | +msgid "" |
2000 | +"Package fixes cannot be installed.\n" |
2001 | +"To install them, run this command as root (try using sudo)" |
2002 | +msgstr "" |
2003 | +"As atualizações de pacotes não podem ser instaladas.\n" |
2004 | +"Para instalar os pacotes, execute esse comando como root (tente usando sudo)" |
2005 | + |
2006 | +#: ../../uaclient/messages/__init__.py:638 |
2007 | +#, python-brace-format |
2008 | +msgid "Enter your token (from {url}) to attach this system:" |
2009 | +msgstr "Insira seu token (da {url}) para vincular seu sistema:" |
2010 | + |
2011 | +#: ../../uaclient/messages/__init__.py:642 |
2012 | +msgid "Enter your new token to renew Ubuntu Pro subscription on this system:" |
2013 | +msgstr "" |
2014 | +"Providencie seu novo token para renovar sua assinatura do Ubuntu Pro neste " |
2015 | +"sistema:" |
2016 | + |
2017 | +#. ############################################################################## |
2018 | +#. SECURITYSTATUS SUBCOMMAND # |
2019 | +#. ############################################################################## |
2020 | +#: ../../uaclient/messages/__init__.py:652 |
2021 | +#, python-brace-format |
2022 | +msgid "{count} packages installed:" |
2023 | +msgstr "{count} pacotes instalados:" |
2024 | + |
2025 | +#: ../../uaclient/messages/__init__.py:655 |
2026 | +#, python-brace-format |
2027 | +msgid "{offset}{count} package from Ubuntu {repository} repository" |
2028 | +msgid_plural "{offset}{count} packages from Ubuntu {repository} repository" |
2029 | +msgstr[0] "{offset}{count} pacote do repositório {repository} do Ubuntu" |
2030 | +msgstr[1] "{offset}{count} pacotes do repositório {repository} do Ubuntu" |
2031 | + |
2032 | +#: ../../uaclient/messages/__init__.py:662 |
2033 | +#, python-brace-format |
2034 | +msgid "{offset}{count} package from a third party" |
2035 | +msgid_plural "{offset}{count} packages from third parties" |
2036 | +msgstr[0] "{offset}{count} pacote de terceiros" |
2037 | +msgstr[1] "{offset}{count} pacotes de terceiros" |
2038 | + |
2039 | +#: ../../uaclient/messages/__init__.py:669 |
2040 | +#, python-brace-format |
2041 | +msgid "{offset}{count} package no longer available for download" |
2042 | +msgid_plural "{offset}{count} packages no longer available for download" |
2043 | +msgstr[0] "{offset}{count} pacote não mais disponível para download" |
2044 | +msgstr[1] "{offset}{count} pacotes não mais disponíveis para download" |
2045 | + |
2046 | +#: ../../uaclient/messages/__init__.py:676 |
2047 | +msgid "" |
2048 | +"To get more information about the packages, run\n" |
2049 | +" pro security-status --help\n" |
2050 | +"for a list of available options." |
2051 | +msgstr "" |
2052 | +"Para obter mais informações sobre os pacotes, execute\n" |
2053 | +" pro security-status --help\n" |
2054 | +"para uma lista das opções disponíveis." |
2055 | + |
2056 | +#: ../../uaclient/messages/__init__.py:683 |
2057 | +msgid "" |
2058 | +" Make sure to run\n" |
2059 | +" sudo apt-get update\n" |
2060 | +"to get the latest package information from apt." |
2061 | +msgstr "" |
2062 | +"Lembre de executar\n" |
2063 | +" sudo apt-get update\n" |
2064 | +"para obter as informações mais recentes dos pacotes direto do apt." |
2065 | + |
2066 | +#: ../../uaclient/messages/__init__.py:689 |
2067 | +#, python-brace-format |
2068 | +msgid "The system apt information was updated {days} day(s) ago." |
2069 | +msgstr "As informações do apt foram atualizadas há {days} dia(s) atrás" |
2070 | + |
2071 | +#: ../../uaclient/messages/__init__.py:693 |
2072 | +msgid "The system apt cache may be outdated." |
2073 | +msgstr "O cache do apt pode estar desatualizado" |
2074 | + |
2075 | +#: ../../uaclient/messages/__init__.py:697 |
2076 | +#, python-brace-format |
2077 | +msgid "Main/Restricted packages receive updates until {date}." |
2078 | +msgstr "pacotes Main/Restricted receberão atualizações até {date}." |
2079 | + |
2080 | +#: ../../uaclient/messages/__init__.py:700 |
2081 | +#, python-brace-format |
2082 | +msgid "" |
2083 | +"This machine is receiving security patching for Ubuntu Main/Restricted\n" |
2084 | +"repository until {date}." |
2085 | +msgstr "" |
2086 | +"Esta máquina está recebendo patches de segurança para o repositório\n" |
2087 | +"Main/Restricted do Ubuntu até {date}" |
2088 | + |
2089 | +#: ../../uaclient/messages/__init__.py:706 |
2090 | +msgid "This machine is attached to an Ubuntu Pro subscription." |
2091 | +msgstr "Esta máquina está vinculada a uma assinatura do Ubuntu Pro." |
2092 | + |
2093 | +#: ../../uaclient/messages/__init__.py:709 |
2094 | +msgid "This machine is NOT attached to an Ubuntu Pro subscription." |
2095 | +msgstr "Esta máquina NÃO está vinculada a uma assinatura do Ubuntu Pro." |
2096 | + |
2097 | +#: ../../uaclient/messages/__init__.py:713 |
2098 | +msgid "" |
2099 | +"Packages from third parties are not provided by the official Ubuntu\n" |
2100 | +"archive, for example packages from Personal Package Archives in Launchpad." |
2101 | +msgstr "" |
2102 | +"Pacotes de terceiros não são providenciados por meios oficiais do Ubuntu,\n" |
2103 | +"por examplo, pacotes de encontrados em Personal Package Archives (PPAs) do " |
2104 | +"Launchpad." |
2105 | + |
2106 | +#: ../../uaclient/messages/__init__.py:718 |
2107 | +msgid "" |
2108 | +"Packages that are not available for download may be left over from a\n" |
2109 | +"previous release of Ubuntu, may have been installed directly from a\n" |
2110 | +".deb file, or are from a source which has been disabled." |
2111 | +msgstr "" |
2112 | +"Pacotes que não estão disponíveis para download podem ter sobrado de\n" |
2113 | +"versões anteriores do Ubuntu, podem ter sido instalados diretamente por um\n" |
2114 | +"arquivo .deb, ou de uma fonte que foi desabilitada." |
2115 | + |
2116 | +#: ../../uaclient/messages/__init__.py:725 |
2117 | +msgid "" |
2118 | +"This machine is NOT receiving security patches because the LTS period has " |
2119 | +"ended\n" |
2120 | +"and esm-infra is not enabled." |
2121 | +msgstr "" |
2122 | +"Esta máquina NÃO está recebendo patches de segurança, pois o período LTS " |
2123 | +"acabou\n" |
2124 | +"e esm-infra não está habilitado." |
2125 | + |
2126 | +#: ../../uaclient/messages/__init__.py:731 |
2127 | +#, python-brace-format |
2128 | +msgid "" |
2129 | +"Ubuntu Pro with '{service}' enabled provides security updates for\n" |
2130 | +"{repository} packages until {year}." |
2131 | +msgstr "" |
2132 | +"Ubuntu Pro com '{service}' habilitado provê atualizações de segurança\n" |
2133 | +"para pacotes do {repository} até {year}." |
2134 | + |
2135 | +#: ../../uaclient/messages/__init__.py:737 |
2136 | +#, python-brace-format |
2137 | +msgid "There is {updates} pending security update." |
2138 | +msgid_plural "There are {updates} pending security updates." |
2139 | +msgstr[0] "Existe {updates} atualização de segurança pendente." |
2140 | +msgstr[1] "Existem {updates} atualizações de segurança pendentes." |
2141 | + |
2142 | +#: ../../uaclient/messages/__init__.py:744 |
2143 | +#, python-brace-format |
2144 | +msgid "" |
2145 | +"{repository} packages are receiving security updates from\n" |
2146 | +"Ubuntu Pro with '{service}' enabled until {year}." |
2147 | +msgstr "" |
2148 | +"Pacotes do {repository} estão recebendo atualizações de segurança do\n" |
2149 | +"Ubuntu Pro com '{service}' habilitado até {year}." |
2150 | + |
2151 | +#: ../../uaclient/messages/__init__.py:750 |
2152 | +#, python-brace-format |
2153 | +msgid "" |
2154 | +"You have received {updates} security\n" |
2155 | +"update." |
2156 | +msgid_plural "" |
2157 | +"You have received {updates} security\n" |
2158 | +"updates." |
2159 | +msgstr[0] "" |
2160 | +"Você recebeu {updates} atualização de\n" |
2161 | +"segurança." |
2162 | +msgstr[1] "" |
2163 | +"Você recebeu {updates} atualizações de\n" |
2164 | +"segurança." |
2165 | + |
2166 | +#: ../../uaclient/messages/__init__.py:760 |
2167 | +#, python-brace-format |
2168 | +msgid "Enable {service} with: pro enable {service}" |
2169 | +msgstr "Habilite {service} com: pro enable {service}" |
2170 | + |
2171 | +#: ../../uaclient/messages/__init__.py:762 |
2172 | +#, python-brace-format |
2173 | +msgid "" |
2174 | +"Try Ubuntu Pro with a free personal subscription on up to 5 machines.\n" |
2175 | +"Learn more at {url}\n" |
2176 | +msgstr "" |
2177 | +"Experimente o Ubuntu Pro com uma assinatura pessoal gratuita para até 5 " |
2178 | +"máquinas.\n" |
2179 | +"Saiba mais em {url}\n" |
2180 | + |
2181 | +#: ../../uaclient/messages/__init__.py:769 |
2182 | +#, python-brace-format |
2183 | +msgid "" |
2184 | +"For example, run:\n" |
2185 | +" apt-cache show {package}\n" |
2186 | +"to learn more about that package." |
2187 | +msgstr "" |
2188 | +"Por exemplo, execute:\n" |
2189 | +" apt-cache show {package}\n" |
2190 | +"para saber mais sobre este pacote." |
2191 | + |
2192 | +#: ../../uaclient/messages/__init__.py:776 |
2193 | +msgid "You have no packages installed from a third party." |
2194 | +msgstr "Você não tem pacotes instalados de terceitos." |
2195 | + |
2196 | +#: ../../uaclient/messages/__init__.py:779 |
2197 | +msgid "You have no packages installed that are no longer available." |
2198 | +msgstr "Você não tem pacotes instalados que não estejam mais disponíveis." |
2199 | + |
2200 | +#: ../../uaclient/messages/__init__.py:782 |
2201 | +msgid "Ubuntu Pro is not available for non-LTS releases." |
2202 | +msgstr "Ubuntu Pro não está disponível para versões do Ubuntu não LTS." |
2203 | + |
2204 | +#: ../../uaclient/messages/__init__.py:785 |
2205 | +#, python-brace-format |
2206 | +msgid "Run 'pro help {service}' to learn more" |
2207 | +msgstr "Execute 'pro help {service}' para saber mais" |
2208 | + |
2209 | +#: ../../uaclient/messages/__init__.py:788 |
2210 | +#, python-brace-format |
2211 | +msgid "Installed packages with an available {service} update:" |
2212 | +msgstr "Pacotes instalados com atualizações disponíveis por {service}:" |
2213 | + |
2214 | +#: ../../uaclient/messages/__init__.py:791 |
2215 | +#, python-brace-format |
2216 | +msgid "Installed packages with an {service} update applied:" |
2217 | +msgstr "Pacotes instalados com atualizações aplicadas por {service}:" |
2218 | + |
2219 | +#: ../../uaclient/messages/__init__.py:793 |
2220 | +#, python-brace-format |
2221 | +msgid "Installed packages covered by {service}:" |
2222 | +msgstr "Pacotes instalados cobertos por {service}:" |
2223 | + |
2224 | +#: ../../uaclient/messages/__init__.py:795 |
2225 | +#, python-brace-format |
2226 | +msgid "Further installed packages covered by {service}:" |
2227 | +msgstr "Pacotes adicionais instalados cobertos por {service}:" |
2228 | + |
2229 | +#: ../../uaclient/messages/__init__.py:797 |
2230 | +msgid "Packages:" |
2231 | +msgstr "Pacotes:" |
2232 | + |
2233 | +#. ############################################################################## |
2234 | +#. STATUS SUBCOMMAND # |
2235 | +#. ############################################################################## |
2236 | +#: ../../uaclient/messages/__init__.py:805 |
2237 | +msgid "SERVICE" |
2238 | +msgstr "SERVIÇO" |
2239 | + |
2240 | +#: ../../uaclient/messages/__init__.py:806 |
2241 | +msgid "AVAILABLE" |
2242 | +msgstr "DISPONÍVEL" |
2243 | + |
2244 | +#: ../../uaclient/messages/__init__.py:807 |
2245 | +msgid "ENTITLED" |
2246 | +msgstr "INCLUÍDO" |
2247 | + |
2248 | +#: ../../uaclient/messages/__init__.py:808 |
2249 | +msgid "AUTO_ENABLED" |
2250 | +msgstr "AUTO_HABILITADO" |
2251 | + |
2252 | +#: ../../uaclient/messages/__init__.py:809 |
2253 | +msgid "STATUS" |
2254 | +msgstr "STATUS" |
2255 | + |
2256 | +#: ../../uaclient/messages/__init__.py:810 |
2257 | +msgid "DESCRIPTION" |
2258 | +msgstr "DESCRIÇÃO" |
2259 | + |
2260 | +#: ../../uaclient/messages/__init__.py:811 |
2261 | +msgid "NOTICES" |
2262 | +msgstr "NOTÍCIAS" |
2263 | + |
2264 | +#: ../../uaclient/messages/__init__.py:812 |
2265 | +msgid "FEATURES" |
2266 | +msgstr "FUNCIONALIDADES" |
2267 | + |
2268 | +#: ../../uaclient/messages/__init__.py:816 |
2269 | +msgid "enabled" |
2270 | +msgstr "habilitado" |
2271 | + |
2272 | +#: ../../uaclient/messages/__init__.py:817 |
2273 | +msgid "disabled" |
2274 | +msgstr "desabilitado" |
2275 | + |
2276 | +#: ../../uaclient/messages/__init__.py:818 |
2277 | +msgid "n/a" |
2278 | +msgstr "n/d" |
2279 | + |
2280 | +#: ../../uaclient/messages/__init__.py:820 |
2281 | +msgid "warning" |
2282 | +msgstr "atenção" |
2283 | + |
2284 | +#: ../../uaclient/messages/__init__.py:821 |
2285 | +msgid "essential" |
2286 | +msgstr "essencial" |
2287 | + |
2288 | +#: ../../uaclient/messages/__init__.py:822 |
2289 | +msgid "standard" |
2290 | +msgstr "padrão" |
2291 | + |
2292 | +#: ../../uaclient/messages/__init__.py:823 |
2293 | +msgid "advanced" |
2294 | +msgstr "avançado" |
2295 | + |
2296 | +#: ../../uaclient/messages/__init__.py:825 |
2297 | +msgid "Unknown/Expired" |
2298 | +msgstr "Desconhecido/expirado" |
2299 | + |
2300 | +#: ../../uaclient/messages/__init__.py:828 |
2301 | +#, python-brace-format |
2302 | +msgid "Enable services with: {command}" |
2303 | +msgstr "Habilite serviços com: {command}" |
2304 | + |
2305 | +#: ../../uaclient/messages/__init__.py:830 |
2306 | +msgid "Account" |
2307 | +msgstr "Conta" |
2308 | + |
2309 | +#: ../../uaclient/messages/__init__.py:831 |
2310 | +msgid "Subscription" |
2311 | +msgstr "Assinatura" |
2312 | + |
2313 | +#: ../../uaclient/messages/__init__.py:832 |
2314 | +msgid "Valid until" |
2315 | +msgstr "Válido até" |
2316 | + |
2317 | +#: ../../uaclient/messages/__init__.py:833 |
2318 | +msgid "Technical support level" |
2319 | +msgstr "Nível de suporte técnico" |
2320 | + |
2321 | +#: ../../uaclient/messages/__init__.py:835 |
2322 | +msgid "This token is not valid." |
2323 | +msgstr "Este token não é válido." |
2324 | + |
2325 | +#: ../../uaclient/messages/__init__.py:836 |
2326 | +msgid "No Ubuntu Pro operations are running" |
2327 | +msgstr "Nenhuma operação Ubuntu Pro está sendo executada" |
2328 | + |
2329 | +#: ../../uaclient/messages/__init__.py:839 |
2330 | +msgid "No Ubuntu Pro services are available to this system." |
2331 | +msgstr "Nenhum serviço do Ubuntu Pro está disponível neste sistema." |
2332 | + |
2333 | +#: ../../uaclient/messages/__init__.py:842 |
2334 | +msgid "For a list of all Ubuntu Pro services, run 'pro status --all'" |
2335 | +msgstr "" |
2336 | +"Para uma lista com todos os serviços do Ubuntu Pro, execute 'pro status --" |
2337 | +"all'" |
2338 | + |
2339 | +#: ../../uaclient/messages/__init__.py:844 |
2340 | +msgid " * Service has variants" |
2341 | +msgstr "* Serviço tem variantes" |
2342 | + |
2343 | +#: ../../uaclient/messages/__init__.py:846 |
2344 | +msgid "" |
2345 | +"For a list of all Ubuntu Pro services and variants, run 'pro status --all'" |
2346 | +msgstr "" |
2347 | +"Para uma lista como todos os serviços e variantes do Ubuntu Pro, execute " |
2348 | +"'pro status --all'" |
2349 | + |
2350 | +#: ../../uaclient/messages/__init__.py:851 |
2351 | +msgid "" |
2352 | +"A change has been detected in your contract.\n" |
2353 | +"Please run `sudo pro refresh`." |
2354 | +msgstr "" |
2355 | +"Uma mudança foi detectada no seu contrato.\n" |
2356 | +"Por favor, execute `sudo pro refresh`." |
2357 | + |
2358 | +#. ############################################################################## |
2359 | +#. CLI HELP TEXT # |
2360 | +#. ############################################################################## |
2361 | +#. This encompasses help text for subcommands, flags, and arguments for the CLI |
2362 | +#. Also, any generic strings about the CLI itself go here. |
2363 | +#: ../../uaclient/messages/__init__.py:864 |
2364 | +msgid "Try 'pro --help' for more information." |
2365 | +msgstr "Tente 'pro --help' para mais informações." |
2366 | + |
2367 | +#: ../../uaclient/messages/__init__.py:866 |
2368 | +#, python-brace-format |
2369 | +msgid "Use {name} {command} --help for more information about a command." |
2370 | +msgstr "Use {name} {command} --help para mais informações sobre um comando." |
2371 | + |
2372 | +#: ../../uaclient/messages/__init__.py:869 |
2373 | +msgid "Use pro help <service> to get more details about each service" |
2374 | +msgstr "Use pro help <service> para obter mais detalhes sobre cada serviço" |
2375 | + |
2376 | +#: ../../uaclient/messages/__init__.py:872 |
2377 | +msgid "Variants:" |
2378 | +msgstr "Variantes:" |
2379 | + |
2380 | +#: ../../uaclient/messages/__init__.py:873 |
2381 | +msgid "Arguments" |
2382 | +msgstr "Argumentos" |
2383 | + |
2384 | +#: ../../uaclient/messages/__init__.py:874 |
2385 | +msgid "Flags" |
2386 | +msgstr "" |
2387 | + |
2388 | +#: ../../uaclient/messages/__init__.py:875 |
2389 | +msgid "Available Commands" |
2390 | +msgstr "Comandos Disponíveis" |
2391 | + |
2392 | +#: ../../uaclient/messages/__init__.py:877 |
2393 | +#, python-brace-format |
2394 | +msgid "output in the specified format (default: {default})" |
2395 | +msgstr "saída no formato especificado (default: {default})" |
2396 | + |
2397 | +#: ../../uaclient/messages/__init__.py:880 |
2398 | +#, python-brace-format |
2399 | +msgid "do not prompt for confirmation before performing the {command}" |
2400 | +msgstr "não peça por confirmação antes de executar {command}" |
2401 | + |
2402 | +#: ../../uaclient/messages/__init__.py:883 |
2403 | +#: ../../uaclient/messages/__init__.py:1101 |
2404 | +msgid "Calls the Client API endpoints." |
2405 | +msgstr "Chama os endpoints da API do Cliente." |
2406 | + |
2407 | +#: ../../uaclient/messages/__init__.py:884 |
2408 | +msgid "API endpoint to call" |
2409 | +msgstr "API endpoints que podem ser executados" |
2410 | + |
2411 | +#: ../../uaclient/messages/__init__.py:886 |
2412 | +msgid "Options to pass to the API endpoint, formatted as key=value" |
2413 | +msgstr "Opções para passar ao endpoint da API, formatadas como chave=valor" |
2414 | + |
2415 | +#: ../../uaclient/messages/__init__.py:888 |
2416 | +msgid "arguments in JSON format to the API endpoint" |
2417 | +msgstr "argumentos em formato JSON para o endpoint da API" |
2418 | + |
2419 | +#: ../../uaclient/messages/__init__.py:891 |
2420 | +msgid "Automatically attach on an Ubuntu Pro cloud instance." |
2421 | +msgstr "Automaticamente vincular em uma instância cloud do Ubuntu Pro." |
2422 | + |
2423 | +#: ../../uaclient/messages/__init__.py:895 |
2424 | +msgid "Collect logs and relevant system information into a tarball." |
2425 | +msgstr "Coleta logs e outras informações relevantes do sistema em um tarball." |
2426 | + |
2427 | +#: ../../uaclient/messages/__init__.py:898 |
2428 | +msgid "tarball where the logs will be stored. (Defaults to ./ua_logs.tar.gz)" |
2429 | +msgstr "tarball onde os logs serão guardados. (Valor padrão ./ua_logs.tar.gz)" |
2430 | + |
2431 | +#: ../../uaclient/messages/__init__.py:901 |
2432 | +msgid "Show customisable configuration settings" |
2433 | +msgstr "Mostre as opções personalizáveis da configuração" |
2434 | + |
2435 | +#: ../../uaclient/messages/__init__.py:903 |
2436 | +msgid "Optional key or key(s) to show configuration settings." |
2437 | +msgstr "Valor ou valores opcionais ao mostrar as configurações." |
2438 | + |
2439 | +#: ../../uaclient/messages/__init__.py:906 |
2440 | +msgid "Set and apply Ubuntu Pro configuration settings" |
2441 | +msgstr "Define e aplica as configurações do Ubuntu Pro" |
2442 | + |
2443 | +#: ../../uaclient/messages/__init__.py:909 |
2444 | +#, python-brace-format |
2445 | +msgid "" |
2446 | +"key=value pair to configure for Ubuntu Pro services. Key must be one of: " |
2447 | +"{options}" |
2448 | +msgstr "" |
2449 | +"par chave=valor para configurar serviços Ubuntu Pro. Chave precisa ser uma " |
2450 | +"dentre: {options}" |
2451 | + |
2452 | +#: ../../uaclient/messages/__init__.py:912 |
2453 | +msgid "Unset Ubuntu Pro configuration setting" |
2454 | +msgstr "Desabilitar a configuração do Ubuntu Pro" |
2455 | + |
2456 | +#: ../../uaclient/messages/__init__.py:914 |
2457 | +#, python-brace-format |
2458 | +msgid "configuration key to unset from Ubuntu Pro services. One of: {options}" |
2459 | +msgstr "chave de configuração Ubuntu Pro para desabilitar. Uma de: {options}" |
2460 | + |
2461 | +#: ../../uaclient/messages/__init__.py:916 |
2462 | +msgid "Manage Ubuntu Pro configuration" |
2463 | +msgstr "Gerencie a configuração do Ubuntu Pro" |
2464 | + |
2465 | +#: ../../uaclient/messages/__init__.py:919 |
2466 | +#, python-brace-format |
2467 | +msgid "" |
2468 | +"Attach this machine to Ubuntu Pro with a token obtained from:\n" |
2469 | +"{url}\n" |
2470 | +"\n" |
2471 | +"When running this command without a token, it will generate a short code\n" |
2472 | +"and prompt you to attach the machine to your Ubuntu Pro account using\n" |
2473 | +"a web browser." |
2474 | +msgstr "" |
2475 | +"Vincule esta máquina a uma assinatura Ubuntu Pro com um token obtido de:\n" |
2476 | +"{url}\n" |
2477 | +"\n" |
2478 | +"Ao executar este comando sem um token, um código pequeno será gerado\n" |
2479 | +"e um prompt surgirá pedindo para vincular esta máquina usando sua conta do " |
2480 | +"Ubuntu Pro por meio\n" |
2481 | +"de um web browser." |
2482 | + |
2483 | +#: ../../uaclient/messages/__init__.py:927 |
2484 | +msgid "token obtained for Ubuntu Pro authentication" |
2485 | +msgstr "token obtido para autenticação do Ubuntu Pro" |
2486 | + |
2487 | +#: ../../uaclient/messages/__init__.py:929 |
2488 | +msgid "do not enable any recommended services automatically" |
2489 | +msgstr "não habilite nenhum serviço recomendado automaticamente" |
2490 | + |
2491 | +#: ../../uaclient/messages/__init__.py:932 |
2492 | +msgid "" |
2493 | +"use the provided attach config file instead of passing the token on the cli" |
2494 | +msgstr "" |
2495 | +"use para providenciar um arquivo de configuração ao vincular ao invés de " |
2496 | +"inserir o token via linha de comando" |
2497 | + |
2498 | +#: ../../uaclient/messages/__init__.py:937 |
2499 | +msgid "" |
2500 | +"Inspect and resolve CVEs and USNs (Ubuntu Security Notices) on this machine." |
2501 | +msgstr "" |
2502 | +"Inspecionar e corrigir CVEs and USNs (Ubuntu Security Notices) nesta máquina." |
2503 | + |
2504 | +#: ../../uaclient/messages/__init__.py:941 |
2505 | +msgid "" |
2506 | +"Security vulnerability ID to inspect and resolve on this system. Format: CVE-" |
2507 | +"yyyy-nnnn, CVE-yyyy-nnnnnnn or USN-nnnn-dd" |
2508 | +msgstr "" |
2509 | +"ID da Vulnerabilidade de segurança para inspecionar e corrigir neste " |
2510 | +"sistema. Formato: CVE-yyyy-nnnn, CVE-yyyy-nnnnnnn ou USN-nnnn-dd" |
2511 | + |
2512 | +#: ../../uaclient/messages/__init__.py:945 |
2513 | +msgid "" |
2514 | +"If used, fix will not actually run but will display everything that will " |
2515 | +"happen on the machine during the command." |
2516 | +msgstr "" |
2517 | +"Se usado, fix não vai executar modificações. Ao invés disso, irá mostrar " |
2518 | +"tudo que irá acontecer na máquina durante a execução real do comando." |
2519 | + |
2520 | +#: ../../uaclient/messages/__init__.py:950 |
2521 | +msgid "" |
2522 | +"If used, when fixing a USN, the command will not try to also fix related " |
2523 | +"USNs to the target USN." |
2524 | +msgstr "" |
2525 | +"Se usado, ao corrigir uma USN, o comando não tentará corrigar as USN " |
2526 | +"relacionadas à USN principal." |
2527 | + |
2528 | +#: ../../uaclient/messages/__init__.py:955 |
2529 | +msgid "" |
2530 | +"Show security updates for packages in the system, including all\n" |
2531 | +"available Expanded Security Maintenance (ESM) related content.\n" |
2532 | +"\n" |
2533 | +"Shows counts of how many packages are supported for security updates\n" |
2534 | +"in the system.\n" |
2535 | +"\n" |
2536 | +"If called with --format json|yaml it shows a summary of the\n" |
2537 | +"installed packages based on the origin:\n" |
2538 | +"- main/restricted/universe/multiverse: packages from the Ubuntu archive\n" |
2539 | +"- esm-infra/esm-apps: packages from the ESM archive\n" |
2540 | +"- third-party: packages installed from non-Ubuntu sources\n" |
2541 | +"- unknown: packages which don't have an installation source (like local\n" |
2542 | +" deb packages or packages for which the source was removed)\n" |
2543 | +"\n" |
2544 | +"The output contains basic information about Ubuntu Pro. For a\n" |
2545 | +"complete status on Ubuntu Pro services, run 'pro status'.\n" |
2546 | +msgstr "" |
2547 | +"Mostrar atualizações de segurança para pacotes no sistema, incluindo todos\n" |
2548 | +"os conteúdos relacionados a Expanded Security Maintenance (ESM)\n" |
2549 | +"\n" |
2550 | +"Mostrar quantos pacotes são suportados para atualizações de segurança\n" |
2551 | +"neste sistema.\n" |
2552 | +"\n" |
2553 | +"Se executado com --format json|yaml, mostra um sumário dos\n" |
2554 | +"pacotes instalados baseados em sua origem:\n" |
2555 | +"- main/restricted/univers/multiverse: pacotes do arquivo do Ubuntu\n" |
2556 | +"- esm-infra/esm-apps: pacotes dos arquivos de ESM\n" |
2557 | +"- third-party: pacotes instalados por fontes que não são do Ubuntu\n" |
2558 | +"- unknown: pacotes que não tem uma origem de instalação (como pacotes\n" |
2559 | +"deb locais or pacotes cuja origem foi removida)\n" |
2560 | +"\n" |
2561 | +"A saída contém informação básica sobre o Ubuntu Pro. Para um status " |
2562 | +"completo\n" |
2563 | +"a respeito dos serviços do Ubuntu Pro, execute 'pro status'.\n" |
2564 | + |
2565 | +#: ../../uaclient/messages/__init__.py:975 |
2566 | +msgid "List and present information about third-party packages" |
2567 | +msgstr "Lista e mostra informações presentes sobre pacotes de terceiros" |
2568 | + |
2569 | +#: ../../uaclient/messages/__init__.py:978 |
2570 | +msgid "List and present information about unavailable packages" |
2571 | +msgstr "Lista e mostra informações sobre pacotes indisponíveis" |
2572 | + |
2573 | +#: ../../uaclient/messages/__init__.py:981 |
2574 | +msgid "List and present information about esm-infra packages" |
2575 | +msgstr "Lista e mostra informações sobre pacotes esm-infra" |
2576 | + |
2577 | +#: ../../uaclient/messages/__init__.py:984 |
2578 | +msgid "List and present information about esm-apps packages" |
2579 | +msgstr "Lista e mostra informações sobre pacotes esm-apps" |
2580 | + |
2581 | +#: ../../uaclient/messages/__init__.py:988 |
2582 | +msgid "" |
2583 | +"Refresh three distinct Ubuntu Pro related artifacts in the system:\n" |
2584 | +"\n" |
2585 | +"* contract: Update contract details from the server.\n" |
2586 | +"* config: Reload the config file.\n" |
2587 | +"* messages: Update APT and MOTD messages related to UA.\n" |
2588 | +"\n" |
2589 | +"You can individually target any of the three specific actions,\n" |
2590 | +"by passing it's target to nome to the command. If no `target`\n" |
2591 | +"is specified, all targets are refreshed.\n" |
2592 | +msgstr "" |
2593 | +"Atualize três artefatos distintos no seu sistema relacionados ao Ubuntu " |
2594 | +"Pro:\n" |
2595 | +"\n" |
2596 | +"* contract: Atualize detalhes do contratos através do servidor.\n" |
2597 | +"* config: Recarregue as configurações encontradas no arquivo de " |
2598 | +"configuração.\n" |
2599 | +"* messages: Atualized as mensagens APT e MOTD relacionados ao Ubuntu Pro.\n" |
2600 | +"\n" |
2601 | +"Você pode individualmente executar o comando para qualquer ums das três " |
2602 | +"opções,\n" |
2603 | +"ao fornecer o nome da opção para o comando. Se nenhuma `opção` for " |
2604 | +"especificada,\n" |
2605 | +"todas as opções serão atualizadas.\n" |
2606 | + |
2607 | +#: ../../uaclient/messages/__init__.py:1000 |
2608 | +msgid "Target to refresh." |
2609 | +msgstr "Opção para atualizar" |
2610 | + |
2611 | +#: ../../uaclient/messages/__init__.py:1002 |
2612 | +msgid "Detach this machine from Ubuntu Pro services." |
2613 | +msgstr "Desvincule esta máquina de uma assinatura Ubuntu Pro" |
2614 | + |
2615 | +#: ../../uaclient/messages/__init__.py:1005 |
2616 | +msgid "Provide detailed information about Ubuntu Pro services." |
2617 | +msgstr "Providencia informações detalhadas sobre os serviços do Ubuntu Pro." |
2618 | + |
2619 | +#: ../../uaclient/messages/__init__.py:1008 |
2620 | +#, python-brace-format |
2621 | +msgid "a service to view help output for. One of: {options}" |
2622 | +msgstr "serviço para qual informação de ajuda será mostrada. Um de: {options}" |
2623 | + |
2624 | +#: ../../uaclient/messages/__init__.py:1010 |
2625 | +msgid "Include beta services" |
2626 | +msgstr "Inclui os serviços beta" |
2627 | + |
2628 | +#: ../../uaclient/messages/__init__.py:1012 |
2629 | +msgid "Enable an Ubuntu Pro service." |
2630 | +msgstr "Habilite um serviço Ubuntu Pro." |
2631 | + |
2632 | +#: ../../uaclient/messages/__init__.py:1014 |
2633 | +#, python-brace-format |
2634 | +msgid "the name(s) of the Ubuntu Pro services to enable. One of: {options}" |
2635 | +msgstr "os nome(s)n dos serviços Ubuntu Pro para habilitar. Um de: {options}" |
2636 | + |
2637 | +#: ../../uaclient/messages/__init__.py:1017 |
2638 | +msgid "" |
2639 | +"do not auto-install packages. Valid for cc-eal, cis and realtime-kernel." |
2640 | +msgstr "" |
2641 | +"não instale pacotes automaticamente. Válido para cc-eal, cis e realtime-" |
2642 | +"kernel." |
2643 | + |
2644 | +#: ../../uaclient/messages/__init__.py:1020 |
2645 | +msgid "allow beta service to be enabled" |
2646 | +msgstr "permita que serviços beta sejam habilitados" |
2647 | + |
2648 | +#: ../../uaclient/messages/__init__.py:1022 |
2649 | +msgid "The name of the variant to use when enabling the service" |
2650 | +msgstr "O nome da variante para usar ao habilitar o serviço" |
2651 | + |
2652 | +#: ../../uaclient/messages/__init__.py:1025 |
2653 | +msgid "Disable an Ubuntu Pro service." |
2654 | +msgstr "Desabilite um serviço do Ubuntu Pro." |
2655 | + |
2656 | +#: ../../uaclient/messages/__init__.py:1027 |
2657 | +#, python-brace-format |
2658 | +msgid "the name(s) of the Ubuntu Pro services to disable. One of: {options}" |
2659 | +msgstr "" |
2660 | +"os nome(s) do serviços do Ubuntu Pro para desabilitar. Um de: {options}" |
2661 | + |
2662 | +#: ../../uaclient/messages/__init__.py:1030 |
2663 | +msgid "" |
2664 | +"disable the service and remove/downgrade related packages (experimental)" |
2665 | +msgstr "" |
2666 | + |
2667 | +#: ../../uaclient/messages/__init__.py:1034 |
2668 | +msgid "Output system related information related to Pro services" |
2669 | +msgstr "Mostre informações de sistema relacionados aos serviços do Ubuntu Pro" |
2670 | + |
2671 | +#: ../../uaclient/messages/__init__.py:1036 |
2672 | +msgid "does the system need to be rebooted" |
2673 | +msgstr "se o sistema precisa ser reiniciado" |
2674 | + |
2675 | +#: ../../uaclient/messages/__init__.py:1038 |
2676 | +msgid "" |
2677 | +"Report the current reboot-required status for the machine.\n" |
2678 | +"\n" |
2679 | +"This command will output one of the three following states\n" |
2680 | +"for the machine regarding reboot:\n" |
2681 | +"\n" |
2682 | +"* no: The machine doesn't require a reboot\n" |
2683 | +"* yes: The machine requires a reboot\n" |
2684 | +"* yes-kernel-livepatches-applied: There are only kernel related\n" |
2685 | +" packages that require a reboot, but Livepatch has already provided\n" |
2686 | +" patches for the current running kernel. The machine still needs a\n" |
2687 | +" reboot, but you can assess if the reboot can be performed in the\n" |
2688 | +" nearest maintenance window.\n" |
2689 | +msgstr "" |
2690 | +"Reporte o atual status de reboot-required para esta máquina.\n" |
2691 | +"\n" |
2692 | +"Este comando irá mostrar um dos três estados para a máquina\n" |
2693 | +"relacionados à operação de reiniciar o sistema:\n" |
2694 | +"\n" |
2695 | +"* no: A máquina não precisa ser reiniciada\n" |
2696 | +"* yes: A máquina precisa ser reiniciada\n" |
2697 | +"* yes-kernel-livepatches-applied: Só existem pacotes relacionados ao kernel " |
2698 | +"que necessitam\n" |
2699 | +" de reiniciar a máquina. Entretanto, o Livepatch já providenciou\n" |
2700 | +" patches para o kernel atual em execução. A máquina ainda precisa ser\n" |
2701 | +" reiniciada, mas você pode averiguar se o reinício pode acontecer no\n" |
2702 | +" período de manutenção mais próximo.\n" |
2703 | + |
2704 | +#: ../../uaclient/messages/__init__.py:1055 |
2705 | +msgid "" |
2706 | +"Report current status of Ubuntu Pro services on system.\n" |
2707 | +"\n" |
2708 | +"This shows whether this machine is attached to an Ubuntu Advantage\n" |
2709 | +"support contract. When attached, the report includes the specific\n" |
2710 | +"support contract details including contract name, expiry dates, and the\n" |
2711 | +"status of each service on this system.\n" |
2712 | +"\n" |
2713 | +"The attached status output has four columns:\n" |
2714 | +"\n" |
2715 | +"* SERVICE: name of the service\n" |
2716 | +"* ENTITLED: whether the contract to which this machine is attached\n" |
2717 | +" entitles use of this service. Possible values are: yes or no\n" |
2718 | +"* STATUS: whether the service is enabled on this machine. Possible\n" |
2719 | +" values are: enabled, disabled, n/a (if your contract entitles\n" |
2720 | +" you to the service, but it isn't available for this machine) or — (if\n" |
2721 | +" you aren't entitled to this service)\n" |
2722 | +"* DESCRIPTION: a brief description of the service\n" |
2723 | +"\n" |
2724 | +"The unattached status output instead has three columns. SERVICE\n" |
2725 | +"and DESCRIPTION are the same as above, and there is the addition\n" |
2726 | +"of:\n" |
2727 | +"\n" |
2728 | +"* AVAILABLE: whether this service would be available if this machine\n" |
2729 | +" were attached. The possible values are yes or no.\n" |
2730 | +"\n" |
2731 | +"If --simulate-with-token is used, then the output has five\n" |
2732 | +"columns. SERVICE, AVAILABLE, ENTITLED and DESCRIPTION are the same\n" |
2733 | +"as mentioned above, and AUTO_ENABLED shows whether the service is set\n" |
2734 | +"to be enabled when that token is attached.\n" |
2735 | +"\n" |
2736 | +"If the --all flag is set, beta and unavailable services are also\n" |
2737 | +"listed in the output.\n" |
2738 | +msgstr "" |
2739 | +"Reportar o atual status dos serviços do Ubuntu Pro no sistema.\n" |
2740 | +"\n" |
2741 | +"Este comando mostra se uma máquina está vinculada a um contrato de suporte\n" |
2742 | +"do Ubuntu Pro. Quando vinculada, serão mostrados detalhes específicos\n" |
2743 | +"do contrato de suporte, incluindo nome do contrato, data de vencimento e o\n" |
2744 | +"status de cada serviço no sistema.\n" |
2745 | +"\n" |
2746 | +"O status de uma máquina vinculada a um contrato possui quatro colunas:\n" |
2747 | +"\n" |
2748 | +"* SERVIÇO: o nome do serviço\n" |
2749 | +"* INCLUÍDO: Se o serviço está incluído no contrato vinculado a máquina.\n" |
2750 | +" Valores possíves: sim ou não\n" |
2751 | +"* STATUS: Se o serviço está habilitado nesta máquina. valores possíveis\n" |
2752 | +" são: habilitado, desabilitado, n/d (se o contrato diz que o serviço está\n" |
2753 | +" disponível, mas o serviço não pode ser habilitado devido a uma restrição " |
2754 | +"da máquina)\n" |
2755 | +" ou — (se o contrato não mostra esse serviço como disponível)\n" |
2756 | +"* DESCRIÇÃO: uma breve descrição do serviço\n" |
2757 | +"\n" |
2758 | +"Caso a máquina esteja desvinculada de um contrato, três colunas serão " |
2759 | +"mostradas.\n" |
2760 | +"SERVIÇO e DESCRIÇÃO são as mesmas informações mostradas acima, com a adição " |
2761 | +"da\n" |
2762 | +"coluna:\n" |
2763 | +"\n" |
2764 | +"* DISPONÍVEL: se o serviço estaria disponível caso a máquina fosse vinculada " |
2765 | +"a um contrato\n" |
2766 | +" Os valores possíveis aqui são sim e não.\n" |
2767 | +"\n" |
2768 | +"Se --simulate-with-token for usado, serão mostradas cinco colunas.\n" |
2769 | +"SERVIÇO, DISPONÍVEL, INCLUÍDO, DESCRIÇÃO (os mesmos mencionados acima) e\n" |
2770 | +"AUTO_HABILITADO mostrando se o serviço seria habilitado automaticamente se\n" |
2771 | +"a máquina for vinculada a um contrato.\n" |
2772 | +"\n" |
2773 | +"Se a flag --all for usada, serviços beta e indisponíveis também\n" |
2774 | +"serão listado.\n" |
2775 | + |
2776 | +#: ../../uaclient/messages/__init__.py:1090 |
2777 | +msgid "Block waiting on pro to complete" |
2778 | +msgstr "Espera até o pro completar sua operação" |
2779 | + |
2780 | +#: ../../uaclient/messages/__init__.py:1092 |
2781 | +msgid "simulate the output status using a provided token" |
2782 | +msgstr "simula a mensagem de status usando um token fornecido" |
2783 | + |
2784 | +#: ../../uaclient/messages/__init__.py:1094 |
2785 | +msgid "Include unavailable and beta services" |
2786 | +msgstr "Inclui serviços beta e indisponíveis" |
2787 | + |
2788 | +#: ../../uaclient/messages/__init__.py:1096 |
2789 | +msgid "show all debug log messages to console" |
2790 | +msgstr "mostra todas os logs de debug na saída do comando" |
2791 | + |
2792 | +#: ../../uaclient/messages/__init__.py:1097 |
2793 | +#, python-brace-format |
2794 | +msgid "show version of {name}" |
2795 | +msgstr "mostra versão de {name}" |
2796 | + |
2797 | +#: ../../uaclient/messages/__init__.py:1099 |
2798 | +msgid "attach this machine to an Ubuntu Pro subscription" |
2799 | +msgstr "vincule esta máquina a uma assinatura Ubuntu Pro" |
2800 | + |
2801 | +#: ../../uaclient/messages/__init__.py:1102 |
2802 | +msgid "automatically attach on supported platforms" |
2803 | +msgstr "automaticamente vincule está máquina em plataformas suportadas" |
2804 | + |
2805 | +#: ../../uaclient/messages/__init__.py:1103 |
2806 | +msgid "collect Pro logs and debug information" |
2807 | +msgstr "coleta logs do Pro e informações de debug" |
2808 | + |
2809 | +#: ../../uaclient/messages/__init__.py:1104 |
2810 | +msgid "manage Ubuntu Pro configuration on this machine" |
2811 | +msgstr "gerencia configuração do Ubuntu Pro nesta máquina" |
2812 | + |
2813 | +#: ../../uaclient/messages/__init__.py:1106 |
2814 | +msgid "remove this machine from an Ubuntu Pro subscription" |
2815 | +msgstr "desvincula esta máquina de uma assinatura Ubuntu Pro" |
2816 | + |
2817 | +#: ../../uaclient/messages/__init__.py:1109 |
2818 | +msgid "disable a specific Ubuntu Pro service on this machine" |
2819 | +msgstr "desabilita nesta máquina um serviço do Ubuntu Pro" |
2820 | + |
2821 | +#: ../../uaclient/messages/__init__.py:1112 |
2822 | +msgid "enable a specific Ubuntu Pro service on this machine" |
2823 | +msgstr "habilita nesta máquina um serviço Ubuntu Pro" |
2824 | + |
2825 | +#: ../../uaclient/messages/__init__.py:1115 |
2826 | +msgid "check for and mitigate the impact of a CVE/USN on this system" |
2827 | +msgstr "checa e corrige os problemas de segurança de um CVE/USN na máquina" |
2828 | + |
2829 | +#: ../../uaclient/messages/__init__.py:1118 |
2830 | +msgid "list available security updates for the system" |
2831 | +msgstr "lista atualizações de segurança disponíveis para o sistema" |
2832 | + |
2833 | +#: ../../uaclient/messages/__init__.py:1121 |
2834 | +msgid "show detailed information about Ubuntu Pro services" |
2835 | +msgstr "mostra informações detalhadas sobre os serviços do Ubuntu Pro" |
2836 | + |
2837 | +#: ../../uaclient/messages/__init__.py:1123 |
2838 | +msgid "refresh Ubuntu Pro services" |
2839 | +msgstr "atualiza os serviços do Ubuntu Pro" |
2840 | + |
2841 | +#: ../../uaclient/messages/__init__.py:1124 |
2842 | +msgid "current status of all Ubuntu Pro services" |
2843 | +msgstr "status atual de todos os serviços do Ubuntu Pro" |
2844 | + |
2845 | +#: ../../uaclient/messages/__init__.py:1125 |
2846 | +msgid "show system information related to Pro services" |
2847 | +msgstr "mostra informações de sistema relacionados a serviços do Ubuntu Pro" |
2848 | + |
2849 | +#: ../../uaclient/messages/__init__.py:1128 |
2850 | +#, python-brace-format |
2851 | +msgid "" |
2852 | +"WARNING: this output is intended to be human readable, and subject to " |
2853 | +"change.\n" |
2854 | +"In scripts, prefer using machine readable data from the `pro api` command,\n" |
2855 | +"or use `pro {command} --format json`.\n" |
2856 | +msgstr "" |
2857 | +"ATENÇÃO: a saída deste comando é para ser legível para humanos. Tal saída " |
2858 | +"está\n" |
2859 | +"sujeita à mudanças no futuro.\n" |
2860 | +"Em scripts, é melhor usar a formatos legíveis para máquinas via comandos " |
2861 | +"`pro api`,\n" |
2862 | +"ou usar `pro {command} --format json`.\n" |
2863 | + |
2864 | +#. ############################################################################## |
2865 | +#. SERVICE-SPECIFIC MESSAGES # |
2866 | +#. ############################################################################## |
2867 | +#: ../../uaclient/messages/__init__.py:1141 |
2868 | +msgid "Anbox Cloud" |
2869 | +msgstr "Anbox Cloud" |
2870 | + |
2871 | +#: ../../uaclient/messages/__init__.py:1142 |
2872 | +msgid "Scalable Android in the cloud" |
2873 | +msgstr "Android escalável na nuvem" |
2874 | + |
2875 | +#: ../../uaclient/messages/__init__.py:1144 |
2876 | +#, python-brace-format |
2877 | +msgid "" |
2878 | +"Anbox Cloud lets you stream mobile apps securely, at any scale, to any " |
2879 | +"device,\n" |
2880 | +"letting you focus on your apps. Run Android in system containers on public " |
2881 | +"or\n" |
2882 | +"private clouds with ultra low streaming latency. When the anbox-cloud " |
2883 | +"service\n" |
2884 | +"is enabled, by default, the Appliance variant is enabled. Enabling this " |
2885 | +"service\n" |
2886 | +"allows orchestration to provision a PPA with the Anbox Cloud resources. " |
2887 | +"This\n" |
2888 | +"step also configures the Anbox Management Service (AMS) with the necessary\n" |
2889 | +"image server credentials. To learn more about Anbox Cloud, see\n" |
2890 | +"{url}" |
2891 | +msgstr "" |
2892 | + |
2893 | +#: ../../uaclient/messages/__init__.py:1155 |
2894 | +#, python-brace-format |
2895 | +msgid "" |
2896 | +"To finish setting up the Anbox Cloud Appliance, run:\n" |
2897 | +"\n" |
2898 | +"$ sudo anbox-cloud-appliance init\n" |
2899 | +"\n" |
2900 | +"You can accept the default answers if you do not have any specific\n" |
2901 | +"configuration changes.\n" |
2902 | +"For more information, see {url}\n" |
2903 | +msgstr "" |
2904 | + |
2905 | +#: ../../uaclient/messages/__init__.py:1166 |
2906 | +msgid "CC EAL2" |
2907 | +msgstr "" |
2908 | + |
2909 | +#: ../../uaclient/messages/__init__.py:1167 |
2910 | +msgid "Common Criteria EAL2 Provisioning Packages" |
2911 | +msgstr "Pacotes de Provisionamento do Common Criteria EAL2" |
2912 | + |
2913 | +#: ../../uaclient/messages/__init__.py:1169 |
2914 | +msgid "" |
2915 | +"Common Criteria is an Information Technology Security Evaluation standard\n" |
2916 | +"(ISO/IEC IS 15408) for computer security certification. Ubuntu 16.04 has " |
2917 | +"been\n" |
2918 | +"evaluated to assurance level EAL2 through CSEC. The evaluation was " |
2919 | +"performed\n" |
2920 | +"on Intel x86_64, IBM Power8 and IBM Z hardware platforms." |
2921 | +msgstr "" |
2922 | + |
2923 | +#: ../../uaclient/messages/__init__.py:1176 |
2924 | +msgid "" |
2925 | +"(This will download more than 500MB of packages, so may take some time.)" |
2926 | +msgstr "" |
2927 | + |
2928 | +#: ../../uaclient/messages/__init__.py:1180 |
2929 | +#, python-brace-format |
2930 | +msgid "Please follow instructions in {filename} to configure EAL2" |
2931 | +msgstr "" |
2932 | + |
2933 | +#: ../../uaclient/messages/__init__.py:1183 |
2934 | +msgid "CIS Audit" |
2935 | +msgstr "" |
2936 | + |
2937 | +#: ../../uaclient/messages/__init__.py:1184 |
2938 | +msgid "Ubuntu Security Guide" |
2939 | +msgstr "" |
2940 | + |
2941 | +#: ../../uaclient/messages/__init__.py:1185 |
2942 | +msgid "Security compliance and audit tools" |
2943 | +msgstr "Ferramentas de auditoria e conformidade de segurança" |
2944 | + |
2945 | +#: ../../uaclient/messages/__init__.py:1187 |
2946 | +#, python-brace-format |
2947 | +msgid "" |
2948 | +"Ubuntu Security Guide is a tool for hardening and auditing and allows for\n" |
2949 | +"environment-specific customizations. It enables compliance with profiles " |
2950 | +"such\n" |
2951 | +"as DISA-STIG and the CIS benchmarks. Find out more at\n" |
2952 | +"{url}" |
2953 | +msgstr "" |
2954 | + |
2955 | +#: ../../uaclient/messages/__init__.py:1193 |
2956 | +#, python-brace-format |
2957 | +msgid "Visit {url} to learn how to use CIS" |
2958 | +msgstr "" |
2959 | + |
2960 | +#: ../../uaclient/messages/__init__.py:1196 |
2961 | +#, python-brace-format |
2962 | +msgid "Visit {url} for the next steps" |
2963 | +msgstr "" |
2964 | + |
2965 | +#: ../../uaclient/messages/__init__.py:1200 |
2966 | +#, python-brace-format |
2967 | +msgid "" |
2968 | +"From Ubuntu 20.04 and onwards 'pro enable cis' has been\n" |
2969 | +"replaced by 'pro enable usg'. See more information at:\n" |
2970 | +"{url}" |
2971 | +msgstr "" |
2972 | + |
2973 | +#: ../../uaclient/messages/__init__.py:1208 |
2974 | +msgid "Expanded Security Maintenance for Applications" |
2975 | +msgstr "Manutenção de Segurança Expandida para Aplicações" |
2976 | + |
2977 | +#: ../../uaclient/messages/__init__.py:1211 |
2978 | +#, python-brace-format |
2979 | +msgid "" |
2980 | +"Expanded Security Maintenance for Applications is enabled by default on\n" |
2981 | +"entitled workloads. It provides access to a private PPA which includes\n" |
2982 | +"available high and critical CVE fixes for Ubuntu LTS packages in the Ubuntu\n" |
2983 | +"Main and Ubuntu Universe repositories from the Ubuntu LTS release date " |
2984 | +"until\n" |
2985 | +"its end of life. You can find out more about the esm service at\n" |
2986 | +"{url}" |
2987 | +msgstr "" |
2988 | + |
2989 | +#: ../../uaclient/messages/__init__.py:1222 |
2990 | +msgid "Expanded Security Maintenance for Infrastructure" |
2991 | +msgstr "Manutenção de Segurança Expandida para Infraestrutura" |
2992 | + |
2993 | +#: ../../uaclient/messages/__init__.py:1225 |
2994 | +#, python-brace-format |
2995 | +msgid "" |
2996 | +"Expanded Security Maintenance for Infrastructure provides access to a " |
2997 | +"private\n" |
2998 | +"PPA which includes available high and critical CVE fixes for Ubuntu LTS\n" |
2999 | +"packages in the Ubuntu Main repository between the end of the standard " |
3000 | +"Ubuntu\n" |
3001 | +"LTS security maintenance and its end of life. It is enabled by default with\n" |
3002 | +"Ubuntu Pro. You can find out more about the service at\n" |
3003 | +"{url}" |
3004 | +msgstr "" |
3005 | + |
3006 | +#: ../../uaclient/messages/__init__.py:1234 |
3007 | +msgid "FIPS" |
3008 | +msgstr "" |
3009 | + |
3010 | +#: ../../uaclient/messages/__init__.py:1235 |
3011 | +msgid "NIST-certified FIPS crypto packages" |
3012 | +msgstr "Pacotes FIPS de criptografia certificados pelo NIST" |
3013 | + |
3014 | +#: ../../uaclient/messages/__init__.py:1237 |
3015 | +#, python-brace-format |
3016 | +msgid "" |
3017 | +"Installs FIPS 140 crypto packages for FedRAMP, FISMA and compliance use " |
3018 | +"cases.\n" |
3019 | +"Note that \"fips\" does not provide security patching. For FIPS certified\n" |
3020 | +"modules with security patches please see \"fips-updates\". If you are " |
3021 | +"unsure,\n" |
3022 | +"choose \"fips-updates\" for maximum security. Find out more at {url}" |
3023 | +msgstr "" |
3024 | + |
3025 | +#: ../../uaclient/messages/__init__.py:1244 |
3026 | +msgid "Could not determine cloud, defaulting to generic FIPS package." |
3027 | +msgstr "" |
3028 | + |
3029 | +#: ../../uaclient/messages/__init__.py:1247 |
3030 | +#, python-brace-format |
3031 | +msgid "" |
3032 | +"FIPS kernel is running in a disabled state.\n" |
3033 | +" To manually remove fips kernel: {url}\n" |
3034 | +msgstr "" |
3035 | + |
3036 | +#: ../../uaclient/messages/__init__.py:1253 |
3037 | +msgid "" |
3038 | +"Warning: FIPS kernel is not optimized for your specific cloud.\n" |
3039 | +"To fix it, run the following commands:\n" |
3040 | +"\n" |
3041 | +" 1. sudo pro disable fips\n" |
3042 | +" 2. sudo apt-get remove ubuntu-fips\n" |
3043 | +" 3. sudo pro enable fips --assume-yes\n" |
3044 | +" 4. sudo reboot\n" |
3045 | +msgstr "" |
3046 | + |
3047 | +#: ../../uaclient/messages/__init__.py:1265 |
3048 | +msgid "" |
3049 | +"This will install the FIPS packages. The Livepatch service will be " |
3050 | +"unavailable.\n" |
3051 | +"Warning: This action can take some time and cannot be undone.\n" |
3052 | +msgstr "" |
3053 | + |
3054 | +#: ../../uaclient/messages/__init__.py:1274 |
3055 | +msgid "" |
3056 | +"This will install the FIPS packages including security updates.\n" |
3057 | +"Warning: This action can take some time and cannot be undone.\n" |
3058 | +msgstr "" |
3059 | + |
3060 | +#: ../../uaclient/messages/__init__.py:1283 |
3061 | +#, python-brace-format |
3062 | +msgid "" |
3063 | +"Warning: Enabling {title} in a container.\n" |
3064 | +" This will install the FIPS packages but not the kernel.\n" |
3065 | +" This container must run on a host with {title} enabled to be\n" |
3066 | +" compliant.\n" |
3067 | +"Warning: This action can take some time and cannot be undone.\n" |
3068 | +msgstr "" |
3069 | + |
3070 | +#: ../../uaclient/messages/__init__.py:1295 |
3071 | +#, python-brace-format |
3072 | +msgid "" |
3073 | +"This will disable the {title} entitlement but the {title} packages will " |
3074 | +"remain installed.\n" |
3075 | +msgstr "" |
3076 | + |
3077 | +#: ../../uaclient/messages/__init__.py:1302 |
3078 | +msgid "FIPS support requires system reboot to complete configuration." |
3079 | +msgstr "" |
3080 | + |
3081 | +#: ../../uaclient/messages/__init__.py:1304 |
3082 | +#: ../../uaclient/messages/__init__.py:1735 |
3083 | +msgid "Reboot to FIPS kernel required" |
3084 | +msgstr "" |
3085 | + |
3086 | +#: ../../uaclient/messages/__init__.py:1306 |
3087 | +msgid "This FIPS install is out of date, run: sudo pro enable fips" |
3088 | +msgstr "" |
3089 | + |
3090 | +#: ../../uaclient/messages/__init__.py:1309 |
3091 | +msgid "Disabling FIPS requires system reboot to complete operation." |
3092 | +msgstr "" |
3093 | + |
3094 | +#: ../../uaclient/messages/__init__.py:1312 |
3095 | +#, python-brace-format |
3096 | +msgid "{service} {pkg} package could not be installed" |
3097 | +msgstr "" |
3098 | + |
3099 | +#: ../../uaclient/messages/__init__.py:1315 |
3100 | +msgid "" |
3101 | +"Please run `apt upgrade` to ensure all FIPS packages are updated to the " |
3102 | +"correct\n" |
3103 | +"version.\n" |
3104 | +msgstr "" |
3105 | + |
3106 | +#: ../../uaclient/messages/__init__.py:1321 |
3107 | +msgid "FIPS Updates" |
3108 | +msgstr "" |
3109 | + |
3110 | +#: ../../uaclient/messages/__init__.py:1323 |
3111 | +msgid "FIPS compliant crypto packages with stable security updates" |
3112 | +msgstr "" |
3113 | +"Pacotes de criptografia compatíveis com FIPS com atualizações de segurança " |
3114 | +"estáveis" |
3115 | + |
3116 | +#: ../../uaclient/messages/__init__.py:1326 |
3117 | +#, python-brace-format |
3118 | +msgid "" |
3119 | +"fips-updates installs FIPS 140 crypto packages including all security " |
3120 | +"patches\n" |
3121 | +"for those modules that have been provided since their certification date.\n" |
3122 | +"You can find out more at {url}" |
3123 | +msgstr "" |
3124 | + |
3125 | +#: ../../uaclient/messages/__init__.py:1332 |
3126 | +msgid "FIPS Preview" |
3127 | +msgstr "" |
3128 | + |
3129 | +#: ../../uaclient/messages/__init__.py:1334 |
3130 | +msgid "Preview of FIPS crypto packages undergoing certification with NIST" |
3131 | +msgstr "" |
3132 | +"Prévia de pacotes FIPS de criptografia em processo de certificação pelo NIST" |
3133 | + |
3134 | +#: ../../uaclient/messages/__init__.py:1337 |
3135 | +msgid "" |
3136 | +"Installs FIPS crypto packages that are under certification with NIST,\n" |
3137 | +"for FedRAMP, FISMA and compliance use cases." |
3138 | +msgstr "" |
3139 | + |
3140 | +#: ../../uaclient/messages/__init__.py:1342 |
3141 | +msgid "" |
3142 | +"This will install crypto packages that have been submitted to NIST for " |
3143 | +"review\n" |
3144 | +"but do not have FIPS certification yet. Use this for early access to the " |
3145 | +"FIPS\n" |
3146 | +"modules.\n" |
3147 | +"Please note that the Livepatch service will be unavailable after\n" |
3148 | +"this operation.\n" |
3149 | +"Warning: This action can take some time and cannot be undone.\n" |
3150 | +msgstr "" |
3151 | + |
3152 | +#: ../../uaclient/messages/__init__.py:1353 |
3153 | +msgid "Landscape" |
3154 | +msgstr "" |
3155 | + |
3156 | +#: ../../uaclient/messages/__init__.py:1355 |
3157 | +msgid "Management and administration tool for Ubuntu" |
3158 | +msgstr "Ferramenta de gerenciamento e administração para o Ubuntu" |
3159 | + |
3160 | +#: ../../uaclient/messages/__init__.py:1358 |
3161 | +#, python-brace-format |
3162 | +msgid "" |
3163 | +"Landscape Client can be installed on this machine and enrolled in " |
3164 | +"Canonical's\n" |
3165 | +"Landscape SaaS: {saas_url} or a self-hosted Landscape:\n" |
3166 | +"{install_url}\n" |
3167 | +"Landscape allows you to manage many machines as easily as one, with an\n" |
3168 | +"intuitive dashboard and API interface for automation, hardening, auditing, " |
3169 | +"and\n" |
3170 | +"more. Find out more about Landscape at {home_url}" |
3171 | +msgstr "" |
3172 | + |
3173 | +#: ../../uaclient/messages/__init__.py:1371 |
3174 | +msgid "Livepatch" |
3175 | +msgstr "" |
3176 | + |
3177 | +#: ../../uaclient/messages/__init__.py:1372 |
3178 | +msgid "Canonical Livepatch service" |
3179 | +msgstr "Serviço de Livepatch da Canonical" |
3180 | + |
3181 | +#: ../../uaclient/messages/__init__.py:1374 |
3182 | +#, python-brace-format |
3183 | +msgid "" |
3184 | +"Livepatch provides selected high and critical kernel CVE fixes and other\n" |
3185 | +"non-security bug fixes as kernel livepatches. Livepatches are applied " |
3186 | +"without\n" |
3187 | +"rebooting a machine which drastically limits the need for unscheduled " |
3188 | +"system\n" |
3189 | +"reboots. Due to the nature of fips compliance, livepatches cannot be " |
3190 | +"enabled\n" |
3191 | +"on fips-enabled systems. You can find out more about Ubuntu Kernel " |
3192 | +"Livepatch\n" |
3193 | +"service at {url}" |
3194 | +msgstr "" |
3195 | + |
3196 | +#: ../../uaclient/messages/__init__.py:1383 |
3197 | +msgid "Current kernel is not supported" |
3198 | +msgstr "" |
3199 | + |
3200 | +#: ../../uaclient/messages/__init__.py:1386 |
3201 | +#, python-brace-format |
3202 | +msgid "Supported livepatch kernels are listed here: {url}" |
3203 | +msgstr "" |
3204 | + |
3205 | +#: ../../uaclient/messages/__init__.py:1389 |
3206 | +#, python-brace-format |
3207 | +msgid "Unable to configure livepatch: {error_msg}" |
3208 | +msgstr "" |
3209 | + |
3210 | +#: ../../uaclient/messages/__init__.py:1391 |
3211 | +msgid "Unable to enable Livepatch: " |
3212 | +msgstr "" |
3213 | + |
3214 | +#: ../../uaclient/messages/__init__.py:1393 |
3215 | +msgid "Disabling Livepatch prior to re-attach with new token" |
3216 | +msgstr "" |
3217 | + |
3218 | +#: ../../uaclient/messages/__init__.py:1396 |
3219 | +msgid "Livepatch support requires a system reboot across LTS upgrade." |
3220 | +msgstr "" |
3221 | + |
3222 | +#: ../../uaclient/messages/__init__.py:1399 |
3223 | +#: ../../uaclient/messages/__init__.py:1412 |
3224 | +msgid "Real-time kernel" |
3225 | +msgstr "" |
3226 | + |
3227 | +#: ../../uaclient/messages/__init__.py:1401 |
3228 | +msgid "Ubuntu kernel with PREEMPT_RT patches integrated" |
3229 | +msgstr "Kernel do Ubuntu com patches PREEMPT_RT integrados" |
3230 | + |
3231 | +#: ../../uaclient/messages/__init__.py:1404 |
3232 | +msgid "" |
3233 | +"The Real-time kernel is an Ubuntu kernel with PREEMPT_RT patches integrated. " |
3234 | +"It\n" |
3235 | +"services latency-dependent use cases by providing deterministic response " |
3236 | +"times.\n" |
3237 | +"The Real-time kernel meets stringent preemption specifications and is " |
3238 | +"suitable\n" |
3239 | +"for telco applications and dedicated devices in industrial automation and\n" |
3240 | +"robotics. The Real-time kernel is currently incompatible with FIPS and\n" |
3241 | +"Livepatch." |
3242 | +msgstr "" |
3243 | + |
3244 | +#: ../../uaclient/messages/__init__.py:1414 |
3245 | +msgid "Generic version of the RT kernel (default)" |
3246 | +msgstr "Versão genérica do kernel RT (padrão)" |
3247 | + |
3248 | +#: ../../uaclient/messages/__init__.py:1416 |
3249 | +msgid "Real-time NVIDIA Tegra Kernel" |
3250 | +msgstr "" |
3251 | + |
3252 | +#: ../../uaclient/messages/__init__.py:1418 |
3253 | +msgid "RT kernel optimized for NVIDIA Tegra platform" |
3254 | +msgstr "Kernel RT otimizado para a plataforma NVIDIA Tegra" |
3255 | + |
3256 | +#: ../../uaclient/messages/__init__.py:1420 |
3257 | +msgid "Real-time Intel IOTG Kernel" |
3258 | +msgstr "" |
3259 | + |
3260 | +#: ../../uaclient/messages/__init__.py:1422 |
3261 | +msgid "RT kernel optimized for Intel IOTG platform" |
3262 | +msgstr "Kernel RT otimizado para a plataforma Intel IOTG" |
3263 | + |
3264 | +#: ../../uaclient/messages/__init__.py:1425 |
3265 | +#, python-brace-format |
3266 | +msgid "" |
3267 | +"The Real-time kernel is an Ubuntu kernel with PREEMPT_RT patches " |
3268 | +"integrated.\n" |
3269 | +"\n" |
3270 | +"{bold}This will change your kernel. To revert to your original kernel, you " |
3271 | +"will need\n" |
3272 | +"to make the change manually.{end_bold}\n" |
3273 | +"\n" |
3274 | +"Do you want to continue? [ default = Yes ]: (Y/n) " |
3275 | +msgstr "" |
3276 | + |
3277 | +#: ../../uaclient/messages/__init__.py:1436 |
3278 | +msgid "" |
3279 | +"This will remove the boot order preference for the Real-time kernel and\n" |
3280 | +"disable updates to the Real-time kernel.\n" |
3281 | +"\n" |
3282 | +"This will NOT fully remove the kernel from your system.\n" |
3283 | +"\n" |
3284 | +"After this operation is complete you must:\n" |
3285 | +" - Ensure a different kernel is installed and configured to boot\n" |
3286 | +" - Reboot into that kernel\n" |
3287 | +" - Fully remove the realtime kernel packages from your system\n" |
3288 | +" - This might look something like `apt remove linux*realtime`,\n" |
3289 | +" but you must ensure this is correct before running it.\n" |
3290 | +"\n" |
3291 | +"Are you sure? (y/N) " |
3292 | +msgstr "" |
3293 | + |
3294 | +#: ../../uaclient/messages/__init__.py:1452 |
3295 | +msgid "ROS ESM Security Updates" |
3296 | +msgstr "" |
3297 | + |
3298 | +#: ../../uaclient/messages/__init__.py:1453 |
3299 | +msgid "Security Updates for the Robot Operating System" |
3300 | +msgstr "Atualizações de Segurança para o Robot Operating System" |
3301 | + |
3302 | +#: ../../uaclient/messages/__init__.py:1455 |
3303 | +#, python-brace-format |
3304 | +msgid "" |
3305 | +"ros provides access to a private PPA which includes security-related " |
3306 | +"updates\n" |
3307 | +"for available high and critical CVE fixes for Robot Operating System (ROS)\n" |
3308 | +"packages. For access to ROS ESM and security updates, both esm-infra and\n" |
3309 | +"esm-apps services will also be enabled. To get additional non-security " |
3310 | +"updates,\n" |
3311 | +"enable ros-updates. You can find out more about the ROS ESM service at\n" |
3312 | +"{url}" |
3313 | +msgstr "" |
3314 | + |
3315 | +#: ../../uaclient/messages/__init__.py:1464 |
3316 | +msgid "ROS ESM All Updates" |
3317 | +msgstr "" |
3318 | + |
3319 | +#: ../../uaclient/messages/__init__.py:1466 |
3320 | +msgid "All Updates for the Robot Operating System" |
3321 | +msgstr "Todas as Atualizações para o Robot Operating System" |
3322 | + |
3323 | +#: ../../uaclient/messages/__init__.py:1469 |
3324 | +#, python-brace-format |
3325 | +msgid "" |
3326 | +"ros-updates provides access to a private PPA that includes non-security-" |
3327 | +"related\n" |
3328 | +"updates for Robot Operating System (ROS) packages. For full access to ROS " |
3329 | +"ESM,\n" |
3330 | +"security and non-security updates, the esm-infra, esm-apps, and ros " |
3331 | +"services\n" |
3332 | +"will also be enabled. You can find out more about the ROS ESM service at\n" |
3333 | +"{url}" |
3334 | +msgstr "" |
3335 | + |
3336 | +#: ../../uaclient/messages/__init__.py:1540 |
3337 | +msgid "" |
3338 | +"Unexpected error(s) occurred.\n" |
3339 | +"For more details, see the log: /var/log/ubuntu-advantage.log\n" |
3340 | +"To file a bug run: ubuntu-bug ubuntu-advantage-tools" |
3341 | +msgstr "" |
3342 | + |
3343 | +#: ../../uaclient/messages/__init__.py:1550 |
3344 | +#, python-brace-format |
3345 | +msgid "" |
3346 | +"Failed to access URL: {url}\n" |
3347 | +"Cannot verify certificate of server\n" |
3348 | +"Please install \"ca-certificates\" and try again." |
3349 | +msgstr "" |
3350 | + |
3351 | +#: ../../uaclient/messages/__init__.py:1560 |
3352 | +#, python-brace-format |
3353 | +msgid "" |
3354 | +"Failed to access URL: {url}\n" |
3355 | +"Cannot verify certificate of server\n" |
3356 | +"Please check your openssl configuration." |
3357 | +msgstr "" |
3358 | + |
3359 | +#: ../../uaclient/messages/__init__.py:1569 |
3360 | +#, python-brace-format |
3361 | +msgid "Ignoring unknown argument '{arg}'" |
3362 | +msgstr "" |
3363 | + |
3364 | +#: ../../uaclient/messages/__init__.py:1575 |
3365 | +#, python-brace-format |
3366 | +msgid "" |
3367 | +"A new version of the client is available: {version}. Please upgrade to the " |
3368 | +"latest version to get the new features and bug fixes." |
3369 | +msgstr "" |
3370 | + |
3371 | +#: ../../uaclient/messages/__init__.py:1582 |
3372 | +#, python-brace-format |
3373 | +msgid "{title} does not support being enabled with --access-only" |
3374 | +msgstr "" |
3375 | + |
3376 | +#: ../../uaclient/messages/__init__.py:1587 |
3377 | +#, python-brace-format |
3378 | +msgid "{title} does not support being disabled with --purge" |
3379 | +msgstr "" |
3380 | + |
3381 | +#: ../../uaclient/messages/__init__.py:1593 |
3382 | +#, python-brace-format |
3383 | +msgid "Cannot disable dependent service: {required_service}{error}" |
3384 | +msgstr "" |
3385 | + |
3386 | +#: ../../uaclient/messages/__init__.py:1600 |
3387 | +#, python-brace-format |
3388 | +msgid "" |
3389 | +"Cannot disable {service_being_disabled} when {dependent_service} is " |
3390 | +"enabled.\n" |
3391 | +msgstr "" |
3392 | + |
3393 | +#: ../../uaclient/messages/__init__.py:1608 |
3394 | +#, python-brace-format |
3395 | +msgid "Cannot disable {entitlement_name} with purge: no origin value defined" |
3396 | +msgstr "" |
3397 | + |
3398 | +#: ../../uaclient/messages/__init__.py:1615 |
3399 | +#, python-brace-format |
3400 | +msgid "Cannot enable required service: {service}{error}" |
3401 | +msgstr "" |
3402 | + |
3403 | +#: ../../uaclient/messages/__init__.py:1620 |
3404 | +#, python-brace-format |
3405 | +msgid "" |
3406 | +"Cannot enable {service_being_enabled} when {required_service} is disabled.\n" |
3407 | +msgstr "" |
3408 | + |
3409 | +#: ../../uaclient/messages/__init__.py:1628 |
3410 | +#, python-brace-format |
3411 | +msgid "" |
3412 | +"Cannot enable {service_being_enabled} when {incompatible_service} is enabled." |
3413 | +msgstr "" |
3414 | + |
3415 | +#: ../../uaclient/messages/__init__.py:1636 |
3416 | +#, python-brace-format |
3417 | +msgid "Cannot install {title} on a container." |
3418 | +msgstr "" |
3419 | + |
3420 | +#: ../../uaclient/messages/__init__.py:1639 |
3421 | +#, python-brace-format |
3422 | +msgid "{title} is not configured" |
3423 | +msgstr "" |
3424 | + |
3425 | +#: ../../uaclient/messages/__init__.py:1644 |
3426 | +#, python-brace-format |
3427 | +msgid "" |
3428 | +"The {service} service is not enabled because the {package} package is\n" |
3429 | +"not installed." |
3430 | +msgstr "" |
3431 | + |
3432 | +#: ../../uaclient/messages/__init__.py:1650 |
3433 | +#, python-brace-format |
3434 | +msgid "{title} is active" |
3435 | +msgstr "" |
3436 | + |
3437 | +#: ../../uaclient/messages/__init__.py:1654 |
3438 | +#, python-brace-format |
3439 | +msgid "{title} does not have an aptURL directive" |
3440 | +msgstr "" |
3441 | + |
3442 | +#: ../../uaclient/messages/__init__.py:1659 |
3443 | +#, python-brace-format |
3444 | +msgid "" |
3445 | +"{title} is not currently enabled\n" |
3446 | +"See: sudo pro status" |
3447 | +msgstr "" |
3448 | + |
3449 | +#: ../../uaclient/messages/__init__.py:1666 |
3450 | +#, python-brace-format |
3451 | +msgid "" |
3452 | +"{title} is already enabled.\n" |
3453 | +"See: sudo pro status" |
3454 | +msgstr "" |
3455 | + |
3456 | +#: ../../uaclient/messages/__init__.py:1673 |
3457 | +#, python-brace-format |
3458 | +msgid "" |
3459 | +"This subscription is not entitled to {{title}}\n" |
3460 | +"View your subscription at: {url}" |
3461 | +msgstr "" |
3462 | + |
3463 | +#: ../../uaclient/messages/__init__.py:1679 |
3464 | +#, python-brace-format |
3465 | +msgid "{title} is not entitled" |
3466 | +msgstr "" |
3467 | + |
3468 | +#: ../../uaclient/messages/__init__.py:1685 |
3469 | +#, python-brace-format |
3470 | +msgid "" |
3471 | +"{title} is not available for kernel {kernel}.\n" |
3472 | +"Minimum kernel version required: {min_kernel}." |
3473 | +msgstr "" |
3474 | + |
3475 | +#: ../../uaclient/messages/__init__.py:1693 |
3476 | +#, python-brace-format |
3477 | +msgid "" |
3478 | +"{title} is not available for kernel {kernel}.\n" |
3479 | +"Supported flavors are: {supported_kernels}." |
3480 | +msgstr "" |
3481 | + |
3482 | +#: ../../uaclient/messages/__init__.py:1701 |
3483 | +#, python-brace-format |
3484 | +msgid "{title} is not available for Ubuntu {series}." |
3485 | +msgstr "" |
3486 | + |
3487 | +#: ../../uaclient/messages/__init__.py:1708 |
3488 | +#, python-brace-format |
3489 | +msgid "" |
3490 | +"{title} is not available for platform {arch}.\n" |
3491 | +"Supported platforms are: {supported_arches}." |
3492 | +msgstr "" |
3493 | + |
3494 | +#: ../../uaclient/messages/__init__.py:1716 |
3495 | +#, python-brace-format |
3496 | +msgid "" |
3497 | +"{title} is not available for CPU vendor {vendor}.\n" |
3498 | +"Supported CPU vendors are: {supported_vendors}." |
3499 | +msgstr "" |
3500 | + |
3501 | +#: ../../uaclient/messages/__init__.py:1723 |
3502 | +msgid "no entitlement affordances checked" |
3503 | +msgstr "" |
3504 | + |
3505 | +#: ../../uaclient/messages/__init__.py:1729 |
3506 | +#, python-brace-format |
3507 | +msgid "" |
3508 | +"Ubuntu {{series}} does not provide {{cloud}} optimized FIPS kernel\n" |
3509 | +"For help see: {url}" |
3510 | +msgstr "" |
3511 | + |
3512 | +#: ../../uaclient/messages/__init__.py:1739 |
3513 | +#, python-brace-format |
3514 | +msgid "Cannot enable {fips} when {fips_updates} is enabled." |
3515 | +msgstr "" |
3516 | + |
3517 | +#: ../../uaclient/messages/__init__.py:1742 |
3518 | +#, python-brace-format |
3519 | +msgid "{file_name} is not set to 1" |
3520 | +msgstr "" |
3521 | + |
3522 | +#: ../../uaclient/messages/__init__.py:1746 |
3523 | +#, python-brace-format |
3524 | +msgid "Cannot enable {fips} because {fips_updates} was once enabled." |
3525 | +msgstr "" |
3526 | + |
3527 | +#: ../../uaclient/messages/__init__.py:1751 |
3528 | +msgid "" |
3529 | +"FIPS cannot be enabled if FIPS Updates has ever been enabled because FIPS " |
3530 | +"Updates installs security patches that aren't officially certified." |
3531 | +msgstr "" |
3532 | + |
3533 | +#: ../../uaclient/messages/__init__.py:1759 |
3534 | +msgid "" |
3535 | +"FIPS Updates cannot be enabled if FIPS is enabled. FIPS Updates installs " |
3536 | +"security patches that aren't officially certified." |
3537 | +msgstr "" |
3538 | + |
3539 | +#: ../../uaclient/messages/__init__.py:1768 |
3540 | +msgid "" |
3541 | +"Livepatch cannot be enabled while running the official FIPS certified " |
3542 | +"kernel. If you would like a FIPS compliant kernel with additional bug fixes " |
3543 | +"and security updates, you can use the FIPS Updates service with Livepatch." |
3544 | +msgstr "" |
3545 | + |
3546 | +#: ../../uaclient/messages/__init__.py:1776 |
3547 | +msgid "canonical-livepatch snap is not installed." |
3548 | +msgstr "" |
3549 | + |
3550 | +#: ../../uaclient/messages/__init__.py:1780 |
3551 | +msgid "Cannot enable Livepatch when FIPS is enabled." |
3552 | +msgstr "" |
3553 | + |
3554 | +#: ../../uaclient/messages/__init__.py:1785 |
3555 | +msgid "" |
3556 | +"The running kernel has reached the end of its active livepatch window.\n" |
3557 | +"Please upgrade the kernel with apt and reboot for continued livepatch " |
3558 | +"support." |
3559 | +msgstr "" |
3560 | + |
3561 | +#: ../../uaclient/messages/__init__.py:1793 |
3562 | +#, python-brace-format |
3563 | +msgid "" |
3564 | +"The current kernel ({{version}}, {{arch}}) has reached the end of its " |
3565 | +"livepatch support.\n" |
3566 | +"Supported kernels are listed here: {url}\n" |
3567 | +"Either switch to a supported kernel or `pro disable livepatch` to dismiss " |
3568 | +"this warning." |
3569 | +msgstr "" |
3570 | + |
3571 | +#: ../../uaclient/messages/__init__.py:1802 |
3572 | +#, python-brace-format |
3573 | +msgid "" |
3574 | +"The current kernel ({{version}}, {{arch}}) is not supported by livepatch.\n" |
3575 | +"Supported kernels are listed here: {url}\n" |
3576 | +"Either switch to a supported kernel or `pro disable livepatch` to dismiss " |
3577 | +"this warning." |
3578 | +msgstr "" |
3579 | + |
3580 | +#: ../../uaclient/messages/__init__.py:1812 |
3581 | +msgid "canonical-livepatch status didn't finish successfully" |
3582 | +msgstr "" |
3583 | + |
3584 | +#: ../../uaclient/messages/__init__.py:1818 |
3585 | +msgid "" |
3586 | +"Realtime and FIPS require different kernels, so you cannot enable both at " |
3587 | +"the same time." |
3588 | +msgstr "" |
3589 | + |
3590 | +#: ../../uaclient/messages/__init__.py:1825 |
3591 | +msgid "" |
3592 | +"Realtime and FIPS Updates require different kernels, so you cannot enable " |
3593 | +"both at the same time." |
3594 | +msgstr "" |
3595 | + |
3596 | +#: ../../uaclient/messages/__init__.py:1832 |
3597 | +msgid "Livepatch is not currently supported for the Real-time kernel." |
3598 | +msgstr "" |
3599 | + |
3600 | +#: ../../uaclient/messages/__init__.py:1837 |
3601 | +#, python-brace-format |
3602 | +msgid "{service} cannot be enabled together with {variant}" |
3603 | +msgstr "" |
3604 | + |
3605 | +#: ../../uaclient/messages/__init__.py:1841 |
3606 | +msgid "Cannot install Real-time kernel on a container." |
3607 | +msgstr "" |
3608 | + |
3609 | +#: ../../uaclient/messages/__init__.py:1846 |
3610 | +msgid "apt-daily.timer jobs are not running" |
3611 | +msgstr "" |
3612 | + |
3613 | +#: ../../uaclient/messages/__init__.py:1850 |
3614 | +#, python-brace-format |
3615 | +msgid "{cfg_name} is empty" |
3616 | +msgstr "" |
3617 | + |
3618 | +#: ../../uaclient/messages/__init__.py:1854 |
3619 | +#, python-brace-format |
3620 | +msgid "{cfg_name} is turned off" |
3621 | +msgstr "" |
3622 | + |
3623 | +#: ../../uaclient/messages/__init__.py:1858 |
3624 | +msgid "unattended-upgrades package is not installed" |
3625 | +msgstr "" |
3626 | + |
3627 | +#: ../../uaclient/messages/__init__.py:1863 |
3628 | +msgid "lanscape-client is not installed" |
3629 | +msgstr "" |
3630 | + |
3631 | +#: ../../uaclient/messages/__init__.py:1868 |
3632 | +msgid "" |
3633 | +"Landscape is installed but not configured.\n" |
3634 | +"Run `sudo landscape-config` to set it up, or run `sudo pro disable landscape`" |
3635 | +msgstr "" |
3636 | + |
3637 | +#: ../../uaclient/messages/__init__.py:1877 |
3638 | +msgid "" |
3639 | +"Landscape is installed and configured but not registered.\n" |
3640 | +"Run `sudo landscape-config` to register, or run `sudo pro disable landscape`" |
3641 | +msgstr "" |
3642 | + |
3643 | +#: ../../uaclient/messages/__init__.py:1886 |
3644 | +msgid "" |
3645 | +"Landscape is installed and configured and registered but not running.\n" |
3646 | +"Run `sudo landscape-config` to start it, or run `sudo pro disable landscape`" |
3647 | +msgstr "" |
3648 | + |
3649 | +#: ../../uaclient/messages/__init__.py:1894 |
3650 | +msgid "landscape-config command failed" |
3651 | +msgstr "" |
3652 | + |
3653 | +#: ../../uaclient/messages/__init__.py:1900 |
3654 | +#, python-brace-format |
3655 | +msgid "" |
3656 | +"Error: issue \"{issue_id}\" is not recognized.\n" |
3657 | +"\n" |
3658 | +"CVEs should follow the pattern CVE-yyyy-nnn.\n" |
3659 | +"\n" |
3660 | +"USNs should follow the pattern USN-nnnn." |
3661 | +msgstr "" |
3662 | + |
3663 | +#: ../../uaclient/messages/__init__.py:1914 |
3664 | +msgid "Another process is running APT." |
3665 | +msgstr "" |
3666 | + |
3667 | +#: ../../uaclient/messages/__init__.py:1920 |
3668 | +#, python-brace-format |
3669 | +msgid "" |
3670 | +"APT update failed to read APT config for the following:\n" |
3671 | +"{failed_repos}" |
3672 | +msgstr "" |
3673 | + |
3674 | +#: ../../uaclient/messages/__init__.py:1950 |
3675 | +#, python-brace-format |
3676 | +msgid "Invalid APT credentials provided for {repo}" |
3677 | +msgstr "" |
3678 | + |
3679 | +#: ../../uaclient/messages/__init__.py:1955 |
3680 | +#, python-brace-format |
3681 | +msgid "Timeout trying to access APT repository at {repo}" |
3682 | +msgstr "" |
3683 | + |
3684 | +#: ../../uaclient/messages/__init__.py:1961 |
3685 | +#, python-brace-format |
3686 | +msgid "" |
3687 | +"Unexpected APT error.\n" |
3688 | +"{detail}\n" |
3689 | +"See /var/log/ubuntu-advantage.log" |
3690 | +msgstr "" |
3691 | + |
3692 | +#: ../../uaclient/messages/__init__.py:1971 |
3693 | +#, python-brace-format |
3694 | +msgid "" |
3695 | +"Cannot validate credentials for APT repo. Timeout after {seconds} seconds " |
3696 | +"trying to reach {repo}." |
3697 | +msgstr "" |
3698 | + |
3699 | +#: ../../uaclient/messages/__init__.py:1978 |
3700 | +#, python-brace-format |
3701 | +msgid "snap {snap} is not installed or doesn't exist" |
3702 | +msgstr "" |
3703 | + |
3704 | +#: ../../uaclient/messages/__init__.py:1983 |
3705 | +#, python-brace-format |
3706 | +msgid "" |
3707 | +"Unexpected SNAPD API error\n" |
3708 | +"{error}" |
3709 | +msgstr "" |
3710 | + |
3711 | +#: ../../uaclient/messages/__init__.py:1987 |
3712 | +msgid "Could not reach the SNAPD API" |
3713 | +msgstr "" |
3714 | + |
3715 | +#: ../../uaclient/messages/__init__.py:1991 |
3716 | +msgid "Failed to install snapd on the system" |
3717 | +msgstr "" |
3718 | + |
3719 | +#: ../../uaclient/messages/__init__.py:1996 |
3720 | +#, python-brace-format |
3721 | +msgid "Unable to install Livepatch client: {error_msg}" |
3722 | +msgstr "" |
3723 | + |
3724 | +#: ../../uaclient/messages/__init__.py:2001 |
3725 | +#, python-brace-format |
3726 | +msgid "\"{proxy}\" is not working. Not setting as proxy." |
3727 | +msgstr "" |
3728 | + |
3729 | +#: ../../uaclient/messages/__init__.py:2006 |
3730 | +#, python-brace-format |
3731 | +msgid "\"{proxy}\" is not a valid url. Not setting as proxy." |
3732 | +msgstr "" |
3733 | + |
3734 | +#: ../../uaclient/messages/__init__.py:2012 |
3735 | +msgid "" |
3736 | +"To use an HTTPS proxy for HTTPS connections, please install pycurl with `apt " |
3737 | +"install python3-pycurl`" |
3738 | +msgstr "" |
3739 | + |
3740 | +#: ../../uaclient/messages/__init__.py:2018 |
3741 | +#, python-brace-format |
3742 | +msgid "PycURL Error: {e}" |
3743 | +msgstr "" |
3744 | + |
3745 | +#: ../../uaclient/messages/__init__.py:2022 |
3746 | +msgid "Proxy authentication failed" |
3747 | +msgstr "" |
3748 | + |
3749 | +#: ../../uaclient/messages/__init__.py:2028 |
3750 | +msgid "" |
3751 | +"Failed to connect to authentication server\n" |
3752 | +"Check your Internet connection and try again." |
3753 | +msgstr "" |
3754 | + |
3755 | +#: ../../uaclient/messages/__init__.py:2035 |
3756 | +#, python-brace-format |
3757 | +msgid "Error connecting to {url}: {code} {body}" |
3758 | +msgstr "" |
3759 | + |
3760 | +#: ../../uaclient/messages/__init__.py:2041 |
3761 | +#, python-brace-format |
3762 | +msgid "" |
3763 | +"Cannot {operation} unknown service '{invalid_service}'.\n" |
3764 | +"{service_msg}" |
3765 | +msgstr "" |
3766 | + |
3767 | +#: ../../uaclient/messages/__init__.py:2050 |
3768 | +#, python-brace-format |
3769 | +msgid "" |
3770 | +"This machine is already attached to '{account_name}'\n" |
3771 | +"To use a different subscription first run: sudo pro detach." |
3772 | +msgstr "" |
3773 | + |
3774 | +#: ../../uaclient/messages/__init__.py:2057 |
3775 | +#, python-brace-format |
3776 | +msgid "Failed to attach machine. See {url}" |
3777 | +msgstr "" |
3778 | + |
3779 | +#: ../../uaclient/messages/__init__.py:2064 |
3780 | +#, python-brace-format |
3781 | +msgid "" |
3782 | +"Error while reading {config_name}:\n" |
3783 | +"{error}" |
3784 | +msgstr "" |
3785 | + |
3786 | +#: ../../uaclient/messages/__init__.py:2069 |
3787 | +#, python-brace-format |
3788 | +msgid "Invalid token. See {url}" |
3789 | +msgstr "" |
3790 | + |
3791 | +#: ../../uaclient/messages/__init__.py:2075 |
3792 | +#, python-brace-format |
3793 | +msgid "" |
3794 | +"Attach denied:\n" |
3795 | +"Contract \"{{contract_id}}\" expired on {{date}}\n" |
3796 | +"Visit {url} to manage contract tokens." |
3797 | +msgstr "" |
3798 | + |
3799 | +#: ../../uaclient/messages/__init__.py:2085 |
3800 | +#, python-brace-format |
3801 | +msgid "" |
3802 | +"Attach denied:\n" |
3803 | +"Contract \"{{contract_id}}\" is not effective until {{date}}\n" |
3804 | +"Visit {url} to manage contract tokens." |
3805 | +msgstr "" |
3806 | + |
3807 | +#: ../../uaclient/messages/__init__.py:2095 |
3808 | +#, python-brace-format |
3809 | +msgid "" |
3810 | +"Attach denied:\n" |
3811 | +"Contract \"{{contract_id}}\" has never been effective\n" |
3812 | +"Visit {url} to manage contract tokens." |
3813 | +msgstr "" |
3814 | + |
3815 | +#: ../../uaclient/messages/__init__.py:2105 |
3816 | +#, python-brace-format |
3817 | +msgid "Expired token or contract. To obtain a new token visit: {url}" |
3818 | +msgstr "" |
3819 | + |
3820 | +#: ../../uaclient/messages/__init__.py:2112 |
3821 | +msgid "The magic attach token is already activated." |
3822 | +msgstr "" |
3823 | + |
3824 | +#: ../../uaclient/messages/__init__.py:2118 |
3825 | +msgid "The magic attach token is invalid, has expired or never existed" |
3826 | +msgstr "" |
3827 | + |
3828 | +#: ../../uaclient/messages/__init__.py:2124 |
3829 | +msgid "Service unavailable, please try again later." |
3830 | +msgstr "" |
3831 | + |
3832 | +#: ../../uaclient/messages/__init__.py:2129 |
3833 | +#, python-brace-format |
3834 | +msgid "This attach flow does not support {param} with value: {value}" |
3835 | +msgstr "" |
3836 | + |
3837 | +#: ../../uaclient/messages/__init__.py:2135 |
3838 | +#, python-brace-format |
3839 | +msgid "Ubuntu Pro server provided no aptURL directive for {entitlement_name}" |
3840 | +msgstr "" |
3841 | + |
3842 | +#: ../../uaclient/messages/__init__.py:2143 |
3843 | +#, python-brace-format |
3844 | +msgid "" |
3845 | +"This machine is not attached to an Ubuntu Pro subscription.\n" |
3846 | +"See {url}" |
3847 | +msgstr "" |
3848 | + |
3849 | +#: ../../uaclient/messages/__init__.py:2152 |
3850 | +#, python-brace-format |
3851 | +msgid "" |
3852 | +"To use '{{valid_service}}' you need an Ubuntu Pro subscription\n" |
3853 | +"Personal and community subscriptions are available at no charge\n" |
3854 | +"See {url}" |
3855 | +msgstr "" |
3856 | + |
3857 | +#: ../../uaclient/messages/__init__.py:2168 |
3858 | +#, python-brace-format |
3859 | +msgid "could not find entitlement named \"{entitlement_name}\"" |
3860 | +msgstr "" |
3861 | + |
3862 | +#: ../../uaclient/messages/__init__.py:2173 |
3863 | +msgid "failed to enable some services" |
3864 | +msgstr "" |
3865 | + |
3866 | +#: ../../uaclient/messages/__init__.py:2179 |
3867 | +msgid "Failed to enable default services, check: sudo pro status" |
3868 | +msgstr "" |
3869 | + |
3870 | +#: ../../uaclient/messages/__init__.py:2187 |
3871 | +msgid "Something went wrong during the attach process. Check the logs." |
3872 | +msgstr "" |
3873 | + |
3874 | +#: ../../uaclient/messages/__init__.py:2195 |
3875 | +#, python-brace-format |
3876 | +msgid "Ubuntu Pro server provided no aptKey directive for {entitlement_name}" |
3877 | +msgstr "" |
3878 | + |
3879 | +#: ../../uaclient/messages/__init__.py:2202 |
3880 | +#, python-brace-format |
3881 | +msgid "Ubuntu Pro server provided no suites directive for {entitlement_name}" |
3882 | +msgstr "" |
3883 | + |
3884 | +#: ../../uaclient/messages/__init__.py:2209 |
3885 | +#, python-brace-format |
3886 | +msgid "" |
3887 | +"Cannot setup apt pin. Empty apt repo origin value for {entitlement_name}" |
3888 | +msgstr "" |
3889 | + |
3890 | +#: ../../uaclient/messages/__init__.py:2218 |
3891 | +#, python-brace-format |
3892 | +msgid "Could not determine contract delta service type {orig} {new}" |
3893 | +msgstr "" |
3894 | + |
3895 | +#: ../../uaclient/messages/__init__.py:2222 |
3896 | +#, python-brace-format |
3897 | +msgid "" |
3898 | +"Error on Pro Image:\n" |
3899 | +"{error_msg}" |
3900 | +msgstr "" |
3901 | + |
3902 | +#: ../../uaclient/messages/__init__.py:2228 |
3903 | +#, python-brace-format |
3904 | +msgid "" |
3905 | +"An error occurred while talking the the cloud metadata service: {code} - " |
3906 | +"{body}" |
3907 | +msgstr "" |
3908 | + |
3909 | +#: ../../uaclient/messages/__init__.py:2235 |
3910 | +#, python-brace-format |
3911 | +msgid "" |
3912 | +"Failed to attach machine\n" |
3913 | +"{{status_code}}: {{error_msg}}\n" |
3914 | +"For more information, see {url}" |
3915 | +msgstr "" |
3916 | + |
3917 | +#: ../../uaclient/messages/__init__.py:2245 |
3918 | +#, python-brace-format |
3919 | +msgid "No valid AWS IMDS endpoint discovered at addresses: {addresses}" |
3920 | +msgstr "" |
3921 | + |
3922 | +#: ../../uaclient/messages/__init__.py:2252 |
3923 | +msgid "Unable to determine cloud platform." |
3924 | +msgstr "" |
3925 | + |
3926 | +#: ../../uaclient/messages/__init__.py:2260 |
3927 | +#, python-brace-format |
3928 | +msgid "" |
3929 | +"Auto-attach image support is not available on this image\n" |
3930 | +"See: {url}" |
3931 | +msgstr "" |
3932 | +"Suporte para auto-attach não está disponível para esta imagem\n" |
3933 | +"Veja {url}" |
3934 | + |
3935 | +#: ../../uaclient/messages/__init__.py:2269 |
3936 | +#, python-brace-format |
3937 | +msgid "" |
3938 | +"Auto-attach image support is not available on {{cloud_type}}\n" |
3939 | +"See: {url}" |
3940 | +msgstr "" |
3941 | +"Suporte para auto-attach não está disponível para {{cloud_type}}\n" |
3942 | +"Veja: {url}" |
3943 | + |
3944 | +#: ../../uaclient/messages/__init__.py:2277 |
3945 | +#, python-brace-format |
3946 | +msgid "{file_name} is not valid {file_format}" |
3947 | +msgstr "" |
3948 | + |
3949 | +#: ../../uaclient/messages/__init__.py:2283 |
3950 | +#, python-brace-format |
3951 | +msgid "" |
3952 | +"Could not parse /etc/os-release VERSION: {orig_ver} (modified to {mod_ver})" |
3953 | +msgstr "" |
3954 | + |
3955 | +#: ../../uaclient/messages/__init__.py:2291 |
3956 | +#, python-brace-format |
3957 | +msgid "" |
3958 | +"Could not extract series information from /etc/os-release.\n" |
3959 | +"The VERSION filed does not have version information: {version}\n" |
3960 | +"and the VERSION_CODENAME information is not present" |
3961 | +msgstr "" |
3962 | +"Não foi possível extrair a série a partir de /etc/os-release.\n" |
3963 | +"o campo VERSION não tem a informação de versão: {version}\n" |
3964 | +"e o campo VERSION_CODENAME não está presente" |
3965 | + |
3966 | +#: ../../uaclient/messages/__init__.py:2301 |
3967 | +#, python-brace-format |
3968 | +msgid "" |
3969 | +"There is a corrupted lock file in the system. To continue, please remove it\n" |
3970 | +"from the system by running:\n" |
3971 | +"\n" |
3972 | +"$ sudo rm {lock_file_path}" |
3973 | +msgstr "" |
3974 | +"Existe um arquivo lock corrompido no sistema. Para contunuar, por favor " |
3975 | +"remova-o\n" |
3976 | +"do sistema ao executar:\n" |
3977 | +"\n" |
3978 | +"$ sudo rm {lock_file_path}" |
3979 | + |
3980 | +#: ../../uaclient/messages/__init__.py:2310 |
3981 | +#, python-brace-format |
3982 | +msgid "{source} returned invalid json: {out}" |
3983 | +msgstr "{source} retornou um json inválido: {out}" |
3984 | + |
3985 | +#: ../../uaclient/messages/__init__.py:2316 |
3986 | +#, python-brace-format |
3987 | +msgid "" |
3988 | +"Invalid value for {path_to_value} in /etc/ubuntu-advantage/uaclient.conf. " |
3989 | +"Expected {expected_value}, found {value}." |
3990 | +msgstr "" |
3991 | +"Valor inválido para {path_to_value} em /etc/ubuntu-advantage/uaclient.conf." |
3992 | +"Esperava {expected_value}, mas {value} foi encontrado." |
3993 | + |
3994 | +#: ../../uaclient/messages/__init__.py:2325 |
3995 | +#, python-brace-format |
3996 | +msgid "" |
3997 | +"Cannot set {key} to {value}: <value> for interval must be a positive integer." |
3998 | +msgstr "" |
3999 | +"Não foi possível associar {key} a {value}: <value> precisa ser um inteiro " |
4000 | +"positivo." |
4001 | + |
4002 | +#: ../../uaclient/messages/__init__.py:2332 |
4003 | +#, python-brace-format |
4004 | +msgid "Invalid url in config. {key}: {value}" |
4005 | +msgstr "url inválida no arquivo de configuração. {key}: {value}" |
4006 | + |
4007 | +#: ../../uaclient/messages/__init__.py:2337 |
4008 | +#, python-brace-format |
4009 | +msgid "Could not find yaml file: {filepath}" |
4010 | +msgstr "Não foi possível encontrar o arquivo yaml: {filepath}" |
4011 | + |
4012 | +#: ../../uaclient/messages/__init__.py:2343 |
4013 | +msgid "" |
4014 | +"Error: Setting global apt proxy and pro scoped apt proxy\n" |
4015 | +"at the same time is unsupported.\n" |
4016 | +"Cancelling config process operation.\n" |
4017 | +msgstr "" |
4018 | +"Erro: Configurar a proxy de escopo global do apt junto com a proxy de " |
4019 | +"escopo\n" |
4020 | +"pro de apt ao mesmo tempo não é suportado.\n" |
4021 | +"Cancelando o processo de configuração.\n" |
4022 | + |
4023 | +#: ../../uaclient/messages/__init__.py:2353 |
4024 | +msgid "Can't load the distro-info database." |
4025 | +msgstr "Não foi possível carregar o banco de dados do distro-info." |
4026 | + |
4027 | +#: ../../uaclient/messages/__init__.py:2358 |
4028 | +#, python-brace-format |
4029 | +msgid "Can't find series {series} in the distro-info database." |
4030 | +msgstr "" |
4031 | +"Não foi possível encontrar a série {series} na banco de dados do distro-info." |
4032 | + |
4033 | +#: ../../uaclient/messages/__init__.py:2363 |
4034 | +#, python-brace-format |
4035 | +msgid "Error: Cannot use {option1} together with {option2}." |
4036 | +msgstr "Erro: não é possível usar {option1} junto com {option2}" |
4037 | + |
4038 | +#: ../../uaclient/messages/__init__.py:2367 |
4039 | +#, python-brace-format |
4040 | +msgid "No help available for '{name}'" |
4041 | +msgstr "Ajuda não disponível para '{name}'" |
4042 | + |
4043 | +#: ../../uaclient/messages/__init__.py:2373 |
4044 | +#, python-brace-format |
4045 | +msgid "" |
4046 | +"Error: issue \"{issue}\" is not recognized.\n" |
4047 | +"Usage: \"pro fix CVE-yyyy-nnnn\" or \"pro fix USN-nnnn\"" |
4048 | +msgstr "" |
4049 | +"Erro: problema de segurnça \"{issue}\" não foi reconhecido.\n" |
4050 | +"Use: \"pro fix CVE-yyyy-nnnn\" ou \"pro fix USN-nnnn\"" |
4051 | + |
4052 | +#: ../../uaclient/messages/__init__.py:2379 |
4053 | +#, python-brace-format |
4054 | +msgid "{arg} must be one of: {choices}" |
4055 | +msgstr "{arg} precisa ser um de: {choices}" |
4056 | + |
4057 | +#: ../../uaclient/messages/__init__.py:2384 |
4058 | +#, python-brace-format |
4059 | +msgid "Expected {expected} but found: {actual}" |
4060 | +msgstr "Esperava {expected} mas encontrou: {actual}" |
4061 | + |
4062 | +#: ../../uaclient/messages/__init__.py:2388 |
4063 | +msgid "Unable to process uaclient.conf" |
4064 | +msgstr "Falha ao processar uaclient.conf" |
4065 | + |
4066 | +#: ../../uaclient/messages/__init__.py:2393 |
4067 | +msgid "Unable to refresh your subscription" |
4068 | +msgstr "Falha ao atualizar sua assinatura" |
4069 | + |
4070 | +#: ../../uaclient/messages/__init__.py:2398 |
4071 | +msgid "Unable to update Ubuntu Pro related APT and MOTD messages." |
4072 | +msgstr "" |
4073 | +"Falha ao atualizar as mensagens de APT e MOTD relacioandas ao Ubuntu Pro" |
4074 | + |
4075 | +#: ../../uaclient/messages/__init__.py:2404 |
4076 | +msgid "json formatted response requires --assume-yes flag." |
4077 | +msgstr "resposta formatada em json necessita do paramêtro --assume-yes" |
4078 | + |
4079 | +#: ../../uaclient/messages/__init__.py:2412 |
4080 | +msgid "" |
4081 | +"Do not pass the TOKEN arg if you are using --attach-config.\n" |
4082 | +"Include the token in the attach-config file instead.\n" |
4083 | +" " |
4084 | +msgstr "" |
4085 | +"Não insira o parâmetro TOKEN se você está usando --attach-config.\n" |
4086 | +"Ao invés disso, inclua o token no arquivo de attach-config.\n" |
4087 | +" " |
4088 | + |
4089 | +#: ../../uaclient/messages/__init__.py:2421 |
4090 | +msgid "Cannot provide both --args and --data at the same time" |
4091 | +msgstr "Não é possível usar --args e --data ao mesmo tempo" |
4092 | + |
4093 | +#: ../../uaclient/messages/__init__.py:2427 |
4094 | +#, python-brace-format |
4095 | +msgid "Unable to perform: {lock_request}.\n" |
4096 | +msgstr "Falha ao executar: {lock_request}.\n" |
4097 | + |
4098 | +#: ../../uaclient/messages/__init__.py:2436 |
4099 | +msgid "This command must be run as root (try using sudo)." |
4100 | +msgstr "Esse comando precisa ser executado como root (tente usando sudo)." |
4101 | + |
4102 | +#: ../../uaclient/messages/__init__.py:2441 |
4103 | +#, python-brace-format |
4104 | +msgid "Metadata for {issue} is invalid. Error: {error_msg}." |
4105 | +msgstr "Metadados para {issue} não são válidos. Erro: {error_msg}." |
4106 | + |
4107 | +#: ../../uaclient/messages/__init__.py:2448 |
4108 | +#, python-brace-format |
4109 | +msgid "Error: {issue_id} not found." |
4110 | +msgstr "Erro: {issue_id} não encontrada." |
4111 | + |
4112 | +#: ../../uaclient/messages/__init__.py:2452 |
4113 | +#, python-brace-format |
4114 | +msgid "GPG key '{keyfile}' not found." |
4115 | +msgstr "chave GPG '{keyfile}' não foi encontrada" |
4116 | + |
4117 | +#: ../../uaclient/messages/__init__.py:2457 |
4118 | +#, python-brace-format |
4119 | +msgid "'{endpoint}' is not a valid endpoint" |
4120 | +msgstr "'{endpoint}' não é um endpoint válido" |
4121 | + |
4122 | +#: ../../uaclient/messages/__init__.py:2462 |
4123 | +#, python-brace-format |
4124 | +msgid "Missing argument '{arg}' for endpoint {endpoint}" |
4125 | +msgstr "'{arg}' está faltando para endpoint {endpoint}" |
4126 | + |
4127 | +#: ../../uaclient/messages/__init__.py:2467 |
4128 | +#, python-brace-format |
4129 | +msgid "{endpoint} accepts no arguments" |
4130 | +msgstr "{endpoint} não aceita paramêtros" |
4131 | + |
4132 | +#: ../../uaclient/messages/__init__.py:2472 |
4133 | +#, python-brace-format |
4134 | +msgid "" |
4135 | +"Error parsing API json data parameter:\n" |
4136 | +"{data}" |
4137 | +msgstr "" |
4138 | +"Error ao analisar paramêtro data para API json:\n" |
4139 | +"{data}" |
4140 | + |
4141 | +#: ../../uaclient/messages/__init__.py:2477 |
4142 | +#, python-brace-format |
4143 | +msgid "'{arg}' is not formatted as 'key=value'" |
4144 | +msgstr "'{arg}' não está formatado como 'chave=valor'" |
4145 | + |
4146 | +#: ../../uaclient/messages/__init__.py:2482 |
4147 | +#, python-brace-format |
4148 | +msgid "Unable to determine version: {error_msg}" |
4149 | +msgstr "Não foi possível determinar a versão: {error_msg}" |
4150 | + |
4151 | +#: ../../uaclient/messages/__init__.py:2487 |
4152 | +msgid "features.disable_auto_attach set in config" |
4153 | +msgstr "features.disable_auto_attach definida na configuração" |
4154 | + |
4155 | +#: ../../uaclient/messages/__init__.py:2492 |
4156 | +#, python-brace-format |
4157 | +msgid "Unable to determine unattended-upgrades status: {error_msg}" |
4158 | +msgstr "" |
4159 | +"Não foi possível determinar o status do unattended-upgrades: {error_msg}" |
4160 | + |
4161 | +#: ../../uaclient/messages/__init__.py:2498 |
4162 | +#, python-brace-format |
4163 | +msgid "Expected value with type {expected_type} but got type: {got_type}" |
4164 | +msgstr "Esperava valor com tipo {expected_type}, mas recebeu tipo {got_type}" |
4165 | + |
4166 | +#: ../../uaclient/messages/__init__.py:2504 |
4167 | +#, python-brace-format |
4168 | +msgid "" |
4169 | +"Got value with incorrect type at index {index}:\n" |
4170 | +"{nested_msg}" |
4171 | +msgstr "" |
4172 | +"Valor com tipo incorreto na posição {index}:\n" |
4173 | +"{nested_msg}" |
4174 | + |
4175 | +#: ../../uaclient/messages/__init__.py:2510 |
4176 | +#, python-brace-format |
4177 | +msgid "" |
4178 | +"Got value with incorrect type for field \"{key}\":\n" |
4179 | +"{nested_msg}" |
4180 | +msgstr "" |
4181 | +"Valor com tipo incorreto para o campo \"{key}\":\n" |
4182 | +"{nested_msg}" |
4183 | + |
4184 | +#: ../../uaclient/messages/__init__.py:2517 |
4185 | +#, python-brace-format |
4186 | +msgid "Value provided was not found in {enum_class}'s allowed: value: {values}" |
4187 | +msgstr "" |
4188 | +"Valor fornecido não está presente nos valores permitidos de {enum_class}: " |
4189 | +"{values}" |
4190 | diff --git a/debian/po/templates.pot b/debian/po/templates.pot |
4191 | deleted file mode 100644 |
4192 | index ffd2763..0000000 |
4193 | --- a/debian/po/templates.pot |
4194 | +++ /dev/null |
4195 | @@ -1,36 +0,0 @@ |
4196 | -# SOME DESCRIPTIVE TITLE. |
4197 | -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
4198 | -# This file is distributed under the same license as the ubuntu-advantage-tools package. |
4199 | -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4200 | -# |
4201 | -#, fuzzy |
4202 | -msgid "" |
4203 | -msgstr "" |
4204 | -"Project-Id-Version: ubuntu-advantage-tools\n" |
4205 | -"Report-Msgid-Bugs-To: ubuntu-advantage-tools@packages.debian.org\n" |
4206 | -"POT-Creation-Date: 2021-02-26 16:29+0100\n" |
4207 | -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
4208 | -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
4209 | -"Language-Team: LANGUAGE <LL@li.org>\n" |
4210 | -"Language: \n" |
4211 | -"MIME-Version: 1.0\n" |
4212 | -"Content-Type: text/plain; charset=CHARSET\n" |
4213 | -"Content-Transfer-Encoding: 8bit\n" |
4214 | - |
4215 | -#. Type: note |
4216 | -#. Description |
4217 | -#: ../ubuntu-advantage-tools.templates:1001 |
4218 | -msgid "Ubuntu Pro support now requires ubuntu-advantage-pro" |
4219 | -msgstr "" |
4220 | - |
4221 | -#. Type: note |
4222 | -#. Description |
4223 | -#: ../ubuntu-advantage-tools.templates:1001 |
4224 | -msgid "To install run the following:" |
4225 | -msgstr "" |
4226 | - |
4227 | -#. Type: note |
4228 | -#. Description |
4229 | -#: ../ubuntu-advantage-tools.templates:1001 |
4230 | -msgid "sudo apt install ubuntu-advantage-pro" |
4231 | -msgstr "" |
4232 | diff --git a/debian/po/ubuntu-pro.pot b/debian/po/ubuntu-pro.pot |
4233 | new file mode 100644 |
4234 | index 0000000..142f69b |
4235 | --- /dev/null |
4236 | +++ b/debian/po/ubuntu-pro.pot |
4237 | @@ -0,0 +1,3056 @@ |
4238 | +# SOME DESCRIPTIVE TITLE. |
4239 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
4240 | +# This file is distributed under the same license as the PACKAGE package. |
4241 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
4242 | +# |
4243 | +#, fuzzy |
4244 | +msgid "" |
4245 | +msgstr "" |
4246 | +"Project-Id-Version: PACKAGE VERSION\n" |
4247 | +"Report-Msgid-Bugs-To: \n" |
4248 | +"POT-Creation-Date: 2023-10-27 11:01-0400\n" |
4249 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
4250 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
4251 | +"Language-Team: LANGUAGE <LL@li.org>\n" |
4252 | +"Language: \n" |
4253 | +"MIME-Version: 1.0\n" |
4254 | +"Content-Type: text/plain; charset=UTF-8\n" |
4255 | +"Content-Transfer-Encoding: 8bit\n" |
4256 | +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" |
4257 | + |
4258 | +#: ../../apt-hook/json-hook.cc:159 |
4259 | +msgid "1 standard LTS security update" |
4260 | +msgstr "" |
4261 | + |
4262 | +#: ../../apt-hook/json-hook.cc:164 |
4263 | +#, c-format |
4264 | +msgid "%lu standard LTS security updates" |
4265 | +msgstr "" |
4266 | + |
4267 | +#: ../../apt-hook/json-hook.cc:171 |
4268 | +msgid "1 esm-infra security update" |
4269 | +msgstr "" |
4270 | + |
4271 | +#: ../../apt-hook/json-hook.cc:173 |
4272 | +msgid "1 standard LTS security update and 1 esm-infra security update" |
4273 | +msgstr "" |
4274 | + |
4275 | +#: ../../apt-hook/json-hook.cc:178 |
4276 | +#, c-format |
4277 | +msgid "%lu standard LTS security updates and 1 esm-infra security update" |
4278 | +msgstr "" |
4279 | + |
4280 | +#: ../../apt-hook/json-hook.cc:188 |
4281 | +#, c-format |
4282 | +msgid "%lu esm-infra security updates" |
4283 | +msgstr "" |
4284 | + |
4285 | +#: ../../apt-hook/json-hook.cc:196 |
4286 | +#, c-format |
4287 | +msgid "1 standard LTS security update and %lu esm-infra security updates" |
4288 | +msgstr "" |
4289 | + |
4290 | +#: ../../apt-hook/json-hook.cc:204 |
4291 | +#, c-format |
4292 | +msgid "%lu standard LTS security updates and %lu esm-infra security updates" |
4293 | +msgstr "" |
4294 | + |
4295 | +#: ../../apt-hook/json-hook.cc:214 |
4296 | +msgid "1 esm-apps security update" |
4297 | +msgstr "" |
4298 | + |
4299 | +#: ../../apt-hook/json-hook.cc:216 |
4300 | +msgid "1 standard LTS security update and 1 esm-apps security update" |
4301 | +msgstr "" |
4302 | + |
4303 | +#: ../../apt-hook/json-hook.cc:221 |
4304 | +#, c-format |
4305 | +msgid "%lu standard LTS security updates and 1 esm-apps security update" |
4306 | +msgstr "" |
4307 | + |
4308 | +#: ../../apt-hook/json-hook.cc:228 |
4309 | +msgid "1 esm-infra security update and 1 esm-apps security update" |
4310 | +msgstr "" |
4311 | + |
4312 | +#: ../../apt-hook/json-hook.cc:230 |
4313 | +msgid "" |
4314 | +"1 standard LTS security update, 1 esm-infra security update and 1 esm-apps " |
4315 | +"security update" |
4316 | +msgstr "" |
4317 | + |
4318 | +#: ../../apt-hook/json-hook.cc:235 |
4319 | +#, c-format |
4320 | +msgid "" |
4321 | +"%lu standard LTS security updates, 1 esm-infra security update and 1 esm-" |
4322 | +"apps security update" |
4323 | +msgstr "" |
4324 | + |
4325 | +#: ../../apt-hook/json-hook.cc:245 |
4326 | +#, c-format |
4327 | +msgid "%lu esm-infra security updates and 1 esm-apps security update" |
4328 | +msgstr "" |
4329 | + |
4330 | +#: ../../apt-hook/json-hook.cc:253 |
4331 | +#, c-format |
4332 | +msgid "" |
4333 | +"1 standard LTS security update, %lu esm-infra security updates and 1 esm-" |
4334 | +"apps security update" |
4335 | +msgstr "" |
4336 | + |
4337 | +#: ../../apt-hook/json-hook.cc:261 |
4338 | +#, c-format |
4339 | +msgid "" |
4340 | +"%lu standard LTS security updates, %lu esm-infra security updates and 1 esm-" |
4341 | +"apps security update" |
4342 | +msgstr "" |
4343 | + |
4344 | +#: ../../apt-hook/json-hook.cc:274 |
4345 | +#, c-format |
4346 | +msgid "%lu esm-apps security updates" |
4347 | +msgstr "" |
4348 | + |
4349 | +#: ../../apt-hook/json-hook.cc:282 |
4350 | +#, c-format |
4351 | +msgid "1 standard LTS security update and %lu esm-apps security updates" |
4352 | +msgstr "" |
4353 | + |
4354 | +#: ../../apt-hook/json-hook.cc:290 |
4355 | +#, c-format |
4356 | +msgid "%lu standard LTS security updates and %lu esm-apps security updates" |
4357 | +msgstr "" |
4358 | + |
4359 | +#: ../../apt-hook/json-hook.cc:301 |
4360 | +#, c-format |
4361 | +msgid "1 esm-infra security update and %lu esm-apps security updates" |
4362 | +msgstr "" |
4363 | + |
4364 | +#: ../../apt-hook/json-hook.cc:309 |
4365 | +#, c-format |
4366 | +msgid "" |
4367 | +"1 standard LTS security update, 1 esm-infra security update and %lu esm-apps " |
4368 | +"security updates" |
4369 | +msgstr "" |
4370 | + |
4371 | +#: ../../apt-hook/json-hook.cc:317 |
4372 | +#, c-format |
4373 | +msgid "" |
4374 | +"%lu standard LTS security updates, 1 esm-infra security update and %lu esm-" |
4375 | +"apps security updates" |
4376 | +msgstr "" |
4377 | + |
4378 | +#: ../../apt-hook/json-hook.cc:328 |
4379 | +#, c-format |
4380 | +msgid "%lu esm-infra security updates and %lu esm-apps security updates" |
4381 | +msgstr "" |
4382 | + |
4383 | +#: ../../apt-hook/json-hook.cc:337 |
4384 | +#, c-format |
4385 | +msgid "" |
4386 | +"1 standard LTS security update, %lu esm-infra security updates and %lu esm-" |
4387 | +"apps security updates" |
4388 | +msgstr "" |
4389 | + |
4390 | +#: ../../apt-hook/json-hook.cc:346 |
4391 | +#, c-format |
4392 | +msgid "" |
4393 | +"%lu standard LTS security updates, %lu esm-infra security updates and %lu " |
4394 | +"esm-apps security updates" |
4395 | +msgstr "" |
4396 | + |
4397 | +#: ../../apt-hook/json-hook.cc:403 |
4398 | +#, c-format |
4399 | +msgid "Learn more about Ubuntu Pro for 16.04 on Azure at %s" |
4400 | +msgstr "" |
4401 | + |
4402 | +#: ../../apt-hook/json-hook.cc:412 |
4403 | +#, c-format |
4404 | +msgid "Learn more about Ubuntu Pro for 16.04 at %s" |
4405 | +msgstr "" |
4406 | + |
4407 | +#: ../../apt-hook/json-hook.cc:423 |
4408 | +#, c-format |
4409 | +msgid "Learn more about Ubuntu Pro for 18.04 on Azure at %s" |
4410 | +msgstr "" |
4411 | + |
4412 | +#: ../../apt-hook/json-hook.cc:432 |
4413 | +#, c-format |
4414 | +msgid "Learn more about Ubuntu Pro for 18.04 at %s" |
4415 | +msgstr "" |
4416 | + |
4417 | +#: ../../apt-hook/json-hook.cc:443 |
4418 | +#, c-format |
4419 | +msgid "Learn more about Ubuntu Pro on Azure at %s" |
4420 | +msgstr "" |
4421 | + |
4422 | +#: ../../apt-hook/json-hook.cc:452 |
4423 | +#, c-format |
4424 | +msgid "Learn more about Ubuntu Pro on AWS at %s" |
4425 | +msgstr "" |
4426 | + |
4427 | +#: ../../apt-hook/json-hook.cc:461 |
4428 | +#, c-format |
4429 | +msgid "Learn more about Ubuntu Pro on GCP at %s" |
4430 | +msgstr "" |
4431 | + |
4432 | +#: ../../apt-hook/json-hook.cc:472 |
4433 | +#, c-format |
4434 | +msgid "Learn more about Ubuntu Pro at %s" |
4435 | +msgstr "" |
4436 | + |
4437 | +#: ../../apt-hook/json-hook.cc:485 |
4438 | +#, c-format |
4439 | +msgid "Get another security update through Ubuntu Pro with 'esm-apps' enabled:" |
4440 | +msgid_plural "" |
4441 | +"Get more security updates through Ubuntu Pro with 'esm-apps' enabled:" |
4442 | +msgstr[0] "" |
4443 | +msgstr[1] "" |
4444 | + |
4445 | +#: ../../apt-hook/json-hook.cc:494 |
4446 | +#, c-format |
4447 | +msgid "" |
4448 | +"The following security update requires Ubuntu Pro with 'esm-infra' enabled:" |
4449 | +msgid_plural "" |
4450 | +"The following security updates require Ubuntu Pro with 'esm-infra' enabled:" |
4451 | +msgstr[0] "" |
4452 | +msgstr[1] "" |
4453 | + |
4454 | +#. Description |
4455 | +#: ../ubuntu-advantage-tools.templates:3 |
4456 | +msgid "Ubuntu Pro support now requires ubuntu-advantage-pro" |
4457 | +msgstr "" |
4458 | + |
4459 | +#. Description |
4460 | +#: ../ubuntu-advantage-tools.templates:3 |
4461 | +msgid "To install run the following:" |
4462 | +msgstr "" |
4463 | + |
4464 | +#. Description |
4465 | +#: ../ubuntu-advantage-tools.templates:3 |
4466 | +msgid "sudo apt install ubuntu-advantage-pro" |
4467 | +msgstr "" |
4468 | + |
4469 | +#: ../../uaclient/messages/__init__.py:43 |
4470 | +msgid "yes" |
4471 | +msgstr "" |
4472 | + |
4473 | +#: ../../uaclient/messages/__init__.py:44 |
4474 | +msgid "no" |
4475 | +msgstr "" |
4476 | + |
4477 | +#: ../../uaclient/messages/__init__.py:50 |
4478 | +msgid "Are you sure? (y/N) " |
4479 | +msgstr "" |
4480 | + |
4481 | +#: ../../uaclient/messages/__init__.py:51 |
4482 | +msgid "Do you want to proceed? (y/N) " |
4483 | +msgstr "" |
4484 | + |
4485 | +#: ../../uaclient/messages/__init__.py:53 |
4486 | +msgid "Interrupt received; exiting." |
4487 | +msgstr "" |
4488 | + |
4489 | +#: ../../uaclient/messages/__init__.py:55 |
4490 | +#, python-brace-format |
4491 | +msgid "Operation in progress: {lock_holder} (pid:{pid})" |
4492 | +msgstr "" |
4493 | + |
4494 | +#: ../../uaclient/messages/__init__.py:58 |
4495 | +msgid "Successfully refreshed your subscription." |
4496 | +msgstr "" |
4497 | + |
4498 | +#: ../../uaclient/messages/__init__.py:61 |
4499 | +msgid "Successfully processed your pro configuration." |
4500 | +msgstr "" |
4501 | + |
4502 | +#: ../../uaclient/messages/__init__.py:64 |
4503 | +msgid "Successfully updated Ubuntu Pro related APT and MOTD messages." |
4504 | +msgstr "" |
4505 | + |
4506 | +#: ../../uaclient/messages/__init__.py:68 |
4507 | +msgid "Failed running reboot_cmds script. See: /var/log/ubuntu-advantage.log" |
4508 | +msgstr "" |
4509 | + |
4510 | +#: ../../uaclient/messages/__init__.py:72 |
4511 | +msgid "" |
4512 | +"APT lock is held. Ubuntu Pro configuration will wait until it is released" |
4513 | +msgstr "" |
4514 | + |
4515 | +#: ../../uaclient/messages/__init__.py:75 |
4516 | +#, python-brace-format |
4517 | +msgid "Could not find past release for {release}" |
4518 | +msgstr "" |
4519 | + |
4520 | +#: ../../uaclient/messages/__init__.py:78 |
4521 | +msgid "Starting upgrade of Ubuntu Pro service configuration" |
4522 | +msgstr "" |
4523 | + |
4524 | +#: ../../uaclient/messages/__init__.py:81 |
4525 | +msgid "Finished upgrade of Ubuntu Pro service configuration" |
4526 | +msgstr "" |
4527 | + |
4528 | +#: ../../uaclient/messages/__init__.py:85 |
4529 | +msgid "" |
4530 | +"Couldn't import the YAML module.\n" |
4531 | +"Make sure the 'python3-yaml' package is installed correctly\n" |
4532 | +"and /usr/lib/python3/dist-packages is in your PYTHONPATH." |
4533 | +msgstr "" |
4534 | + |
4535 | +#: ../../uaclient/messages/__init__.py:91 |
4536 | +#, python-brace-format |
4537 | +msgid "Error while trying to parse a yaml file using 'yaml' from {path}" |
4538 | +msgstr "" |
4539 | + |
4540 | +#: ../../uaclient/messages/__init__.py:95 |
4541 | +msgid "" |
4542 | +"snapd does not have a wait command.\n" |
4543 | +"Enabling Livepatch can fail under this scenario.\n" |
4544 | +"Please, upgrade snapd if Livepatch enable fails and try again." |
4545 | +msgstr "" |
4546 | + |
4547 | +#: ../../uaclient/messages/__init__.py:104 |
4548 | +#, python-brace-format |
4549 | +msgid "" |
4550 | +" A new version is available: {version}\n" |
4551 | +"Please run:\n" |
4552 | +" sudo apt-get install ubuntu-advantage-tools\n" |
4553 | +"to get the latest bug fixes and new features." |
4554 | +msgstr "" |
4555 | + |
4556 | +#. ############################################################################## |
4557 | +#. GENERIC SYSTEM OPERATIONS # |
4558 | +#. ############################################################################## |
4559 | +#: ../../uaclient/messages/__init__.py:118 |
4560 | +#, python-brace-format |
4561 | +msgid "Executing `{command}`" |
4562 | +msgstr "" |
4563 | + |
4564 | +#: ../../uaclient/messages/__init__.py:119 |
4565 | +#, python-brace-format |
4566 | +msgid "Executing `{command}` failed." |
4567 | +msgstr "" |
4568 | + |
4569 | +#: ../../uaclient/messages/__init__.py:120 |
4570 | +#, python-brace-format |
4571 | +msgid "Invalid command specified '{cmd}'." |
4572 | +msgstr "" |
4573 | + |
4574 | +#: ../../uaclient/messages/__init__.py:122 |
4575 | +#, python-brace-format |
4576 | +msgid "Failed running command '{cmd}' [exit({exit_code})]. Message: {stderr}" |
4577 | +msgstr "" |
4578 | + |
4579 | +#: ../../uaclient/messages/__init__.py:125 |
4580 | +#, python-brace-format |
4581 | +msgid "Installing {packages}" |
4582 | +msgstr "" |
4583 | + |
4584 | +#: ../../uaclient/messages/__init__.py:126 |
4585 | +#, python-brace-format |
4586 | +msgid "Installing {title} packages" |
4587 | +msgstr "" |
4588 | + |
4589 | +#: ../../uaclient/messages/__init__.py:127 |
4590 | +msgid "Installing required snaps" |
4591 | +msgstr "" |
4592 | + |
4593 | +#: ../../uaclient/messages/__init__.py:129 |
4594 | +#, python-brace-format |
4595 | +msgid "Installing required snap: {snap}" |
4596 | +msgstr "" |
4597 | + |
4598 | +#: ../../uaclient/messages/__init__.py:132 |
4599 | +#, python-brace-format |
4600 | +msgid "Skipping installing packages: {packages}" |
4601 | +msgstr "" |
4602 | + |
4603 | +#: ../../uaclient/messages/__init__.py:134 |
4604 | +#, python-brace-format |
4605 | +msgid "Uninstalling {packages}" |
4606 | +msgstr "" |
4607 | + |
4608 | +#: ../../uaclient/messages/__init__.py:136 |
4609 | +#, python-brace-format |
4610 | +msgid "Failure when uninstalling {packages}" |
4611 | +msgstr "" |
4612 | + |
4613 | +#: ../../uaclient/messages/__init__.py:139 |
4614 | +#, python-brace-format |
4615 | +msgid "Cannot install package {package} version {version}" |
4616 | +msgstr "" |
4617 | + |
4618 | +#: ../../uaclient/messages/__init__.py:142 |
4619 | +msgid "Failure checking APT policy." |
4620 | +msgstr "" |
4621 | + |
4622 | +#: ../../uaclient/messages/__init__.py:143 |
4623 | +msgid "Updating package lists" |
4624 | +msgstr "" |
4625 | + |
4626 | +#: ../../uaclient/messages/__init__.py:144 |
4627 | +#, python-brace-format |
4628 | +msgid "Updating {name} package lists" |
4629 | +msgstr "" |
4630 | + |
4631 | +#: ../../uaclient/messages/__init__.py:145 |
4632 | +msgid "APT update failed." |
4633 | +msgstr "" |
4634 | + |
4635 | +#: ../../uaclient/messages/__init__.py:146 |
4636 | +msgid "APT install failed." |
4637 | +msgstr "" |
4638 | + |
4639 | +#: ../../uaclient/messages/__init__.py:148 |
4640 | +#, python-brace-format |
4641 | +msgid "Backing up {original} as {backup}" |
4642 | +msgstr "" |
4643 | + |
4644 | +#: ../../uaclient/messages/__init__.py:149 |
4645 | +msgid "The following package(s) will be REMOVED:" |
4646 | +msgstr "" |
4647 | + |
4648 | +#: ../../uaclient/messages/__init__.py:151 |
4649 | +msgid "The following package(s) will be reinstalled from the archive:" |
4650 | +msgstr "" |
4651 | + |
4652 | +#: ../../uaclient/messages/__init__.py:162 |
4653 | +#, python-brace-format |
4654 | +msgid "" |
4655 | +"*Your Ubuntu Pro subscription has EXPIRED*\n" |
4656 | +"{{pkg_num}} additional security update(s) require Ubuntu Pro with " |
4657 | +"'{{service}}' enabled.\n" |
4658 | +"Renew your service at {url}" |
4659 | +msgid_plural "" |
4660 | +"*Your Ubuntu Pro subscription has EXPIRED*\n" |
4661 | +"{{pkg_num}} additional security update(s) require Ubuntu Pro with " |
4662 | +"'{{service}}' enabled.\n" |
4663 | +"Renew your service at {url}" |
4664 | +msgstr[0] "" |
4665 | +msgstr[1] "" |
4666 | + |
4667 | +#: ../../uaclient/messages/__init__.py:175 |
4668 | +#, python-brace-format |
4669 | +msgid "" |
4670 | +"CAUTION: Your Ubuntu Pro subscription will expire in {{remaining_days}} " |
4671 | +"day.\n" |
4672 | +"Renew your subscription at {url} to ensure\n" |
4673 | +"continued security coverage for your applications." |
4674 | +msgid_plural "" |
4675 | +"CAUTION: Your Ubuntu Pro subscription will expire in {{remaining_days}} " |
4676 | +"days.\n" |
4677 | +"Renew your subscription at {url} to ensure\n" |
4678 | +"continued security coverage for your applications." |
4679 | +msgstr[0] "" |
4680 | +msgstr[1] "" |
4681 | + |
4682 | +#: ../../uaclient/messages/__init__.py:188 |
4683 | +#, python-brace-format |
4684 | +msgid "" |
4685 | +"CAUTION: Your Ubuntu Pro subscription expired on {{expired_date}}.\n" |
4686 | +"Renew your subscription at {url} to ensure\n" |
4687 | +"continued security coverage for your applications.\n" |
4688 | +"Your grace period will expire in {{remaining_days}} day." |
4689 | +msgid_plural "" |
4690 | +"CAUTION: Your Ubuntu Pro subscription expired on {{expired_date}}.\n" |
4691 | +"Renew your subscription at {url} to ensure\n" |
4692 | +"continued security coverage for your applications.\n" |
4693 | +"Your grace period will expire in {{remaining_days}} days." |
4694 | +msgstr[0] "" |
4695 | +msgstr[1] "" |
4696 | + |
4697 | +#: ../../uaclient/messages/__init__.py:202 |
4698 | +#, python-brace-format |
4699 | +msgid "" |
4700 | +"*Your Ubuntu Pro subscription has EXPIRED*\n" |
4701 | +"Renew your service at {url}" |
4702 | +msgstr "" |
4703 | + |
4704 | +#. ############################################################################## |
4705 | +#. CONFIGURATION # |
4706 | +#. ############################################################################## |
4707 | +#: ../../uaclient/messages/__init__.py:213 |
4708 | +#, python-brace-format |
4709 | +msgid "Setting {service} proxy" |
4710 | +msgstr "" |
4711 | + |
4712 | +#: ../../uaclient/messages/__init__.py:215 |
4713 | +#, python-brace-format |
4714 | +msgid "" |
4715 | +"No proxy set in config; however, proxy is configured for: {{services}}.\n" |
4716 | +"See {url} for more information on pro proxy configuration.\n" |
4717 | +msgstr "" |
4718 | + |
4719 | +#: ../../uaclient/messages/__init__.py:220 |
4720 | +#, python-brace-format |
4721 | +msgid "Setting {scope} APT proxy" |
4722 | +msgstr "" |
4723 | + |
4724 | +#: ../../uaclient/messages/__init__.py:222 |
4725 | +msgid "" |
4726 | +"\n" |
4727 | +"Error: Setting global apt proxy and pro scoped apt proxy at the same time is " |
4728 | +"unsupported. No apt proxy is set." |
4729 | +msgstr "" |
4730 | + |
4731 | +#: ../../uaclient/messages/__init__.py:226 |
4732 | +#, python-brace-format |
4733 | +msgid "Warning: {old} has been renamed to {new}." |
4734 | +msgstr "" |
4735 | + |
4736 | +#: ../../uaclient/messages/__init__.py:230 |
4737 | +#, python-brace-format |
4738 | +msgid "" |
4739 | +"Warning: Setting the {current_proxy} proxy will overwrite the " |
4740 | +"{previous_proxy}\n" |
4741 | +"proxy previously set via `pro config`.\n" |
4742 | +msgstr "" |
4743 | + |
4744 | +#: ../../uaclient/messages/__init__.py:236 |
4745 | +#, python-brace-format |
4746 | +msgid "" |
4747 | +"Using deprecated \"{old}\" config field.\n" |
4748 | +"Please migrate to using \"{new}\"\n" |
4749 | +msgstr "" |
4750 | + |
4751 | +#: ../../uaclient/messages/__init__.py:243 |
4752 | +msgid "Migrating /etc/ubuntu-advantage/uaclient.conf" |
4753 | +msgstr "" |
4754 | + |
4755 | +#: ../../uaclient/messages/__init__.py:246 |
4756 | +msgid "" |
4757 | +"Warning: Failed to load /etc/ubuntu-advantage/uaclient.conf.preinst-backup\n" |
4758 | +" No automatic migration will occur.\n" |
4759 | +" You may need to use \"pro config set\" to re-set your settings." |
4760 | +msgstr "" |
4761 | + |
4762 | +#: ../../uaclient/messages/__init__.py:253 |
4763 | +msgid "" |
4764 | +"Warning: Failed to migrate user_config from /etc/ubuntu-advantage/uaclient." |
4765 | +"conf\n" |
4766 | +" Please run the following to keep your custom settings:" |
4767 | +msgstr "" |
4768 | + |
4769 | +#: ../../uaclient/messages/__init__.py:259 |
4770 | +msgid "" |
4771 | +"Warning: Failed to migrate /etc/ubuntu-advantage/uaclient.conf\n" |
4772 | +" Please add following to uaclient.conf to keep your config:" |
4773 | +msgstr "" |
4774 | + |
4775 | +#: ../../uaclient/messages/__init__.py:272 |
4776 | +msgid "" |
4777 | +"Currently attempting to automatically attach this machine to Ubuntu Pro " |
4778 | +"services" |
4779 | +msgstr "" |
4780 | + |
4781 | +#: ../../uaclient/messages/__init__.py:276 |
4782 | +#, python-brace-format |
4783 | +msgid "This machine is now attached to '{contract_name}'\n" |
4784 | +msgstr "" |
4785 | + |
4786 | +#: ../../uaclient/messages/__init__.py:281 |
4787 | +msgid "This machine is now successfully attached'\n" |
4788 | +msgstr "" |
4789 | + |
4790 | +#: ../../uaclient/messages/__init__.py:285 |
4791 | +#, python-brace-format |
4792 | +msgid "Enabling default service {name}" |
4793 | +msgstr "" |
4794 | + |
4795 | +#: ../../uaclient/messages/__init__.py:287 |
4796 | +#, python-brace-format |
4797 | +msgid "Service {name} is recommended by default. Run: sudo pro enable {name}" |
4798 | +msgstr "" |
4799 | + |
4800 | +#: ../../uaclient/messages/__init__.py:290 |
4801 | +msgid "Initiating attach operation..." |
4802 | +msgstr "" |
4803 | + |
4804 | +#: ../../uaclient/messages/__init__.py:291 |
4805 | +msgid "Failed to perform attach..." |
4806 | +msgstr "" |
4807 | + |
4808 | +#: ../../uaclient/messages/__init__.py:293 |
4809 | +#, python-brace-format |
4810 | +msgid "" |
4811 | +"Please sign in to your Ubuntu Pro account at this link:\n" |
4812 | +"{url}\n" |
4813 | +"And provide the following code: {bold}{{user_code}}{end_bold}" |
4814 | +msgstr "" |
4815 | + |
4816 | +#: ../../uaclient/messages/__init__.py:302 |
4817 | +msgid "Attaching the machine..." |
4818 | +msgstr "" |
4819 | + |
4820 | +#: ../../uaclient/messages/__init__.py:307 |
4821 | +msgid "Detach will disable the following service:" |
4822 | +msgid_plural "Detach will disable the following services:" |
4823 | +msgstr[0] "" |
4824 | +msgstr[1] "" |
4825 | + |
4826 | +#: ../../uaclient/messages/__init__.py:312 |
4827 | +msgid "This machine is now detached." |
4828 | +msgstr "" |
4829 | + |
4830 | +#: ../../uaclient/messages/__init__.py:316 |
4831 | +msgid "One moment, checking your subscription first" |
4832 | +msgstr "" |
4833 | + |
4834 | +#: ../../uaclient/messages/__init__.py:318 |
4835 | +#, python-brace-format |
4836 | +msgid "{title} enabled" |
4837 | +msgstr "" |
4838 | + |
4839 | +#: ../../uaclient/messages/__init__.py:319 |
4840 | +#, python-brace-format |
4841 | +msgid "{title} access enabled" |
4842 | +msgstr "" |
4843 | + |
4844 | +#: ../../uaclient/messages/__init__.py:320 |
4845 | +#, python-brace-format |
4846 | +msgid "Could not enable {title}." |
4847 | +msgstr "" |
4848 | + |
4849 | +#: ../../uaclient/messages/__init__.py:322 |
4850 | +#, python-brace-format |
4851 | +msgid "" |
4852 | +"{service_being_enabled} cannot be enabled with {incompatible_service}.\n" |
4853 | +"Disable {incompatible_service} and proceed to enable " |
4854 | +"{service_being_enabled}? (y/N) " |
4855 | +msgstr "" |
4856 | + |
4857 | +#: ../../uaclient/messages/__init__.py:328 |
4858 | +#, python-brace-format |
4859 | +msgid "Disabling incompatible service: {service}" |
4860 | +msgstr "" |
4861 | + |
4862 | +#: ../../uaclient/messages/__init__.py:331 |
4863 | +#, python-brace-format |
4864 | +msgid "" |
4865 | +"{service_being_enabled} cannot be enabled with {required_service} disabled.\n" |
4866 | +"Enable {required_service} and proceed to enable {service_being_enabled}? (y/" |
4867 | +"N) " |
4868 | +msgstr "" |
4869 | + |
4870 | +#: ../../uaclient/messages/__init__.py:336 |
4871 | +#, python-brace-format |
4872 | +msgid "Enabling required service: {service}" |
4873 | +msgstr "" |
4874 | + |
4875 | +#: ../../uaclient/messages/__init__.py:338 |
4876 | +#, python-brace-format |
4877 | +msgid "A reboot is required to complete {operation}." |
4878 | +msgstr "" |
4879 | + |
4880 | +#. DISABLE |
4881 | +#: ../../uaclient/messages/__init__.py:343 |
4882 | +#, python-brace-format |
4883 | +msgid "Could not disable {title}." |
4884 | +msgstr "" |
4885 | + |
4886 | +#: ../../uaclient/messages/__init__.py:345 |
4887 | +#, python-brace-format |
4888 | +msgid "" |
4889 | +"{dependent_service} depends on {service_being_disabled}.\n" |
4890 | +"Disable {dependent_service} and proceed to disable {service_being_disabled}? " |
4891 | +"(y/N) " |
4892 | +msgstr "" |
4893 | + |
4894 | +#: ../../uaclient/messages/__init__.py:351 |
4895 | +#, python-brace-format |
4896 | +msgid "Disabling dependent service: {required_service}" |
4897 | +msgstr "" |
4898 | + |
4899 | +#: ../../uaclient/messages/__init__.py:354 |
4900 | +#, python-brace-format |
4901 | +msgid "Removing apt source file: {filename}" |
4902 | +msgstr "" |
4903 | + |
4904 | +#: ../../uaclient/messages/__init__.py:356 |
4905 | +#, python-brace-format |
4906 | +msgid "Removing apt preferences file: {filename}" |
4907 | +msgstr "" |
4908 | + |
4909 | +#: ../../uaclient/messages/__init__.py:361 |
4910 | +msgid "(The --purge flag is still experimental - use with caution)" |
4911 | +msgstr "" |
4912 | + |
4913 | +#: ../../uaclient/messages/__init__.py:364 |
4914 | +#, python-brace-format |
4915 | +msgid "Purging the {service} packages would uninstall the following kernel(s):" |
4916 | +msgstr "" |
4917 | + |
4918 | +#: ../../uaclient/messages/__init__.py:367 |
4919 | +#, python-brace-format |
4920 | +msgid "{kernel_version} is the current running kernel." |
4921 | +msgstr "" |
4922 | + |
4923 | +#: ../../uaclient/messages/__init__.py:370 |
4924 | +msgid "" |
4925 | +"No other valid Ubuntu kernel was found in the system.\n" |
4926 | +"Removing the package would potentially make the system unbootable.\n" |
4927 | +"Aborting.\n" |
4928 | +msgstr "" |
4929 | + |
4930 | +#: ../../uaclient/messages/__init__.py:377 |
4931 | +msgid "" |
4932 | +"If you cannot guarantee that other kernels in this system are bootable and\n" |
4933 | +"working properly, *do not proceed*. You may end up with an unbootable " |
4934 | +"system.\n" |
4935 | +msgstr "" |
4936 | + |
4937 | +#: ../../uaclient/messages/__init__.py:386 |
4938 | +#, python-brace-format |
4939 | +msgid "" |
4940 | +"Failed to automatically attach to Ubuntu Pro services {num_attempts} " |
4941 | +"time(s).\n" |
4942 | +"The failure was due to: {reason}.\n" |
4943 | +"The next attempt is scheduled for {next_run_datestring}.\n" |
4944 | +"You can try manually with `sudo pro auto-attach`." |
4945 | +msgstr "" |
4946 | + |
4947 | +#: ../../uaclient/messages/__init__.py:394 |
4948 | +#, python-brace-format |
4949 | +msgid "" |
4950 | +"Failed to automatically attach to Ubuntu Pro services {num_attempts} " |
4951 | +"time(s).\n" |
4952 | +"The most recent failure was due to: {reason}.\n" |
4953 | +"Try re-launching the instance or report this issue by running `ubuntu-bug " |
4954 | +"ubuntu-advantage-tools`\n" |
4955 | +"You can try manually with `sudo pro auto-attach`." |
4956 | +msgstr "" |
4957 | + |
4958 | +#: ../../uaclient/messages/__init__.py:402 |
4959 | +#, python-brace-format |
4960 | +msgid "" |
4961 | +"Canonical servers did not recognize this machine as Ubuntu Pro: \"{detail}\"" |
4962 | +msgstr "" |
4963 | + |
4964 | +#: ../../uaclient/messages/__init__.py:406 |
4965 | +msgid "Canonical servers did not recognize this image as Ubuntu Pro" |
4966 | +msgstr "" |
4967 | + |
4968 | +#: ../../uaclient/messages/__init__.py:408 |
4969 | +#, python-brace-format |
4970 | +msgid "the pro lock was held by pid {pid}" |
4971 | +msgstr "" |
4972 | + |
4973 | +#: ../../uaclient/messages/__init__.py:410 |
4974 | +#, python-brace-format |
4975 | +msgid "an error from Canonical servers: \"{error_msg}\"" |
4976 | +msgstr "" |
4977 | + |
4978 | +#: ../../uaclient/messages/__init__.py:412 |
4979 | +msgid "a connectivity error" |
4980 | +msgstr "" |
4981 | + |
4982 | +#: ../../uaclient/messages/__init__.py:413 |
4983 | +#, python-brace-format |
4984 | +msgid "an error while reaching {url}" |
4985 | +msgstr "" |
4986 | + |
4987 | +#: ../../uaclient/messages/__init__.py:414 |
4988 | +msgid "an unknown error" |
4989 | +msgstr "" |
4990 | + |
4991 | +#: ../../uaclient/messages/__init__.py:418 |
4992 | +#, python-brace-format |
4993 | +msgid "Due to contract refresh, '{service}' is now disabled." |
4994 | +msgstr "" |
4995 | + |
4996 | +#: ../../uaclient/messages/__init__.py:421 |
4997 | +#, python-brace-format |
4998 | +msgid "" |
4999 | +"Unable to disable '{service}' as recommended during contract refresh. " |
5000 | +"Service is still active. See `pro status`" |
It is a bit confusing that only 10 commits are listed on this MP, but there seem to be a lot more referenced in d/changelog, and indeed `git log pkg/import/29.. | grep ^commit | wc -l` shows 185 commits?
Below is review on the 10 from this MP, the other 175 will take me awhile assuming they also need reviewed. Nothing major (these 10 are pretty straightforward) but a couple questions/fixups:
### Commit-by-Commit Review ###
15f4506... by Renan Rodrigo on 2023-10-03
messages: add gettext to new purge messages
+1 Simple refactor to add gettext() calls
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
573c3ec... by Renan Rodrigo on 2023-10-03
disable: messages to warn that --purge is experimental
- Changelog entry should be "messages that warn that --purge"
- For the warning itself, I'd suggest a slightly different wording:
+PURGE_ EXPERIMENTAL = t.gettext(
+ "(The --purge flag is still experimental - use with caution)"
+)
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
629fc4d... by Renan Rodrigo on 2023-10-03
po: run tools/update-pos.sh
+1 (Just translations)
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
fa7505d... by Renan Rodrigo 5 hours ago
fix: reposition message to avoid po conflicts
+1 (Trivial refactor, no actual code change)
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
9e5cfc2... by Renan Rodrigo 16 hours ago
chore: archive release-29 sru scripts
also create a folder for release-30 and let the esm pinning test rest
there
+1 (Just directory housekeeping)
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -- 20017bdf6b260b0 66e77f740d.
9bb2be3... by Renan Rodrigo 20 hours ago
esm: pin repositories to a higher priority using static files
This reverts commit 1dfcade40602ff8
? I grepped the codebase for '500' for any other pinning instances.
The following files seem to all be tests, and may not be app or infra
related, so I'm guessing these are not affected, but can you confirm?
./features/ anbox.feature attached_ enable. feature realtime_ kernel. feature tests/test_ apt.py entitlements/ tests/test_ repo.py hook/json- hook.test. cc
./features/
./features/
./uaclient/
./uaclient/
./apt-
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -- 421fa59c8fec3d6 935d9ec6c7.
a8e1aca... by Renan Rodrigo 20 hours ago
esm: add comment to preference files
This reverts commit 71aab656ea44aa1
+1 Comments in a preferences config file, entirely replaced in next
commit...
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -- cdf7a6f5a114547 f4a3360fc5.
bef8bad... by Renan Rodrigo 20 hours ago
Update esm pin file comment
This reverts commit a8d66f68088c267
+1 Comments in a preferences config file, so safe. No errors in
grammar, and the changes read ok.
I'm curious though why this isn't squashed with a8e1aca?
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
a334bcf... by Lucas Albuquerque Medeiros de Moura 4 hours ago
fips-preview: add gpg key for the service
To enable ...