Internationalization and Localization (UXPROD-779)

[UXPROD-515] Translated library-generated controlled vocabularies Created: 16/Apr/18  Updated: 29/Jun/21

Status: Open
Project: UX Product
Components: None
Affects versions: None
Fix versions: None
Parent: Internationalization and Localization

Type: New Feature Priority: P3
Reporter: Peter Murray Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: i18n, post-v1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File Multi-lingual Library-define policies - FOLIO Institute-Campus-Libraries-Locations -.png     PNG File Multi-lingual Library-define policies - FOLIO Inventory app Library-Locations filter-.png     PNG File Multi-lingual Library-define policies - FOLIO Users app - English-Arabic-French Service Points-.png     PNG File Multi-lingual Library-define policies - FOLIO Users app - French Patron group search filter-.png     PNG File Multi-lingual Library-define policies - FOLIO Users app - Patron group search filter-.png    
Issue links:
Cloners
is cloned by UXPROD-3148 Translated library-defined controlled... Open
Defines
is defined by UX-400 UX Review of KWare's User-Level Local... In Progress
Relates
relates to CHAL-196 Ability to customize (for tenant) ite... Closed
relates to UIIN-2216 Ability to customize (for tenant) ite... Closed
Epic Link: Internationalization and Localization
Front End Estimate: Large < 10 days
Front End Estimator: Jakub Skoczen
Back End Estimate: XL < 15 days
Back End Estimator: Jakub Skoczen
Development Team: None
Rank: Chalmers (Impl Aut 2019): R4
Rank: Chicago (MVP Sum 2020): R5
Rank: Cornell (Full Sum 2021): R5
Rank: Duke (Full Sum 2021): R5
Rank: 5Colleges (Full Jul 2021): R5
Rank: FLO (MVP Sum 2020): R5
Rank: GBV (MVP Sum 2020): R2
Rank: hbz (TBD): R2
Rank: Hungary (MVP End 2020): R2
Rank: Lehigh (MVP Summer 2020): R5
Rank: Leipzig (Full TBD): R2
Rank: Leipzig (ERM Aut 2019): R4
Rank: Mainz (Full TBD): R2
Rank: TAMU (MVP Jan 2021): R5
Rank: U of AL (MVP Oct 2020): R4

 Description   

Ability to supply translations for library-configured content/controlled vocabularies (e.g. locations, libraries, permissions, patron group etc.). This will be important when we allow user-level translation ( UXPROD-510 Open ).



 Comments   
Comment by Massoud Alshareef [ 11/Apr/20 ]

Hey Zak Burke Cate Boerema Ann-Marie Breaux Peter Murray Mike Taylor attia.alshareef

It gives me pleasure to introduce our translation solution for the "library-generated controlled vocabularies" to you. Our suggested solution does not require any change in FOLIO data structure, nor it requires that an app developer must publicise a translation_key for every policyName (vocabulary) that the library defines (generates). The translation solution introduced here is dynamic - in the sense that translation will be in effect on the fly immediately after a policy name is saved by the librarian who is granted a Translate Permission. No need for re-build due to the static translation file.

First, I would like to suggest the name "library-defined Policies Names" in place of "library-generated controlled vocabularies"; this is the common name used in several ILS that we have worked with on the translation aspects since late 90tees, including SirsiDynix Unicorn (Symphony now) and Koha ILS.

As a PoC, I will use the following five screenshots for FOLIO multi-lingual Institute/Campus.Libraries/locations, patron group and service points. After the PoC presentation, I will add another comment to present to you how libraries can go about translating their "library-defined Policies Names" via FOLIO Settings UI.

multi-lingual FOLIO Institute-Campus-Library-locations - English and Arabic Tenant Location Setup:

and here is how it appears in FOLIO Inventory app "Effective location" search filter - English and Arabic library locations:

multi-lingual FOLIO Patron group - Users app - English and Arabic Patron group:

multi-lingual FOLIO Patron group - Users app - French Patron group:

multi-lingual FOLIO Service points - English, Arabic and French Service Points:

Thanks,
Massoud.

Comment by Zak Burke [ 14/Apr/20 ]

Massoud Alshareef, this looks really interesting! I am very curious about the implementation details. Are you able to provide code samples that demonstrate how you perform the run-time l10n, e.g. is substitution handled centrally or on a per-application basis?

Comment by Peter Murray [ 14/Apr/20 ]

Massoud Alshareef: Is the code ready to show others? If it is in a branch in your GitHub organization, it will help the Stripes architecture group assess the strategy and make any necessary recommendations to get it included into the core code.

Comment by Massoud Alshareef [ 15/Apr/20 ]

Zak Burke I've asked attia.alshareef to explain the implementation details to you and the Stripes architecture group.

Peter Murray During the last two weeks we were focusing entirely on how to PoC of the dynamic translation technique to our FOLIO colleagues. We now feel there are lots of rooms for optimisations and code cleanup that we should take care of before sharing the code with others. We will need about four weeks before we reach that point.

Comment by Julian Ladisch [ 15/Jun/21 ]

What is the status of KWare proposal? Can you post a link to the GitHub branch of the software changes?

Comment by Massoud Alshareef [ 16/Jun/21 ]

Hello Julian Ladisch 

Thank you for asking. Please take a look at issue UX-400 and issue FOLIO-2802 to get updated on Kware proposed solutions for the user-defined locales switcher and the dynamic translation engine for library-defined controlled vocabularies. We did put the URL for our code before two versions of FOLIO back, but due to the refactoring work we had to do to be compatible with the later releases of FOLIO, we removed the old repositories and now we're waiting for decisions to be made by the UX, backend and frontend teams about how and when to proceed with the code integration.

Greeting Peter Murray Zak Burke attia.alshareef Marc Johnson

Comment by Marc Johnson [ 18/Jun/21 ]

Massoud Alshareef

now we waiting for some decisions to be made by the UX, backend and frontend teams about how and when to proceed with the code integration

What back-end decision are you waiting for?

Generated at Fri Feb 09 00:08:30 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.