Is there any way to translate thingsboard user dashboard to other languages like Japanese in community edition? - translation

I am new to thingsboard and I don't know its features. is it possible to change texts in the dashboard? should I change from the source code? is it too hard. I don't want to translate all the text in thingsboard, just things that customer user may see.

From your question it's unclear if you want to:
Translate default text from the default features in Thingsboard
or translate your own custom Strings in some of your dashboards for different customers
If 1. is your case, Thingsboard automatically translates it's texts to the default language on the web-browser of the user. You can customize translations in White Labeling -> Custom Translations
If 2. is what you want, you'll have to use custom widgets, and implement the $translate service to manage titles, labels and other texts in your widgets.
The input widgets have some examples on how to implement translations in your widgets.
var $translate = self.ctx.$scope.$injector.get('$translate');
var utils = self.ctx.$scope.$injector.get('utils');
var title = utils.customTranslation(self.ctx.settings.widgetTitle, self.ctx.settings.widgetTitle);
var error_msg_translated = $translate.instant('widgets.input-widgets.update-failed');
To understand the utils-service you can see the source Here and to get a video tutorial on Custom Translations Here

Related

Any way to create custom elements in google docs ie like OLE/OpenDoc or mediawiki?

Is there any way to embed custom parts into a google doc? I know you can do extensions and format the doc certain ways, but what about something more advanced. What I'm looking for is something closer to semantic media wiki, but with all the awesomeness that is google docs.
for instance to have data inline [[Property name::property value]] , but displayed as property value
inline queries like this , which are display/updated as a table
{{#ask:
[[Category:City]]
[[Located in::Germany]]
|?Population
|?Area#km² = Size in km²
}}
I know the first response, why not use ThisWiki or ThatWiki, and the problem is google docs is better (far better) at formatting, printing, etc which is where most people are comfortable, but several folks would like something more expressive and "computable". Also, we want one system.

How to translate non-page content in Kentico

We recently upgraded our Kentico 8.2 instance to 9.0 and are now focusing on localizing our site into two additional cultures. The textual content of our site is primarily stored in one of three places:
Editable regions
Text fields in custom page types
Custom tables
We're using the Kentico EMS license and would like to leverage the built-in Translation Services app in order to translate content in each of these locations, however it appears that it only supports with content within editable regions. I know Kentico has an input control for translating text boxes but it forces the content editor to create a distinct resource key for it; we simply have so much content I'm concerned this will get out of control for editors.
Additionally, we had considered migrating some of our content into pages but they don't logically fit there, and there are some complex relationships that would cause duplicate content so I'd really prefer to keep the content where it is. The other thought I had was to build either a custom module or custom form control to do some dirty work under the covers but didn't want to reinvent the wheel if there was already a known approach.
Is there a Kentico recommended approach, or workaround, to managing content translations within custom tables and page type fields?
You can use Translation in Kentico to translate page type fields and send them for translation. Check this documentation page for an example. It can be more complex at first, but it should do the trick for you. I have just tested creating a simple translation request for my page type and the resulting XLF file contained all page type fields.
For custom tables I will have to dissapoint you because custom tables in Kentico are not culture specific. If performance is important for you the best way to create translations is to add CultureCode field to your table in order to specify which culture the item is for.
For example you can have table with columns: ItemID, Text, CultureCode
And then the data would look like:
1, Dog, en-US
2, Hund, ge-GE
3, Pes, cs-CZ
If you would want to go even step further I would recommend to create this not as a custom table, but as a Custom class which will sit inside a custom module for which you can create your own interface which would allow editors to easily create all culture versions for the items.
For the custom page types and custom tables, you can change those text fields to localized text fields at the field definition and it will allow you to enter different values per language without a resource key. This is the best route IMHO for page types and custom table translation. Although this still does not allow for "automatic" or built-in translation.
I am not sure what do you mean by content translation in page type fields - there is support for translating page type fields. You can find example on sample site in Kentico installation. (The site is called DancingGoat - see image example for page type field localization in english and spanish language).

How do I localize the interface of Google Custom Search Control

