Title: Update-Help does not work with partial locale · Issue #18021 · PowerShell/PowerShell · GitHub
Open Graph Title: Update-Help does not work with partial locale · Issue #18021 · PowerShell/PowerShell
X Title: Update-Help does not work with partial locale · Issue #18021 · PowerShell/PowerShell
Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerShell 5.1 and PowerShell. Steps to reprodu...
Open Graph Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh...
X Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh...
Opengraph URL: https://github.com/PowerShell/PowerShell/issues/18021
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Update-Help does not work with partial locale","articleBody":"### Prerequisites\r\n\r\n- [X] Write a descriptive title.\r\n- [X] Make sure you are able to repro it on the [latest released version](https://github.com/PowerShell/PowerShell/releases)\r\n- [X] Search the existing issues.\r\n- [X] Refer to the [FAQ](https://github.com/PowerShell/PowerShell/blob/master/docs/FAQ.md).\r\n- [X] Refer to [Differences between Windows PowerShell 5.1 and PowerShell](https://docs.microsoft.com/powershell/scripting/whats-new/differences-from-windows-powershell).\r\n\r\n### Steps to reproduce\r\n\r\n`Update-Help` does not work if the provided locale is a partial match (i.e. parent) of the available one. This means that if `en-US` is available, you have to provide exactly `en-US` and cannot just do `en`. I believe this is a bug for 2 reasons:\r\n\r\n1. It Makes Sense™ that if user says \"I want to use English locale\", they mean \"Any English variant will do\", not \"I want to use English not associated with any country\".\r\n2. `Update-Help` with implicit locale has mechanism to fall back to parents. That is, if you don't provide explicit `-UICulture`, it uses the system, e.g. `en-GB`, then if that fails it tries `en`. The described bug means that fallbacks will always fail, unless the module uses exactly locale `en` without any country suffix, which they never do.\r\n\r\nThis can be fixed by changing `string.Equals` to `string.Contains` or some other function in `UpdatableHelpInfo.IsCultureSupported`.\r\n\r\n### Expected behavior\r\n\r\n```console\r\n\u003e Update-Help -Module 'Microsoft.PowerShell.Core' -SourcePath 'assets' -Force -UICulture 'en-US'\r\n\u003e Update-Help -Module 'Microsoft.PowerShell.Core' -SourcePath 'assets' -Force -UICulture 'en'\r\n\u003e # No error reported means success\r\n```\r\n\r\n\r\n### Actual behavior\r\n\r\n```console\r\n\u003e Update-Help -Module 'Microsoft.PowerShell.Core' -SourcePath 'assets' -Force -UICulture 'en-US'\r\n\u003e Update-Help -Module 'Microsoft.PowerShell.Core' -SourcePath 'assets' -Force -UICulture 'en'\r\nUpdate-Help: Failed to update Help for the module(s) 'Microsoft.PowerShell.Core' with UI culture(s) {en} : Unable to retrieve the HelpInfo XML file for UI culture en. Make sure the HelpInfoUri property in the module manifest is valid or check your network connection and then try the command again..\r\nEnglish-US help content is available and can be installed using: Update-Help -UICulture en-US.\r\n```\r\n\r\n\r\n### Error details\r\n\r\n```console\r\nType : System.Management.Automation.ActionPreferenceStopException\r\nErrorRecord :\r\n Exception :\r\n Type : System.Exception\r\n Message : Failed to update Help for the module(s) 'Microsoft.PowerShell.Core' with UI culture(s) {en} : Unable to retrieve the HelpInfo XML file for UI culture en. Make sure the HelpInfoUri property\r\nin the module manifest is valid or check your network connection and then try the command again..\r\n English-US help content is available and can be installed using: Update-Help -UICulture en-US.\r\n HResult : -2146233088\r\n CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception\r\n FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand\r\n InvocationInfo :\r\n MyCommand : Update-Help\r\n ScriptLineNumber : 1\r\n OffsetInLine : 1\r\n HistoryId : 38\r\n Line : Update-Help -Module 'Microsoft.PowerShell.Core' -SourcePath 'assets' -Force -ErrorAction Stop -Scope 'CurrentUser' -UICulture 'en'\r\n PositionMessage : At line:1 char:1\r\n + Update-Help -Module 'Microsoft.PowerShell.Core' -SourcePath 'assets' …\r\n + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n InvocationName : Update-Help\r\n CommandOrigin : Internal\r\n ScriptStackTrace : at \u003cScriptBlock\u003e, \u003cNo file\u003e: line 1\r\n PipelineIterationInfo :\r\n\r\n\r\n\r\nTargetSite :\r\n Name : Invoke\r\n DeclaringType : System.Management.Automation.Runspaces.PipelineBase, System.Management.Automation, Version=7.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\r\n MemberType : Method\r\n Module : System.Management.Automation.dll\r\nMessage : The running command stopped because the preference variable \"ErrorActionPreference\" or common parameter is set to Stop: Failed to update Help for the module(s) 'Microsoft.PowerShell.Core' with\r\nUI culture(s) {en} : Unable to retrieve the HelpInfo XML file for UI culture en. Make sure the HelpInfoUri property in the module manifest is valid or check your network connection and then try the command\r\nagain..\r\n English-US help content is available and can be installed using: Update-Help -UICulture en-US.\r\nData : System.Collections.ListDictionaryInternal\r\nSource : System.Management.Automation\r\nHResult : -2146233087\r\nStackTrace :\r\n at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) in /home/dkaszews/code/PowerShell/src/System.Management.Automation/engine/hostifaces/pipelinebase.cs:line 411\r\n at System.Management.Automation.Runspaces.Pipeline.Invoke() in /home/dkaszews/code/PowerShell/src/System.Management.Automation/engine/hostifaces/Pipeline.cs:line 528\r\n at Microsoft.PowerShell.Executor.ExecuteCommandHelper(Pipeline tempPipeline, Exception\u0026 exceptionThrown, ExecutionOptions options) in\r\n/home/dkaszews/code/PowerShell/src/Microsoft.PowerShell.ConsoleHost/host/msh/Executor.cs:line 403\r\n```\r\n\r\n\r\n### Environment data\r\n\r\n```powershell\r\nName Value\r\n---- -----\r\nPSVersion 7.3.0-preview.3\r\nPSEdition Core\r\nGitCommitId 7.3.0-preview.3-311-g7f6b78257ebecc44ca2c3847b1241e91a61d0c97\r\nOS Linux 5.15.0-1013-raspi #15-Ubuntu SMP PREEMPT Mon Aug 8 06:33:06 UTC 2022\r\nPlatform Unix\r\nPSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}\r\nPSRemotingProtocolVersion 2.3\r\nSerializationVersion 1.1.0.1\r\nWSManStackVersion 3.0\r\n```\r\n\r\n\r\n### Visuals\r\n\r\n_No response_","author":{"url":"https://github.com/dkaszews","@type":"Person","name":"dkaszews"},"datePublished":"2022-09-03T13:24:04.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/18021/PowerShell/issues/18021"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:86c4bbb8-f533-2f8d-2aac-a06304d8c333 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B1DA:2D34EE:3943B1:4DAC54:6A553CD0 |
| html-safe-nonce | f436db5d862654316abe63b9dbbb76df916486f8b6dc2fc3f1ea5d4a9c56a661 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMURBOjJEMzRFRTozOTQzQjE6NERBQzU0OjZBNTUzQ0QwIiwidmlzaXRvcl9pZCI6IjM3ODUxMTg5NDEzMjU5MDEwMDgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | b91416fa3f3ad81ff370567841d236305dea7e426a6515769cd848be6190a703 |
| hovercard-subject-tag | issue:1360856969 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PowerShell/PowerShell/18021/issue_layout |
| twitter:image | https://opengraph.githubassets.com/e5200212de842fbe6f1002848c3ce5a157ba1402dad67b5f2f967fce2296642b/PowerShell/PowerShell/issues/18021 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/e5200212de842fbe6f1002848c3ce5a157ba1402dad67b5f2f967fce2296642b/PowerShell/PowerShell/issues/18021 |
| og:image:alt | Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | dkaszews |
| hostname | github.com |
| expected-hostname | github.com |
| None | fbd8fce4d63ac394c5405faa20aa50d5c9e56b979ac43ee1b26f8e7c47c4cd89 |
| turbo-cache-control | no-preview |
| go-import | github.com/PowerShell/PowerShell git https://github.com/PowerShell/PowerShell.git |
| octolytics-dimension-user_id | 11524380 |
| octolytics-dimension-user_login | PowerShell |
| octolytics-dimension-repository_id | 49609581 |
| octolytics-dimension-repository_nwo | PowerShell/PowerShell |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 49609581 |
| octolytics-dimension-repository_network_root_nwo | PowerShell/PowerShell |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 811f50b757204c6a1b4da0ea780075b3e1cc9e57 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width