Friday, June 18, 2010

Multilingual FileMaker Layouts

In this article I will show you how to build a multilingual user interface in FileMaker.


Recently I saw a very complicated method floating around the net, so I thought I'd show you a method we use at Idealisator Hungary.

What you will need:

A table (called languages), which will hold the translations of every single layout text, button text, etc that you wish to use. These each will be new fields (eg: Button_OK, Button_Cancel, Message_Error, etc) + here you will have a text field (Language) which will contain the language name.

Get the idea? To create a new language you just need to create a new record in this language table, fill the Language field with the appropriate language name, fill the layout text fields, and there you have a new language.


Then you will need a CurrentLanguage Global field in the table your current layout is based on.
Then you just simply create a relation between this CurrentLanguage field with the Languages::Language text field, and you're pretty much ready.



You just need to add these fields to the layout (via the Language relations), and by changing the CurrentLanguage global field, you can easily change the display language on the layout.


You can download a really simple demonstration from here . (right click- save as).
I included english, german and hungarian languages.

Feel free to contact us if you need further information!

Update: In find mode, you need global fields for each layout text you use on the layout. (copy to those globals the appropriate language fields, or evaluate it.
As a solution should contain one, or maybe two search screens, not every layout searchable, I think it can be handled this way. In the comments you can see more of this. My opinion is that this method I wrote is one of the easiest to implement, while others may need much more work. - Adam


The material on this document is offered as is. There is no representation or warranty, expressed or implied, nor does any other contributor to this post. Consequential and incidental damages are expressly excluded. FileMaker Pro is the registered trademark of FileMaker Inc.

9 comments:

  1. Enter Find mode and you don't see any translated text.
    Study the example file of Ray Cologon (FileMaker Excellence Award winner):
    http://www.nightwing.com.au/FileMaker/demos9/demo911.html

    ReplyDelete
  2. If you check what you linked he uses +1 table full of evaluate, same fields, just to be able to display it in find mode.

    A standard solution SHOULD contain only one search screen, not every layout searchable. I do not think a data entry screen should be available in find mode in a complex solution.

    In this case, you can use Globals, and copy it, or evaluate it, and display that. That's what we use actually.

    I really respect Ray's work, But I think his method for a standard layout is not needed, if you do not wish to make it available in find mode.

    Choose the one you wish..

    I wrote my article because of this: http://fmlayoutmode.com/wp/?p=561#more-561

    Peace..

    ReplyDelete
  3. Just glanced over the article at http://fmlayoutmode.com/wp/?p=561#more-561

    Wow. Just wow.

    ReplyDelete
  4. Hi dude,
    i read your blog,This is a wonderful blog.I was able to get the
    information that I had been looking for. Thanks once again.
    Thank You
    Filemaker development

    ReplyDelete
  5. If you don’t relate the language database the translations appear in find mode. It’s also very useful if you have multiple tables in a single database as you don’t have to create relationships for each one.

    Easiest way is to have a separate database for the translations with two tables.

    The first table has a record for each language and a field for each translation.

    The second table has a language field and global calculations for each translation field using the Evaluate function from the first table.

    In the databases you want use the translations add the table occurrence (second table) and don’t relate it to anything.

    In your database have a language selection field that sets the language field in the second table.

    Tip – Keep the name of the second table as short as possible so that merge fields aren’t too long for layouts.

    ReplyDelete
  6. I think it's so cool that they have a multilingual option. There are so many people out there who come from a variety of backgrounds. The fact that this tool is helping to adjust to all of them is great! I would love to learn more about it. http://www.zerobluetech.com/custom-filemaker-development/

    ReplyDelete
  7. Hey Adam, your method is exactly what I came up with lying in bed this morning contemplating an Arabic localization of a customers English database system. I know I'll need to incorporate Right to Left layouts but that's OK.

    Two questions:

    1) Can you update the link to your demo file, it seems to be broken
    2) Have you come across any refinements to the system using FM 13?

    ReplyDelete
  8. HAPPY NEW YEAR
    I love what you've got to say. But maybe you could a little more in the way of content so people could connect with it better. Please also visit my website and tell us what you think . Much thanks to you!
    Carbon Copy Cloner Crack
    Microsoft Office 2007 Crack
    Excel to vCard Converter Crack
    Boris FX Mocha Pro Crack
    BeeCut Crack

    ReplyDelete
  9. FileMaker Pro Crack includes all the features of the FileMaker Pro 2021 license key plus many advanced features and enhancements for creating, managing, and discussing the directory.
    https://softwaregurucrack.com/filemaker-pro-crack/

    ReplyDelete