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

Multilingual Project, Phase III #1410

Closed
wants to merge 75 commits into
base: develop
from

Conversation

Projects
None yet
9 participants
@greezybacon
Member

greezybacon commented Oct 19, 2014

Major New Features

  • Administratively editable content is translatable to multiple languages
    • Help Topics
      • Alphabetic sorting happens after translation
    • SLA Plans
    • Departments
    • Custom Forms (and all configurations such as placeholders)
    • Custom Lists
      • Items
      • Properties and configurations
    • Site Pages
    • FAQ Categories
    • FAQ Articles
      • Common attachments (available for all translations)
      • Per-language attachments
    • Content such as welcome emails and password-reset emails
  • Primary and secondary languages electable in admin panel
    • Secondary languages can be sorted
    • Flags are sorted primary first, then secondary in the manual sort order
  • New look for the client portal
    • Featured visibility for articles and categories to promote them to the front page
    • Articles can be printed to PDF
  • Olsen timezone database support (Europe/Berlin, America/Chicago, etc), with auto-detection
  • Locale-based automatic date and time formatting
  • Advanced custom date formats honor language preferences
  • Draft system redesigned to reduce AJAX callbacks
  • Browser language captured on login for language-specific outbound emails
  • Completion of the ORM

Outstanding

  • Proper install and upgrade scripts
  • Ensure proper layouts for single language systems

Screenshot Tour

Title translation

Elect system primary and secondary languages

Primary languages define the language of the primary content, and secondary languages are those which content can be translated into

screen shot 2014-10-18 at 11 37 11 pm

Translate titles such as help topic names

When at least one secondary language is defined, titles across the system become translatable

screen shot 2014-10-18 at 11 36 41 pm

Pop out dialog for managing title translations

screen shot 2014-10-18 at 11 40 19 pm

Add a language

screen shot 2014-10-18 at 11 40 28 pm

Translate the title

screen shot 2014-10-18 at 11 40 38 pm

Interface uses translated titles

screen shot 2014-10-18 at 11 48 09 pm

Content translation

Knowledgebase, site pages, and content (login banner, reset emails, etc) is also translatable to multiple languages

screen shot 2014-10-18 at 11 49 04 pm

screen shot 2014-10-18 at 11 49 27 pm

Better locale awareness

Timezone selection uses Olsen database now, with automatic detection available

screen shot 2014-10-18 at 11 51 04 pm

Date and time formatting is automatic by locale

screen shot 2014-10-18 at 11 51 22 pm

Advanced (obsessive-compulisive-compatible) formatting is available.

The ICU library is used now with an automatic fallback to strftime (which somewhat supports locales (depending on actual system library configuraiton))

screen shot 2014-10-18 at 11 51 27 pm

Locale selection for system default and end-end users

Agents can still elect their own language preference, date and time locale, and time zone

screen shot 2014-10-18 at 11 51 43 pm

New knowledge base system

Redesigned knowledge base for the agent panel

screen shot 2014-10-18 at 11 55 58 pm

Per-language attachments

screen shot 2014-10-18 at 11 56 19 pm

New front page for the client portal

screen shot 2014-10-18 at 11 57 42 pm

@Chefkeks

This comment has been minimized.

Show comment
Hide comment
@Chefkeks

Chefkeks Oct 19, 2014

Contributor

WOW! (^_^)
Looks really awesome!

I especially like the new client portal with integrated search of the knowledge base on top of the landing page (even though I think we need to re-design our current landing page to fit the new layout, but that's ok).

Contributor

Chefkeks commented Oct 19, 2014

WOW! (^_^)
Looks really awesome!

I especially like the new client portal with integrated search of the knowledge base on top of the landing page (even though I think we need to re-design our current landing page to fit the new layout, but that's ok).

@Hannibal226

This comment has been minimized.

Show comment
Hide comment
@Hannibal226

Hannibal226 Oct 19, 2014

+1
Nice work, buddy. I hope we see this soon ;)

CHEERS

Hannibal226 commented Oct 19, 2014

+1
Nice work, buddy. I hope we see this soon ;)

CHEERS

@ntozier

This comment has been minimized.

Show comment
Hide comment
@ntozier

ntozier Oct 19, 2014

Contributor

Looks good @greezybacon

Contributor

ntozier commented Oct 19, 2014

Looks good @greezybacon

@robintoy

This comment has been minimized.

Show comment
Hide comment
@robintoy

robintoy Oct 23, 2014

loving the new client portal look and feel, especially the knowledge base!

robintoy commented Oct 23, 2014

loving the new client portal look and feel, especially the knowledge base!

i18n: Add a few forgotten strings
After testing 1.9.4 I noticed that these strings are not yet included in the translation. So this is the (hopefully correct) pull request to add them ;)
Merge pull request #1440 from Chefkeks/patch-6
i18n: Add a few forgotten strings

Reviewed-By: Peter Rotich <peter@osticket.com>
@gmt-it

This comment has been minimized.

Show comment
Hide comment
@gmt-it

gmt-it Dec 8, 2014

Hello,
is it possible to test this?

gmt-it commented Dec 8, 2014

Hello,
is it possible to test this?

@balojs

This comment has been minimized.

Show comment
Hide comment
@balojs

balojs Dec 8, 2014

super wow! 👍

balojs commented Dec 8, 2014

super wow! 👍

greezybacon added some commits Dec 8, 2014

draft: Avoid ajax requests for setting up the draft
Drafts now are placed directly into the HTML response. The response contains
the draft information as well as the original content saved in the database
for the content being modified. The draft itself is placed into the redactor
box rather than the current content.

