Translation
These are the docs for our FM10/11 version of the Pro Calendar. Docs for the newer, FM12 version of our calendar can be found here.
I'd like to localize the calendar into another language; what should I look out for?
Here are a few notes on areas you'll want to pay attention to when translating the calendar.
Dates
The dates in the calendar will largely take care of themselves, but read up on Date Formats to be sure.
Layouts
You can rename most layouts once you've integrated the solution into your file. The exceptions are the "Source No X" layouts. Don't rename those, just take them out of the layout menu. And if you rename the "calendar" layouts, edit the script "Go to Calendar Layout" to reflect your changes.
Repeat Options
The Repeat Options layout contains tab names and text (like the names of days and months) you may wish to translate. Drag the orange tab at the top of the screen out of the way to reveal the "real" FileMaker tabs below, and you can then navigate to the weekly, monthly, and yearly tabs to translate their contents. The day and month names are just text on the layout so you can edit these with the text tool: do NOT change the script parameters being sent from these buttons. These script parameters should always use the English names of days and months: your users will never see these.
You'll want to change the conditional formatting for each day name, replacing "Self" with the now English name of the day, like this:
not IsEmpty ( FilterValues ( $$sc_Repeat_DayOfWeek ; "Monday" ) )
You'll do the same with the month names on the repeat Yearly tab.
Yes and No value list
Changing the Yes No value list from "Yes" and "No" to another language is actually the trickiest part of the translation, since so many calcs and scripts use these values. Once you change the value list you'll need to replace "Yes" and "No" in the following scripts and calculations:
Calcs...
CalendarRows::DateRangeStartAutoGlob
CalendarRows::WeekNumbersDisplayCalc
CalendarRows::DateRangeStartAutoGlob
CalendarRows::WeekNumbersDisplayCalc
CalendarInterface::DateDisplayCalc
CalendarInterface::NinjaCal_triple
CalendarInterface::NinjaCal_basic
CalendarInterface::NinjaCal_year
CalendarInterface::NinjaCal_triple
CalendarInterface::NinjaCal_basic
CalendarInterface::NinjaCal_year
Scripts...
Go to Calendar Tab ( Tab Name )
Load Calendar Layout
Go to Day
Go to Week
Insert into Calendar { Column }
Go to Calendar Tab ( Tab Name )
Load Calendar Layout
Go to Day
Go to Week
Insert into Calendar { Column }
Time Increments
The value list "Calendar Time Scale" includes a few English phrases you might want to replace, fortunately if you also edit a couple of fields the software has already abstracted these values. Translate the Engish values in the field CalendarInterface::TimeIncrementAutoGlob and then edit CalendarInterface::TimeScaleGlob. In this second field, only translate the IF() part of the calcs, not the result, leaving "day" in lower case towards the end of the calc.
Some of the time formats (the ones on the month view for example) can be switched to 24 hour format using a simple setting in one of our scripts (it is in the script "Format Event Time --- Edit Time Formats for Events Here ---" but others (like the times shown in the left hand column on the schedule screen) will need to be changed in layout mode.
All Day
The phrase "All Day" on the Week and Schedule screens can be found in the field CalendarRows::TimeDisplayMinutesCalc.