diff --git a/README.md b/README.md index 4aca96a9..be7783ac 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,9 @@ All you need to provide is your database -- PostgreSQL, Microsoft SQL Server or ## Latest Release -[Community edition: v4.2.3](https://github.com/documize/community/releases) +[Community edition: v5.0.0](https://github.com/documize/community/releases) -[Community+ edition: v4.2.3](https://www.documize.com/community) +[Community+ edition: v5.0.0](https://www.documize.com/community) The Community+ edition is the "Enterprise" offering with advanced capabilities and customer support: @@ -77,6 +77,15 @@ Besides email/password login, you can also authenticate via: When using LDAP/Active Directory, you can enable dual-authentication with email/password. +## Localization + +Languages supported out-of-the-box: + +- English +- German + +PR's welcome for additional languages. + ## Product/Technical Support For both Community and Community+ editions, please contact our help desk for product help, suggestions and other enquiries. diff --git a/edition/community.go b/edition/community.go index 7812bb5e..c9d88678 100644 --- a/edition/community.go +++ b/edition/community.go @@ -42,7 +42,7 @@ func main() { rt.Product.Major = "5" rt.Product.Minor = "0" rt.Product.Patch = "0" - rt.Product.Revision = "220318131033" + rt.Product.Revision = "220413135227" rt.Product.Version = fmt.Sprintf("%s.%s.%s", rt.Product.Major, rt.Product.Minor, rt.Product.Patch) rt.Product.Edition = domain.CommunityEdition rt.Product.Title = "Community" diff --git a/gui/app/components/user/user-profile.js b/gui/app/components/user/user-profile.js index cc1a8185..37936a7d 100644 --- a/gui/app/components/user/user-profile.js +++ b/gui/app/components/user/user-profile.js @@ -21,6 +21,7 @@ import Component from '@ember/component'; export default Component.extend(AuthProvider, { appMeta: service(), + router: service(), hasFirstnameError: empty('model.firstname'), hasLastnameError: empty('model.lastname'), hasEmailError: computed('model.email', function() { @@ -49,6 +50,7 @@ export default Component.extend(AuthProvider, { }), locale: { name: '' }, locales: null, + localChanged: false, init() { this._super(...arguments); @@ -73,6 +75,8 @@ export default Component.extend(AuthProvider, { actions: { onSelectLocale(locale) { this.set('model.locale', locale.name); + + this.localChanged = true; }, save() { @@ -107,6 +111,10 @@ export default Component.extend(AuthProvider, { this.get('save')(passwords).finally(() => { set(this, 'password.password', ''); set(this, 'password.confirmation', ''); + + if (this.localChanged) { + this.get('router').transitionTo('auth.logout'); + } }); } } diff --git a/gui/app/services/i18n.js b/gui/app/services/i18n.js index 4592a5af..e85c4873 100644 --- a/gui/app/services/i18n.js +++ b/gui/app/services/i18n.js @@ -33,8 +33,6 @@ export default Service.extend({ case "de-DE": str = this.langs.deDE[key]; break; - default: - str = this.langs.enUS[key]; } if (_.isUndefined(str)) {