I'm using Google Custom Search with a CustomSearchControl to display search results for a website. I can get the search results localized, and can add a localized no results string without problems. However, I cannot get the search box itself to become localized, i.e. the "Search" button and "XXX results".
The Google documentation CustomSearchControl doesn't mention any way to achieve this. Isn't this possible?
Here is the code I'm using.
google.load('search', '1', {language : 'is', style : google.loader.themes.MINIMALIST});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('MY_ID');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.setNoResultsString("Ekkert fannst.");
customSearchControl.draw('cse');
var queryFromUrl = parseQueryFromUrl();
if (queryFromUrl) {
customSearchControl.execute(queryFromUrl);
}
}, true);
Official response from Google support
I would like to update that currently for custom search element V2 code, you can change the search engine language only from the control panel->Basics->Language section. Whatever language you select it will be the same in all of your multilingual sites. You can't have different languages in different sites. Currently we don't have any parameter such as "language" in the Google Site Search code snippet to customize the language.
In your case you can consider creating different search engine for different languages and change the Language setting in Control Panel --> Setup --> Basics --> Language in all the search engine respectively and share the query quota by adding the search engine in the Business group.
Once you do that all these free search engines will share the query quota of your master GSS search engine.
After that, you can configure each search engine with respective sites/URL pattern only and implement the specific search engines on respective sites.
Please review the document below to know about Language settings
https://support.google.com/customsearch/answer/2633296?hl=en
Please review the document below know about business group:
https://support.google.com/customsearch/answer/2633350?hl=en
With the CSE Element v2, the search button becomes an icon, so there is no need to localize, if you switch to v2.

Amending Translation Values in CRM 2011 Outside of the Translation Files

I have received a requirement to amend the translations of the 'Add new..' and 'Add existing..' buttons in French. A typical default button is shown below:
The desired new translations are essentially to remove the gender neutrality (if my rather poor school French is correct!). So rather than 'Ajouter un(e)' we have 'Ajouter un'.
Unfortunately these button labels are not included in the standard translations file (Settings -> Customisations -> Export Translations).
Are there any other options available? Given the nature of the requirement, I am happy to consider pretty much any kind of hack. CRM must be generating these values from somewhere, any ideas where they are hidden?
Note: I profoundly disagree with this requirement for fairly obvious reasons and I am sure most people reading this question will as well. However, requirements are what they are and sometimes customers/clients just will not budge. This is one of those cases.
You can define the labels for CRM Ribbon controls. See Use Localized Labels with Ribbons.
In order to make this work, you need to export the ribbon definitions and identify where these controls are defined.
You should be able to define a CustomAction to override the definition of the existing control but include the label text you want to have instead of the default label text. See Define Custom Actions to Modify the Ribbon.
If you are already experienced with customizing the ribbon this shouldn't be too hard, but there is a signifcant learning curve when it comes to customizing the ribbon.

Localization of Reporting Services-Reports (.rdl / .rdlc-Files)

i need to localize a Reporting Services-report (.rdlc) and i would like to do it using a ressource-file (.resx).
I found pages like this and that and they use custom code to achieve their target.
But pages like Setting the Report Language Parameter in a URL give me the impression that localization in reports is possible without custom code.
So, it is possible to localize a Reporting Services-report without custom code ?
If so, is there a tutorial that explains how it's done?
What in the report do you want to localize?
values from the database? Those should be retrieved from the database in the appropriate language already
fixed labels and textboxes on the report? I have not yet seen any compelling way to doing this - you can either have
one report "skeleton" / template per language (and pick the one you need)
if the number of elements is manageable, define report parameters which you can set from the calling code, to set the labels and texts
use some custom .NET extension for handling localization
It's not really an awfully pretty picture, indeed - I'd be most interested in better solutions myself! (I typically need to support 3-4 languages for any report - and I'm using only server-based .RDL files, no .RDLC, so any localization that depends on client-side resource files is not usable in my case)
I would add one method when it comes to labels and textboxes:
Create a placeholder element within the textbox and use Expression field to
use a Switch clause , switching on the Language parameter.
It's not superpretty, but also works pretty well for 3-4 languages
I am passing parameters to the report for labels etc, and after adding the parameters to the report (using the menu option Report -> Parameters in VS2008) you can then use the values of these parameters to localise the labels. This is workiiing well enough, although it would be nicer to be abkle to refer to resource keys immediately from your form labels etc.

Resources