This patch also reduces some of the [Draft Saved] notices where there is no
content or the content has not yet been modified.
Fix initial popup of [Draft Saved]
Instead, only show the box if the draft has been modified since initially
created / updated.
draft: Put inline image draft race to rest
The solution is simple: upload the image, create the draft automatically,
attach the image to the draft, return the draft_id to the client. That's it.
There's no more need to create the draft in advance now.
Merge pull request #1148 from greezybacon/feature/draft-2.0
Drafts 2.0 — Draft system revisited
i18n: Make the translate widget show a flag
to indicate the primary language expected for translatable content

greezybacon added some commits Oct 18, 2014

i18n: Add locale-based date time formats
This patch adds support for automatic date and time formatting based on a
selection of locale. The locale can default to the system or user specified
language+locale, or can be elected separately. For instance, English
speakers can pick between US, GB, and many other English speaking locales.

This also removes the need of the %timezone table and uses the timezonedb
built into PHP 5.3+. User's can now select from a much longer list of
database and no longer need to deal with the DST checkbox.
Complete timezone selection for end users
Also, autodetect the endusers timezone using the jstimezonedetect Javascript
library.
forms: Use select_related for dynamic form objects
Link entry and form and entryAnswer and field. This will alleviate extra
queries which would otherwise be required.
i18n: Make secondary languages sortable
Also fix syntax error preventing deletes and drop the [manage all phrases]
feature for now.
@greezybacon

This comment has been minimized.

Show comment
Hide comment
@greezybacon

greezybacon Dec 8, 2014

Member

Merged into develop-next

Member

greezybacon commented Dec 8, 2014

Merged into develop-next

@greezybacon greezybacon closed this Dec 8, 2014

@gmt-it

This comment has been minimized.

Show comment
Hide comment
@gmt-it

gmt-it Dec 13, 2014

Hi, finally I managed the installation... ;-) First at all: it looks very good!
I found two errors:

  1. After editing a translation page content is stored but not displayed when you call the tab again. The translation is stored correctly and is displayed on the homepage but you can not edit the translation again. The tab is empty. Also, you can not delete a page. (see screenshots)
    delete_page

  2. When I try to create a category, there is the following error:
    Fatal error: Uncaught exception 'DoesNotExist' in /var/www/develop-next/include/class.orm.php:787 Stack trace: #0 /var/www/develop-next/include/class.category.php(229): QuerySet->one() #1 /var/www/develop-next/include/class.category.php(131): Category::findIdByName('test') #2 /var/www/develop-next/scp/categories.php(44): Category->update(Array, Array) #3 {main} thrown in /var/www/develop-next/include/class.orm.php on line 787

gmt-it commented Dec 13, 2014

Hi, finally I managed the installation... ;-) First at all: it looks very good!
I found two errors:

  1. After editing a translation page content is stored but not displayed when you call the tab again. The translation is stored correctly and is displayed on the homepage but you can not edit the translation again. The tab is empty. Also, you can not delete a page. (see screenshots)
    delete_page

  2. When I try to create a category, there is the following error:
    Fatal error: Uncaught exception 'DoesNotExist' in /var/www/develop-next/include/class.orm.php:787 Stack trace: #0 /var/www/develop-next/include/class.category.php(229): QuerySet->one() #1 /var/www/develop-next/include/class.category.php(131): Category::findIdByName('test') #2 /var/www/develop-next/scp/categories.php(44): Category->update(Array, Array) #3 {main} thrown in /var/www/develop-next/include/class.orm.php on line 787

@gmt-it

This comment has been minimized.

Show comment
Hide comment
@gmt-it

gmt-it Dec 13, 2014

New errors:

Emails -> Templates -> Add new Template Set: Language drop down is empty.
add_template

Front Page -> Open a New Ticket: Issue Details Helptext is shown in English. Translation is ignored.
new_ticket

gmt-it commented Dec 13, 2014

New errors:

Emails -> Templates -> Add new Template Set: Language drop down is empty.
add_template

Front Page -> Open a New Ticket: Issue Details Helptext is shown in English. Translation is ignored.
new_ticket

@gmt-it

This comment has been minimized.

Show comment
Hide comment
@gmt-it

gmt-it Dec 13, 2014

Next one:
Authentication and Registration Templates -> Translations are not stored in database.

gmt-it commented Dec 13, 2014

Next one:
Authentication and Registration Templates -> Translations are not stored in database.

@gmt-it

This comment has been minimized.

Show comment
Hide comment
@gmt-it

gmt-it Dec 13, 2014

Hello,
is this the right place to post errors in phase III?

gmt-it commented Dec 13, 2014

Hello,
is this the right place to post errors in phase III?

@Chefkeks

This comment has been minimized.

Show comment
Hide comment
@Chefkeks

Chefkeks Dec 13, 2014

Contributor

@gmt-it
Phase 3 is not finished yet. 1.9.4 contains phase 2. The next version will hopefully contain the completed phase 3, so wait for the multi-language phase 3 to be completed before complaining about it ;)

Contributor

Chefkeks commented Dec 13, 2014

@gmt-it
Phase 3 is not finished yet. 1.9.4 contains phase 2. The next version will hopefully contain the completed phase 3, so wait for the multi-language phase 3 to be completed before complaining about it ;)

@heikod

This comment has been minimized.

Show comment
Hide comment
@heikod

heikod Mar 27, 2015

Any progress on this? When will it be available for public? We cover 4 different languages, so it would be great if we could really translate "everything" for our customers. Thanks!

heikod commented Mar 27, 2015

Any progress on this? When will it be available for public? We cover 4 different languages, so it would be great if we could really translate "everything" for our customers. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment