How to add a new language to Plone - plone

We need a way to classify pages or files as being of a language not already known in the standard language list in Plone/Zope. We don't need any translation or other functionality, just a way classify items as these new languages.
What is the best practice way of handling this?
We are currently looking at using ATVocabularyManager to import a new list of languages and then creating a plugin that uses schemaextender to adjust the vocabulary used by the DC metadata language field on all Plone content. Is there a more out of the box way of doing this?
Some of the languages we want to add don't have standard language codes such as Koori, Assyrian, SoranĂ®, Tetum, Dari and Karen.
We also have a similar but related need to display Chinese Traditional and Chinese Simplified using these names, rather than as Chinese China and Chinese HongKong.

Similar to Add new language in Plone , the best way is to contact the i18n-team for adding a new language, even if you don't have translation-strings, yet. They can be contributed step-by-step and in case also be overwritten for individual purposes.

Related

drupal 7 internationalisation il8n load node

I'm a part-time developer (ranked Enthusiastic Amateur) and am trying to develop my first multilingual site in Drupal 7 using the Internationlisation (il8n) suite.
After following the initial setup directions, I'm now trying to implement a "featured article" column where Articles flagged as Featured appear in a list in the right-hand column of the page.
Ordinarily I'd simply do a "db_query" to return a list of node ids and then do a node_load() for each result.
However, how do I do this using il8n to ensure that I'm pulling out the correct language versions of the Articles?
Any and all help is greatly appreciated,
~Matt Bridger
Use the i18n_node_get_lang() function to check the language of the nodes and load only the ones with the right language.
Typically you would use Views module (http://drupal.org/project/views). To create a block listing the nodes you want, and then under Filter Language, use Content: Language set to Current User's Language to filter for only the language being viewed. With this solution, there is no need to write any code, unless you need some advanced theming for your list.

Drupal 7 CCK List of world languages

I need to create a signup form for translators from any country and give them option to submit the language combinations they can translate to and from. For this purpose I need a list of world languages in dropdown or multi-select widget format. I could not find any module that could make a CCK field of world languages.
Hope anyone can come up with any suggestion.
It sounds like you could use a taxonomy term reference field type with a taxonomy keyed to the languages table (see language_list), which you'd need to do either with a one time mapping (possibly using taxonomy_xml) or a custom module (although it sounds like you have more of a one time use case.)
This is not to be taken as a canonical solution, perhaps someone else has experience with a different approach.

Are there any preset I18n word lists / resource files?

I'm creating a web application that uses I18n. As I don't want to translate very common basic strings like "forgot password?" on my own I'm asking you if there are already any resource files or word lists containing these strings. One option is to download an existing framework and extract somehow these strings but this might be a hassle?
Especially I'm looking for translation regarding user authentication and translations from English to Italian, French and German. The file format doesn't matter.
Professional translators use a tool, TMX is the generic term i think, Translation Memory Exchange, that does what you are talking about by building up standard phrase lists in other languages so when they translate they can bring these phrases in to speed up their job and reduce the repetitive tedium. So these lists exist.
There is a free plugin for MS Word that does this and may come with lists (sorry cannot remember the name although Rosetta rings a bell).
There is an FOSS TMX tool called Okapi at Sourceforge. It may come with the dictionaries but if not it is a point where you can investigate.
You could also approach a site called Proz which is a site for translators and might be able to point you in the right direction
Take care over MT like Google API as it can give some weird results but you could use it to build you list and then double check. Remember that when you check a language that you need to do it with a native speaker who can pick up on the nuances and colloquialisms.
You can use google translator api. and your custom resource bundle

Translating external api results in Drupal

We're building a multi-language Drupal stack and one of the concerns we have is that our payment processor is going to have to send back some information to us. We've been able to narrow this down so that the strings they're sending back look like
<country code>-<number of months>
so we can easily translate that into any number of languages, except English.
t('FR-12') is all well and good if we want to translate that into a french description, but because there's not an English language a similar string like t('EN-12') is not translatable.
Similarly for the generic string: #API_Connection_Error
This sort of generic string approach seemed really compelling to me at first but it seems to not work in Drupal. Do you have any suggestions about how to translate generic strings like this into both English and other languages?
Thank you, I've been looking through Google all morning.
I see two ways to achieve this at the moment:
You could just replace the default English language definition with a custom version. That way, you can 'translate' selected English strings just as with any other language. If you have configured locale module to fallback to the original string in case of absent translations, you can just add your special cases as translations to your custom English version, and everything else will use the original English version.
Take a look at the String Overrides module - it allows you to define custom overrides for any string that gets passed through t(), with separate overrides per language, including the original English.
I'd use the second option in your case, except if the number of 'external' strings is very high. See the first if clause of the t() function for the mechanism used for the overrides (lookup in language specific Drupal variable arrays).
Note that the String Overrides module just adds admin UI pages to configure those Drupal variables in the Backend - you could add/adjust them yourself as well (e.g. from a custom module).

Entity Framework multi-language website with multi-database

As the question is a bit self explanatory, I want to achieve the goal of a multi-language website. I am using an Entity Data Model with MS SQL 2005. I came up with an idea of making a seperate database for each language with exactly the same model and relations. So I can use the Entities constructor that takes a connectionString and switch the site to the selected language.
I am using an ascx as the language control that fires an event, and the parent aspx gets the selected language as an integer (from event args) and call the method containing the same linq queries but Entity context will be created with the connection string of that db (of language)
I could only came up with this solution, because I think adding a new language will require a replication of the english one, imported to Access and sent to the translator. Then will be exported back, and the model will fit (HOPEFULLY).
My question is if this is really a good approach or am I missing anything that will create greater hassle to me. Thanks in advance
multi-database is not a good solution as soon as entities within the different databases have relations to each other. Generally a good approach is to work with labels in one default language. These labels can either be in a well defined format (e.g. 'LABEL.TEXT_HELLO') or just in the base language (e.g. 'Hello World').
So all you have to do is building a table for translations where the base language is the key and hopefully there is for each key a value containing the translation. As soon as you have the translations, you can write a method ont he frontend which writes the labels in the language used by the user.
In Zend Framework for example, you have to write <h1><?= $this->translate('Hello World'); ?></h1> instead of just <h1>Hello World</h1>
The good thing about that is, that if ya translation is missing, you can still use the fallback (in this case english) to show the user at least something.
That way, you can manage your app in one database and users who speak several languages do not have to switch between applications and content.
cheers
My approach: create a table Language that lists all the available languages. Relate each table that should be localized to Language. Now, you can easily access the localized content e.g.
Content[content_ID].HeadLine.Where(hl => hl.Language.id == "en-US")
I look forward to see what other people as I myself is still learning DB design and EDM.
OK, if you want to be able to easily implement a new language, then reinventing the internationalization features already built in to ASP.NET is not the way to go, because it isn't "easy".
At least, not as easy as using a satellite resource DLL. Your translators will use off-the-shelf tooling to translate your resources, and ASP.NET will automatically select the correct DLL based on the user's current culture.
Read up on ASP.NET internationalization/globalization features; there's no need to invent your own.

Resources