-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-language Support with Spaces #57629
Comments
@arisonl , apologies for the assignment. |
Pinging @elastic/kibana-localization (Team:Localization) |
Pinging @elastic/kibana-security (Team:Security) |
Thank you @joedissmeyer, this is immensely helpful! |
@elastic/kibana-localization are there plans to make |
@legrego making We do have a stale-draft PR for applying those changes on the browser side: #44606 I've created that PR to check how much work is needed to have this change in place, turns out it is a huge one. |
Thanks @Bamieh, I appreciate the update! |
Having this capability is important before removing the ability to override kibana.index because having two different locales is the reason why we run more than one Kibana instance on the same elastic cluster. We would very much like to use Spaces for this but cannot until we can set different locales for different spaces. If at all possible, this ticket should be implemented at the same time or before #82020 to minimize the impact of removing this feature. |
Hey @dbuijs, realistically we will not have this issue addressed before we remove the I'd like to figure out whether or not the following configuration would work around the limitations of having different language support for different spaces. Even after we remove the ability to specify the We can then create a space for each language. These spaces will be the same across all language instances of Kibana. However, we can use Kibana's RBAC model so that different language speakers only have access to the corresponding space: |
This is extremely helpful, thank you. It's less than ideal but that will be
workable.
The use case is for dashboards that connect to the same elastic search
indices, but in different languages. The locale setting on Kibana covers
the interface elements, but we need different index pattern settings to
cover translated fields in the indexed content. This needs to be
customizable because some fields are agnostic of language (like numbers and
identifiers), some fields have different formatting in different languages
(like dates) and some fields have corresponding fields in the other
language.
…On Thu., Sep. 30, 2021, 10:10 a.m. Brandon Kobel, ***@***.***> wrote:
Hey @dbuijs <https://github.com/dbuijs>, realistically we will not have
this issue addressed before we remove the kibana.index setting. We
haven't begun work on this issue, and from what I understand, it's a
considerable amount of work.
I'd like to figure out whether or not the following configuration would
work around the limitations of having different language support for
different spaces.
Even after we remove the ability to specify the kibana.index settings in
the kibana.yml, we can still have multiple different Kibana instances
with different i18n.locale settings:
[image: Screen Shot 2021-09-30 at 7 08 32 AM]
<https://user-images.githubusercontent.com/627123/135471222-f3462e56-4de4-45b7-8368-41539e6f7a8a.png>
We can then create a space for each language. These spaces will be the
same across all language instances of Kibana.
[image: Screen Shot 2021-09-30 at 7 08 52 AM]
<https://user-images.githubusercontent.com/627123/135471261-337f2f9e-fd98-4773-aee2-9df7cb74bd93.png>
However, we can use Kibana's RBAC model so that different language
speakers only have access to the corresponding space:
[image: Screen Shot 2021-09-30 at 7 09 15 AM]
<https://user-images.githubusercontent.com/627123/135471294-7b8d3d9e-0823-4254-b950-c9dd44dc5e5e.png>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#57629 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAXE57HOYVFKUKLIITY56U3UERVUPANCNFSM4KU3XBRQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Pinging @elastic/kibana-core (Team:Core) |
Any updates on when this might be addressed, or at least when discussions might start on when it could be addressed? :) |
TIL that we even had an issue opened for this (cc @Bamieh) From a technical standpoint: Long story short, we currently lack the proper server-side architecture to support dynamic locale/language support. The problem is the same for supporting different locale per space, or different locale per user. If on the browser-side, having multi-locale support would be fairly easy to achieve, given it technically only means loading a different locale per browser environment, on the server, that's a totally other story, as server-side components and services would need to be able to use a dynamic locale depending on some arbitrary context (userId, currentSpace, anything else). However, atm, the Kibana i18n service can be statically imported from basically anywhere on the server-side, from places where this 'i18n context' wouldn't be able to be inferred and, often, not even easily explicitly propagated. If exposing a scoped i18n service from request handler would solve the problem for 'scoped' code execution (e.g all code execution initiated from a request handler) would solve part of the problem, there is still the problem of code execution that is not explicitly bound to a request handler (e.g any background task service such as task manager). For such services, we would need to introduce a way for them to propagate the context the task is executed within (quite similar to what we do with 'fake requests' to impersonate the user for some tasks such as reporting). Note that even if we were to introduce such i18n service enhancement from Core, we would still need all consumers of the i18n service (meaning: all Kibana teams) to adapt all their current usages of i18n to use the new scoped service exposed from the request handler, which means realistically a multi-thousands files diff. TLDR: Dynamic locale support is a fairly common need that Kibana should (ihmo) support, but the technical implications and the cost are so significant that it never felt like it was worth focusing on the enhancement. FWIW, there is this an issue about creating an RFC around this problematic: #36645. But it didn't really move for ages. @arisonl (also cc @lukeelmers FYI) from a Product perspective, do you think this dynamic locale support may be something that could/should be reprioritized with the introduction of user settings (when it would make sense to allow users to specify their own locale)? |
These were my thoughts exactly. Knowing how large of an effort this would be, it doesn't seem worth the investment to try to fix it before we have proper user settings, as (I'd imagine) that's how we'd want the user experience to look moving forward. |
Describe the feature:
Ability to assign a specific language to a Space
Describe a specific use case for the feature:
A user has teams with varying languages that all use the same platform.
edit: blocked on support for dynamic
i18n
configuration. See comment below.The text was updated successfully, but these errors were encountered: